Это камень? Это ветка? Это нос! Разбираем подходы, помогающие ИИ распознавать лица на картинках с низким разрешением. computer vision.. computer vision. deep learning.. computer vision. deep learning. face recognition.. computer vision. deep learning. face recognition. глубокое обучение.. computer vision. deep learning. face recognition. глубокое обучение. компьютерное зрение.. computer vision. deep learning. face recognition. глубокое обучение. компьютерное зрение. Машинное обучение.. computer vision. deep learning. face recognition. глубокое обучение. компьютерное зрение. Машинное обучение. низкое качество.. computer vision. deep learning. face recognition. глубокое обучение. компьютерное зрение. Машинное обучение. низкое качество. низкое разрешение.. computer vision. deep learning. face recognition. глубокое обучение. компьютерное зрение. Машинное обучение. низкое качество. низкое разрешение. Обработка изображений.. computer vision. deep learning. face recognition. глубокое обучение. компьютерное зрение. Машинное обучение. низкое качество. низкое разрешение. Обработка изображений. распознавание лиц.
"Распознать бы этого шакала"

“Распознать бы этого шакала”

Мы – Даниил Соловьев и Михаил Никитин из команды направления распознавания лиц. Сегодня фокусируемся на задаче распознавания лиц на изображениях низкого разрешения (low resolution face recognition, low-res FR). Она актуальна в первую очередь при анализе данных видеонаблюдения, так что если перед вами сейчас стоит подобная задача (или просто интересно, как она решается) — статья для вас. Расскажем про проблемы и сложности распознавания лиц низкого разрешения, подходы к решению задачи, в том числе свежий PETALface с конференции WACV 2025. Также поделимся ссылками на исследования, которые подробнее освещают каждый подход.
Дисклеймер: термины низкое качество и низкое разрешение в рамках рассматриваемой задачи используются как взаимозаменяемые. Оба указывают на изображения, содержащие малое количество полезной информации для распознавания (из-за низкого разрешения, а не перекрытий или сложных ракурсов). 

Наборы данных

Качество алгоритма распознавания лиц может варьироваться в зависимости от сложности данных, на которых мы проводим оценку. Например, сложности могут быть при многообразии ракурсов, перекрытии лица или когда присутствует большая разница в возрасте между сравниваемыми лицами. Этот список можно продолжать и дальше, но суть в том, что для понимания практической пользы необходимо сравнивать между собой алгоритмы в конкретных “разрезах” сложности. Именно поэтому существуют наборы данных различной направленности – каждый из них подчеркивает определенный тип трудностей. В частности, низкое разрешение изображений — одна из сложностей, в рамках которой можно сравнивать FR-алгоритмы между собой. Посмотрим внимательнее на два набора данных с лицами низкого разрешения, являющихся сложными для многих современных FR-моделей: BRIAR и TinyFace

TinyFace – открытый набор данных с большим количеством уникальных ID. Целевой сценарий тестирования на датасете – идентификация. Выражаясь простыми словами, идентификация — это когда мы для входных лиц-запросов (search/probe) возвращаем наиболее похожие из зарегистрированных в галерее (gallery). Помимо probe и gallery примеров, в наборе данных содержится большое количество изображений, которые не относятся ни к одному из зарегистрированных в галерее (distractors, дистракторы) — это усложняет сценарий тестирования. Дополнительно предоставлено разбиение на обучающее и тестовое подмножества:

Статистики датасета TinyFace

Статистики датасета TinyFace

Насколько маленькие лица внутри датасета? Ниже представлено распределение высоты изображений в наборе данных – в среднем изображения 20×16 пикселей:

Распределение высоты изображений в TinyFace

Распределение высоты изображений в TinyFace

Зачастую такие лица действительно распознаваемы человеком:

Примеры лиц в датасете TinyFace

Примеры лиц в датасете TinyFace

Однако в наборе есть и изображения, по которым трудно даже сказать, что на них лицо – такие примеры в основном в части дистракторов.

BRIAR – закрытый набор данных, предоставляемый по запросу. Задумка авторов датасета была в том, чтобы создать как можно более экстремальный (в смысле разрешения изображений) набор данных. Ключевые моменты:

  • специализированные камеры (для различных удаленностей от объекта);

  • большой диапазон расстояний от объекта до камеры – до 1000м;

  • лица низкого разрешения по ширине – 10-32 пикселей;

  • большое разнообразие по ракурсам съемки;

  • разный климат, множество локаций и погодных условий;

  • методология движений участников для сбора данных.

BRIAR датасет, примеры [изображение взято из статьи PETALface] 

BRIAR датасет, примеры [изображение взято из статьи PETALface

Low resolution face recognition

Ключевая сложность задачи состоит в том, что между изображениями высокого и низкого качества присутствует, так называемый, domain gap. 

Domain gap

Domain gap (разрыв между доменами) — это различие в свойствах и распределениях между двумя наборами данных. Классический пример в компьютерном зрении — два набора данных:

1. MNIST (черно-белые цифры на белом фоне)

2. SVHN (Street View House Numbers) — цветные цифры с табличек домов, у которых: разный фон, освещение и перспектива

По этой причине модели, обученные на изображениях высокого качества, плохо справляются с изображениями низкого качества и требуют какой-либо адаптации к ним. Посмотрим на некоторые подходы к решению такой задачи. 

Super-resolution (SR). Идея этой группы подходов состоит в специализированной предобработке изображений лиц низкого разрешения перед их распознаванием. Конкретно, применяется один из методов повышения разрешения изображения (super-resolution), за счет которого сокращается domain gap. Таким образом, после SR можно использовать модель распознавания лиц общего назначения (которая, например, не училась на низком разрешении).

Пайплайн работы распознавания лиц с super-resolution

Пайплайн работы распознавания лиц с super-resolution

В качестве модели для super-resolution можно взять произвольную, но лучше взять такую, которая училась работать непосредственно с лицами. Более общее направление SR в контексте изображений лиц низкого качества – face hallucination, буквально “галлюцинация” в том смысле, что мы пытаемся “дорисовать” то, чего на изображении не представлено. Например, в одной из работ авторы предлагают сначала добавлять глобальные детали, а затем высокочастотные. 

Но здесь также стоит понимать и потенциальные минусы подхода. Из-за того, что SR “додумывает” изображение, мы на выходе можем получить искаженное ID. Иными словами, могут появиться некоторые черты лица, которых не должно быть у входного ID (или наоборот исчезнуть).

Для SR с лицами неплохо себя показывает метод GFPGAN

Это камень? Это ветка? Это нос! Разбираем подходы, помогающие ИИ распознавать лица на картинках с низким разрешением - 7

Даниил

Команда направления распознавания лиц

Knowledge distillation. Идея дистилляции знаний (knowledge distillation) в том, что мы используем тяжелую и качественную модель учителя (teacher) для обучения более легковесной модели студента (student). Классическим способом закодировать знания (knowledge) о задаче является вычисление распределения вероятностей учителя на входном изображении. Модель-студент далее использует такую “мягкую” разметку данных во время обучения. Эти “мягкие” метки часто содержат богатую информацию о взаимосвязях между классами, подробную информацию о степени представленности паттернов.

Дистилляция знаний в распознавании лиц низкого качества

Дистилляция знаний в распознавании лиц низкого качества

На рисунке выше (статья) представлена классическая схема применения дистилляции знаний в задаче распознавания лиц низкого качества: учитель принимает на вход изображения высокого качества, студент – изображения низкого качества. Далее мы хотим, чтобы выходы учителя и студента совпадали (параллельно можем учить и FR-задачу) – за это отвечает distillation loss. Таким образом, сеть-студент учится работать с изображениями плохого качества.

Аугментации и трюки. Пытаемся сделать модель более устойчивой к изображениям низкого качества. Например, в качестве аугментаций можно использовать сжатия с потерями. 

В качестве бейзлайна можно использовать RandomPosterize и RandomJPEG

Это камень? Это ветка? Это нос! Разбираем подходы, помогающие ИИ распознавать лица на картинках с низким разрешением - 9

Даниил

Команда направления распознавания лиц

Более конкретно на подходы можно посмотреть в статье (ссылка), которая посвящена разбору решений победителей в конкурсе Face Anti-Spoofing (FAS), проводившемуся в рамках конференции CVPR-2023. Да, face anti-spoofing это не распознавание лиц, но задача смежная и, как правило, использует для анализа изображения с похожим объемом контекста вокруг лица. Это соревнование особенно релевантно к рассматриваемой сегодня задаче, потому что оно строилось вокруг протокола “качество”. Изображения делились по качеству на “хорошее”, “среднее” и “плохое”. Участники обучали модели на хорошем качестве, валидировали на среднем качестве, а тестировали на изображениях очень плохого качества. Посмотрим на идеи, занявшие призовые места в соревновании. Обе помогают моделям работать устойчивее, если разрешение входного изображения уменьшается. Одна из команд предложила RandomZoomInOut – уменьшаем и увеличиваем картинку,  используя различные интерполяции:

RandomZoomInOut

RandomZoomInOut

Другая команда  использовала подход с применением gradient reversal layer’а (GRL):

Пайплайн с применением GRL

Пайплайн с применением GRL

GRL был представлен в статье (ссылка), в ней же можно более подробно ознакомиться с методом. Вкратце – у модели есть две головы: первая предсказывает метку класса, вторая – метку домена (вспомогательную метку о типе изображения). Для задачи анализа лиц низкого разрешения можно следующим образом разделить зоны ответственности голов: первую голову обучаем решать основную задачу на домене хороших картинок, вторую голову обучаем решать вспомогательную задачу – отличать данные хорошего качества от данных среднего качества. Таким образом, можем даже не иметь меток класса для домена среднего качества. Далее – вторая голова переворачивает (reversal) градиент во время обучения – умножает на отрицательное число. Это позволяет модели (feature extractor) извлекать инвариантные к домену признаки.

 GRL помогает не во всех сценариях, не всегда. Самое главное при его применении – четко определить домены, разницу между ними

Это камень? Это ветка? Это нос! Разбираем подходы, помогающие ИИ распознавать лица на картинках с низким разрешением - 12

Даниил

Команда направления распознавания лиц

Общее направление таких “трюков” – доменная адаптация (domain adaptation). 

Fine-tuning. А что если просто дообучить модель на изображениях низкого разрешения, используя готовые данные (TinyFace/BRIAR) или какие-либо аугментации? Однако, как обсуждалось ранее, существует domain gap между данными разного качества, и этот факт следует учитывать при построении пайплайна дообучения. Также если просто обучиться на изображениях низкого качества, то определенно возникнет проблема забывания (forgetting) — модель “забудет” старые знания. Она уже не будет также хорошо, как прежде, решать задачу распознавания лиц на изображениях высокого разрешения. Обозначенные проблемы можно частично решить, например, используя LoRA. Low-Rank Adaptation (LoRA) – это подход в контексте parameter-efficient fine-tuning (дообучаем подмножество параметров, не всю сеть), который помимо обучения малого количества параметров помогает модели “не забывать” прошлые знания, аккуратно настраиваясь на работу с данными из нового домена.

PETALface

А что если попытаться прикрутить LoRA и явно учесть в пайплайне информацию о качестве входного изображения? Получится PETALface, где авторы предлагают поддерживать две версии весов сети под разные домены качества. Каждый набор весов характеризуется своими LoRA-модулями. Таким образом, модель использует общий набор параметров для анализа любых изображений лиц. К этим параметрам добавляются два сравнительно небольших адаптера (LoRA-модули). В зависимости от качества входного изображения модель комбинирует оба адаптера весов, но с разным приоритетом.

Пайплайн PETALface

Пайплайн PETALface

Два LoRA-модуля авторы обуславливают проблемой разного распределения изображений высокого и низкого разрешений. Таким образом, выходы модулей домножаются на коэффициент 𝛼 и (1-𝛼) в зависимости от качества изображения.

Выход формально считается следующим образом:

Это камень? Это ветка? Это нос! Разбираем подходы, помогающие ИИ распознавать лица на картинках с низким разрешением - 14

Параметр 𝛼 высчитывается для каждого примера, используя два других параметра – q (качество изображения) и t (порог):

Это камень? Это ветка? Это нос! Разбираем подходы, помогающие ИИ распознавать лица на картинках с низким разрешением - 15

Порог t выбирается авторами для каждого набора данных, на котором выполняется обучение, как сумма среднего и стандартного отклонения, вычисленных по 1000 примерам.

В общем пайплайне PETALface авторы пробовали несколько алгоритмов оценки качества изображений, лучшим в их сценарии оказался CNN-IQA.

Эксперименты. Авторы следуют двум своим протоколам, в обоих модель изначально предобучают на WebFace датасете. Далее – в первом протоколе доучивают на TinyFace, а во втором на BRIAR. Подробнее про другие датасеты, про метрики и про детали реализации – см. в оригинальной статье главы 4.1, 4.2, 4.3 соответственно.

Результаты. Ниже представлены результаты протокола 1:

Результаты протокола 1

Результаты протокола 1

По таблице видно, что полное обучение хуже LoRA/PETALface даже на данных низкого качества. Однако разница между LoRA и PETALface минимальна. Посмотрим на протокол 2:

Результаты протокола 2

Результаты протокола 2

Авторы приводят результаты сравнений только PETALface и полного дообучения, LoRA здесь нет

Предложенный подход и само направление мысли авторов выглядит интересным и перспективным, однако представленные результаты вызывают подозрения. В целом имеем подход, который возможно лучше обычной LoRA. Также здесь стоит понимать, что LoRA можно объединить с замороженными весами, чтобы достичь нулевой задержки (zero latency) во всех смыслах, а PETALface слить не получится. В сценарии авторов их количество параметров увеличивается на 0.48%.

Ablation study авторов можно изучить в главе 6 оригинальной статьи. Отметим лишь тот факт, что гиперпараметры выбирались по LoRA (а не по PETALface) и применялись к PETALface – потенциально можно “докрутить” имеющийся пайплайн до лучших показателей.

Выводы

Low-res FR – сложная задача по причине domain gap между изображениями высокого разрешения, на которых в основном учатся FR-модели, и целевыми изображениями низкого разрешения (TinyFace, BRIAR). Классическое полное дообучение модели на данных низкого качества неоптимально, так как приводит к “забыванию”. Существуют различные подходы – например, дистилляция знаний, super-resolution, специализированные аугментации и “трюки” со схемой (до)обучения. Свежий подход PETALface концептуально интересен и заслуживает внимания, но требует более аккуратного сравнения с классическим вариантом дообучения с LoRA. 

Автор: YaphetS7

Источник

Rambler's Top100