Автор: Александр Лекомцев Редактура: Дмитрий Раков
В этой статье мы узнаем, чем проверка качества фото лиц отличается от обычной проверки качества изображения. В следующей части рассмотрим несколько решений этой задачи.
Как определить, что фото качественное? Для обычных фото нам достаточно BRISQUE или другого статистического метода. Но в случае с различными специфическими доменами общие варианты могут не сработать. Далее мы рассмотрим задачу Image Quality Assessment для человеческих лиц.
Например, мы хотим поставить систему видеоаналитики в магазине для подсчета уникальных пользователей, которые приходят к нам в течение дня. Для этого мы будем находить все лица в обзоре камеры, для каждого лица — выдавать эмбеддинг и сравнивать его с эмбеддингами других лиц. Если расстояние между ними меньше порога — считаем, что это один человек, и добавляем его новый эмбеддинг лица в базу.
Рисунок 1. Плохое для аналитики фото — не видно лица, кадр размыт
Рисунок 2. А вот это нам подходит — лицо полностью в кадре, фото четкое
Но мы ведь работаем с видео, значит, для каждой персоны у нас будет несколько фото. Для улучшения качества стоит брать эмбеддинги с хороших фото, где клиента видно. В противном случае, мы рискуем сравнивать между собой размытые, затемненные, засвеченные фото, на которых лицо может не попадать целиком в кадр. Если мы будем сравнивать плохие фото разных людей, то можем неверно посчитать их за одного человека. Если же мы будем сравнивать плохое фото человека с его хорошим фото, то рискуем ложно посчитать его за двух разных людей.
Мы хотим повысить качество распознавания, поэтому нам нужен способ определения качества фото.
На этот вопрос есть много возможных ответов, но все они разделяются на две категории.
Рисунок 3. Видим очки — значит, фото некачественное
Некачественное фото — фото, на котором конкретная модель распознавания лиц ошибется с большей вероятностью, чем на других фото этого же человека. Например, среднее расстояние между эмбеддингом данного фото и эмбеддингами других фото этого человека больше порога.
Рисунок 4. Сравниваем расстояние между фото. Если оно сильно отличается от среднего — значит, фото некачественное
Критерии первого подхода могут пригодиться, если есть конкретные нормы для идентификации, как правило, это юридические нормы. Как решать такие проблемы в общем случае — берем классические алгоритмы, учим классификаторы / детекторы / сегментаторы и проверяем критерии.
С помощью этих критериев можно получать как бинарную оценку (всем ли признакам соответствует фото), так и скор между нулем и единицей (за маску -0.15, за очки -0.10, за темное фото -0.08 и так далее). Но все-таки не все признаки, важные для распознавания, можно продумать заранее. И не все придуманные человеком признаки будут хорошо коррелировать с шансом верного распознавания лица по фото.
Второй подход не гарантирует соблюдения каких-то человеческих норм, но зато больше подстраивается под улучшение результатов модели распознавания. Подходы не противоречат друг другу, их можно сочетать.
В следующем посте этой серии мы будем говорить только про второй подход, а сейчас разберемся с метриками.
Рассмотрим ситуацию: мы неким магическим образом обучили две модели определения качества фото лица. Как их теперь сравнить?