Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мой бакалаврский опус.pdf
Скачиваний:
11
Добавлен:
27.03.2015
Размер:
1.29 Mб
Скачать

Тренировочный шаблон в виде набора входных сигналов сохраняется в файл с тем же именем, что и у файла с исходным изображением, с расширением «template». Например, если исходное изображение было взято из файла «Буква_а.bmp», то файл тренировочного шаблона будет назван «Буква_а.template». При этом последний символ имени файла, содержащего исходное растровое изображение (в данном случае это символ «а»), интерпретируется как желаемый результат классификации эталонного образа. После создания тренировочного шаблона его содержимое (вектор входных сигналов) можно просмотреть в любом файловом менеджере, которое будет выглядеть следующим образом (таблица 3):

Таблица 3. Вектор входных сигналов тренировочного шаблона

Input signal 1: 0,335896151308773

Input signal 2: 0,005081962256997

Input signal 3: 6,98554360862792E-06

Input signal 4: 2,50419415057469E-06

Input signal 5: 9,00104820868783E-12

Input signal 6: -7,91531802334243E-07

Input signal 7: 7,25393886750125E-11

3.3.2.Основное приложение

Вструктуре основного приложения можно выделить три главных компонента решаемой задачи:

предварительная обработка предъявленного изображения;

обучение многослойного персептрона;

классификация рукописного символа на изображении.

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

При запуске приложения на экране появляется его основная форма (рис. 15):

35

Рис. 15. Главная форма основного приложения

В области формы можно выделить несколько базовых элементов. В верхней части расположена полоса главного меню, которая включает в себя 3 группы опций: «Файл», «Настройки» и «Действие». Непосредственно на форме располагается панель для просмотра входного изображения, индикатор процесса обработки этого изображения и кнопка для отмены этого процесса, а также поле для вывода текстового символа в соответствии с тем классом, к которому отнесён распознаваемый образ.

Опишем более подробно назначение каждого из пунктов главного меню:

«Файл» – открытие изображения для анализа, выбор каталога тренировочных шаблонов и завершение работы приложения; «Настройки» – задание и модификация параметров функционирования приложения,

которые для удобства навигации разделены на несколько групп и реализованы в виде самостоятельных опций:

«Структура многослойного персептрона»;

«Параметры обработки изображения»;

«Параметры алгоритма обучения»;

«Дополнительно…».

«Действие» – выполнение 3 этапов решения задачи классификации, а именно: предварительной обработки изображения, обучения многослойного персептрона и, наконец, построения векторной модели классифицируемого образа и применения к этой модели выбранного решающего правила.

При выборе пункта меню «Настройки» → «Структура многослойного персептрона»

появляется окно с параметрами нейронной сети, используемой для решения поставленной задачи:

36

а) б)

Рис. 16. Форма настроечных параметров многослойного персептрона: а – для скрытых слоёв, б – для моторного слоя

Параметры персептрона, которые отображаются в этом окне и могут быть модифицированы, разделены на 2 вкладки (рис. 16): параметры, хранящие информацию о скрытых слоях персептрона, и параметры моторного (выходного) слоя.

Пользователь имеет возможность задать число скрытых слоёв персептрона K . При этом накладывается ограничение K 2 . После этого из расположенного ниже выпадающего списка можно выбрать любой из скрытых слоёв по его номеру (который отображается как соответствующий элемент списка). Для выбранного скрытого слоя ещё ниже выводится информация о свойствах этого слоя: число нейронов в слое и тип активационной функции нейронов. При этом значения параметров активационной функции устанавливаются одинаковыми и по умолчанию, для всех нейронов в слое. При запуске приложения многослойный персептрон инициализируется с 2 скрытыми слоями и сигмоидальным типом активационной функции нейронов для каждого слоя.

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

Пункт меню «Настройки» → «Параметры алгоритма обучения» позволяет настроить обучение многослойного персептрона с помощью соответствующих характеристик. При его выборе появляется следующее диалоговое окно (рис. 17):

37

Рис. 17. Окно настройки параметров алгоритма обучения

Кпараметрам обучения относятся:

Nmax – максимальное количество итераций;

D – диапазон значений шагового множителя;

метод минимизации функции ошибки;

Accuracy – точность обучения.

При этом на данные параметры накладываются следующие ограничения:

-параметр Nmax изменяется от 104 до 105;

-левая граница диапазона D должна быть положительной и не превосходить 1, а правая – быть строго больше левой, но не больше 1;

-точность обучения – положительная величина.

По умолчанию максимально возможное число итераций обучения устанавливается равным 10000, диапазон значений шагового множителя определяется как отрезок [0,001; 1,000] , в алгоритме обучения применяется метод наискорейшего градиентного спуска,

аточность обучения полагается 0,001.

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

Чтобы изменить путь к каталогу с тренировочными шаблонами, нужно выбрать пункт меню «Настройки» → «Дополнительно…» и в открывшемся диалоговом окне (рис. 18) нажать на кнопку «Обзор…»:

38

Рис. 18. Окно дополнительных параметров

В результате откроется стандартный Windows-диалог, с помощью которого можно указать требуемый путь. После закрытия этого диалога нажатием на кнопку «OK» в специальной строке отобразится выбранный путь.

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

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

Чтобы сохранить изменения, внесённые в структуру многослойного персептрона посредством изменения его параметров, следует нажать на кнопку «Применить». При закрытии окна любым другим способом (кнопка «Отмена» или кнопка закрытия на заголовочной полосе формы) произойдёт откат к прежним значениям параметров.

Если пользователь уже открыл изображение с рукописным символом, то сначала следует выполнить его предварительную обработку, в результате которого будет выделен контур символа. Для этого необходимо выбрать пункт меню «Действие» → «Обработка изображения» → «Выполнить». Запустится индикатор процесса обработки, отображающий процент выполненных действий. При нажатии на кнопку «Отменить обработку изображения» во время выполнения процесса он будет остановлен, а все действия над изображением – отменены.

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

39

тренировочных шаблонов), либо после предварительной обработки входного изображения. Для запуска этого процесса следует воспользоваться пунктом меню «Действие» → «Обучение персептрона» → «Выполнить». На экране появится форма-индикатор выполнения процесса обучения (рис. 19):

Рис. 19. Окно-индикатор выполнения процесса обучения

Во время выполнения процесса у пользователя есть 2 возможности:

1)Досрочно завершить начатое обучение персептрона, нажав на кнопку «Завершить», –

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

2)Полностью отменить текущие результаты, достигнутые в ходе выполнения процесса обучения: для этого следует воспользоваться кнопкой «Отмена», после чего системой будет выдано сообщение о прерывании процесса обучения пользователем (рис. 21). Тогда, чтобы привести многослойный персептрон в готовность к распознаванию символа на входном изображении, следует повторить процедуру его обучения.

Рис. 20. Сообщение о досрочном завершении пользователем процесса обучения

Рис. 21. Сообщение о прерывании пользователем процесса обучения

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

40

процесса обучения нейронной сети. Кроме того, в этом уведомлении будет указано минимальное значение погрешности обучения, достигнутое в ходе работы алгоритма (рис. 22).

Рис. 22. Сообщение об окончании работы алгоритма обучения

Решить непосредственно задачу классификации приложение может только после предварительной обработки входного изображения и обучения многослойного персептрона. Только в этом случае станет доступным пункт меню «Действие» → «Распознавание». После выбора этого пункта процесс решения задачи классификации рукописного символа на изображении будет полностью завершён и результат её решения будет выведен в специальное окно (рис. 23), расположенное на главной форме основного приложения, в виде печатного символа, соответствующего его рукописному аналогу на исходном изображении:

Рис. 23. Результат решения задачи программной системой

41

При меры решения задачи

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

Параметры фильтров, которы е использовались на этапе предварительной обработки изображений:

1. Радиус медианного фильтра: 1 п иксель;

 

0

1

0

 

2. Битовая маска для фильтра морфологического расшир ения:

1

1

1

(ширина и высота

 

 

1

 

 

 

0

0

 

 

 

 

 

 

маски – 3 пикселя);

 

3. При адаптивной б инаризации

порог вычислялся как среднее арифметическое

минимального и максимального

значений яркости пикселей, образующих окрестность,

радиус окрестности – 75 пикселей. Структура многосл ойного персептрона:

1)количество скрытых слоёв: 2;

2)число нейронов: в первом слое – 10, во втор ом слое – 8;

3)а ктивацион ная функци я нейронов каждого слоя: сигмоидальная.

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

Обучающ ая выборка (ширина и высота каждого изображения – 32 пи кселя) представлена на рис. 24. Под каждым изображением приведён печатный символ (класс), который соответствует р укописному символу на изобра жении.

а

б

в

г

д

е

ж

з

и

Рис. 24. Изображения, использованные в качестве обучающей выборки

Результаты экспериментов приведены в таблице 4 (ширина и высота каждого изображения равна 100 пикселям).

42

Таблица 4. Результаты экспериментов, проведённых с программной системой

 

 

 

 

 

Изображение с рукописным

Печатный символ,

Ф ильтры, применённые для

предварительной обрабо тки

символом

соответствующий рукописному

изобр ажения

 

 

 

 

 

 

 

 

 

 

 

а

морфологическое расширение,

 

 

адаптивная бинаризация

 

 

 

 

 

 

 

в

медианный фильтр,

 

 

морфологическое расширение,

 

 

статическая бинаризация

 

 

 

 

 

 

 

г

медианный фильтр, стати ческая

 

 

бинаризация

 

 

 

 

 

 

 

д

медианный фильтр, адаптивная

 

 

бинаризация

 

 

 

 

 

 

 

е

морфологическое расширение,

 

 

статическая бинаризация

 

 

 

 

 

 

 

з

статическая бинаризация

 

 

 

 

 

 

43

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]