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

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Федеральне агентство з освіти
ПІВДЕННО-УРАЛЬСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ
Факультет - Приладобудівний
Кафедра - Автоматика та управління
ПРОЕКТ ПЕРЕВІРЕНО ДОПУСТИТИ ДО ЗАХИСТУ
Рецензент Завідувач кафедрою
____________________________ ______________________

"_____" _____________ 2007__ р. "_____" ____________ 2007__ р.
Програмне забезпечення системи обробки зображення в реальному часі
Пояснювальна записка до дипломного ПРОЕКТУ
ЮУрГУ-Д.220200 068.000.ПЗ
Консультанти: Керівник проекту:
______________________________ ___________________________
______________________________ _______________________________
"_____" ______________ 2007 _ р. Автор проекту
студент групи ПС-269м.
______________________________ Пушніков А.А. .
"____" ________________ 2007 _ р.

______________________________ Нормоконтролер

______________________________ ______________________________
"____" ________________ 2007 _ р. "_____" ______________ 2007
Челябінськ
2007

ВСТУП

АНАЛІЗ ЗАВДАННЯ. ОГЛЯД ІСНУЮЧИХ МЕТОДИК РІШЕННЯ
1. Виділенні об'єктів на зображенні

1.1. ЗАГАЛЬНИЙ АЛГОРИТМ ПОРІВНЯННЯ ДВОХ ЗОБРАЖЕНЬ

1.2. МЕТОД МАКСИМАЛЬНИХ ПЛОЩ
1.3. МЕТОД Гістограма
1.4. ПІДГОТОВКА ЗОБРАЖЕННЯ до розпізнавання
2. ЗАВДАННЯ РОЗПІЗНАВАННЯ ОБ'ЄКТА
2.1. Метод найменших квадратів
2.2. МОДЕЛЮВАННЯ БАГАТОВИМІРНОЇ ФУНКЦІЇ. РОЗПОДІЛУ ВЕКТОРІВ, ОЗНАК ЗОБРАЖЕННЯ ОБ'ЄКТА
Факторний аналіз (FA)
Метод головних компонент (PCA)
Аналіз незалежних компонент (ICA)
Лінійний Дискримінантний аналіз (Linear Discriminant Analysis, LDA)
2.3. ДЕФОРМІВНОГО МОДЕЛІ.
2.4. Прихованих марковських моделей (Hidden Markov Models, HMM)
2.5. МЕТОД опорних векторів (Support Vector Machines, SVM)
3. РЕАЛІЗАЦІЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
ВИСНОВОК

Введення

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

Аналіз завдання. Огляд існуючих методик рішення

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

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

1. Виділення об'єкта на зображенні

Для успішного рішення задачі розпізнавання, необхідно виділити шуканий об'єкт на зображенні, і привести його до нормалізовано вигляду, придатного для розпізнавання.
Основний метод знаходження об'єкта на зображенні - порівняння досліджуваного, з еталонним. При кінцевій його реалізації, можливі значні зміни в алгоритмі знаходження об'єктів.
Критерієм успішності виконання алгоритму, можуть служити:
1. Оцінка успішності людиною.
2. Аналіз кількості знайдених об'єктів.
3. Аналіз розмірів знайдених об'єктів.
4. Аналіз розташування знайдених об'єктів.
5. Аналіз квітів знайдених об'єктів.

1.1. Загальний алгоритм порівняння двох зображень
Визначимо еталонне зображення, як безліч точок , А досліджуване зображення, як безліч . Нехай - Функція яскравості точки зображень, визначена на множинах і . Одним з поширених підходів для визначення областей руху між двома кадрами зображення і грунтується на порівнянні відповідних точок цих двох кадрів. [3], [4]. Для цього застосовується процедура формування «різниці» кадрів. Різницею між двома зображеннями, є наступне безліч:

де - Значення порогового рівня, вибирається таким чином, щоб відокремити точки, в яких кадри зображення значно відрізняються один від одного, як правило це шукані об'єкти, від точок, в яких яскравість змінилася незначно, у зв'язку з мерехтіння освітлення, вібрацією камери та іншими перешкодами. Зображення містить приблизні області руху об'єктів і адитивний шум, що спотворює поточний кадр. Позбавиться від шуму, дозволяють морфологічні операції (операції над бінарним зображенням), такі як ерозія, корозія, а так само різні способи фільтрації і оптимальне (експериментально подбираемое) значення порогу .
Далі, можна обробити знайдені об'єкти, для цього використовуються:
1. Метод максимальних площ.
2. Метод гістограм.
Алгоритм був реалізований за допомогою бібліотеки для обробки зображень OpenСV. Під час тестування алгоритму використовувалися зображення ігровий дошки для гри в го з білими і чорними камінням. Приклад його роботи представлений на рис.


Еталонне зображення
Досліджуване зображення
Різницеве ​​зображення
Бінарізірованое зображення , При = 10
Відфільтроване зображення
1





2





3





Рис. Приклад роботи алгоритму.

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

1.2. Метод максимальних площ

Метод призводить знайдені об'єкти до форми, більш зручною для подальшої обробки, і об'єднує окремі області на різницевому зображенні в області за ознакою їх близькості один одному [].
Необхідно виділити області правильної форми, є досить великими об'єктами. Завдання можна формалізувати наступним чином: необхідно розбити безліч точок на максимально можливе число непересічних підмножин .
Запропонуємо наступний алгоритм вирішення:
1. На безлічі конструюємо підмножини , Що містять пов'язані точки, вибрані як лежать поруч один з одним.
2. Конструюємо нові підмножини , Що охоплюють ті підмножини , Які лежать поруч один з одним.
3. Повторюємо пункт 2 до тих пір, поки не отримаємо кінцеве кількість підмножин .
Метод був адаптований і реалізований функціями бібліотеки OpenCV. Приклад його роботи представлений на рис.

Різницеве ​​зображення

Результат: області правильної форми
Коло
Прямокутник
1



2



3



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

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

1.3 Метод гістограм

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

Зворотний оператор перетворює гістограму в зображення у відтінках сірого.
Алгоритм складається з наступних етапів:
1. Побудова гістограм шуканого об'єкта і вихідного зображення
2. Формуємо нову гістограму, як нормоване твір і :
3. Використовуючи зворотне перетворення , Отримуємо двовимірну функцію, яка є шуканим зображенням у відтінках сірого:
Метод був адаптований і реалізований функціями бібліотеки OpenCV. Результати застосування методу наведено на рис.

Дошка
Чорний камінь
Білий камінь
Шукане зображення



Гістограма шуканого зображення



Початкове зображення
За гістограмі дошки
За гістограмі чорного каменю
За гістограмі білого каменю





1
2




3




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

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

1.4. Підготовка зображення до розпізнавання

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

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

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

Матриця обертання (для однорідних координат)
.
3. Перенесення, що задається найпростішими співвідношеннями:

Матриця перенесення має вигляд
.

2. Завдання розпізнавання об'єкта

Дане розділ включає в себе широкий клас задач, що розрізняються в основному тим, яким чином задаються характеристики об'єкта і в як потрібно його класифікувати.
Методи, що застосовуються для вирішення поставленого завдання, багато в чому залежать від особливостей об'єкта, який потрібно локалізувати. Найчастіше, постановка задачі неформальна - описати властивості потрібного об'єкта в математичних термінах буває достатньо складно, тому завдання часто звучить, наприклад, так - треба знайти на зображенні все, схоже от на "це" (картинка з прикладом). Або, навіть просто словами - знайти на зображенні всіх, скажімо, божих корівок. Відповідно, рішення завдання полягає у формулюванні властивостей розпізнається об'єкта і конструюванні сталого методу знаходження об'єктів, що відповідають зазначеним властивостям.
У числі основних складнощів при вирішенні даного завдання - велике розмаїття вхідних даних і труднощі виділення загальних властивостей зовнішнього вигляду для об'єктів природного походження. Об'єкти штучного походження звичайно розпізнавати значно легше.
У методах опису властивостей об'єкта для знаходження можна виділити два крайніх напрямки:
Узагальнення й використання емпіричних даних і правил про об'єкт (top-down, bottom-up)
Ідея полягає в знаходженні, узагальненні та формулюванні в математичних термінах емпіричних спостережень та правила про те, як на зображеннях зазвичай виглядає цікавий для нас об'єкт. Продовжуючи приклад з сонечком, можна помітити наступне:
1. Сонечка зазвичай рудого або червоного кольору;
2. На спині у них зазвичай присутня деяка кількість чорних плямах (можна також порахувати зразкову співвідношення розміру плям з розміром комахи);
3. Спина в них розділена на дві половинки темною лінією, зазвичай видимою. З однієї зі сторін цій лінії у божої корівки голова - темна, що співвідносяться за розмірами з тілом у певній пропорції;
4. Зверху сонечко виглядає приблизно як еліпс;
Добре, якщо відомі додаткові умови задачі і отримання вхідних зображень, наприклад:
1. Приблизно відомі очікувані розміри божих корівок (тобто відомо збільшення камери і відстань до об'єкта, що знімається);
2. Нас цікавлять тільки сонечка, що сидять на листках (значить, якщо прийняти, що листя зелене, можна розглядати тільки об'єкти, що знаходяться на зеленому фоні);
Спираючись на перелічені правила можна побудувати якийсь алгоритм їх перевірки та знаходження об'єктів на зображенні, що відповідають цим правилам. Складність полягає в тому, що, по-перше, правила можуть не описувати всіх властивостей об'єкта, по-друге, правила можуть виконуватися не завжди, по-третє, в процесі знаходження правил та їх математичної формулюванні відбувається ряд спрощень, ведучи усе далі від виду реального об'єкта. Зрозуміло, що успішність описаного метод безпосередньо залежить від фантазії і спостережливості розробника.
Моделювання зовнішнього вигляду об'єкта, використання інструментарію розпізнавання образів (pattern recognition).
Суть цього підходу полягає в обчисленні деяких числових характеристик зображення модельованого об'єкта (вектора ознак) і застосування різних математичних методів для визначення "схожості" тестових зображень на зображення об'єкта, грунтуючись на цих характеристиках.
Наприклад, саме зображення потрібного об'єкта можна безпосередньо представити як вектор в багатовимірному просторі і натренувати деякий класифікатор за допомогою набору прикладів зображень об'єктів. Класифікатор в даному випадку означає певний інструмент, який приймає на вхід зображення, представлене у вигляді вектора в багатовимірному просторі, і видає на виході якусь інформацію, классифицирующую вхідне зображення щодо деякої ознаки.
Приклади часто використовуваних класифікаторів:
1. Метод найменших квадратів;
2. Пряме порівняння з будь-якої метриці простору векторів ознак (наприклад, сумі різниці кожного елемента вектора) тестового зображення з зображеннями-шаблонами (template-matching);
3. Нейромережі (зазвичай для чорно-білих зображень) - на входи нейромережі подаються значення елементів вектора, на виходах формується сигнал, що класифікують об'єкт на зображенні;
4. Метод опорних векторів (support vector machines) - для розпізнавання зображень;
5. Моделювання багатовимірної функції розподілу векторів ознак зображень об'єкта, оцінка ймовірності приналежності тестового зображенню до змодельований розподіл (факторний аналіз, метод головних компонент, аналіз незалежних компонент, лінійний дискримінантний аналіз);
6. Деформуємі моделі;
Пряме подання чорно-білого зображення розміру m * n як вектор породжує простір розмірності m * n (яскравість кожного пікселя - значення елемента вектора в такому просторі). Тобто зображення порівняно невеликого дозволу (100x100) породжує простір розмірності 10,000. Працювати в такому просторі непросто, тому застосовуються різні методики зниження розмірності, наприклад метод головних компонент (principal components analysis, PCA)
Інші приклади характеристик (ознак) зображень, використовуваних для їх класифікації та розпізнавання:
1. Статистика розподілу кольорів (у різних виставах, в тому числі гістограма зображення);
2. Статистичні моменти (середнє, дисперсія, приховані Марківські моделі);

Кількість і властивості графічних примітивів у об'єкті (прямих ліній, кіл - для розпізнавання символів) (на основі перетворення Хафа)

2.1. Метод найменших квадратів

Перед тим, як починати розгляд МГУА, було б корисно згадати або дізнатися вперше метод найменших квадратів - найбільш поширений метод підстроювання лінійно залежних параметрів.
Розглянемо для прикладу МНК для трьох аргументів:
Нехай функція T = T (U, V, W) задана таблицею, тобто з досвіду відомі числа U i, V i, W i, T i (i = 1, ..., n). Будемо шукати залежність між цими даними у вигляді:
(Ф. SEQ ф._ \ * ARABIC 1)
де a, b, c - невідомі параметри.
Підберемо значення цих параметрів так, щоб була найменшою сума квадратів ухилень досвідчених даних T i і теоретичних T i = aU i + bV i + cW i, тобто сума:
(Ф. SEQ ф._ \ * ARABIC 2)
Величина s є функцією трьох змінних a, b, c. Необхідною і достатньою умовою існування мінімуму цієї функції є рівність нулю приватних похідних функції s по всім змінним, тобто:
(Ф. SEQ ф._ \ * ARABIC 3)
Так як:
(Ф. SEQ ф._ \ * ARABIC 4)
то система для знаходження a, b, c буде мати вигляд:
(Ф. SEQ ф._ \ * ARABIC 5)
Дана система вирішується будь-яким стандартним методом вирішення систем лінійних рівнянь (Гаусса, Жордана, Зейделя, Крамера).
Розглянемо деякі практичні приклади перебування наближають функцій:
1. y = ax 2 + bx + g
Завдання підбору коефіцієнтів a, b, g зводиться до вирішення загальної задачі при T = y, U = x 2, V = x, W = 1, a = a, b = b, g = c.
2. f (x, y) = asin (x) + bcos (y) + g / x
Завдання підбору коефіцієнтів a, b, g зводиться до вирішення загальної задачі при T = f, U = sin (x), V = cos (y), W = 1 / x, a = a, b = b, g = c.
Якщо ми поширимо МНК на випадок з m параметрами,
(Ф. SEQ ф._ \ * ARABIC 6)
то шляхом міркувань, аналогічних наведеним вище, отримаємо наступну систему лінійних рівнянь:
(Ф. SEQ ф._ \ * ARABIC 7)

де,

2.2. Моделювання багатовимірної функції розподі

лення векторів ознак зображень об'єкта

Факторний Аналіз (FA)

Факторний аналіз (ФА), як і багато методів аналізу багатовимірних даних, спирається на гіпотезу про те, що спостережувані змінні є непрямими прояви відносно невеликого числа якихось прихованих чинників. ФА, таким чином, це сукупність моделей і методів орієнтованих на виявлення та аналіз прихованих (латентних) залежностей між спостережуваними змінними. У контексті завдань розпізнавання, спостережуваними змінними звичайно є ознаки об'єктів.
Моделі з латентними змінними застосовуються при вирішенні наступних завдань:
· Зниження розмірності простору ознак,
· Класифікація об'єктів на основі стисненого простору ознак,
· Непрямої оцінки ознак, що не піддаються безпосередньому виміру,
· Перетворення вихідних змінних до більш зручного для інтерпретації увазі.
Факторний аналіз використовує припущення про те, що вихідні спостережувані змінні (розподілені за нормальним законом!) X i можуть бути представлені у вигляді лінійної комбінації факторів, також розподілених нормально:
x i = Σ k = 1 .. m (a ik F k) + u i; i = 1 ,..., n;
У цій моделі присутні дві категорії факторів: загальні фактори (common factors) F k і специфічні фактори (unique factors) u i. Фактор називається загальним, якщо він робить вплив на дві і більше спостережувані змінні (математично це виражається в наявності як мінімум двох істотно відрізняються від нуля коефіцієнтів a ik для даного чинника F k). Кожен із специфічних факторів u i несе інформацію тільки про одну змінну x i. Матриця a ik називається матрицею факторних навантажень (factor loadings) і задає вплив загальних факторів на спостережувані змінні.
Змістовно, специфічні фактори відповідають непоясненної загальними факторами мінливості набору спостережуваних змінних. Таким чином їх можна розглядати як випадкову помилку спостереження або шум, який не є цінною інформацією для виявлення прихованих закономірностей і залежностей. Важливим припущенням є незалежність u i між собою. Зазвичай, однак не завжди, загальні фактори F k передбачаються некоррелірованнимі (ортогональними).
Важливими поняттями ФА є спільність і специфічність спостерігається змінної. Мовою ФА частка дисперсії окремою змінною, що належить загальних факторів (і колективна з іншими змінними) називається спільністю, дисперсія ж припадає на специфічний фактор - специфічністю.
Метою ФА є виявлення загальних факторів F k, специфічних факторів u i і матриці факторних навантажень A таким чином, щоб знайдені загальні чинники пояснювали спостережувані дані найкращим чином, тобто щоб сумарна спільність змінних була максимальна (а відповідно специфічність - мінімальна).
Відмінність факторного аналізу (Factor Analysis, FA) від Методу Головних Компонент (Principal Components Analysis, PCA)
· Результатом ФА є модель, в явному вигляді описує залежність спостережуваних змінних від прихованих чинників (МГК це описовий аналіз даних, без отримання моделі);
· ФА передбачає помилку моделювання (специфічний фактор) для кожної з спостережуваних змінних, в той час як МГК намагається пояснити всю мінливість, включаючи шум, залежністю від головних компонент;
· У МГК головні компоненти є лінійними комбінаціями спостережуваних змінних. У ФА спостережувані змінні є лінійними комбінаціями загальних і специфічних чинників;
· Отримані в результаті ФА фактори можуть бути використані для інтерпретації спостережуваних даних;
· Головні компоненти некоррелірованні (що еквівалентно їх ортогональності при перенесенні початку координат у центр мас вихідного набору), фактори ж - не обов'язково;
· МГК можна розглядати як окремий випадок ФА, коли всі специфічні фактори прийняті рівними нулю, а загальні фактори ортогональні.

Метод головних компонент (PCA)

Метод головних компонент застосовується для зниження розмірності простору спостережуваних векторів, не приводячи до істотної втрати інформативності. Нехай дано початковий набір векторів лінійного простору R n. Застосування методу головних компонент дозволяє перейти до базису простору R n, такому що:
Перша компонента (перший вектор базису) відповідає напрямку, вздовж якого дисперсія векторів вихідного набору максимальна. Напрямок другий компоненти (другого вектора базису) вибрано таким чином, щоб дисперсія вихідних векторів уздовж нього була максимальною за умови ортогональності першого вектору базису. Аналогічно визначаються інші вектори базису.
У результаті, напрями векторів базису вибрані так, щоб максимізувати дисперсію вихідного набору вздовж перший компонент, званих головними компонентами (або головними осями). Виходить, що основна мінливість векторів вихідного набору векторів представлена ​​кількома першими компонентами, і з'являється можливість, відкинувши залишилися (менш істотні) компоненти, перейти до простору меншої розмірності.
Результатом застосування МГК є обчислення матриці W розміру mxn, що здійснює проекцію векторів простору R n на підпростір, натягнуте на головні компоненти:
y = W t (x - μ), y R m, x R n.
Де x - вектор з вихідного набору, y - координати вектора в підпросторі головних компонент, μ - середній вектор початкового набору.
Головні компоненти (вектори базису), які обираються за допомогою МГК, мають наступну властивість: зворотна проекція вектора y в R n дає мінімальну помилку реконструкції (мінімальна відстань до образу вектора y). Потрібно відзначити, що коректне застосування МГК можливо лише при припущенні про нормальний розподіл векторів вихідного набору.
У додатку до задачі класифікації з учителем МГК зазвичай застосовується таким чином. Після обчислення головних осей тренувального набору, вектор ознак тестового об'єкта проектується на підпростір, утворене головними осями. Обчислюються дві характеристики: відстань від проекції тестового вектора до середнього вектора тренувального набору - Distance in Feature Space (DIFS), і відстань від тестового вектора до його проекції в підпростір головних компонент - Distance From Feature Space (DFFS). Виходячи з цих характеристик виноситься рішення про приналежність тестового об'єкта класу, освіченій тренувальним набором.
Відмінність факторного аналізу (Factor Analysis, FA) від Методу Головних Компонент (Principal Components Analysis, PCA)
· Результатом ФА є модель, в явному вигляді описує залежність спостережуваних змінних від прихованих чинників (МГК це описовий аналіз даних, без отримання моделі);
· ФА передбачає помилку моделювання (специфічний фактор) для кожної з спостережуваних змінних, в той час як МГК намагається пояснити всю мінливість, включаючи шум, залежністю від головних компонент;
· У МГК головні компоненти є лінійними комбінаціями спостережуваних змінних. У ФА спостережувані змінні є лінійними комбінаціями загальних і специфічних чинників;
· Отримані в результаті ФА фактори можуть бути використані для інтерпретації спостережуваних даних;
· Головні компоненти некорельованих (що еквівалентно їх ортогональності при перенесенні початку координат у центр мас вихідного набору), фактори ж - не обов'язково;
· МГК можна розглядати як окремий випадок ФА, коли всі специфічні фактори прийняті рівними нулю, а загальні фактори ортогональні.

 

Аналіз незалежних компонент (ICA). Початок форми

Кінець форми

Завданням аналізу незалежних компонент (Independent Components Analysis, ICA) є розкладання спостережуваних випадкових змінних x j в лінійну комбінацію незалежних випадкових величин s k:
x j = a j1 s 1 + a j2 s 2 +...+ a jn s n для всіх j.
Основними припущеннями, використовуються в даному методі, є незалежність компонент s k і, те, що їх розподіл відмінно від нормального (non-gaussian). Алгоритм обчислення незалежних компонент спирається на центральну граничну теорему, яка стверджує, що за певних умов сума незалежно розподілених випадкових величин прагне до нормального розподілу в міру збільшення кількості доданків. Використовую це твердження, пошук незалежних компонентів, як лінійних комбінацій спостережуваних змінних, ведеться таким способом, щоб отримати незалежні випадкові величини, розподіл яких максимально далеко від нормального. Ступінь близькості розподілу випадкової величини до нормального вимірюється різним способами [Hyvarinen2000].
За своїм формулюванням, ICA близький до методу головних компонент (PCA) та факторному аналізу (FA), проте має ряд істотних відмінностей:
· У ICA істотно використовується припущення про те, що розподілу незалежних компонент відмінні від нормального,
що дає можливість інтерпретувати ICA як FA для неортогональних факторів, з розподілом відмінним від нормального;
· У ICA зниження розмірності не є метою, на відміну від FA і PCA;
· PCA домагається того, щоб проекції векторів вихідного набору на осі головних компонент були некорельованих, в той час як ICA домагається їх незалежності (більш сильне умова);
· Осі PCA ортогональні, в той час як осі незалежних компонент - необов'язково;

Лінійний Дискримінантний Аналіз (Linear Discriminant

Analysis, LDA)

Лінійний Дискримінантний Аналіз, на відміну від МГК і ФА не ставить собі за мету знайти підпростір меншої розмірності, найкращим чином описує набір тренувальних зображень. Його завдання - знайти проекцію в простір, в якому різниця між різним класами об'єктів максимальна. Ця вимога формулюється як отримання максимально компактних кластерів, що відповідають різним класам, віддалених на максимально можливу відстань. За допомогою ЛДА вдається отримати підпростір невеликий розмірності, в якому кластери зображень перетинаються мінімально. Виробляти класифікацію в такому просторі значно простіше.

2.3. Деформуємі моделі

Початок форми
Кінець форми
У машинному зорі деформуються моделі є потужним інструментом аналізу та обробки даних. Деформуємі моделі, на відміну від жорстких (rigid), мають велику гнучкість (мають можливість представляти об'єкти з сильно розрізняється формою) і в той же час дають можливість вказати досить суворі обмеження на небажані зміни форми подаються об'єктів.
В якості прикладів використання деформівних моделей можна навести:
· Виділення (локалізація) об'єктів і структур певного виду на 2D і 3D зображеннях (рис людського обличчя, об'єктів на медичних зображеннях)
· Відстеження переміщення об'єктів між кадрами відеопотоку.
· Сегментація 2D і 3D зображень
· Гладка апроксимації розрідженого хмари точок
· Реконструкції 3D форми об'єкта по 2D зображень - за допомогою стерео, відновлення форми по закраске (shape from shading)
Використання деформівних моделей при вирішення задачі обробки і розпізнавання зображень зазвичай дозволяє в елегантній математичній формі описати одночасний вплив багатьох (можливо, суперечливих) факторів на процес отримання оптимального рішення.
Конкретна деформується, модель характеризується:
· Способом завдання форми моделі (аналітичні криві і поверхні, кінцеві елементи);
· Способом вимірювання критерію згоди (goodness of fit) моделі і виміряних даних;

Способом модифікації форми моделі (за якими саме правилами (формулами) відбувається зміна форми моделі);

2.4. Приховані Марківські Моделі (Hidden Markov Models, HMM)

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

2.5. Метод Опорних Векторів (Support Vector Machines, SVM)

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

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


3. Реалізація програмного забезпечення

У ході роботи над бакалаврської роботою була написана програма, що виділяється на зображенні шукані об'єкти і нормуються їх.
Програма являє собою просте SDI-додаток, написаний в середовищі Builder C + + v. 6.0. Для реалізації обробки зображення використовувалася бібліотека Intel ® Open Source Computer Vision Library (OpenCV).
У програмі були використані наступні функції бібліотеки OpenCV:

Функція
Опис функції
cvLoadImage
Завантажує зображення з файлу
cvSize
Повертає розмір зображення
cvCreateImage
Створює нове зображення
cvAbsDiff
Виробляє віднімання по модулю двох зображень
cvCmpS
Бінарізірует зображенні, використовуючи поріг
cvErode
Виконує побітове операцію ерозії зображення
cvCamShift
Реалізує алгоритм порівняння двох зображень
cvGetQuadrangleSubPix
Виробляє афінне перетворення зображення
cvSetZero
Заповнює зображення чорним кольором
cvFillConvexPoly
Заповнює багатокутник на зображенні заданим кольором
cvCopy
Копіює зображення
Також були використані наступні класи:
Клас
Опис класу
IplImage
Зображення
CvSize
Розмір матриці
CvPoint
Точка
CvRect
Прямокутник
CvBox2D
Прямокутник
CvMat
Матриця
Алгоритм програми:
Початок → Завантажуємо зображення-еталон → Відображаємо еталон на екрані → Чекаємо клацання миші → Завантажуємо досліджуване зображення → Відображаємо еталон на екрані → Чекаємо клацання миші → Виконуємо віднімання двох зображень → Бінарізіруем результат → Відображаємо результат на екрані → Чекаємо клацання миші → Виконуємо ерозію результату → відображаємо результат на екрані → Чекаємо клацання миші → Знаходимо мінімальний прямокутник, що охоплює знайдені об'єкти → Повертаємо досліджуване зображення → Відображаємо результат на екрані → Чекаємо клацання миші → Нормалізуємо результат → Відображаємо результат на екрані → дем клацання миші → Кінець

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

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Диплом
104.6кб. | скачати


Схожі роботи:
Обчислювальна система обробки даних в реальному часі 2
Обчислювальна система обробки даних в реальному часі
Спілкування через Інтернет в реальному часі
Прийоми обробки зображення Прийоми обробки зображення- контраст яскравість динамічний діапазо
Програмне забезпечення ПК Cистемне програмне забезпечення
Програмне забезпечення ПК
Програмне забезпечення
Програмне забезпечення ПК 2
Програмне забезпечення
© Усі права захищені
написати до нас