Научная статья на тему 'Новые методы предварительной обработки для систем распознавания рукописного текста'

Новые методы предварительной обработки для систем распознавания рукописного текста Текст научной статьи по специальности «Математика»

CC BY
537
39
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Братчиков И.Л., Хан Тхе Ань

Предлагаются новые методы предварительной обработки для систем распознавания рукописного текста, позволяющие корректировать горизонтальный наклон и уклон (вертикальный наклон) изображения слова. Корректировки наклона и уклона необходимы для более эффективной работы алгоритмов распознавания, так как позволяют снизить вариативность рукописных текстов. Оригинальный алгоритм корректировки наклона основан на построении нижней базовой линии с помощью метода наименьших квадратов. Аналогично предлагается строить и верхнюю базовую линию. Нижняя и верхняя базовые линии применяются для вычисления высоты письма, которая требуется для предложенного в статье алгоритма корректировки уклона. Этот алгоритм использует новую функцию меры изображения слова для углов уклона в диапазоне [—45°,45°]. Он основан на идее, заключающейся в том, что слово, написанное вертикально, имеет намного больше вертикальных линейных сегментов черных пикселей с длиной, большей половины высоты слова, чем то же слово, написанное с уклоном. Предложены два новых метода существенного сокращения вычислений при реализации алгоритмов корректировки уклона. Ранее известные методы требуют вычисления необходимых характеристик изображения слова для так называемых shear-углов, используемых для корректировки уклона, с шагом 1°. В предлагаемых методах шаг shear-углов зависит от высоты слова, в связи с чем удалось снизить объем вычислений для средней высоты (15 пикселей) в 2 раза и более. Эти методы решают также проблему пропуска вертикальной позиции при большой высоте письма, с которой сталкиваются существующие алгоритмы.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Preprocessing techniques for handwritten t,ext recognition systems

New preprocessing methods for handwritten texts recognition which allow to correct efficiently a slope and slant of the word image are proposed. The original slope correction algorithm is based on determination of a lower base line using the least-square method. The slant correction algorithm uses a new measure function of word image on the range of shear-angles [-45",45 0]. It is based on the idea that the deslanted writing has a lot more two-pixel line segments with at least one black pixel in each horizontal scanning line, being longer than half of the word''s height, than the slanted writing. Besides two techniques that allow considerable reducing the computations in realization of slant correction algorithms are suggested. They also solve the problem of overlooking the position of deslanted writing when the writing is rather high, which existing algorithms encounter with.

Текст научной работы на тему «Новые методы предварительной обработки для систем распознавания рукописного текста»

УДК 004.8

Вестник СПбГУ. Сер. 10, 2008, вып. 1

И. JI. Братчиков, Хан Тхе Ань

НОВЫЕ МЕТОДЫ ПРЕДВАРИТЕЛЬНОЙ ОБРАБОТКИ ДЛЯ СИСТЕМ РАСПОЗНАВАНИЯ РУКОПИСНОГО ТЕКСТА

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

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

В этой работе предлагаются новые методы корректировки наклона (slope correction), т. е. придания строкам текста строго горизонтального расположения, и корректировки уклона (slant correction), т. е. выпрямления текста, имеющего правый или левый вертикальный наклон. Также предлагается новый критерий, позволяющий увеличить скорость работы одной группы алгоритмов корректировки уклона.

1. Корректировка наклона. Метод корректировки наклона использует так называемые базовые линии строк текста, определение которых следует ниже.

Определение 1. Ниэюпяя базовая линия (lower baseline) - это прямая, аппроксимирующая линию, на которой лежат самые нижние точки букв строки за исключением подстрочных элементов таких букв как «щ», «ц», «р», «д» и др.

Определение 2. Верхняя базовая линия (upper baseline) - это прямая, аппроксимирующая линию,па которой лежат самые верхние точки букв строки за исключением надстрочных элементов таких букв как «ф», «б», «й» и др.

На рис. 1 представлен пример базовых линий строки рукописного текста.

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

Алгоритм

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

'2. Определить, имеет ли слово подстрочные элементы. Для этого:

а) определить среднюю высоту вертикальной гистограммы (обозначенную как aver-h eight);

© И. JI. Братчиков, Хаи Тхе Ань, 2008

1G

яшЛмь

Верхняя базовая линия

Нижняя базовая линия

Рис. 1. Базовые линии.

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

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

4. Найти самый низший из оставшихся пикселов в каждой вертикальной строке развертки.

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

6. Пусть имеются п точек

(хиуг),{х2,У2),---Лхп,У,1)•

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

у = ах + Ъ.

Согласно методу наименьших квадратов, нужно минизировать по а, Ь функцию:

/(а, Ь) = ^{Уг - ахг - Ь)2.

¿=1

Это выпуклая функция по а, Ь. Поэтому она принимает минимальное значение тогда и только тогда, когда

да дЬ

Отсюда следует

- ах г - Ь) = О,

г=1 п

- axi ~ Ь) = °>

г—1

или

п п п

= ^хлл,

г—1 i= 1 г=1

п п

а У] ж, + Ьтг = У^г/г-

г=1 «=1

Пусть

п п п

Pl=^X2i, qx=Y!Xi' г1=^хгУг,

г=1 i= 1 г=1 п

Р'2 = Е хг, 41 =П, Г2 = Е"=1 2/г-г=1

Если piq2 - (¡\Р2 ф 0, то

r\q2~q\r2 , Р1Г2-Г1Р2

а=-, о=-.

Pi 92 - ?lP2 Pi <72 - qiP2

Таким образом, искомая прямая найдена. Эта прямая рассматривается как нижняя базовая линия.

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

С помощью нижней базовой линии может быть скорректирован наклон изображения слова. Корректировка заключается в выправлении изображения слова так, чтобы его нижняя базовая линия оказалась горизонтальной. Это действие выполняется приложением, реализующим так называемое shear-преобразование (shear transformation). Оно использует shear-угол, т. е. угол между нижней базовой и горизонтальной линиями (равен tan(a)).

Результаты работы соответствующего алгоритма будут представлены в п. 3.

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

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

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

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

способы, чтобы выбрать штрихи. Например, в предложенном в [1] алгоритме проводят две горизонтальные линии - верхнюю и нижнюю - и исследуют все точки пересечения строки текста с этими линиями. Любые две точки, которые могут быть выровнены в направлении, близком к вертикальному, рассматриваются как часть одного почти вертикального штриха. Далее находятся локальные оценки уклона для каждого найденного штриха и вычисляется глобальная оценка как среднее значение всех локальных оценок. Такой алгоритм, с одной стороны, очень быстр по сравнению с другими, но с другой - он не очень надежен, так как сильно зависит от эвристики.

Рис. 2. Иллюстрация уклона.

Второй подход основан на оценке определенной функции меры изображения слова под различными углами уклона данного диапазона (обычно [—45°, 45°]) и выборе угла с максимальным значением этой функции. Функция меры чаще всего вычисляется по вертикальной гистограмме, так как предполагается, что выпрямленное слово будет иметь более интенсивную гистограмму, т. е. с более высокими и явными пиками, чем слово с уклоном. Большинство существующих алгоритмов корректировки уклона относится к такому подходу. Например, в [2] гистограмма рассматривается как временной сигнал, для которого вычисляется распределение Вигнера-Вилле. В качестве функции меры берется плотность этого распределения. Другой алгоритм корректировки, относящийся к рассматриваемому подходу, предложен в [3]. Здесь в качестве функции меры используется энтропия. Алгоритмы второго подхода меньше зависят от эвристики и, по-видимому, дают лучшие и более надежные результаты, хотя точная их оценка и сравнение затруднительны. В то же время данные алгоритмы требуют значительных по объему вычислений, так как вЬеаг-преобразование, гистограммы и функции меры нужно вычислять для большого количества вЬеаг-углов. Потому исследования, направленные на сокращение необходимых вычислений, являются для этого подхода актуальными.

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

Все известные алгоритмы, принадлежащие второму подходу [2-4], применяют фиксированный шаг между последовательными вЬеаг-углами, равный 1°. Поэтому нужно проводить вычисления для 91-го зЬеаг-угла. В предлагаемом методе мы используем формулу определения оптимального шага между последовательными йЬеаг-углами так, чтобы, с одной стороны, не терять времени на вычисления из-за выбора слишком маленького шага, а с другой - никогда не пропускать наилучшую выпрямленную позицию слова. Оптимальный шаг позволяет сократить количество эЬеаг-углов, для которых нужно проводить вычисления, примерно в 2 раза, в связи с чем соответственно возрастает и скорость работы алгоритма. Кроме того, будет описан метод определения оптимальной последовательности вЬеаг-углов, которая имеет наименьшее возможное число элементов, но гарантирует успешный поиск лучшей позиции слова.

Идея предлагаемого метода состоит в том, что когда слово написано вертикально, оно имеет намного больше вертикальных линейных сегментов черных пикселов с дли-

С А в

_X

q м Рис. 3. Два последовательных shear-yraa.

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

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

Лемма 1. Пусть h (пикселов) является высотой слова. Тогда с шагом

90 m

s=r~ (1)

ПТТ

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

7Г 7Í

Доказательство. Пусть ai = —-t, а2 = ——(t + s), где — 45 ^ t ^ 45 — s,

180 180

являются двумя последовательными shear-углами (рис. 3). Тогда

АВ = СБ - С А =

= /¡.(tan «2 — tan ai) =

, sin a2 cos ai — sin ai cos a2

= h--— =

eos ai eos аг

_ sin(a2 - ai) _

eos ai eos аг sir

-H ■

eos ai cos a2

Рис. 4■ Иллюстрация уклона.

7Г 7Г S7T S7T

Так как ai, ao € [—7, -7], имеем, что cosai cosa2 ^ 0,5. Кроме этого, sin—— <J .

4 4 180 180

тт л г. hen

Поэтому АВ ^ "gQ-'

Для того чтобы покрыть все возможные позиции, растояиия между точками А и В

должны быть меньше одного пиксела. Поэтому s = -— удовлетворяет условию леммы.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ди-

Лемма доказана.

Таким образом, доказано, что для поиска угла уклона достаточно выполнять shear-преобразование, строить гистограммы и вычислять функцию меры для shear-углов, число которых равно 2h + 1 (вместо 91 в случае, когда шаг равен Io). Поэтому для обычного по высоте письма (h = 15 пикселов) количество shear-углов, для которых нужно проводить вычисление, уменьшается примерно в 2 раза (47 против 91). Следовательно, соответствующим образом (примерно в 2 раза) увеличивается скорость работы алгоритма.

Отметим также, что преимуществом предлагаемого подхода является зависимость шага изменения shear-углов от высоты письма. Если всегда использовать шаг, равный Io, как это предусмотрено в работах [2-4], то при больших значениях h можно пропустить лучшую позицию. Действительно, если h ¡г 29, то hir ^ 91, и, следовательно, для гарантированного нахождения лучшей позиции необходим шаг, меньший Io.

Шаг, определенный в формуле (1), хотя и предпочтительнее фиксированного шага, равного Io, не оптимальный. Действительно, из рис. 3 имеем PQ = 2h. Поэтому можно найти последовательность shear-углов из 2h + 1 элементов, которая покрывает все возможные позиции в диапазоне [—45°, 45°]. Следующая лемма позволяет определить данную последовательность.

7Г 7Г

Лемма 2. Все возможные позиции на диапазоне [— покрывает последова-

тельность shear-углов

о о =

4'

a¿ + 1 = arctan(tana¿ — —)

(2)

где г = 0,1,...,2/г - 1.

Доказательство. Если последовательность вЬеаг-углов строится так, чтобы расстояние между двумя последовательными позициями (Л,-, соответст-

вующими двум последовательным з11еаг-углам (а,:,аг'+х) (рис. 4) равнялось 1 пикселу,

то все возможные позиции будут покрыты. Это значит, что

AíAÍ+i = 1 V¿ = 0,1,...,2Л- 1.

1

Имеем A{Ai+i = /i(tana¡ — tana¿+i). Поэтому tana;. — tana¿+i = —. Так как ai, а2 £

7Г 7Г

[— —, — J, получим равенство (2). Лемма доказана.

Из формулы (2) следует, что количество shear-углов, для которых нужно выполнять shear-преобразование, строить гистограммы и вычислять функцию меры, равно 2h+l (вместо 91 в случае, когда шаг равен Io). Поэтому для обычного письма (h = 15 пикселов) количество shear-углов, для которых нужно проводить вычисление, уменьшается в 3 раза (31 против 91). Следовательно, скорость работы алгоритма увеличивается в 3 раза.

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

úOUflk fiOUfltk

:У Jv/J'^

Рис. 5. Последовательные этапы корректировки наклона.

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

Вычислить вертикальную гистограмму Исключить подстрочные элементы (если есть) в каждой вертикальной строке развертки.|

Найти самый низкий из оставшихся пикселов

Рис. 6. Корректировка уклона для текста с искусственно заданным уклоном.

I

г&сш ¿¿¿1 ■ Ь^м 4 км*. о-ис-к

II

Рис. 7. Корректировка уклона для рукописного текста (I) и математической формулы (II).

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

Итак, мы представили новый алгоритм корректировки уклона и две важные леммы, позволяющие уменьшить количество зЬеаг-углов, для которых нужно проводить вычисления. Благодаря этим леммам, для обычного почерка скорость всех алгоритмов, принадлежащих большой группе алгоритмов корректировки уклона, увеличивается не менее чем в 2 раза, а использование шагов, определенных в первой или второй лемме, зависит от предпочтений разработчика. Результаты применения рассмотренных алгоритмов представлены в п. 3.

3. Результаты работы алгоритмов. Программы, демонстрирующие работу описанных алгоритмов, были написаны в среде МаИаЬ 7.0.

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

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

На рис. 5 демонстрируются последовательные этапы работы алгоритма корректировки наклона. Как видно из рис. 6, результат работы алгоритма корректировки уклона для текста с искусственно заданным уклоном вполне удовлетворителен. Работу алгоритма корректировки уклона для обычного рукописного текста и изображения математической формулы иллюстрирует рис. 7,1, II. Ее результаты также являются удовлетворительными.

Summary

Bratchikov I. L., Han The Anh. Preprocessing techniques for handwritten text recognition systems.

New preprocessing methods for handwritten texts recognition which allow to correct efficiently a slope and -slant of the word image are proposed. The original slope correction algorithm is based on determination of a lower base line using the least-square method. The slant correction algorithm uses a new measure function of word image on the range of shear-angles [—45°, 45°]. It is based on the idea that the deslanted writing has a lot more two-pixel line segments with at least one black pixel in each horizontal scanning line, being longer than half of the word's height, than the slanted writing. Besides two techniques that allow considerable reducing the computations in realization of slant correction algorithms are suggested. They also solve the problem of overlooking the position of deslanted writing when the writing is rather high, which existing algorithms encounter with.

Литература

1. Bozinovic R. M., Srihan S. N. Off-line cursive script word recognition // IEEE Trans, on PAMI. 1989. Vol. 11, N 11. P. 68-83.

2. Kavallicratou E., Fakntakis N., KokkinaMs G. Slant estimation algorithm for OCR system // Pattern Recognition. 2001. Vol. 34, N 12. P. 2515-2522.

3. Cote M., Lecolinet E., Cheriet M., Suen C. Automatic reading of cursive scripts using a reading model and perceptual concepts // Intern. J. on Document Analysis and Recognition. 1998. Vol. 1, N 1. P. 3-17.

4. Frank de Zeeuw. Slant correction using histograms: Bachelor's Thesis in Artificial Intelligence. Groningen, 2006. 68 p.

Статья принята к печати 11 ноября 2007 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.