Одно из направлений Data Science — системы распознавания лиц. Благодаря им московские камеры признаны одними из самых совершенных в мире. Ловить преступников и входить в приложения с ними проще, а прятаться от правосудия и выдавать себя за другого человека — сложнее. Вместе с экспертом Вадимом Лукмановым разбираемся на базовом уровне, где применяются системы распознавания лиц и как они работают.
Где применяют распознавание лиц и что это такое
Под распознаванием лиц может пониматься одна из двух задач:
верификация — сравнение двух фотографий для определения, что на них один и тот же человек или нет;
идентификация — поиск человека в существующей базе или картотеке фотографий.
Объединяет эти задачи то, что их может выполнять одна и та же нейросеть.
Верификация происходит по следующему алгоритму. Когда пользователю надо куда-то зайти по фотографии лица, это может быть банковское приложение с биометрией, то происходит следующее:
приложение фотографирует пользователя и автоматически извлекает из изображения эмбеддинг — определённый вектор чисел;
в базе банка берётся фотография человека из прошлого;
два изображения автоматически сверяются;
если евклидово расстояние между двумя эмбеддингами меньше определённого показателя, то нейросеть делает вывод, что на фотографиях один и тот же человек, и подтверждает операцию.
Идентификация — это поиск человека по лицу. В некой базе данных или фотогалерее накапливается массив фотографий людей, как это происходит с теми же фотографиями с камер в Москве. В качестве запроса берётся новая фотография человека, точнее, эмбеддинг из неё, и сравнивается с предыдущими изображениями в базе. Если мы ищем на улице человека, подозреваемого в краже товара из магазина, или хотим выявить нарушителя среди болельщиков на футбольном матче, то фотографируем каждого посетителя на входе. И если находится достаточно близкий эмбеддинг в базе, то можно отказать человеку, который запечатлён на фото, во входе на матч или задержать его. Если эмбеддинг недостаточно близкий, значит, человека нет в базе, и органы правопорядка он не интересует.
Распознавание лиц может использоваться везде, где есть камеры: на улице, в помещении, на стадионах, в метро и общественном наземном транспорте, в аэропортах, на вокзалах, в магазинах, банках и других общественных местах. Соответствующие программы и алгоритмы можно устанавливать на стационарные компьютеры и на мобильные устройства, также они используются в системе «Умный город», в некоторых домофонах, в приложениях, банковских или других.
Распознавание лиц используется:
для безопасности: поиск преступников, подозреваемых и нарушителей общественного порядка, невозможность взлома банковских паролей;
для поиска пропавших без вести;
для рекламы: распознавание клиента на входе с персональными предложениями, проверка эмоциональных реакций на товар или услугу, повышение качества сервиса;
в розничной торговле: бесконтактная оплата лицом на кассе, товарные предложения и скидки с учётом истории покупок, сокращение очередей.
Как устроено распознавание лиц
В основе системы распознавания лиц лежит обученный пайплайн — последовательность взаимосвязанных между собой программ. В нём выделяется несколько составляющих:
Детектор лиц. Обучается независимо от остальных частей пайплайна. Для обучения и тестирования детектора лиц необходим датасет, в котором есть размеченные прямоугольники лиц — bounding boxes — и, желательно, размеченные ключевые точки лица: глаза, нос, уголки рта. Если под рукой нет своего датасета, можно использовать публичный датасет WIDER face, в котором более 300 тысяч размеченных лиц.
Обычно никто не придумывает архитектуру детектора, и просто берут публичные, например, MTCNN, Retina Face, SCRFD, Yolov5Face. В зависимости от кейса применения детектор могут дополнительно дообучать на своих данных и ускорять.
Выравниватель. Эта часть пайплайна наименее важная, и обычно её нет нужды обучать. Сначала детектор лица предсказывает прямоугольник и ключевые точки лица, обычно пять точек. Затем выравниватель с помощью аффинного преобразования поворачивает и сдвигает ключевые точки, а вместе с ними и лицо, до эталонного положения.
Эмбеддер — распознаватель, извлекатель эмбеддингов и дескрипторов. Это самая важная часть программы: обученная модель больше всего весит и дольше всего работает по времени. Для него нужны три составляющие:
Хорошая архитектура нейросети. Архитектуру обычно берут из лидеров на Imagenet — одном из самых важных бенчмарков в компьютерном зрении, или ансамбль из нескольких архитектур в связке с дистиляцией знаний (knowledge distillation).
Объёмный датасет. Датасет обычно состоит из сотен тысяч фото реальных людей в разном ракурсе, разных возрастов, полов и рас. Датасет может быть опенсорны. Сейчас такие почти не найти, но перечислим популярные в прошлом MSCeleb1M, VGG2, UMD faces, MegaFace. Датасет можно собрать самостоятельно, купить у специализированных компаний или получить от клиентов.
Хорошая функция потерь (loss function). Функция потерь — обычно ArcFace или её улучшения. Обучение модели происходит как задача классификации
От обученной модели отрезают последний полносвязный слой, и получают эмбеддер.
Трекер. Нужен для отслеживания траекторий людей и используется не в каждой системе. Мобильное приложение банка может работать без трекера, в то время как для распознавания лиц по уличным камерам он необходим, так как дополнительно позволяет не запускать детектор лица на каждом кадре, а в магазине может использоваться для определения наиболее популярных полок. Популярные трекеры базируются на фильтре Калмана и Венгерском алгоритме.
При распознавании лиц на видео обычно эмбединги извлекаются с каждого кадра по отдельности, и потом усредняются в один агрегированный эмбединг. Для того чтобы кадры с плохо видимым лицом давали меньший вклад, часто обучают небольшую нейросеть, которая присваивает веса каждому кадру: чем лучше видно лицо, тем выше вес.
Слабые места современного распознавания лиц
Системы распознавания лиц уже могут многое. Но есть нюансы.
Во-первых, существующим системам свойственна расовая предвзятость — racial bias: людей европеоидной расы они распознают лучше, чем представителей других рас. Это не проблема алгоритмов, а только проблема существующих датасетов, на которых обучали и тестировали большинство подобных программ. Тем не менее этот недостаток зачастую приводит к дискриминации по расовому и национальному признаку: системы, используемые в юриспруденции и криминалистике пока что выделяют темнокожих людей как более вероятных преступников.
Во-вторых, за последние годы люди неоднократно придумывали способы обхода распознавания лиц, осуществляя так называемые состязательные атаки — adversarial attacks. В 2017 году сотрудник Яндекса Григорий Бакунов придумал макияж, обманывавший алгоритмы искусственного интеллекта, и рассказал о нём в СМИ.
В 2019 году сотрудники компании Huawei Moscow предложили свой способ, так сказать, шапку-невидимку. Для этого на обычном цветном принтере распечатывали прямоугольные бумажные наклейки, которые приклеивались человеку на головной убор. Это позволило сильно ухудшить качество распознавания лиц, в основе которого был ArcFace.
В долгосрочной перспективе эти алгоритмы не работают, их легко обойти, и потому систему распознавания лиц «сломать» сложно. Но усложнить работу искусственного интеллекта с помощью тёмных очков, макияжа, волос, маски для лица всё же реально.
Ещё один подводный камень — так называемое определение живого присутствия — liveness detection, когда пользователь хочет войти в систему за кого-то другого. То есть, человек хочет, чтобы его распознали, но определили неправильно. Для этого используются фото, распечатанные на принтере, фото людей на экране гаджетов, реже — силиконовые маски с изображением людей. Чтобы отличить статичное изображение в кадре от живого присутствия человека, необходимо разрабатывать отдельный liveness-детектор.
Плюсы и минусы применения систем распознавания лиц
Возможность отследить человека по лицу значительно облегчает поиск преступников, пропавших без вести и похищенных людей, позволяет входить по лицу куда угодно: в офисы, учебные заведения, общественный транспорт, аэропорты, вокзалы, на мероприятия, оплачивать товары и услуги, не трогая лишних предметов руками и снижая риск передачи инфекций, пользоваться мобильными приложениями без пароля или отпечатка пальца. Без технологий распознавания лиц такая задача, как поиск людей в толпе, не представлялась бы возможной.
Но есть и обратная сторона: именно системы распознавания лиц неоднократно сыграли решающую роль при поиске и задержании участников акций протеста в Москве и Гонконге, а также во время карантинных мер из-за пандемии коронавируса. И что для одних людей станет удобным и облегчающим жизнь нововведением, для других может обернуться возможностью слежки и необоснованного контроля. Юристы и правозащитники не раз предупреждали о возможности возникновения такой опасности и сопутствующих нарушений прав человека — отрицательный пример Китая известен многим.
Эксперты уверены, что в ближайшие годы технология распознавания лиц станет массовой во всём мире, что чревато утратой приватности в повседневной жизни. Технологии будут совершенствоваться, но для их этичного и разумного применения нужна взвешенная законодательная база для защиты данных и неприкосновенности частной жизни.
Комментарии (5)
Exchan-ge
26.12.2022 00:27+6Возможность отследить человека по лицу значительно облегчает
… тотальную слежку за населением.tupenbor
26.12.2022 17:52+1Из всех утюгов нам вещают, что честному человеку нечего скрывать. Особенно честному Илону Маску, который никак не пытается скрыть идентификаторы своих транспортных средств, и уж тем более не банит за это в своей соцсети "Твитер".
potan
26.12.2022 16:31Надежность биометрии вызывает серьезные сомнения. Кто мешает к камере подключить монитор, на котором будет качественно сгенерированное изображение? Аналогично и с микрофоном. Да и для сканера отпечатка пальца не очень сложно аналогичную замену сделать.
В общем, кроме как для слежки (включая ловлю преступников, хотя они то скорее всего быстро приспособятся) она мало чем полезна.
Vlafy2
26.12.2022 17:50"Системы распознавания лиц неоднократно сыграли решающую роль при поиске и задержании участников акций протеста в Москве" - в чём тут "обратность стороны"? Камеры использовались по прямому назначению - для обнаружения преступников.
Нормальным людям скрывать нечего. Зато когда "борца" с "тотальной слежкой" кто-нибудь огреет в подворотне, так он сразу побежит в полицию и будет жалиться, чтобы записи с камер посмотрели.
И, к слову, "big brother" с английского переводится как "старший брат", и никак иначе.
victor30608
Статья частично напоминает работу NtechLab.
Ощущение, что просто скомпоновали несколько статей воедино.