71499

Распознавание образов на базе нейронных сетей

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы: разработать подсистему идентификации сигналов в системе MATLAB. Задание: Разработать подсистему распознавания сигналов. Разработать источники сигналов разной формы. Обучить нейрону сеть и выполнить распознавание сигналов.

Русский

2014-11-07

817.93 KB

20 чел.

МИНОБРНАУКИ РОССИИ

Государственное Образовательное учреждение

Высшего Профессионального Образования

Пензенский государственный технологический университет

Кафедра «Информационные технологии и системы»

Дисциплина «Методы идентификации сигналов и систем»

Отчет по лабораторной работе №5

«Распознавание образов на базе нейронных сетей»

Выполнила: студентка группы 09И

Соляникова Е.А.

Проверил: к.т.н., доцент кафедры ИТС

Жашкова Т.В.

Пенза, 2013 г.

Цель работы: разработать подсистему идентификации сигналов в системе MATLAB.

Задание:

1. Разработать подсистему распознавания сигналов.

2. Разработать источники сигналов разной формы.

3. Обучить нейрону сеть и выполнить распознавание сигналов.

Выполнение:

Программу для считывания 5-ти образцов записи голоса и отсечения нулей.

Листинг:

da = wavread('da.wav');

wavplay (da, 44100)      

da = da(:,1);

 

net = wavread('net.wav');

wavplay (net, 44100)

net = net(:,1);

 

ay = wavread('ay.wav');

wavplay (ay, 44100)

ay = ay(:,1);

 

poka = wavread('poka.wav');

wavplay (poka, 44100)

poka = poka(:,1);

 

cat = wavread('cat.wav');

wavplay (cat, 44100)

cat = cat(:,1);

 

da = da(4805:118519);

net = net(7033:134379);

ay = ay(8140:104448);

poka = poka(5533:131072);

cat = cat(5451:119008);

Разработаем Simulink-модель подсистемы распознавания сигналов, для получения массивов x1, x2, x3, x4 и x5, необходимых для формирования и обучения нейронной сети в дальнейшем.

Рис. 1 - Simulink-модель подсистемы распознавания сигналов.

Рис. 2 - Подсистема, содержащая источники сигналов.

Рис. 3 - Подсистема преобразования сигналов.

Рис. 4 – Параметры блока «Buffer».

Рис. 5 – Параметры блока «Analog Filter Design»

Значение полосы пропускания фильтра, равное 50265.48 рад/с было получено путем умножения средней частоты человеческого голоса, равной 8000 Гц, на 2π.

Рис. 6 – Параметры блока «Zero-Order Hold»

Значение шага дискретизации, равное 0.000625, является обратным к значению частоты дискретизации, равной 8000 Гц и умноженной на 2, т.е. 16000 Гц.

Рис. 7 – Изображения голосовых сигналов в блоке «Scope»

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

Листинг:

z1 = x1(1,:);

z2 = x2(1,:);

z3 = x3(1,:);

z4 = x4(1,:);

z5 = x5(1,:);

z1 = z1';

z2 = z2';

z3 = z3';

z4 = z4';

z5 = z5';

Результат:

Рис. 8 – Полученные массивы z.

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

Листинг:

z1 = z1 (1026:80896);

z2 = z2 (1026:80896);

z3 = z3 (1026:80896);

z4 = z4 (1026:80896);

z5 = z5 (1026:80896);

Рис. 9 - Массивы z после отсечения нулей.

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

Рис. 10 – Измененный параметр блока «Buffer».

Программа для создания и обучения вероятностной нейронной сети, используя полученные значения массивов z1, z2, z3, z4 и z5.

Листинг:

P = [z1 z2 z3 z4 z5];

T = [1 2 3 4 5];

T_new = ind2vec(T)

T_new = full(T_new)

netset = newpnn(P,T_new);

netset.layers{1}.size

gensim(netset)

 

Результат:

T_new =

  (1,1)        1

  (2,2)        1

  (3,3)        1

  (4,4)        1

  (5,5)        1

T_new =

    1     0     0     0     0

    0     1     0     0     0

    0     0     1     0     0

    0     0     0     1     0

    0     0     0     0     1

ans =     5

Рис.11 - Разработанная вероятностная нейронная сеть.

Рис.12 - Строение разработанной вероятностной нейронной сети.

Копируем блок «Neural Network» и вставляем его в главную модель. Запускаем модель. Сигналы распознаются верно.

Рис. 13 – Распознавание первого голосового сигнала.

Рис. 14 – Распознавание второго голосового сигнала.

Рис. 15 – Распознавание третьего голосового сигнала.

Рис. 16 – Распознавание четвертого голосового сигнала.

Рис. 17 – Распознавание пятого голосового сигнала.


 

А также другие работы, которые могут Вас заинтересовать

36857. Чрезвычайные ситуации. Действия в ЧС 215.59 KB
  Поражающий фактор источника ЧС — составляющая опасного явления или процесса физического, химического или биологического (бактериального) характера, вызываемого источником ЧС и приводящего к поражению людей, сельскохозяйственных животных и растений, хозяйственных и иных объектов, элементов окружающей природной среды.
36858. Построение двумерных графиков 396 KB
  plotxy[xcpycpcption] x массив абсцисс; y массив ординат; xcp ycp cptionподписи осей X Y и графика соответственно. Затем воспользуемся функцией plotxy для построения кривой и выведем с ее же помощью подписи координатных осей ’X’ ’Y’ а также имя графика ’plot function y=sincosx’ Листинг 4. Построение графика функции y = sincosx с помощью функции plot x=2pi:0.
36859. РАБОТА СО СВОДНЫМИ ТАБЛИЦАМИ В MS EXCEL 88.5 KB
  РАБОТА СО СВОДНЫМИ ТАБЛИЦАМИ В MS EXCEL Цель работы: рассмотреть возможности обработки больших массивов данных средствами MS Excel научиться создавать сводные таблицы и управлять данными. Установите курсор в диапазоне ячеек содержащих значения заголовки строк и столбцов В любую заполненную данными ячейку таблицы Чтобы создать сводную таблицу на вкладке Вставка в группе Таблицы выберите раздел Сводная таблица а затем пункт Сводная таблица. На экран будет выведено диалоговое окно Создание сводной таблицы. На отдельном листе будет...
36860. Функция plot2d 690.5 KB
  Функция plot2d plot2d[logflg]xy’[key1=vlue1key2=vlue2. Следует отметить что вовсе не обязательно использовать полную форму записи функции plot2d со всеми ее параметрами. В простейшем случае к ней можно обратиться кратко как и к функции plot. Создавать массив Y необязательно следует лишь в качестве аргумента функции plot2d указать математическое выражение функции.
36861. Форматирование графиков функций 724 KB
  Visibility отображение графика переключатель принимающий значения on и off. Figure nme имя графика это последовательность символов которые выводятся в строке заголовка графического окна. По умолчанию графическому окну присваивается имя Scilb Grphic d где d это порядковый номер графика Figure id.
36862. Word: Работа с таблицами 80 KB
  Выполните подготовительные действия для работы с таблицами: – выполните команду меню Таблица и в меню этой команды установите команду Отображать сетку если в этой строке установлена команда Скрыть сетку то выделите эту строку и нажмите на левую кнопку мыши после чего там появится команда Отображать сетку; – выведите на экран панель инструментов Таблицы и границы что проще всего сделать нажатием на кнопку Панель границ на Стандартной панели инструментов но можно также или использовать контекстное меню в области панелей...
36863. Работа со сводными таблицами. Создание сводных таблиц 681.5 KB
  Сохраните документ в своей папке под именем Сводные таблицы. Установите курсор в диапазоне ячеек содержащих значения заголовки строк и столбцов В любую заполненную данными ячейку таблицы Выберите команду Данные Сводная таблица. Во втором диалоговом окне проверьте правильно ли выделен диапазон данных для создания сводной таблицы или задайте диапазон данных если диапазон не был выбран Рис. Третье диалоговое окно предлагает выбрать лист для размещения сводной таблицы оставьте принятую по молчанию установку Новый лист Рис.
36864. Исследование недвоичных счетчиков 72.5 KB
  При построении счетчиков с дешифратором состояния наиболее целесообразно использовать счетчики интегрального состояния например 74191 см. Счетчик с дешифратором состояния. D; счетный вход ─ CLK; вход направления счета ─ U – суммирование активен высоким уровнем ─ D вычитание активен низким уровнем; вход управления предварительной установкой ─ LOD; выход переноса ─ RCO выход дешифратора состояния активен низким уровнем при достижении последнего состояния счетчика. При выполнении этой части работы необходимо снимать временные диаграммы...
36865. Построение трехмерных графиков в Scilab 676.5 KB
  Функции plot3d и plot3d1 В Scilb поверхность можно построить с помощью функций plot3d или plot3d1. Их отличие состоит в том что plot3d строит поверхность и заливает ее одним цветом а plot3d1 поверхность каждая ячейка которой имеет цвет зависящий от значения функции в каждом соответствующем узле сетки. Обращение к функциям следующее: plot3dxyz[thetlphlegflgebox][keyn=vluen] plot3d1xyz[thetlphlegflgebox][keyn=vluen] здесь x векторстолбец значений абсцисс; y векторстолбец значений ординат; z матрица значений...