Главная » Все файлы » Просмотр файлов из архивов » Документы » Руководство к лабораторной работе - Нейросетевое распознавание печатных символов

Руководство к лабораторной работе - Нейросетевое распознавание печатных символов

2017-06-18СтудИзба

Описание файла

Документ из архива "Руководство к лабораторной работе - Нейросетевое распознавание печатных символов", который расположен в категории "". Всё это находится в предмете "распознавание образов" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "распознавание образов" в общих файлах.

Онлайн просмотр документа "Руководство к лабораторной работе - Нейросетевое распознавание печатных символов"

Текст из документа "Руководство к лабораторной работе - Нейросетевое распознавание печатных символов"

Лабораторная работа № 1. Нейросетевое распознавание печатных символов.

Дисциплина: «Распознавание образов», специальность 200700

Цель работы. 1. Построение нейронных сетей в среде MATLAB.

2. Исследование возможностей распознавания печатных символов

с помощью нейронных сетей.

Работа включает три этапа:

  1. Подготовка эталонных (обучающих) образов печатных символов в виде набора графических файлов.

  2. Создание и обучение нейронной сети (НС) в среде MATLAB.

  3. Распознавание печатных символов с помощью обученной НС.

1. Подготовка эталонных образов.

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

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

Для создания графических файлов образов удобно использовать среду Adobe Photoshop. В этом случае при создании каждого файла необходимо проделать следующую последовательность операций:

  1. создать новый файл, задав его параметры:

- имя : XXXX;

- ширина: N1 пикселей;

- высота: N2 пикселей;

- цветовой режим: битовый формат.

Значения N1, N2=8…20 задаются преподавателем.

  1. используя инструменты типа «Кисть», «Ластик» и др. создать требуемый образ символа.

  2. с помощью команды «Сохранить как» сохранить созданный образ в виде файла типа tif в заданной преподавателем папке.

На рис. 1 приведены примеры графических символов цифр при N1=10, N2=12 пикс.

Рис. 1. Примеры графических символов цифр.

2. Создание и обучение НС с среде MATLAB.

На данном этапе выполнение работы в среде MATLAB производится с помощью программы sr_newff , которая реализует следующие функции:

- формирование числовых массивов эталонных образов, используемых в качестве обучающих;

- подготовка данных, необходимых для создания НС;

- создание НС, задание параметров обучения НС и обучение НС.

Эталонный образ каждого символа представлен в виде вектора-столбца [N,1], число элементов N которого равно числу признаков (иначе говоря, N – размерность пространства признаков). Такой вектор-столбец формируется из двумерного массива-изображения [N1,N2], который, в свою очередь, формируется при считывании графического файла образа с помощью команд:

imread (FILENAME) - процедура чтения графического файла;

X = reshape (A,[N,1]) - процедура преобразования двумерного массива A[N1,N2] в

одномерный вектор-столбец X[N,1], где N=N1*N2.

Процедура умножения массива на 1 приводит к смене типа элементов массива с logical (для элементов битового формата) на double.

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

- различие шрифтов и стилей печатных символов;

- погрешности сканирования и неточности совмещения символа и окна сканирования;

- низкое качество печати, дефекты бумаги и т.д.

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

В программе sr_newff формирование дополнительных обучающих образов производится путем незначительного искажения эталонных образов, считываемых из графических файлов. Искажение образа-эталона каждого класса реализуется путем добавления к нему равномерного (по площади изображения) шума типа «Соль и перец», представляющего собой случайное искажение отдельных пикселей изображения. Степень искажения характеризуется числом p=[0;1], определяющим долю искаженных пикселей.

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

Подготовка данных, необходимых для создания НС, включает в себя:

  1. формирование двумерного массива обучающих образов XR[N,K], каждый столбец которого представляет собой набор N признаков одного образа, а число столбцов K равно числу обучающих образов;

  2. формирование двумерного массива желаемых откликов YR[NY,K], где NY – число выходов НС (т.е., число нейронов выходного слоя); K – число обучающих образов. Отклик YR[:,k] (в общем случае – вектор-столбец) соответствует k-му обучающему образу – вектору XR[:,k];

  3. формирование двумерного массива R[N,2], определяющего минимальное R(n,1) и максимальное R(n,2) значение n-го признака, n=1,…,N.

Создание НС. В общем случае НС net создается с помощью команды:

net = nnnnn (P1,P2,…PL), где

nnnnn – тип НС;

P1,…,PL – параметры НС.

В настоящей работе используется НС типа многослойного персептрона newff, которая задается командой:

net = newff (R, [A1 A2 … AL], {F1 F2 … FL}, BTF, PF), где

R - массив минимальных и максимальных значений входных нейронов (признаков);

Ai - число нейронов i-го слоя, начиная с первого скрытого слоя, i=1,…,L;

Fi - функция активации нейронов i-го слоя, по умолчанию ‘tansig’;

BTF - функция обучения сети, по умолчанию ‘trainlm’;

PF - критерий остановки, по умолчанию ‘mse’ (минимум ско).

Дополнительные параметры, используемые при создании сети:

net.performFcn=’msereg’ - обучение НС производится с помощью метода регуляризации;

net.performParam.ratio=0.1 - значение параметра регуляризации;

net.trainParam.show=5 - число эпох, через которое производится вывод параметров

процедуры обучения;

net.trainParam.epochs=500 - максимальное число эпох при обучении НС;

net.trainParam.goal=0.02 - значение целевой функции, по достижении которого

процесс обучения НС прекращается.

Процесс обучения НС запускается командой:

net = train (net, XR, YR) .

Для решения задач распознавания печатных символов рекомендуется использовать трехслойную НС (один скрытый слой) с числом нейронов:

N=120 - во входном слое;

A1=20 - в скрытом (промежуточном) слое;

A2=1 - в выходном слое.

При использовании большего числа нейронов процедура обучения НС может занять слишком много времени. Для рекомендованных значений параметров НС (в том числе и дополнительных) и общем числе обучающих образов (для всех заданных классов) K=100…200 время обучения НС составляет 5…20 мин.

3. Распознавание печатных символов с помощью обученной НС.

Работа НС, т.е. формирование отклика Y при входном воздействии в виде вектора-столбца X[N,1] производится командой:

Y = sim (net, X).

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

Y = round (sim (net, X)).

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

SX.tif - имя графического файла образа-эталона;

N - число пикселей изображения образа;

NT - число тестируемых образов, полученных путем искажения эталона;

P - доля искаженных пикселей [0; 1].

На рис. 2 представлены некоторые примеры распознавания символов, изображенных на рис. 1, с помощью обученной НС. Обучение проводилось при числе обучающих образов M=10 для каждого вида символа и параметре искажения символов p=0,1.

Результат распознавания: «2» «3» «5»

Рис. 2.а. Неверные распознавания символа «0» , искаженного 20% шума «Соль и Перец».

Результаты распознавания: «0» «0» «0» «0»

Рис.2.б. Правильные распознавания символа «0» , искаженного 20% шума «Соль и Перец».

Результат распознавания: «3» «5» «6»

Рис. 2.в. Неверные распознавания символа «4» , искаженного 20% шума «Соль и Перец».

Результаты распознавания: «4» «4» «4» «4» «4»

Рис.2.г. Правильные распознавания символа «4» , искаженного 20% шума «Соль и Перец».

Результаты распознавания: «8» «8» «6»

Рис.2.д. Результаты распознавания символа «8» , искаженного 10% шума «Соль и Перец».

Результаты распознавания символов, представленные на рис. 2 а-г, демонстрируют хорошее распознавание с помощью НС даже при сильном искажении (параметр p>0,1). Для объективной оценки качества работы НС необходимо вычисление вероятностных характеристик распознавания. При правильном выборе параметров обучения сети и использовании не менее 100 обучающих образов можно получить вероятность правильного распознавания символов порядка 0,6…0,9 (в зависимости от вида распознаваемого символа) при параметре искажения p=0,1…0,2.

Порядок выполнения работы.

  1. Подготовить графические файлы эталонных образов для символов, заданных преподавателем.

  2. В среде MATLAB создать и обучить НС, предназначенную для распознавания печатных символов.

  3. Исследовать зависимость качества работы НС от:

- степени искажения символов (параметр p);

- числа нейронов в скрытом слое.

Качество работы НС характеризуется вероятностями правильной классификации образа i-го класса, i=1,…,M. Оценка вероятностей производится по формуле:

,

где - число правильных распознаваний образа i-го класса; - общее число распознаваний образов i-го класса. Число определяется экспериментально при запуске программы sr_work при значениях =10…100.

Описание составил Гаврилов К.Ю.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее