Автор: Александр Лекомцев Редактура: Дмитрий Раков

Введение

Мы продолжаем говорить о распознавании качества фото лица. В первой части мы уже определили метрики и саму задачу, а также рассказали о простых методах ее решения.

А сегодня мы разберемся с двумя подходами к решению этой задачи — SDD-FIQA и SER-FIQ.

SDD-FIQA: Unsupervised Face Image Quality Assessment with Similarity Distribution Distance

В задаче распознавания лиц доминирует сети, обученные через metric learning. Они преобразуют входящее изображение лица в некоторый вектор. Он должен быть близким по выбранной метрике $\rho$ к векторам из фото этого же человека и далеким от векторов из фото других людей.

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

Рисунок 1. Фото лиц проходят через сеть, для каждого из них мы получаем эмбеддинг

Рисунок 1. Фото лиц проходят через сеть, для каждого из них мы получаем эмбеддинг

Из первой части статьи мы помним, что хорошее фото в рамках задачи — фото, которое мы уверенно определим как фото именно этого человека. Как можно проверить уверенность сети в своем предсказании, если на выходе мы получаем только вектор?

Представим, что у нас есть:

Если $v$ — вектор качественного фото, и большинство других фото этого человека тоже качественные (что обычно правда), тогда по метрике $\rho$ вектор $v$ должен быть близок к $\hat{v}$ и далек от $\hat{w}$. Но если фото некачественное, то $v$ может быть близок к векторам других некачественных фото или фото других людей с похожей внешностью, которых теперь тяжелее различить из-за потери информации на фото.

При этом разные “дефекты” фото по-разному влияют на качество. Например, если наша модель хорошо справляется с распознаванием лиц в медицинских масках и плохо справляется с поворотом головы на $90^{\circ}$, то второе условие будет сильнее увеличивать расстояние от остальных фото внутри класса и уменьшать расстояние до соседнего класса. Это именно то, что мы хотим — учесть особенности распознавания конкретной моделью, которой мы пользуемся.

Итак, $v$ — вектор качественного фото, если расстояния между $v$ и $\hat{v} = v_1, v_2, …, v_n$ значительно меньше, чем между $v$ и $\hat{w} = w_1, w_2, …, w_m$. Расстояние $\rho(v, \hat{v})$ называют intra-class distance, а $\rho(v, \hat{w})$ — inter-class distance.

Рисунок 2. Определение качества фото

Рисунок 2. Определение качества фото