Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемЕкатерина Градовская
1 Лекція 7. Розпізнавання об ' єктів. Розробник: Дзюба Віталій Георгійович 2009 Національний технічний університет України "КПІ Кафедра конструювання електронно-обчислювальної апаратури
2 2 Образи і класи образів Під образом мається на увазі деяка впорядкована сукупність дескрипторів. У літературі по розпізнаванню образів ці дескриптори часто називають ознаками. Класом образів (або просто класом) називається сукупність образів, що володіють деякими спільними властивостями. Позначатимемо класи символами 1, 2, W, де W- число класів. В практичних задачах набули поширення три форми впорядкованого представлення ознак: у вигляді векторів ознак (для кількісних дескрипторів), у вигляді символьних рядків, а також у вигляді дерев. Образи, представлені векторами ознак, позначаються жирними рядковими буквами, наприклад, х. де кожна з компонент х i представляет i- ий дескриптор, а n - загальне число дескрипторів, пов'язаних з даним образом. Образи представляються вектор- стовпцями (тобто матрицями порядку n×1 ) або в еквівалентній формі х = (х 1, х 2, …, х n ) Т, де Т - операція транспонування.
3 3 Образи і класи образів Приклад розпізнавання трьох видів квіток іриса (Iris setosa, Iris virginica і Iris versicolor) за даними вимірів довжини і ширини їх пелюсток. В нашій сьогоднішній термінології кожна квітка описується результатами двох вимірів, що приводить до двовимірного вектора ознак вигляду x=(x 1, x 2 ) T, де х 1 і х 2 відповідають довжині і ширині пелюстки відповідно. В даному випадку три класи, позначені ω 1, ω 2 і ω 3, відповідають різновидам setosa, virginica і versicolor відповідно.
4 4 Зіставлення В методах розпізнавання, заснованих на зіставленні, кожен клас представляється вектором ознак образу, що є прототипом цього класу. Незнайомий образ приписується до того класу, прототип якого виявляється найближчим в сенсі заздалегідь заданої метрики. Простий підхід полягає у використанні класифікатора, заснованого на мінімальній відстані, який обчислює евклідові відстані між вектором ознак невідомого об'єкту і кожним вектором прототипу. Рішення про приналежність об'єкту до певного класу ухвалюється по найменшій з таких відстаней. Класифікатор по мінімуму відстані Прототип кожного класу визначається як вектор математичного очікування образів з цього класу: де N j - число векторів ознак об'єктів класу, підсумовування ведеться по всіх таких векторах. Розділяюча поверхня між класами ω 1, і ω 2 в разі класифікатора по мінімуму відстані задається рівнянням
5 5 Кореляційне зіставлення Кореляція між зображеннями f(х, у) и w(x, у) задається виразом Схема для отримання значення кореляції f і w в точці (х 0, y 0 ). Коефіцієнт кореляції Коефіцієнт кореляції змінюється в діапазоні від -1 до 1 і не залежить від зміни масштабу амплітуд f і w.
6 6 Нейронні мережі Елементарною коміркою нейронної мережі є нейрон. Простий нейрон Функції активації а) б) в) а) одинична функція активації з жорстким обмеженням; б) лінійна функція активації; в) логістична функція активації.
7 7 Нейронні мережі Нейрон з векторним входом Одношарова мережа
8 8 Нейронні мережі Багатошарові мережі
9 9 Побудова системи розпізнавання символів на основі нейронної мережі Формування навчальної вибірки
10 10 Побудова системи розпізнавання символів на основі нейронної мережі Завантаження зображень в MATLAB % читаємо символ m_A = imread('A.bmp'); % переводимо в шкалу сірого m_A = rgb2gray(m_A); % обчислюємо максимальне значення пікселів max_value = max(max(m_A)); % інвертуємо так, щоб одиниці відповідали символу, нулі – фону m_A = (max_value - m_A)/max_value ; A =
11 11 Побудова системи розпізнавання символів на основі нейронної мережі Приводимо кожен символ до однакових розмірів % створюємо пустий символ ZERO_SYM = zeros(15, 14); % аналізуємо кожен символ if M_DIM(1,2) ~= 14 % якщо не дорівнює максимальній ширині col = (14 - M_DIM(1,2)) /2 ; % визначаємо індекс стовпчика col = fix(col) ; sym = ZERO_SYM ; %копіюємо пустий символ sym(:, col + 1 : col + M_DIM(1,2)) = m_A; % m_A = sym end Перетворюємо матрицю з символом у вектор-стовпець m_A = reshape(m_A, 15*14,1);
12 12 Побудова системи розпізнавання символів на основі нейронної мережі Навчання нейронної мережі Будуємо нейронну мережу прямого розповсюдження сигналу з такою архітектурою: кількість вхідних нейронів (15*14); кількість нейронів у вхідному шарі - 400; кількість нейронів у вихідному шарі - 10; процедура навчання - метод спряжених градієнтів з рестартами. % створюємо мережу net = newff(minmax(pre_data), [400 10], {'tansig' 'purelin'}, 'traincgb'); % створюємо нульовий вектор цілей target = zeros(10); % ставимо одиниці у відповідності з ознакою приналежності до класу target(1:11:end) = 1; % задаємо параметри навчання net.trainParam.show = 10; % дискретність оновлення графіка процесу навчання net.trainParam.epochs = 300;% кількість епох навчання net.trainParam.goal = 1e-3; % значення цільової помилки % навчаємо мережу [net,tr]=train(net,pre_data,target);
13 13 Побудова системи розпізнавання символів на основі нейронної мережі Тестування класифікатора function sym = RecognizeSymbol(p, net) % створюємо вектор символів symbols = 'ABCDEFGHIJ'; % подаємо вхідний вектор на нейронну мережу і визначаємо, хто переміг [max_value, index] = max(sim(net, p)); % повертаємо символ, розпізнаний мережею sym = symbols(index); Для виконання тестування створимо наступну процедуру Далі тестуємо imshow(samples(:,:,2)) sym = RecognizeSymbol(reshape(samples(:,:,2), 15*14, 1), net) sym = B
14 14 Л ІТЕРАТУРА 1.Р. Гонсалес, Р. Вудс. Цифровая обработка изображений. М.: Техносфера, с. 2.Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде MATLAB. М.: Техносфера, – 616 с.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.