СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. ПОСТАНОВКА ЗАДАЧИ
2. ОПИСАНИЕ ИСПОЛЬЗОВАННЫХ АЛГОРИТМОВ
2.1 Алгоритм сегментации текста
2.2 Алгоритм распознавания слова. Персептрон
3. РАЗРАБОТКА И РЕАЛИЗАЦИЯ ПО
3.1 Архитектура программы
3.2 Интерфейс программы
3.3 Описание разработанных классов
4. ТЕСТИРОВАНИЕПО
4.1 Запуск приложения
ВЫВОДЫ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ A ЛИСТИНГ ПРОГРАММЫ
ОПИСЬ ЛИСТОВ ГРАФИЧЕСКОЙ ЧАСТИ
Впоследние годы распознавание образов находит все большее применение вповседневной жизни. Распознавание речи и рукописного текста значительноупрощает взаимодействие человека с компьютером, распознавание печатного текстаиспользуется для перевода документов в электронную форму.
Реализацияметодов распознавания необходима в автоматизированных системах, предназначенныхдля использования в криминалистике, медицине, военном деле.
Особоследует отметить распознавание полноценных изображений. Область примененияданного раздела многогранна. Например, на современных заводах контроль качествапроизводимой продукции зачастую производят с использованием системраспознавания, которые отсеивают брак. Распознавание полноценных изображенийприменяется также на дорогах, для определения и распознавания номеровавтомобилей, контроль их скорости. Обработка изображений актуальна и прианализе снимков из космоса и с самолётов. Таким образом, видно, что областьприменения распознавания изображений широка и многогранна и позволяет намногосократить и упростить рабочий процесс и вместе с тем повысить его качество.Однако, возможности интеллектуального анализа изображений с помощью компьютеровоставляют желать лучшего. Можно с уверенностью отметить лишь успехи враспознавании букв и цифр в документах и текстах, а также анализе изображенийспециального вида. Такая область как распознавание текстур, исследование вкоторой проводятся не одно десятилетие, пока не имеет универсальных методов.
Задачейраспознавания изображений является применение методов, позволяющих либополучить некоторое описание изображения, поданного на вход системы, либо отнестиэто изображение к некоторому определенному классу. Процедура распознавания применяетсяк некоторому изображению и обеспечивает преобразование его в некотороеабстрактное описание: набор чисел, цепочку символов или граф. Последующая обработкатакого описания позволяет отнести исходное изображение к одному из несколькихклассов.
Новозникает ряд трудностей и проблем. Чаще всего это связано с тем, чтоизображения предъявляются на сложном фоне или изображения эталона и входныеизображения отличаются положением в поле зрения, или входные изображения несовпадают с эталонами за счет случайных помех.
Вданном курсовом проекте разработано приложение, позволяющие на изображениикакого либо документа, либо просто текста находить слово "Указ". Входноеизображение может быть любого размера, ориентация текста должна бытьгоризонтальной.
Приложениереализовано в среде программирования MS Visual Studio 2008 на языке C#. Платформа .Netдает широкий набор классов для работы с изображениями и обработки результатов.
Согласно заданию к курсовомупроекту необходимо спроектировать приложение, реализованное на языке C# в среде разработки Microsoft Visual Studio 2008, реализующее распознавание слова "Указ"на изображении документа.
Исходныеданные:
1. Растровое изображение документа.
2. Текст документа должен бытьнаписан на белом фоне, черным шрифтом.
3. Шрифт текста не должен бытькурсивным либо полужирным.
4. Размер изображения может бытьлюбым.
5. Положение текста на изображении горизонтальное.
Приложениедолжно выполнять следующие задачи:
1. Загрузка изображения в приложение.
2. Сегментация текста на слова.
3. Распознавание среди слов слово "Указ".
Выходныеданные:
1. Таблица найденных слов "Указ".
Процесс сегментации текстасостоит из двух этапов: выделение строк текста и выделение слов в строках.
Поиск строк осуществляется путемпросмотра пикселей изображения сверху вниз. При проходе запоминаютсявертикальные координаты всех полностью белых полос на изображении (рисунок2.1).
Рисунок2.1 – Разбиение текста на строки
После нахождения всех белыхгоризонтальных полос анализируются их индексы. Для исключения соседних линий,строкой текста считается растр находящийся между двумя последовательными всписке, но не соседними белыми полосками.
Процесспоиска слов в строке заключается в анализировании вертикальных полос наизображении строки. При нахождении первой не полностью бело линии координатазапоминается и считается начальной координатой слова, затем анализируютсярасстояния между буквами. При превышении некоторого порога слово "вырезается"из строки. Процесс продолжается до конца строки.
Алгоритмсегментации текста представлен в графической части
Распознаваниеслова "Указ" в разработанном приложении, реализовано на базеперсептрона. Алгоритм обучения персептрона – без учета правильности ответа.Персептрон построен по схеме "Несколько сумматоров". Общая схемаперсептрона представлена на рисунке 2.2
Рисунок2.2 – Схема персептрона с несколькими сумматорами
Каждый А-элемент имеет нескольковходов и один выход.
А-элементы производяталгебраическое суммирование сигналов, поступивших на их входы, и полученнуюсумму сравнивают с одинаковой для всех А-элементов величиной ϑ. Если сумма больше ϑ, А-элементвозбуждается и выдает на выходе сигнал, равный единице. Если сумма меньше ϑ, А-элемент остаетсяневозбужденным и выходной его сигнал равен нулю. Таким образом, выходной сигналj-го Α-элемента:
yj=
где величина rij принимаетзначение +1, если i -й рецептор подключен ко входу j-го Α-элемента сознаком плюс; и значение -1, если рецептор подключен со знаком минус, и значение0, если i-ый рецептор к j-му Α-элементу не подключается (j = 1, 2, …, m,где m – число Α-элементов).
Выходные сигналы Α-элементовумножаются на переменные коэффициенты λj.
После умножения на λ выходныесигналы поступают на сумматоры Σ, количество которых также равно числуразличаемых образов.
σ =
Предъявленный объект относится ктому образу, сумматор которого имеет наибольший сигнал.
В данной работе есть двараспознаваемых класса условно из можно обозначить "Указ" и "Неуказ". При обучении класса "Указ" на вход персептрона поступаютизображения слова "Указ" написанное разными шрифтами. При обучениикласса "Не указ", для повышения надежности работы персептрона,поступают те же изображения с текстом "Указ", но с инвертированнымицветом.
В каждом такте персептронотвечает на предъявленный ему объект возбуждением некоторых А-элементов.Обучение состоит в том, что коэффициенты λj возбужденных вданном такте А-элементов увеличиваются на некоторую величину (например наединицу), если в этом такте был предъявлен объект образа А, и уменьшается наэту же величину, если был предъявлен объект образа В.
Программа написана как проект Windows Forms Application, т.е. windows-приложение,графический интерфейс которого представлен формами и диалоговыми окнами. Структураразработанного проекта представлена на рисунке 3.1.
Рисунок3.1 – Структура проекта
Приложение разработано напринципах ООП. Диаграмма разработанных классов представлена на рисунке 3.2
Рисунок3.2 – Диаграмма классов приложения
Общая схема приложения в натацииIDEF0 приведена на рисунке 3.3.
Рисунок3.3 – Общая схема IDEF0 приложения
Пользовательскийинтерфейс представлен главным окном приложения, со всеми элементами управления,необходимыми для отображения и обработки информации. Главная форма в режимепроектирования показана на рисунке 3.4.
Рисунок3.4 – Главная форма приложения в режиме проектирования
Ниже представлен переченьклассов разработанных в приложение с кратким описанием их назначения иописанием основных методов.
Form1 –класс, описывающий главную форму приложения, содержит методы обработки событийот элементов управления. Содержит элементы управления для отображения исходногоизображения, сегментов изображения и результатов распознавания.
Segmentation– описывает процесс сегментации изображения.
Методы: