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

Применение векторного подхода к распознаванию рукописных символов Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Горошкин Антон Николаевич

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

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

Use of the vector approach to recognition of hand-written simbols

Questions of definition of invariant attributes of hand-written symbols and ways of their allocation are considered. The algorithm of construction of vector model, ways of its normalization and condensation are given The method of the recognition based on comparison of received vector model with reference vector models of a different class of handwritten symbols is offered.

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

УДК 681.3

А. Н. Горошкин

ПРИМЕНЕНИЕ ВЕКТОРНОГО ПОДХОДА К РАСПОЗНАВАНИЮ РУКОПИСНЫХ СИМВОЛОВ

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

Бурное развитие современных устройств (сенсорные экраны, карманные персональные компьютеры и др.) привело к тому, что стало необходимым решать задачу ввода и распознавания рукописных символов. Наряду с этим очень часто при обработке различных анкетных данных одной из задач является распознавание символов, написанных от руки и имеющих различный стиль написания. Решение данной задачи позволит разрабатывать эффективные системы ввода и обработки таких данных. В настоящее время задача распознавания рукописных символов подразделяется на две подзадачи: задача «on-line» распознавания, задача «off-line» распознавания. Задача «on-line» распознавания хорошо проработана и широко используется для ввода рукописного текста в режиме реального времени сенсорным способом. Для решения данной задачи применяются различные алгоритмы. Наиболее эффективными являются алгоритмы, основанные на векторном представлении траекторий написания символов с последующим его распознаванием. В рамках «off-line» распознавания применение векторного подхода затруднено неоднозначным представлением изображений рукописных символов. Ряд алгоритмов «off-line» распознавания не позволяют эффективно решать данную задачу в связи с тем, что изображения рукописных символов имеют различные стили написания и широко варьируются от почерка к почерку [2; 3].

Одним из методов решения задачи «off-line» распознавания является метод, в основе которого лежит преобразование внешнего контура изображения в векторный вид с последующим его преобразованием и распознаванием. Условно данный метод распознавания состоит из следующих этапов:

- выделение внешнего контура изображения (осуществляется наложением фильтра Робертса);

- поиск опорных точек на изображении внешнего контура;

- вычисление координат векторов;

- построение векторной модели;

- преобразование векторной модели (уплотнение и нормализация);

- классификация векторной модели и отнесение ее к одному из классов.

Выделение контура изображения осуществляется путем наложения фильтра Робертса на бинарное изображение рукописного символа, полученного в результате предварительной обработки [1]. Фильтр Робертса представляет собой наложение следующего вида (предполагается, что сканирование изображения идет слева направо и сверху вниз):

А' =| A - D | + | B - C | илиА' = у/ (A - D)2 + (B - C )2 , где A - новое значение цвета текущего пикселя: A - значение цвета текущего пикселя; B - значение цвета пикселя снизу от текущего пикселя; С - значение цвета пикселя справа от текущего пикселя; D - значение цвета пикселя снизу и справа от текущего пикселя.

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

Модифицированный алгоритм состоит из девяти этапов.

1. Присваиваем значению фронта волны нулевое значение, flag = 0.

2. Осуществляем последовательное сканирование изображения сверху вниз и слева направо (повторяем сканирование до тех пор, пока не будут найдены все опорные точки и происзойдет распространение фронта волны, т. е. flag Ф 0).

3. Если цвет текущего пикселя на изображении равен цвету опорной точки, то переходим к этапу 6.

4. Если цвет текущего пикселя на изображении равен значению фронта волны и значение фронта волны не равно 0, то переходим к этапу 8.

5. Переходим к этапу 2.

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

Математика, механика, информатика

кущий пиксель опорным и увеличиваем значение фронта волны на единицу, flag = 1.

7. Переходим к этапу 2.

8. Просматриваем значение цветов пикселей слева, справа, сверху, снизу от текущего пикселя. Если хотя бы одно значение равно значению цвета контура, то присваиваем текущему пикселю значение цвета равное значению фронта волны, flag = 1.

9. Переходим к этапу 2.

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

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

Model={V, V2,...V, V+1...VJ,

Здесь начало каждого последующего вектора V+1 совпадает с концом предыдущего вектора V, образуя замкнутый контур. Каждый вектор характеризуется парой координат: длина вектора (len) и угол между горизонтальной линией (alfa). Определение координат вектора V = (Len,, Alfa) осуществляется путем перехода от декартовых координат из полученной таблицы к полярным координатам по следующим формулам:

Leni =,Jxr+y* , Alfai = arctg — ,

xi

где xf y. - относительные координаты вектора x. = x - x, y. = y - y'; а x,, y, - координаты текущей опорной точки, взятой из таблицы, x.+1, y - координаты последующей опорной точки.

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

1)i = 1;

2) выбирается V. вектор модели;

3) если длина V. меньше некоторого порогового значения EPS, то данный вектор удаляется из модели. Len<EPS - условие удаления вектора из модели;

4) i = i+1;

5) если i < N, то осуществляем перебор всех векторов модели в цикле.

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

Len=Len. / К,

I I ’

где К - коэффициент масштабирования К = ^ Ьвп{.

Нормализация углов по направлениям осуществляется по следующей схеме:

- вычисляется ближайшее направление вектора к текущему вектору в модели;

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

В качестве направлений выбираются единичные векторы:

Е=(1, Е_Л1/а), Е_АЩ = ,

где Z - количество направлений.

Таким образом, в соответствии с предложенным построением векторной модели в зависимости от выбора первоначальной опорной точки можно получить N вариантов векторной модели (Ы - количество векторов в модели):

МоЫ_1 ={71, V.., Vl,...Vn},

Мойе1_2 = {Уп, V, V*..., У„.УпЛ},

Мойе\_Ъ ={Vn_1, Vn, V, V., К,..^п_2},

Model_n ={У2, V,,..., Ур...Уп, V,}.

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

1. Определяется минимальный вектор модели Ук.

2. Если такой вектор один, то осуществляется построение инвариантной модели, которая представляет собой набор векторов. В качестве начального вектора берется найденный минимальный вектор:

мо^ = {У, ук+^ У,-Ук_,}.

3. Если таких векторов несколько, то осуществляется поиск «наилучшего» вектора среди найденных, а также построение инвариантной модели. В качестве начального вектора выбирается найденный «наилучший» вектор V:

ШМ = {^ у + ^ У^.у _,}.

Алгоритм поиска «наилучшего» вектора модели состоит в следующем: выбирается первый найденный минимальный вектор; пределяется суммарная длина пути до последующих минимальных векторов; выбирается следующий минимальный вектор; если не все минимальные вектора обработаны, переходим ко второму 2; выбирается тот вектор, суммарная длина пути от которого минимальна. Этот вектор считается «наилучшим».

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

Е1 (е1, еіе1),

где ej - i-й вектор эталона, l - длина эталона, т. е. количество векторов в эталонной векторной модели.

Для построения алгоритма распознавания используется метод максимального правдоподобия. Решающее

правило определяется выражением

0 п =1 .

V. = argmaxmax X g (x., ei)

J j l i = 1 i i Это означает, что среди всех классов V ищется такой класс V0, в котором эталон длиной l дает минимальное значение функции отличия (или максимальное значение функции сходства). Предлагается определение оценки следующего вида:

V0 = argmin X (Alfa.Len. -E_ Alfai E_Leni )2 ,

J J i = 0 11 1 1

где Alfa, Len. - координаты i-го вектора во входной модели, E_Alfaj, E_Lenj - координаты i-го вектора в j-ой эталонной модели.

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

кописных символов в режиме «off-line» распознавания. Программа позволяет распознавать изображение рукописных символов как в режиме обучения на конкретный почерк человека, так и независимо от стиля написания и почерка. В результате тестирования была сгенерирована база данных эталонных векторных моделей, состоящая из 10-15 моделей на каждый символ алфавита. Точность распознавания составила 80 % при произвольном стиле написания. Для распознавания были взяты эталонные векторные модели длиной 20 векторов. В случае подстройки системы на конкретный стиль написания и почерк база данных эталонных векторных моделей стала содержать по 20-30 моделей на каждый символ алфавита, при этом точность распознавания составила в среднем 95 %.

Библиографический список

1. Сойфер, В. А. Компьютерная обработка изображений / В. А. Сойфер // Соросовский образовательный журнал. 1996. № 3.

2. Vinciarelli, S. Bengio, and H. Bunke. Offline recognition of unconstrained handwritten texts using HMM and statistical language models. IDIAP-RR 3-22, Dalle Molle Institute for Perceptual Artificial Intelligence 2003.

3. Peter Nacken. Image Analysis Methods Based on Hierarchies of Graphs and Multi-Scale Mathematical Morphology. PhD-thesis, University of Amsterdam, 1994.

A. N. Goroshkin

USE OF THE VECTOR APPROACH TO RECOGNITION OF HAND-WRITTEN SIMBOLS

Questions of definition of invariant attributes of hand-written symbols and ways of their allocation are considered. The algorithm of construction of vector model, ways of its normalization and condensation are given The method of the recognition based on comparison of received vector model with reference vector models of a different class of handwritten symbols is offered.

УЦК 669.713.7:519.68

Е. С. Семенкин, С. Н. Ефимов

МОДЕЛИ И АЛГОРИТМЫ АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ СПЕЦИАЛИЗИРОВАННЫХ МНОГОПРОЦЕССОРНЫЕ ВЫ1ЧИСЛИТЕЛЬНЫ1Х СИСТЕМ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫ1Х В РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ1

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

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

1 Работа выполняется при частичной поддержке ФЦНТП по теме 2006-РИ-19.0/001/377 (государственный контракт №

02.442.11.7337) и теме 2006--РИ-16.0 /001/076 (государственный контракт № 02.438.11.7043).

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