Система распознавания рукопечатных символов в анкетных формах

Информатика и информационно-управляющие системы

A. S. Shitkina, А. А. Pavlenko Siberian State Aerospace University named after academician M. F. Reshetnev, Russia, Krasnoyarsk

NEIROCOMPUTING

In the work the research of such a scientific direction as neirocomputing, its essence and influence on activity of the person is presented.

© Шиткина А. С., Павленко А. А., 2009

УДК 004.932.75'1

Л. С. Якимов

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Россия, Красноярск

СИСТЕМА РАСПОЗНАВАНИЯ РУКОПЕЧАТНЫХ СИМВОЛОВ В АНКЕТНЫХ ФОРМАХ

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

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

гают не менее сложную проблему отделения символов от линий [1].

Для распознавания рукопечатных символов применяются разные алгоритмы. Наиболее эффективно с этой задачей справляются алгоритмы, использующие нейронные сети [2]. Они строятся следующим образом. Поступающее на вход системы распознавания изображение символа (растр) приводится к некоторому стандартному размеру (нормализуется). Как правило, используется растр размером 16x16 пикселей. Значения яркости в узлах нормализованного растра (пикселях) используются в качестве входных параметров нейронной сети. Количество выходов нейронной сети равняется количеству распознаваемых символов. Результатом распознавания является символ, которому соответствует наибольшее из значений выходного вектора нейронной сети. В качестве используемой модели сети была выбрана полносвязная сеть с обратным распространением ошибки. Под обратным распространением ошибки понимается способ обучения многослойных нейронных сетей (НС). В таких НС связи устанавливаются только меж-

Решетневские чтения

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

Обучение сети обратного распространения требует выполнения следующих операций:

1) выбирают очередную обучающую пару из обучающего множества; подают входной вектор на вход сети;

2) вычисляют выход сети;

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

4) корректируют вес сети так, чтобы минимизировать ошибку;

5) повторяют шаги с 1 по 4 для каждого вектора обучающего множества до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня.

Было разработано программное обеспечение, реализующее распознавание одного символа с помощью НС обратного распространения ошибки. В сети можно настраивать количество слоев и нейронов. На вход подается черно-белое изображение одного символа размером 8x11 пикселей, представляющее собой вектор из «0» и «1», причем нулем кодируется белый пиксель, а единицей - черный пиксель. Пользователь обучает сеть, устанавливая количество итераций и тре-

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

Рис. 1. Обучение сети

Рис. 2. Сеть в режиме распознавания

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

1. Миркес, Е. М. Нейроинформатика : учеб. пособие для студентов с программами для выполнения лабораторных работ / Е. М. Миркес. Красноярск : ИПЦ КГТУ, 2002.

2. Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика / Ф. Уоссерман ; пер.с англ. М. : Мир, 1992.

L. S. Yakimov

Siberian State Aerospace University named after academician M. F. Reshetnev, Russia, Krasnoyarsk

SYMBOLS RECOGNITION SYSTEM IN QUESTIONNAIRE FORMS

Questionnaire text segmentation method into a set of separate symbols was considered in this work. Also the neural network algorithm with back propagation for recognition of the received character set was offered. The program, which recognizes a symbol on the basis of neural network model, was developed.