З огляду на широке коло завдань, які вирішують технології розпізнавання обличчя, зацікавленість такими системами дуже велика. На основі цієї технології можуть підтримуватися різні сценарії: перевірка на справжність користувачів для доступу, підрахунок людей в приміщенні для управління чергами тощо. Більше про сфери застосування розпізнавання облич ви можете прочитати тут.

Ми підготували для вас порівняння можливостей 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 і всіх трьох систем: face-recognition-services

Порівняння можливостей Face ID і Azure Face API

Azure Face API — хмарний сервіс для розпізнавання облич від Microsoft, що входить до складу Azure Cognitive Services. Azure Face API використовує передові алгоритми розпізнавання і призначений для виявлення, перевірки, ідентифікації та аналізу облич на зображеннях і відео.

Виявлення обличчя

Сервіс Azure Face виявляє обличчя на фото і повертає координати прямокутника, в якому вони розташовані. Функція розпізнавання при необхідності визначає ряд атрибутів, пов'язаних з обличчям: положення голови, стать, вік, емоції, волосся на обличчі, окуляри — з відсотком ймовірності розпізнавання для даної особи. Як бачимо нижче, система визначила, що на фото — 36-річний чоловік, який посміхається, а розпізнана емоція — щастя.azure-face-detection

Face ID може визначити наявність і розташування облич на зображенні і повертає точні обмежувальні прямокутники довкола них. Система також може визначити координати ключових точок лиця (підборіддя, очі, брови, куточки рота, контур носа) і атрибути: стать, вік, інтенсивність усмішки, положення голови, розмитість зображення, очі (відкриті/закриті, чи є окуляри). Повний звіт буде в форматі JSON. faceid-face-detection

Для Face ID середня швидкість визначення наявності на фото людського обличчя для більшої вибірки фото складає 1,4 с.detection-faceid

Порівняння облич

В Azure Face ця функція називається «перевірка облич». Фактично, система оцінює, чи належать дві обличчя на фото тій самій людині, і повертає навколо виявлених облич обмежувальний прямокутник. Як бачимо на прикладі нижче, Azure Face підтверджує, що на фото присутні різні люди. Швидкість відповіді — приблизно 394 мс.

azure-face-verification

FaceID також порівнює два фото і визначає, чи на них зображена одна і та ж людина. Ви можете завантажити картинку з комп’ютера або скористатись URL для перевірки фото. Додатково система оцінює подібність облич (59,2% в цьому випадку — різні люди). Час обробки — 454 мс.

faceid-face-comparison

Вирази та атрибути обличчя

Azure Face API може розпізнавати вираз обличчя: нейтральний, радість, гнів, презирство, відраза, сум, страх і подив. Ця функція називається «розпізнавання емоцій». Azure визначає атрибути обличчя на етапі розпізнавання (попередня функція). В даному режимі програма створює навколо виявленого обличчя прямокутник і видає відповідні оцінки достовірності для кожної емоції.azure-emotion-recognition

На даний момент розпізнавання емоцій не входить до пакету сервісу Face ID і перебуває на етапі розробки. Ми можемо створити для вас індивідуальне рішення, яке зможе розпізнавати такі емоції: радість, нейтральний вираз, здивування, смуток, відраза, злість і страх. Слідкуйте за нашими оновленнями або замовте індивідуальну розробку.

Пошук подібних облич

Ми не мали нагоди протестувати демо, але сервіс Azure Face може порівнювати цільове обличчя і набір облич, доступних для пошуку, щоб знайти дуже схожі лиця. Програма підтримує два режими роботи: matchPerson повертає подібні обличчя після фільтрації того ж користувача, а режим matchFace ігнорує такий фільтр і повертає список виявлених облич, які можуть або не можуть належати людині, яку ми шукаємо.

azure-similarity-search

Джерело: https://docs.microsoft.com/en-us/azure/cognitive-services/face/overview

Поки що ми не включали можливість пошуку подібних облич до складу пакету Face ID. Але ми можемо реалізувати цю функцію у вашому проєкті. Отримавши цілове обличчя і колекцію фото для порівняння, API пошуку поверне підбірку дуже схожих облич і відповідні коефіцієнти подібності. Це виглядатиме приблизно так:

1. Порівняння з групою кандидатів:faceid-similarity-search

2. Результати пошуку і відповідь системи в форматі JSON:faceid-search-results

На цьому прикладі бачимо, що система розпізнала ту саму людину на фото 1 (його ми використовували як запит на пошук) і фото 2 з найбільшою вірогідністю. Для інших кандидатів ймовірність співпадіння низька

Порівняння можливостей Face ID і Google Cloud Vision API

Cloud Vision APIце комплексний продукт по розпізнаванню від Google, в якому використовуються попередньо навчені моделі. Він визначає об'єкти і обличчя на фото, може розпізнавати текст, автоматично присвоювати метадані і не тільки. З метою цього огляду ми зосередимося на функціях, пов'язаних з розпізнаванням і порівнянням власне облич.

Виявлення обличчя

Функція розпізнавання облич в Google Cloud Vision API може виявити одне або декілька облич на фото. Додатково програма визначає загальні властивості картинки (недоекспонованість, розмитість). А от розпізнавання в контексті окремої людини не підтримується.cloud-api-face-detection

Cloud Vision просто визначає наявність облич на зображенні — так само, як розпізнає об’єкти. Система повертає наступні дані: текстовий опис, рівень достовірності і нормалі вершин [0, 1] прямокутника, в якому розташований об’єкт (в JSON).

cloud-api-object-detection

Face ID повертає точні прямокутники і визначає координати ключових точок обличчя (підборіддя, очі, брови, куточки рота, контури носа). Також алгоритм повертає додаткові атрибути: стать, вік, наявність посмішки, положення голови, розмитість, наявність окулярів, закриті/відкриті очі — в форматі JSON.faceid-face-detection

Порівняння облич

Cloud Vision API не підтримує порівняння і верифікацію облич. Система тільки підтверджує, що на фото є обличчя однієї або декількох осіб.

Із допомогою FaceID ви можете порівняти два зображення і звірити, чи належать розпізнані обличчя одній людині. При схожості <80% система визначить, що на фото зображені різні люди. 

Два фото однієї людини: схожість 93,1% (обличчя співпадають), час відповіді 1,163 с. 

faceid-same-person

Фото двох різних людей:

faceid-different-face

Незважаючи на те, що ці актори зовні між собою дуже схожі, система оцінила подібність на рівні 57,6% (обличчя не співпадають), а час обробки склав 0,459 с.

Вирази та атрибути обличчя

Cloud Vision API повертає прямокутники навколо виявлених облич і визначає координати ключових точок (очі, вуха, ніс, рот тощо) з оцінкою достовірності. Система також повертає імовірнісні оцінки для емоцій (радість, сум, гнів, подив) і загальні властивості картинки (недоекспонована, розмита, наявність головних уборів).

cloud-api-emotions

Наразі Face ID не підтримує розпізнавання емоцій, як ми вже згадували вище. Але ми можемо розробити і впровадити індивідуальне рішення для вашого проєкту в будь-який момент.

Наш сервіс добре працює з розпізнаванням жестів. Його можна встановити як додаткові правила перевірки у ваших системах автентифікації. Ми можемо налаштувати розпізнавання 16 різних жестів. Нижче наводимо приклад подібного сервісу:faceid-gestures

Порівняння можливостей Face ID і Amazon Rekognition Image

Amazon Rekognition використовує передові технології розпізнавання для визначення облич на фото і відео. Це відповідь Amazon на Google Cloud Vision API і комплексний продукт для сегментації і класифікації візуального контенту. В цілях даного огляду ми розглянемо тільки компоненти для розпізнавання і аналізу облич.

Виявлення обличчя

Ми тестували цю функцію як частину демо Amazon Rekognition для розпізнавання об’єктів і образів. Програма автоматично створює мітки для опису об'єктів, передачі загального змісту картинки і повертає оцінки достовірності. Для розпізнавання облич на фото вам потрібно налаштувати свій алгоритм (це описано в інструкції для розробників) і запустити операцію DetectFaces.amazon-image-object-detection

Як бачимо, система на 99,9% впевнена, що обличчя на фото належить людині, і що з ймовірністю 96,3% це артист. Повний звіт можна отримати в форматі JSON.

Face ID розпізнає обличчя на тестовому фото як таке, що належить 37-річному чоловікові, визначає положення обличчя прямокутником і також повертає JSON-відповідь, що містить координати ключових точок (підборіддя, очі, брови, куточки губ, контури носа) та інші атрибути.faceid-face-detected

Порівняння облич

Amazon Recognition Image порівнює обличчя на оригінальному зображенні з кожним лицем, яке розпізнає на цільовому фото. Якщо вихідне зображення містить декілька облич, то алгоритм визначає обличчя найбільшого розміру і по черзі порівнює його з кожним обличчям на цільовому зображенні. В результаті ви отримуєте масив збігів облич, інформацію про вихідне обличчя, орієнтацію вихідного і цільового зображення. Для кожного співпадіння за обличчям система повертає оцінку схожості (наскільки лице схоже на обличчя-джерело) і метадані (обмежувальний прямокутник і ключові точки).amazon-image-comparison

Face ID порівнює два фото, щоб встановити, чи належать вони одній людині. Система вирішить, що це так, якщо відсоток подібності >80%. На нашому прикладі бачимо, що з імовірністю 93,1% ми розпізнали ту саму людину на обох фото.

faceid-compare-same-person

Окрім цього Face ID автоматично визначає наявність обличчя на документах, наприклад, фото паспорта. Ця функція може застосовуватись в різних сервісах автентифікації (антифрод). У цьому випадку середній час обробки складає приблизно 700 мс.faceid-compare-log

Вирази та атрибути обличчя

Для Amazon Rekognition ми тестували демо аналізу обличчя. Алгоритм повертає наступну інформацію для кожного розпізнаного лиця:

  • координати прямокутника, що містить обличчя;
  • оцінка ймовірності того, що прямокутник містить обличчя;
  • ключові точки лиця (масив позначок, наприклад, ліве око, праве око, брови, рот тощо);
  • атрибути обличчя (наприклад, наявність бороди, окулярів), стать (чоловік це чи жінка);
  • якість (яскравість, виразність обличчя на фото);
  • поза (як обличчя повернуте відносно цілої картинки);
  • емоції (відраза, радість, здивування, злість, сум’яття, спокій, сум).

amazon-image-face-analysis

 

Face ID також повертає перераховані вище атрибути (крім емоцій) в форматі JSON. Як ми згадували раніше, ключові точки обличчя, стать, вік та інші характеристики визначаються при розпізнаванні лиця.

Пошук подібних облич

Amazon Rekognition дозволяє зберігати інформацію про розпізнані обличчя в контейнерах на сервері — колекціях. Ви можете використовувати інформацію про лиця, щоб знайти їх на зображеннях і відео, а також застосувати індексування для збереження інформації про виявлені риси обличчя в колекції. Після створення колекції і збереження інформації про всіх осіб, ви можете виконувати пошук конкретної особи у вибірці. Ці колекції можуть використовуватись у різних сценаріях.

Поточна версія Face ID дозволяє виявляти, порівнювати і перевіряти інформацію про обличчя на фото і в цифрових документах. Наша команда може розробити і впровадити пошук схожих осіб для вашого проєкту. 

Якщо ви хочете дізнатися більше про технології, обговорити додаткові послуги з розпізнавання, спробувати демо або замовити готове рішення — зв'яжіться з нами якомога швидше. Ми також готові адаптувати сервіс розпізнавання облич до ваших конкретних вимог і процесів.

29.07.2020
Зображення, використані в статті, були взяті з відкритих джерел і використовуються як ілюстрації.