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

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

CC BY
2897
346
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПОЗНАВАНИЕ ТЕКСТА / БЛАНК / АВТОМАТИЗАЦИЯ

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

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

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

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

АЛГОРИТМЫ И ВЫЧИСЛЕНИЯ В МАТЕМАТИЧЕСКИХ МОДЕЛЯХ

УДК 004.4:378.16

АЛГОРИТМЫ РАСПОЗНАВАНИЯ СИМВОЛОВ CHARACTER RECOGNITION ALGORITHMS

А. А. Вальке, Д. Г. Лобов

Омский государственный технический университет г. Омск, Россия

A. A. Valke, D. G.Lobov

Omsk state technical university Omsk, Russia

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

Ключевые слова: распознавание текста, бланк, автоматизация.

DOI: 10.25206/2310-9793-2018-6-4-164-168

I. Введение

Распознавание образов, в том числе и символов, является на сегодняшний день одной из актуальных задач, возникающих в различных областях человеческой деятельности. Например, оно может использоваться в промышленности для автоматического распознавания деталей [1], в образовании для автоматизированной проверки бланков тестирования [2, 3] и в других областях.

Несмотря на то, что первые публикации на тему распознавания образов появились еще в 60-х годах 20-го века[4,5], практическое применение алгоритмов распознавания образов началось только в 1990-х годах, что связано со значительным увеличением производительности компьютеров.

II. Постановка задачи

Одной из наиболее часто встречающихся задач распознавания образов является задача распознавания рукописного текста. Несмотря на большое количество различных программ, предназначенных для распознавания рукописного текста, актуальность разработки новых программных средств не уменьшается. Это связано с тем, что бесплатно распространяемые программные продукты в первую очередь ориентированы на распознавание печатного текста, а не рукописного. Авторами были проведены исследования некоторых программных продуктов. Так, бесплатный пакет Open OCR Cuneiform (Версия файла 12.0.0.58851) показал следующие результаты: из рукописного русского текста (текст написан печатными буквами), состоящего из 192 символов, правильно было распознано 123 символа (64%), из печатного русского текста, состоящего из 191 символа, правильно было распознано 186 символов (97%). Специально разработанные комплексы для потокового ввода данных и документов, например ABBYY FlexiCapture, показывают правильность распознавания рукописного текста порядка 98%, но при этом имеют высокую стоимость (более 200 тыс. рублей).

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

III. Теория

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

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

В настоящее время наиболее часто встречаются следующие методы распознавания символов [6, 7].

Шаблонный метод.

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

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

XI (Атп - Л)(Бтп - В)

_т п_'

(II (Атп - А))(ХХ (Втп - Б))

т п т п

где Атп - входное изображение, Втп - один из шаблонов.

Достоинствами этого метода является простота реализации алгоритма, относительно высокая скорость распознавания, а также хорошее распознавание символов с различными дефектами, например, разорванных или склеенных [8].

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

Признаковый метод.

В признаковом методе распознавания производится построение М-мерного вектора признаков, например, количество замкнутых областей, процент заполненности и т.д. [9]. Построенный вектор признаков сравнивается с набором эталонных векторов тойже размерности, путем подсчета евклидова расстояния между эталонным вектором и вектором признаков распознаваемого текста [10].

Достоинством этого метода является невосприимчивость к начертанию символа, его наклону, пропорциям и т.д.

К недостаткам этого метода можно отнести неустойчивость к различным дефектам изображения.

Структурный метод распознавания.

При структурном методе распознавания входное изображение преобразуется в его топологическое представление, отображающее информацию о взаимном расположении структурных элементов символа [9]. Чаще всего эта информация представляется в виде графов.

Этот метод имеет сходные с признаковым методом достоинства и недостатки.

Искусственная нейронная сеть.

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

IV. Результаты экспериментов

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

Рис. 1. Алгоритм распознавания символов

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

Затем происходит вычисления коэффициента корреляции для всех шаблонов. Шаблон символа представляет собой распределение вероятности появления черного пикселя в точке с заданными координатами. Для вычис-

ления коэффициента корреляции происходит попиксельное сравнение изображения символа с текущим шаблоном.

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

V. Обсуждение результатов

Для тестирования вышеприведенного алгоритма было разработано специализированное программное обеспечение, предназначенное для распознавания бланков тестирования, включающих в себя рукописные символы арабских цифр. При проведении тестирования было распознано более 2500 символов арабских цифр. В табл. 1 приведены экспериментальные данные вероятности правильного распознавания символов арабских цифр от «0» до «9» в зависимости от количества загруженных символов в шаблон, полученные при использовании данного алгоритма.

ТАБЛИЦА 1

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

Количество загруженных символов в шаблон «0» «1» «2» «3» «4» «5» «6» «7» «8» «9»

10 0,9 0,7 0,7 0,6 0,8 0,8 0,6 0,5 0,4 0,5

30 1 0,7 0,7 0,7 0,9 0,6 0,6 0,5 0,5 0,6

50 1 0,6 0,7 0,7 0,7 0,8 0,8 0,7 0,4 0,8

100 1 0,6 0,8 0,9 0,9 1 1 0,7 0,5 0,9

150 1 0,8 0,9 1 1 1 1 0,7 0,7 0,8

200 1 0,9 1 1 0,9 1 0,9 0,9 0,7 0,8

Как видно из табл. 1, увеличение количества загружаемых в шаблон символов не всегда дает положительный эффект. Например, при распознавании символов «4» и «6» увеличение количества загруженных символов в шаблон дает ухудшение результата. Поэтому при разработке шаблона необходимо учитывать этот момент.

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

ТАБЛИЦА2

ВЕРОЯТНОСТЬ ПРАВИЛЬНОГО РАСПОЗНАВАНИЯ СИМВОЛА ПРОИЗВОЛЬНОЙ ЦИФРЫ В ЗАВИСИМОСТИ ОТ КОЛИЧЕСТВА ЗАГРУЖЕННЫХ СИМВОЛОВ В ШАБЛОН

Количество загруженных символов в шаблон 10 30 50 100 150 200

Вероятность распознавания 0,65 0,68 0,72 0,83 0,89 0,91

Как видно из табл. 2, вероятность правильного распознавания символов составляет в среднем 0,91, что сопоставимо с результатами распознавания программой Abby FormReader 4.5. По проведенным экспериментам правильность распознавания символов арабских цифр при использовании программы Abby FormReader 4.5 составляет примерно 0,98 (при проверке бланков тестирования). Для улучшения данного результата планируется использовать дополнительные алгоритмы распознавания, например, нейронные сети, что позволит увеличить вероятность правильного определения символов.

VI. Выводы и заключение

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

Список литературы

1. Потапов А. Системы компьютерного зрения: современные задачи и методы // Control Engineering. Россия. 2014. № 1. С. 20-26.

2. Полежаева Л. Н., Полежаев В. Д, Полежаева М. В. Система тестирования по дисциплине «Начертательная геометрия» // Успехи современного естествознания. 2006. № 10. С. 77-80.

3. Вальке А. А., Кучеренко О. Н., Кузяев М. С. Система проверки бланков тестирования // Динамика систем, механизмов и машин. 2016. № 4. С. 65-68.

4. Steinb^h K., Piske U. A. W., Learning matrics and their application // IEEE Transaction of Electronic Computers. Dec. 1963. Vol. EC-12, no. 6.

5. Abramson N., Braverman D. Learning to Recognize Patters in a Random Environment // Trans. IKE IT-8. 1962. № 5.

6. Афанасенко А. В., Елизаров А. И. Обзор методов распознавания структурированных символов // Доклады ТУСУРа. 2008. № 2, Часть 1. С. 83-88.

7. Yafang Xue. Optical character recognition // Department of Biomedical Engineering University of Michigan.

8. Гайдуков Н. П., Савкова Е. О. Обзор методов распознавания рукописного текста // Информационно-управляющие системы и компьютерный мониторинг-2012: междунар. науч.-технич. конф. студентов, аспирантов и молодых ученых. 2012. С. 475-479.

9. Васин Д., Ершов М. Распознавание символов на базе низкоуровневых моделей описания графических изображений // Графикон-2014: 24-я Междунар. конф. по компьютерной графике и зрению. 2014. С. 62-64.

10. Афанасенко А. В., Елизаров А. И. Обзор методов распознавания структурированных символов // Доклады ТУСУРа. 2008. № 2. С. 83-86.

11. Mehdi L., Solimani A., Dargazany A. Combining wavelet transforms and neural networks for image classification // 41st Southeasten Symposium on System Theory, Tullahoma, TN, USA, 2009. P. 44-48.

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