Ocr сфера применения и использования. Что такое OCR

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

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

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

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

Описание OCR-процедуры

1. Предварительная обработка изображения.

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

3. Распознание символов

4. Структурирование гипотез. Словарная проверка.

5. Синтез электронного документа.

Большинство программ оптического распознавания текста (OCR Optical Character Recognition) работают с растровым изображением, которое получено через факс-модем, сканер, цифровую фотокамеру или другое устройство. На первом этапе OCR должен разбить страницу на блоки текста, основываясь на особенностях правого и левого выравнивания и наличия нескольких колонок. Затем распознанный блок разбивается на строки. Несмотря на кажущуюся простоту, это не такая очевидная задача, так как на практике неизбежны перекос изображения страницы или фрагментов страницы при сгибах. Даже небольшой наклон приводит к тому, что левый край одной строки становится ниже правого края следующей, особенно при маленьком межстрочном интервале. Врезультате возникает проблема определения строки, к которой относится тот или иной фрагмент изображения. Например, для букв j, Й, ё при небольшом наклоне уже сложно определить, к какой строке относится верхняя (отдельная) часть символа (в некоторых случаях ее можно принять за запятую или точку).

Потом строки разбиваются на непрерывные области изображения, которые, как правило, соответствуют отдельным буквам; алгоритм распознавания делает предположения относительно соответствия этих областей символам; а затем делается выбор каждого символа, в результате чего страница восстанавливается в символах текста, причем, как правило, в соответствующем формате. OCR-системы могут достигать наилучшей точности распознавания свыше 99,9% для чистых изображений, составленных из обычных шрифтов. На первый взгляд такая точность распознавания кажется идеальной, но уровень ошибок все же удручает, потому что, если имеется приблизительно 1500 символов на странице, то даже при коэффициенте успешного распознавания 99,9% получается одна или две ошибки на страницу. Втаких случаях на помощь приходит метод проверки по словарю. То есть, если какого-то слова нет в словаре системы, то она по специальным правилам пытается найти похожее. Но это все равно не позволяет исправлять 100% ошибок, что требует человеческого контроля результатов.

54. Microsoft Word – мощный текстовый процессор (текст. процессор выполняет более сложные операции чем редакторы - перенос слов, операции форматирования), предназначенный для выполнения всех процессов обработки текста.

В настоящее время наиболее широко распространён. Входит в комплект интегрированного пакета Microsoft Office. Основное назначение–создание и редактирование текстовых документов. Обладает широкими возможностями. Программа удобна для работы с большими документами благодаря имеющимся в ней средствам создания указателей, оглавлений, колонтитулов, иерархических заголовков и т.п.

1.Возможности текстового процессора Word простираются от набора, до проверки орфографии, вставки в текст графики в стандарте *.pcx или *.bmp, музыкальные модули в формате *.wav.,распечатки текста. Размещение в документе графических объектов, таблиц, диаграмм, гиперссылок, автоматизации обработки документов, использование стилей; списков, полей Word; создание макросов; подготовка текста к изданию (создание оглавления, алфавитного указателя, сносок, примечаний); работа над текстом совместно нескольких пользователей, генерация документов методом слияния, использование шаблонов и др. Он работает с многими шрифтами с любым из 21 языка мира. Наличие макетов текстов и шаблонов. Word обеспечивает поиск заданного фрагмента текста, замену его на указанный фрагмент, удаление, копирование во внутренний буфер. Наличие закладки в тексте позволяет быстро перейти к заложенному месту в тексте. Word позволяет включать в текст базы данных. Можно установить пароль. Word позволяет открывать много окон для одновременной работы с несколькими текстами. Microsoft Word (часто - MS Word, WinWord или просто Word) - текстовый процессор, предназначенный для создания, просмотра и редактирования текстовых документов, с локальным применением простейших форм таблично-матричных алгоритмов. Выпускается корпорацией Microsoft в составе пакета Microsoft Office. Первая версия была написана Ричардом Броди (Richard Brodie) для IBM PC, использующих DOS, в 1983 году.

Текстовый редактор – это программа предназначенная для создания и обработки текстов.

Четыре группы редакторов:

1. Редакторы для печати текста.

2. Текстовые процессоры для создания составных документов, т.е. документов составляющих из текстов таблиц, рисунков, графиков.

3. Программы для верстки текстов (в типографском деле)

4. Редакторы для создания научных текстов

Режимы работы редактора Word:

· Обычный режим – используется для печатания текстовой информации

· Режим разметки страницы

· Режим структуры документа – система разбивки документа на части. Предназначен для работы с большими текстами и имеющие ряд заголовков, подзаголовков.

· Режим Web-документ

Ввод и редактирование текста:

1. Не печатать пробел в начале предложения. Пробел считается символом.

2. Нельзя нажимать клавишу ввод для перехода на новую строку. Но обязательно нажимать ввод при новом абзаце.

3. Перед символами « .,:!? » нельзя ставить пробел, после символов обязательно ставить пробел.

4. Нужно сначала выделить текст, а потом лишь выполнять какую-то работу.

Форматирование документа включает:

1. Форматирование страницы

2. Форматирование абзаца

3. Символы

4. форматирование таблицы

5. форматирование рисунка.

Создание документа.

В текстовом редакторе MS Word используется два метода создания нового документа:

1. На основе готового шаблона

2. На основе существующего документа.

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

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

Авто-замена, позволяющая автоматически исправлять типичные ошибки при вводе;

Авто-заполнение (или авто-текст), с помощью, которой можно автоматически продолжить ввод слова или фрагмента текста после ввода нескольких первых буки (теперь редактор с самого начала имеет некоторую базу таких заготовок);

Автоматическая проверка правописания включает в себя проверку орфографии и грамматики. Пользователь имеет возможность отключить любой из видов проверки или вообще провести проверку лишь после завершения ввода всего документа;

Microsoft Office

Автоматическое создание и предварительный просмотр стилей;

Авто-формат при вводе, предназначенный для автоматического форматирования документа непосредственно при вводе или после его завершения;

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

Например, если Помощник решит, что вы собираетесь приступить к созданию письма, то он предложит запустить Мастер писем.

В Word имеются средства, упрощающие работу с таблицами, границами (обрамлением) и заливкой:

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

Содержимое ячеек таблицы можно выравнивать по верхнему или нижнему краю либо по середине ячейки. Текст внутри ячеек можно расположить вертикально (с поворотом на 90 градусов);

В состав Word включено более 150 различных типов границ, которые помогут украсить любой документ и оформить его профессионально;

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

Графический редактор Microsoft Office предоставляет большой набор инструментов для рисования. Для украшения текста и рисунков предлагается более 100 настраиваемых авто-фигур, 4 вида заливки (многоцветная градиентная, узорная, прозрачная и рисунком), и также добавление тени и объема.

Перечень возможностей Microsoft Word

Редактирование текста осуществляется с помощью следующих функций:

§ выделение, копирование и вставка нужного фрагмента текста;

§ вставка объектов, не являющихся текстом в формате Microsoft Word (например, включение в текст графических изображений, электронных таблиц и графиков, звуков, видеоизображений и т.д.);

§ вставка в документ номеров страниц, даты и времени, сносок, специальных символов и пр.;

§ возможность нахождения, перехода, замены нужного слова текста, строки, раздела, страницы и пр.;

§ возможность повтора или отмены последнего действия, произведенного с текстом;

§ расширенные возможности форматирования документа. В отличие от Word Pad, Word допускает выравнивание документа по обоим краям, многоколоночную верстку;

§ использование стилей для быстрого форматирования документа.

Кроме перечисленных возможностей программа предлагает некоторый набор сервисных функций, таких как:

§ проверка орфографии и грамматики, в том числе фоновая - по мере введения текста;

§ подбор синонимов слов (пункт меню «Тезаурус»);

§ расстановка переносов в тексте документа;

§ определение статистических данных документа (число символов, слов, строк, абзацев, страниц);

§ работа с макросами и шаблонами документов.

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


Похожая информация.


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

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

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

Средства Image-processing применяются при автоматическом вводе данных в информационные системы из любых видов документов (удостоверяющих личность, бухгалтерских, юридических и т. д.) для создания электронных архивов с возможностью быстрого поиска нужных документов, при обработке больших массивов данных (перепись населения, единый госэкзамен и пр.), а также для перевода отсканированных документов, изображений и PDF-файлов в редактируемые форматы. внедрение современных средств потокового ввода позволяет снизить затраты на обработку документов более чем на 50%, достичь увеличения скорости ввода в информационные системы в 3-10 раз, обеспечить повышение удобства и качества работы с данными (высокий уровень безопасности конфиденциальных данных, сокращение количества ошибок, связанных с человеческим фактором при вводе данных), оптимизировать бизнес-процессы за счет автоматизации рутинной функции ввода данных и освобождения времени сотрудников на решение профильных задач. При этом средняя окупаемость внедрения составляет от трех месяцев до одного года.

Главными потребителями Image-processing в мире являются крупные организации (немногим более половины объема рынка в денежном выражении), на долю средних предприятий приходится около трети, остальное - малый бизнес.

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

Точное распознавание символов в печатном тексте в настоящее время возможно только если доступны чёткие изображения, такие как сканированные печатные документы. Точность при такой постановке задачи превышает 99%, абсолютная точность может быть достигнута только путем последующего редактирования человеком.

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

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

Большинство программ оптического распознавания текста (OCR Optical Character Recognition) работают с растровым изображением, которое получено через факс-модем, сканер, цифровую фотокамеру или другое устройство. На первом этапе OCR должен разбить страницу на блоки текста, основываясь на особенностях правого и левого выравнивания и наличия нескольких колонок. Затем распознанный блок разбивается на строки. Несмотря на кажущуюся простоту, это не такая очевидная задача, так как на практике неизбежны перекос изображения страницы или фрагментов страницы при сгибах. Даже небольшой наклон приводит к тому, что левый край одной строки становится ниже правого края следующей, особенно при маленьком межстрочном интервале. В результате возникает проблема определения строки, к которой относится тот или иной фрагмент изображения. Например, для букв j, Й, ё при небольшом наклоне уже сложно определить, к какой строке относится верхняя (отдельная) часть символа (в некоторых случаях ее можно принять за запятую или точку).


Потом строки разбиваются на непрерывные области изображения, которые, как правило, соответствуют отдельным буквам; алгоритм распознавания делает предположения относительно соответствия этих областей символам; а затем делается выбор каждого символа, в результате чего страница восстанавливается в символах текста, причем, как правило, в соответствующем формате. OCR-системы могут достигать наилучшей точности распознавания свыше 99,9% для чистых изображений, составленных из обычных шрифтов. На первый взгляд такая точность распознавания кажется идеальной, но уровень ошибок все же удручает, потому что, если имеется приблизительно 1500 символов на странице, то даже при коэффициенте успешного распознавания 99,9% получается одна или две ошибки на страницу. В таких случаях на помощь приходит метод проверки по словарю. То есть, если какого-то слова нет в словаре системы, то она по специальным правилам пытается найти похожее. Но это все равно не позволяет исправлять 100% ошибок, что требует человеческого контроля результатов.

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

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

Страница, расположенная с нарушением границ или перекосом, создает немного искаженные символьные изображения, которые могут быть перепутаны OCR.

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

Работа с OCR-системами, как правило, не должна вызывать особых затруднений. Большинство таких систем имеют простейший автоматический режим сканируй и распознавай (Scan&Read). Кроме того, они поддерживают и режим распознавания изображений из файлов. Однако для того, чтобы достигнуть лучших из возможных для данной системы результатов, желательно (а нередко и обязательно) предварительно вручную настроить ее на конкретный вид текста, макет бланка и качество бумаги.

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

На данный момент существует огромное количество программ, поддерживающих распознавание текста как одну из возможностей.

FineReader кроме того, что знает огромное количество форматов для сохранения, включая PDF, имеет возможность прямого распознавания из PDF-файлов. Новая технология Intelligent Background Filtering (интеллектуальной фильтрации фона) позволяет отсеять информацию о текстуре документа и фоновом шуме изображения: иногда для выделения текста в документе используется серый или цветной фон. Человеку это не мешает читать, но обычные алгоритмы распознавания текста испытывают серьезные затруднения при работе с буквами, расположенными поверх такого фона. FineReader умеет определять зоны, содержащие подобный текст, отделяя текст от фона документа, находя точки, размер которых меньше определенной величины, и удаляя их. При этом контуры букв сохраняются, так что точки фона, близко расположенные к этим контурам, не вносят помех, способных ухудшить качество распознавания текста. Даже таблицы распознаются с максимальной точностью, сохраняя при этом все возможности для редактирования.

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

OCR CuneiForm способна распознавать любые полиграфические и машинописные гарнитуры всех начертаний и шрифтов, получаемые с принтеров, за исключением декоративных и рукописных. Также программа способна распознавать таблицы различной структуры, в том числе и без линий и границ; редактировать и сохранять результаты в распространенных табличных форматах. Существенно облегчает работу и возможность прямого экспорта результатов в MS Word и MS Excel (для этого теперь не нужно сохранять результат в файл RTF, а затем открывать его с помощью MS Word).

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

Readiris Pro7 профессиональная программа распознавания текста. Oтличается от аналогов высочайшей точностью преобразования обычных (каждодневных) печатных документов, таких как письма, факсы, журнальные статьи, газетные вырезки, в объекты, доступные для редактирования (включая файлы PDF). Основными достоинствами программы являются: возможность более или менее точного распознавания картинок, сжатых по максимуму (с максимальной потерей качества) методом JPEG, поддержка цифровых камер и автоопределения ориентации страницы. Поддержка до 92 языков (включая русский).

OmniPage11 - программа практически со 100% точностью распознает печатные документы, восстанавливая их форматирование, включая столбцы, таблицы, переносы (в том числе переносы частей слов), заголовки, названия глав, подписи, номера страниц, сноски, параграфы, нумерованные списки, красные строки, графики и картинки. Есть возможность сохранения в форматы Microsoft Office, PDF и в 20 других форматов, распознавания из файлов PDF, редактирование прямо в формате PDF. Система искусственного интеллекта позволяет автоматически обнаруживать и исправлять ошибки после первого исправления вручную. Новый специально разработанный модуль Despeckle позволяет распознавать документы с ухудшенным качеством (факсы, копии, копии копий ит.д.). Преимуществами программы являются возможность распознавания цветного текста и возможность корректировки голосом.

Материал из Техническое зрение

Задача распознавания текстовой информации при переводе печатного и рукописного текста в электронную форму является одной из важнейших составляющих любого проекта, имеющего целью автоматизацию документооборота или внедрение безбумажных технологий. Вместе с тем эта задача является одной из наиболее сложных и наукоемких задач полностью автоматического анализа изображений. Даже человек, читающий рукописный текст, в отрыве от контекста, делает в среднем около $4${\%} ошибок. Между тем, в наиболее ответственных приложениях OCR необходимо обеспечивать более высокую надежность распознавания (свыше 99{\%}) даже при плохом качестве печати и оцифровки исходного текста.

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

Типовые проблемы, связанные с распознаванием символов.

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

  1. разнообразие форм начертания символов;
  2. искажение изображений символов;
  3. вариации размеров и масштаба символов.

Каждый отдельный символ может быть написан различными стандартными шрифтами, например (Times, Gothic, Elite, Courier, Orator), а также - множеством нестандартных шрифтов, используемых в различных предметных областях. При этом различные символы могут обладать сходными очертаниями. Например, "U" и "V", "S" и "5", "Z" и "2", "G" и "6".

Искажения цифровых изображений текстовых символов могут быть вызваны:

  1. шумами печати, в частности, непропечаткой (разрывами слитных черт символов), "слипанием" соседних символов, пятнами и ложными точками на фоне вблизи символов и т. п.;
  2. смещением символов или частей символов относительно их ожидаемого положения в строке;
  3. изменением наклона символов;
  4. искажением формы символа за счет оцифровки изображения с "грубым" дискретом;
  5. эффектами освещения (тени, блики и т. п.) при съемке видеокамерой.

Существенным является и влияние исходного масштаба печати. В принятой терминологии масштаб $10$, $12$ или $17$ означает, что в дюйме строки помещаются $10$, $12$ или $17$ символов. При этом, например, символы масштаба $10$ обычно крупнее и шире символа масштаба $12$.

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

Структура систем оптического распознавания текстов.

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

  1. блок сегментации (локализации и выделения) элементов текста;
  2. блок предобработки изображения;
  3. блок выделения признаков;
  4. блок распознавания символов;
  5. блок постобработки результатов распознавания.

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

Сначала осуществляется выделение $\textit{текстовых областей, строк}$ и разбиение связных текстовых строк на отдельные $\textit{знакоместа}$, каждое из которых соответствует одному текстовому символу.

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

Распознавание символов происходит в процессе сравнения выделенных характерных признаков с эталонными наборами и структурами признаков, формируемыми и запоминаемыми в процессе обучения системы на эталонных и/или реальных примерах текстовых символов.

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

Методы предобработки и сегментации изображений текстовых символов.

Предобработка является важным этапом в процессе распознавания символов и позволяет производить сглаживание, нормализацию, сегментацию и аппроксимацию отрезков линий.

Под $\textit{сглаживанием}$ в данном случае понимается большая группа процедур обработки изображений, многие из которых были рассмотрены в главе $3$ данной книги. В частности, широко используются морфологические операторы $\textit{заполнения}$ и $\textit{утончения}$. $\textit{Заполнение}$ устраняет небольшие разрывы и пробелы. $\textit{Утончение}$представляет собой процесс уменьшения толщины линии, в которой на каждом шаге области размером в несколько пикселов ставится в соответствие только один пиксел "утонченной линии". Морфологический способ реализации подобных операций на базе операторов расширения и сжатия Серра был описан в главе $3.2$.

Там же описан и специальный алгоритм бинарной фильтрации изображений текстовых символов, получивший название $\textit{стирание бахромы}$. Под "бахромой" здесь понимаются неровности границ символа, которые мешают, во-первых, правильно определить его размеры, а во-вторых, искажают образ символа и мешают его дальнейшему распознаванию по контурному признаку.

$\textit{Геометрическая нормализация}$ изображений документов подразумевает использование алгоритмов, устраняющих наклоны и перекосы отдельных символов, слов или строк, а также включает в себя процедуры, осуществляющие нормализацию символов по высоте и ширине после соответствующей их обработки.

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

Дополнительное разбиение текстовых областей и строк на $\textit{слова}$ целесообразно в том случае, если слово является состоятельным объектом, в соответствии с которым выполняется распознавание текста. Подобный подход, при котором единицей распознавания является не отдельный символ, а целое слово, сложно реализовывать из-за большого числа элементов, подлежащих запоминанию и распознаванию, но он может быть полезен и весьма эффективен в конкретных частных случаях, когда набор слов в кодовом словаре существенно ограничен по условию задачи.

Под $\textit{аппроксимацией отрезков линий}$ понимают составление графа описания символа в виде набора вершин и прямых ребер, которые непосредственно аппроксимируют цепочки пикселов исходного изображения. Данная аппроксимация осуществляется для уменьшения объема данных и может использоваться при распознавании, основанном на выделении признаков, описывающих геометрию и топологию изображения.

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

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

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

Сопоставление изображений и шаблонов.

Эта группа методов основана на непосредственном сравнении изображений тестового и эталонного символов. При этом вычисляется $\textit{степень сходства}$ между образом и каждым из эталонов. Классификация тестируемого изображения символа происходит по методу ближайшего соседа. Ранее мы уже рассматривали методы сравнения изображений в разделе 4.2, а именно - методы корреляции и согласованной фильтрации изображений.

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

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

0000000000
000aabb000
00aeeffb00
0ae0000fb0
0ae0ii0fb0
0ae0ii0fb0
0ae0000fb0
0cg0000hd0
0cg0jj0hd0
0cg0jj0hd0
0cg0000hd0
00cgghhd00
000ccdd000
0000000000

может быть распознан как "ноль", если: (не менее $5$ символов "a" являются "1" или не менее $4$ символов $\text{"e"} = \text{"1"}$) И (не менее $5$ символов "b" являются "1" или не менее $4$ символов $\text{"f"} = \text{"1"}$) И (не менее $5$ символов "c" являются "1" или не менее $4$ символов $\text{"g"} = \text{"1"}$) И (не менее $5$ символов "d" являются "1" или не менее $4$ символов $\text{"h"} = \text{"1"}$) И (по крайней мере $3$ символа "i" являются "0") И (по крайней мере $3$ символа "j" являются "0").

Статистические характеристики.

В данной группе методов выделение признаков осуществляется на основе анализа различных по статистических распределений точек. Наиболее известные методики этой группы используют $\textit{вычисление моментов}$ $\textit{и подсчет пересечений}$.

$\textit{Моменты различных порядков}$ с успехом используются в самых различных областях машинного зрения в качестве дескрипторов формы выделенных областей и объектов (см. раздел 4.1). В случае распознавания текстовых символов в качестве набора признаков используют значения моментов совокупности "черных" точек относительно некоторого выбранного центра. Наиболее общеупотребительными в приложениях такого рода являются построчные, центральные и нормированные моменты.

Для цифрового изображения, хранящегося в двумерном массиве, $\textit{построчные моменты}$ являются функциями координат каждой точки изображения следующего вида: $$ m_{pq} =\sum\limits_{x=0}^{M-1} {\sum\limits_{y=0}^{N-1} {x^py^qf(x,y)} } , $$ где $p,q \in \{0,1,\ldots ,\infty \}$; $M$ и $N$ являются размерами изображения по горизонтали и вертикали и $f(x,y)$ является яркостью пиксела в точке $\langle x,y\rangle$ на изображении.

$\textit{Центральные моменты}$ являются функцией расстояния точки от центра тяжести символа: $$ m_{pq} =\sum\limits_{x=0}^{M-1} {\sum\limits_{y=0}^{N-1} {(x-\mathop x\limits^\_)^p(y-\mathop y\limits^\_)^qf(x,y)} } , $$ где $x$ и $y$ "с чертой" - координаты центра тяжести.

$\textit{Нормированные центральные моменты}$ получаются в результате деления центральных моментов на моменты нулевого порядка.

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

В $\textit{методе пересечений}$ признаки формируются путем подсчета того, сколько раз и каким образом произошло пересечение изображения символа с выбранными прямыми, проводимыми под определенными углами. Этот метод часто используется в коммерческих системах благодаря тому, что он инвариантен к дисторсии и небольшим стилистическим вариациям написания символов, а также обладает достаточно высокой скоростью и не требует высоких вычислительных затрат. На рис. 1 показано эталонное изображение символа $R$, система секущих прямых, а также вектор расстояний до эталонных векторов. На рис. 2 представлен пример реального изображения

Пример формирования набора пересечений для эталонного изображения символа $R$

Пример формирования набора пересечений для реального изображения символа $R$

Пример формирования зонного описания для эталонного изображения символа $R$

Пример формирования зонного описания для реального изображения символа $R$; $K = 0{,}387$

символа $R$. Цветом (см. цветную вклейку) также помечена строка, соответствующая ближайшему соседу.

$\textit{Метод зон}$ предполагает разделение площади рамки, объемлющий символ, на области и последующее использование плотностей точек в различных областях в качестве набора характерных признаков. На рис. 3 показано эталонное изображение символа $R$, а на рис. 4 - реальное изображение символа $R$, полученное путем сканирования изображения документа. На обоих изображениях приводятся разбиение на зоны, пиксельные веса каждой зоны, а также вектор расстояний до эталонных векторов эталонных символов. Цветом помечена строка, соответствующая найденному ближайшему соседу.

В методе $\textit{матриц смежности}$ в качестве признаков рассматриваются частоты совместной встречаемости "черных" и "белых" элементов в различных геометрических комбинациях. Метод $\textit{характеристических мест}$ (characteristic-loci) использует в качестве признака число раз, которое вертикальный и горизонтальный векторы пересекают отрезки линий для каждой светлой точки в области фона символа.

Существует также множество других методов данной группы.

Интегральные преобразования.

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

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

Анализ структурных составляющих.

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

В системах структурного распознавания более сложных шрифтов часто используемыми признаками также являются штрихи, применяемые для определения следующих характерных особенностей изображения: $\textit{концевых точек}$, $\textit{точек пересечения отрезков}$, $\textit{замкнутых циклов}$, а также их положения относительно рамки, объемлющей символ. Рассмотрим, например, следующий способ структурного описания символа. Пусть матрица, содержащая утонченный символ, разделена на девять прямоугольных областей (в виде сетки $33$), каждой из которых присвоен буквенный код от "A" до "I". Символ рассматривается как набор штрихов. При этом штрих, соединяющий некоторые две точки в начертании символа, может являться линией (L) или кривой (C). Штрих считается $\textit{отрезком (дугой)}$ $\textit{кривой}$, если его точки удовлетворяют следующему выражению $$ \left| \frac {1}{n} \sum\limits_{i=1}^n \frac {ax_i +by_i +c}{\sqrt{a^2+b^2}} \right| >0{,}69, $$ в противном случае считается, что это $\textit{прямолинейный отрезок}$. В данной формуле $\langle x_{i},y_{i}\rangle$ является точкой, принадлежащей штриху; $ax+by+c=0$ - уравнение прямой, проходящей через концы штриха, коэффициент $0{,}69$ получен опытным путем. Далее символ может быть описан набором своих отрезков и дуг. Например, запись \{"ALC", "ACD"\} означает наличие прямой, проходящей из области "A" в область "C", и кривой, проходящей из области "A" в область "D" соответственно.

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

Классификация символов.

В существующих системах OCR используются разнообразные алгоритмы $\textit{классификации}$, то есть отнесения признаков к различным классам. Они существенно различаются в зависимости от принятых наборов признаков и применяемой по отношению к ним стратегии классификации.

Для признаковой классификации символов необходимо, в первую очередь, сформировать набор эталонных векторов признаков по каждому из распознаваемых символов. Для этого на стадии $\textit{обучения}$ оператор или разработчик вводит в систему OCR большое количество образцов начертания символов, сопровождаемых указанием значения символа. Для каждого образца система выделяет признаки и сохраняет их в виде соответствующего $\textit{вектора признаков}$. Набор векторов признаков, описывающих символ, называется $\textit{классом}$, или $\textit{кластером}$.

В процессе эксплуатации системы OCR может появиться необходимость расширить сформированную ранее базу знаний. В связи с этим некоторые системы обладают возможностью $\textit{дообучения}$ в реальном режиме времени.

Задачей собственно $\textit{процедуры классификации}$ или $\textit{распознавания}$, выполняемой в момент предъявления системе тестового изображения символа, является определение того, к какому из ранее сформированных классов принадлежит вектор признаков, полученный для данного символа. Алгоритмы классификации основаны на определении степени близости набора признаков рассматриваемого символа к каждому из классов. Правдоподобие получаемого результата зависит от выбранной метрики пространства признаков. Наиболее известной метрикой признакового пространства является традиционное Евклидово расстояние

$$ D_j^E = \sqrt{\sum\limits_{i=1}^N {(F_{ji}^L -F_i^l)^2}}, $$ где $F_{ji}^L$ - $i$-й признак из $j$-го эталонного вектора; $F_i^l $ - $i$-й признак тестируемого изображения символа.

При классификации по методу $\textit{ближайшего соседа}$ символ будет отнесен к классу, вектор признаков которого наиболее близок к вектору признаков тестируемого символа. Следует учитывать, что затраты на вычисления в таких системах возрастают с увеличением количества используемых признаков и классов.

Одна из методик, позволяющих улучшить метрику сходства, основана на статистическом анализе эталонного набора признаков. При этом в процессе классификации более надежным признакам отдается больший приоритет: $$ D_j^E =\sqrt{\sum\limits_{i=1}^N {w_i (F_{ji}^L -F_i^l)^2}}, $$

Где $w_{i}$ - вес $i$-го признака.

Другая методика классификации, требующая знания априорной информации о вероятностной модели текста, основана на использовании формулы Байеса. Из правила Байеса следует, что рассматриваемый вектор признаков принадлежит классу "$j$", если отношение правдоподобия $\lambda $ больше, чем отношение априорной вероятности класса $j$ к априорной вероятности класса $i$.

Постобработка результатов распознавания.

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

Существует большое колличество приложений OCR, использующих глобальные и локальные позиционные диаграммы, триграммы, $n$-граммы, словари и различные сочетания всех этих методов. Рассмотрим два подхода к решению этой задачи: $\textit{словарь}$ и $\textit{набор бинарных матриц}$, аппроксимирующих структуру словаря.

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

Некоторые разработчики с целью преодоления трудностей, связанных с использованием словаря, пытаются выделять информацию о структуре слова из самого слова. Такая информация говорит о степени правдоподобия $\textit{n-грамм}$ (символьных последовательностей, например, пар или троек букв) в тексте, которые также могут быть глобально позиционированными, локально позиционированными или вообще непозиционированными. Например, степень достоверности непозиционированной пары букв может быть представлена в виде бинарной матрицы, элемент которой равен 1 тогда и только тогда, когда соответствующая пара букв имеется в некотором слове, входящем в словарь. Позиционная бинарная диаграмма $D_{ij}$ является бинарной матрицей, определяющей, какая из пар букв имеет ненулевую вероятность возникновения в позиции $\langle i,j\rangle$. Набор всех позиционных диаграмм включает бинарные матрицы для каждой пары положений.

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

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

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

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

Откуда пришла OCR

опытки автоматического распознавания предпринимались, начиная с 30-х годов XX века, однако первый OCR-аппарат от американской компании Intelligent Machines Research Corporation появился только в 1952 году. Естественно, ни о каком искусственном интеллекте речь тогда не шла. Первые OCR-аппараты не имели ничего общего даже с компьютерной техникой. В них свет, отраженный от подсвеченного участка оригинала, проходил через сложную систему зеркал, причем некоторые из них были расположены на вращающихся дисках. В результате из общего потока поочередно выделялись узкие световые пучки, соответствующие небольшим участкам оригинала - аналогам пикселов электронного изображения. Эти «квазипикселы» поступали на вход фотоэлектронного умножителя - оптико-электронного преобразователя с большим коэффициентом усиления. Полученные сигналы обрабатывались электронной схемой. В ходе обработки устанавливалось, является подсвеченная точка оригинала белой или черной. На основе полученной информации OCR-аппарат воспроизводил образ подсвеченного знака.

Возможности этих машин были ограничены рядом условий. Для сколько-нибудь уверенного распознавания требовались исключительно хорошее качество, высокая контрастность и отсутствие каких-либо повреждений оригиналов. Кроме того, распознавать можно было далеко не все надписи, а только набранные определенными шрифтами. Именно с этой целью в 60-х годах были разработаны и стандартизованы специальные шрифты - OCR-A (в США) и OCR-B (в Европе).

В 70-х годах компания Kurzweil Computer Products предприняла качественно новый шаг в развитии OCR, создав систему, способную учиться распознавать шрифты. Результаты обучения, продолжавшегося обычно несколько часов, записывались на диск, и система приобретала способность распознавать тексты, набранные выученным шрифтом. В то же время в отечественном Научно-исследовательском центре электронной и вычислительной техники (НИЦЭВТ CCCР) группой под руководством Александра Шамиса велись исследования по распознаванию «рукопечатных» (сделанных от руки печатными буквами) надписей. Впоследствии результаты деятельности группы неоднократно находили воплощение в программном коде. Наиболее известной OCR-системой, на практике реализующей методики группы Шамиса, является созданная в России ABBYY FineReader, о которой подробнее будет рассказано далее.

В 1986 году компания Calera Recognition Systems разработала систему, позволяющую работать с неизвестными ей шрифтами без предварительного многочасового обучения. Это была первая OCR-система, обладавшая искусственным интеллектом. Вместо применявшейся ранее методики посимвольного сравнения с шаблонами она действовала по методу обобщения, ныне более известному как принцип нейронной сети. Разработчики предоставили в распоряжение программы свыше 10 тыс. образцов начертания каждой буквы; обобщая их, система получала представление об основных закономерностях начертания знака, что и позволяло обходиться без длительного обучения. Впрочем, некоторое обучение требуется и современным OCR-программам. Например, иногда приходится проводить «ликбез» при распознавании редких и декоративных шрифтов.

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

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

Понятно, что любой высокоуровневый объект может быть представлен как набор объектов более низкого уровня: буквы образуют слова, слова - строки и т.д. Поэтому анализ всегда начинается в направлении сверху вниз. Программа делит страницу на объекты, их, в свою очередь, на объекты низших уровней и т.д., вплоть до символов. Когда символы выделены и распознаны, начинается обратный процесс - сборка объектов высших уровней, которая завершается формированием целой страницы. Такая процедура называется многоуровневым анализом документа, или MDA (Мultilevel document Analysis).

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

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

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

  • точность распознавания — 95%;
  • точность сохранения оформления в документах для текстовых процессоров (в форматах MS Word, MS Excel, Word Pro, Word Perfect) - 89%;
  • точность сохранения оформления для последующей электронной публикации (в форматах PDF, HTML) - 87%;
  • работа с таблицами и многоколоночными текстами - 87%;
  • простота использования — 85%;
  • надежность работы — 82%;
  • удобный поиск ошибок и сверка с оригиналом - 80%;
  • работа с цветом (сохранение цветных картинок, цвета шрифта и фона) - 63%;
  • прямой экспорт в другие приложения - 61%;
  • скорость — 55%;
  • многоязычное распознавание — 25%.

Обратите внимание, что экспорт в Web-форматы сочли необходимым параметром 87% пользователей. Таким образом, возможность выкладывания результатов распознавания в Интернет становится даже более приоритетной, чем такие важные требования к OCR и вообще к программным продуктам, как удобство и простота интерфейса и надежность работы. Похоже, что сетевой фактор становится все более актуальным даже в областях, непосредственно с Интернетом не связанных. В данном случае привязанность OCR к Сети во многом можно объяснить появлением в Интернете многочисленных библиотек самой разной тематической направленности, содержащих электронные копии документов и изданий. Число таких виртуальных читален растет день ото дня, как и их популярность. Недавно, правда, над ними стали сгущаться тучи, нагоняемые поборниками авторского права, но это уже совсем другая история.

В настоящее время на рынке систем распознавания существует ряд разработок, ориентированных как на различные сферы деятельности пользователя, так и на разные платформы. Отдельная отрасль рынка ориентирована на Mac-платформу. Практически все популярные системы распознавания имеют в настоящее время версии для «яблочного» детища. Абсолютным же лидером продаж OCR-систем в России и одним из лидеров продаж за рубежом в течение нескольких лет остается система ABBYY FineReader.

«Прекрасный чтец» и иже с ним

етище студента четвертого курса МФТИ Давида Яна - компания BIT Software появилась на свет в 1989 году. В 1997-м она получила свое современное название - ABBYY Software House, а еще через год вышла со своим основным продуктом FineReader на мировой рынок. В то время такой шаг казался авантюрным, поскольку на Западе бал правили такие OCR-гиганты, как Caere с системой распознавания OmniPage и ScanSoft с TextBridge, а рынок был насыщен и поделен. Однако начало оказалось для ABBYY весьма успешным. За последние несколько лет ABBYY удалось отвоевать у конкурентов порядка 20% мирового рынка OCR-систем, и с каждым годом все больше пользователей переходят с программ других разработчиков на FineReader, по достоинству оценив преимущества этой системы. ABBYY заключила контракты с такими крупнейшими производителями сканеров, как Mustek, Acer, Compaq, Lexmark, на поставку FineReader в комплекте с их сканерами и МФУ. Дилеры и партнеры ABBYY работают в 80 странах мира, а у самой компании есть офисы в США, Германии, Великобритании, Швеции и на Украине. FineReader успела сменить семь версий, получить более ста наград в тестах различных международных изданий и тестовых лабораторий и по сей день, несмотря на ряд других софтверных решений от ABBYY, остается флагманским продуктом компании, обитая на абсолютном большинстве компьютеров, по крайней мере российских.

В настоящее время актуальны две последние версии FineReader - 6.0 и 7.0, выпущенные соответственно в 2002-м и 2003 году. Шестая версия произвела в свое время революцию на OCR-рынке. В продукте были использованы новые алгоритмы адаптивной бинаризации и фильтрации текстуры - проще говоря, резко повысилась точность распознавания документов с дизайнерскими изысками, вроде текста на цветном фоне, цветных шрифтов, многоколоночного текста. Значительно улучшилось и сохранение этого благолепия в нетронутом виде, в том числе в HTML. При этом качество распознавания оформительских элементов теперь можно было оценить, не экспортируя результат в текстовый процессор или в браузер, а с помощью собственного многоколоночного WYSIWYG-редактора. К «сырьевым» форматам, пригодным для распознавания, добавился PDF. Помимо редактирования в данном формате стало возможно сохранить и результаты работы. Возможность работы с PDF стала, пожалуй, самым полезным новшеством шестой версии FineReader.

Седьмая версия, на данный момент - венец творения, приобрела ряд новых полезных функций. Были улучшены уже упоминавшиеся алгоритмы бинаризации и фильтрации и разработан новый структурный классификатор. Как утверждают в ABBYY, это повысило точность распознавания на 25%, сложная верстка стала распознаваться лучше на 33%, а с добавлением юридического и медицинского словарей для английского и немецкого языков распознавание специализированных текстов стало более безошибочным на 30-40%. Не забыли и про «конек» прошлой версии - PDF. Точность распознавания PDF-документов возросла на 45%, а PDF-файлы, вышедшие из-под пера FineReader, стали оптимизироваться для онлайн-публикаций 1 . Но результаты, тем более количественные, внутренних корпоративных тестов довольно специфичны, и оценить справедливость указанных процентов самому весьма проблематично. Так что представление о том, насколько быстрее стала работать последняя «инкарнация» FineReader, читатели могут составить сами. Благодаря поддержке формата XML, FineReader теперь интегрируется в Microsoft Office Word 2003. Выражается интеграция в редактировании OCR-результатов средствами Word с одновременным просмотром увеличенного рабочего участка оригинала. Стала возможной работа с другим приложением Office - PowerPoint. Благодаря инструментам для разбиения изображения FineReader легко распознает распечатки презентаций, которые затем можно также легко сохранить в формате PowerPoint.

Традиция разделять софт на несколько вариантов, различающихся по функциональности и цене, появившаяся, видимо, с подачи Microsoft, не обошла стороной и FineReader. Продукт поставляется в двух ипостасях: Professional и Corporate Edition. В седьмую версию Professional перекочевали некоторые функции, ранее доступные только в корпоративной версии. Пользователи FineReader Professional теперь могут использовать инструменты для разбиения изображения, полнотекстовый морфологический поиск и функцию распознавания штрих-кодов. В Corporate Edition к джентльменскому OCR-набору добавлены инструменты для совместной работы в локальной сети: автоматическая сетевая установка, поддержка сетевых многофункциональных устройств (например, сканер + копир + принтер) и средства администрирования.

FineReader выпускается еще в двух разновидностях: Pro for Mac (в настоящее время последняя версия - 5.0) и Sprint. Первая, как понятно из названия, предназначена для использования на компьютерах от Apple. По возможностям и цене Mac-версия аналогична профессиональной и отличается меньшим количеством поддерживаемых для распознавания языков (117 против 177), поддержкой «яблочных» технологий (Quick Time, Drag-n-Drop, Speech, Navigation Services) и интерфейса AppleScript.

FineReader Sprint — это light-версия продукта, которая поставляется вместе со сканерами и многофункциональными устройствами, ее вполне достаточно для типовой работы. Если же возникает необходимость в дополнительных возможностях, в Sprint предусмотрена возможность апгрейда до полнофункциональной версии.

Цены: Corporate Edition, как и следовало ожидать, самая дорогая - 259 долл., Professional и Pro for Mac стоят в два раза дешевле - 129 долл.

Помимо FineReader, ABBYY представляет на рынке еще ряд продуктов для распознавания: программу для автоматической обработки большого количества форм, заполненных от руки (ICR-технология), ABBYY FormReader (под формами понимаются всевозможные анкеты, опросные листы, заявки клиентов, налоговые декларации и т.д.); продукт для оперативного ввода платежных документов FineReader Банк; инструмент TestReader для обработки результатов экзаменационных тестов, анкет и прочих документов учебных заведений. Кроме распознавания, ABBYY занимается разработкой электронных словарей Lingvo (последняя версия - 9.0), а также созданием решений для разработчиков и системных интеграторов. Последние позволяют встраивать в другие программные продукты технологии распознавания (FineReader SDK), полнотекстового поиска и лингвистического анализа (Retrieval & Morphology Engine) и обработки форм (FormReader Developer Edition и FlexiCapture Studio).

Заканчивая краткий рассказ о FineReader, стоит упомянуть еще об одном достижении ABBYY - от распознавания как такового далеком. Продукты компании обладают одним из наиболее высоких в России уровнем защиты. В них используется комбинированный метод защиты, включающий регистрацию и трудно копируемый носитель. В отдельных случаях (для дорогих продуктов) вместе с продуктом поставляется электронный ключ. Только начиная с седьмой версии FineReader стал поставляться без дискеты активации. Теперь его можно активировать в Интернете, по телефону, факсу или e-mail. При этом защита у продуктов ABBYY многоуровневая. Конечно, программы все равно взламывают, однако довольно часто не до конца, а только первые несколько уровней, в результате чего нелегальная копия работает некорректно или вовсе прекращает свое существование через некоторый промежуток времени. Этим достигается основная цель компании - вызвать у пользователей недоверие к пиратскому софту. Естественно, потратить столько времени и сил на антипиратские разработки ABBYY пришлось не от хорошей жизни. Ощутимые потери компания несет начиная с 1989 года, когда ее электронный словарь Lingvo был распространен по России в десятках тысяч контрафактных копий.

Практические основы

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

При первом запуске программы, а также при всех последующих, если только не отключить эту опцию, взору пользователя представляется welcome-окошко, предлагающее выбрать следующие варианты работы: ввод документа с помощью мастера Scan&Read, обучение на примерах и открытие демо-примера. Если выбрать последний вариант, программа загрузит TIFF-изображение страницы с текстом о местной группе галактик, сдобренным несколькими иллюстрациями и таблицей. Ну а пользователь должен додуматься, как довести дело до ума, то есть картинку до текста. Немного напоминает самый действенный способ научить плавать, когда тренер бросает подопечного подальше от бортика. Впрочем, здесь все гораздо проще. Как и следовало ожидать, от пользователя требуется только разобраться, какие кнопки нажимать, что нетрудно, так как интерфейс достаточно простой, а сама тестовая страница распознается без сучка, без задоринки (рис. 1).

Если выбрать «Обучение на примерах», то откроется обычный раздел справки с тремя основными главами: «Быстрое знакомство», «Примеры» и «Советы». В первой пользователю рекомендуют начать работу с нажатия кнопки Scan&Read, во второй приводится список наиболее часто используемых типов распознаваемых документов, назначение третьей, думается, понятно без слов.

Все варианты работы с FineReader разработчики разделяют по следующим шестнадцати категориям: простое письмо, документ - текст в одну колонку, многоязычный документ, книжный разворот, факс, сложная журнальная страница, газетная страница, PDF-документ, простая таблица, таблица с неполным количеством черных разделителей, сложная таблица, визитная карточка, презентация PowerPoint, программная распечатка, документ с декоративным шрифтом, документ с артикулами. Описание некоторых вариантов сопровождается изложением ситуации и пошаговой инструкцией по решению характерных проблем. Довольно часто рекомендуется сканировать документ в режиме GrayScale, при котором автоматически устанавливается оптимальная контрастность. Декоративным шрифтам, как уже упоминалось, программу нужно научить.

Следующие несколько абзацев данной статьи рассчитаны на начинающих, так что опытные пользователи вполне могут их пропустить.

Итак, переходим непосредственно к работе. Распознавание текста можно провести как с использованием мастера Scan&Read, так и без оного. В нижней части панели инструментов находятся пять больших кнопок: Scan&Read и кнопки, запускающие четыре основные операции - «Сканировать», «Распознать», «Проверить» и «Сохранить». Имеет смысл рассмотреть вариант работы с мастером (рис. 2).

Если Scan&Read запущен, то в первую очередь у пользователя спрашивается, хочет он документ отсканировать или же загрузить из файла. В первом случае показываются установленные в настоящее время настройки сканера: разрешение, яркость и тип изображения - и загружается программа управления сканером, а во втором - появляется диалоговое окно, где нужно выбрать «сырье» для распознавания в одном из форматов: BMP, DCX, JPEG, JPEG-2000, PCX, PNG, TIFF или PDF. После завершения сканирования/добавления документа программа интересуется, на каком (каких) языке (языках) написан текст для распознавания. Как уже указывалось, FineReader поддерживает 177 языков, однако на практике автору еще не приходилось менять стоящий по умолчанию «Русский-Английский». Сделав выбор и нажав «Далее», можно съесть бутерброд, сходить покурить, выпить кофе или пообедать (в зависимости от быстродействия компьютера и объема документа), так как начинается наиболее длительный 2 процесс — собственно распознавание. Пользователь может наблюдать за его ходом — распознанные фрагменты подсвечиваются голубым. По завершении предлагается оценить результат: появляются три окна, в одном из которых показывается исходное изображение, во втором — полученный текст, а в третьем — его увеличенный фрагмент. В окне «Изображение» можно посмотреть, как FineReader разбил на пронумерованные блоки текстовую, графическую и табличную составляющие документа. Блоки, определившиеся как текстовые, обведены зеленым контуром, графические — красным, табличные — синим 3 . Штрих-коды по умолчанию не распознаются, для выделения их в отдельные блоки нужно поставить соответствующую галочку в подменю Сервис -> Опции . Для редактирования блоков используется панель инструментов в левой части окна. О назначении каждого инструмента сообщается при наведении на него курсора, так что нет нужды подробно останавливаться на этом. Пример редактирования блоков приведен на рис. 3.

Рис. 3. Текст на фоне фотографии не был распознан и не выделился в отдельный блок.
Для исправления достаточно выделить мышью соответствующую область и в контекстном меню выбрать «Распознать»

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

3 Все цвета, естественно, можно поменять по своему вкусу, выполнив команду: Сервис -> Опции -> Вид .

Мастер Scan&Read дипломатично интересуется: «Как прошло распознавание?» Надо по достоинству оценить тактичность положительного варианта ответа - «В целом успешно». Неужели на полностью успешное распознавание разработчики не рассчитывали?! Отрицательный вариант ответа - «Очень плохо: ошибки в каждой строке». Это вам не стандартное «хорошо/плохо» - сразу чувствуется глубокое понимание психологии пользователя. (Шутка.) Возвращаемся к работе.

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

Рис. 4. Встроенная программа проверки орфографии очень напоминает Word’овскую…

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

Альтернативные OCR

Многих пользователей уже давно сложилось впечатление, что ABBYY FineReader - единственный в своем роде продукт. Самые продвинутые знают, что в плане распознавания латиницы у него кое-какая конкуренция имеется, но что касается кириллицы - сейчас, наверное, уже нет. Года четыре назад главным конкурентом ABBYY на отечественном рынке была компания Cognitive Technologies со своей системой распознавания CuneiForm. Но OCR для Cognitive теперь не считается приоритетным направлением деятельности: компания в основном занята в проектной интеграции в сферах электронной торговли, документооборота и информационно-аналитических систем. Один из наиболее популярных программных продуктов Cognitive - система электронного документооборота «Евфрат». CuneiForm, когда-то дышавший в затылок FineReader, в отличие от последнего, прекратил эволюционировать на версии 2000 (Professional и Master). Тем не менее CuneiForm также входит в комплект некоторых продаваемых в России сканеров и многофункциональных устройств от Canon, Hewlett-Packard, OKI, Seiko EPSON, Olivetti. Этот «дедушка» хотя и позволяет экспортировать результаты с сохранением форматирования, но так и не научился распознавать PDF, поддерживает всего 15 языков, но при этом неправильно распознает документы, текст которых содержит более одного языка, исключая стандартную пару русский-английский, не производит автоматического ориентирования текстовых строк и т.д. Конечно, при соответствующей цене на эти недостатки можно закрыть глаза. Но в случае с CuneiForm сделать это не получается, так как версия Professional стоит 129 долл., а Master - 249 долл., то есть почти столько же, что и FineReader. Профессиональная версия, в отличие от «мастерской», не может производить пакетного сканирования и распознавания и не имеет персонального электронного архива «Евфрат». Порекомендовать данную программу можно, видимо, только тем, кто использует систему «Евфрат», так как в CuneiForm поддерживается интеграция с этим продуктом.

Из других OCR-разработок можно выделить зарубежные продукты Readiris 9.0 от I.R.I.S. и OmniPage Pro 14.0 от ScanSoft. Readiris отличается прежде всего скромными размерами, что не мешает ему распознавать текст из LZW-сжатых TIFF-изображений, что недоступно его старшим собратьям. Однако если эти аспекты не очень актуальны и продукт не шел в поставке со сканером, то особого смысла приобретать Readiris автор не видит. Вряд ли он покажется лучше, чем, например, «спринтерский» вариант FineReader или OEM-версия другой программы.

OmniPage Pro — гораздо более мощный продукт, близкий по своим возможностям к детищу ABBYY (и, кстати, за рубежом успешно с ним конкурирующий): в нем реализованы те же расширенная работа с PDF-файлами, экспорт в офисные приложения, поддержка XML. К эксклюзиву можно отнести поддержку ODMA-совместимых корпоративных систем управления документами, формата eBook и наличие открытого OLE-интерфейса, позволяющего проводить интеграцию продукта с другими приложениями. Еще одно достоинство OmniPage Pro — звуковое чтение распознанного текста — вряд ли будет по достоинству оценено отечественными пользователями, так как читать программа умеет только по-английски. Кстати, русский интерфейс также отсутствует. И в заключение хотелось бы привести без комментариев стоимость продукта — 634 долл.

Подводя итоги, можно сказать, что сегодня по соотношению «цена/качество» на российском рынке у ABBYY нет достойных конкурентов. Возможно, они появятся после локализации (как в плане языка, так и цены) OmniPage. Жизнь покажет.