
Привет, Хабр! Мы – Даниил Соловьев и Михаил Никитин из команды направления распознавания лиц. Сегодня фокусируемся на задаче распознавания лиц на изображениях низкого разрешения (low resolution face recognition, low-res FR). Она актуальна в первую очередь при анализе данных видеонаблюдения, так что если перед вами сейчас стоит подобная задача (или просто интересно, как она решается) — статья для вас. Расскажем про проблемы и сложности распознавания лиц низкого разрешения, подходы к решению задачи, в том числе свежий PETALface с конференции WACV 2025. Также поделимся ссылками на исследования, которые подробнее освещают каждый подход.
Дисклеймер: термины низкое качество и низкое разрешение в рамках рассматриваемой задачи используются как взаимозаменяемые. Оба указывают на изображения, содержащие малое количество полезной информации для распознавания (из-за низкого разрешения, а не перекрытий или сложных ракурсов).
Наборы данных
Качество алгоритма распознавания лиц может варьироваться в зависимости от сложности данных, на которых мы проводим оценку. Например, сложности могут быть при многообразии ракурсов, перекрытии лица или когда присутствует большая разница в возрасте между сравниваемыми лицами. Этот список можно продолжать и дальше, но суть в том, что для понимания практической пользы необходимо сравнивать между собой алгоритмы в конкретных “разрезах” сложности. Именно поэтому существуют наборы данных различной направленности – каждый из них подчеркивает определенный тип трудностей. В частности, низкое разрешение изображений — одна из сложностей, в рамках которой можно сравнивать FR-алгоритмы между собой. Посмотрим внимательнее на два набора данных с лицами низкого разрешения, являющихся сложными для многих современных FR-моделей: BRIAR и TinyFace.
TinyFace – открытый набор данных с большим количеством уникальных ID. Целевой сценарий тестирования на датасете – идентификация. Выражаясь простыми словами, идентификация — это когда мы для входных лиц-запросов (search/probe) возвращаем наиболее похожие из зарегистрированных в галерее (gallery). Помимо probe и gallery примеров, в наборе данных содержится большое количество изображений, которые не относятся ни к одному из зарегистрированных в галерее (distractors, дистракторы) — это усложняет сценарий тестирования. Дополнительно предоставлено разбиение на обучающее и тестовое подмножества:

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

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

Однако в наборе есть и изображения, по которым трудно даже сказать, что на них лицо – такие примеры в основном в части дистракторов.
BRIAR – закрытый набор данных, предоставляемый по запросу. Задумка авторов датасета была в том, чтобы создать как можно более экстремальный (в смысле разрешения изображений) набор данных. Ключевые моменты:
специализированные камеры (для различных удаленностей от объекта);
большой диапазон расстояний от объекта до камеры – до 1000м;
лица низкого разрешения по ширине – 10-32 пикселей;
большое разнообразие по ракурсам съемки;
разный климат, множество локаций и погодных условий;
методология движений участников для сбора данных.
![BRIAR датасет, примеры [изображение взято из статьи PETALface] BRIAR датасет, примеры [изображение взято из статьи PETALface]](https://habrastorage.org/r/w780/getpro/habr/upload_files/3ef/a72/311/3efa72311fedd444eab1dba3123321b7.png)
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 можно взять произвольную, но лучше взять такую, которая училась работать непосредственно с лицами. Более общее направление SR в контексте изображений лиц низкого качества – face hallucination, буквально “галлюцинация” в том смысле, что мы пытаемся “дорисовать” то, чего на изображении не представлено. Например, в одной из работ авторы предлагают сначала добавлять глобальные детали, а затем высокочастотные.
Но здесь также стоит понимать и потенциальные минусы подхода. Из-за того, что SR “додумывает” изображение, мы на выходе можем получить искаженное ID. Иными словами, могут появиться некоторые черты лица, которых не должно быть у входного ID (или наоборот исчезнуть).
Для SR с лицами неплохо себя показывает метод GFPGAN
Даниил
Команда направления распознавания лиц
Knowledge distillation. Идея дистилляции знаний (knowledge distillation) в том, что мы используем тяжелую и качественную модель учителя (teacher) для обучения более легковесной модели студента (student). Классическим способом закодировать знания (knowledge) о задаче является вычисление распределения вероятностей учителя на входном изображении. Модель-студент далее использует такую “мягкую” разметку данных во время обучения. Эти “мягкие” метки часто содержат богатую информацию о взаимосвязях между классами, подробную информацию о степени представленности паттернов.

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

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

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

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

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

Порог t выбирается авторами для каждого набора данных, на котором выполняется обучение, как сумма среднего и стандартного отклонения, вычисленных по 1000 примерам.
В общем пайплайне PETALface авторы пробовали несколько алгоритмов оценки качества изображений, лучшим в их сценарии оказался CNN-IQA.
Эксперименты. Авторы следуют двум своим протоколам, в обоих модель изначально предобучают на WebFace датасете. Далее – в первом протоколе доучивают на TinyFace, а во втором на BRIAR. Подробнее про другие датасеты, про метрики и про детали реализации – см. в оригинальной статье главы 4.1, 4.2, 4.3 соответственно.
Результаты. Ниже представлены результаты протокола 1:

По таблице видно, что полное обучение хуже LoRA/PETALface даже на данных низкого качества. Однако разница между LoRA и PETALface минимальна. Посмотрим на протокол 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.