- Как работает Face ID и распознавание лица на Android смартфонах?
- Нейросети, искусственный интеллект, самообучение…
- Как работает Face ID и распознавание лица?
- Подведем небольшие итоги
- В чем разница между Face ID на iPhone и Распознаванием лица на Android?
- Основные технологии распознавания лиц
- ТОП-5 программ распознавания лиц по фото: сравнение и обзор!
- 1. Search Face
- 2. Findme VK
- 3. Сервис Яндекс.Картинки
- 4. Photo Sherlock
- 5. Поиск по фото
- Программа распознавания лиц : 10 комментариев
Как работает 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 определенных чисел, уникальных для конкретного лица.
А теперь следите за мыслью, так как это самая важная часть в понимании 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, чтобы не пропустить очень интересные материалы, которые мы сейчас готовим!
Как бы вы оценили эту статью?
Нажмите на звездочку для оценки
Внизу страницы есть комментарии.
Напишите свое мнение там, чтобы его увидели все читатели!
Если Вы хотите только поставить оценку, укажите, что именно не так?
Источник
ТОП-5 программ распознавания лиц по фото: сравнение и обзор!
Первая программа распознавания лиц по фото, которая была доступна для обычных пользователей Рунета, называлась Findface. Она появилась в 2016 году и моментально стала дико популярной. Сервис опирался на фотобанк соцсети Вконтакте, и умел находить людей по фото с очень высокой точностью. В сентябре 2018 года программа перестала работать в прежнем режиме, сервис перешел в сферу обслуживания государственных заказов, а также крупных коммерческих организаций.
Успех данной программы распознавания лиц по фото онлайн не мог не заинтересовать других разработчиков. Сегодня в сети действует множество аналогов Findface, которые распознают людей не менее умело. В этой статье мы сделаем обзор 5 альтернативных программ распознавания по фото, которые легко устанавливаются на компьютер или телефон. Дополнительно рассмотрим их преимущества и недостатки.
1. Search Face
Это программа распознавания лиц по фото в Интернете из базы данных Вконтакте, то есть, полный аналог упомянутой выше FindFace. Умный алгоритм, опираясь на данные встроенной нейросети, быстро анализирует изображение и выдает подборку двойников и клонов. Сервис работает онлайн, то есть, ничего скачивать или устанавливать на устройство не нужно. Все, что потребуется – браузер и Интернет подключение.
- Зайдите на сайт https://findclone.ru/;
- Введите свой номер телефона и нажмите клавишу «Регистрация» – «Позвонить мне»;
- Вам поступит телефонный звонок. Запомните последние 5 цифр входящего номера;
- Введите эти числа в поле «Пинкод»;
- Укажите свой пароль;
- Таким образом, вы зарегистрировались в системе. Теперь жмите клавишу «Войти»;
- Загрузите исходное фото(или перетащите его на экран);
- Сервис сразу приступит к поиску и уже через пару секунд вы увидите результаты.
Мы проверили работу сайта, загрузив туда свое фото и программа действительно разыскала профиль ВК тестируемого человека. Ниже был приведен перечень похожих людей или двойников.
- Cкорость анализа данных;
- Высокая точность (исходное фото ни разу не попадало в Интернет);
- Простота интерфейса сайта;
- Пользоваться сервисом можно как с мобильного, так и с компьютера;
- В Play Market есть отдельное приложение;
- Необходимость вводить свой номер телефона;
2. Findme VK
Если вы ищете, как скачать бесплатно программу распознавания лиц, для начала протестируйте этот веб-сервис. Как и предыдущий, он функционирует онлайн и совершенно не требует регистрации:
- Зайдите на сайт https://www.findmevk.com ;
- Добавьте фото;
Последняя будет немаленькой – вы познакомитесь с сотней своих двойников. Программа отсортирует похожие изображения и выгрузит их на экран, буквально, за 5 секунд.
- Скорость обработки информации;
- Отсутствие необходимости где-либо регистрироваться;
- Средний результат в точности;
- Азиатские лица программа различает плохо;
- Не подходит для поисков определенного человека;
Таким образом, если вы просто хотите посмотреть на своих двойников, площадка вам понравится. Но если вам нужно разыскать по фото конкретного человека, попробуйте другой вариант из нашего списка.
Читайте обзоры от нашей редакции:
3. Сервис Яндекс.Картинки
Программное обеспечение распознавания лиц стоит немало, и оно вряд ли подойдет обычному пользователю Интернета. Такое оборудование приобретают крупные компании, супермаркеты, государственные службы.
Вот несколько компаний, которые реализуют программы для распознавания лиц в видеонаблюдении:
- Findface;
- Hikvision;
- Verilook Standard SDK.
Средняя цена за стартовый пакет софта – от 450 долларов. Как видите, профессиональные продукты вряд ли заинтересуют стандартного пользователя.
Один из самых востребованных веб-сервисов, который отлично работает бесплатно – это Яндекс.Картинки. Программа выполняет не только распознавание лиц по фото, но и ищет похожие картинки.
- Зайдите на сайт https://yandex.kz/images/;
- Нажмите на значок фотоаппарата справа от поисковой строки;
- Добавьте исходную картинку;
- Нажмите «Поиск»;
- Анализирует не только базу данных Вконтакте, но, вообще, весь Рунет;
- Больше шансов разыскать нужного человека;
- Яндекс выдаст все сайты, на которых загружено это или похожее фото;
- Очень много одинаковых картинок, что затруднит анализ результатов и займет гораздо больше времени;
Перечисленные выше сервисы позволяют распознавать лица как с компьютера, так и с телефона. Однако, с компа работать гораздо удобнее. Далее мы приведем программу для распознавания лиц по фото для Андроида, которую легко установить на смартфон.
4. Photo Sherlock
Это отличная мобильная программа для распознавания лиц в соцсетях, с очень высокими рейтингами в Play Market.
- Скачайте утилиту из Play Market;
- Установите ее на телефон и разрешите ей доступ к камере и галерее;
- Загрузите изображение с карты памяти или сделайте фото;
- Нажмите клавишу «Найти это фото»;
- Дождитесь окончания анализа.
- Маленький вес программы;
- Выдача результатов в Гугл;
- Ищет только полностью идентичные картинки или лица;
- Часто всплывает реклама, что раздражает и отвлекает;
Если вы хотите полюбоваться на своих двойников – воспользуйтесь лучше Search Face. Эксперимент нас позабавил – Путина программа нашла, а вот Жириновского почему-то нет.
В завершение приведем программу распознавания лиц для Айфона, которую также можно бесплатно скачать из официального магазина приложений.
5. Поиск по фото
Утилита находится в AppStore в свободном доступе. Она выполняет поиск и распознавание лица с фото исходника, основываясь на данных поисковых систем Google и Yandex. Совместима с операционной системой IOS 9.1 и старше.
- Найдите приложение в магазине;
- Установите его на телефон;
- Вызовите касанием боковую шторку слева;
- Добавьте файл с устройства или сделайте снимок;
- Если нужно, укажите нужный размер фото;
- Жмите «Поиск»;
- Программа ищет весьма неплохо и быстро;
- Часто вылетает;
- Долго приходится разбираться с интерфейсом,даже с помощью инструкции;
Технология распознавания лиц сегодня находится в периоде развития, на самом его пике. Хотите знать, как работает программа распознавания лиц, и насколько опасен такой софт для человечества? У нас есть развернутые статьи на эти темы, а здесь мы лишь кратко опишем принцип работы системы. Говоря простым языком, она анализирует соответствие исходного лица с тысячами других из своей базы данных. Идентификация происходит на основе 20 критериев – расстояние между точками на лице, анализ кожи, пор, глубина посадки черт и т.д.
Программы для распознавания лиц на видео сегодня устанавливают в супермаркетах, ночных клубах, аэропортах. Они позволяют вычислять людей из «черного» списка, помогают увеличить скорость обслуживания. Государственные системы распознавания лиц призваны снизить уровень преступности и повысить нашу безопасность.
Ну что же, статья подошла к финалу и теперь вы знаете, как называются лучшие программы распознавания лиц, которые может использовать обычный человек. Надеемся, вы найдете с их помощью того, кого потеряли.
Программа распознавания лиц : 10 комментариев
Здравствуйте! У меня есть фотография от 1897 года, на ней изображены три юноши. Один из них мой дед. Есть другая фотография от 1916 года, изображен конкретно мой дед. Как определить, какой юноша на первой фотографии является моим дедом? Какую использовать программу для идентификации лица? С уважением Лина
Здравствуйте, Лина.
В сети есть много онлайн-сервисов по определению схожести фото. Мы бы порекомендовали Вам сделать скрин фотографий и обрежьте по отдельности каждого из трех юношей. Загрузите в сервис и нажмите «Сравнение». Но учтите, что все они работают с определенной погрешностью. Тем более что фото старые.
А примеры конкретных сервисов можно? Что-то не могу найти ничего полезного, только поиск по соцсетям и сравнение с фото знаменистостей.
Подскажите как найти полную версию видеозаписи имея только небольшой кусок
делаешь скрин любого момента из видео, открываешь гугл, поиск по картинке. если поиск не дал результатов делаешь скрин из другого момента и повторяешь процедуру до получению результатов.
Надо найти человека
А первый сайт « Search Face» платный?
Findclone реально работает, но платный и чисто под ВК. Есть еще Find You под одноклассники — тоже неплох и бесплатный
Здравствуйте. Подскажите, пожалуйста, можно ли используя фото и программу на компе отследить перемещение работника в течении 12 часов по супермаркету с целью обнаружения хищения.Заранее спасибо.
Источник