Курсовая работа: Распознавание графических символов
5. Положение текста на изображении горизонтальное.
Приложение должно выполнять следующие задачи:
1. Загрузка изображения в приложение.
2. Сегментация текста на слова.
3. Распознавание среди слов слово "Указ".
Выходные данные:
1. Таблица найденных слов "Указ".
2. ОПИСАНИЕ ИСПОЛЬЗОВАННЫХ АЛГОРИТМОВ
2.1 Алгоритм сегментации текста
Процесс сегментации текста состоит из двух этапов: выделение строк текста и выделение слов в строках.
Поиск строк осуществляется путем просмотра пикселей изображения сверху вниз. При проходе запоминаются вертикальные координаты всех полностью белых полос на изображении (рисунок 2.1).
Рисунок 2.1 – Разбиение текста на строки
После нахождения всех белых горизонтальных полос анализируются их индексы. Для исключения соседних линий, строкой текста считается растр находящийся между двумя последовательными в списке, но не соседними белыми полосками.
Процесс поиска слов в строке заключается в анализировании вертикальных полос на изображении строки. При нахождении первой не полностью бело линии координата запоминается и считается начальной координатой слова, затем анализируются расстояния между буквами. При превышении некоторого порога слово "вырезается" из строки. Процесс продолжается до конца строки.
Алгоритм сегментации текста представлен в графической части
2.2 Алгоритм распознавания слова. Персептрон
Распознавание слова "Указ" в разработанном приложении, реализовано на базе персептрона. Алгоритм обучения персептрона – без учета правильности ответа. Персептрон построен по схеме "Несколько сумматоров". Общая схема персептрона представлена на рисунке 2.2
Рисунок 2.2 – Схема персептрона с несколькими сумматорами
Каждый А-элемент имеет несколько входов и один выход.
А-элементы производят алгебраическое суммирование сигналов, поступивших на их входы, и полученную сумму сравнивают с одинаковой для всех А-элементов величиной ϑ. Если сумма больше ϑ, А-элемент возбуждается и выдает на выходе сигнал, равный единице. Если сумма меньше ϑ, А-элемент остается невозбужденным и выходной его сигнал равен нулю. Таким образом, выходной сигнал j-го Α-элемента:
yj =
где величина rij принимает значение +1, если i -й рецептор подключен ко входу j-го Α-элемента со знаком плюс; и значение -1, если рецептор подключен со знаком минус, и значение 0, если i-ый рецептор к j-му Α-элементу не подключается (j = 1, 2, …, m, где m – число Α-элементов).
Выходные сигналы Α-элементов умножаются на переменные коэффициенты λj.
После умножения на λ выходные сигналы поступают на сумматоры Σ, количество которых также равно числу различаемых образов.
σ =
Предъявленный объект относится к тому образу, сумматор которого имеет наибольший сигнал.
В данной работе есть два распознаваемых класса условно из можно обозначить "Указ" и "Не указ". При обучении класса "Указ" на вход персептрона поступают изображения слова "Указ" написанное разными шрифтами. При обучении класса "Не указ", для повышения надежности работы персептрона, поступают те же изображения с текстом "Указ", но с инвертированными цветом.
В каждом такте персептрон отвечает на предъявленный ему объект возбуждением некоторых А-элементов. Обучение состоит в том, что коэффициенты λj возбужденных в данном такте А-элементов увеличиваются на некоторую величину (например на единицу), если в этом такте был предъявлен объект образа А, и уменьшается на эту же величину, если был предъявлен объект образа В.
3. РАЗРАБОТКА И РЕАЛИЗАЦИЯ ПО
3.1 Архитектура программы
Программа написана как проект Windows Forms Application, т.е. windows-приложение, графический интерфейс которого представлен формами и диалоговыми окнами. Структура разработанного проекта представлена на рисунке 3.1.