З огляду на широке коло завдань, які вирішують технології розпізнавання обличчя, зацікавленість такими системами дуже велика. На основі цієї технології можуть підтримуватися різні сценарії: перевірка на справжність користувачів для доступу, підрахунок людей в приміщенні для керування чергами тощо. Більше про сфери застосування розпізнавання облич ви можете прочитати тут.
Ми підготували для вас порівняння можливостей 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 мс.
FaceID також порівнює два фото і визначає, чи на них зображена одна і та ж людина. Ви можете завантажити картинку з комп’ютера або скористатись 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 дозволяє виявляти, порівнювати і перевіряти інформацію про обличчя на фото і в цифрових документах. Наша команда може розробити і впровадити пошук схожих осіб для вашого проєкту.
Якщо ви хочете дізнатися більше про технології, обговорити додаткові послуги з розпізнавання, спробувати демо або замовити готове рішення — зв'яжіться з нами якомога швидше. Ми також готові адаптувати сервіс розпізнавання облич до ваших конкретних вимог і процесів.