Смекни!
smekni.com

Этапы развития и сравнительный анализ программ оптического распознавания (стр. 2 из 2)

Очевидно, что "t" всегда состоит из жирного вертикального штриха, поперечного с горизонтальным штрихом. Дизайнер шрифта может включать в него засечки или сдвигать расположение пересечений, но человек может без труда выяснять и игнорировать эти отличия. Основанные на шаблоне подходы должны создать шаблоны для каждого возможного шрифта (программа ExperVision, к примеру, использует 2100 таких начертаний). Caere напротив пробует находить сущность каждого символа на основе структурного подхода.

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

Контекстное распознавание

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

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

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

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

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

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

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

Коррекция ошибок

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

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

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

Увеличение скорости бесклавиатурного ввода документов в технологиях электронного документооборота

Скорость распознавания порядка одного документа в минуту, считая накладные расходы на коррекцию, не позволяет говорить об удовлетворительном уровне автоматизации ввода больших потоков бумаг. Ведь скоростные сканеры Fujitsu в настоящее время позволяют вводить документы со скоростью 20-50 документов в минуту. Адекватные скорости оптического распознавания до недавнего времени не были достигнуты.

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

Еще в 1995 году были предложены два радикальных способа решения этой проблемы.

Одним из них стало использование всех ресурсов Pentium-процессоров в системах распознавания. Для этого фирмой Intel при участии российских разработчиков были созданы специальные библиотеки для программ OCR (в рамках широко разрекламированной программы NSP - позднее замененной программой MMX).

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

Именно такие операции (свертки, преобразования Фурье и др.) были оптимизированы на низком уровне для Pentium-процессоров, а соответствующие библиотеки бесплатно предоставлены фирмой Intel разработчикам. Еще более кардинальный способ был реализован в России, когда была создана установка распознавания (на базе OCR фирмы "Окрус"), использующая параллельные вычисления наиболее трудоемких операций на транспьютерах. Но дальнейшего развития этот эксперимент не получил.

Заключение

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

Если же делать выводы о закономерностях в построении программ OCR, то можно сказать следующее.

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

Список литературы

1. Новиков Ф., Яценко А. MicrosoftOffice 2000 в целом. СПб., 1999.

2. Рабин Ч. Эффективная работа с MicrosoftOffice 2000. СПб., 2000.

3. Айден К., Фибельман Х., Крамер М. Аппаратные средства РС. СПб., 1997