Пишем веб-приложение для распознавания лиц за часFace Recognition Test
Содержание:
FindFace программа от российского разработчика
Своим выходом в свет сервис FindFace обязан российским разработчикам. Принцип его действия заключен в сравнении имеющегося у пользователя фото с профилями ВКонтакте и поиске похожих людей. Фотография человека загружается в специальную форму и сервис ищет совпадения. FindFace вызвал шумиху сразу после появления, так как с его помощью некоторые “продвинутые” пользователи нашли девушек, которые снимаются в видео для взрослых, и начали писать их близким и знакомым в целях разоблачения. Благодаря широкому скандалу сервис стал очень популярным.
Главная страница FindFace
Главная страница очень простая – ничего лишнего, только форма, в которой уже стоит галочка в окошке, означающая согласие юзера с пользовательским соглашением (ссылка на него кликабельна и можно сразу же с ним ознакомиться). Без этого согласия пользоваться поиском FindFace не получится. Приложение доступно как в веб-версии, так и на устройствах с ОС Android. Возможен и выбор языка – русский либо английский. Нажимаем “Найди одинаковых!” и разрешаем сайту получить доступ к нашему профилю ВКонтакте (который и будет аккаунтом на FindFace).
Последний представлен в трех вариантах:
Статус | Особенности |
---|---|
Бесплатный | 30 бесплатных запросов |
Premium | 75 запросов в месяц |
VIP | 300 запросов в месяц |
Есть возможность получить Premium аккаунт бесплатно на месяц – для этого нужно пригласить воспользоваться сервисом 10 друзей, поделившись ссылкой ВКонтакте или отправив ее на электронную почту выбранным получателям.
Дальнейший порядок действий:
-
Загружаем или перетаскиваем фотографию в специальное поле (весом не больше 5 Мб и в форматах JPG или PNG).
- Поиск осуществлен, и мы видим, что ВКонтакте найден 51 человек, у которых на фотографии изображен Владимир Владимирович Путин.
- С этой страницы можно просмотреть профиль пользователя (5 раз на бесплатном аккаунте FindFace, неограниченное количество раз – на Premium и VIP), задать параметры либо начать новый поиск.
Задаем параметры поиска
Ошибка версии FindFace для Twitter
Нейронные сети
Современные программы используют более десятка разновидностей алгоритмов нейронных сетей. Наиболее распространенными и эффективными являются многослойные прецептронные сети. Их использование позволяет не только классифицировать полученное изображение, но и осуществлять обучение сети в автоматическом режиме в соответствии с заложенным алгоритмом. Наибольшую эффективность в распознании продемонстрировала сеть Convolutional Neural Network.
Однако, популярность этого метода не слишком высока, что связано со сложностью обслуживания. Добавление эталонного образца в базу довольно длительная процедура, требующая от 1 часа до нескольких дней. Кроме того, неправильная оптимизация алгоритма выбора может привести к критическому сбою всей системы, и СКУД либо станет всех пропускать, либо блокирует вход.
Метод сравнения на графах
Программа представляет лица, отсканированные системой видеонаблюдения, в виде графов с определенными вершинами и гранями. Сутью метода является эластичные изменения сопоставления ребер, одно из которых является эталонным, а другие деформируются с целью оптимальной подгонки к оригиналу. В различных алгоритмах графы могут иметь структуру прямоугольника, где ключевые точки привязаны к двухмерным координатам, или трехмерную структуру неравномерных многоугольников вершины которых связаны с основными антропометрическими показателями лица.
Недостатками такого метода является довольно существенная сложность процесса распознания и, как следствие, высокие требования, которые предъявляются к вычислительным мощностям обслуживающей техники. Процедура запоминания новых эталонов имеет низкую технологичность. Кроме того, существует прямая зависимость скорость работы системы с объемом база данных. Рекомендуется использовать для систем распознавания, объем которых не превышает 500 эталонов.
Яндекс
Поиск по фото от Яндекс – это еще один популярный сервис, который ищет графический контент по всем сайтам.
На первый взгляд он практически нечем не отличается от Google, разве что интерфейсом и оформлением.
Однако, разработчики Яндекса утверждают, что в их системе используется видоизмененный алгоритм с использованием машинного зрения.
Найдите текстовую строку и возле неё нажмите на вкладку «Картинки», чтобы перейти в соответствующий раздел:
Стартовая страница
Далее следуйте инструкции:
В открывшейся вкладке кликните на значок фотоаппарата;
Яндекс. Картинки
Теперь в открывшейся вкладке нажмите на клавишу загрузки фото из памяти ПК или укажите прямую ссылку на картинку в сети. Кликните на «Найти»;
Выбор фото
Результатом будет набор максимально похожих изображений, с помощью которых вы сможете найти человека.
Также, можно выбрать разные размеры картинки и продолжить анализ с фото лучшего качества.
Не забудьте посмотреть на список упоминаний на других сайтах, чтобы повысить шансы обнаружить человека.
Поисковые системы Google и Yandex для распознавания лиц
Порядок действий:
- В строке поиска находится значок фотоаппарата, после нажатия на который производятся действия с картинкой.
- Изображение можно перетащить (в т. ч. и сразу из интернета), загрузить файлом с компьютера, а также указать его URL.
- Запускается поиск и на полученных результатах мы видим найденное изображение (можно посмотреть в разных размерах) и похожие на него, а также сайты, на которых размещена искомая картинка.
Что ответил Google
Итоги поиска Yandex
Выполняя поиск по изображению, Yandex и Google не используют технологию распознавания лиц, а просто ищут картинки, схожие с поисковым запросом. Но все же алгоритм действия достаточно точен для того, чтобы получить максимальное совпадение. Хотя и на количестве результатов это тоже сказывается – их может быть слишком много, и тогда бывает сложно найти среди них именно то, что нужно. Конечно, если личность на искомом фото достаточно известна, то в результатах поиска долго блуждать не придется.
МЕТОДЫ РАСПОЗНАВАНИЯ ЛИЦ
На данный момент широко используется несколько эффективных алгоритмов распознавания лица в системах видеонаблюдения.
Гибкое сравнение на графах.
Метод относится к 2D моделированию. Его суть заключается в сопоставлении графов, которые описывают изображения лиц. Само лицо представлено в виде сетки с индивидуальным расположением вершин и ребер.
Процедура распознавания происходит следующим образом — эталонный граф, характеризующий основной параметр распознания, остается неизменным, в то время как другие деформируются под влиянием структура лица с привязкой к основным антропометрическим точкам: расстояние между глазами, ушами, линия носа, ширина губ и т.п.
Чем больше этих точек используется, тем точнее будет система распознавания, но и существенно увеличится время на обработку одного объекта.
Недостатки метода:
- сложность алгоритма распознания приводит к необходимости использования значительных вычислительных мощностей;
- низкая технологичность и сложная процедура введения новых эталонов в базу;
- быстродействие аналитической системы обратно пропорционально размерам баз данных:
Нейронные сети.
Довольно распространенный метод, который использует около десятка различных алгоритмов. Наиболее совершенным на данный момент является Convolutional Neural Network, который позволяет проводить быстрое и эффективное распознание и использует многослойное сканирование, позволяющие быстро классифицировать полученное изображение.
Недостатки:
- существенные сложности с добавлением нового эталона в базу данных, фактически внесение любого изменения требует полного переобучения сети;
- довольно сложная процедура внесения изменений, в зависимости от количества выбранных параметров по которым производится распознание может занять от нескольких часов до нескольких дней;
- неупорядоченный выбор основных параметров алгоритма распознавания. архитектура сети и количество сканируемых слоев фактически не формализированы и для оптимизации этой функции распознания требуется привлечение специалиста довольно высокого уровня.
Скрытые Марковские модели.
Метод основан на статистическом сравнении объекта с базой эталонов.
Недостатки:
- дополнительные подбор модели для базы данных (низкая скорость срабатывания);
- низкая различающая способность и не оптимальный алгоритм обучения;
- система может оптимизировать только время обработки данных и отклика на собственную модель, но не может минимизировать время перебора других моделей.
Betaface программа для профессионалов
Сервис выдает следующие данные:
- уровень привлекательности;
- возраст;
- наличие лысины/ челки;
- размер носа/ губ и другие нюансы.
Интересная информация от Betaface
Также Betaface предлагает поискать совпадения с людьми из базы знаменитостей или Википедии. На каждом из найденных изображений будет указан процент совпадений. Фото с самым высоким показателем должно показать, кто изображен на оригинале.
Процент схожести со знаменитостями
Этот сервис распознавания лиц чрезвычайно удобен и полезен не только сотрудникам медиасферы, но и тем, кто устанавливает достоверность фактов.
Цель
Мне была нужна простая веб-страница, которая позволила бы делать фотографию с помощью камеры моего iMac и выполнять распознавание на фотографии. В частности, я хотел бы определять пользователя, сидящего перед компьютером.
Сервис Amazon Rekognition позволяет создавать одну или несколько коллекций. Коллекция — это набор лицевых векторов для фотографий, которые вы хотите сохранить.
После создания коллекции вы можете сфотографировать предмет, сравнить его свойства c сохранёнными и вернуть ближайшее соответствие. Звучит просто, не так ли? По правде говоря, разработка фронтенда веб-страницы для получения данных с камеры заняла больше времени, чем написание бэкенда для распознавания.
Хакатон JAVA HACK
14–15 сентября, Москва, беcплатно
tproger.ru
События и курсы на tproger.ru
В общем, веб-страница позволяет создавать или удалять коллекцию лицевых данных на Amazon, загружать новые данные, полученные из фотографии, в свою коллекцию и сравнивать новые фотографии с существующей коллекцией, чтобы найти совпадение. А в качестве дополнительной фичи я также добавил в эту демку службу Amazon Polly, чтобы после распознавания фотографии страница приветствовала пользователя.
Фронтенд
Я не знал, какую библиотеку использовать для захвата изображения с помощью камеры iMac. В итоге я нашел на GitHub библиотеку JPEG Camera, которая позволяет использовать HTML5 Canvas или Flash для съёмки фото. Я решил использовать её и настроил под себя написанный на JavaScript образец.
Бэкенд
Для бэкенда я использовал Ruby-библиотеку Sinatra, которая может выполнять всю тяжёлую работу с помощью AWS. Я часто использовал Sinatra (на самом деле Padrino) в своих проектах и настоятельно рекомендую эту платформу.
Я сумел сделать то же самое с их приветствием Polly . Вместо того, чтобы сохранять аудио в MP3-файл и проигрывать его, у меня получилось закодировать данные MP3 непосредственно в тег на странице и воспроизвести их оттуда.
Код
Я разместил весь код этого проекта на моей странице на GitHub. Не стесняйтесь использовать и изменять его. Ниже я постараюсь объяснить код более подробно.
ОБЗОР ПОПУЛЯРНЫХ ПРОГРАММ РАСПОЗНАВАНИЯ ЛИЦ
«Face Интеллект» от компании House Control.
Компания занимается монтажом, поставкой и обслуживанием систем безопасности высокого уровня сложности для промышленных объектов. Программа работает на основе алгоритма распознавания лиц от компании Cognitec. Данный алгоритм применяется уже несколько лет и имеет открытый код.
Часто используется только небольшими производителями инсталляторами систем безопасности и видеонаблюдения. Совместим с большинством аналоговых и цифровых видеокамер с соответствующим уровнем разрешения.
Имеет довольно высокий коэффициент распознания, но при установке следует особое внимание уделить правильности расположения видеокамер. Для увеличения эффективности функционирования программы, камеры рекомендуется устанавливать позади турникета, чтобы человек притормаживал на несколько секунд в поле зрения камеры.. Face director от компании Синезис.
Face director от компании Синезис.
Компания занимается разработкой интеллектуальных систем видеонаблюдения, а также программ бизнес-аналитики на их основе. Программа Face director может не только обнаруживать и идентифицировать лицо, которое попало в поле зрения камер, но и организовать сопровождение объектов по всему пути следования.
Основные преимущества:
- программа поддерживает широкий диапазон углов поворота (90 в горизонтальной и 30 в вертикальной плоскости);
- срабатывание тревожного сигнала при попытке прикрыть лицо;
- вероятность идентификации при обнаружении совпадение 99%.
VOCORD FaseControl от компании VOCORD.
Компания основана в 1999 году, занимается разработкой и установкой систем безопасности с нестандартными характеристиками. Программа VOCORD FaseControl является собственной разработкой компании на основе оригинального алгоритма.
Основные функциональные возможности:
- выделение лиц людей в плотном пешеходном потоке;
- распознание в режиме реального времени;
- может формировать несколько типов предупреждений оператору в зависимости от того какой статус присвоен идентифицированному объекту;
- аналитический поиск в архиве по базе сохраненных лиц;
- распознает пол и возраст объекта;
- имеет широкие возможности в составлении аналитических отчетов.
* * *
2014-2019 г.г. Все права защищены.Материалы сайта имеют исключительно ознакомительный характер и не могут использоваться в качестве руководящих и нормативных документов.
Принцип действия
Независимо от используемого метода аутентификации все видеосистемы распознавания лиц осуществляют сравнение изображений, которые получены от камер видеонаблюдения, с эталонами, которые имеются в базе данных. Хорошими показателями для системы считается, если программа смогла идентифицировать объект с расстояния не более 10 метров от видеокамеры за 15-30 секунд с момента визуального контакта. Программа должна учитывать возможность изменения физических параметров: борода, очки, смена прически. Анализ должен основываться на неизменяемых антропометрических параметрах: строение черепа, расстояние между глазами, форма ушей.
Как правило, видеонаблюдение с распознанием лиц является наиболее ответственной частью СКУД. После подтверждения идентификации посетителя поступает команда для разблокировки турникета, в случае несоответствия посетителя эталонам из базы данных могут активироваться протоколы безопасности: включается сирена с проблесковыми маяками или красная тревожная лампа на панели диспетчера. Также на электронной карте, выведенной на монитор, маркером будет указано местоположение нарушителя.
Разновидности
В зависимости от конкретных задач, которые стоят перед системой безопасности объекта, она комплектуется оборудованием с различными техническими и эксплуатационными параметрами:
- Обнаружение. Основная задача — это фиксация несанкционированного проникновения на подконтрольную территорию. Система распознания может отличить движущегося человека от животного — собаки, кошки, но идентифицировать его не сможет. Используется в основном для предварительного предупреждения службы охраны. Наименее дорогостоящая и требовательная к техническим ресурсам. Для обслуживания достаточно 1 Мп цифровой видеокамеры с фокусным расстоянием от 1 мм. Обычно используется в небольших учреждениях, сама программа вшита в видеорегистратор с распознанием лиц.
- Распознавание. Такую систему устанавливают преимущественно на проходных. Она имеет врезанные функциональные возможности и способна только определить «свой-чужой» по ограниченному ряду параметров. Необходима видеокамера с фокусным расстоянием от 6 мм и разрешением не менее 2 Мп.
- Полная идентификация. Осуществляет распознание по большему количеству параметров, может быть выполнено внесение информации об объекте по фотографиям. Используется в системах видеонаблюдения «безопасный город». Имеет высокие требования к техническому обеспечению: видеокамеры с разрешением более 2 Мп и изменяемым фокусным расстоянием до 12 мм.