Как работает система распознавания лиц. Распознавание лиц при помощи видеонаблюдения — автоматизированная безопасность. Китайский Airbnb устанавливает в домах «умные» замки с распознаванием лиц

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

Если вы использовали в последние 10 лет какую-либо фотографию, то вы, вероятно, видели, как действует обнаружение лиц:

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

Обнаружение лица стало господствующей тенденцией в начале 2000-х годов, когда Пол Виола и Майкл Джонс изобрели способ обнаруживать лица , который был достаточно быстрым, чтобы работать на дешёвых камерах. Однако сейчас существуют намного более надёжные решения. Мы собираемся использовать метод, открытый в 2005 году , - гистограмма направленных градиентов (коротко, HOG ).

Для обнаружения лиц на изображении мы сделаем наше изображение чёрно-белым, т.к. данные о цвете не нужны для обнаружения лиц:

Затем мы рассмотрим каждый отдельный пиксель на нашем изображении последовательно. Для каждого отдельного пикселя следует рассмотреть его непосредственное окружение:

Нашей целью является выделить, насколько тёмным является текущий пиксель по сравнению с пикселями, прямо примыкающими к нему. Затем проведём стрелку, показывающую направление, в котором изображение становится темнее:


При рассмотрении этого одного пикселя и его ближайших соседей видно, что изображение темнеет вверх вправо.

Если повторить этот процесс для каждого отдельного пикселя на изображении, то, в конечном итоге, каждый пиксель будет заменён стрелкой. Эти стрелки называют градиентом , и они показывают поток от света к темноте по всему изображению:

Может показаться, что результатом является нечто случайное, но есть очень хорошая причина для замены пикселей градиентами. Когда мы анализируем пиксели непосредственно, то у тёмных и светлых изображений одного и того же человека будут сильно различающиеся значения интенсивности пикселей. Но если рассматривать только направление изменения яркости, то как тёмное, так и светлое изображения будут иметь совершенно одинаковое представление. Это значительно облегчает решение проблемы!

Но сохранение градиента для каждого отдельного пикселя даёт нам способ, несущий слишком много подробностей. Мы, в конечном счёте, не видим леса из-за деревьев . Было бы лучше, если бы мы могли просто видеть основной поток светлого/тёмного на более высоком уровне, рассматривая таким образом базовую структуру изображения.

Для этого разбиваем изображение на небольшие квадраты 16х16 пикселей в каждом. В каждом квадрате следует подсчитать, сколько градиентных стрелок показывает в каждом главном направлении (т.е. сколько стрелок направлено вверх, вверх-вправо, вправо и т.д.). Затем рассматриваемый квадрат на изображении заменяют стрелкой с направлением, преобладающим в этом квадрате.

В конечном результате мы превращаем исходное изображение в очень простое представление, которое показывает базовую структуру лица в простой форме:


Исходное изображение преобразовано в HOG-представление, демонстрирующее основные характеристики изображения независимо от его яркости.

Чтобы обнаружить лица на этом HOG-изображении, всё, что требуется от нас, это найти такой участок изображения, который наиболее похож на известную HOG-структуру, полученную из группы лиц, использованной для обучения:

Используя этот метод, можно легко находить лица на любом изображении:

Если есть желание выполнить этот этап самостоятельно, используя Python и dlib, то имеется программа , показывающая, как создавать и просматривать HOG-представления изображений.

Шаг 2. Расположение и отображение лиц

Итак, мы выделили лица на нашем изображении. Но теперь появляется проблема: одно и то же лицо, рассматриваемое с разных направлений, выглядит для компьютера совершенно по-разному:


Люди могут легко увидеть, что оба изображения относятся к актёру Уиллу Ферреллу, но компьютеры будут рассматривать их как лица двух разных людей.

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

Для этого используем алгоритм, называемый «оценка антропометрических точек» . Есть много способов сделать это, но мы собираемся использовать подход, предложенный в 2014 году Вахидом Кэземи и Джозефином Салливаном .

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


68 антропометрических точек мы располагаем на каждом лице

Ниже показан результат расположения 68 антропометрических точек на нашем тестовом изображении:


СОВЕТ ПРОФЕССИОНАЛА НОВИЧКУ: этот же метод можно использовать для ввода вашей собственной версии 3D-фильтров лица реального времени в Snapchat!

Теперь, когда мы знаем, где находятся глаза и рот, мы будем просто вращать, масштабировать и сдвигать изображение так, чтобы глаза и рот оказались отцентрованы как можно лучше. Мы не будем вводить какие-либо необычные 3D-деформации, поскольку они могут исказить изображение. Мы будет делать только базовые преобразования изображения, такие как вращение и масштабирование, которые сохраняют параллельность линий (т.н. аффинные преобразования):

Теперь независимо от того, как повёрнуто лицо, мы можем отцентровать глаза и рот так, чтобы они были примерно в одном положении на изображении. Это сделает точность нашего следующего шага намного выше.

Если у вас есть желание попытаться выполнить этот шаг самостоятельно, используя Python и dlib, то имеется программа для нахождения антропометрических точек и программа для преобразования изображения на основе этих точек .

Шаг 3. Кодирование лиц

Теперь мы подошли к сути проблемы - само различение лиц. Здесь-то и начинается самое интересное!

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

На самом деле при таком подходе возникает огромная проблема. Такой сайт как Фейсбук с миллиардами пользователей и триллионами фотографий не может достаточно циклично просматривать каждое ранее отмаркированное лицо, сравнивая его с каждой новой загруженной картинкой. Это потребовало бы слишком много времени. Необходимо распознавать лица за миллисекунды, а не за часы.

Нам требуется научиться извлекать некоторые базовые характеристики из каждого лица. Затем мы могли бы получить такие характеристики с неизвестного лица и сравнить с характеристиками известными лиц. Например, можно обмерить каждое ухо, определить расстояние между глазами, длину носа и т.д. Если вы когда-либо смотрели телесериал о работе сотрудников криминалистической лаборатории Лас-Вегаса («C.S.I.: место преступления»), то вы знаете, о чём идёт речь:


Как в кино! Так похоже на правду!

Самый надёжный метод обмерить лицо

Хорошо, но какие характеристики надо получить с каждого лица, чтобы построить базу данных известных лиц? Размеры уха? Длина носа? Цвет глаз? Что-нибудь ещё?

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

Решение состоит в том, чтобы обучить глубокую свёрточную нейронную сеть (именно это мы делали в выпуске 3). Но вместо обучения сети распознаванию графических объектов, как мы это делали последний раз, мы теперь собираемся научить её создавать 128 характеристик для каждого лица.

Процесс обучения действует при рассмотрении 3-х изображений лица одновременно:

1. Загрузите обучающее изображение лица известного человека

2. Загрузите другое изображение лица того же человека

3. Загрузите изображение лица какого-то другого человека

Затем алгоритм рассматривает характеристики, которые он в данный момент создаёт для каждого из указанных трёх изображений. Он слегка корректирует нейронную сеть так, чтобы характеристики, созданные ею для изображений 1 и 2, оказались немного ближе друг к другу, а для изображений 2 и 3 - немного дальше.

Единый «строенный» шаг обучения:

После повтора этого шага миллионы раз для миллионов изображений тысяч разных людей нейронная сеть оказывается в состоянии надёжно создавать 128 характеристик для каждого человека. Любые десять различных изображений одного и того же человека дадут примерно одинаковые характеристики.

Специалисты по обучению машин называют эти 128 характеристик каждого лица набором характеристик (признаков) . Идея сведения сложных исходных данных, таких как, например, изображение, к списку генерируемых компьютером чисел оказалась чрезвычайно перспективной в обучении машин (в частности, для переводов). Такой подход для лиц, который мы используем, был предложен в 2015 году исследователями из Гугл , но существует много аналогичных подходов.

Кодировка нашего изображения лица

Процесс обучения свёрточной нейронной сети с целью вывода наборов характеристик лица требует большого объёма данных и большой производительности компьютера. Даже на дорогой видеокарте NVidia Telsa требуется примерно 24 часа непрерывного обучения для получения хорошей точности.

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

В результате всё, что требуется от нас самих, это провести наши изображения лиц через их предварительно обученную сеть и получить 128 характеристик для каждого лица. Ниже представлены характеристики для нашего тестового изображения:

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

Если есть желание попробовать выполнить этот шаг самостоятельно, то OpenFace предоставляет Lua-скрипт , создающий наборы характеристик всех изображений в папке и записывающий их в csv-файл. Можно запустить его так, как показано .

Шаг 4. Нахождение имени человека после кодировки лица

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

Это можно сделать, используя любой базовый алгоритм классификации обучения машин. Какие-либо особые приёмы глубинного обучения не требуются. Мы будем использовать простой линейный SVM-классификатор , но могут быть применены и многие другие алгоритмы классификации.

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

Опробуем нашу систему. Прежде всего я обучил классификатор, используя наборы характеристики от примерно 20 изображений Уилла Феррелла, Чеда Смита и Джимми Фэлона:


О, эти восхитительные картинки для обучения!

Затем я прогнал классификатор на каждом кадре знаменитого видеоролика на Youtube, где на шоу Джимми Фэлона Уилл Феррелл и Чед Смит прикидываются друг другом :

Сработало! И смотрите, как великолепно это сработало для лиц с самых разных направлений - даже в профиль!

Самостоятельное выполнение всего процесса

Рассмотрим требуемые шаги:

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

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

3. Пропустите отцентрованное изображение лица через нейронную сеть, обученную определению характеристик лица. Сохраните полученные 128 характеристик.

4. Просмотрев все лица, характеристики которых были сняты раньше, определите человека, характеристики лица которого наиболее близки к полученным. Дело сделано!

Теперь, когда вы знаете, как всё это работает, просмотрите инструкции с самого начала до конца, как провести весь процесс распознавания лица на вашем собственном компьютере, используя OpenFace :

Прежде чем начать

Убедитесь, что Python, OpenFace и dlib у вас установлены. Их можно установить вручную или использовать предварительно сконфигурированное контейнерное изображение, в котором это всё уже установлено:

Docker pull bamos/openface docker run -p 9000:9000 -p 8000:8000 -t -i bamos/openface /bin/bash cd /root/openface

Совет профессионала новичку: если вы используете Docker на OSX, то можно сделать папку OSX/Users/ видимой внутри контейнерного изображения, как показано ниже:

Docker run -v /Users:/host/Users -p 9000:9000 -p 8000:8000 -t -i bamos/openface /bin/bash cd /root/openface

Затем можно выйти на все ваши OSX-файлы внутри контейнерного изображения на /host/Users/…

Ls /host/Users/

Шаг 1

Создайте папку с названием./training-images/ в папке openface.

Mkdir training-images

Шаг 2

Создайте подпапку для каждого человека, которого надо распознать. Например:

Mkdir ./training-images/will-ferrell/ mkdir ./training-images/chad-smith/ mkdir ./training-images/jimmy-fallon/

Шаг 3

Скопируйте все изображения каждого человека в соответствующие подпапки. Убедитесь, что на каждом изображении имеется только одно лицо. Не требуется обрезать изображение вокруг лица. OpenFace сделает это автоматически.

Шаг 4

Выполните скрипты openface из корневого директория openface:

Сначала должны быть выполнены обнаружение положения и выравнивание:

./util/align-dlib.py ./training-images/ align outerEyesAndNose ./aligned-images/ --size 96

В результате будет создана новая подпапка./aligned-images/ с обрезанной и выровненной версией каждого из ваших тестовых изображений.

Затем создайте представления из выровненных изображений:

./batch-represent/main.lua -outDir ./generated-embeddings/ -data ./aligned-images/

Подпапка./generated-embeddings/ будет содержать csv-файл с наборами характеристик для каждого изображения.

Проведите обучение вашей модели обнаружения лица:

./demos/classifier.py train ./generated-embeddings/

Будет создан новый файл с именем./generated-embeddings/classifier.pk . Этот файл содержит SVM-модель, которая будет использоваться для распознавания новых лиц.

С этого момента у вас появляется работающий распознаватель лиц!

Шаг 5. Распознаём лица!

Возьмите новую картинку с неизвестным лицом. Пропустите её через скрипт классификатора, типа нижеследующего:

./demos/classifier.py infer ./generated-embeddings/classifier.pkl your_test_image.jpg

Вы должны получить примерно такое предупреждение:

=== /test-images/will-ferrel-1.jpg === Predict will-ferrell with 0.73 confidence.

Здесь, если пожелаете, можете настроить python-скрипт./demos/classifier.py .

Важные замечания:

Если результаты неудовлетворительные, то попытайтесь добавить ещё несколько изображений для каждого человека на шаге 3 (особенно изображения с разных направлений).

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

Добавить метки

Юбилейный iPhone X получил одну из самых неординарных фишек среди конкурентов. Флагман умеет распознавать лицо владельца, а вместо Touch ID и кнопки «Домой» инженеры интегрировали камеру TrueDepth и функцию Face ID.

Быстро, моментально и без необходимости вводить пароли. Так можно разблокировать iPhone X уже сегодня.

Apple известна тем, что всегда смотрит в технологическое будущее намного раньше, чем очередная функция становится стандартом. В случае с iPhone X и сканером лица компания уверена, что за распознаванием лиц будущее.

Разберемся, заблуждается ли Apple или наши лица – это верный пропуск в цифровое будущее.

😎 Рубрика «Технологии» выходит каждую неделю при поддержке re:Store .

Так как работает распознавание лиц?

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

Во-вторых, продуманная и натренированная нейросеть, которой скормили миллионы снимков с пометками. Обучают такие сети просто. Загружают снимок и представляют его системе: «Это Виктор Иванов», затем следующий.

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

В той же технологии FaceN, о которой мы поговорим ниже, используется около 80 различных числовых признаков-характеристик.

Почему про распознавание лиц внезапно заговорили?

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

Увидев человека на улице, вы могли сфотографировать его на смартфон, отправить фото в FindFace, и через несколько секунд найти его страничку во «ВКонтакте». Алгоритм совершенствовался, допиливался и все лучше и лучше распознавал лица.

А начиналось все с распознавания пород собак по фотографии. Автор технологии распознавания FaceN и приложения Magic Dog, Артем Кухаренко. Парень быстро смекнул, что за этой технологией будущее и приступил к разработке.

После успеха приложения FindFace, основатель компании-разработчика N-Tech.Lab Кухаренко в очередной раз убедился в том, что распознавание лиц интересно практически в любой отрасли:

  • пограничные службы
  • казино
  • аэропорты
  • любые места скопления людей
  • маркеты
  • парки развлечений
  • спецслужбы
  • В мае 2016 года N-Tech.Lab приступило к тестированию сервиса совместно с правительством Москвы. По всей территории столицы разместили десятки тысяч камер, которые в режиме реального времени опознавали прохожих.

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

    Разумеется, человека тут же можно найти в социальной сети и пробить по любым базам. А теперь представьте, что такие камеры установлены по периметру всего города. Скрыться злоумышленнику не удастся. Камеры есть везде: во дворах, на подъездах, на трассах.

    А как дела с распознаванием лиц в России

    Вы удивитесь, но с середины 2016 года градоначальники Москвы активно внедряют систему распознавания лиц по всей территории города.

    На сегодняшний день только на подъездах московских многоэтажек установлено более 100 тысяч камер , умеющих распознавать лица. Более 25 тысяч установлены во дворах. Разумеется, точные цифры засекречены, но можете сомневаться – активный контроль распространяется быстрее, чем вы можете себе представить.

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

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

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

    Изображение со стандартных камер видеонаблюдения поступает на обработку «умному» алгоритму и настоящая магия происходит уже там. По актуальным данным точность распознавания FindFace сегодня варьируется в пределах 73% – 75%. Разработчики уверены, что смогут добиться результата в 100% уже в ближайшее время.

    Как вообще появилось распознавание лиц?

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

    Типов биометрической аутентификации масса:

  • по ДНК
  • по радужной оболочке глаза
  • по ладони
  • по голосу
  • по отпечатку пальца
  • по лицу
  • И именно последняя технология особенно интересна, поскольку имеет сразу несколько преимуществ перед другими.

    Прообразом технологии распознавания лиц в XIX веке служили сперва «портреты по описанию», а позже – фотографии. Так полиция могла идентифицировать преступников. В 1965 году специально для правительства США была разработана полуавтоматическая система распознавания лиц. В 1971 к технологии вернутся, обозначив основные маркеры, необходимые для распознавания лиц, но ненадолго.

    С тех пор в качестве главного биометрического идентификатора спецслужбы все же предподчитают проверенную технологию снятия отпечатков пальцев.

    А все потому, что технологии не позволяли как-либо взаимодействовать с чертами лица человека. Ультраточных лазеров, инфракрасных датчиков и мощных процессоров, как и самих систем распознавания, на тот момент не было.

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

    Где сегодня используют технологию распознавания лиц

    В смартфонах

    Популяризация технологии распознавания лиц началась с флагмана Apple. iPhone X задал тренд на последующие годы и OEM-производители активно приступили к интеграции аналогов Face ID в свои устройства.

    В банках

    Биометрическое распознавание лиц уже не первый год используется в США. Теперь же технология добралась и до России. Только за 2017 год благодаря внедрению данной системы удалось предотвратить более 10 тысяч мошеннических сделок и сохранить сумму в размере 1,5 млрд рублей.

    Распознавание лиц используется для идентификации клиента и принятия решения по возможности выдачи кредита.

    В магазинах

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

    В жизни городов

    Это именно то, ради чего разрабатывается и развивается технология. От стадионов до кинотеатров – везде, где огромное количество людей, идентификация особо важна. Сегодня технология распознавания лиц позволяет предотвратить массовые беспорядки и террористические акты.

    Какие компании интересуются распознаванием лиц

    Google, Facebook, Apple и прочие IT-гиганты сейчас занимаются активной скупкой проектов от разработчиков, занимающихся распознаванием лиц. Все они видят в технологии огромный потенциал.

    Это лишь часть официально анонсированных сделок. На деле их намного больше. Помимо интеграции Face ID и аналогов технологии в смартфоны, у ведущих IT-компаний намного большие виды на использование распознавания лиц.

    Как будет выглядеть будущее с распознаванием лиц

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

    Доброе утро! Улыбочку, на вас смотрит система «умный» дом. Мда, хозяин, выпито вчера было немало – по лицу вижу, с трудом опознала. Так, рядом супруга, в прихожей доедает вечерний корм Барсик. Посторонних нет. Замечательно.

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

    Вы собрались и подходите к лифту. Нет-нет, это система распознавания уже в курсе, что вы предпочитаете садится в крайний лифт, поэтому он уже вызван.

    Завидев вас издалека, 500-сильный электрокар автоматически подстроил вылет руля и подкорректировал положение кресла. Дверь открыта – присаживайтесь.

    Пока производители систем автопилота безуспешно пытаются убедить законодательство в необходимости внедрения беспилотных автомобилей, старайтесь не нарушать ПДД. Камеры наблюдения повсюду, а оплата штрафа неизбежна. Ведь за рулем точно вы, и, как только вы вдавите педаль акселератора в пол, с вашей банковской карты спишется штраф за превышение скорости.

    Наконец, мы у здания офиса той самой компании, которая занимается внедрением технологии распознавания лиц в инфраструктуру городов России. Да, это ваша работа. Контроль жесткий, но вам не стоит переживать – пока вы парковали машину, камеры уже узнали вас.

    Работать стало сложнее: по всему периметру офиса камеры распознавания, которые «видят» кто и чем занимается, а заодно умеют читать эмоции. Короче, валять дурака на рабочем месте не выйдет.

    Вы поднимаетесь по лестнице и заходите в лифт. Он знает, на какой этаж вам нужно. Двери в квартиру сами открываются перед вами. Компьютер и телефон «узнают» вас и не требуют ввода пароля.

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

    • подтверждение личности студента во время онлайн-экзаменов;
    • определение людей из «черного списка» на входе на стадионы и ночные клубы;
    • оплата товаров;
    • сохранение вашего места в очереди при посещении парка аттракционов;
    • разблокировка телефона или компьютера.

    Что говорить, если в одной только Москве уже работает сеть из более 150 000 камер наружного видеонаблюдения. От них никуда не скрыться, и это заставляет людей задумываться, но масштабы «слежки» не настолько велики. Сеть использует мощную систему распознавания лиц, но для ее работы необходимо много энергии, поэтому в режиме реального времени работают всего 2-4 тысячи камер. Массовым слежением за населением пока только пугают, поэтому стоит сосредоточиться на реальных плюсах работы данной технологии. Но обо всем по порядку.

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

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

    Итак, насколько хорошо работает система распознавания лиц в настоящее время? Вполне неплохо, но иногда ошибается. Если вы когда-нибудь сталкивались с ПО, распознающим лица на Facebook или на другой платформе, вы наверняка замечали, что забавных результатов бывает столько же, сколько и точных. И все же, хотя технология работает не со 100-процентной точностью, она достаточно хороша, чтобы найти широкое применение. И даже заставить понервничать.

    Пол Хоуи из NEC говорит, что их система распознавания лиц сканирует лица на предмет индивидуальных идентификаторов:

    «К примеру, многие считают расстояние между глазами уникальной характеристикой. Или же это может быть расстояние от подбородка до лба и другие компоненты. Мы, в частности, учитываем 15-20 факторов, которые считаются важными, а также другие факторы, уже не настолько значимые. Создается трехмерное изображение головы человека, поэтому даже если она частично будет закрыта, мы все равно сможем получить точное соответствие. Затем система берет сигнатуру лица и пропускает ее через базу данных».

    Стоит ли переживать о программах, распознающих лица?

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

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

    Говоря о программном обеспечении, все они работают по-разному, но в основе своей используют похожие методы и нейросети. У каждого лица есть множество отличительных признаков (в мире невозможно найти два идентичных лица, а ведь сколько их было за всю историю человечества!). К примеру, программное обеспечение FaceIt определяет эти признаки как узловые точки. Каждое лицо содержит примерно 80 узловых точек, схожих с теми, что мы упоминали прежде: расстояние между глазами, ширина носа, глубина глазных впадин, форма подбородка, длина челюсти. Эти точки измеряются и создают числовой код - «отпечаток лица» - который затем попадает в базу данных.

    В прошлом распознавание лиц опиралось на двумерные снимки для сравнения или идентификации других двумерных снимков из базы данных. Для пущей эффективности и точности изображение должно было быть лицом, прямо смотрящим в камеру, с небольшой дисперсией света и без особого выражения лица. Конечно, работало это чертовски плохо.

    В большинстве случаев снимки не создавались в подходящей среде. Даже небольшая игра света могла снизить эффективность системы, что приводило к высоким показателям отказа.

    На смену 2D пришло 3D-распознавание. Эта недавно появившаяся тенденция в программном обеспечении использует 3D-модель, обеспечивающую высокую точность распознавания лица. Запечатлевая трехмерное изображение поверхности лица человека в реальном времени, ПО выделяет отличительные черты - где больше всего выдаются жесткие ткани и кость, например, кривые глазного гнезда, носа и подбородка - для идентификации субъекта. Эти области уникальны и не меняются со временем.

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

    • Обнаружение: получение снимка при помощи цифрового сканирования существующей фотографии (2D) или видео для получения живой картинки субъекта (3D).
    • Центровка: определив лицо, система отмечает положение головы, размер и позу.
    • Измерение: система измеряет кривые на лице с точностью до миллиметра и создает шаблон.
    • Репрезентация: система переводит шаблон в уникальный код. Этот код задает каждому шаблону набор чисел, представляющих особенности и черты лица.
    • Сопоставление: если снимок в 3D и база данных содержит трехмерные изображения, сопоставление пройдет без изменений снимка. Но если же база данных состоит из двумерных снимков, трехмерное изображение раскладывается на разные составляющие (словно сделанные под разными углами двумерные снимки одних и тех же черт лица), и они конвертируются в 2D-изображения. И затем находится соответствие в базе данных.
    • Верификация или идентификация: в процессе верификации снимок сравнивается только с одним снимков в базе данных (1:1). Если целью же стоит идентификация, снимок сравнивается со всеми снимками в базе данных, что приводит к ряду возможных совпадений (1:N). Применяется тот или иной другой метод по необходимости.

    Где используются системы распознавания лиц?

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

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

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

    Волшебство? Технологии!

    Особенно важным и интересным может быть развитие технологии распознавания лиц в сфере банковских переводов. На днях российский банк «Открытие» представил собственное уникальное решение, разработанное под технологическим брендом Open Garage: перевод денег по фотографии в мобильном приложении «Открытие.Переводы». Вместо того чтобы вбивать номер карты или телефона, достаточно просто сфотографировать человека, которому нужно сделать перевод. Система распознавания лиц сравнит фото с эталонным (делается, когда банк выдает карту) и подскажет имя и фамилию. Останется только выбрать карту и ввести сумму. Что особенно важно, клиенты сторонних банков также могут использовать эту функцию для переводов клиентам «Открытия» - отправитель переводов может пользоваться картой любого российского банка.

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

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

    Места применения

    Функция «распознавание лиц» нашла свое применение во многих аспектах человеческой жизни. С помощью систем видеонаблюдения данного типа можно:

    • организовать проходную на предприятии или других закрытых от посторонних объектов. Видеонаблюдение можно связать с турникетами и организовать автоматический пункт пропуска по принципу «свои-чужие»;
    • организовать систему противодействия хищениям в торговых точках и других частных владениях. Любые магазины, особенно большие, сталкиваются с проблемой пристрастия некоторых посетителей к воровству. Зачастую одни и те же люди, склонны осуществлять кражи в одних и тех же торговых точках. Установив камеры с системой распознавания лиц, можно более тщательно приглядываться к действиям уже попавшегося на воровстве человека. Сканер сообщит на пульт охраны как только он зайдет в магазин;
    • организовать систему противодействия проникновению на территорию домовладений и другие закрытые объекты. Порой человеку сложно на мониторе отличить затаившегося злоумышленника от куста, или другого предмета, тем более если камеры установлены на слабоосвещенном участке местности. Но ведь то что недоступно человеку, вполне может сделать компьютерный модуль;
    • фейс-контроль в ночных клубах — 100% защита от непрошеных гостей.

    Принцип работы

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

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

    Методы работы

    Камеры систем распознавания лиц работают в двух режимах двухмерном и трехмерном. В случае с 2D системами, распознавание происходит на основе плоского изображения. Двухмерные камеры весьма чувствительны к уровню освещенности помещения, от этого параметра в значимой мере зависит качество конечной картинки. При плохом свете изображение будет трудноразличимым. 3D камеры для индикации воссоздают трехмерный образ на основе полученного изображения. Плохая освещённость для них особой помехой не является, обычно это может лишь незначительно исказить текстуру лица.

    Виды

    В зависимости от целей и задач, поставленных перед системой видеонаблюдения с функцией распознавания лиц, они делятся на:

    • обнаружения (Камера от 1 Мп, фокусное расстояние от 1 мм). Действие этой охранной системы направлены на фиксирование проникновений на подконтрольные объекты. Сканер в состоянии отличить человека от кошки или белки, но не сможет идентифицировать его;
    • распознавания (Камера от 2 Мп, фокусное расстояние от 6 мм). В данном случае основной функцией сканера является распознавание лиц посетителей по принципу «свои-чужие». При просмотре видеоряда изображение будет достаточно смазанным, Вы узнаете на нем знакомые лица, но в случае если на объект проник вор, найти его по данным кадрам будет весьма затруднительно;
    • идентификации (Камера более 2 Мп, фокусное расстояние от 8 мм) Данные системы могут выполнять все функции предыдущих типов, при этом качества получаемого изображения будет вполне достаточно чтобы опознать злоумышленника. Такое фото вполне можно передать в судебные органы и органы правопорядка.

    В скобках к описанию каждого типа систем видеонаблюдения мы обозначили минимальные требования к разрешению камеры и фокусному расстоянию объектива. При заказе оборудования необходимо учитывать, что этих характеристик достаточно при идеальных условиях для съемки. Естественно на практике такое встречается редко, поэтому выбирая сканеры лучше приобрести устройства с запасом, к примеру, для систем распознавания — разрешение в 2 Мп и фокусное расстояние в 8 мм, для систем индикации — разрешение в 5 МП и фокусное расстояние в 12 мм.

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

    Открыл новую эпоху. Технология распознавания лиц - основная его «фишка». И никто не сомневается в том, что такой способ разблокировки будет внедряться и во многие другие смартфоны.

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

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

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

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

    Постепенно новая функция начала появляться в смартфонах. Здесь биометрическая идентификация пользователя внедряется для того, чтобы разблокировать устройство не мог посторонний человек. В идеале получить доступ к персональной информации может только близнец. Переживать по этому поводу не стоит. Вряд ли кто-то будет всерьез скрывать что-то от родного брата или сестры. Да и никто не мешает установить для чтения каких-то особо секретных данных дополнительный пароль.

    Работу системы распознавания лиц в смартфонах можно условно разделить на четыре этапа:

    1. Сканирование лица. Оно осуществляется при помощи фронтальной камеры или, как в случае с iPhone X, специального сенсора. Сканирование является трехмерным, поэтому фокус с показом фотографии срабатывать не будет.
    2. Извлечение уникальных данных. Система ориентируется на набор особенностей сканируемого лица. Чаще всего это контуры глазниц, форма скул и ширина носа. В продвинутых системах также могут «замечаться» шрамы.
    3. Извлечение из памяти шаблона с ранее полученными данными.
    4. Поиск соответствий. Финальный этап, на котором система решает, разблокировать ли дисплей. Мощности современных процессоров позволяют тратить на «размышление» всего доли секунды.

    Функция распознавания лиц может быть реализована даже при помощи фронтальной камеры - лишь бы она имела два объектива. Однако в таком случае работа данной функции окажется нестабильной. Дело в том, что лишь специальные датчики обеспечат сканирование лица даже в темноте, тогда как «фронталке» требуется яркое освещение. Также особые датчики виртуально выводят на лицо большее количество точек, поэтому они срабатывают даже при появлении бороды, очков и других помех. Словом, в каком-нибудь DOOGEE Mix 2 система точно будет работать заметно хуже, чем в iPhone X. Другое дело - юбилейный продукт Apple стоит гораздо дороже, чем все остальные смартфоны с функцией распознавания лица.

    За технологией будущее?

    Нужные для сканирования лица датчики требуют идеальной установки. Сдвиг на сотые доли миллиметра приведет к тому, что работа функции перестанет быть идеальной - поэтому при производстве смартфона может наблюдаться повышенный выход брака, а это приводит к росту его стоимости. Да и сами датчики стоят весьма дорого, неспроста их использует только компания Apple, хотя никаких патентов на них у неё нет.

    Одним словом, пока функцию распознавания лиц производители «андроидов» будут реализовывать посредством фронтальной камеры. Уже сейчас её можно встретить в Samsung Galaxy S8 и Note 8. Но владельцы этих устройств подтвердят вам, что работает она не лучшим образом - легче использовать сканер отпечатков пальцев . Поэтому пока о будущем функции ничего сказать нельзя. Нужно ждать, будет ли Apple внедрять соответствующие датчики в более доступные смартфоны, а также появятся ли они в устройствах на базе Android.

    Заключение

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

    Держали ли вы когда-нибудь в руках смартфон, умеющий распознавать лицо? И ждете ли вы массового внедрения данной функции? Поделитесь своим мнением в комментариях, мы будем этому рады!