Програмна підтимка дослідження 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Програмна підтимка дослідження



Інформаційна модель системи

У загальному вигляді алгоритм виявлення об'єктів за допомогою контурного аналізу, може бути представлений в наступному вигляді:

Рисунок 6.1.1 – Загальна схема алгоритму Контурного Аналізу

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

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

Рисунок 6.1.2 – Видалення слабких границь

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

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

На рисунку 6.2 зображена функціональність cvFindContours (). У верхній частині малюнка показано тестове зображення, що містить кілька білих регіонів (позначені від A до E) на темному фоні. У нижній частині малюнка знаходиться теж зображення разом з контурами, які позначені cx або hx, де c розшифровується як контур, а h як "дірка" і x деяке число. Деякі з цих контурів намальовані пунктирними лініями, вони представляють зовнішні кордони білих регіонів (тобто ненульових регіонів). OpenCV і cvFindContours() розрізняють ці зовнішні кордони і пунктирні лінії, яких можна уявляти або як внутрішні кордони або як зовнішні кордони дір (тобто нульових регіонів).

Рисунок 6.1.2 – Принцип роботи cvFindContours()

 

Концепція "вкладеності" тут відіграє важливу роль. З цієї причини можна зібрати знайдені контури в дерево контурів, яке відображає ставлення вкладеності контурів у своїй структурі. Дерево контурів для цього тестового зображення буде мати контур c0 як кореневий вузол, з "дірками" h00 і h01, як своїх нащадків. Вони в свою чергу матимуть нащадків - контурів, і т.д. (Рисунок 6.1.3)

Рисунок 6.1.3 – Дерево контурів

 

Альтернативне представлення послідовності є код Фрімена (Рисунок 6.1.3). У коді Фрімена полігон представляється як послідовність кроків в одному з 8-ми напрямків, кожен крок позначається числом від 0 до 7.

Рисунок 6.1.3 – Код Фрімена

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

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

У випадку з методом розпізнавання об’єктів за допомогою каскаду Хаара, загальний вигляд алгоритму можна представити в такому вигляді:

 

Рисунок 6.1.4 – Загальна схема розпізнавання за допомогою каскаду Хаара

Для того щоб розпізнавати об’єкти за допомогою каскаду Хаара, необхідно спершу навчити систему розпізнавати цей об’єкт. Навчання класифікації об’єкт/фон виконується на основі методу AdaBoost. Для навчання використовується база даних зображень Герба України, що містить 2500 зображень. Кожне зображення розмічається вручну і масштабується до масштабу 20х30 пікселів. У базі даних містяться зображення Гербів України, котрі утворюються при різному куті та інтенсивності освітлення. Для розширення бази даних та обліку зміни напрямку освітлення вона може бути доповнена дзеркальними відображеннями кожного зображення. Таким чином, підсумкова база зображень Гербів України міститиме 5000 зображень розміром 20х30 пікселів.

Для формування бази зображень фону беруться зображення різного розміру, які не містять цільовий об’єкт. Кількість фонових зображень повинно нараховуватись приблизно 5000.

Алгоритм бустінга для пошуку об’єктів, можна розписати в п’ять кроків:

a) Визначення слабких класифікаторів з прямокутними ознаками;

b) Для кожного переміщення скануючого вікна обчислюється прямокутна ознака на кожному прикладі;

c) Вибирається найбільш відповідний поріг для кожної ознаки;

d) Відбираються кращі ознаки і кращий відповідний поріг;

e) Перевзвешується вибірка.

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

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

 

 

Рисунок 6.1.5 – Каскадна модель



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 147; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.112.69 (0.005 с.)