Предмет:
Тип роботи:
Доповідь
К-сть сторінок:
9
Мова:
Українська
На сьогоднішній день існує досить багато потужних програм по розпізнаванню символів, але слід зазначити, що здатність людини читати друкований текст низької якості дотепер перевершує здатності комп'ютера.
Кожен друкований текст має первинну властивість – шрифти, якими він надрукований. Виходячи з цього, існують два класи алгоритмів розпізнавання друкованих символів: шрифтовий та безшрифтовий. Шрифтові або шрифтозалежні алгоритми використовують апріорну інформацію про шрифт, яким надруковано букви. Це означає, що програмі повинна бути надана повноцінна вибірка тексту, надрукованого даним шрифтом. Програма вимірює й аналізує різні характеристики шрифту й заносить їх у свою базу еталонних характеристик. По закінченні цього процесу шрифтова програма оптичного розпізнавання символів готова до розпізнавання даного конкретного шрифту.
Недоліки зазначеного підходу:
- алгоритм повинен заздалегідь знати шрифт, що йому представляють для розпізнавання, тобто він повинен зберігати в базі різні характеристики цього шрифту;
- якість розпізнавання тексту, надрукованого довільним шрифтом, буде прямо пропорційна кореляції характеристик цього шрифту зі шрифтами, наявними в базі програми.
Ці фактори обмежують універсальність таких алгоритмів.
Для роботи програми розпізнавання необхідний блок настроювання на конкретний шрифт. Очевидно, що цей блок буде вносити свою частку помилок в інтегральну оцінку якості розпізнавання, або функцію встановлення шрифту доведеться покласти на користувача.
Програма, заснована на шрифтовому алгоритмі розпізнавання символів, вимагає від користувача спеціальних знань про шрифти взагалі, про їхні групи й відмінності один від одного, про шрифти, якими надруковано документ користувача. У випадку якщо паперовий документ не створений самим користувачем, а прийшов до нього ззовні, не існує загального способу довідатися, з використанням яких шрифтів був надрукований цей документ.
З іншого боку, у шрифтового підходу є перевага, завдяки якій його активно використовують й, очевидно, будуть використовувати в майбутньому. А саме, маючи детальну апріорну інформацію про символи, можна побудувати досить точні й надійні алгоритми розпізнавання. Взагалі, при побудові шрифтового алгоритму розпізнавання, на відміну від безшрифтового, надійність розпізнавання символу є інтуїтивно ясною й математично вираженою величиною. Ця величина визначається як відстань у якому-небудь метричному просторі від еталонного символу, пред'явленого програмі в процесі навчання, до символу, що програма намагається розпізнати.
Другий клас алгоритмів – безшрифтові або шрифтонезалежні, тобто алгоритми, що не мають апріорних знань про символи, що надходять до них на вхід. Ці алгоритми вимірюють й аналізують різні характеристики (ознаки), що властиві буквам як таким безвідносно шрифту й абсолютного розміру, яким вони надруковані. У граничному випадку для шрифтонезалежного алгоритму процес навчання може бути відсутнім. У цьому випадку характеристики символів вимірює, кодує й поміщає в базу програми сама людина. Однак, на практиці рідко зустрічаються випадки, коли такий шлях вичерпно вирішує поставлене завдання. Більш загальний шлях створення бази характеристик полягає в навчанні програми на вибірці реальних символів.
Hедоліком даного підходу є нижча якість розпізнавання, ніж у шрифтових алгоритмів. Це пов'язане з тим, що рівень узагальнення при вимірах характеристик символів набагато більший, ніж у випадку шрифтозалежних алгоритмів. Фактично це означає, що різні допуски й спрощення при вимірах характеристик символів для роботи безшрифтових алгоритмів можуть бути в 2-20 разів більші в порівнянні зі шрифтовими.
Переваги цього підходу тісно пов'язані з його недоліками. Основними перевагами є:
- універсальність. Це означає, з одного боку, можливість застосування цього підходу у випадках великої різноманітності символів, які можуть надійти на вхід системи; з іншого боку, за рахунок закладеної в них здатності узагальнювати, такі алгоритми можуть екстраполювати накопичені знання за межі навчальної вибірки, тобто стійко розпізнавати символи, на вигляд далекі від тих, які були присутні в навчальній вибірці.
- технологічність. Процес навчання шрифтонезалежних алгоритмів звичайно є більше простим й інтегрованим у тому розумінні, що навчальна вибірка не фрагментована на різні класи. При цьому відсутня необхідність підтримувати в базі характеристик різні умови спільного існування цих класів (некорельованість, незмішуваність, систему унікального іменування й т. п.). Проявом технологічності є також той факт, що часто вдається створити майже повністю автоматизовані процедури навчання.
- зручність у процесі використання програми. У випадку, якщо програма побудована на шрифтонезалежних алгоритмах, користувач не зобов'язаний знати що-небудь про сторінку, яку він хоче ввести в комп'ютерну пам'ять і повідомляти програму про ці знання. Також спрощується інтерфейс користувача програми за рахунок відсутності набору опцій і діалогів, що обслуговують навчання й керування базою характеристик. У цьому випадку процес розпізнавання можна представляти користувачеві як “чорний ящик” (при цьому користувач повністю не має змоги керувати, або якимось чином модифікувати хід процесу розпізнавання). У підсумку це приводить до розширення кола потенційних користувачів за рахунок включення в нього людей, що наділені мінімальною комп'ютерною грамотністю.
При розпізнаванні символів досить широко використовуються штучні нейронні мережі. Алгоритми, що використовують нейронні мережі для розпізнавання символів, часто будуються в такий спосіб. Зображення символу (растр), що є вхідним для розпізнавання, приводиться до деякого стандартного розміру. Як правило, використається растр розміром 16х16 пікселів.
Значення яскравості у вузлах нормалізованого растра використовуються, як вхідні параметри нейронної мережі. Число вихідних параметрів нейронної мережі дорівнює числу розпізнаваних символів. Результатом розпізнавання є символ, якому відповідає найбільше зі значень вихідного вектора нейронної мережі. Підвищення надійності таких алгоритмів пов'язано, як правило, або з