ДонНТУ   Портал магістрів

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

Содержание

Вступ

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

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

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

Магістерська робота присвячена актуальному науковому завданню розпізнавання образів, де в якості образів виступає зображення людського обличчя. Образ отримуємо з відеопотоку. Фактично завдання розбивається на дві підзадачі: виділення обличчя з відеопотоку і розпізнавання вже виділеного обличчя. В якості інструментарію застосується платформа Java SE, IDE Eclipse і кілька допоміжних бібліотек.

Великий внесок у розвиток теми розпізнавання образів в ДонНТУ зробив Федяєв Олег Іванович і його магістранти – Куліков С.А., Дрига К.В., Махно Ю.С., Костецька Г.Ю., Сова Г.А. та інші.

У світі дослідження даної тематики ведуться ще з 80-х років. Ян ЛеКун – американський вчений французького походження зробив великий вклад у розвиток систем розпізнавання образів з застосуванням нейронних мереж. Корпорація Intel написала власну бібліотеку комп'ютерного зору з відкритим вихідним кодом – OpenCV [3], яка доступна кожному.

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

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

Основні завдання дослідження:

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

Об'єкт дослідження : нейромережева система розпізнавання осіб

Предмет дослідження : Структура згорткової нейронної мережі та алгоритми її навчання, алгоритми виділення осіб з відеопотоку

В рамках магістерської роботи планується отримання актуальних наукових результатів за наступними напрямками:

  1. Визначення найбільш ефективної методики локалізації людського обличчя.
  2. Створення програмної моделі згорткової нейронної мережі та визначення її параметрів.
  3. Аналіз ефективності використованих алгоритмів.

3. Отримання знімка особи з відеопотоку

В даний час завдання розпізнавання людських облич стає все більш актуальною. Процесу безпосереднього розпізнавання обличчя передує важливий етап автоматичної локалізації обличчя на знімку, методи реалізації якого зараз активно розвиваються. Один з методів розглядається в даному розділі – метод Віола-Джонса [4]. Незважаючи на те, що даний метод був описаний ще в 2001 році, він залишається одним з найбільш ефективних алгоритмів виділення особи. Також цей алгоритм входить до топ-10 алгоритмів штучного інтелекту [5] за версією 2007 року.

В його основі лежить алгоритм adaptive boosting'a (адаптивного посилення) або скорочено AdaBoost [6]. Сенс алгоритму полягає в тому, що є набір еталонних об'єктів, тобто є зображення і клас, до якого воно належить (наприклад, -1 – немає особи на зображенні, +1 – є особа). Крім того, є безліч простих класифікаторів, з яких можна побудувати один більш досконалий і потужний класифікатор. При цьому в багатокроковому процесі складання та навчання фінального класифікатора акцент робиться на еталони, які розпізнаються гірше. В цьому і полягає адаптивність алгоритму, тому що в процесі навчання він підлаштовується під найбільш складні об'єкти. Приклади його застосування показали, що AdaBoost дуже ефективний і швидкий алгоритм. Він добре себе зарекомендував при вирішенні таких завдань, в яких виділяються об'єкти (наприклад, обличчя) сильно зашумлені. Рисунок 1 відображає ідею локалізації особи на зображенні з даного алгоритму:

Ідея алгоритму Віола-Джонса

Рисунок 1 – Ідея алгоритму Віола-Джонса

В основі алгоритму лежать три ключові концепції:

а) Використання Інтегральних зображень, що дозволяють обчислювати площу вікна сканування в кілька разів швидше, ніж в алгоритмі детектування за кольором шкіри. Інтегральне зображення в точці (x, y) включає в себе суму пікселів, які розташовані лівіше і вище зображення:

Інтегральне зображення в точці (x, y)

де ii(x,y) – значення інтегрального зображення в точці (x,y).

Для обчислення інтегрального зображення використуються наступні рекурентні формули:

Для обчислення інтегрального зображення використуються рекурентні формули

де s(x,y) – накопичувальна сума рядка, s(x,-1)=0, ii(-1,y)=0.

б) Адаптивний алгоритм навчання вибирає невелике число ознак низького рівня з більш ніж 180 тис. ознак. Існує багато мотивацій для використання ознак, а не окремих пікселів. Найважливіша причина: ознака може кодувати різні значення, які важко визначати і вивчати, використуючи кінцеву безліч навчальних даних. Ознаки обчислюються набагато швидше, ніж піксельні величини, що детально буде розглянуто далі. В алгоритмі Віола-Джонса використується три виду ознак: два прямокутника, три прямокутника і чотири, хоча насправді число видів ознак може бути і більше. Область очей більше темна в порівнянні з середньою областю особи і перенісся. Примітиви цієї конфігурації і розмірів найбільш кращим чином характеризують дане зображення. На основі таких класифікаторів з відібраними найбільш ефективними примітивами будується каскад класифікаторів. Кожен наступний елемент каскаду має більш жорсткі умови успішного проходження, ніж попередній (використується більше примітивів). Тим самим до кінця доходять тільки самі правильні. Навчання базується на ідеї бустінга. Для успішного навчання потрібно кілька тисяч позитивних і негативних зображень (залежно від того, є на ньому особа, чи ні). На рисунку 2 показаний алгоритм бустінга:

Алгоритм бустінгу

Рисунок 2 – Алгоритм бустінгу

 

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

в) Використання каскаду Хаара [7], який вибирає невелике число ознак і об'єднує їх у ознаки більш високого рівня. В результаті отримуємо каскад з 38 кроків на великому наборі даних, що складається з 507 осіб з більш ніж 75 мільйонами скануючих вікон. Особи розпізнаються зі швидкістю 10 обчислень ознак у секунду для кожного вікна. Результуючий детектор ковзає по зображенню в різних масштабах, при цьому збільшується не масштаб зображення, а масштаб самого вікна. Таким чином отримується інваріантність до віддалення особи від камери.

4. Згорткова нейронна мережа

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

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

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

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

На подолання цих недоліків спрямована архітектура згортковох нейронних мереж. Згорткові нейронні мережі (ЗНМ) забезпечують часткову стійкість до змін масштабу, зсувів, поворотам, зміні ракурсу та інших спотворень [9].

Вирішенню цих проблем були присвячені роботи американського ученого французького походження Яна Ле Куна, пов'язані з розробкою і дослідженням згорткових нейронних мереж. Ідея згорткових нейронних мереж полягає в чергуванні згорткових шарів (C-шар), шарів підвибірки (S-шар) та використанні на виході полносвязного шару нейронів, які в цілому утворюють ансамбль спеціалізованих нейромереж. В основі згорткових мереж лежать три механізми, що використуються для досягнення інваріантності до переносу, масштабуванню, незначним спотворень:

  1. Локальне вилучення ознак. Кожен нейрон отримує вхідний сигнал від локального рецептивного поля в попередньому шарі, витягуючи, таким чином, його локальні ознаки. Як тільки ознаку витягнуто – його точне розташування вже не має значення, оскільки встановлено його місцезнаходження щодо інших ознак.
  2. Формування шарів у вигляді набору карт-ознак. Кожен обчислювальний шар складається з безлічі карт-ознак – площин, на яких всі нейрони повинні використувати один і той же безліч синаптичних ваг. Така форма ускладнює структуру мережі, однак має дві важливі переваги: інваріантність до зсуву, яке досягається за допомогою згортки з ядром невеликого розміру, і скорочення числа вільних параметрів, яке досягається за рахунок спільного використання синаптичних ваг нейронами однієї і тієї ж карти.
  3. Підвибірка. За кожним шаром згортки йде обчислювальний шар, який здійснює локальне усереднення і підвибірку. За рахунок цього досягається зменшення дозволу для карт ознак. Така операція призводить до зниження чутливості вихідного сигналу оператора відображення ознак до незначного зсуву та іншим видам деформації. В якості такого оператора виступає одна з сигмоїдальних функцій, використованих при побудові нейронних мереж (наприклад, гіперболічний тангенс)

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

Архітектура згорткової нейронної мережі

Рисунок 3 – Архітектура згорткової нейронної мережі

 

На теоретико-множинному рівні модель згорткової нейронної мережі CNN (Convolution Neural Network) представлена у вигляді кортежу 3:

На теоретико-множинному рівні модель згорткової нейронної мережі CNN (Convolution Neural Network)

де M – кількість шарів в нейронної мережі; η – номер шару; 1≤η≤M; Nη – кількість карт ознак у η шару; C, S – вагові коефіцієнти C і S шарів відповідно, fηη – функція активації нейрона η шару, C і S шарів відповідно; N – кількість нейронів в останньому шарі нейронної мережі; w – матриця вагових коефіцієнтів у вихідному шарі; ψ – функція активації нейронів вихідного шару.

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

Побудова логічної моделі починається з визначення сутностей (класів і об'єктів) системи. На рисунку 4 можна бачити реалізацію системи у вигляді діаграми класів. Виходячи з топології згорткової нейронної мережі, виділені наступні класи системи: Neuron – зберігає в собі всю необхідну інформацію для роботи нейрона (Входи, вагові коефіцієнти, виходи); абстрактний клас BasePlane – описує механізми роботи всіх типів площин (вхідна, C-площина, S-площина, вихідні), оголошує методи, відповідальні за режими навчання та розпізнавання. Також в цьому класі реалізовані структури зв'язків між картами сусідніх шарів. Абстрактний клас SubPlane (розширення класу BasePlane) – реалізує методи, специфічні для згорткової й подвиборочної площин. Клас ImagePlane інкапсулює в собі роботу з зображенням, тобто переводить його в двовимірний масив вхідних значень і зберігає в собі зображення. Нейрони на даному етапі ще не потрібні. Клас ConvolutionalPlane реалізує функціональність C-шару мережі. Клас SubSamplingPlane – це реалізація S-шару мережі. Клас OutputPlane – шар нейронів, який повністю пов'язаний з попереднім шаром мережі (S2), генерує вихідні значення мережі. Клас NeuralNet являє собою Чорний ящик, тобто на вході потрібно зображення, на виході генерується вихідні сигнали. У загальному випадку, шари можуть взаємодіяти між собою, на що вказує зв'язок карт ознак [11].

Логічна модель згорткової нейронної мережі у вигляді діаграми UML

Рисунок 4 – Логічна модель згорткової нейронної мережі у вигляді діаграми UML

5. Програмна модель

Планується створення програмної моделі на мові Java. Загальний вид програмної моделі показаний на рисунку 5. Етапи роботи програмного продукту:

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

Рисунок 5 – Програмна модель нейромережевої моделі розпізнавання облич
(анимація: 9 кадрів, 5 циклів повторення, 196 кілобайт)

Висновки

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

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

Перелiк посилань

  1. Федяев О.И., Махно Ю.С. Система распознавания зашумлённых и искажённых графических образов на основе нейронной сети типа неокогнитрон // Одиннадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-2008: Труды конференции. Т. 3. – М .: ЛЕНАНД, 2008. – 464 с.
  2. Компьютерное зрение [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/Компьютерное_зрение
  3. OpenCV – библиотека компьютерного зрения с открытым исходным кодом [Электронный ресурс]. – Режим доступа: http://software.intel.com/en-us/articles/...
  4. Viola P, JonesM(2001) Rapid object detection using a boosted cascade of simple features. In: Proceedings of the IEEE computer society conference on computer vision and pattern recognition. pages 511–518, Kauai, HI
  5. Wu V., Kumar V., Ross Quinlan J. et al. Top 10 algorithms in data mining. – Knowledge and Information Systems, 2008, v. 14, i. 1, p. 1–37
  6. Саймон Хайкин.Нейронные сети: полный курс.: издательский дом «Вильямс», 2006. – 1104с.
  7. Rainer Lienhart, Alexander Kuranov, Vadim Pisarevsky. Empirical Analysis of Detection Cascades of Boosted Classifiers for Rapid Object Detection.: Intel
  8. Макаренко, А. А. Методика локализации изображения лица для систем видеоконтроля на основе нейронной сети / А. А. Макаренко, В. Т. Калайда // Известия Томского политехнического университета [Известия ТПУ] / Томский политехнический университет (ТПУ) . – 2006 . – Т. 309, № 8 . – [С. 113-118]
  9. Костецкая Г.Ю., Федяев О.И. Распознавание изображений человеческих лиц с помощью свёрточной нейронной сети // Сб. трудов Международной студенческой научно-технической конференции «Информационные управляющие системы и компьютерный мониторинг» – Донецк: ДонНТУ, 2010. – с. 216-218.
  10. Умяров Н.Х., Федяев О.И. Параметрическая модель свёрточной нейронной сети // VI международная научно-техническая конференция студентов, аспирантов и молодых научных работников «Информатика и компьютерные технологии»: Т. 2 – Донецк, ДонНТУ, 2010. – 292с.
  11. Умяров Н.Х., Федяев О.И. Логическое и физическое представление архитектуры свёрточной нейронной сети // Інформаційні управляючі системи та комп’ютерний моніторинг (ІУС КМ – 2011) : II Всеукраїнська науково-технічна конференція студентів, аспірантів та молодих вчених, 11-13 квітня 2011 р., м. Донецьк : зб. доп. у 3 т./ Донец. націонал. техн. ун-т; редкол.: Є.О. Башков (голова) та ін. – Донецьк: ДонНТУ, 2011. – Т.3, с. 81-85