Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Пояснювальна записка до магістерської кваліфікаційної роботи магістра

Пояснювальна записка до магістерської кваліфікаційної роботи магістра




Сторінка3/9
Дата конвертації13.03.2017
Розмір1.59 Mb.
ТипПояснювальна записка
1   2   3   4   5   6   7   8   9

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

Найпоширенішим представником цього напряму є ознаки Хаара, запропоновані венгерським математиком Альфредом Хааром. На основі ознак Хаара винайшли свій алгоритм Пауло Віола та Міхаель Джонс (метод Віоли-Джонса), основною задачею якого було знаходження облич та є найкращим для програмного представлення, адже забезпечує високу швидкодію і ефективність розпізнавання. Метод був розроблений і представлений в 2001 році і до теперішнього часу є основоположним для пошуку об'єктів на зображенні в реальному часі[6]. Основні принципи, на яких оснований метод, такі:



    1. Використовуються зображення в інтегральному представленні, що дозволяє швидко вираховувати необхідні об’єкти;

    2. Використовуються ознаки Хаара які зображені на рисунку 1.1, за допомогою яких відбувається пошук потрібного об’єкту;

    3. Застосовується бустинг (від англійського boost – покращення, підсилення) для вибору найкращої ознаки шуканого об’єкту на даній частині зображення;

    4. Всі ознаки потрапляють на вхід класифікатора, який дає результат «істина» або «хибність»;

    5. Використовують каскадні ознаки для швидкого відкидання вікон, де знайдено обличчя.

Бустинг - комплекс методів, що сприяють підвищенню точності аналітичних моделей. Ефективна модель, що допускає мало помилок класифікації, називається «сильною». «Слабка» ж, навпаки, не дозволяє надійно розділяти класи чи давати точні передбачення, робить в роботі велику кількість помилок. Тому бустинг (від англ. вoosting - підвищення, посилення, поліпшення) означає дослівно «посилення» «слабких» моделей - це процедура послідовного побудови композиції алгоритмів машинного навчання, коли кожен наступний алгоритм прагне компенсувати недоліки композиції всіх попередніх алгоритмів.

Ідея бустинга була запропонована Робертом Шапіро наприкінці 90-х років, коли треба було знайти рішення питання про те, щоб маючи безліч поганих (незначно відрізняються від випадкових) алгоритмів навчання, отримати один хороший. В основі такої ідеї лежить побудова ланцюжка (ансамблю) класифікаторів, який називається каскадом, кожен з яких (крім першого) навчається на помилках попереднього. Наприклад, один з перших алгоритмів бустинга Boost1 використовував каскад з 3-х моделей, перша з яких навчалася на всьому наборі даних, друга - на вибірці прикладів, в половині з яких перша дала правильні відповіді, а третя - на прикладах, де «відповіді» перших двох розійшлися. Таким чином, має місце послідовна обробка прикладів каскадом класифікаторів, причому так, що завдання для кожного наступного стає важче. Результат визначається шляхом простого голосування: приклад належить до того класу, який виданий більшістю моделей каскаду [14].

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

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

Ознаки Хаара – ознаки цифрового зображення, які використовуються в розпізнаванні образів. Своєю назвою вони зобов’язані інтуїтивною схожістю з вейвлетами Хаара. Вейвлет Хаара один з перших і найбільш простих вейвлетів. Він був запропонований венгерським математиком Альфредом Хааром. Вейвлети Хаара ортогональні, їм притаманна компактність, добре локалізовані в просторі, але не є гладкими[33].

Ознаки Хаара використовувались в першому детекторі облич, працюючим в реальному часі. Історично склалось так, що алгоритми, працюючі тільки з інтенсивністю зображення (наприклад, значеннями кожного пікселя в моделі RGB), мають велику складність обчислення. Віола і Джонс адаптували ідею використання вейвлетів Хаара і розробили, те що було названо ознаками Хаара [6].

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

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

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

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


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

    1. Змінення зображення, освітлення сцени, наявність шумів камери;

    2. Присутність міняючих форму об’єктів;

    3. Наявність декількох одночасно рухомих об’єктів з близькими характерними ознаками і траєкторіями які перетинаються;

    4. Невірна сегментація об’єктів на попередніх етапах обробки;

    5. Необхідність відслідковувати в режимі реального часу.

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

Вибір алгоритму трекінгу залежить від способу представлення об’єктів. Стандартно використовують наступні описання:



  1. Точковий об’єкт, тобто об’єкт, який представляється однією точкою;

  2. Сукупність характерних точок, по яких можна однозначно розпізнати об’єкт на сусідніх точках;

  3. Геометричний примітив, наприклад еліпс або прямокутник, описаний навколо об’єкту;

  4. Зовнішній контур об’єкта;

  5. Набір рухомих областей;

  6. Інваріантні характеристики, такі як текстури, статистичні моменти і т. д.

При трекінгу точкових об’єктів існує декілька різновидів алгоритмів: моделі трекінга окремих точок, груп точок і модель глобального руху, в якій враховується рух всієї сукупності точок на всіх розглянутих кадрах. Для цього кожній з моделей вводяться різноманітні обмеження і цільові функції, з яких формуються так названі «функціональні залежності». В процесі мінімізації побудованих функціоналів встановлюється найкраще співвідношення між об’єктами на сусідніх кадрах. Для скорочення часу при оптимізації частіше всього застосовуються локально-оптимальні алгоритми. В цих алгоритмах, замість того щоб знаходити оптимальні шляхи на всій послідовності кадрів, знаходяться шляхи, які оптимізують цільову функцію для кожної послідовності пари кадрів. Заміна об’єкту геометричним примітивом, еліпсом чи прямокутником, позволяє побудувати достатньо ефективний алгоритм супроводження. При цьому на кожному кроці потрібно підстроювати всього декілька параметрів, які обумовлюються положення і форму примітиву. Такий спосіб трекінгу зручний при слідкуванні за добре розділеними об’єктами, наприклад за положенням голови під час проведення відео конференції.

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

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

Подання та локалізація цільового об’єкта є здебільшого висхідним процесом (англ. bottom-up process), тобто послідовним і його наступні кроки не зачіпають попередніх. Типова обчислювальна складність цих алгоритмів достатньо мала.



Ось деякі стандартні алгоритми подання та локалізації цільового об’єкта [5, 14, 23]:

  1. Blob tracking: сегментація інтер’єру об’єкта (наприклад, blob detection, block-based correlation або оптичний потік (optical flow));

  2. Kernel-based tracking (Mean-shift tracking): ітеративна процедура локалізації, що ґрунтується на максимізації критерію подібності;

  3. Contour tracking (відстеження контурів): пошук межі об’єкта (наприклад, активні контури або);

  4. Візуальне узгодження особливостей (feature matching): реєстрація (Image registration);

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

Фільтрування та об’єднання даних є здебільшого низхідним процесом (англ. top-down process), котрий включає об’єднання апріорної інформації про сцену або об’єкт, що співвідноситься з динамікою об’єкта та обчисленням різних гіпотез. Обчислювальна складність цих алгоритмів зазвичай значно вища. Ось деякі стандартні алгоритми фільтрування:

  1. Фільтр Калмана: оптимальний рекурсивний (Bayesian filter) для лінійних функцій, що зазнають шуму за Гаусом.

  2. Фільтр частинок: корисний для вибірок базового простору станів розподілу нелінійних та не-гаусових процесів.

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

2 РОЗРОБКА СПОСОБУ ТА ЗАСОБІВ ВІДСТЕЖУВАННЯ ЗА ПЕРЕМІЩЕННЯМ ОБЛИЧЧЯ
Процес знаходження та відстеження переміщення обличчя людини є однією із задач обробки та аналізу зображень для ідентифікації людини. При цьому виконується поділ зображення на області, для яких виконується певний критерій однорідності, наприклад, виділення на зображенні областей приблизно однакового кольору для пошуку обличчя людини.

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


2.1Розробка способу відстеження за переміщенням обличчя
Першим етапом в процесі рішення задачі відстеження за переміщенням обличчя людини (або впізнавання особи, розпізнавання виразу обличчя) є завдання виявлення обличчя на зображенні (face detection). Однак і сама інформація про присутність і, можливо, кількість осіб на зображенні або в відеопотоці є необхідною умовою для таких додатків, як охоронні системи та змістовна індексація бази даних зображень або відеофрагментів. У контексті побудови природного інтерфейсу людина-комп'ютер завдання локалізації особи знаходить своє застосування в підсистемі відстеження особи та її характерних рис у відеопотоці для розпізнавання виразу обличчя, визначення його положення в 3D просторі для генерації команд комп'ютера [5, 9].

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



  1. Отримання комп’ютерного зображення.

  2. Виявлення у зображенні обличчя людини.

  3. Виділення суттєвих ознак обличчя людини.

  4. Відстеження переміщення обличчя людини на основі отриманих даних.

Ці етапи можуть бути реалізовані різними способами [10, 38].

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

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

Ще одним способом є спосіб розпізнавання обличчя людини по відеозображенню за патентом РФ №2295152[41]. Спосіб полягає в тому, що проводять пошук обличчя людини в кадрі, масштабують виділене зображення до заданого розміру, формують вектор вхідного зображення (Р1), завантажують з бази даних зображення для порівняння (Р2), розбивають зображення на блоки, здійснюють первинний пошук за збігом цих блоків, здійснюють вторинний пошук, на основі чого приймають рішення про відповідність.

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

Відомі способи пошуку та розпізнавання об'єктів на цифровому зображенні за допомогою виділення замкнутого контуру, що максимально збігається із границями об'єкта з подальшим почерговим накладенням шаблонів, що зберігаються в пам'яті комп'ютера ( патент № RU 2250499 C1 [42]). Цей спосіб задовільно працює лише в тому випадку, коли на зображенні розташований тільки один шуканий об'єкт. Наявність декількох об'єктів на зображенні, а також відсутність шуканих об'єктів взагалі призводить до появи некоректних результатів.

Відомі також способи пошуку об'єктів на цифровому зображенні засновані на виділенні замкнутих контурів (контурів одного кольору) на зображенні з їх подальшим представленням у вигляді коефіцієнтів перетворення Фур'є (Patent US No 6563959 B1 [43]). У цьому випадку ступінь схожості двох об'єктів на різних зображеннях визначається по ряду коефіцієнтів. Цей спосіб дуже чутливий до якості зображення: при роботі з зернистим зображенням, а також при обробці зображення з великим числом дрібних об'єктів метод витрачає багато часу на обробку зображення. Крім того, зернистість зображення може звести нанівець результати пошуку через ускладнення характеру кордонів і виділення зерен в якості окремих об'єктів.

Найбільш близьким за технічною суттю є спосіб виявлення об'єктів на цифрових зображеннях, при якому аналізують цифрове представлення зображення з метою визначення областей розташування об'єктів, по наявності характерних ознак виявляють області, що містять об'єкти (Патент № WO 2006/122164 A2 [44]).

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

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

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

Області, що містять об'єкти, призначені для порівняння з базовим набором типових зображень об'єктів попередньо нормалізують і масштабують. Існують і інші підходи по виділенню об’єктів зображень[45,46].

Підводячи підсумок по виявленню обличчя людини у цифрову зображенні можна виділити такі основні етапи.


  1. Завантаження зображення.

  2. Виконати попередню обробок зображення.

  3. Виділити у цифровому зображенні об’єкти, що можуть бути обличчями людини.

  4. У виділених об’єктах виконати пошук характерних ознак обличчя людини одним із відомих методів.

  5. Сформувати вектор Р1 ознак виділених об’єктів обличчя людини.

  6. Виконати ідентифікацію обличчя людини шляхом порівняння вектора Р1 із знайденим у базі даних вектором Р2 обличчя людини.

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

  1. Завантаження зображення із відеокамери.

  2. Вирівнювання зображення по кольору та яскравості.

  3. Просторове диференціювання і пошук контурів об’єктів зображення.

  4. Сегментація зображення.

  5. Виділення обличчя людини за ознаками.

  6. Уточнення обличчя людини по кольору.

  7. Розміщення обличчя людини в прямокутник.

  8. Відстеження переміщення центру прямокутника.

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

1. Виконується завантаження зображення із відеокамери або фотоапарата.

2. Виконується фільтрація зображення.

3. Виконується вирівнювання по кольору та яскравості. Для цього знаходиться значення мінімальної та максимальної яскравості та виконується вирівнювання по всьому діапазону. Аналогічно вирівнюється по кольору.

4. Зображення переводиться у градації сірих кольорів та використовується оператор Собеля для виконання просторового диференціювання. Потім знаходиться скалярне значення вектора градієнта зображення.

5. Виділяються контури об’єктів зображення.

6. Виконується бінаризація зображення методом Отсу.

7. Шукаються інтегральні проекції яскравості зображення по кожній із осей для пошуку координат обличчя.

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

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

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

11. Уточнення рішення про виділене обличчя людини шляхом кольорової сегментації зображення.

12. Розміщення знайденого обличчя людини у прямокутник.

13. Отримання наступного кадру зображення та порівняння зміщення обличчя людини із попереднім зображенням.

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

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

1   2   3   4   5   6   7   8   9



  • 1.7 Відстеження переміщення обличчя людини
  • 2 РОЗРОБКА СПОСОБУ ТА ЗАСОБІВ ВІДСТЕЖУВАННЯ ЗА ПЕРЕМІЩЕННЯМ ОБЛИЧЧЯ
  • 2.1Розробка способу відстеження за переміщенням обличчя