Оптичне розпізнавання символів

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Оптичне розпізнавання тексту (англ. optical character recognition, OCR) — це механічне або електронне переведення зображень рукописного, машинописного або друкованого тексту в послідовність кодів, що використовуються для представлення в текстовому редакторі. Розпізнавання широко використовується для конвертації книг і документів в електронний вигляд, для автоматизації систем обліку в бізнесі або для публікації тексту на вебсторінці. Оптичне розпізнавання тексту дозволяє редагувати текст, здійснювати пошук слова або фрази, зберігати його в компактнішій формі, демонструвати або роздруковувати матеріал, не втрачаючи якості, аналізувати інформацію, а також застосовувати до тексту електронний переклад, форматування або перетворення в мовлення. Оптичне розпізнавання тексту є досліджуваною проблемою в галузях розпізнавання образів, штучного інтелекту і комп'ютерного зору.

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

Історія[ред. | ред. код]

В 1929 році Густав Таущек отримав патент на метод оптичного розпізнавання тексту в Німеччині, після чого за ним пішов Гендель, отримавши патент на свій метод у США в 1933. В 1935 Таущек також отримав патент США на свій метод. Машина Таущека являла собою механічний пристрій, що використовує шаблони й фотодетектор.

В 1950 році Девід Х. Шепард, криптоаналітик з агентства безпеки збройних сил Сполучених Штатів, проаналізувавши задачу перетворення друкованих повідомлень у машинну мову для обробки комп'ютером, побудував машину, що розв'язує дане завдання. Після того як він отримав патент США, він сповістив про це в «Вашингтон Дейлі Ньюз» (27 Квітня 1951) і в «Нью-Йорк Таймс» (26 грудня 1953). Потім Шепард заснував компанію, що розробляє інтелектуальні машини, що незабаром випустила перші у світі комерційні системи оптичного розпізнавання символів.

Перша комерційна система була встановлена на «Рідерз дайджест» в 1955 році. Друга система була продана компанії «Standard Oil» для читання кредитних карт для роботи із чеками. Інші системи, що поставляються компанією Шепарда, були продані наприкінці 1950-х років, у тому числі сканер сторінок для національних повітряних сил США для читання й передачі телетайпом машинописних повідомлень. Пізніше ліцензію на використання патентів Шепарда отримала IBM.

Приблизно в 1965 «Рідерз Дайджест» і «Ар-Сі-Ей» почали співробітництво з метою створити машину для читання документів, що використовує оптичне розпізнавання тексту, призначену для оцифрування серійних номерів купонів «Рідерз Дайджест», що повернулися з рекламних оголошень. Для документів, надрукованих барабанним принтером «Ар-Си-Эй», був використаний спеціальний шрифт OCR-A. Машина для читання документів працювала безпосередньо з комп'ютером RCA 301 (одним із перших масивних комп'ютерів). Швидкість роботи машини була 1500 документів у хвилину: вона перевіряла кожний документ, крім тих, які вона не змогла обробити правильно. Поштова служба Сполучених Штатів використовує машини, що використовують оптичне розпізнавання тексту, для сортування пошти з 1965 року на основі технологій, розроблених дослідником Яковом Рабиновим. В Європі першою організацією, що використовує машини з оптичним розпізнаванням тексту, був британський поштамт. Пошта Канади застосовує системи оптичного розпізнавання символів з 1971 року. На першому етапі в центрі сортування системи оптичного розпізнавання символів зчитують ім'я й адресу одержувача й друкують на конверті штрих-код. Він наноситься спеціальним чорнилом, яке чітко видиме в ультрафіолетовому світлі. Це робиться, щоб уникнути плутанини з полем адреси, заповненим людиною, що може бути в будь-якому місці на конверті.

В 1974 році Рей Курцвейл створив компанію «Курцвейл Комп'ютер Продактс», і почав працювати над розвитком першої системи оптичного розпізнавання символів, здатної розпізнати текст, надрукований будь-яким шрифтом. Курцвейл уважав, що краще застосування цієї технології — створення машини читання для сліпих, котра дозволила б сліпим людям мати комп'ютер, що вміє читати текст уголос. Цей пристрій вимагав винаходу відразу двох технологій — планшетний ПЗЗ-сканер і синтезатор, що перетворює текст у мову. Кінцевий продукт був представлений 13 січня 1976 під час прес-конференції, очолюваної Курцвейлом і керівниками національної федерації сліпих.

В 1978 році компанія «Курцвейл Комп'ютер Продактс» розпочала продаж комерційної версії комп'ютерної програми оптичного розпізнавання символів. Через два роки Курцвейл продав свою компанію «Ксерокс», що була зацікавлена в подальшій комерціалізації систем розпізнавання тексту. «Курцвейл Комп'ютер Продактс» стала дочірньою компанією «Ксерокс», відомого як «Скансофт».

Поточний стан технології оптичного розпізнавання тексту[ред. | ред. код]

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

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

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

Он-лайн-системи для розпізнавання рукописного тексту «на льоту» останнім часом стали широко відомі як комерційні продукти. Алгоритми таких пристроїв використовують той факт, що порядок, швидкість і напрямок окремих ділянок ліній уведення відомі. Крім того, користувач уміє використовувати тільки конкретні форми письма. Ці методи не можуть бути використані в програмному забезпеченні, що використовує скановані паперові документи, тому проблема розпізнавання рукописного «друкованого» тексту, як і раніше, залишається відкритою. На зображеннях із рукописним «друкованим» текстом без артефактів може бути досягнута точність у 80% — 90%, але з такою точністю зображення буде перетворене в текст із десятками помилок на сторінці. Така технологія корисна в дуже обмеженому числі застосувань.

Ще одною широко досліджуваною проблемою є розпізнавання рукописного тексту. У цей час досягнута точність навіть нижча, ніж для рукописного «друкованого» тексту. Вищі показники можуть бути досягнуті тільки з використанням контекстної й граматичної інформації. Наприклад, у процесі розпізнання шукати цілі слова в словнику легше, ніж намагатися проаналізувати окремі символи з тексту. Знання граматики мови може також допомогти визначити, чи є слово дієсловом чи іменником. Форми окремих рукописних символів іноді можуть не містити достатньо інформації, щоб точно (більше 98%) розпізнати весь рукописний текст.

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

Програми розпізнавання[ред. | ред. код]

Назва Ліцензія Операційні системи Замітки
ABBYY FineReader комерційна власницька Windows; Linux, Mac OS (не для кінцевого споживача) Для роботи з різними мовами потрібна підтримка відповідної мови.
Brainware[en] Комерційна [джерело?] Windows Добування даних із документів і їхня обробка; наприклад, рахунки, повідомлення, накладні й платіжні доручення
COCR2 Безкоштовна Windows 9X, ME, 2000, XP Програма для розпізнавання спрощених і традиційних китайських ієрогліфів. Основне обмеження програми: для кожного ієрогліфа користувач повинен сам вибирати варіант його розпізнавання за допомогою миші або клавіатури. Але кількість розпізнаваних ієрогліфів досить велика — більше 10 000.
CuneiForm BSD Windows (з GUI), Linux, Mac OS, FreeBSD (CLI) Промислова, багатомовна система, уміє зберігати форматування тексту й розпізнає заплутані таблиці довільної структури
ExperVision TypeReader & RTK Комерційна [джерело?] Windows, Mac OS X, Unix, Linux, OS/2 Отримувала високі оцінки на початку 1990-х.
FineReaderOnline.ru комерційна інтерфейс: Браузер Online-OCR-сервіс, що дозволяє розпізнати багатомовний текст зі сканованого документа або фотографії. Конвертує результат у формати, що редагуються (PDF, PDF/A, DOC, RTF, XLS, TXT). У цей час до 10 сторінок у день можна розпізнавати безкоштовно.
FreeOCR Apache Інтерфейс: Браузер; Сервер: POSIX, Unix Платформа для браузерних систем розпізнавання символів. Використовує Tesseract. Велика кількість підтримуваних мов. Сторінка проекту: FreeOCR
GOCR GPL Крос-Платформна У початковій стадії розробки
HOCR GPL Linux Розпізнавання текстів на івриті
img2txt.com комерційна інтерфейс: Браузер Online-OCR-сервіс дозволяє розпізнати багатомовний текст зі сканованого документа або фотографії. Використовує Tesseract
Kirtas Technologies Arabic OCR Комерційна Windows Може розпізнавати арабські й англійські символи на одній сторінці.
Microsoft Office Document Imaging Комерційна Windows, Mac OS X
Microsoft Office OneNote 2007 Комерційна Windows
NewOCR.com комерційна інтерфейс: Браузер Online-OCR-сервіс дозволяє розпізнати багатомовний текст зі сканованого документа або фотографії. Підтримує 29 мов (болгарську, каталонську, чеську, данську, голландську, англійську, фінську, французьку, німецьку, грецьку, угорську, індонезійську, італійську, латиську, литовську, норвезьку, польську, португальську, румунську, російську, сербську, словацьку, словенську, іспанську, шведську, тагальську, турецьку, українську, в'єтнамську) і розпізнає текст, відформатований у декілька колонок.
NovoDynamics VERUS Комерційна [джерело?] ? Спеціалізується на мовах середнього сходу
Ocrad GPL Unix-like, OS/2
OCRopus Apache Linux Розширювана система розпізнавання, що може використовувати Tesseract
OmniPage[en] Комерційна (Nuance EULA) [джерело?] Windows, Mac OS Виробництво Nuance Communications[en]
OnlineOCR.ru комерційна інтерфейс: Браузер Online-OCR-сервіс дозволяє розпізнати багатомовний текст зі сканованого документа або фотографії. Конвертує результат у формати, що редагуються (PDF, DOC, XLS, TXT, HTML)
Persian Reader Комерційна [джерело?] Windows Спеціалізується перською мовою (фарсі).
Readiris Комерційна [джерело?] Windows, Mac OS Виробництво бельгійської I.R.I.S. Group. Містить регіональні пакети для розпізнавання азійських мов і мов середнього сходу.
ReadSoft[en] Комерційна [джерело?] Windows сканування, розпізнавання й класифікація ділових паперів, наприклад, договорів, рахунків і платіжних доручень.
RelayFax Network Fax Manager
компанії Alt-N Technologies
Комерційна [джерело?] Windows багатомовна система використовується для перетворення факсів у доступні для виправлення формати документів (doc, pdf тощо).
Scantron Cognition[en] Комерційна [джерело?] Windows для роботи з різними мовами потрібна підтримка відповідної мови.
SILVERCODERS OCR Server Комерційна [джерело?] Linux серверна багатомовна система, має високу якість розпізнавання, може зберігати форматування тексту й розпізнає заплутані таблиці довільної структури
SimpleOCR Freeware and commercial versions Windows
SmartScore[en] Комерційна [джерело?] Windows, Mac OS Для розпізнавання нотного запису
Tesseract Apache Windows, Mac OS X, Linux, OS/2 Розробляється компанією Google
ViewWise компанії Computhink Комерційна [джерело?] Windows Система керування документами
WeOCR MIT/X Consortium Інтерфейс: Браузер; Сервер: POSIX, Unix Платформа для браузерних систем розпізнавання символів. Сторінка проекту: WeOCR
Zonal OCR Комерційна [джерело?] Windows Zonal OCR допомагає автоматизувати добування даних із комп'ютерних зображень.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]