【信号检测】基于 MFCC+GMM安全事件声学检测系统含
Matlab源码
1 简介
随着信息化技术和物联网浪潮的快速发展,目前,基于摄像头等手段的公共场所安全监控已经十分普及
和完善,大大提升了公共场所发生的突发事件的管控效率。然而,由于摄像头只能采集基于视觉的信
息,视频监控不可避免地存在一些先天性缺漏。相对于纯视频手段,声学检测在枪击、爆炸、呼救、人
群恐慌等具有语义的事件中,无疑具有更好的检测识别能力,这使得基于声学的公共安全事件检测在反
恐、维稳、社会治安等多个领域具有广泛的使用价值和应用前景。本课题重点针对枪击与爆炸两类突发
公共安全事件,对相应的声学检测方法进行了研究。
本课题结合室外公共场景下的枪击与爆炸事件声学传播情况、系统设计成本以及检测算法的算力开销等
因素,对比了各类传声器在该场景下的选型优劣性,并基于VM2020麦克风、AD7865-1模数转换模块、
SRAM拓展IS61LV25616AL、FLASH拓展SST39VF800、TMS320F2812数字信号处理器等设计了信号检
测的硬件平台。
本课题针对室外公共场所的道路街道场景,设计了基于Butterworth低通滤波器的滤波去噪算法,和基
于短时能量分析与持续时间分析的端点检测算法,实现了大功率前景信号与低功率背景信号的分离。为
了对所分离的信号片段用于进一步检测分类,本课题采用Mel倒频谱系数(MFCC)作为特征工程方案,
并应用混合高斯模型(GMM)与极大似然估计对疑似信号片段进行检测与分类。最后,本课题还结合
TUT Acoustic与Freesound两个声学数据库的60个枪击、爆炸以及道路街道场景样本,通过MATLAB仿
真进行了小规模算法验证。
2 部分代码
3 仿真结果
for i = 1:6% file_name = strcat('dataset_horn',num2str(i));% file_name =
strcat(file_name,'.wav');% fprintf('reading %s...',file_name);% [y,fs]
= audioread(file_name); % sz = size(y);% if sz(2) > 1% gun =
((y(:,1)+y(:,2))/2)'; % 多声道,只要一个% elseif sz(1) == 1% gun =
(y(:,1))'; % 单声道% end gun = data_gun(1,:); %figure(i);
figure(1); p2 = abs(fft(gun)/length(gun)); gun_fft = p2(1:length(gun)/2+1);
gun_fft(2:end-1) = 2*gun_fft(2:end-1); f = fs*(0:
(length(gun)/2))/length(gun); %subplot(1,2,1);plot(gun);xlabel('t / s');
%subplot(1,2,2);
subplot(3,2,i);plot(gun_fft);title('spectrum');xlabel('frequency / Hz');end
评论0