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

Зміст

Вступ

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

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

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

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

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

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

Convolutional Neural Network або згортальна нейронна мережа (ЗНМ) показала кращі результати в області розпізнавання осіб. Вона є розвитком ідей таких архітектур нейронних мереж, як багатошарові мережі типу когнітрон і неокогнітрон. Переваги обумовлені своєрідною архітектурою ЗНМ, що дозволяє детально виділяти особливості двовимірної топології зображення на відміну від багатошарового персептрона.

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

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

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

2. Мета і завдання дослідження, плановані результати

Мета роботи - розробка власної системи розпізнавання осіб на основі згортальної нейронної мережі.

Для виконання заданої мети потрібно вирішити наступні завдання:

  • визначити кількість шарів ЗНМ;
  • визначити розмір повнозв'язну шару ЗНМ;
  • визначити розмір фільтрів ЗНМ;
  • встановити характер зв'язків між нейронами ЗНМ;
  • підготувати набір вхідних даних;
  • побудувати програмну модель ЗНМ.

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

3. Огляд досліджень і розробок

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

3.1 Огляд міжнародних джерел

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

Так само знайдена бібліотека з відкритим кодом OpenCV. OpenCV (Open Source Computer Vision Library) за ліцензією BSD і, отже, безкоштовна як для академічного, так і для комерційного використання. Він має інтерфейси C ++, Python і Java і підтримує Windows, Linux, Mac OS, iOS і Android. OpenCV був розроблений для обчислювальної ефективності і з великою увагою до додатків реального часу. Написана в оптимізованому C / C ++, бібліотека може використовувати багатоядерних обробку. Включений за допомогою OpenCL, він може скористатися апаратним прискоренням базової гетерогенної обчислювальної платформи [11].

3.2 Огляд національних джерел

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

3.3 Огляд локальних джерел

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

  • Умяров Н. Х. Нейросетевая система розпізнавання обличчя на знімку з відеопотоку [3];
  • Исаенко  А. П. Використання нейронних мереж для вирішення задач розпізнавання образів [4];
  • Стадник А. С. Виявлення схожого відеоматеріалу, використовуючи методи розпізнавання образів [5];
  • Личканенко И. С. Дослідження методів і пошук ефективного алгоритму для задачі розпізнавання номерних знаків транспортних засобів [6];
  • Сова А. А. Розпізнавання облич людини за допомогою нейронної мережі типу неокогнітрон [7];
  • Федоров А. В. Исследование методов контурной сегментации для построения системы оптического распознавания символов [8];
  • Шеремет Н. Н. Дослідження і розробка адаптивного методу активних контурів для виділення об'єктів в відеопотоці [9].

4. Структура і функціонування згортальної нейронної мережі

Згортальна нейронна мережа складається з шарів декількох видів таких як згорткові (convolutional), подвиборочние (subsampling) і шари персептрона. У загальній архітектурі багатошарової нейромережі згорткові шари і шари підвибірки, чергуючись між собою, формують вхідний вектор ознак для вихідного шару - багатошарового персептрона (див. Рис. 1). Свою назву згортувальна мережа отримала по операції з назвою «згортка».

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

Малюнок 1 - Структура згортувальної нейронної мережі

В останні роки в ЗНМ дуже часто застосовується функція активації під назвою «випрямляч» (див. Рис 2). Нейрони з цією функцією активації називаються ReLU (rectified linear unit). ReLU має наступну формулу f (x) = max (0, x) і реалізує простий пороговий перехід в нулі.

Позитивні сторони такої функції:

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

Негативною стороною цієї функції є те, що ReLU не завжди достатньо надійна при апаратної реалізації і в процесі навчання може виходити з ладу. Наприклад, великий градієнт, що проходить через ReLU, може привести до такого оновлення ваг, що даний нейрон ніколи більше не активується. Якщо це станеться, то, починаючи з даного моменту, градієнт, що проходить через цей нейрон, завжди буде дорівнює нулю. Відповідно, даний нейрон буде необоротно виведений з ладу. Наприклад, при дуже великій швидкості навчання може виявитися, що до 40% нейронів стануть «мертвими» (тобто, ніколи не активуються). Ця проблема вирішується за допомогою вибору належної швидкості навчання.

Малюнок 2 - Функція активації ReLU

5. Функції та параметри згортального шару

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

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

Розміри всіх карт згортувального шару однакові і визначаються за формулою:

w = mW – kW + 1,
h = mH – kH + 1,

де w - нова ширина згортувальної карти; h - нова висота згортувальної карти; mW - ширина попередньої карти; mH - висота попередньої карти; kW - ширина ядра; kH - висота ядра.

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

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

Принцип роботи згортувального шару

6. Функції та параметри подвиборочного шару

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

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

Малюнок 3 - Процес підвибірки

7. Структура останнього шару згортувальної нейронної мережі

На виході ЗНМ встановлений шар звичайного багатошарового персептрона (див. Рис. 4). Він служить для визначення класу, до якого належить розпізнається образ особи. Робота шару організовується шляхом звернення до виходу попереднього шару і визначення властивостей, які найбільш характерні для певного класу.

Малюнок 4 - Структура повнозв'язну шару

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

xlj = f(∑xl-1i * wl-1i,j + bl-1j),

де xlj - карта ознак j (вихід шару l); f() – функція активації; bl – коефіцієнт зсуву шару l; wl-1i,j – матриця вагових коефіцієнтів першого шару

Висновок

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

Зауваження

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

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

  1. Згортальна нейронна мережа, частина 1: структура, топологія, функції активації і навчальну множину. [Електронний ресур]. - Режим доступу: https://habr.com/post/348000/
  2. Що таке згортувальна нейронна мережа. [Електронний ресурс]. - Режим доступу: https://habr.com/post/309508/
  3. Умяров Н. Х. Нейросетевая система розпізнавання обличчя на знімку з відеопотоку - Режим доступу: http://masters.donntu.ru/2012/fknt/umiarov/diss/index.htm
  4. Исаенко А. П. Використання нейронних мереж для вирішення задач розпізнавання образів - Режим доступу: http://masters.donntu.ru/2006/fvti/isaenko/library/index.htm
  5. Стадник А. С. Виявлення схожого відеоматеріалу, використовуючи методи розпізнавання образів - Режим доступу: http://masters.donntu.ru/2011/fknt/stadnik/diss/index.htm
  6. Личканенко И. С. Дослідження методів і пошук ефективного алгоритму для задачі розпізнавання номерних знаків транспортних засобів - Режим доступу: http://masters.donntu.ru/2013/fknt/lichkanenko/diss/index.htm
  7. Сова А. А. Розпізнавання облич людини за допомогою нейронної мережі типу неокогнітрон - Режим доступу: http://masters.donntu.ru/2011/fknt/sova/links/index.htm
  8. Федоров А. В. Дослідження методів контурної сегментації для побудови системи оптичного розпізнавання символів - Режим доступу: http://masters.donntu.ru/2010/fknt/fedorov/diss/index.htm
  9. Шеремет Н. Н. Дослідження і розробка адаптивного методу активних контурів для виділення об'єктів в відеопотоці - Режим доступу: http://masters.donntu.ru/2015/fknt/sheremet/diss/index.htm
  10. Система розпізнавання образів від IIS. [Електронний ресур]. - Режим доступу: https://issivs.com/about-us//
  11. Бібліотека OpenCV з великою кількістю можливостей для комп'ютерного зору. [Електронний ресур]. - Режим доступу: https://opencv.org/
  12. Система розпізнавання образів від AxxonSoft. [Електронний ресур]. - Режим доступу: https://www.axxonsoft.com/ua/