Реферат на тему випускної роботи

Зміст

  1. Вступ
  2. 1. Актуальність теми
  3. 2. Виявлення осіб у відеопотоці
  4. 3. Знаходження антропометричних точок обличчя
  5. 4. Нормалізація виявлених осіб
  6. 5. Класифікація виявлених осіб
  7. Висновок
  8. Список джерел

Вступ

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

У цій статті розглянуто одну з найпродуктивніших технологій систем розпізнавання осіб, що базується на глибокому машинному навчанні. Робота створеного програмного засобу складається із трьох основних етапів: виявлення особи в потоці відеоданих, її нормалізація та класифікація. Для програмування моделі використана мова Python[1].

1. Актуальність теми

Обробка зображень завжди була активною областю досліджень. У області обробки зображень існує безліч удосконалень, інновацій, розробок та модифікацій. В даний час науково-практична діяльність у галузі комп'ютерного зору постійно розширюється, наповнюючись новими ідеями та розробками. за оцінкам фахівців середньостатистична людина може ідентифікувати знайому особу в натовпі з точністю 97,53%. Але це менше в порівнянні з сучасними алгоритмами, які досягли точності 99,8%. А останні кілька років вони досягли практично досконалості [2].

Існує багато способів розпізнавання обличчя: метод гнучкого порівняння на графах, нейронні мережі, приховані марківські моделі, статистичні методи та інші. Всі вони по-різному вирішують проблеми, що впливають на якість систем розпізнавання – це зміна освітленості, положення голови, розміру особи та ін В останні роки ефективні системи розпізнавання були побудовані з урахуванням згорткових нейронних мереж. Для спрощення створення систем розпізнавання створено декілька спеціалізованих бібліотек (TensorFlow, Keras), що надають розробникам добрі інструменти. В останню версію пакету Matlab також включено програмні засоби для розробки систем розпізнавання [3].

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

2. Виявлення осіб у відеопотоці

Мета роботи – розробка власної системи розпізнавання осіб учнів. Серед продуктів з відкритим вихідним кодом можна виділити OpenCV. Це бібліотека алгоритмів комп'ютерного зору, обробки зображень та чисельних алгоритмів загального призначення. Може вільно використовуватись в академічних та комерційних цілях, поширюється за умов ліцензії BSD.

Для реалізації програми розпізнавання осіб було обрано одну з найбільш ефективна комбінація алгоритмів розпізнавання осіб. алгоритму оцінки орієнтирів (англ. Face Landmark Estimation, FLE) та гістограми спрямованих градієнтів (англ. Histogram of Oriented Gradients, HOG). Описуючи загальний алгоритм роботи програми з використанням даної комбінації алгоритмів можна виділити такі етапи:

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

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

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

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

Подібних методів досить багато [5], і їх можна розбити на дві категорії:

Рис. 1. Схема нейронної мережі

Методом виявлення осіб за зовнішніми ознаками намагаються знайти та виявити закономірності та властивості особи неявно, застосовуючи методи математичної статистики та машинного навчання. Один з варіантів виявлення осіб у даному випадку - створення та навчання моделі згорткової нейронної мережі. Для навчання потрібний досить великий набір даних, що містить фотографії з особами та без. Один з найбільш поширених та великих наборів таких даних - VGGFace2. Зображення, що містяться в ньому (більше 3 млн) збираються з бази картинок Google і досить суттєво розрізняються за позицією, освітленістю і т. д. Набір вільно поширюється у комерційних та дослідницьких цілях. У У даній роботі використовується DlibResNet [6]. Ця модель являє собою мережу ResNet з 29 шарами згортки. Основою для Навчання послужила колекція осіб VGGFace2. Навчання мережі починалося з випадково ініціалізованих ваг і використовувало структуровану функцію втрат, яка намагається спроектувати всі тотожності в непересічних кіл радіусом 0,6. Після модель була протестована за допомогою загальнодоступного тесту на перебування осіб LFW (англ. Labeled Faces in the Wild можна перекласти як «особи, зазначені у природному середовищі»). Навчена модель отримала середню помилку 0,993833 зі стандартним відхиленням 0,00272732, що є дуже Хорошим показателем[7].

3. Знаходження антропометричних точок обличчя

Після знаходження особи необхідно визначити, в який бік вона повернутий, і привести його до загального вигляду для подальшого аналізу, адже обличчя, повернене в різні боки, це обличчя одного й того ж человека[8].

Найпоширенішим методом приведення особи до загального вигляду є алгоритм оцінки орієнтирів

Основна ідея полягає в тому, що ми відзначимо 68 особливих точок (називаються орієнтирами), які існують на кожній особі - верхня частина підборіддя, зовнішня точка кожного ока, внутрішня точка кожного брови і т. д. На малюнку 4 представлений загальний вигляд розташування точок.

Рис. 2. Загальний вигляд розташування точок

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

За підсумками перетворення, незалежно від того, як повернута особа на вихідному зображенні, нейронна мережа отримає на вхід зображення з однаковим становищем основних частин особи.

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

Вибір частин необхідних вимірювання можна покласти на нейронну мережа. Глибоке навчання визначає, які частини особи потрібно вимірювати, краще, ніж люди.

4. Нормалізація виявлених осіб

Після визначення точок необхідно змінити зображення так, щоб очі і рот були якнайкраще центровані. Для таких перетворень використовуються афінні перетворення, тобто такі перетворення, при яких всі лінії залишаються паралельними поза залежно від способу перетворення (спотворення, поворот, масштабування)[9].

На розпізнавання обличчя найбільше впливає:

Шматково-афінна деформація дозволяє нормалізувати зміни пози. Деформація застосовується до трикутних елементів, що визначаються описаними нижче моделями покращеного активного зовнішнього вигляду (рис. 3)

Рис. 3. Процес вирівнювання (або «повороту») особи за допомогою афінної деформації

Таке перетворення допомагає підвищити точність розпізнавання на 5–7 %.

5. Класифікація виявлених осіб

Основною складовою для класифікації виявлених осіб буде витяг дескриптора особи за допомогою функції навченої моделі. При розробці програмного забезпечення автори статті застосували модель, яка витягує дескриптор особи, використовуючи виявлені раніше антропометричні точки. Останній етап полягає у пошуку людини у базі даних т.к. для класифікації осіб потрібна база даних (БД), містить дескриптори осіб, які будуть порівнюватися з дескриптором особи, виявленої на кадрі потоку. Для пошуку зображення необхідно навчити невелику опорну мережу, використовуючи алгоритм класифікації, наприклад, метод опорних векторів.

Основна ідея методу полягає у перекладі вихідних векторів у простір більш високої розмірності та пошук поділяючої гіперплощини з найбільшим зазором у цьому просторі. Дві паралельних гіперплощині будуються по обидва боки гіперплощини, розділяє класи. Розділяючою гіперплощиною буде гіперплощина, що створює найбільшу відстань до двох паралельних гіперплощин. Алгоритм заснований на припущенні, що чим більша різниця чи відстань між цими паралельними гіперплощинами, тим менше буде середня помилка класифікатора[10].

За наявності набору даних з дескрипторами осіб та дескриптора особи з відеопотоку можна визначити приналежність даної особи до осіб, дескриптори яких зберігаються у БД. Для цього розраховується Євклідове відстань між двома дескрипторами. Згідно з документацією Dlib, якщо Евклідова відстань менша за 0,6, то на фотографіях — один і той же людина. Проте в ході тестування додатку було помічено, що при даному порозі обличчя людини на кадрі іноді класифікується неправильно. Тому було вирішено знизити вказаний поріг до 0,587. При таке значення не зазначено похибки у визначенні особи.

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

Висновок

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

Програмне забезпечення відповідає таким вимогам:

  1. повна працездатність;
  2. виведення всієї необхідної інформації;
  3. підтримка графічного інтерфейсу, в якому транслюється відеопотік;
  4. виділення виявленої особи та виведення інформації про людину;
  5. можливість демонстрації антропометричних точок виявленого особи.

Список джерел

  1. Мюллер, А. Введення в машинне навчання за допомогою Python/А. Мюллер, С. Гвідо. - Москва: Вільямс, 2017. - 480 с.
  2. Хабр [Електронний ресурс] - Режим доступу: https://habr.com/ua/company/droider/blog/568764/ -Загл. з екран.
  3. Брилюк Д.В., Старовойтов В.В. Розпізнавання людини за зображенню обличчя нейромережевими методами – 2002. – вип. 1. – с. 4-11. - URL: http://uiip.bas‑net.by/structure/l_ori/starovoitov/Starovoitov_Publication_section/11_Starovoitov02prep.pdf.
  4. Грас, Дж. Data Science. Наука про дані з нуля / Дж. Грас. - Санкт-Петербург: БХВПетербург, 2017. - 336 с
  5. Форсайт, Д. Комп'ютерний зір. Сучасний підхід / Д. Форсайт, Ж. Понс. - Москва: Вільямс, 2004. - 928 с.
  6. Молодий вчений [Електронний ресурс] - Режим доступу: https://moluch.ru/archive/363/81355/ -Загл. з екрану.
  7. Лутц, А. Вивчаємо Python/А. Лутц. - Санкт-Петербург: Символ-Плюс, 2011. - 1280 с.
  8. Медведєв А.С. Дослідження програмної моделі згорткової нейронної мережі при розпізнаванні осіб на знімках з відеопотоку Режим доступу: https://masters.donntu.ru/2018/fknt/medvedev/index.htm
  9. Згорткова нейронна мережа, частина 1: структура, топологія, функції активації та навчальна множина. [Електронний ресурс]. – Режим доступу: https://habr.com/ru/post/348000/
  10. Брилюк Д.В., Старовойтов В.В. Розпізнавання людини за зображенню обличчя нейромережевими методами – 2002. – вип. 1. – с. 4-11. - URL: http://uiip.bas-net.by/structure/l_ori/starovoitov/Starovoitov_Publication_section/11_Starovoitov02prep.pdf.