Android разблокировка по лицу

Google удалила распознавание лиц из Android

Когда Apple в 2017 году представила технологию распознавания лиц, пользователи Android изменились в лице и в тысячный раз спросили: а что, у них и этого раньше не было? Однако очень быстро стало понятно, что Face ID похож на разблокировку по лицу от Google так же, как Windows Phone похож на операционную систему. Распознавание лиц из Android не только срабатывало через раз, но ещё и снимало блокировку даже перед фотографией и совершенно посторонними людьми. Теперь это поняли и в Google и решили удалить опасную функцию.

Распознавание лиц — удобно, но небезопасно

Google пока не сделала официальных заявлений на этот счёт и не подтвердила исчезновение технологии распознавания лиц из Android. Однако судя по всему, интерфейс исчез из всех версий Android с выходом последнего обновления сервисов Google Play. Во всяком случае, ни в Android 10, ни в Android 6.0 Marshmallow её больше нет. Скорее всего, это значит, что в Google решили навсегда отказаться от программной разблокировки по лицу в пользу более совершенных методов идентификации.

Разблокировка по лицу в Android

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

Читайте также: Распознавание лиц в «Google Фото» для Android заработало в России

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

Зачем нужно распознавание лиц

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

Источник

Как работает Face ID и распознавание лица на Android смартфонах?

Интернет буквально переполнен статьями на тему того, как работает разблокировка по лицу (Face ID) на iPhone. Если вы хотя бы немножко интересовались этим вопросом, то сразу же вспомните все эти, набившие оскомину, термины: лазерный проектор, ИК-излучатель, 30 тысяч точек и т.п.

Все популярные ресурсы (The Verge, Wired, Engadget) как под копирку пишут одно и то же, повторяя слова, сказанные еще на презентации первого iPhone с технологией Face ID.

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

Надеюсь, эта статья ответит на многие вопросы!

Нейросети, искусственный интеллект, самообучение…

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

Читайте также:  План чтения библии андроид

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

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

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

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

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

Но как же тогда Android-смартфоны и iPhone за пару секунд запоминают лицо пользователя и в дальнейшем распознают его мгновенно, вне зависимости от выражения лица, освещения и даже макияжа? Где же тысячи фотографий и длительное обучение?

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

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

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

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

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

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

Однако же, само по себе умение собирать признаки еще не позволяет нам реализовать идентификацию пользователя по лицу.

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

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

Читайте также:  Ipa файл для андроид

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

Мы подаем в нейросеть фото человека с голубыми глазами и светлой кожей, а на выходе получаем два числа, например, 5 и 4. Затем мы подаем фото другого человека с темной кожей и зелеными глазами, соответственно, получаем на выходе другие числа, к примеру, 3 и 2. Всё это — двумерные вектора (с двумя координатами), которые можно легко отобразить на плоскости:

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

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

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

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

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

Когда нейросеть научилась это делать, ее можно загружать на iPhone или Android-смартфон.

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

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

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

Подведем небольшие итоги

Смартфон не умеет классифицировать лица, как например, его камера определяет сцену (цветок, собака, кошка и пр.):

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

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

Читайте также:  Регистрация инстаграм через андроид

Может ли iPhone или Android-смартфон «обучаться» в процессе использования? Если мы говорим именно о тренировке нейросети, тогда ответ однозначный — нет.

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

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

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

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

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

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

Может даже использоваться анализ микромимики, когда смартфон делает несколько снимков подряд, а затем попиксельно ищет различия.

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

Метод 3D-сканирования однозначно безопаснее 2D-сканирования, но не стоит полагать, что распознавание лица на Android-смартфонах очень легко обмануть. Особенно, когда речь идет о флагманах, вычислительной мощности которых достаточно для работы глубоких нейросетей.

Основные технологии распознавания лиц

В завершение хотелось бы просто перечислить самые популярные методы распознавания лиц:

  • Распознавание только при помощи селфи-камеры. Это наиболее распространенный метод разблокировки на Android-смартфонах (бюджетных, средне-бюджетных и практически всех флагманах). Здесь используется предварительно обученная нейросеть, сравнивающая расстояние между векторами признаков. Главный недостаток этого метода — зависимость от освещения. В темноте разблокировка по лицу работает крайне плохо.
  • Использование дополнительной ИК-подсветки. Подобная технология применяется, например, на смартфоне Huawei P40. Разница с первым методом только в том, что для распознавания совершенно нет нужды во внешнем освещении.
  • Построение карты глубины. Этот метод использует те же нейросети, но анализируется трехмерный снимок лица вместо плоского. На Android-смартфонах встречается крайне редко. Например, Google Pixel 4 вместо модного Soli-радара использует ровно ту же технологию, что и Face ID на iPhone (проецируется шаблон из тысячи точек). Также некоторые флагманы Huawei используют проектор точек (Huawei Mate 20 Pro и Mate 30 Pro).

Алексей, главный редактор Deep-Review

P.S. Не забудьте подписаться в Telegram на первый научно-популярный сайт о мобильных технологиях — Deep-Review, чтобы не пропустить очень интересные материалы, которые мы сейчас готовим!

Как бы вы оценили эту статью?

Нажмите на звездочку для оценки

Внизу страницы есть комментарии.

Напишите свое мнение там, чтобы его увидели все читатели!

Если Вы хотите только поставить оценку, укажите, что именно не так?

Источник

Оцените статью