71499

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

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

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

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

Русский

2014-11-07

817.93 KB

17 чел.

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

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

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

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

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

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

Отчет по лабораторной работе №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 – Распознавание пятого голосового сигнала.


 

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

78186. Разработка программ обработки одномерных массивов 80.5 KB
  В качестве элементов массива можно использовать и любой другой ранее описанный тип поэтому вполне правомерно существование массивов записей массивов указателей массивов строк массивов и т. Элементами массива могут быть данные любого типа включая структурированные. Тип элементов массива называется базовым. Особенностью языка Паскаль является то что число элементов массива фиксируется при описании и в процессе выполнения программы не меняется.
78187. Разработка программ обработки двумерных массивов 70.5 KB
  Доступ к каждому отдельному элементу осуществляется путем индексирования элементов массива. Индексы представляют собой выражения любого скалярного типа, кроме вещественного. Тип индекса определяет границы изменения значений индекса. Для описания массива предназначено словосочетание: array of (массив из).
78188. Разработка программ с использованием процедур и функций 101 KB
  Dos включает средства позволяющие реализовывать различные функции DOS. Функции в Паскале Функция это независимая именованная часть программы которую можно вызвать по имени для выполнения определенных действий. Структура функции повторяет структуру программы. Особенности использования функции: функция передает в точку вызова скалярное значение; имя функции может входить в выражение как операнд.
78189. Основные комбинаторные алгоритмы 169 KB
  Контрольные вопросы Введение Комбинаторные алгоритмы с их акцентом на разработку анализ и реализацию практических алгоритмов являются продуктом века вычислительных машин. Предмет теории комбинаторных алгоритмов вычисления на дискретных математических структурах.
78190. Графы. Алгоритмы на графах 224.61 KB
  Геометрическое - графом называется фигура, состоящая из точек (называемых вершинами) и отрезков, соединяющих некоторые из этих вершин. Соединяющие отрезки могут быть направленными (дугами), ненаправленными (ребрами)
78191. Алгоритмы поиска кратчайших расстояний в графе 194.5 KB
  Требуется посетить все вершины графа и вернуться в исходную вершину минимизировав затраты на проезд или минимизировав время. Исходные данные – это граф дугам которого приписаны положительные числа – затраты на проезд или время необходимое для продвижения из одной вершины в другую. В общем случае граф является ориентированным и каждые две вершины соединяют две дуги – туда и обратно. Пусть требуется найти расстояния от 1й вершины до всех остальных.
78192. Алгоритмы поиска с возвращением 87.5 KB
  Рассмотрим общий случай, когда решение задачи имеет вид вектора (а1, а2,), длина которого не определена, но ограничена сверху некоторым (известным или неизвестным) числом r, а каждое аi является элементом некоторого конечного линейно упорядоченного множества
78193. Типы файлов. Организация файловой системы. Текстовые файлы. Нетипизированные файлы 109.5 KB
  В Паскале понятие файла употребляется в двух смыслах: как поименованная информация на внешнем устройстве внешний файл; как переменная файлового типа в Паскальпрограмме внутренний файл. С элементами файла можно выполнять только две операции: читать из файла и записывать в файл. Существует специальная ячейка памяти которая хранит адрес элемента файла предназначенного для текущей обработки записи или чтения. Этот адрес называется указателем или окном файла.