Что такое ocr в сканере. Признаки символов, используемые для автоматического распознавания текста. Обработка графа структуры

Системы оптического распознавания символов (OCR - Optical character recognition) стали неотьемлемой частью интегрированных пакетов, поддерживающих ввод в компьютер, хранение и обработку бумажных и электронных документов. Система включает в свой состав сканер для ввода информации.

Если созданное сканером изображение содержит текст и рисунки, то при помощи специальной программы оптического распознавания текста (OCR) можно:

  • - отделить текст от рисунков;
  • - записать этот текст в формате файла текстового процессора.

Программное обеспечение в современных системах OCR выполняет анализ форм букв и создание текстового файла, в который распознаваемый текст записывается посимвольно с последовательным формированием слов и предложений.

Существует два типа пакетов OCR: обучаемые и интеллектуальные. Первые пакеты оптического распознавания символов имели четкое разделение по типу. В последнее время наблюдается тенденция к объединению этих двух типов в одном пакете, что перекликается с попытками разработать принципиально новые алгоритмы распознавания.

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

Интеллектуальные пакеты OCR не нуждаются в обучении и могут интерпретировать формы символов независимо от используемой гарнитуры. Работа этих программ производит большое впечатление: документ пропускается через сканер, результат обрабатывается интеллектуальной программой OCR с выдачей текстового файла. Для страницы формата А4 вся процедура занимает немногим более одной минуты. При высокой точности это значительно быстрее ручного ввода.

FineReader - это система оптического распознавания текстов (OCR), которая преобразует полученное с помощью сканера графическое изображение (картинку) в текст (т. е. в коды букв, «понятные» системе).

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

Рисунок 2. Интерфейс программы FineReader 11

Интеллектуальная система оптического распознавания символов (Optical Character Recognition, OCR) Cuneiform функционирует в среде Microsoft Windows 3.1 или более поздней версии. Система обладает следующими технологическими возможностями: поддерживает широкий спектр настольных сканеров;распознает отсканированную страницу (включая многоколонный текст и текст со сложным оформлением); позволяет сканировать и записывать изображение как TIFF, а распознавание запускать потом (при этом удобно сканировать пачку документов); может читать изображения, отсканированные другими программами, и факсы в режимах Fine и Normal;распознает буквы русского и английского алфавитов, исключая стилизованные шрифты типа готических букв; может сохранять первоначальные форматирование и табуляцию и регулировать отступы и выравнивание; не распознает рукописный текст.

Экран Сuneiform содержит четыре основные части, отмеченные на рисунке.


Рисунок 3. Интерфейс программы Сuneiform

Новая версия системы распознавания Intuitia 2.0 for Windows использует Омнифонт-технологию (распознает различные шрифты без какого бы то ни было обучения). Она обеспечивает распознавание изображений текстовых материалов из файлов в форматах TIFF, PCX, BMP, а также со всех Сканеров, поддерживающих протокол TWAIN, а также со сканеров семейства HP ScanJet (напрямую).

Система ввода и распознавания рукописных текстов PenO"Man for Windows - средство рукописного ввода, распознавания и редактирования текстов при помощи пера: имеется возможность ввода и редактирования как английского, так и русского слитно написанного текста во всех приложениях Windows; процесс ввода аналогичен обычному использованию ручки при письме слева направо, желательно аккуратным почерком и с классическим левым наклоном; редактирование уже введенного текста возможно в результате использования стандартных функций (вставке, удалению, переносу, активизации фрагментов текста и т. д.), а также простых росчерков пера.

Представьте, вам надо оцифровать журнальную статью или распечатанный договор. Конечно, вы можете провести несколько часов, перепечатывая документ и исправляя опечатки. Либо вы можете перевести все требуемые материалы в редактируемый формат за несколько минут, используя сканер (или цифровую камеру) и программу для оптического распознавания символов (OCR).

Что подразумевают под технологией оптического распознавания символов

Оптическое распознавание символов (англ. Optical Character Recognition – OCR) – это технология, которая позволяет преобразовывать различные типы документов, такие как отсканированные документы, PDF-файлы или фото с цифровой камеры, в редактируемые форматы с возможностью поиска.

Предположим, у вас есть бумажный документ, например, статья в журнале, брошюра или договор в формате PDF, присланный вам партнером по электронной почте. Очевидно, для того чтобы получить возможность редактировать документ, его недостаточно просто отсканировать. Единственное, что может сделать сканер, – это создать изображение документа, представляющее собой всего лишь совокупность черно-белых или цветных точек, то есть растровое изображение.

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

Какие принципы лежат в основе технологии FineReader OCR?

Наиболее совершенные системы распознавания символов, такие как ABBYY FineReader OCR, делают акцент на использовании механизмов, созданных природой. В основе этих механизмов лежат три фундаментальных принципа: целостность, целенаправленность и адаптивность (принципы IPA).

Изображение, согласно принципу целостности, будет интерпретировано как некий объект, только если на нем присутствуют все структурные части этого объекта и эти части находятся в соответствующих отношениях. Иначе говоря, ABBYY FineReader не пытается принимать решение, перебирая тысячи эталонов в поисках наиболее подходящего. Вместо этого выдвигается ряд гипотез относительно того, на что похоже обнаруженное изображение. Затем каждая гипотеза целенаправленно проверяется. И, допуская, что найденный объект может быть буквой А, FineReader будет искать именно те особенности, которые должны быть у изображения этой буквы. Как и следует поступать, исходя из принципа целенаправленности. Принцип адаптивности означает, что программа должна быть способна к самообучению, поэтому проверять, верна ли выдвинутая гипотеза, система будет, опираясь на накопленные ранее сведения о возможных начертаниях символа в данном конкретном документе.

Какая технология лежит в основе OCR?

Компания ABBYY, опираясь на результаты многолетних исследований, реализовала принципы IPA в компьютерной программе. Система оптического распознавания символов ABBYY FineReader – единственная в мире система OCR, действующая в соответствии с вышеописанными принципами на всех этапах обработки документа. Эти принципы делают программу максимально гибкой и интеллектуальной, предельно приближая ее работу к тому, как распознает символы человек. На первом этапе распознавания система постранично анализирует изображения, из которых состоит документ, определяет структуру страниц, выделяет текстовые блоки, таблицы. Кроме того, современные документы часто содержат всевозможные элементы дизайна: иллюстрации, колонтитулы, цветной фон или фоновые изображения. Поэтому недостаточно просто найти и распознать обнаруженный текст, важно с самого начала определить, как устроен рассматриваемый документ: есть ли в нем разделы и подразделы, ссылки и сноски, таблицы и графики, оглавление, проставлены ли номера страниц и т. д. Затем в текстовых блоках выделяются строки, отдельные строки делятся на слова, слова на символы.

Важно отметить, что выделение символов и их распознавание также реализовано в виде составных частей единой процедуры. Это позволяет в полной мере использовать преимущества принципов IPA. Выделенные изображения символов поступают на рассмотрение механизмов распознавания букв, называемых классификаторами.

В системе ABBYY FineReader применяются классификаторы следующих типов: растровый, признаковый, контурный, структурный, признаково-дифференциальный и структурно-дифференциальный. Растровый и признаковый классификаторы анализируют изображение и выдвигают несколько гипотез о том, какой символ на нем представлен. В ходе анализа каждой гипотезе присваивается определенная оценка (так называемый вес). По итогам проверки мы получаем список гипотез, проранжированный по весу (то есть по степени уверенности в том, что перед нами именно такой символ). Можно сказать, что в данный момент система уже «догадывается», на что похож рассматриваемый символ.

После этого в соответствии с принципами IPA ABBYY FineReader проводит проверку выдвинутых гипотез. Это делается с помощью дифференциального признакового классификатора.

Кроме того, следует отметить, что ABBYY FineReader поддерживает 192 языка распознавания. Интеграция системы распознавания со словарями помогает программе при анализе документов: распознавание происходит более точно и упрощает дальнейшую проверку результата с учетом данных об основном языке документа и словарной проверки отдельных предположений. После подробной обработки огромного числа гипотез программа принимает решение и предоставляет пользователю распознанный текст.

Распознавание цифровых фотографий

Изображения, полученные при помощи цифровой камеры, отличаются от отсканированных документов или PDF, представляющих собой изображение.

У них зачастую могут быть определенные дефекты, например искажения перспективы, засветки от фотовспышки, изгибы строк. При работе с большинством приложений такие дефекты могут существенно усложнить процесс распознавания. В связи с этим последние версии ABBYY FineReader содержат технологии предварительной обработки изображения, которые успешно выполняют задачи по подготовке изображений к распознаванию.

Как пользоваться OCR-программами

Технология ABBYY FineReader OCR проста в использовании – процесс распознавания в целом состоит из трех этапов: открытие (или сканирование) документа, распознавание и сохранение в наиболее подходящем формате (DOC, RTF, XLS, PDF, HTML, TXT и т. д.) либо перенос данных напрямую в офисные программы, такие как Microsoft® Word®, Excel® или приложения для просмотра PDF.

Кроме того, последняя версия ABBYY FineReader позволяет автоматизировать задачи по распознаванию и конвертации документов с помощью приложения ABBYY Hot Folder. С помощью него можно настраивать однотипные или повторяющиеся задачи по обработке документов и увеличить производительность работы.

Какие преимущества вы получаете от работы с OCR-программами

Высокое качество технологий распознавания текста ABBYY OCR обеспечивает точную конвертацию бумажных документов (сканов, фотографий) и PDF-документов любого типа в редактируемые форматы. Применение современных OCR-технологий позволяет сэкономить много сил и времени при работе с любыми документами. С ABBYY FineReader OCR вы можете сканировать бумажные документы и редактировать их. Вы можете извлекать цитаты из книг и журналов и использовать их без перепечатывания. С помощью цифровой фотокамеры и ABBYY FineReader OCR вы можете моментально сделать снимок увиденного постера, баннера, а также документа или книги, когда под рукой нет сканера, и распознать полученное изображение. Кроме того, ABBYY FineReader OCR можно использовать для создания архива PDF-документов с возможностью поиска.

Весь процесс преобразования из бумажного документа, снимка или PDF занимает меньше минуты, а сам распознанный документ выглядит в точности как оригинал!

Любой современный человек, постоянно работающий с документами, время от времени задает себе злободневный вопрос: зачем повторно набирать текст, если ранее это уже кто-то сделал? У многих пользователей такая регулярно повторяющаяся задача вызывает раздражение с примесью обиды за то, что приходится бессмысленно дублировать чью-то работу. Естественно, разработчики программного обеспечения не могли остаться равнодушными к столь типичной ситуации, ликвидация которой к тому же обещала солидные прибыли. Так были созданы системы известные в России как системы оптического распознавания текста , а в англоговорящих странах - как OCR .

Сегодня область применения программного обеспечения OCR существенно расширилась: вначале оно применялось преимущественно в финансово-банковской сфере, решая специфические задачи автоматизации по вводу анкетных и опросных данных, но сегодня OCR -программы применяются уже повсеместно для работы с любыми документами. Трудно переоценить значение OCR-систем, превратившихся в такой необходимый софт и для офисного, и для домашнего компьютера.

Давайте кратко пройдемся по всем основным на рынке OCR -системам и выделим главные и характерные для них особенности.

Перед тем как начать рассмотрение OCR -систем, давайте сначала хотя бы минимально приведем их классификацию для удобства дальнейшего рассмотрения. На данный момент выделяют OCR -системы (Optical character recognition, OCR ) , а также ICR -системы (I ntelligent C haracter R ecognition, ICR ). Несколько упрощая суть отличий между ними, можно считать, что ICR -системы - это следующее поколение в развитии OCR -систем.В ICR гораздо более активно и серьёзно используются возможности искусственного интеллекта, в частности, ICR -системы часто используются для распознавания рукописных текстов, декоративных непостоянных шрифтов, а также, как самый яркий пример, преодолению тех же систем по защите от спам-ботов - каптч (captcha ). Третий, пока ещё только теоретический уровень качества распознавания текста, это IWR (Intelligent word recognition, IWR), в которой считываются и распознаются не отдельные символы/точки, а считываются и распознаются связные фразы целиком.

Существует несколько систем, причисляющих себя к категории ICR . Это, преждевсего, FineReader, OmniPage Professional, Readiris Corporate, Type Reader Desktop. Давайте сравним их всех и рассмотрим возможные альтернативы.

Известные отечественные продукты

Зарубежные продукты

Три других известных продукта, получившие малое распространение на территории СНГ в силу полного отсутствия представителей и маломальского маркетинга на этих бескрайних кириллических территориях, но известные на Западе и достойные хотя бы краткого упоминания, хотя бы потому, что также позиционируют себя как продукты ICR-класса. В нише некириллического распознавания они вполне могут составить здоровую конкуренцию даже лидеру рынка - FineReader.

Первый их них, это пакет от компании I.R.I.S. Group, представляет собой очень серьёзный OCR -продукт. Достаточно сказать, что начиная с c ентября 2006 года технология от компании I .R .I .S . была лицензирована и используется в продуктах Adobe systems . Согласно внутреннему тестированию самой Adobe эта технология оказалось самой удачной из всех рассмотренных на рынке.

Нужно отметить, что это удачное стороннее решение “похоронило” свою собственную разработку Adobe - родного OCR -движка, - которая поставлялась многие годы в рамках решения , и вот теперь новый OCR Adobe доступен в виде отдельного в другие популярные продукты Acrobat . Последняя версия Readiris v12 поддерживает все версии Windows и MacOS X , а всего поддерживается работа с более чем 120 языками.

Следующая крупная разработка от американской компании - . Этот движок разработан в тесном сотрудничестве с Университетом Невада в Лас-Вегасе. Этот движок распространяется по миру сразу во многих формах, начиная от интегрирования его в крупные западные системы документооборота (D ocument I maging M anagement, DIM), и заканчивая участием во многих американских программах по автоматической обработке форм (F orms P rocessing S ervices, FPS).

Например, в 2008 году газета Los Angeles Times после собственного тестирования ведущих мировых OCR выбрала для своего внутреннего использования как раз именно TypeReader. Хочется заметить, что данный продукт доступен как в традиционном десктопном исполнении (Windows , MacOS , Linux ), в виде корпоративного web -сервиса, так и в форме облачного арендуемого приложения, способного обрабатывать любые объемы распознаваемого текста в очень короткие сроки.

Бесплатные OCR-решения

Интересный собственный движок развивает и Google . - это первоначально закрытый коммерческий OCR -движок который создала Hewlett -Packard , работая над ним в промежутке между 1985 и1995 годами. Но после закрытия проекта и прекращения его развития, HP выпустило его код как open source в 2005 году. Разработку сразу подхватила Google , лицензируя уже свой продукт под свободной лицензией Apache . На данный момент Tesseract считается одним из самых точных и качественных бесплатных движков из всех существующих.

Нужно при этом четко представлять, что Tesseract - это классическая OCR для “сырой” обработки текста, т.е. в нем нет ни графической оболочки для удобного управления процессом,ни многих других дополнительных функций. Это обычная консольная утилита (есть версии для Windows , MacOS , Linux ), на вход которой подается изображение в формате TIFF , а на выходе Tesseract выдает “чистый текст”. При этом никакого анализа компоновки текста или стилей оформления здесь не производится, это процесс распознавания в его простейшей форме.

Для большего удобства работы, в качестве графического фронтенда, с этим движком можно использовать многие утилиты, например известные или . Но все же хочется отметить, что качество бесплатного C uneiForm/OpenOCR немного превосходит показатели Tesseract , хотя во многом это полностью аналогичные продукты.

Кроме бесплатного Tesseract ещё стоит упомянуть и . SimpleOCR очень достойное решение для OCR , и хотя оно не развивается уже с 2008 года, но оно как минимум ничем не уступает Tesseract . Продукт бесплатен для любого некоммерческого использования, и поставляется для Windows всех версий. Из сильных минусов - поддержка только двух языков: английского и французского.

Кроме традиционных десктоповых бесплатных решений, существует множество альтернативных онлайновых сервисов, бесплатно предлагающих OCR качество распознавания существенно ниже их коммерческих аналогов. Для успешного решениябизнес задач (и других серьёзных повседневных задач) лучше ориентироваться на коммерческие системы ICR -класса, которые были рассмотрены в первой половине этой статьи.

OCR&ICR Technology White Paper

  1. Введение.
    1.1 OCR и ICR -системы. Критерии оценки систем распознавания.

    Современные системы оптического распознавания символов (optical character recognition , OCR) могут быть условно разделены на две категории. Собственно OCR-системы решают ставшую классической задачу распознавания печатных символов, нанесенных на бумагу при помощи принтера, плоттера или пишущей машинки (при этом подразумевается, что любая система распознавания работает с электронным изображением документа, обычно получаемым при помощи сканера). Кроме того, выделяют класс ICR -систем (intelligent character recognition), в задачи которых входит обработка документов, заполненных печатными буквами и цифрами от руки, или, иначе говоря, распознавание рукопечатных символов.

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

    A REC = 100% * N OK / N 0 ; (1.1)

    где N OK и N 0 есть количество верно распознанных символов и общее количество символов документа соответственно. Вполне естественно, что производители OCR\ICR-систем в первую очередь фокусируют внимание на оптимизации используемых алгоритмов с точки зрения точности распознавания.

    1.2 Технологии ABBYY.

    На протяжении последних шести лет на мировом рынке присутствуют OCR\ICR-системы, построенные на базе технологий компании ABBYY. На сегодняшний день они хорошо известны и пользуются стабильным спросом. В частности, программное ядро (engine) OCR -системы ABBYY FineReader лицензировано и успешно эксплуатируется такими известными компаниями, как Cardiff Software, Inc., Cobra Technologies, Kofax Image Products, Kurzweil Educational Systems, Inc., Legato Systems, Inc., Notable Solutions Inc., ReadSoft AB, Saperion AG, SER Systems AG, Siemens Nixdorf, Toshiba Corporations.

    В рамках данного документа будут описаны базовые принципы технологий ABBYY, и, кроме того, будут подробно рассмотрены процедуры распознавания печатных (OCR) и рукопечатных (ICR) символов, реализованные в продуктах ABBYY .

  2. Базовые принципы технологий распознавания текста ABBYY.
    2.1 Принципы IPA.

    Преобразование документа в электронный вид выполняется OCR-системами поэтапно: сканирование и предварительная обработка изображения, анализ структуры документа, распознавание, проверка результатов, затем производится реконструкция (воссоздание исходного вида) документа, и экспорт. Методы, применяемые при распознавании, весьма разнообразны.

    Но, как известно, лучшие в мире системы оптического распознавания конструирует природа. Устройство участков нервной системы, доставляющих и обрабатывающих сигналы органов зрения, настолько сложно, что задача моделирования живых «распознавателей» в общем виде до сих пор не решена наукой. Однако базовые принципы их функционирования изучены хорошо и могут быть использованы на практике. Их насчитывают три:

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

      Принцип целенаправленности (purposefulness) : любая интерпретация данных преследует определённую цель. Следовательно, распознавание должно представлять собой процесс выдвижения гипотез о целом объекте и целенаправленной их проверки. Понятно, что система, действующая в соответствии с принципом целенаправленности, не только экономнее расходует вычислительные мощности, но и существенно реже ошибается.

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

    Технологии распознавания, разработанные компанией ABBYY, построены именно на этих принципах. Вместо полных названий принципов часто употребляют аббревиатуру IPA , составленную из первых букв соответствующих английских слов. Очевидно, что система распознавания, работающая в соответствии с принципами IPA , будет функционировать максимально гибко и точно, на грани осмысленного действия.

    Компания ABBYY , опираясь на результаты многолетних исследований, реализовала принципы IPA в рамках своих технологий оптического распознавания символов. ABBYY FineReader – единственная в мире OCR -система, которая действует в соответствии с вышеописанными принципами на всех этапах обработки документа.

    В частности, на этапе распознавания фрагмент изображения, согласно принципу целостности , будет интерпретирован как некий объект (символ), только если на нём присутствуют все структурные части этого объекта, и эти части находятся в соответствующих отношениях. Поэтому ABBYY FineReader не пытается принимать решение, перебирая тысячи эталонов в поисках наиболее подходящего. Вместо этого выдвигается ряд гипотез относительно того, на что похоже обнаруженное изображение, затем каждая гипотеза целенаправленно проверяется. Причём проверять, верна ли выдвинутая гипотеза, система будет, используя принцип адаптивности , опираясь на накопленные ранее сведения о возможных начертаниях символа в распознаваемом документе.

    2.2 Многоуровневый анализ документа. MDA.

    На этапе анализа и предварительной обработки изображения перед любой OCR -системой стоят две основных задачи: во-первых, подготовить изображение к процедурам распознавания, во-вторых, выявить структуру документа – с тем, чтобы в дальнейшем иметь возможность воссоздать её в электронном виде. Процедуры предварительной обработки будут рассмотрены в следующей главе, сейчас же обратимся к задаче анализа структуры.

    Наибольшее распространение получили так называемые методы анализа иерархической структуры документа. При анализе структуры в рамках этих методов обычно выделяют несколько иерархически организованных логических уровней. Объект наивысшего уровня только один – собственно страница, на следующей ступени иерархии располагаются таблица, текстовый блок и картинка, и так далее (рис.1). Понятно, что любой объект может быть представлен как набор объектов более низкого уровня.

    Рис.1. Иерархическая структура документа

    Большинство современных OCR-систем ведёт анализ документа в соответствии с одним из следующих принципов: top - down («сверху вниз») либо bottom - up («снизу вверх»). Анализ документа по принципу top - down , как следует из названия, ведётся в направлении сверху вниз. Система делит страницу на объекты, их, в свою очередь – на объекты низших уровней, и так далее, вплоть до символов. Системы, в основу которых положен второй принцип, напротив, начинают анализ с поиска одиночных знаков. Затем формируется представление о том, как найденные символы были сложены в слова, и так далее, вплоть до формирования полного электронного аналога страницы.

    Для принятия решений относительно того или иного объекта нередко используется механизм так называемого «голосования», voting. Суть данного метода заключается в параллельной выработке нескольких гипотез относительно объекта и передаче их «эксперту», логическому блоку, выбирающему одну из них.

    Такой метод широко практиковался на протяжении последнего десятилетия; в частности, существуют OCR-системы, буквально составленные из двух или более независимых механизмов распознавания с общим «экспертом» на выходе. Впрочем, как показала практика, подобное построение хорошо именно в тех случаях, когда OCR-программа использует «чужие», лицензированные механизмы распознавания. В ситуации, когда информация обо всех тонкостях работы каждого распознавателя недоступна производителю программы, такое решение оказывается наиболее удобным. Если же производитель разрабатывает распознаватели своими силами, то качество распознавания можно улучшить более эффективными способами. Именно о них и пойдет речь в данном документе.

    Разработчики компании ABBYY создали уникальный алгоритм многоуровневого анализа документа – его называют MDA (multilevel document analysis) – позволяющий объединить преимущества обоих вышеописанных принципов. В рамках MDA структура страницы рассматривается подобно тому, как это делается по методу top - down , а воссоздание документа в электронном виде по окончании распознавания ведётся «снизу вверх», аналогично методу bottom - up . При этом в алгоритм добавлен механизм обратной связи, охватывающей все уровни анализа, что позволило резко понизить вероятность грубых ошибок, связанных с неверным распознаванием объектов высоких уровней.

    Возможности нового алгоритма оказались существенно шире, чем у прототипов. Заметим, что объекты любого уровня OCR -системы ABBYY распознают в полном соответствии с принципами IPA : в первую очередь выдвигаются гипотезы относительно типов обнаруженных объектов, затем они целенаправленно проверяются. При этом учитываются найденные ранее особенности данного документа, а также сохраняется вся вновь поступающая информация.

    Рассмотрим особенности алгоритма MDA на следующем примере. Допустим, на странице выделен ряд объектов, один из которых идентифицирован как текстовый блок. Однако в процессе изучения структуры блока обнаруживается специфическое выравнивание, анализ разделяющих слова интервалов показывает, что блок не содержит связного текста, даже если допустить, что он набран с разрядкой. На основании накопленной информации принимается решение пересмотреть результаты предыдущего уровня анализа: это не текстовый блок, а таблица без разделительных линий. После чего распознавание блока продолжается в обычном порядке, но теперь оно будет проведено практически без ошибок, и в итоговом документе таблица будет воспроизведена именно как таблица.

    Одним словом, за счёт того, что результаты анализа на одном из нижних уровней всегда могут повлиять на действия с объектами более высоких уровней, достигается многократное увеличение точности распознавания по сравнению с типовыми алгоритмами.

    Мы кратко рассмотрели основные принципы технологий оптического распознавания символов ABBYY. Как упоминалось, распознавание любого документа производится поэтапно, при помощи усовершенствованной процедуры многоуровневого анализа документа (MDA) . Деление страницы на объекты низших уровней, вплоть до отдельных символов, распознавание символов и «сборку» электронного документа ABBYY FineReader проводит, опираясь на принципы целостности , целенаправленности и адаптивности (IPA) .


    Вышеприведённое описание весьма и весьма общо. Мы рассмотрели базовые принципы, не осветив собственно процесс распознавания. В рамках следующей главы будут подробно описаны все этапы работы с объектами разных уровней документа вплоть до отдельных символов.
  3. Описание OCR-процедуры.
    3.1 Предварительная обработка изображения.

    Обработка документа начинается с получения графического образа (изображения) страницы. Современные OCR-системы поддерживают оба основных способа получения изображений, из файла и от сканера. Взаимодействие со сканером обычно осуществляется средствами универсального протокола TWAIN. Так или иначе, входными данными для OCR-программы служит цветное (глубина цвета 24 бит) либо полутоновое (глубина цвета 8 бит) изображение документа.

    3.2 Распознавание объектов высших уровней. Бинаризация.

    Прежде, чем приступить к структурированию страницы, выделению и идентификации блоков, OCR -система производит бинаризацию , то есть преобразование цветного или полутонового образа в монохромный (глубина цвета 1 бит). Однако современные документы часто содержат такие элементы дизайна, как фоновые текстуры или изображения. После типовой процедуры бинаризации любая текстура оставит большое количество «лишних» точек, расположенных вокруг символов и резко снижающих качество распознавания. Бинаризация фоновых изображений приводит к аналогичным последствиям. Поэтому способность системы правильно отделять текст от «подложенных» текстур и картинок очень важна.


    Рис.2. Обработка процедурой IBF документа с фоновой текстурой.

    Иллюстрацией последнего тезиса может послужить пример, показанный на рис.2. Как показывают многочисленные эксперименты, OCR-система, начинающая обработку этой или похожей страницы с типовой процедуры бинаризации, показывает крайне низкий результат. В среднем точность на страницах подобного вида составляет для разных систем от 31,1% до 62,7%, что фактически равносильно отказу от распознавания .

    Однако ABBYY FineReader вполне корректно обрабатывает подобные документы; как показывают эксперименты, средняя точность распознавания страниц такого вида равна 98,7% . Успешно разрешить вышеописанную проблему позволяет процедура интеллектуальной фильтрации фоновых текстур, (intelligent background filtering , IBF ). Запускаемая при необходимости, в зависимости от результатов предварительного анализа страницы, эта процедура позволяет уверенно отделять текст от сколь угодно сложного фона. Более того, и выделение объектов высших уровней – текстовых блоков, таблиц, и т.п. – на страницах сложной структуры после обработки процедурой IBF выполняется значительно точнее.

    Однако наличие фоновых изображений или текстур – далеко не единственная особенность документа, способная понизить качество распознавания. Например, страница, показанная на рис.3, не содержит явно выраженных фоновых элементов. Однако попытка обработки ее средствами большинства OCR -систем приведет к недопустимо низким результатам. Причиной тому невысокая контрастность оригинала, а также наблюдаемое на протяжении большинства строк заметное изменение яркости фона. Обычная OCR -система, подобрав параметры бинаризации для одного участка документа, не сможет уверенно выделить объекты на соседних участках – они окажутся либо «засвеченными», либо «зачерненными».


    Рис.3. Без обработки процедурой адаптивной бинаризации этот документ распознается плохо.

    Технологии, разработанные специалистами ABBYY , позволяют решить и эту проблему. Процедура адаптивной бинаризации (adaptive binarization , AB ) способна гибко выбирать оптимальные для данного участка (фрагмента строки или даже слова) параметры бинаризации. Прибегнув к адаптивной бинаризации, ABBYY FineReader исследует яркость фона и насыщеность черного цвета на протяжении всей строки и подберет оптимальные параметры преобразования для каждого фрагмента по отдельности. В результате, как строки, так и отдельные слова будут выделены правильно, что повысит общую точность распознавания A REC .

    Весьма показательны результаты сравнительного исследования, проведенного на базе изображений, подобных показанному на рис.3. Методика тестирования подробно описана в , результаты представлены в нижеприведённой таблице.

    Таблица 1.
    Повышение качества распознавания
    за счёт применения адаптивной бинаризации.

    Как видно из таблицы, применение адаптивной бинаризации позволяет существенно повысить точность распознавания. С точки зрения технического исполнения, идея AB , являющейся частью усовершенствованного алгоритма MDA , заключается в использовании обратной связи для оценки качества преобразования того или иного участка. Обобщённая блок-схема алгоритма процедуры адаптивной бинаризации приведена на рис. 4.


    Рис.4. Обобщённая блок-схема алгоритма процедуры адаптивной бинаризации.

    3.3 Распознавание символов. Классификаторы.

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


    Рис.5. Упрощённая схема работы классификатора.

    В общем виде работу классификатора иллюстрирует схема рис.5. Как показано, по окончании обработки классификатор порождает список гипотез относительно принадлежности очередного изображения к тому или иному классу, либо – в том случае, когда входные данные уже представляют собой список – соответствующим образом изменяет веса имеющихся гипотез, подтверждает или опровергает их. Выходной список всегда ранжирован по весу (уверенности).

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

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

    В системах распознавания, построенных на технологиях ABBYY , применяются следующие типы классификаторов: растровый, признаковый, признаковый дифференциальный, контурный, структурный и структурный дифференциальный. Рассмотрим свойства и особенности каждого из них.

      Растровый классификатор.
      Принцип действия основан на прямом сравнении изображения символа с эталоном. Степень несходства при этом вычисляется как количество несовпадающих пикселей. Для обеспечения приемлемой точности растрового классификатора требуется предварительная обработка изображения: нормализация размера, наклона и толщины штриха. Эталон для каждого класса обычно получают, усредняя изображения символов обучающей выборки.

      Этот классификатор прост в реализации, работает быстро, устойчив к случайным дефектам изображения, однако имеет относительно невысокую точность. Широко используется в современных системах распознавания символов. В системе ABBYY FineReader на начальном этапе распознавания для быстрого порождения предварительного списка гипотез задействована одна из разновидностей растрового классификатора. Точность этого распознавателя , оцененная по первым трём позициям списка, составляет 99,29% 97,57% .

      Признаковый классификатор.
      Принцип действия: изображению ставится в соответствие N-мерный вектор признаков. Собственно классификация заключается в сравнении его с набором эталонных векторов той же размерности. Тип и количество признаков в немалой степени определяют качество распознавания. Формирование вектора (вычисление его координат в N -мерном пространстве) производится во время анализа предварительно подготовленного изображения. Данный процесс называют извлечением признаков. Эталон для каждого класса получают путём аналогичной обработки символов обучающей выборки.


      Рис.6. Блок-схема работы признакового классификатора.

      Сравнение каждой пары векторов заключается в вычислении оценки, характеризующей расстояние между точками в N-мерном пространстве (точка – геометрическое представление такого вектора). Пример, иллюстрирующий данный метод, приведён на рис.7; для наглядности в этом примере мы полагаем N=2, то есть вектора находятся в обычном двумерном пространстве. Координаты X0, Y0 вектора-эталона вычислены заранее, при обучении классификатора, тогда как X1, Y1 получены на этапе извлечения признаков. Понятно, что чем меньше оказывается значение оценочной величины |L|, тем точнее анализируемое изображение соответствует данному эталону, следовательно, тем более высокий вес будет присвоен классификатором этой гипотезе. В общем виде зависимость, по которой определяется |L|, записывается таким образом:

      Основные достоинства признакового классификатора – простота реализации, хорошая обобщающая способность, хорошая устойчивость к изменениям формы символов, низкое число отказов от распознавания, высокое быстродействие. Наиболее серьёзный его недостаток – неустойчивость к различным дефектам изображения. Кроме того, признаковые классификаторы обладают другим серьёзным недостатком – на этапе извлечения признаков происходит необратимая потеря части информации о символе. Извлечение признаков ведётся независимо, поэтому информация о взаимном расположении элементов символа утрачивается.

      Точность работы признакового классификатора сильно зависит от качества выбранных признаков. Под качеством в данном случае понимается их способность максимально точно, но не избыточно, охарактеризовать начертание символа. Чётких правил отбора признаков не существует, поэтому классификаторы от разных разработчиков оперируют различными наборами признаков.

      Этот тип классификаторов весьма популярен у разработчиков OCR -систем. В системе ABBYY FineReader используется признаковый классификатор с числом признаков N=224. Его назначение – то же, что у растрового классификатора – быстрое порождение списка предварительных гипотез. Точность используемой разновидности по первым трём вариантам списка гипотез составляет 99,81% , точность по первому варианту 99,13% .

      Контурный классификатор.
      Обособленная разновидность признакового классификатора. Отличается от последнего тем, что для извлечения признаков использует контуры, предварительно выделенные на изображении символа. Принципы функционирования, основные достоинства и недостатки совпадают с названными выше.

      Этот классификатор предназначен для распознавания текста, набранного декоративными шрифтами (например, стилизованного под готический, старорусский стиль, и т.п.). Работает несколько медленнее обычного признакового классификатора. Точность контурного классификатора по первым трём вариантам 99,30% , точность по первому варианту 95,10% .

      Признаковый дифференциальный классификатор.
      Предназначен для различения похожих друг на друга объектов, таких, например, как буква « m » и сочетание « rn ». Анализирует только те области изображения, где может находиться информация, позволяющая отдать предпочтение одному из вариантов. Так, в случае с « m » и « rn » ключом к ответу служит наличие и ширина разрыва в месте касания предполагаемых букв.

      Признаковый дифференциальный классификатор (ПДК) п редставляет собой набор признаковых классификаторов. Эти последние оперируют эталонами, полученными для каждой пары схожих символов. Для всех пар используется один и тот же набор признаков, аналогичный имеющемуся у соответствующего признакового классификатора. ПДК отличается хорошим быстродействием. Используется в различных системах распознавания символов.

      В процессе обучения этого классификатора производится анализ изображений из обучающей базы. Вычисляемые при этом значения признаков интерпретируются как координаты точки в N-мерном пространстве. Соответственно, для двух различных символов получается два «облака» точек, расположенные на некотором удалении друг от друга. Когда накоплена информация о достаточном количестве точек, выполняется вычисление координат гиперплоскости. Она должна разделить пространство таким образом, чтобы «облака» оказались по разные стороны и примерно на одном расстоянии от гиперплоскости.


      Рис.8. Упрощённая геометрическая модель обучения
      дифференциального классификатора.

      Набор величин, соответствующий координатам гиперплоскости, используется при распознавании в качестве эталона для данной пары символов. Для полученных при анализе изображения значений вычисляется оценка, геометрический смысл которой – местонахождение точки относительно гиперплоскости. Следует отметить, что для каждой пары символов необходимо тщательно выбрать область, в которой будут вычисляться признаки (иногда для этих целей берутся похожие на обычные признаки из признакового и контурного классификаторов). Из-за этого построение эталонов для ПДК чрезвычайно трудоёмко, и общее их количество весьма ограничено.

      Входными данными для ПДК служит не только изображение, но и список гипотез, сформированный на ранней стадии распознавания. От того, в каком полупространстве и на каком расстоянии от гиперплоскости окажется точка, зависит, вес какой гипотезы будет увеличен классификатором. Сам ПДК не выдвигает новых гипотез, но изменяет веса уже имеющихся в списке, в том случае, если среди представленных в списке имеются пары гипотез, для которых существуют эталоны. При этом используется алгоритм так называемой пузырьковой сортировки. Гипотезы перебираются с конца списка и последовательно « всплывают » после сравнения с менее вероятными, при этом производится корректировка веса. Такой алгоритм гарантирует, что правильная гипотеза окажется на первом месте тогда и только тогда, когда дифференциальное сравнение со всеми вышестоящими гипотезами даёт положительный результат.

      Точность ПДК не может быть вычислена методом, применявшимся для вышеописанных видов, однако может быть оценена косвенно. На рис.9 представлена схема распознавателя, использующегося в системах ABBYY. Растровый (РК) и признаковый (ПК) классификаторы используются для быстрого порождения предварительного списка гипотез. В том случае, если уверенность гипотезы с наибольшим весом P 1 не превышает заданного порогового значения P порог, контурный классификатор (КК) выдвигает ряд дополнительных гипотез. Список поступает на вход ПДК, который производит сортировку. Столь сложная схема запуска классификаторов позволяет оптимизировать соотношение качества и скорости распознавания. Точность этого распознавателя по первым трём вариантам составляет 99,87% , точность по первому варианту 99,26% .


      Рис.9. Обобщённая блок-схема алгоритма распознавания (первый уровень).

      Структурно-дифференциальный классификатор.
      Был разработан и первоначально применялся для обработки рукописных текстов. Как и п ризнаково-дифференциальный, этот классификатор решает задачи различения похожих объектов. Входными данными для структурно-дифференциального классификатора (СДК) также являются ранжированный список гипотез и изображение символа.

      Для каждой пары гипотез СДК вычисляет значения признаков, анализируя соответствующие фрагменты изображения. Признаки, заранее определённые разработчиками, позволяют различать каждую конкретную пару символов, опираясь на сведения, накопленные при обучении классификатора. При этом точность распознавания существенно возрастает, когда для каждой пары символов выбраны индивидуальные признаки.

      Например, для различения C и G классификатор анализирует область изображения, соответствующую нижнему правому углу символа. Одним из индивидуальных для данной пары признаков будет наличие (или отсутствие) двух горизонтальных отрезков, расходящихся от конца обращённой книзу дуги. Сама эта дуга, как несложно видеть, присутствует в обоих символах.

      Структурно-дифференциальный классификатор работает медленнее, чем все вышеназванные, а процесс его обучения ещё более трудоёмок, чем для ПДК. Поэтому СДК используется в основном для обработки тех пар символов, которые не удалось хорошо различить признаковым дифференциальным классификатором. Важным преимуществом СДК является его весьма высокая точность. Аналогично ПДК, этот классификатор использует алгоритм пузырьковой сортировки списка. Устойчив почти ко всем случайным искажениям формы символа, за исключением запечатывания.

      Применяется только в системах распознавания компании ABBYY . Точность распознавателя (рис.9) при добавлении на выходе структурно-дифференциального классификатора увеличивается до 99,88% по первым трём вариантам и до 99,69% по первому варианту .

      Структурный классификатор.
      Одна из революционных разработок компании ABBYY. Первоначально был создан и использовался для распознавания рукопечатного текста (ICR), затем был успешно применён и для обработки.

Хотя авансы, выданные искусственному интеллекту (ИИ) за последние 50 лет, ни на йоту не приблизили «умные» машины к когнитивным возможностям человека, полностью отрицать успехи в данном направлении было бы несправедливо. Наиболее очевидный и яркий пример - шахматы (не говоря уже о более простых играх). Компьютер пока не может имитировать наше мышление, но он вполне способен компенсировать данный пробел большим объемом специализированной памяти и скоростью перебора. Владимир Крамник охарактеризовал игру победившей его в 2006 г. программы Deep Fritz как «нечеловеческую» в том смысле, что она зачастую противоречила устоявшимся (человеческим) правилам стратегии и тактики.

А чуть более года назад очередное детище IBM, в свое время положившей начало триумфальным шахматным победам компьютеров (знаменитый Deep Blue), под названием Watson совершило новый прорыв, с большим отрывом победив сразу двух чемпионов популярной американской викторины Jeopardy. Показательно, однако, что хотя Watson самостоятельно озвучивал ответы, вопросы ему все же передавались в текстовом виде. Это говорит о том, что успехи во многих сферах приложения ИИ - распознавании речи и образов, машинном переводе - достаточно скромны, хотя это и не мешает нам уже сегодня применять их на практике. Наибольшие же успехи, пожалуй, демонстрируют системы оптического распознавания символов (OCR, Optical Character Recognition), с которыми наверняка так или иначе знакомы почти все пользователи ПК. Тем более, что российские разработки в данной области занимают достойное место в мире - я имею в виду ABBYY FineReader.

Немного истории

Текущая версия ABBYY FineReader имеет номер 11, т. е. приложение прошло достаточно долгий путь развития, и даже история этого процесса представляет определенный интерес. Не претендуя на исчерпывающую летопись, приведу лишь основные вехи за последнее десятилетие, в течение которого я более-менее следил за FineReader:

Год Версия Главные особенности
2003 7.0 Прирост точности распознавания до 25%. Больше всего это отразилось на таблицах, особенно сложных, с окрашенными ячейками, скрытыми разделителями и пр.
2005 8.0 Дальнейшая оптимизация алгоритмов распознавания, в первую очередь направленная на работу не со сканами документов, а с цифровыми фотографиями. Для этого появились дополнительные функции подготовки оригиналов (устранение искажений, выравнивание строк и пр.).
2007 9.0 Появление технологии ADRT, которая учитывает логическую структуру всего обрабатываемого (многостраничного) документа и умеет выделять повторяющиеся элементы (колонтитулы), соединять «перетекающие» объекты (таблицы) и пр.
2009 10.0 Дальнейшее совершенствование ADRT и алгоритмов распознавания, повышение точности обработки оригиналов с низким разрешением до 30%.
2011 11.0 Основное внимание уделено скорости работы программы. «Второе пришествие» черно-белого режима, который на оригиналах хорошего качества дает дополнительное ускорение до 30%.

Естественно, за это же время в FineReader расширялась поддержка форматов документов, совершенствовались встроенные инструменты и интерфейс, улучшалось воссоздание структуры оригиналов и т. п. Однако выделенные моменты непосредственно связаны с технологиями OCR и неплохо демонстрируют скачкообразный процесс развития, характерный для сложных наукоемких систем, когда после очередного «прорыва» следует некоторый период «затишья», необходимый для совершенствования новых алгоритмов. Они-то и представляют главную ценность любой OCR-программы, и поэтому сколько-нибудь подробная информация о них крайне редко доходит до пользователей. Однако компания ABBYY любезно согласилась приоткрыть завесу тайны, и сегодня мы имеем возможность заглянуть в святая святых FineReader.

Базовые принципы

Итак, поскольку OCR относится к области ИИ, вполне логично, что разработчики стремятся хоть в какой-то степени имитировать деятельность нашего мозга. Конечно, устройство нашей зрительной системы невероятно сложно, но базовые «крупноблочные» принципы ее функционирования достаточно изучены, обычно их выделяют три:

  1. Целостность (integrity) - объект рассматривается как совокупность своих частей и (для зрительных образов) пространственных отношений между ними. В свою очередь и части получают толкования только в составе всего объекта. Этот принцип помогает строить и уточнять гипотезы, быстро отсекая маловероятные.
  2. Целенаправленность (purposefulness) - поскольку любая интерпретация данных преследует определенную цель, то и распознавание представляет собой процесс выдвижения гипотез об объекте и целенаправленной их проверки. Система, действующая в соответствии с этим принципом, будет не только экономнее расходовать вычислительные мощности, но и реже ошибаться.
  3. Адаптивность (adaptability) - система сохраняет накопленную в процессе работы информацию и использует ее повторно, т. е. самообучается. Этот принцип позволяет создавать и накапливать новые знания и избегать повторного решения одних и тех же задач.

FineReader - единственная в мире OCR-система, которая действует в соответствии с вышеописанными принципами на всех этапах обработки документа. Соответствующая технология носит название IPA - по первым буквам английских терминов. К примеру, согласно принципу целостности, фрагмент изображения будет интерпретироваться как символ, только если в нем присутствуют все структурные части подобных объектов, причем находящиеся в определенных взаимоотношениях. Это помогает заменить перебор большого числа эталонов (в поисках более-менее подходящего) целенаправленной проверкой разумного количества гипотез, причем опираясь на накопленные ранее сведения о возможных начертаниях символа в распознаваемом документе.

Однако принципы IPA применяются при анализе не только фрагментов, соответствующих (предположительно) отдельным символам, но и всего исходного изображения страницы. Большинство OCR-систем основываются на распознавании иерархической структуры документа, т. е. страница разбивается на основные структурные элементы, такие как таблицы, изображения, блоки текста, которые, в свою очередь, разделяются на другие характерные объекты - ячейки, абзацы - и так далее, вплоть до отдельных символов.

Такой анализ может проводиться двумя основными способами: сверху-вниз, т. е. от составных элементов к отдельным символам, или, наоборот, снизу-вверх. Чаще всего применяется один из них, но в ABBYY разработали специальный алгоритм MDA (multilevel document analysis, многоуровневый анализ документа), который сочетает оба. Вкратце он выглядит следующим образом: структура страницы анализируется методом сверху-вниз, а воссоздание электронного документа по окончании распознавания происходит снизу-вверх, однако на всех уровнях дополнительно действует механизм обратной связи. В результате резко снижается вероятность грубых ошибок, связанных с неверным распознаванием высокоуровневых объектов.

ADRT

Исторически OCR-системы развивались от распознавания отдельных символов. Эта задача и до сих пор является важнейшей и самой трудной, именно с ней связаны наиболее сложные алгоритмы. Однако вскоре стало понятно, что в ее решении может помочь более высокоуровневая информация (к примеру, о языке документа и правильности написания распознанных слов) - так появились контекстная и словарная проверки. Затем стремление сохранять форматирование и воссоздавать физическую структуру (т. е. взаимное расположение различных объектов) документа привело к необходимости подробного анализа целой страницы. Понятно, что это также заметно влияет на общее качество распознавания, поскольку помогает корректно обрабатывать многоколоночную верстку, таблицы и другие приемы «нелинейного» расположения текста.

Большинство современных OCR действуют именно на этих трех уровнях - символов, слов, страниц, - практикуя, как уже было сказано, подходы сверху-вниз или снизу-вверх. Однако ABBYY, в соответствии с принципами IPA, ввела в FineReader еще один уровень - всего многостраничного документа. Прежде всего это понадобилось для корректного воспроизведения логической структуры, которая в современных документах становится все сложнее. Но есть и дополнительные бонусы: повышение точности и ускорение обработки повторяющихся объектов, более корректная идентификация (а значит, и распознавание) «перетекающих» со страницы на страницу объектов.

Именно для этого и была разработана ADRT (Adaptive Document Recognition Technology) - технология анализа и синтеза документа на логическом уровне. В конечном итоге она помогает сделать результат работы FineReader максимально похожим на оригинал. Для этого анализируется изображение всего документа, а распознанные слова объединяются в группы (кластеры) в зависимости от начертания, окружения и местоположения на странице. Таким образом программа как бы видит «логику» разметки документа и в дальнейшем может унифицировать оформление результата.

Благодаря ADRT, FineReader, начиная с версии 9.0, научился обнаруживать, распознавать и воспроизводить следующие структурные части и элементы форматирования документа:

  • основной текст;
  • верхние и нижние колонтитулы;
  • номера страниц;
  • заголовки одного уровня;
  • оглавление;
  • текстовые вставки;
  • подписи к рисункам;
  • таблицы;
  • сноски;
  • зоны подписи/печати;
  • шрифты и стили.

Процесс распознавания

В соответствии с алгоритмом MDA, собственно распознавание начинается сверху-вниз, с уровня страницы. Понятно, что чем больше неверных решений будет сделано на ранних этапах этого процесса, тем больше будет на следующих. Именно поэтому точность распознавания так сильно зависит от качества оригиналов, но и алгоритмы их предварительной обработки могут иметь существенное значение. Так, по мере роста популярности цветных документов в FineReader появилась процедура адаптивной бинаризации (adaptive binarization, AB ). Если отсканировать сразу в черно-белом режиме документ, где присутствуют водяные знаки либо текст расположен на текстурной или цветной подложке, то на изображении неизменно появится «мусор», который затем будет довольно сложно отделить от «полезного» изображения (т. к. исходная информация о нем уже потеряна). Именно поэтому FineReader предпочитает работать с цветными или полутоновыми изображениями, самостоятельно преобразуя их в черно-белые (этот процесс и называется бинаризацией). Но и это не всё. Поскольку цвета текста и фона могут различаться в пределах страницы и даже отдельных строк, AB выделяет слова с более-менее одинаковыми характеристиками и подбирает для каждого оптимальные с точки зрения качества распознавания параметры бинаризации. Именно в этом и состоит адаптивность алгоритма, который, таким образом, является примером использования обратной связи в MDA. Понятно, что эффективность AB сильно зависит от оформления исходных документов - на тестовой базе ABBYY этот алгоритм обеспечил повышение точности распознавания на 14,5%.

Но наиболее интересное, конечно, начинается, когда процесс распознавания опускается на самые нижние уровни. Так называемая процедура линейного деления разбивает строки на слова, а слова на отдельные буквы; далее, в соответствии с принципом IPA, формирует набор гипотез (т. е. возможных вариантов того, что́ это за символ, на какие символы разбито слово и т. д.) и, снабдив каждую оценкой вероятности, передает на вход механизма распознавания символов. Последний состоит из ряда так называемых классификаторов , каждый из которых также формирует ряд гипотез, ранжированных по предполагаемой степени вероятности. Важнейшей характеристикой любого классификатора является среднее положение правильной гипотезы. Понятно, что чем выше она находится, тем меньше работы для последующих алгоритмов - к примеру, словарной проверки. Но для достаточно отлаженных классификаторов чаще всего оценивают такие характеристики, как точность распознавания по первым трем гипотезам или только по первой - т. е., грубо говоря, способность угадать верный ответ с трех или с одной попытки. ABBYY в своих системах применяет следующие типы классификаторов: растровый, признаковый, признаковый дифференциальный, контурный, структурный и структурный дифференциальный - которые сгруппированы на двух логических уровнях.

Принцип действия РК , или растрового классификатора, основан на попиксельном сравнении изображения символа с эталонами. Последние формируются в результате усреднения изображений из обучающей выборки и приводятся к некой стандартной форме; соответственно, для распознаваемого изображения также предварительно нормализуются размер, толщина элементов, наклон. Этот классификатор отличается простотой реализации, скоростью работы и устойчивостью к дефектам изображений, но обеспечивает сравнительно низкую точность и именно поэтому используется на первом этапе - для быстрого порождения списка гипотез.

Признаковый классификатор (ПК ), как и следует из его названия, основывается на наличии в изображении признаков того или иного символа. Если всего таких признаков N, то каждую гипотезу можно представить точкой в N-мерном пространстве; соответственно, точность гипотезы будет оцениваться расстоянием от нее до точки, соответствующей эталону (который также нарабатывается на обучающей выборке). Понятно, что типы и количество признаков в значительной степени определяют качество распознавания, поэтому обычно их достаточно много. Этот классификатор также сравнительно быстр и прост, но не слишком устойчив к различным дефектам изображения. Кроме того, ПК оперирует не исходным изображением, а некой моделью, абстракцией, т. е. не учитывает часть информации: скажем, сам факт наличия каких-то важных элементов ничего не говорит об их взаимном расположении. По этой причине ПК используется не вместо, а вместе с РК.

Контурный классификатор (КК ) представляет собой частный случай ПК и отличается тем, что анализирует контуры предполагаемого символа, выделенные из исходного изображения. В общем случае его точность ниже, чем у полновесного ПК.

Признаковый дифференциальный классификатор (ПДК ) также похож на ПК, однако используется исключительно для различения похожих друг на друга объектов, таких как «m» и «rn». Соответственно, он анализирует только те области, где скрываются отличия, а на вход ему подаются не только исходные изображения, но и гипотезы, сформированные на ранних стадиях распознавания. Принцип его работы, однако, несколько отличается от ПК. На этапе обучения в N-мерном пространстве формируются два «облака» (групп точек) возможных значений для каждого из двух вариантов, затем строится гиперплоскость, отделяющая «облака» друг от друга и примерно равноудаленная от них. Результат распознавания зависит от того, в какое полупространство попадает точка, соответствующая исходному изображению.

Сам по себе ПДК не выдвигает гипотез, а лишь уточняет имеющиеся (список которых в общем случае сортируется пузырьковым методом), так что прямая оценка его эффективности не проводится, а косвенно ее приравнивают к характеристикам всего первого уровня OCR-распознавания. Однако понятно, что она зависит от корректности подобранных признаков и представительности выборки эталонов, обеспечение чего является достаточно трудоемкой задачей.

Структурно-дифференциальный классификатор (СДК ) первоначально применялся для обработки рукописных текстов. Его задача состоит в различении таких похожих объектов, как «C» и «G». Таким образом, СДК основывается на признаках, характерных для каждой пары символов, процесс его обучения еще сложнее, чем у ПДК, а скорость работы ниже, чем у всех предыдущих классификаторов.

Структурный классификатор (СК ) является предметом гордости компании ABBYY, первоначально он был разработан для распознавания так называемого рукопечатного текста, т. е. когда человек пишет «печатными» буквами, но впоследствии был применен и для печатного. Он используется на завершающих этапах распознавания и вступает в действие достаточно редко, а именно, только в том случае, когда до него доходят как минимум две гипотезы с достаточно высокими вероятностями.

Качественные характеристики всех классификаторов собраны в следующую таблицу. Они, впрочем, позволяют лишь оценить эффективность алгоритмов друг относительно друга, т. к. не являются абсолютными, а получены на основе обработки конкретной тестовой выборки. Может создаться впечатление, что на последних этапах распознавания борьба идет буквально за доли процента, но на самом деле каждый классификатор вносит существенную лепту в повышение точности распознавания - так, к примеру, СК снижает количество ошибок на ощутимые 20%.

РК ПК КК ПДК* СДК** СК**
Точность по первым трем вариантам, % 99,29 99,81 99,30 99,87 99,88 -
Точность по первому варианту, % 97,57 99,13 95,10 99,26 99,69 99,73

* оценка всего первого уровня OCR-алгоритма ABBYY
** оценка для всего алгоритма после добавления соответствующего классификатора

Любопытно, однако, что, несмотря на довольно высокую точность, алгоритм собственно распознавания не принимает окончательного решения. В соответствии с принципом MDA, гипотезы выдвигаются на каждом логическом уровне, и число их может расти в геометрической прогрессии. Соответственно, последовательная проверка всех гипотез вряд ли окажется эффективной, и потому в OCR-системах ABBYY применяется метод структурирования гипотез, т. е. отнесения их к тем или иным моделям. Последних существует пара десятков, вот только несколько их типов: словарное слово, несловарное слово, арабские цифры, римские цифры, URL, регулярное выражение - а в каждый может входить множество конкретных моделей (к примеру, слово на одном из известных языков, латиницей, кириллицей и т. д.).

Все финальные действия выполняются уже именно с гипотезами, построенными по моделям. К примеру, контекстная проверка определит язык документа и сразу же существенно понизит вероятность моделей с использованием неправильных алфавитов, а словарная компенсирует погрешности при неуверенном распознавании некоторых символов: так, слово «turn» присутствует в словаре английского языка - в отличие от «tum» (во всяком случае, оно отсутствует среди популярных). Хотя приоритет словаря выше, чем у любого классификатора, он не обязательно является последней инстанцией, и в общем случае не останавливает дальнейшие проверки: во-первых, как говорилось выше, имеется модель несловарного слова, во-вторых, специальная организация словарей позволяет с высокой долей вероятности предположить, может ли какое-то неизвестное слово относиться к тому или иному языку. Тем не менее, словарная проверка (и полнота словарей) оказывает существенное влияние на результат распознавания, и в тестах самой ABBYY сокращает количество ошибок практически вдвое.

Не только OCR

Печатные документы - далеко не единственные, представляющие интерес с точки зрения их оцифровки и автоматической обработки. Довольно часто приходится работать с формами, т. е. документами с предопределенными и фиксированными полями, которые заполняются вручную, но сравнительно аккуратно (так называемыми рукопечатными символами) - примером могут служить различные анкеты. Технология их обработки имеет отдельное название - ICR (intelligent character recognition) - и достаточно существенно отличается от OCR. Так, поскольку в данном случае задача состоит не в воссоздании всего документа, а в извлечении из него конкретных данных, то она распадается на две основные подзадачи: нахождение нужных полей и собственно распознавание их содержимого.

Это достаточно специфическая область, и ABBYY предлагает для нее совершенно отдельный программный продукт ABBYY FlexiCapture. Он предназначен для создания автоматизированных и полуавтоматизированных систем, предполагает настройку на конкретные типы документов, для которых создаются специальные шаблоны, умеет интеллектуально находить на страницах различные поля и верифицировать данные в них и т. д. Однако в самой основе лежат алгоритмы распознавания символов, аналогичные тем, что применяются в FineReader, да и общая схема весьма похожа:

Впрочем, важное отличие все же имеется: структурный классификатор является обязательным участником процесса - это связано со спецификой рукопечатных символов. Кроме того, ICR предполагает большое число специфических дополнительных проверок: например, не является ли символ зачеркнутым, или действительно ли распознанные символы формируют дату.