RECOGNITION
FACE
RECOGNITION
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 02
ЗАДАЧИ РАСПОЗНАВАНИЯ ЛИЦ
Распознаванием лиц часто называют набор Для решения этих задач из изображения лица извлекаются
различных задач, например, детектирование специальные дескрипторы, или векторы признаков. В этом
лица на фотографии или в видеопотоке, случае задача идентификации сводится к поиску ближайшего
определение пола и возраста, поиск нужного вектора признаков, а верификацию можно реализовать
человека среди множества изображений с помощью простого установления порога расстояний
или проверку того, что на двух изображениях между векторами. Комбинируя эти два действия, можно
один и тот же человек. В этой статье мы идентифицировать человека среди набора изображений
остановимся на последних двух задачах или принимать решение о том, что его нет среди этих
и будем их называть, соответственно, изображений. Такая процедура называется «идентификацией
идентификация и верификация. на открытом множестве» (open-set identification), см. Рис.1.
MATCH
Рис.1 Задачи распознавания лиц. Верхняя строка представляет пример идентификации на открытом множестве
(при которой искомое лицо, скорее всего, отсутствует в датасете). На второй строке показана идентификация замкнутого множества
(closed-set identification) (в датасете содержится искомое лицо). Третья строка демонстрирует верификацию пары изображений.
Для количественной оценки схожести лиц можно использовать расстояние в пространстве векторов признаков. Часто
выбирают евклидово или косинусное расстояние, но существуют и другие, более сложные, подходы. Конкретная функция
расстояния часто поставляется в составе продукта по распознаванию лиц. Идентификация и верификация возвращают
разные результаты и, соответственно, разные метрики применяются для оценки их качества. Мы подробно рассмотрим
метрики качества в последующих разделах. Помимо выбора адекватной метрики, для оценки точности алгоритма
понадобится размеченный набор изображений (датасет).
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 03
ОЦЕНКА ТОЧНОСТИ
ДАТАСЕТЫ
Почти всё современное ПО для распознавания которые будут приведены далее. Альтернативный
лиц основано на машинном обучении. Алгоритмы вариант заключается в использовании результатов
обучаются на больших датасетах (наборах данных) тестирования третьим лицом. Такие тестирования
с размеченными изображениями. И качество, проводятся квалифицированными специалистами
и природа этих датасетов оказывают существенное на больших закрытых датасетах, и их результатам
влияние на точность. Чем лучше исходные данные, можно доверять.
тем лучше алгоритм будет справляться
с поставленной задачей. Одним из таких примеров может служить NIST
Face Recognition Vendor Test Ongoing. Это тест,
Естественный способ проверить, что точность проводимый Национальным Институтом Стандартов
алгоритма распознавания лиц соответствует и Технологий (NIST) при Министерстве торговли
ожиданиям, это измерить точность на отдельном США. “Минус” данного подхода заключается в том,
тестовом датасете. Очень важно правильно выбрать что датасет организации, проводящей тестирование,
этот датасет. В идеальном случае организации может существенно отличаться от интересующего
стоит обзавестись собственным набором данных, сценария использования.
максимально соответствующим сценарию
использования, с которым система будет работать
при эксплуатации. В этом процессе важно учесть тип ПЕРЕОБУЧЕНИЕ
камеры, условия съемки, возраст, пол
и национальность людей, которые попадут Как мы говорили, машинное обучение лежит
в тестовый датасет. Чем более похож тестовый в основе современного программного обеспечения
датасет на реальные данные, тем более для распознавания лиц. Одним из распространенных
достоверными будут результаты тестирования. феноменов машинного обучения является так
Поэтому часто имеет смысл потратить время называемое переобучение. Проявляется он в том,
и средства для сбора и разметки своего набора что алгоритм показывает хорошие результаты
данных. Если же это, по какой-то причине, на данных, которые использовались при обучении,
не представляется возможным, можно но результаты на новых данных получаются
воспользоваться общедоступными датасетами, значительно хуже.
например, LFW и MegaFace.
Рассмотрим конкретный пример: представим себе
LFW содержит только 6000 пар изображений лиц клиента, который хочет установить пропускную
и не подходит для многих реальных сценариев: систему с распознаванием лиц. Для этих целей
в частности, на этом датасете невозможно измерить он собирает набор фотографий людей, которым
достаточно низкие уровни ошибок, как мы покажем будет разрешен доступ, и обучает алгоритм отличать
далее. их от других людей. После успешного прохождения
испытаний системой и ее последующего внедрения
Датасет MegaFace содержит намного больше в эксплуатацию, средства, полученные в результате
изображений и подходит для тестирования сокращения затрат путем автоматизации этой
алгоритмов распознавания лиц на больших пропускной системы, могут быть направлены
масштабах. Однако и обучающее, и тестовое на решение других бизнес-задач клиента.
множество изображений MegaFace’a есть
в открытом доступе, поэтому использовать его для Через некоторое время список людей с допуском
тестирования следует с осторожностью по причинам, решают расширить и обнаруживается, что система
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 04
отказывает новым людям в доступе. Алгоритм
обучался, чтобы распознавать текущих сотрудников, МЕТРИКИ
но никто не тестировал его точность на новых
фотографиях. Это, конечно, утрированный пример,
но он позволяет понять проблему. После выбора датасета, следует определиться
с метрикой, которая будет использоваться для
В некоторых случаях переобучение проявляется оценки результатов. Метрика – это удобная
не так явно. Допустим, алгоритм обучался в использовании функция, которая принимает
на изображениях людей, где превалировала на вход результаты работы алгоритма
определенная этническая группа. При использовании (идентификации или верификации), а на выходе
такого алгоритма компанией, отличающейся возвращает число, которое соответствует
этническим многообразием, его точность наверняка качеству работы алгоритма на конкретном
упадет. Завышенная (излишне оптимистичная) датасете. Использование одного числа упрощает
оценка точности работы алгоритма из-за количественное сравнениe разных вендоров
неправильно проведенного тестирования – очень и позволяет емко представить результаты
распространенная ошибка, характеризующая все тестирования, облегчая таким образом весь
эти примеры. Отсюда следует, что основная причина процесс принятия решений. В этом разделе
плохой результативности алгоритма связана мы рассмотрим метрики, наиболее часто
с тем, что он тестировался на данных, на которых применяемые в распознавании лиц, и обсудим
проводилось обучение, а не на данных, которые ему их значение с точки зрения бизнеса.
предстояло обрабатывать в реальном применении.
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 05
Рис. 2 Рис. 2 Типы ошибок. Цвет фона кодирует истинное отношение между картинками (голубой означает “принять”,
розовый – “отвергнуть”), цвет рамки соответствует предсказанию алгоритма (голубой – “принять”, розовый – “отвергнуть”.
Таблица 1. Столбцы соответствуют решению алгоритма (голубой – принять, розовый – отвергнуть), строки соответствуют истинным
значениям (кодируются теми же цветами). Правильные ответы алгоритма отмечены зелёным фоном, ошибочные – оранжевым.
Из этих исходов два соответствуют правильным ответам алгоритма, а два – ошибкам первого и второго рода
соответственно. Ошибки первого рода называют «false accept», «false positive» или «false match» (ошибочно принято),
а ошибки второго рода – «false reject», «false negative» или «false non-match» (ошибочно отвергнуто).
Просуммировав количество ошибок разного рода среди пар изображений в датасете и поделив их на количество пар,
мы получим false accept rate (FAR) и false reject rate (FRR). В случае с системой контроля доступа «false positive» соответствует
предоставлению доступа человеку, для которого этот доступ не предусмотрен, в то время как «false negative» означает,
что система ошибочно отказала в доступе авторизованной персоне. Эти ошибки имеют разную стоимость с точки зрения
бизнеса и поэтому рассматриваются отдельно. В примере с контролем доступа появление ошибки «false negative» требует
того, чтобы сотрудник службы безопасности перепроверил пропуск сотрудника.
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 05
Предоставление доступа потенциальному нарушителю reject (1-2). Таким образом, лучшими вариантами
(false positive) может привести к гораздо худшим выглядят пороговые значения из диапазона 0.6-0.85
последствиям. (один false accept 2-3) и порог выше 0.9 (приводит
к false reject 1-2). Какое значение выбрать в качестве
Учитывая, что ошибки разного рода связаны финального, зависит от стоимости ошибок разных
с различными рисками, производители ПО для типов. Данный пример демонстрирует, каким
распознавания лиц зачастую дают возможность образом клиент может измерить свои риски
настроить алгоритм так, чтобы минимизировать один в зависимости от стоимости каждой ошибки и
из типов ошибок. Для этого алгоритм возвращает свести их к минимуму, выбрав подходящий порог.
не бинарное значение, а вещественное число,
отражающее уверенность алгоритма в своем решении. В случае, описанном выше, пороги варьируется
В таком случае пользователь может самостоятельно в широких диапазонах, что связано с датасетом
выбрать порог и зафиксировать уровень ошибок очень маленького размера и с тем, как мы
на определенных значениях. выбрали значения уверенности алгоритма. Для
больших, применяемых для реальных задач
Для примера рассмотрим совсем маленький датасет датасетов, получились бы существенно более
из трех изображений. Пусть изображения 1 и 2 точные пороговые значения. Зачастую вендоры
принадлежат одному и тому же человеку, ПО для распознавания лиц поставляют пороговые
а изображение 3 кому-то еще. Допустим, что значения по умолчанию для разных FAR, которые
программа оценила свою уверенность для каждой вычисляются похожим образом на собственных
из трех пар следующим образом, выдав следующие датасетах вендора.
значения:
1 2 3
0.85 0.6
0.85 0.9
0.6 0.9
Мы специально выбрали значения таким образом, Также нетрудно заметить, что по мере того как
чтобы ни один порог не классифицировал все три интересующий FAR снижается, требуется все больше
пары правильно. В частности, любой порог ниже 0.6 и больше положительных пар изображений, чтобы
приведет к двум ложно принятым результатам - false точно вычислить значение порога. Так, для FAR=0.001
accept (для пар 2-3 и 1-3). Разумеется, такой результат нужно по меньшей мере 1000 пар, а для FAR=10−6
можно улучшить. потребуется уже 1 миллион пар. Собрать и разметить
такой датасет непросто, поэтому клиентам,
Выбор порога из диапазона от 0.6 до 0.85 приведет заинтересованным в очень низких значениях FAR,
к тому, что пара 1-3 будет отброшена как верно имеет смысл обратить внимание на общедоступные
отвергнутое значение (true reject), пара 1-2 будет бенчмарки, такие как NIST Face Recognition Vendor
оставлена как верно принятое значение (true accept), Test или MegaFace. К последнему следует относиться
а 2-3 будет ложно приниматься (false accept). Если с осторожностью, так как и обучающая, и тестовая
увеличить порог до 0.85-0.9, то пара 1-2 станет ложно выборки доступны всем желающим, что может
отвергаться. Значения порога выше 0.9 приведут привести к излишне оптимистичной оценке точности
к двум true reject (пары 1-3 и 2-3) и одному false (см. раздел «Переобучение»).
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 06
ROC-КРИВЫЕ
Типы ошибок различаются по связанной с ними для каждого значения порога мы получим значения
стоимости, и у клиента есть способ смещать баланс FAR и TAR (true accept rate). Далее мы будет рисовать
в сторону тех или иных ошибок. Для этого надо каждую точку так, чтобы FAR соответствовал оси
рассмотреть широкий диапазон значений порога. абсцисс, а TAR – оси ординат.
Удобный способ визуализации точности алгоритма Легко заметить, что первая точка будет иметь
при разных значениях FAR заключается в построении координаты 1,1. При пороге, равном 0, мы принимаем
ROC-кривых (англ. receiver operating characteristic, все пары, и не отвергаем ни одной. Аналогично,
рабочая характеристика приёмника). последняя точка будет 0,0. При пороге 1 мы
не принимаем ни одной пары, и отвергаем все пары.
Давайте разберемся, как строятся и анализируются
ROC-кривые. Уверенность алгоритма В остальных точках кривая обычно выпуклая.
(а следовательно, и пороговое значение) принимают акже можно заметить, что наихудшая кривая лежит
значения из фиксированного интервала. Другими примерно на диагонали графика и соответствует
словами, эти величины ограничены сверху и снизу. случайному угадыванию исхода. С другой стороны,
Предположим, что это интервал от 0 до 1. Теперь наилучшая возможная кривая образует треугольник
мы можем измерить количество ошибок, варьируя с вершинами (0,0) (0,1) и (1,1). Но на крупных
значение порога от 0 до 1 с небольшим шагом. Так, датасетах такое встречается редко.
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 07
Рис.4 ROC-кривые NIST FRVT
0.40
0.30
derm2
vigi0
rank0
0.20
tupe1
rank1
0.10
0.09
0.08 neur0
0.07
0.06
ntec0
0.05
voco1
0.04
ntec1
0.03
samt0
tong1
3div0
0.02
0.01
1e-05 1e-04 1e-03 1e-02 1e-01 1e+0
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 08
ИДЕНТИФИКАЦИЯ
Второй популярной задачей распознавания лиц на практике. Начнем с формулировки бизнес-
является идентификация, или поиск человека требований. Допустим, у нас есть веб-страница,
среди набора изображений. Результаты поиска которая может разместить до десяти результатов
сортируются по уверенности алгоритма, и наиболее поиска. Нам нужно измерить количество раз,
вероятные совпадения попадают в начало которое искомый человек попадает в первые
списка. В зависимости от того, присутствует десять ответов алгоритма. Такое число называется
или нет искомый человек в поисковой базе, Top-N точностью (в данном конкретном случае
идентификацию разделяют на две подкатегории: N равно 10).
идентификация замкнутого множества (известно,
что искомый человек есть в базе) и идентификация Для каждого испытания мы определяем
на открытом множестве (искомого человека может изображение человека, которого будем искать,
не быть в базе). и галерею, в которой будем искать, так, чтобы
галерея содержала хотя бы еще одно изображение
Точность (accuracy) является надёжной и понятной этого человека. Мы просматриваем первые десять
метрикой для идентификации замкнутого результатов работы алгоритма поиска
множества. По сути, точность измеряет среднее и проверяем, есть ли среди них искомый человек.
количество раз, когда нужная персона появляется Чтобы получить значение точности, следует
среди результатов поиска. просуммировать все испытания, в которых
искомый человек был в результатах поиска,
Давайте разберем поподробнее, как это работает и поделить на общее число испытаний.
Идентификация на открытом множестве состоит из поиска людей, наиболее похожих на искомое изображение,
и определения, является ли кто-то из них искомым человеком на основании уверенности алгоритма. Идентификацию
на открытом множестве можно рассматривать как комбинацию идентификации замкнутого множества и верификации,
поэтому на этой задаче можно применять все те же метрики, что и в задаче верификации. Также нетрудно заметить,
что идентификацию на открытом множестве можно свести к попарным сравнениям искомого изображения со всеми
изображениями из галереи. Поэтому из соображений скорости вычислений предпочтение отдается идентификации
замкнутого множества. ПО для распознавания лиц часто поставляется с быстрыми алгоритмами поиска, которые могут
находить среди миллионов лиц похожие за миллисекунды. Попарные сравнения заняли бы намного больше времени.
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 09
ПРАКТИЧЕСКИЕ ПРИМЕРЫ
В качестве иллюстрации давайте рассмотрим несколько
примеров, демонстрирующих измерение качества
алгоритмов распознавания лиц в реальном сценарии.
РОЗНИЧНЫЙ МАГАЗИН
Допустим, что средний по размеру розничный Следующим шагом будет запустить (или попросить
магазин хочет улучшить свою программу лояльности вендора запустить) ПО и получить результаты
или уменьшить количество краж. С точки зрения уверенности алгоритма для каждой пары из
распознавания лиц это примерно одно и то же. Главная датасета. Когда это будет сделано, можно построить
задача этого проекта заключается в том, чтобы ROC-кривую и удостовериться, что количество
как можно раньше идентифицировать постоянного правильно идентифицированных постоянных
покупателя или злоумышленника, в идеале уже на входе, клиентов при FAR=10−5 соответствует бизнес-целям
сравнив изображения лиц и передав эту информацию организации.
продавцу или сотруднику службы безопасности.
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 10
ТАРГЕТИРОВАННАЯ
ПОЧТОВАЯ РАССЫЛКА
ЧАСТЫЕ ОШИБКИ
В этом разделе мы хотели бы перечислить распространенные
До сих пор мы рассматривали примеры, проблемы и ошибки, которые встречаются при тестировании ПО
в которых заказчик был заинтересован для распознавания лиц, и дать рекомендации как их избежать.
в низких FAR, однако это не всегда
так. Представим себе оборудованный
камерой рекламный стенд в крупном ТЕСТИРОВАНИЕ НА ДАТАСЕТЕ
торговом центре. Торговый центр имеет
собственную программу лояльности,
НЕДОСТАТОЧНОГО РАЗМЕРА
и хотел бы идентифицировать её Всегда следует быть аккуратным при выборе датасета для тестирования
участников, остановившихся у стенда. алгоритмов распознавания лиц. Одним из важнейших свойств датасета
Далее этим покупателям можно является его размер. Размер датасета нужно выбирать, исходя из целей,
было бы рассылать таргетированные которые преследует организация и конкретных значений FAR/TAR.
письма со скидками и интересными Датасеты, собранные из нескольких изображений людей в вашем офисе,
предложениями на основании того, дадут возможность «поиграть» с алгоритмом: протестировать измерение
что их заинтересовало на стенде. времени выполнения или его применение в нестандартных, конкретных
сценариях. Но на основании таких датасетов нельзя делать выводы
Допустим, что эксплуатация такой о точности алгоритма. Для тестирования точности следует использовать
системы обходится в 10 $, при этом датасеты крупных размеров.
около 1000 посетителей в день
останавливаются у стенда. Отдел ТЕСТИРОВАНИЕ ПРИ ЕДИНСТВЕННОМ
маркетинга оценил прибыль от каждого
таргетированного email в 0.0105 $. Нам
ПОРОГОВОМ ЗНАЧЕНИИ
хотелось бы идентифицировать как Иногда люди тестируют алгоритм распознавания лиц при одном
можно больше нужных покупателей и не фиксированном пороговом значении (часто выбранном производителем
слишком беспокоить остальных. Чтобы «по умолчанию») и принимают во внимание лишь один тип ошибок. Это
такая рассылка окупилась, точность неправильно, так как значения порога «по умолчанию» у разных вендоров
должна быть равна затратам различаются вследствие того, что используются различные значения FAR
на стенд, поделенным на количество или TAR. Для установления порогового значения следует учитывать оба
посетителей, умноженное на типа ошибок.
ожидаемый доход от каждого письма.
Для нашего примера точность равна СРАВНЕНИЕ РЕЗУЛЬТАТОВ
10/1000×0.0105=95. Администрация
НА РАЗНЫХ ДАТАСЕТАХ
торгового центра могла
бы собрать датасет способом, Датасеты различаются по размерам, качеству и сложности, поэтому
описанным в разделе «Розничный результаты работы алгоритмов на разных датасетах невозможно
магазин», и измерить точность, как сравнивать. Существует большая вероятность ошибочно отказаться
описано в разделе «Идентификация». от лучшего решения только потому, что оно тестировалось на более
На основании результатов тестирования сложном, чем у конкурента, датасете.
можно принимать решение, получится
ли извлечь ожидаемую выгоду
ДЕЛАТЬ ВЫВОДЫ, ОСНОВЫВАЯСЬ
с помощью системы распознавания лиц.
НА ЕДИНСТВЕННОМ ДАТАСЕТЕ
Следует стараться проводить тестирование на нескольких наборах данных.
При выборе только общедоступного датасета нельзя быть уверенным, что
он не использовался при обучении или настройке алгоритма. В этом случае
точность алгоритма будет переоценена. К счастью, вероятность этого
события можно снизить, сравнив результаты на разных датасетах.
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 11
ЗАКЛЮЧЕНИЕ
В этой брошюре мы описали основные составные
части тестирования алгоритмов распознавания лиц:
наборы данных, задачи, соответствующие метрики и
распространенные сценарии.
ССЫЛКИ
1
http://vis-www.cs.umass.edu/lfw/
2
http://megaface.cs.washington.edu/
3
https://www.nist.gov/programs-projects/face-recognition-vendor-test-frvt-ongoing
4
https://www.nist.gov/programs-projects/face-recognition-vendor-test-frvt
5
http://megaface.cs.washington.edu/
https://www.nist.gov/sites/default/files/documents/2018/02/15/frvt_report_2018_02_15.pdf
ОЦЕНКА КАЧЕСТВА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ | © 2018 ООО «НТЕХ ЛАБ». ВСЕ ПРАВА ЗАЩИЩЕНЫ. | 12
123056, Россия, Москва,
ул. Большая Грузинская, д. 61, стр. 2
+7 (499) 110-22-54
info@ntechlab.com
ntechlab.com findface.pro