Технології автоматичного розпізнавання образів
Технологія автоматичного розпізнавання образів є однією з базових інтелектуальних інформаційних технологій і широко застосовується у технічній діагностиці (розпізнавання дефектів), медичній діагностиці (розпізнавання кардіограм, рентгенограм, УЗ-зображень тощо), розпізнаванні текстів та мови, робототехніці, охоронних системах тощо [25]. Більшість систем розпізнавання образів не здійснюють повною мірою інтелектуального розпізнавання, тобто розпізнавання з розумінням, а обмежуються зведенням задачі розпізнавання до задачі класифікації. Саме тому у сфері штучного інтелекту терміни «розпізнавання» і «класифікація», яка охоплює ідентифікацію (вирізнення певного об’єкта серед подібних йому), віднесення об’єкту до певного класу (який характеризується тим, що всі приналежні до нього об’єкти мають спільні ознаки, прояв яких може відрізнятися від об’єкта до об’єкта) та поділ об’єктів на класи, вживають як синоніми. В процесі розпізнавання інтелектуальна система за допомогою певних технічних пристроїв сприймає реальний об’єкт, створює його первинний опис, формує його модель і порівнює з модельними описами класів об’єктів, що зберігаються у пам’яті інтелектуальної системи. За результатами порівняння система приймає рішення про віднесення об’єкту до класу, з яким модельний опис об’єкту продемонстрував найбільшу збіжність. Для класифікації об’єктів в процесі розпізнавання образів застосовують переважно дві групи методів – дискримінантні (розпізнавання у просторі ознак) та структурні. За дискримінантних методів кожний об’єкт описується точкою у просторі ознак, поділеному на зони, що відповідають класам. Структурні методи враховують в процесі розпізнавання структуру об’єкта, описану певною формальною логічною фразою (синтаксичні, чи лінгвістичні методи) чи комбінацією ознак, заданих певним предикатом (логічні методи).
Сучасні системи оптичного читання текстів (OCR-системи) обмежуються зведенням задачі розпізнавання до задачі класифікації за ознаками простих об'єктів, яка описується відомим математичним апаратом розділяючих площин [38]. Ознаки можуть бути дихотомічними (є/немає), номінальними (приймає одне із значень переліку, наприклад, колір), порядковими (допускають порівняння, наприклад, велика, помірна, мала, дуже мала тощо) чи кількісними. Для кожного типу ознак існують свої міри відстані між об’єктами, для кількісних ознак це найчастіше евклідові відстані чи їх квадрати. Дискримінантні методи спираються на визначення класу об’єктів за гіпотезою компактності, згідно якої класу об’єктів відповідає компактна множина точок у певному просторі ознак Х, для якої: кількість граничних точок набагато менша загальної кількості точок класу; довільні внутрішні точки класу можна поєднати лінією, яка буде проходити лише через точки даної множини; всі внутрішні точки оточені точками лише цієї є множини. Якщо можна побудувати вигнуту лінію (вигнуту поаерхню), яка відокремлює точки певного класу К1 від точок інших класів К2, К3, …, Кп, класи вважаються роздільними і придатними для віднесення до них певних ознак. Функція g(X), значення якої для всіх точок класу К1 більше 0, а для точок всіх інших класів – менше 0, називається роздільною функцією [25].
За розпізнавання у просторі ознак, етап формування модельного опису об’єкта зводиться до виокремлення ознак та отримання їх числових значень. Порівнюючи ці значення з даними сформованого на етапі навчання класифікатора ознак, об’єкт відносять до певного класу, тобто здійснюють розпізнавання. Найпростішим методом розпізнавання є метод найближчого сусіда, за якого об’єкт відноситься до того класу, до якого належить його найближчий сусід чи більшість з k найближчих сусідів з навчальної вибірки.
Найвідомішими інтелектуальними системами розпізнавання образів є системи оптичного читання текстів (OCR-системи), де термін OCR (Optical Character Recognition) перекладається як автоматичне розпізнавання за допомогою спеціальних програм розпізнавання зображень символів друкованого або рукописного тексту (наприклад, введеного в комп'ютер за допомогою сканера) і перетворення його у формат, придатний для обробки текстовими процесорами, редакторами текстів тощо. Водночас скорочення OCR може розшифровуватися як Optical Character Reader і позначати пристрій оптичного розпізнавання символів або автоматичного читання тексту. Продуктивність сучасних пристроїв такого типу сягає сотень тисяч документів хорошої якості на добу [8].
Всі OCR-системи дотримуються принципів цілісності образів (інтерпретування результатів розпізнавання частини цілого виключно з урахуванням співвідношення цієї частини з іншими в межах єдиного цілого), цілеспрямованості розпізнавання (реалізації розпізнавання як процесу підтвердження висунутих гіпотез) та адаптивності (здатності системи розпізнавання до самонавчання) [111]. Кращі OCR-системи застосовують притаманну людині багатоступеневу технологію розпізнавання, яка містить етапи обробки контексту, грубого виділення ознак, висування гіпотези про об’єкт, виділення його складових, перевірки правильності відношень між цими частинами та переходу від гіпотези до висновку. Загальна схема розпізнавання тексту містить наступні етапи:
· сканування сторінки тексту сканером з формуванням графічного зображення цього тексту;
· розпізнавання зображень символів тексту та графічних образів;
· цифрове представлення тексту з перетворенням його у формат, придатний для обробки текстовими процесорами.
Графічний образ символу на виході сканера має вигляд шейпу - матриці з точок, яку можна редагувати поелементно. Так, нехай шейп «на око» відповідає літері «л» чи «п». Ближче він до «л», та без контекстної обробки стверджувати це із 100% певністю не можна. За контекстної обробки для розпізнавання «сумнівного» шейпу залучається інформація про результати розпізнавання сусідніх елементів тексту, найчастіше слова. Так, якщо «сумнівний» шейп входить у чотирилітерне слово «бі*ь», то він відповідає літері «л», а не «п», оскільки у словнику системи є слово «біль», а не «біпь». Якщо інформації про слово недостатньо для прийняття рішення про ідентифікацію шейпу, контекстному аналізу піддають ціле речення чи кілька речень, що утворюють змістовно цілісний чи граматично відокремлений фрагмент тексту (наприклад, абзац, комірка таблиці тощо).
Таким чином, система розпізнавання тексту реалізується як класифікатор. Виділяють три типи класифікаторів: шаблонні (растрові), ознакові та структурні. Найбільш розповсюдженими є ознакові класифікатори, найпростішими - шаблонні, у яких розпізнання шейпу зводиться до вибору відповідного шаблону з бази еталонних шаблонів за певним критерієм порівняння, найчастіше – за мінімальністю кількості відмінних від досліджуваного зображення точок. Класифікатор забезпечує високу швидкість розпізнавання та можливість розпізнавання дефектних символів, проте вимагає переналагодження залежно від типу та розміру шрифту.
У ознакових класифікаторах аналіз провадиться виключно за набором чисел чи ознак, які обчислюються за зображенням, тобто розпізнається не безпосередньо символ, а набір похідних від нього ознак, що призводить до певних втрат у інформації. Структурні класифікатори формують топологічну модель шейпу символу, яка відбиває взаємне розташування структурних елементів символу, у т.ч. у формі графу. Розпізнавання символів за цим методом не залежить від типу та розміру шрифту, проте є повільним і чутливим до дефектності символів. У сучасних системах розпізнавання текстів застосовуються всі типи класифікаторів, проте перевага віддається структурному; растровий та ознаковий класифікатори залучають для підвищення швидкості і надійнсті розпізнавання.
Провідне місце на ринку OCR-систем посідають російські програмні продукти:
· Fine Reader, Fine Reader Рукопись и Form Reader фирмы ABBYY Software House (http://www.abbyy.ru), призначені для розпізнання друкованих та рукописних багатомовних текстів;
· Cognitive Forms фірми Cognitive Technologies (http://www.cognitive.ru), призначена для масового введення структурованих документів (податкових декларацій, бухгалтерських форм, платіжних документів тощо).
Власне розпізнаванню тексту у системах типу Fine Reader передує етап аналізу графічних зображень, на якому здійснюється: виділення таблиць та малюнків; визначення областей розпізнавання; виділення рядків та символів. Розпізнавання символів у Fine Reader здійснюється за допомогою так називаного структурно-плямового еталону та його фонтанного (від англ. font — шрифт) представлення, яке має вигляд набору плям з попарними відношеннями між ними. Таке представлення поєднує всі переваги шаблонного та структурного класифікаторів і є нечутливим до типу шрифту і дефектів символів. Узагальнена схема роботи системи Fine Reader наведена на рис. 9.2.
При розпізнаванні рукописних текстів структурно-плямовий еталон аналізується з врахуванням особливостей траєкторії руху пишучого інструменту (виділяються кільця, дуги, точки, відрізки, інші топологічні ознаки). Під час висунення і підтвердження гіпотез застосовуються методи оптимізації при управлінні перебором варіантів. Система Fine Reader 7.0 розпізнає документи на 177 мовах (у т. ч. для 34 мов – з перевіркою орфографії), здатна обробляти документи з фрагментами тексту на різних мовах, підтримує виділення в документах і розпізнавання штрих-кодів (зокрема двомірних). В системі реалізовано притаманні людині інтелектуальні механізми: цілісне, цілеспрямоване, адаптивне сприйняття з настроюванням на зовнішні умови і самонавчанням. Точність розпізнавання рукописних текстів – 1-2 помилки на 3000 машиночительних знаків [8].
Рис. 9.2. Узагальнена схема роботи системы Fine Reader [8]
Окрім систем розпізнавання текстових документів, важливе значення мають спеціалізовані OCR-технології вирішення окремих класів задач автоматичного розпізнавання образів, зокрема: пошук людей за фотографіями; пошук родовищ корисних копалин та прогнозування погоди за даними аерофото- та супутникивої зйомки та складання географічних та метеорологічних карт на основі таких знімків; ідентифікування особи на основі аналізу відбитків пальців і малюнків райдужної оболонки ока в криміналістиці, охоронних і медичних системах. Для розв’язання цих задач створені спеціальні методи і алгоритми, подальший розвиток яких, так само як і OCR-технологій розпізнавання текстів, пов'язаний з їх подальшою інтелектуалізацією.