Вы находитесь на странице: 1из 12

РАСПОЗНАВАНИЕ ОБРАЗОВ С ПОМОЩЬЮ НЕЙРОННОЙ СЕТИ

Цель работы: изучить метод распознавания образов с помощью нейронной


сети в Matlab.

1 Теоретическая часть

Искусственные нейронные сети представляют собой математическую модель


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

Рисунок 1 – Искусственный нейрон

Одной из актуальных задач является распознавание визуальных образов.


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

2.1 Создали матрицу с буквами латинского алфавита.

Рисунок 2 – Шаблон буквы G созданный в графическом редакторе

2.2 Написали функцию, которая будет считывать необходимые признаки


символов с графического файла в нужном нам формате.

Рисунок 3 – Функция Imgread


2.3 Используя данную функцию, создали матрицу признаков латинского
алфавита, введя в окно команд следующий код:

Рисунок 4 – Код в окне команд для создания матрицы

2.4 В качестве матрицы целей создали единичную матрицу размерностью 26


на 26.
Для этого ввели код. Так же объявили переменные, содержащие в себе
количество строк и столбцов.

Рисунок 5 –Код для создания матрицы целей

2.5 Для обучения сети нам понадобились данные с шумом. Создали эти
данные, введя следующий код в окно команд:
Рисунок 6 – Создание шума

2.6 Для симуляции сети нам понадобилась переменная, содержащая в себе


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

Рисунок 7 – Создание переменной noisy7

Рисунок 8 – Зашумленный образ


2.7 Теперь вызвали инструмент NNtool, где с помощью графического
интерфейса создали нейронную сеть. Сделать это можно с помощью
соответствующей команды nntool .
2.8 С помощью кнопки Import добавили необходимые нам переменные.
Переменные P,P1 и noisy10 добавили как input data. Переменные T,T1 добавили как
Target data.
2.9 Нажав кнопку New, приступили к созданию нейронной сети. В окне
параметров нейронной сети ввели настройки . После этого сеть появилась в окне
менеджера данных нейронной сети в разделе networks.

Рисунок 9 – Окно менеджера данных нейронной сети  после создания


нейронной сети 

2.10 Нажав дважды на созданную сеть, открыли нейронную сеть. Появилось


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

2.11Рассмотрели вкладку Train, где будет проводиться обучение нейронной


сети. В начале провели обучение на идеальных данных. Ввели соответствующие
параметры.

Рисунок 11 – Настройка данных, с помощью которых будет происходить


обучение 

Рисунок 12 – Параметры обучения нейронной сети


2.12 После установки всех параметров запустили обучение, нажав кнопку
Train Network.

 
Рисунок 13 – Процесс обучения
С помощью кнопки Performance посмотрели процесс обучения с помощью
графика.
Рисунок 14 – График обучения нейронной сети

2.13 Провели обучение на данных с шумом. Для этого изменили параметры во


вкладке train.

Рисунок 15 – Параметры обучения на данных с шумом


 
Рисунок 16 – Параметры обучения на данных с шумом

Рисунок 17 – Процесс обучения сети на данных с шумом


График обучения представлен на рисунке 18.

 
Рисунок 18 – График обучения нейронной сети на данных с шумом

2. 14 Выбрали в качестве входных данных переменную noisy7, а в качестве


выходных данных написали переменную аns (рисунок 19).

 
Рисунок 19 – Вкладка Simulate с выбранными параметрами

Для начала процесса симуляции нажали кнопку Simulate Network.


После этого в окне менеджера данных нейронной сети появилась переменная
аns (рисунок 20).

Рисунок 20 – Окно менеджера данных нейронной сети после проведенной


симуляции 

2. 15 Экспортировали нейронную сеть и переменную аns.


2. 16 После экспорта в окно команд Matlab вводим следующий фрагмент кода:

Рисунок 21 – Код для вывода ответа

Перед нами появилось окно (рисунок 22), отображающее распознанный


символ. 
Рисунок 22 – Распознанный символ И
 
Таким образом, созданная нейронная сеть выполняет поставленную задачу.

Вывод: : изучили метод распознавания образов с помощью нейронной сети в


Matlab. Данная работа знакомит с GUI-интерфейсом NNtoot и может в дальнейшем
использоваться студентами для создания более сложных, по своей структуре и
задаче, нейронных сетей в различных курсах.