как работают системы распознавания лиц / Хабр
Одно из направлений 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-детектор.
Плюсы и минусы применения систем распознавания лиц
Возможность отследить человека по лицу значительно облегчает поиск преступников, пропавших без вести и похищенных людей, позволяет входить по лицу куда угодно: в офисы, учебные заведения, общественный транспорт, аэропорты, вокзалы, на мероприятия, оплачивать товары и услуги, не трогая лишних предметов руками и снижая риск передачи инфекций, пользоваться мобильными приложениями без пароля или отпечатка пальца. Без технологий распознавания лиц такая задача, как поиск людей в толпе, не представлялась бы возможной.
Но есть и обратная сторона: именно системы распознавания лиц неоднократно сыграли решающую роль при поиске и задержании участников акций протеста в Москве и Гонконге, а также во время карантинных мер из-за пандемии коронавируса. И что для одних людей станет удобным и облегчающим жизнь нововведением, для других может обернуться возможностью слежки и необоснованного контроля. Юристы и правозащитники не раз предупреждали о возможности возникновения такой опасности и сопутствующих нарушений прав человека — отрицательный пример Китая известен многим.
Эксперты уверены, что в ближайшие годы технология распознавания лиц станет массовой во всём мире, что чревато утратой приватности в повседневной жизни. Технологии будут совершенствоваться, но для их этичного и разумного применения нужна взвешенная законодательная база для защиты данных и неприкосновенности частной жизни.
vk-view-hidden-profile — Googlesuche
AlleBilderVideosNewsMapsShoppingBücher
suchoptionen
Tipp: Begrenze diesuche auf deutschsprachige Ergebnisse. Du kannst deinesuchsprache in den Einstellungen ändern.
Просмотр скрытых страниц пользователей ВКонтакте. Как открыть страницу ВК…
3ddroid.ru › есть-некоторые-советы › просмотреть-скрытые…
Для просмотра скрытых страниц ВКонтакте нужно, прежде всего, узнать id нужного нам человека, id — это уникальный номер, присваиваемый этим ресурсом каждому …
Вк просмотр скрытых страниц. Просматриваем скрытые фото Вконтакте…
viws.ru › главная › Поломки
Для просмотра всех скрытых приложений, музыки (аудиозаписи), видео, фото, друзей, групп и прочего придется подставить id (id) страницы на …
Вид скрыт. Проверка скрытых фотографий в ВК. Как просмотреть приват…
ezoteriker.ru › просмотр-скрытых-проверка-скрытых-ф…
Для того, чтобы просмотреть скрытый альбом «ВКонтакте», вам необходимо войти в запись Фото с пользователем на его страница. Если все сделано правильно, то вы должны увидеть . ..
Как скрыть свой профиль от других пользователей? — ВКонтакте
vk.com › поддержка › faq12946
В личном профиле скрыты разделы: Стена, Фото, Видео, Музыка, Подписки, Сообщества, Истории, Подарки, Состояние отношений, Контакты …
Как посмотреть скрытых друзей ВКонтакте на чужой странице…
podarilove.ru › как-посмотреть-скрытых-друзей-вконтакт…
Обратите внимание на то, кто часто ставит лайки и комментирует посты вашего пассии. Если кто-то есть на примете, зайдите на страницу этого человека. Отобразятся общие друзья …
Как посмотреть скрытых друзей «Вконтакте. Как посмотреть скрытых друзей в…
podarilove.ru › kak-uvidet-skrytyh-druzei-vkontakt…
Если пользователь скрыл чей-то профиль, тот, кто был скрыт, не обязательно сделал то же самое Как увидеть скрытых друзей в ВК от другого пользователя Как …
Выставление личных фотографий ВК — YouTube
www. youtube.com › смотреть
08.05 .2015 · http://kamil.hism.ru/posts/exposing-private-vk-photos.html
Дауэр: 2:53
Прислан: 08.05.2015
Просмотр страниц в вк анонимно. Просмотр закрытых страниц на…
pzik.ru › Главная › Социальные сети
2. Перейдите на вкладку «Друзья» и выберите в разделе «Поиск скрытых друзей» один из видов поиска. Осталось только ждать …
So zeigen Sie ein privates Profil auf VKontakte an. VkOnLook…
pzik.ru › Heim › Sozial Netzwerke
Dies ist nicht die einzige Möglichkeit, приват vkontakte-Fotos anzuzeigen. Sie können dies auf folgende Weise tun: Finden Sie einen der Freunde des Benutzers, …
Ревизия сторон ВК. ВКонтакте: Как просматривать закрытые…
androidas.ru › просматривать-страницы-вконтакте-как-ви…
Вам нужно перейти на просмотр любой части профиля користувача. Проще ввести аватар. Теперь вернитесь к адресной строке. Найдите следующую часть . ..
vk-view-hidden-profile — Googlesuche
AlleVideosBilderNewsMapsShoppingBücher
suchoptionen
Tipp: Begrenze diesuche auf deutschsprachige Ergebnisse. Du kannst deinesuchsprache in den Einstellungen ändern.
Просмотр скрытых страниц пользователей ВКонтакте. Как открыть страницу ВК…
3ddroid.ru › есть-некоторые-советы › просмотреть-скрытые…
Для просмотра скрытых страниц ВКонтакте нужно, прежде всего, узнать id нужного нам человека, id — уникальный номер, присваиваемый этим ресурсом каждому …
Вк посмотреть скрытые страницы. Просматриваем скрытые фото Вконтакте…
viws.ru › главная › Поломки
Для просмотра всех скрытых приложений, музыки (аудиозаписи), видео, фото, друзей, групп и прочего придется подставить id (id) страницы на …
Просмотр скрыт. Проверка скрытых фотографий в ВК. Как просмотреть приват…
ezoteriker.ru › просмотр-скрытых-проверка-скрытых-ф. ..
Для того, чтобы просмотреть скрытый альбом «ВКонтакте», вам необходимо войти в запись Фото с пользователем на его страница. Если все сделано правильно, то вы должны увидеть …
Как скрыть свой профиль от других пользователей? — ВКонтакте
vk.com › поддержка › faq12946
В личном профиле скрыты следующие разделы: Стена, Фото, Видео, Музыка, Подписки, Сообщества, Истории, Подарки, Состояние отношений, Контакты …
Как посмотреть скрытых друзей ВКонтакте на чужой странице…
podarilove.ru › kak-posmotret-skrytyh-druzei-vkont…
Обратите внимание, кто часто ставит лайки и комментирует посты вашего пассии. Если кто-то есть на примете, зайдите на страницу этого человека. Общие друзья будут отображаться …
Как посмотреть скрытых друзей «Вконтакте. Как посмотреть скрытых друзей в…
podarilove.ru › kak-uvidet-skrytyh-druzei-vkontakt…
Если пользователь скрыл чей-то профиль, то тот, кого скрыли, не обязательно сделал то же самое.