В связи с широким кругом задач, которые решают технологии распознавания лица, интерес к этим системам очень велик. На основе этой технологии могут поддерживаться различные сценарии: проверка подлинности пользователей для доступа, подсчет людей в помещении для управления очередями и не только. Больше о сферах применения распознавания лиц вы можете прочитать здесь.
Мы подготовили для вас сравнение возможностей Face ID — сервиса распознавания и сравнения лиц по фото от Evergreen — и трех наиболее известных программ для распознавания: Microsoft Azure Face API, Google Cloud Vision API и Amazon Rekognition Image (переходите по ссылкам непосредственно в интересующие вас разделы).
При проведении анализа мы поставили себе цель протестировать следующие функциональные блоки:
1. Обнаружение лица на фото (Face Detection).
2. Сравнение лиц (Face Comparison).
3. Определение атрибутов лица (пол, возраст, этническая принадлежность, эмоции).
4. Поиск похожих лиц — может ли система идентифицировать лицо определенного человека среди группы фото (найти лицо, больше всего похожее на целевое лицо).
Ориентировались мы на следующие критерии (относятся к тестированию каждого функционального блока из перечисленных выше):
1. Точность (процент совпадения).
2. Скорость отработки сервиса — время от начала отправки запроса до получения результата.
3. Стоимость распознавания по каждой из функций.
4. Дополнительный функционал и возможности распознавания (в том, что касается распознавания лиц).
Для объективной оценки мы использовали одни и те же фото и по очереди анализировали их в каждом из сервисов. Давайте для удобства сравним возможности Face ID и всех трех систем:
Azure Face API — облачный сервис для распознавания лиц от Microsoft, который входит в состав Azure Cognitive Services. Azure Face API использует передовые алгоритмы распознавания и предназначен для выявления, проверки, идентификации и анализа лиц на изображениях и видео.
Сервис Azure Face обнаруживает лица на фото и возвращает координаты прямоугольника, в котором они расположены. Функция распознавания при необходимости извлекает ряд атрибутов, связанных с лицом: положение головы, пол, возраст, эмоции, волосы на лице, очки — с процентом достоверности распознавания для данного лица. Как видим ниже, система определила, что на фото — мужчина 36 лет, который улыбается, а распознанная эмоция — счастье.
Face ID может определить наличие и расположение лиц на изображении и возвращает точные ограничивающие прямоугольники вокруг них. Система также может определить координаты ключевых точек лица (подбородок, глаза, брови, уголки рта, контур носа) и атрибуты: пол, возраст, интенсивность улыбки, положение головы, размытость изображения, глаза (открыты/закрыты, есть ли очки). Полный отчет будет в формате JSON.
Для Face ID средняя скорость определения наличия на фото человеческого лица на большей выборке фотографий составляет 1,4 с.
В Azure Face эта функция называется «проверка лиц». Фактически, система оценивает, принадлежат ли два лица на фото одному и тому же человеку, и возвращает вокруг обнаруженных лиц ограничивающий прямоугольник. Как видим на примере ниже, Azure Face подтверждает, что на фото находятся разные люди. Скорость ответа — приблизительно 394 мс.
Face ID также сравнивает два фото и определяет, изображен ли на них один и тот же человек. Вы можете загрузить картинку с компьютера или использовать URL для проверки фото. Дополнительно система оценивает схожесть лиц (59,2% в данном случае — разные люди). Время обработки — 454 мс.
Azure Face API может распознавать выражения лица: нейтральное, радость, гнев, презрение, отвращение, грусть, страх и удивление. Эта функция называется «распознавание эмоций». Azure извлекает атрибуты лица на этапе распознавания (предыдущая функция). В данном режиме программа создает вокруг обнаруженного лица прямоугольник и выдает соответствующие оценки достоверности для каждой эмоции.
На данный момент распознавание эмоций не входит в пакет сервиса Face ID и находится на стадии разработки. Мы можем создать для вас индивидуальное решение, которое сможет распознавать следующие эмоции: радость, нейтральное выражение, удивление, грусть, отвращение, злость и страх. Следите за нашими обновлениями или закажите индивидуальную разработку.
У нас не было возможности протестировать демо, но сервис Azure Face может сравнивать целевое лицо и набор лиц, доступных для поиска, чтобы найти очень похожие лица. Программа поддерживает два режима работы: matchPerson возвращает похожие лица после фильтрации того же пользователя, а режим matchFace игнорирует такой фильтр и возвращает список обнаруженных лиц, которые могут или не могут принадлежать искомому человеку.
Источник: https://docs.microsoft.com/en-us/azure/cognitive-services/face/overview
На сегодняшний день мы не включали возможность поиска похожих лиц в состав пакета Face ID. Но мы можем внедрить данную функцию в ваш проект. Получив целевое лицо и коллекцию фото для сравнения, API поиска вернет коллекцию очень похожих лиц и соответствующие коэффициенты сходства. Это будет выглядеть примерно так:
1. Сравнение с группой кандидатов:
2. Результаты поиска и ответ системы в формате JSON:
В этом примере мы видим, что система распознала того же человека на фото 1 (его мы использовали в качестве запроса на поиск) и фото 2 с наибольшей вероятностью. Для других кандидатов вероятность совпадения низкая.
Cloud Vision API — это комплексный продукт по распознаванию от Google, в котором используются предварительно обученные модели. Он определяет объекты и лица на фото, может распознавать текст, автоматически присваивать метаданные и не только. В целях этого обзора мы сосредоточимся на функциях, связанных с распознаванием и сравнением именно лиц.
Функция распознавания лиц в Google Cloud Vision API может обнаружить одно или несколько лиц на фото. Дополнительно программа определяет общие свойства картинки (недоэкспонирование, размытость). А вот распознавание в контексте отдельного человека не поддерживается.
Cloud Vision просто определяет наличие лиц на изображении — точно так же, как распознает объекты. Система возвращает следующие данные: текстовое описание, уровень достоверности и нормализованные вершины [0, 1] прямоугольника, в котором расположен объект (в JSON).
Face ID возвращает точные прямоугольники и определяет координаты ключевых точек лица (подбородок, глаза, брови, уголки рта, контуры носа). Также алгоритм возвращает дополнительные атрибуты: пол, возраст, наличие улыбки, положение головы, размытость, наличие очков, закрытые/открытые глаза — в формате JSON.
Cloud Vision API не поддерживает сравнение и верификацию лиц. Система только подтверждает, что на фото есть лицо одного или нескольких людей.
С помощью FaceID вы можете сравнить два изображения и сверить, принадлежат ли распознанные лица одному человеку. При схожести <80% система определит, что на фото изображены разные люди.
Два фото одного человека: сходство 93,1% (лица совпадают), время ответа 1,163 с.
Фото двух разных людей:
Несмотря на то, что эти актеры внешне очень похожи, система оценила сходство на уровне 57,6% (лица не совпадают), а время обработки составило 0,459 с.
Cloud Vision API возвращает прямоугольники вокруг обнаруженных лиц и определяет координаты ключевых точек (глаза, уши, нос, рот и т.д.) с оценкой достоверности. Система также возвращает вероятностные оценки для эмоций (радость, печаль, гнев, удивление) и общие свойства картинки (недоэкспонированная, размытая, наличие головных уборов).
Пока что Face ID не поддерживает распознавание эмоций, как мы уже упоминали выше. Но мы можем создать и внедрить индивидуальное решение для вашего проекта в любой момент.
Наш сервис хорошо работает с распознаванием жестов. Его можно установить как дополнительные правила проверки в ваших системах аутентификации. Мы можем настроить распознавание 16 различных жестов. Приведем ниже пример похожего сервиса:
Amazon Rekognition использует передовые технологии распознавания для определения лиц на фото и видео. Это ответ Amazon на Google Cloud Vision API и комплексный продукт для сегментации и классификации визуального контента. В целях данного обзора мы рассмотрим только компоненты для распознавания и анализа лиц.
Мы тестировали эту функцию как часть демо Amazon Rekognition для распознавания объектов и образов. Программа автоматически создает метки для описания объектов, передачи общего смысла картинки и возвращает оценки достоверности. Для распознавания лиц на фото вам нужно настроить свой алгоритм (это описано в инструкции для разработчиков) и запустить операцию DetectFaces.
Как видим, система на 99,9% уверена, что лицо на фото принадлежит человеку, и что с вероятностью 96,3% это артист. Полный отчет можно получить в формате JSON.
Face ID распознает лицо на тестовом фото как принадлежащее 37-летнему мужчине, определяет расположение лица прямоугольником и также возвращает JSON-ответ, содержащий координаты ключевых точек (подбородок, глаза, брови, уголки губ, контуры носа) и другие атрибуты.
Amazon Recognition Image сравнивает лицо на исходном изображении с каждым лицом, которое распознает на целевом фото. Если исходное изображение содержит несколько лиц, то алгоритм определяет лицо наибольшего размера и поочередно сравнивает его с каждым лицом на целевом изображении. В результате вы получаете массив совпадений лиц, информацию об исходном лице, ориентацию исходного и целевого изображения. Для каждого совпадения по лицу система возвращает оценку схожести (насколько лицо похоже на лицо-источник) и метаданные (ограничивающий прямоугольник и ключевые точки).
Face ID сравнивает два фото, чтобы установить, принадлежат ли они одному человеку. Система решит, что это так, если процент сходства >80%. На нашем примере видим, что с вероятностью 93,1% мы распознали того же человека на обоих фото.
Кроме этого Face ID автоматически определяет наличие лица на документах, например, фото паспорта. Эта функция может применяться в различных сервисах аутентификации (антифрод). В этом случае среднее время обработки составляет примерно 700 мс.
Для Amazon Rekognition мы тестировали демо анализа лица. Алгоритм возвращает следующую информацию для каждого распознанного лица:
Face ID также возвращает перечисленные выше атрибуты (кроме эмоций) в формате JSON. Как мы упоминали раньше, ключевые точки лица, пол, возраст и другие характеристики определяются при распознавании лица.
Amazon Rekognition позволяет хранить информацию о распознанных лицах в контейнерах на сервере — коллекциях. Вы можете использовать информацию о лицах, чтобы найти их на изображениях и видео, а также использовать индексирование для сохранения информации об обнаруженных чертах лица в коллекции. После создания коллекции и сохранения информации о всех лицах, вы можете выполнять поиск конкретного лица в выборке. Эти коллекции могут быть использованы в различных сценариях.
Текущая версия Face ID позволяет обнаруживать, сравнивать и проверять информацию о лицах на фото и в цифровых документах. Наша команда может разработать и внедрить поиск похожих лиц для вашего проекта.
Если вы хотите узнать больше о технологии, обсудить дополнительные услуги по распознаванию, попробовать демо или заказать готовое решение — свяжитесь с нами как можно скорее. Мы также готовы адаптировать сервис распознавания лиц под ваши конкретные требования и процессы.