Вы находитесь на странице: 1из 21

Распознавание строк печатных текстов

В.Л. Арлазаров, П.А. Куратов, О.А.Славин

Работа посвящена распознаванию печатных символов в условиях


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

1. Проблемы распознавания печатных текстовых строк

Распознавание строк печатных текстов в общем случае не может


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

Рис. 1. Поиск кривой разрезания в печатном тексте [1].


2

Для решения этих задач в [1] предлагается использование нейронных сетей


как генератора монотонных оценок для первичного распознавания (в
качестве средства отделения надежно и ненадежно распознанных слов также
указан словарь), так и для автоматического нахождения отрезков разрезания.
Входами нейронного алгоритма для последнего являются образы,
приведенные к стандартным размерам (19х57). Для поиска первой (самой
левой) разделяющей кривой применяются эвристики, учитывающие вес точек
образа, удаляемых данной кривой (см. рис. 1). После нахождения левой
части, поиск продолжается рекурсивно по образу с удаленной левой частью.
Для повышения надежности сегментации возможен повторный процесс не
слева направо, а справа налево.
Как в приведенных выше, так и в описываемых нами алгоритмах образы
подвергаются распознаванию и обработке алгоритмами, целью первичной
обработки является выделение границ зон образов, которые не могут быть
распознаны как отдельные символы. Поскольку образы в строке могут быть
линейно упорядочены по координатам границ, выделение зон состоит в
нахождении двух образов из общего списка строки, которые задают начальный
и конечный образы из последовательности, все или часть образов которой не
удовлетворяют модели символа. Регистрация образа в качестве распознанного
символа производится с помощью оценки распознанного образа в сочетании с
геометрическими групповыми соотношениями между образами одной строки,
например, таким как сходство размеров. Наилучшим является случай, когда все
первичные образы удовлетворяют модели символа сразу после первичного
распознавания компонент связности, а наихудшим – когда все образы строки
нуждаются в поиске границ символов. Чаще всего в строке определяется
несколько зон для поиска границ символов. Локальные зоны, определенные,
например, разбивкой на слова, не объединяются для упрощения геометрической
структуры каждой из зон, в то же время несколько близких зон, которые могут
содержать части одного символа, рассматриваются как одно целое (см. рис. 2).
3

Рис. 2. Символ, принадлежащий двум зонам

2. Алгоритм сегментации границ символов


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

Рис. 3. Пример частичных и сквозных отрезков разрезания

Сегментация начинается с разметки зоны, состоящей в нахождении


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

Рис. 4. Типы отрезков разрезания кириллицы

критических точек на представлении растра зоны разрезания в виде верхнего и


нижнего абрисов [2], при этом первичный растр зоны может быть
модифицирован посредством удаления части линий в компонентах связности,
составляющих зону. Вообще говоря, конфигураций, которые могут
рассматриваться как точки склейки букв определенного алфавита, немного (рис.
4). Имеется некоторое число случаев сегментации, невозможных разрешиться
вертикальными разрезами, таких как пара «го» на рис. 4. Такие ситуации
устраняются либо введением косых отрезков разрезания, либо добавлением в
алфавит распознавания дополнительных фиктивных символов,
олицетворяющих собой пары склеенных букв, неразделяемых вертикальными
отрезками. В последнем случае требуются некоторые усилия при обучении
дополнительным редко встречающимся символам.
Пусть для зоны сегментации составлен массив точек разрезания x0,
x1,…,xN (x0 и xN – границы зоны) и пусть для каждой пары точек разрезания
определен способ извлечения ограничиваемого ими образа. Мерой сегмента
(xi,xj), ограниченного точками разрезания xi и xj, назовем разность между
максимально возможной оценкой распознавания образа и оценкой ведущей
альтернативы. Таким образом, меру сегмента можно интерпретировать как
штраф распознавания. Назовем путем в точку xj длины k набор точек
разрезания T=( ), такой, что , 1<k<N, 0<jN и i1<i2<…

<ik. Меру пути (T) определим как наибольшую из мер сегментов ( ),


образованных соседними точками пути. Тогда задача сегментации зоны [x0 , xN]
на символы, каждый из которых имеет границами пару точек разрезания,
состоит в нахождении пути с минимальной мерой.
Алгоритм построения оптимального пути базируется на методе
динамического программирования, восходящего к Беллману [3] и состоит из
последовательности выбора путей, приходящих в точку разрезания в порядке
возрастания номеров точек. Беллман формулирует принцип оптимальности
следующим образом: «Оптимальное поведение обладает свойством,
5

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


решение в начальный момент, последующие решения должны представлять
собой оптимальное поведение относительно состояния, полученного в
результате первого решения». Это эквивалентно высказыванию о том, что для
получения оптимального пути необходимо на каждом шаге формировать
оптимальный выбор в зависимости от состояния, достигнутого на завершающей
точке процесса.
В наших терминах принцип оптимальности формулируется так: "Если
путь T=( ), является оптимальным путем на интервале (

), то любой его подпуть P=( ), 0<ip<ik является

оптимальным на интервале ( )".


Поясним на примере процесс оптимальной сегментации, базирующейся
на вычислении оценок символов. В первую точку разрезания ведет
единственный путь A1 , исходящий из точки x0, с мерой
(A1) = (x0 ,x1).

Рис. 5. Построение оптимального пути длины 2

Во вторую точку можно прийти двумя путями A20 = (x0,x2) и A21 = (x0,x1,x2) =
(A1, x2) (см. рис. 5), из которых мы выбираем путь A2 с наименьшей мерой:
(A2) = min( ( x0,x2), (A1, x2) ).
Аналогично, в точку xn ведут n путей из точек :
An0=( x0, xn), An1=(A1, xn), … ,An,(n-1)=(An-1, xn),
причем для каждого из возможных путей, ведущих в промежуточную точку
xi, нам уже известен путь Ai с наилучшей оценкой. Из всех путей An0, An1,
… ,An,(n-1) выберем путь An с наименьшей мерой:
( An) = min((0, xn), min( (Ai, xn)) ), 1i<n. (1)
Таким образом, в каждой точке мы опираемся на уже построенные оптимальные
пути в промежуточные точки предполагаемого пути, этим достигается
построение оптимального пути ведущего из начальной точки зоны разрезания в
6

ее конечную точку за один проход, алгоритм имеет квадратичную сложность


относительно числа точек разрезания.
Легко показать, что сформулированный принцип выполняется для
аддитивной меры , то есть в случае, когда мера всего пути равна сумме мер его
составных частей (подпутей).

Рис. 6. К теореме о применимости принципа Беллмана

По-прежнему оптимальным считаем путь с наименьшей мерой.


Рассмотрим оптимальный путь из точки a0 в точку an, и рассмотрим его
произвольный подпуть L2, ведущий из точки в конечную точку xn.
Принцип оптимальности предполагает, что L2 является оптимальным на
интервале ( ). Докажем это методом от противного.

Предположим что, на интервале ( ) оптимальным является путь M.


Рассмотрим путь T=(L1,M). В силу аддитивности его мера равна
(T) = (L1) + (M).
C другой стороны меру исходного пути можно представить как
(L) = (L1) + (L2).
По предположению (M) < (L2), следовательно, (T) < (L), что
противоречит условию об оптимальности пути L на интервале (x0 ,x n). Тем
самым доказано, что для аддитивной меры принцип оптимальности
выполняется.
В случае аддитивной меры формула (1) преобразуется к виду:
( Aк) = min( (ai, aк)+ (Ai) ), ai  S,
а построение оптимального пути производится по формуле:
aj = argmin( (ai, aк)+ (Ai) ), ai  S,
где min и argmin вычисляются по всем ai , а S - множество точек, из
которых возможен переход в точку k.
Мерой точки ai назовем меру оптимального пути из начальной точки a0 в
точку ai. Меры вычисляются слева направо, так что при вычислении ( aк) меры
точек ai (i<k) уже известны. Оптимальный путь, напротив, вычисляется справа
налево, начиная с конечной точки.
7

Теперь рассмотрим пример, где принцип Беллмана не выполняется.


Определим меру пути T=( a0, a1 ,.., an) как усредненный штраф:

а) б)
Рис. 7. Пример разрезания с неаддитивной мерой

Оптимальным является путь, имеющий минимальную меру.


Пусть для склейки на рис. 7а определен массив точек разрезания, и пусть в
результате распознавания получены оценки сегментов, показанные на рис. 7б ( в
скобках - меры сегментов).
Для точки 2 оптимальным является путь (a0, a1 , a2). Его мера
( a0, a1 , a2) = (30+30)/2 = 30
Оптимальным для точки 3 является путь (a0, a2 , a3) с мерой
( a0, a2 , a3) = (35+0)/2 = 35/2.
Таким образом, подпуть (a0, a2) оптимального пути (a0, a2 , a3) не является
оптимальным на интервале (a0, a2), то есть для меры пути, вычисляемой как
среднее значение мер сегментов, принцип Беллмана не выполняется.
Из сказанного видна ключевая роль правильного выбора меры пути для
успешного применения алгоритма динамического программирования.
Упомянутая выше мера, как наибольший штраф распознавания сегментов,
позволяет применить принцип Беллмана, но обладает серьезным недостатком.
Если один из символов по какой-нибудь причине не может быть распознан, то
есть имеет нулевую оценку и, соответственно, максимальный штраф, то и все
пути, проходящие через него будут иметь максимальную меру, так что выбор
одного из них становится невозможным. Мера, основанная на средней оценке,
8

не обладает этим недостатком, но выше было показано, что алгоритм


динамического программирования для такой меры неприменим.
Рассмотрим следующую меру для пути. Пусть мера сегмента
( ai, aj) = (P max -P)W,
где P - оценка распознавания сегмента, как одиночного символа, P max -
максимально возможная оценка распознавания символа, W - ширина символа.
Меру пути определим как сумму мер сегментов

(2)
а оптимальным - путь с наименьшей мерой. Как было показано, для мер вида (2)
можно применить алгоритм динамического программирования.
Алгоритм динамического программирования является весьма трудоемким.
Очевидно, во всех случаях достаточно рассмотреть n(n-1)/2 сегментов (ai, aj),
0i<jn, чтобы получить оптимальный путь S=( ). В общем
случае оценка n(n-1)/2 не улучшаема. Действительно, рассмотрим задачу
выбора пути, мера которого есть сумма оценок его сегментов

Ясно, что здесь должны быть рассмотрены все возможные сегменты (ai,
aj). Любой из них может иметь оценку сколь угодно высокую или низкую.
Поэтому при фиксированных остальных оценках от оценки сегмента (ai, aj)
зависит, будет ли он принадлежать оптимальному пути. Следовательно, оценка
должна быть получена для любого сегмента (ai, aj).
С другой стороны, в практически значимых для распознавания
конкретных ситуациях вовсе не обязательно должны оцениваться все сегменты
(ai, aj). Пусть, например, минимизируется мера пути S, причем эта мера равна
сумме оценок всех сегментов пути S, то есть снова

Рассмотрим три точки a1, a2, a3 и пусть (a1, a3) = 1 = 1 (a1, a2) = 2 = 2
(см. рис. 8).

Рис. 8. Пример, когда выполнение оценки сегмента (a2, a3) излишне


9

Так как (a2, a3)0, то для 1 = (a1, a3) справедливо


1   (a1, a2, a3) = (a1, a2) + (a2, a3) = 2 + (a2, a3).
Значит s=(1,3) – оптимальный путь независимо от оценки (a2, a3).
Если мера пути есть максимальная из оценок его сегментов, мы получаем
ту же картину безо всяких предположений относительно (a2, a3).
Действительно,
1 = (a1, a3)   (a1, a2, a3) = max((a1, a2), (a2, a3)) = max(2, (a2, a3)).
Другим источником уменьшения числа оцениваемых сегментов (мы будем
говорить «отсечений») являются априорные оценки качества. Простейшим
примером (см. рис. 9) использования таких оценок является следующее
разбиение, где два сегмента оценены так, что (a1, a3) = 1, (a3, a5) = 2.
Рис. 9. К примеру об априорных оценках качества

Очевидно, что если 1 + 2 = 0, то путь (a1, a3, a5) неулучшаем, так как все
оценки неотрицательны. Но даже если 1 + 2 < , где  - маленькая величина,
можно утверждать, что путь наилучший, так как при неправильном разбиении,
то есть если (a1, a3) и (a3, a5) не представляют реальных символов, столь
хорошие оценки (малые штрафы) невозможны. (Особый случай, когда сегменты
(a1, a3) и (a3, a5) являются частями символа, но в то же время выглядят, как
самостоятельные символы, мы рассмотрим в разделе 3.)
Хотя, как мы увидим далее, к таким утверждениям необходимо относиться
с осторожностью, они используются очень широко, так как позволяют сразу
прекратить вычисления, если ответ угадан.
Первый путь отсечений удобно применять, когда мера пути обладает тем
свойством, что если S1  S2 (S1 и S2 – пути), то (S1)  (S2). Такие меры
будем называть монотонными. Монотонными являются, например, мера, равная
сумме штрафов сегментов пути, а также мера, равная максимальному штрафу
по всем сегментам.
В случае монотонной меры очевидно утверждение: если существует путь
S0 = ( ) с оценкой p0 = (S0) и все пути S = ( ), tn, с
началом a0 и концом at имеют оценки (S)  p0, то точка at не принадлежит
оптимальному пути.
10

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


pt = ( ) можно проверить, что pt  p0, и, если это так, весь
дальнейший алгоритм можно реализовать, исключив из рассмотрения точку at.
Отсюда можно сделать два вывода. Во-первых, желательно, чтобы мера
(S) была монотонна. Во-вторых, для получения максимального числа
отсечений важно с самого начала иметь достаточно высокую оценку всего пути
p0.
Сейчас мы займемся вопросом получения оценки p0. Однако сначала
сделаем одно важное замечание.
Пусть имеется n+1 точка { ai }, 0 i n, и оценки некоторых сегментов (ai,
aj), 0i<jn. Тогда для каждой точки ar можно рассчитать частичную оценку
_(ar) = (Sr), где Sr – путь от a0 до ar, состоящий целиком из сегментов, уже
имеющих оценку. При этом всегда _(ar)  (ar), а в случае, если оценены все
сегменты (ai, aj), 0i<jr, частичная оценка превращается в полную. Если нет ни
одного пути из оцененных сегментов от a0 до ar, то положим _(ar) = .
Из этого замечания следует, что вовсе не обязательно получать
последовательно оценки (a1), (a2),, (ar). Вместо этого можно оценивать
сегменты (ai, aj) в произвольном порядке, сохраняя полученные оценки и
каждый раз пересчитывая значения _(ar), 1rn. Пересчет значений _(ar)
может оказаться более сложным, чем при последовательном вычислении оценок
слева направо, но оценка каждого из сегментов будет произведена только один
раз.
Отсюда видно, что можно построить произвольный путь
S= ( ), и его оценку положить в качестве p0. Вообще говоря, в
любой момент можно полагать p0 = _(an). Естественно, чем удачнее будет
выбран первый путь, тем больше шансов получить серьезные отсечения. В
идеале, если первый опробованный путь представляет собой правильное
разбиение на символы, может оказаться достаточным оценить сегменты (a0, ai)
для всех i  n и убедиться, что все оценки (кроме сегмента, определяющего
первый символ) удовлетворяют условию (a0, ai)  p0, то есть необходимо
выполнить всего n оценок.
Вполне вероятно, что среди возможных отрезков разрезания некоторые
выглядят более привлекательными, чем другие. Например, для моноширинных
шрифтов таковым является набор равноотстоящих отрезков с минимальной
суммой черных точек вдоль разрезов. Другим примером являются отрезки
разрезания для склеек типа «клювы» (рис. 10).
11

Рис. 10 Склейка типа «клюв»

Такие сочленения очень редки внутри одного символа и очень часты на их


границах: «ос», «бе» и т. п. В таком случае имеет смысл попробовать такие
точки в первую очередь. Выполнив алгоритм разрезания только по ним, можно
получить столь хорошую оценку, что можно сразу прекратить перебор. В
противном случае получившуюся частичную оценку _(an), можно взять в
качестве p0 и продолжить перебор, включив новые точки.

3. Распознавание символов в процессе поиска границ

Описанный переборный алгоритм налагает требование монотонности для


метода распознавания образа, определяемого парой точек разрезания. Более
того, поскольку набор отрезков разрезания, содержащий запасные отрезки, не
соответствующие реальным символам, приводит к возникновению образов не
являющихся символами, требуется чувствительность метода распознавания к
отбраковке незнакомых образов. Квадратичная сложность переборного
алгоритма делает необходимым оптимизацию метода распознавания символа по
быстродействию.
В статье [4] авторами описан комбинированный алгоритм распознавания
символов, опирающийся на несколько базовых методов с грубыми
представлениями образа и результатами в виде коллекции альтернатив. Схема
комбинирования [4] отлична от оперирования результатами распознавания
нескольких методов с целью достижения наибольшей точности в данном классе
образов [5]. Цель комбинирования [4] состоит в использовании высокого
быстродействия структурных методов и монотонности оценок алгоритмов
сопоставления с эталоном. Приемлемое для сегментации комбинирование
состоит в сочетании полезных свойств быстрого, точного и монотонного
алгоритмов. Определения этих свойств следующие.
12

Точность распознавания определяется отношением числа правильно


распознанных образов, для которых известный код символа совпал с кодом
ведущей альтернативы, к числу элементов, поданных на распознавание.
Быстродействие – это количество распознанных в единицу времени
образов.
Монотонность оценок – это свойство оценок альтернатив
характеризовать надежность распознавания символа. Для монотонных
методов справедливо утверждение о том, что число ошибок, соотнесенных
со значением оценки, уменьшается с ростом оценки. Монотонность
определяется двумя показателями:
- пороговой монотонностью, равной доле неправильно
распознанных образов с оценкой, превышающей порог
- и монотонностью максимальной оценки.
В работе [4] комбинированный алгоритм состоит из трех этапов. На
первом из них происходит генерация коллекции быстрым алгоритмом, с
немонотонными оценками. Далее работает монотонный метод,
использующий множество сгенерированных символов в качестве суженного
алфавита. В сформированном результате коды символов порождены
быстрым методом-генератором, а оценки – монотонным методом-
экспертом. В случаях, когда метод-генератор дал отказ или метод-эксперт
породил низкую оценку ведущей альтернативы, осуществляется
перераспознавание, то есть распознавание на полном алфавите методом с
монотонными оценками.
В работе [4] даны определения дискриминаторов - штрафных
функций, использующих априорные модели идеальных символов.
Простейшими дискриминаторами являются штрафы за пропорции букв и
размеры символов. Более сложные дискриминаторы базируются на
структурных описаниях символов различных начертаний, сопоставляемых
со структурой исследуемого образа. Дискриминаторы рассматриваются не
как отдельный базовый метод, а как механизм компенсации ошибок
определенного базового или комбинированного алгоритма.
В процессе поиска границ в компенсации нуждаются ошибки,
связанные с появлением несимволов, состоящих из частей нескольких
символов и генерацией образов, являющихся подмножествами одной буквы.
13

Рис.11. Генерация несимволов из частей отдельных букв

Рис.12. Генерация несимволов из частей одной буквы

Для устранения первого из них вполне применимы эвристики,


базирующиеся на описаниях идеальных символов, оценки отличающиеся от
идеальных генерируемые символов должны быть уменьшены
дискриминаторами. Например, образ рис. 11, распознанный как символ «И»
может быть оштрафован за нахождение трех колонн (вертикальных
однолинейных объектов) вместо положенных для идеального символа «И»
двух колонн, а символ «Ш» - за неидеальное нижнее основание. Для
дискриминации символа «Ш» могут оказаться результативными и
дополнительные признаки, например, соотношение расстояний между
колоннами.
Компенсация образов появляющихся в процессе разрезания образов на
отдельные части также может потребовать дополнений к идеальной модели
символа. В примере на рис.12. из-за избыточных точек сегментации
появляются стики (образы с одной колонной) с правым и левым выступами.
Эти символы должны быть оштрафованы именно за четко выраженные
выступы, наследуемые из исходного образа и которым не место в
идеальных одноколонных буквах типа « Il1» (заглавная «Ай», строчная
«Эл», единица).
Рассмотренные примеры показывают необходимость
совершенствования идеальных моделей дискриминаторов из-за
систематических ошибок и избыточности средств сегментации.
До сих пор рассматривалось оценка символов с помощью
распознавания шрифтонезависимыми алгоритмами. Наличие заранее
известного шрифта [7] или построение шрифта в процессе распознавания
14

документа [6] существенно помогает сегментации. Во-первых,


монотонность оценок альтернатив распознавания, достигаемая
сопоставлением с заранее известными эталонами идеальных символов. Во-
вторых, соответствие с эталоном позволяет разделять образы символов, не
сегментируемых стандартными средствами. Например, при использовании
только вертикальных отрезков разрезания «негоризонтально-слитые» пары
букв не могут быть сегментированы («ОС», «ГО» на рис. 4). В то же время,
сопоставление с эталонными образами «ГОС» позволяет разделить образы
этих символов посредством наложения на одного из образов в паре
склеенных букв. В работе [6] описываются более сложные аспекты
организации сегментации символов в многопроходной системе
распознавания.
Использование шрифтового алгоритма распознавания позволяет
поднять характеристики качества для всех типов текстов, о чем будет
сказано ниже в п.5.

4. Дополнительные алгоритмы сегментации символов

Переборная схема сегментации символов, опирающаяся на оценки


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

Рис. 13. Примеры частей образов, являющихся символами

устранения возможного приоритета в оценках частей символов используется


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

Рис. 14. Многокомпонентный образ

В предполагаемые границы символа может попасть более двух компонент


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

нижнему краю строчной буквы, и рассматриваются комбинации групп


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

а) б)
Рис. 15. Зашумленные образы

Такой алгоритм успешно устраняет отдельные крупные компоненты (рис.


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

Рис.16. Примеры последовательностей равнозначных символов

Кроме проблем сборки образа в сегментации существует еще один большой


класс проблем, связанных с появлением символов из частей букв [8]. На рис. 16
приведено два примера образования равнозначных цепочек символов,
неразличимых друг от друга с помощью оценок распознавания. Первый из них
может быть устранен анализом структуры слова (контекстными
соображениями), не допускающим или рассматривающим как маловероятное
событие в модели слова тройки подряд идущих символов >I< . Во втором
примере выбор между альтернативами цепочек символов может быть сделан с
помощью общего или специализированного словаря. Привлечение
17

лингвистических контекстных или словарных механизмов может быть


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

Рис. 17. Граф альтернативного представления результатов распознавания

В описанном случае невозможно найти правильное разбиение, исходя


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

Рис. 18. Специфический случай склейки

возникают трудности правильной сегментации. Если в показанной на рис.18


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

5. Характеристики алгоритмов сегментации символов

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


этого пригодны те же самые характеристики, что и для оценки свойств базовых
и комбинаторных методов распознавания, а именно, точность распознавания,
полноту коллекции, быстродействие и монотонность оценок. Во многом
характеристики методов наследуются схемами, например, быстродействие
схемы и используемого ею метода связаны напрямую, так как кроме
распознавания схема затрачивает почти все оставшееся время на манипуляции с
изображениями, извлекаемыми из склеенных и рассыпанных образов символов.
Полнота коллекции задается только полнотой коллекции метода, а
монотонность может улучшаться собственными дискриминаторами схемы.
Характеристики сегментации включают в себя также специальные
показатели, относящиеся к качеству сегментации. Мы рассмотрим три
дополнительные характеристики: точность сегментации, полноту
сегментации и быстродействие сегментации.
Точностью сегментации назовем долю правильно сегментированных
зон по отношению к общему числу зон, подвергнутых сегментации.
Правильная сегментация означает нахождение правильных отрезков
разрезания. Вообще говоря, точность сегментации не связана с точностью
распознавания. Например, при неправильном распознавании всех символов
из тестовой последовательности сегментация их границ может быть
правильной, то есть точность распознавания равняться 0, а точность
сегментации – 100%. Точность сегментации зависит как от соответствия
порожденных отрезков разрезания исследуемой зоне, так и от средств
оценки гипотез о принадлежности генерируемых образов множествам
символов или несимволов. В таб. 1 приведены различия точности
сегментации для различных комбинированных омнифонтовых
(шрифтонезависимых) и шрифтозависимых алгоритмов распознавания
символов определенные для различных типов текстов.
19

алгоритм Омнифонт Омнифонт с Шрифтовой


тип символов дискриминацией
Пишущая Машинка 98.6% 98.9% 99.5%
(2058 зон)
Полиграфия 99.5% 99.9% 100%
(866 зон)

Таб.1. Точность сегментации, вычисленная для


омнифонтовых [4] и шрифтового [6] алгоритмов.

Полнота сегментации осмыслена при альтернативном хранении


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

где Ti - быстродействие сегментации для зон длины i,


vi - частота встречаемости зон длины i
N – максимальное число символов в зоне сегментации.
Характеристики схемы подсчитываются не на базах отдельных символов,
не содержащих структурного контекста распознавания слов или полей
документа, а на тестовом наборе изображений с разнородной текстовой
информацией, отсканированных с различными значениями яркости.
20

6. Выводы

Распознавание строки печатного теста происходит в два этапа. Сначала


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

Литература

1. Wang J., Jean J. Segmentation of merged characters by neural networks shortest


path. Pattern Recognition 27,Vol. 5 (1994), pp. 649-658
2. Арлазаров В.Л., Славин О.А. Алгоритмы распознавания и технологии ввода
текстов в ЭВМ. - Информационные технологии и вычислительные системы
№ 1, 1996, 6, стр. 48-54
3. Беллман Р. Динамическое программирование. М.: ИЛ, 1960, - 400 c.
4. Славин О.А., Корольков Г.В., Болотин П.В. Методы распознавания грубых
объектов. В сб. "Развитие безбумажных технологий в организациях", 1999,
с. 331-355
21

5. Журавлев Ю. И. Корректные алгебры над множествами некорректных


(эвристических) алгоритмов I, II, III.– Кибернетика, 1977, № 4, с. 14 – 21,
№ 6, с. 21 – 27; 191 ., № 2, с. 35 – 43.
6. Арлазаров В.Л., Астахов А.Д., Троянкер В.В., Котович Н. В. Адаптивное
распознавание символов. В сб. "Интеллектуальные технологии ввода и
обработки информации", 1998, с. 39-56
7. Славин О.А., Подрабинович А.А. Древовидное распознавание
нормализованных символов. В сб. "Интеллектуальные технологии ввода и
обработки информации", 1998, с. 137-157
8. Shi H., Pavlidis T. Font Recognition and Contextual Processing for More Accurate
Text Recognition // IEEE Transactions on Pattern Analysis and Machine
Intelligence, Vol 17, № 9, 1997, pp. 39-44

Вам также может понравиться