✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
声信标信号的有效检测识别方法在找寻失事黑匣子的过程中起到关键作用.本文基于卷积神经网络(CNN)的检测识别方法,把已知声信标信号作为卷积神经网络的训练样本,提取梅尔频率倒谱系数(MFCC)特征后输入卷积神经网络进行训练,得到相应的训练标签.把待测的声信标信号输入经过训练的卷积神经网络进行测试,得到相应的识别结果.试验结果表明,基于卷积神经网络的方法可用于声信标信号的检测识别,并且有较好的识别率.
⛄ 部分代码
%% DEEP LEARNING: FIND A SINGLE NON-RANDOM BIT IN A SEA OF NOISE
% A example built to illustrate the remarkable capacity of Deep Learning
% (CNNs) to detect a single bit of useful information in a potentially
% noisy environment. By extension, the informative bit could be anything--a
% single nucleotide in a "noisy" genome, or a fraudulent transaction in a
% ledger, or ....说明了深度学习(深度学习)在潜在的嘈杂环境中检测一点有用信息的非凡能力。
%
%% Create random data; convert 1 random pixel to class1/class2 "indicator"
rng(0);
% SUGGEST: n = 100e3; sz = [20 20]; But feel free to try different values
% (sz = [1 400] works, too, for training option 2 below!!!)
n = 100000;
sz = [20 20];
a = rand(sz(1),sz(2),n);
a = a > 0.5;
randElem = randi(sz(1)*sz(2));
%% How accurate is it on TEST data?
predLabelsTest = net.classify(testSet);
testAccuracy = sum(predLabelsTest == testLabels) / numel(testLabels)
%% Can we detect the location of the "tell"? YES!!!
% Fully connected:
if option == 1
layer = 4;
elseif option == 2
layer = 3;
end
channels = [1,2];
I = deepDreamImage(net,layer,channels,'PyramidLevels',1);
f2 = figure('Name','Deep Dream');
% montage(I)
subplot(1,2,1)
channel1Image = I(:,:,:,1);
imshow(channel1Image);
title('Deep Dream Channel 1 (1-Level)')
subplot(1,2,2)
channel2Image = I(:,:,:,2);
imshow(channel2Image);
title('Deep Dream Channel 2 (1-Level)')
[rmax,cmax] = find(channel1Image==max(channel1Image(:)));
%impixelinfo
fprintf('TARGET:\t\tRowInd = %i;\tColInd = %i;\nDETECTION:\tRow = %i;\t\tCol = %i\n',rowInd,colInd,rmax,cmax)
⛄ 运行结果
⛄ 参考文献
[1]王维. 基于卷积神经网络的人脸检测与特征点标定算法研究[D]. 东南大学, 2017.