Как работает Face ID

Разблокировка по Face ID

Если задаться вопросом, как iPhone узнаёт своего владельца с помощью сканера лица Face ID, то мы наткнемся на информацию про машинное обучение, искусственный интеллект, True Depth камера и 30000 невидимых точек.

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

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

Как обучается нейронная сеть?

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

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

Фото котиков и собачек

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

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

Как нейросеть распознает лицо человека, животных или предметы?

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

Собака
Опишите породу собаки

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

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

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

Распознавание по лицу

Такой набор чисел будет называться «вектором». Для простоты понимания представим, что мы показываем нейросети фотографию человека со светлой кожей и зелеными глазами. Программа присваивает этим признакам числа 2 и 4. А потом подсовываем нейросети фото человека с темной кожи и карими глазами — на выходе получаем числа 3 и 5. Если изобразить это на плоскости, то будет что то типа такого:

Распознавание глаз

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

Объединение нейросетей для дальнейшего обучения

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

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

Фото Джобса

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

Фотографии на векторе

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

Работа Face ID на iPhone

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

Face ID на iPhone

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

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

Если мое лицо изменилось (макияж, очки, борода)?

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

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

Для этого есть такой пункт в настройках как альтернативный внешний вид.

Альтернативный внешний вид

Теперь вы знаете, что происходит за те доли секунды, когда разблокируйте ваш iPhone.

Подписывайтесь на наш Telegram, VK.
MacNoob - живая помощь с iPhone и MAC
Добавить комментарий

Вы можете подписаться на новые комментарии к статье без комментирования.