Найти в Дзене

Как работает технология распознавания лиц?

Еще десять лет назад системы распознавания лиц были в основном уделом научной фантастики и применялись довольно редко. Сегодня они везде — на улицах мегаполисов и даже в смартфонах. Вместе с российским разработчиком систем распознавания лиц NtechLab, технологическим партнером «Ростеха», рассказываем, как работает технология, стремительно вошедшая в нашу жизнь, и как решать возникающие из-за нее этические вопросы. Для начала стоит разобраться с тем, что такое распознавание лиц. На самом вопрос нужно поставить иначе: «Почему мы воспринимаем лица людей настолько разными, если у всех нас (почти) есть два глаза, нос и рот?» Все дело в том, что формы этих частей лица, а также их взаимное расположение сильно различаются от человека к человеку. Кроме того, отличаются форма самой головы, форма щек и других черт. Важно и то, что их параметры не так сильно коррелируют между собой, как, к примеру, длина рук и ног, а также рост. Именно поэтому мы можем узнавать знакомые лица даже издалека. А раз па
Оглавление

Еще десять лет назад системы распознавания лиц были в основном уделом научной фантастики и применялись довольно редко. Сегодня они везде — на улицах мегаполисов и даже в смартфонах. Вместе с российским разработчиком систем распознавания лиц NtechLab, технологическим партнером «Ростеха», рассказываем, как работает технология, стремительно вошедшая в нашу жизнь, и как решать возникающие из-за нее этические вопросы.

Для начала стоит разобраться с тем, что такое распознавание лиц. На самом вопрос нужно поставить иначе: «Почему мы воспринимаем лица людей настолько разными, если у всех нас (почти) есть два глаза, нос и рот?» Все дело в том, что формы этих частей лица, а также их взаимное расположение сильно различаются от человека к человеку. Кроме того, отличаются форма самой головы, форма щек и других черт. Важно и то, что их параметры не так сильно коррелируют между собой, как, к примеру, длина рук и ног, а также рост. Именно поэтому мы можем узнавать знакомые лица даже издалека.

А раз параметры лиц вполне конкретны и их можно описать аналитически, то и машины можно научить различать людей между собой. Первые эксперименты в этой области начались на заре компьютерной эры. Относительно быстро стали появляться первые результаты, которые показали, что это возможно. Однако почти сразу стало понятно, что от первого прототипа до надежно работающей в реальных условиях системы распознавания лиц предстоит большой путь.

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

Зачем все это нужно?

Системы распознавания лиц применяются для двух типов задач: аутентификации (проверки личности) и распознавания в потоке. Хотя как таковой границы между ними может и не быть. Первый тип связан с непосредственным взаимодействием человека с системой, после которого система допускает или не допускает его до какого-либо действия. Примеров много: разблокировка по лицу в гаджетах, тестовые системы автоматизированного контроля границы в аэропортах или пропуск в закрытые помещения.

Самый простой пример — это FaceID на iPhone и аналоги на других смартфонах. С инженерной точки зрения FaceID — почти выдающаяся система, однако с точки зрения распознавания лиц ее задача достаточно проста, потому что при взаимодействии с ней пользователи находятся почти вплотную перед датчиками, смотрят вперед, а еще освещаются встроенным инфракрасным проектором.

Американские очки, делающие владельца невидимым для камер, распознающих лица, собрали 41 тысячу долларов на краудфандинговой платформе Kickstarter в 2016 году. И с тех пор продаются по тысяче долларов за штуку. Правда, покупатели жалуются, что они скрывают лицо лишь под определенным углом к объективу.

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

Сложность такого распознавания заключается в ограниченности данных. Взять камеру в метро — ей необходимо в режиме реального времени распознавать лица под углом, как правило, частично закрытые шапками или волосами. Причем на каждое лицо может приходиться область всего в десятки пикселей шириной, а освещение может быть слабым.

Как это работает

Распознавание лиц работает на основе разных датчиков и технологий. Чаще всего для этого используются обычные или инфракрасные камеры. Сначала кадры с камеры пропускаются через алгоритм детектирования лица. Если в кадре есть лицо, область с ним отдается алгоритму для распознавания лиц. При классическом подходе на лице размечаются несколько десятков ключевых точек, расположенных в фиксированных участках лица, например, несколько точек по краю глаза.

Сравнивая взаимное расположение точек с базой, система определяет наиболее близкого человека. И если совпадение достаточно близкое, проводит между лицами из базы и перед камерой соответствие.

В последние годы для распознавания лиц используются нейросетевые алгоритмы. Они обучаются на огромном количестве фотографий людей и учатся определять важные для распознавания признаки на лицах. После получения фотографии обученная нейросетевая модель выдает вектор (или цифровой индекс). Он сравнивается с лицами из базы, которым также присвоен такой индекс.

Может показаться, что такую систему легко обмануть, показав фотографию человека. На самом деле в современных системах распознавания лиц также применяются алгоритмы определения живости лица. Есть несколько основных методов определения, что перед камерой стоит живой человек. Часто в одной системе используется сразу несколько. Например, базовые методы анализа оптического потока и определения плоской поверхности, отслеживание мимических движений, в том числе изменения направления взгляда и моргания. Правда, для определения мимики или моргания необходимо проанализировать не один снимок, а, как минимум, несколько, что замедляет процесс распознавания.