Смекни!
smekni.com

Системи оптичного розпізнавання образів (стр. 1 из 2)

Реферат

на тему:

“Системи оптичного розпізнавання образів”


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

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

Недоліки зазначеного підходу:

- алгоритм повинен заздалегідь знати шрифт, що йому представляють для розпізнавання, тобто він повинен зберігати в базі різні характеристики цього шрифту;

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

Ці фактори обмежують універсальність таких алгоритмів.

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

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

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

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

Hедоліком даного підходу є нижча якість розпізнавання, ніж у шрифтових алгоритмів. Це пов'язане з тим, що рівень узагальнення при вимірах характеристик символів набагато більший, ніж у випадку шрифтозалежних алгоритмів. Фактично це означає, що різні допуски й спрощення при вимірах характеристик символів для роботи безшрифтових алгоритмів можуть бути в 2-20 разів більші в порівнянні зі шрифтовими.

Переваги цього підходу тісно пов'язані з його недоліками. Основними перевагами є:

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

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

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

При розпізнаванні символів досить широко використовуються штучні нейронні мережі. Алгоритми, що використовують нейронні мережі для розпізнавання символів, часто будуються в такий спосіб. Зображення символу (растр), що є вхідним для розпізнавання, приводиться до деякого стандартного розміру. Як правило, використається растр розміром 16х16 пікселів.

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

Надійність розпізнавання й потреба програми в обчислювальних ресурсах багато в чому залежать від вибору структури й параметрів нейронної мережі. Зображення цифр приводяться до єдиного розміру (16х16 пікселів). Отримане зображення подається на вхід нейронної мережі, що має три внутрішніх рівні й 10 вузлів у верхньому рівні. Нижні шари мережі не є повнопов‘язаними. Вузли нижчого рівня спільно використовують загальний набір ваг. Все це, за задумом розроблювачів, повинне підвищити здатність нижчих рівнів мережі до виділення первинних ознак у зображеннях. Отримана в такий спосіб нейронна мережа має 1256 вузлів й 9760 незалежних параметрів. Для збільшення здатності мережі до узагальнення й зменшення обсягу необхідних обчислень і пам'яті проводиться видалення маловикористовуваних ваг. У результаті число незалежних параметрів зменшується в чотири рази. Навчання нейронної мережі проведено на наборі з 7300 символів, тестування на наборі з 2000 символів. Помилки розпізнавання становлять приблизно 1% на навчальному наборі й 5% на перевірочному.

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

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

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

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

Відмінною рисою реалізованого алгоритму є використання нейронної мережі з досить великою кількістю вхідних ознак. Hа вихідному зображенні виділяються первинні ознаки, що характеризують перепади яскравості у вузлах растра. Нейронна мережа має один внутрішній рівень, що містить 100 вузлів і є загальнопов‘язаною, тобто кожен вузол внутрішнього рівня з'єднаний з усіма вхідними вузлами, а кожен вузол верхнього рівня з'єднаний з усіма вузлами внутрішнього рівня. Для зменшення обсягу обчислень при розпізнаванні для кожного розпізнаваного зображення символу використовуються не всі вхідні ознаки, а тільки частина, іншими словами вектор вхідних параметрів нейронної мережі є сильно розрідженим.