Познание распознавания — о том, как работает технология оцифровки сканированных текстов

 | 12.54

Мой Компьютер, №11, 10.03.2008

Горизонты OCR

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

При всем этом многообразии, наиболее востребованной, а следовательно, и удачной с коммерческой точки зрения является технология оптического распознавания символов (optical character recognition, OCR). Появление сканеров позволило быстро получать изображение рисунков и текста. Но чтобы текст можно было редактировать, вносить исправления, изображение необходимо распознать, перевести в текстовый формат, если угодно — «прочитать».

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

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

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

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

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

История

Первопроходцами OCR принято считать немца Густава Таушека, запатентовавшего механическую OCR-машину в далеком 1929 году (в США этот патент был признан лишь в 1935 году), а также американца Пола В. Хэндела, получившего патент на OCR в США в 1933 году.

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

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

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

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

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

В бывшем СССР была сформирована сильная школа искусственного интеллекта. Полувековой багаж научных и практических разработок в области оптического распознавания позволяет двум основным игрокам постсоветского пространства — компаниям ABBYY и Cognitive Technologies — иметь в своем арсенале целую обойму технологий, направленных на домашних и корпоративных пользователей.

Множество различных наград, ряд реализованных крупных проектов, а самое главное — признание пользователей, для которых OCR-система становится продуктом must have среди офисных программ, позволяют этим компаниям быть «на коне» и одновременно побуждают их к дальнейшему совершенствованию своих продуктов, «планка» которых чрезвычайно высока. Сразу оговорюсь: сравнение продуктов двух софтверных гигантов и их рыночных стратегий — тема отдельного материала, следовательно, этих вопросов в статье затрагивать я не буду.

Как найти подход?

Программное обеспечение OCR обычно работает с большим растровым изображением страницы, полученным в результате сканирования. Изображения со стандартной степенью разрешения получаются при сканировании с точностью 300ґ300 пикселей на дюйм. Изображение бумажного листа формата A4 при этом разрешении занимает около 1 Мб памяти. Изображения c бо ,льшим разрешением обрабатываются программой дольше и требуют большего объема оперативной памяти. При этом далеко не всегда увеличение разрешения влечет улучшение качества распознавания.

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

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

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

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

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

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

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

Современные OCR-программы сочетают различные подходы, применяя их в зависимости от типа исходного документа.

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

Подход нашли. Идем на принцип

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

А дальше включается искусственный интеллект, использующий машинные подходы, описанные выше.

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

  • Принцип целостности (integrity), согласно которому созерцаемый объект рассматривается как целое, состоящее из связанных частей. Связь частей выражается в пространственных отношениях между ними, и сами части получают толкование только в составе предполагаемого целого, то есть в рамках гипотезы об объекте. Пример: мы видим изображение древовидной структуры. Начато распознавание. Выдвигаются гипотезы: это либо рисунок дерева, и тогда «ветви» структуры соответствуют веткам, либо схема автобусных маршрутов, где «ветви» обозначают пути автобусов с разными номерами, либо это карта речной поймы, а «ветви» — русла рек и ручьев.
  • Принцип целенаправленности (purposefulness) формулируется просто: любая интерпретация данных преследует определенную цель. Согласно этому принципу, распознавание представляет собой процесс выдвижения гипотез о целом объекте и целенаправленной их проверки. Пример (продолжение): если наблюдаемое нами изображение — схема маршрутов, то на «ветвях» должны быть обозначены остановки. Если изображение — карта поймы, должны быть названия рек и ручьев, а также масштаб. Если же это рисунок дерева, на «ветвях» вероятно наличие листьев, а у основания — изображение травы или земли. Проверка: обозначений остановок нет, листьев и травы нет, у каждой «ветви» надписаны названия, внизу проставлен масштаб. Подтверждена гипотеза: это карта речной поймы, а «ветви» соответствуют руслам. Распознавание закончено. (И заняло оно всего лишь мгновение!).
  • Принцип адаптивности (adaptability) подразумевает способность системы к самообучению. Полученная при распознавании информация упорядочивается, сохраняется и используется впоследствии при решении аналогичных задач. Преимущество самообучающихся систем заключается в способности направлять путь логических рассуждений, опираясь на ранее накопленные знания. Пример: мы видим новое изображение древовидной структуры, внизу проставлен масштаб. Информация: в прошлый раз такое изображение оказалось картой, поэтому прежде чем выдвигать иные гипотезы следует проверить наличие названий рек. Проверка: названия обнаружены. Распознавание закончено.

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

В соответствии с вышеописанными принципами на всех этапах обработки документа действует ABBYY FineReader — несомненно, наиболее распространенная на постсоветском пространстве OCR-система.

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

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

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

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

PROMETECH

Robo User
Web-droid editor

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *