Системы оптического распознавания символов. Оптическое распознавание символов (OCR). Распознавание символов на базе дескрипторов Фурье

Технологии оптического распознавания (понятие и области применения OCR, алгоритмы оптического распознавания, характеристики и программы OCR, понятие Intelligent CharacterRecognition, системы распознавания рукописного текста)

OCR (Optical Character Recognition) - технология преобразования графического изображения текста в компьютерный текст с помощью алгоритма распознавания графических образов.

Ocr используется:

1) при сканировании и фотографировании текстов.

2) для ввода больших объемов текстовой информации в компьютер (от 100 и более страниц в день).

3) для рукописного ввода текстовой информации в компьютер.

4) для преобразования одного формата в другой.

Популярны три основные технологии распознавания символов:

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

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

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

Характеристики ocr:

    количество ошибок при вводе текста. Допустимой считается величина 10 ошибок на страницу.

    требовательность к качеству исходного текста.

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

    поддержка различных языков.

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

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

Программы ocr:

Наиболее известны такие пакеты, как FineReader, CuneiForm, OmniPage, TextBridge.

ABBYY FineReader - OCR для автоматического ввода текстов, таблиц, форм, анкет и т.п.

ADRT (Adaptive Document Recognition Technology), технология адаптивного распознавания документов уровня IDR (Intelligent Document Recognition).

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

    ICR (Intelligent Character Recognition ) - системы для обработки форм, обеспечивающие ввод данных из документов на основе геометрических шаблонов

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

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

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

2. Распознавание - текст переводится из графической формы в обычную текстовую.

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

4. Сохранение - запись распознанного документа в файл нужного формата для дальнейшего редактирования в соответствующей программе.

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

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

В качестве примера OCR-систем можно привести CuneiForm от фирмы Cognitive и FineReader от ABBYY Software.

OCR-системаFineReader выпускается в различных версиях (Sprint, Home Edition, Professional Edition, Corporate Edition, Office) и все они, от самой простой до самой мощной, имеют очень удобный интерфейс, а также (в зависимости от модификации) имеют ряд достоинств, которые выделяют их среди аналогичных программ.

Например, FineReader Professional Edition (FineReader Pro) обладает следующими функциональными возможностями:

поддерживает почти двести языков (даже древние языки и популярные языки программирования);

распознает графику, таблицы, документы на бланках и т.п.;

полностью сохраняет все особенности форматирования документов и их графическое оформление;

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

Конец работы -

Эта тема принадлежит разделу:

Информация: свойства информации, количество информации единицы измерения- 13

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Информатика как наука
Как известно, характерной чертой XX и XXI вв. является овладение человечеством компьютерной техникой, которая настолько плотно вошла и производственную сферу и в повседневную жизнь, что теперь труд

Виды информации
Информация может существовать в виде: текстов, рисунков, чертежей, фотографий; световых или звуковых сигналов; радиоволн; электрических и нервных импуль

Передача информации
Информация передаётся в форме сообщений от некоторого источника информации к её приёмнику посредством канала связи между ними. Ис

Количество информации
Какое количество информации содержится, к примеру, в тексте романа "Война и мир", во фресках Рафаэля или в генетическом коде человека? Ответа на эти вопросы наука не даёт и, по всей вероя

Обработка информации
Информацию можно: создавать; передавать; воспринимать; иcпользовать; запоминать; принимать;

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

Порождение целых чисел в позиционных системах счисления
В каждой системе счисления цифры упорядочены в соответствии с их значениями: 1 больше 0, 2 больше 1 и т.д. Продвижением цифры называют замену её следующей по величине.

Системы счисления, используемые для общения с компьютером
Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно: двоичная (используются цифры 0, 1); восьмер

Правовые основы информатизации в Республике Беларусь
В век информации в Республике Беларусь уделяется большое внимание организации цивилизованного информационного рынка. Об этом свидетельствуют следующие принятые документы: - законы:

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

История развития вычислительной техники
Стремительное развитие цифровой вычислительной техники (ВТ) и становление науки о принципах ее построения и проектирования началось в 40-х гг. XX в., когда технической базой ВТ стала электроника и

Принципы строения и функционирования ЭВМ Джона фон Неймана
Большинство современных ЭВМ функционирует на основе принципов, сформулированных в 1945 г. американским ученым венгерского происхождения Джоном фон Нейманом. 1.Принцип двоичного кодирова

Основные компоненты и переферийные устройства ПК
Конструктивно ПК состоит из системного блока, монитора, клавиатуры, мыши и внешних (периферийных) устройств. Системный блок (корпус) представляет собой коробку из металла и пластмас

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

Устройства внешней памяти ПК
Для хранения программ и данных в компьютере используют устройства внешней памяти - накопители. По отношению к компьютеру они могут быть внешними и встраиваемыми (внутренни

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

Конфигурация ПК
Функциональные возможности компьютера определяет его конфигурация - состав и характеристика его основных устройств: процессора, оперативной памяти, жесткого диска, CD/DVD-приводов, монитора, видеок

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

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

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

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

Операционная система Windows
Корпорация Microsoft начала разрабатывать ОС семейства Windows с конца 80-х годов прошлого столетия. На сегодняшний день можно отметить следующие ОС этого семейства: Windows 3.0 / 3.1 / 3.

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

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

Графический интерфейс Windows и его элементы
После загрузки Windows на экране появляется электронный Рабочий стол, на котором размещаются графические объекты - пиктограммы (значки) папок и файлов, ярлыки и др. Значки файлов документов

Настройка ОС Windows
Настройку ОС Windows можно условно разделить на два вида: 1. Настройку интерфейса и элементов Панели управления - их может произвести любой пользователь. 2. Изменения через скрыты

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

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

Архивация
Цель архивации - обеспечение более компактного размещения информации на диске, а также сокращение времени и соответственно стоимости передачи информации по каналам связи в компьютерных сетях

Общая характеристика и функциональные возможности программы-архиватора WinRAR 3.3
WinRAR - это 32-разрядная версия архиватора RAR для Windows, мощного средства создания и управления архивными файлами. Для Windows имеются две версии RAR: 1. Версия для командной ст

Инструментальное программное обеспечение
К инструментальному программному обеспечению относят: системы программирования - для разработки новых программ, например, Паскаль, Бейсик. Обычно они включают: редакт

Буфер промежуточного хранения Clipboard
Уже в первых версиях Windows был реализован встроенный буфер промежуточного хранения данных Clipboard(буфер обмена), который постоянно активен и доступен всем Windows-приложениям.

Технология DDE
Для обмена данными между приложениями может использоваться технология DDE(Dynamic Data Exchange - динамический обмен данными), суть которой состоит в том, что вставляемый через буф

Технология OLE
Технология связывания и внедрения объектов (Object Linking and Embedding) имеет больше функциональных возможностей, причем если приложение поддерживает OLE, то оно само выполняет обмен данными по э

Тенденции развития операционных систем
Основные направления развития операционных систем следующие: 1. Расширяемость - возможность внесения дополнительных функций без разрушения целостности системы (вспомните ОС Linux).

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

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

Общая характеристика и функциональные возможности Microsoft Excel 2003
Можно выделить следующие функциональные возможности текстового процессора Microsoft Excel 2003: построение таблиц и сохранение их на машинных носителях, работа с шаблонами; работа

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

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

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

Общая характеристика и функциональные возможности программы Corel DRAW
CorelDRAW представляет собой объектно-ориентированный пакет программ для работы с векторной графикой. Термин «объектно-ориентированный» следует понимать в том смысле, что все операц

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

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

Системы создания презентаций и их функциональные возможности
Рынок пакетов для создания презентаций развивается по двум направлениям: 1. Средства создания презентаций непрофессионального пользователя (например, PowerPoint фирмы Microsoft, Corel Pres

Общая характеристика и функциональные возможности Microsoft PowerPoint 2003
Система создания презентаций PowerPoint - является компонентой Microsoft Office и предназначена для создания презентационных материалов в виде слайдов и их вывода на бумагу, экран, прозрачную пленк

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

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

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

Глобальная сеть Internet
Internet (Интернет) - глобальная компьютерная сеть, представляющая собой всемирное объединение неоднородных компьютерных сетей, образующих единое информационное пространство благодаря исполь

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

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

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

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

Базы Данных
В настоящее время термины база данных (БД) и система управления базами данных (СУБД) используются, как правило, по отношению к компьютерным базам данных. В общем смысле этот термин можно применить

Накладные Товар
Номер накладной Код покупателя Номер накладной Товар Количество

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

Сетевые модели
В сетевой модели данные представляются в виде записей, которые связываются друг с другом по некоторым правилам и образуют сеть (рис. 2.5). Данные в сетевой структуре равноправны. Примером

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

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

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

Термины реляционных СУБД
· Таблица - информация об объектах одного типа (например, о клиентах, заказах, сотрудниках) представляется в табличном виде. · Атрибут - хранится в поле (столбце) таблицы. Эт

Этапы проектирования Базы Данных
· Определить назначение БД. · Определить, какие исходные данные (таблицы) будет содержать БД. · Определить поля, которые будут входить в таблицы, и выбрать поля, содержащие уникал

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

Задача распознавания текстовой информации при переводе печатного и рукописного текста в электронную форму является одной из важнейших составляющих любого проекта, имеющего целью автоматизацию документооборота или внедрение безбумажных технологий. Вместе с тем эта задача является одной из наиболее сложных и наукоемких задач полностью автоматического анализа изображений. Даже человек, читающий рукописный текст, в отрыве от контекста, делает в среднем около $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$. Набор всех позиционных диаграмм включает бинарные матрицы для каждой пары положений.

Поколения программ OCR

Перед тем как начать рассмотрение OCR-систем, давайте сначала хотя бы минимально приведем их классификацию для удобства рассмотрения. На данный момент выделяют OCR-системы, а также ICR-системы. Несколько упрощая суть отличий между ними, можно считать, что ICR-системы – это следующее поколение в развитии OCR-систем. В ICR гораздо более активно и серьёзно используются возможности искусственного интеллекта, в частности, ICR-системы часто используются для распознавания рукописных текстов, декоративных непостоянных шрифтов, а также, как самый яркий пример, преодолению тех же систем по защите от спам-ботов – каптч (captcha). Третий, пока ещё только теоретический уровень качества распознавания текста, это IWR, в которой считываются и распознаются не отдельные символы/точки, а считываются и распознаются фразы целиком.

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

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

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

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

ачем набирать текст, если ранее это уже кто-то сделал? У пользователя такая задача вызывает яростное сопротивление с примесью обиды за то, что приходится дублировать чью-то работу. Помощь компьютера, который уже умел считать, рисовать и делать множество других вещей за человека, стала необходима еще в одной области. Естественно, разработчики программного обеспечения не могли остаться равнодушными к столь вопиющей несправедливости, ликвидация которой к тому же обещала солидные дивиденды. Так были созданы системы искусственного интеллекта, известные в России как системы оптического распознавания текста, а в англоговорящих странах - как 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. Жизнь покажет.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: