Популярні методи виявлення і розпізнавання облич

Популярні методи виявлення і розпізнавання облич
Сучасні технології відеоаналізу вирішують складні завдання, надаючи зручний інструмент для виявлення в режимі реального часу і пошуку в архіві необхідних об’єктів за різними критеріями: від розміру і області присутності в кадрі. Чим вищий ступінь оригінальності пошукового критерію, тим точніші результати видає програма.

Найбільш точні результати надає пошук за зразком (фотографії або зображення з архіву) і пошук по особам. Про технологію пошуку за прикметами наша компанія розповідала в статті «Macroscop: швидкий пошук і перехоплення об’єктів за прикметами», тому зараз ми поговоримо про алгоритми, що дозволяють детектувати і розпізнавати обличчя людей в кадрі.
 
Виявлення облич — каскади Хаара

Популярні методи виявлення і розпізнавання облич

Завдання виявлення осіб вивчається фахівцями в області комп’ютерного зору давно, і досягнуті в цьому напрямку результати вже дуже високі. У даній статті я розгляну найпопулярніший на сьогодні підхід — детектування осіб з використанням каскадів Хаара.

Каскади Хаара — набори масок, прямокутних віконець, кожне з яких представляє собою зображення з деяким чорно-білим візерунком (комбінацією чорних і білих частин). Таких масок може бути необмежена кількість, складність візерунків може також відрізнятися
 
 
Алгоритм детектування

Маски накладаються на різні частини кадру, і за допомогою цього накладення програма визначає, чи є особа. Накладення маски на певну частину кадру дає числове значення — результат згортки маски з кадром: програма складає яскравість всіх пікселів зображення, що потрапили при накладенні в білу частину маски, а також яскравість всіх пікселів, що потрапили в чорну частину маски, потім обчислює різницю цих значень. Результат згортки порівнюється з пороговою величиною.

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

Навчання детектора облич

Популярні методи виявлення і розпізнавання облич

Зображення обличчя людини відрізняються кількома характерними особливостями:

1. З фронтальної точки зору особа має темні і світлі ділянки і зони (темні — очі, губи; світлі — лоб, щоки, підборіддя).
2. Особи всіх людей однотипні (вони різні в деталях, але в загальному зображення облич людей однакові).

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

У процесі підбору масок класифікатор можна навчити для підвищення точності детектування. Для навчання та поліпшення роботи класифікатора застосовується алгоритм AdaBoost. Створюється навчальна вибірка, що складається з великої кількості фотографій із зображеннями облич, і по черзі застосовується кожна з масок класифікатора.
 
Масок може бути також величезна кількість з різними варіаціями біло-чорних візерунків. Кожна маска при пакунку дає певне значення. Якщо це значення вище граничної величини, то в кадрі присутній особа. Поряд з позитивною навчальної вибіркою, що містить зображення осіб, створюється негативна вибірка, на фотографіях якої осіб немає. На цій вибірці теж проходить навчання класифікатора, але в цьому випадку згортка повинна видавати значення менше порогової величини.
 
Якщо на будь-якої фотографії вибірки одна маска помилилася, то вага (важливість) цієї фотографії для інших масок збільшується.

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

Найчастіше вибірка містить кадри із зображеннями облич анфас, тому і фіксуються на відео найкраще особи при такому розташуванні. Однак класифікатор можна навчити детектувати особи в різних положеннях, створюючи відповідні вибірки.

Розпізнавання облич — особливі точки і 3D-моделі

Існують різні алгоритми, що застосовуються для розпізнавання облич людей. Під розпізнаванням розуміється порівняння продетектированного в кадрі особи з еталонним зображенням в базі.
 
Робота з 2D-зображеннями

Найбільш часто використовуваний алгоритм працює з особливими точками особи і відстанями між ними. Ці точки і відстані унікальні, тому порівнюючи їх з відповідними точками і відстанями еталонів в базі даних, можна зробити висновок, чи відповідає людина в кадрі людині на фотографії. Обчислюється міра схожості особи в кадрі і еталонів в базі, і дані найбільш схожого зображення видаються оператору.
 
Даний метод дозволяє ідентифікувати зображення облич людей анфас, з високою роздільною здатністю, без засвічення. Чутливість алгоритму до поворотів і нахилів голови, міміці, висвітлення висока, тому він не підходить для розпізнавання людей в неорганізованих потоках (в натовпі, на вулиці і т.п.). Застосування даний метод знаходить на об’єктах, що вимагають обліку і контролю доступу людей (прохідні, КПП підприємств, заводів, державних установ) і часто працює в зв’язці з СКУД.
 
Побудова 3D-моделей

Існують методи, які вирішують проблему строгих вимог до зображення особи в кадрі за допомогою побудови 3D-моделей. Метод вимагає установки декількох спеціальних стереокамер, синхронізованих між собою. При появі в зоні спостереження людини камери роблять серію знімків з різних ракурсів. Потім будується 3D-модель особи людини і також проводиться робота з особливими точками і відстанями між ними. Подальше порівняння з еталонною базою осіб ведеться за аналогією з методом, описаним вище.
 
Рішення конкретних завдань

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

Для розпізнавання людей використовуються різні технології і алгоритми, що пред’являють різні вимоги до зображень осіб, ідентифікованих в кадрі.