Найти в Дзене
CYBERABBIT

Главный секрет работы Face ID

В сети Интернет можно найти множество публикаций о принципе работы технологии распознавания лица (Face ID). Если вы следили за этой темой, вам наверняка знакомы такие термины, как лазерный проектор, инфракрасный излучатель и другие подобные названия. Очевидно, что задача приучить устройство к распознаванию лиц, как и различии лиц других людей, представляет собой бессмысленное и затратное занятие. Устройство не способно классифицировать лица в такой же манере, как оно делает это для животных или растений в приложении Камера. Вместо этого, смартфон обучают выполнять что-то иное. На стадии производства нейросеть обучают просто распознавать лица, то есть выделять определенные черты лица (формы, размеры, расстояния) и различать одно от другого. Это достигается с помощью так называемой сверточной нейронной сети и специальных фильтров или сверток (в рамках этой статьи понимание этого процесса не является критичным). Нейросеть состоит из нескольких слоев: на первом слое подается изображени
Оглавление

Каким образом функционирует технология Face ID и процесс идентификации по лицу?

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

Сканирование лица
Сканирование лица

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

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

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

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

Однако нам не нужен последний слой. То есть, нейросеть не будет пытаться узнать конкретного человека или расу, а всё должно заканчиваться сбором признаков. Другими словами, Apple или любой другой разработчик Android-устройств обучает нейросеть лишь собирать признаки лица:

Сбор признаков
Сбор признаков

Так, как же всё таки устроена работа Face ID?

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

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

Хронология расположения точек, отсканированного лица
Хронология расположения точек, отсканированного лица

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

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

Представьте, что мы вводим в нейросеть фотографию человека с голубыми глазами и светлой кожей, и получаем в ответ два числа, скажем, 5 и 4. Далее мы вводим фотографию другого человека с более темной кожей и зелеными глазами, что приводит к получению других двух чисел, например, 3 и 2. Эти числа образуют двумерные векторы (с двумя координатами), которые можно без труда представить на двухмерной плоскости:

Вектор распознования
Вектор распознования

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

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

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

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

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

Распознования отличительных признаков
Распознования отличительных признаков

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

Распределние последовательности сканирования
Распределние последовательности сканирования

В чем разница между Face ID на iPhone и Распознаванием лица на Android?

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

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

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

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

Подведём итог про работе Face ID

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

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

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

Также существует метод создания карты глубины, где нейронные сети анализируют трехмерный портрет лица, а не плоский. Хотя этот подход встречается крайне редко на устройствах Android, некоторые модели
используют технологию, аналогичную Face ID на iPhone, проецируя на лицо тысячи точек. А также флагманские модели Android применяют технологию проецирования точек.

Спасибо, что дочитали до конца.
P.S. Не забудьте подписаться на канал, впереди нас ждёт ещё много интересного.