首页 理论教育 基于SVM的实验鼠超声信号识别方法及结果分析

基于SVM的实验鼠超声信号识别方法及结果分析

时间:2023-07-02 理论教育 版权反馈
【摘要】:考虑到本章的目标是识别实验鼠的发声,而不是分离实验鼠的发声,因此选择基于SVM的识别方法。图4-29基于SVM的实验鼠超声信号识别过程选择62个包含实验鼠超声信号和机器鼠运动噪声混合的声音块作为测试样本,在Matlab中训练SVM模型后,得到共28个支持向量,其中14个是关于包含实验鼠超声信号声音块的支持向量。经过统计分析识别准确率达到84.29%,假正率和假负率分别为12.9%和4.84%。

基于SVM的实验鼠超声信号识别方法及结果分析

尽管有大量研究人员开展过识别实验鼠超声信号的工作[23],但是之前工作中的实验场景都选择在隔音室,并且环境中没有运动的机器鼠,因此记录到的信号具有很高的信噪比。然而,这里实验鼠的超声信号中掺杂了机器鼠运动产生的噪声,机器鼠产生的噪声是连续并强大的,而实验鼠USV是离散的、较少的、随机的。解决这个问题可以使用声源分离法,如多通道高斯混合模型(MCGMM)[24]、经验模态分解(EMD)[25]、非负矩阵分解(NMF)[26]或长短期记忆网络(LSTM)[27],然而这些方法存在一些缺陷。例如,基于NMF的方法适用于分离乐器产生的规律性发声而不是随机发声,LSTM需要大量的训练数据,而MCGMM和EMD的计算负荷相对较高。考虑到本章的目标是识别实验鼠的发声,而不是分离实验鼠的发声,因此选择基于SVM的识别方法。

识别实验鼠超声信号的整体流程:首先通过高通滤波对采集到的原始信号预处理,消除20 kHz左右的噪声;然后对滤波后的数据进行短时傅里叶变换(STFT)以获得频谱;再次计算训练样本的特征,训练SVM模型,在模型训练完成后,获得的一系列支持向量定义了两个类别声音块之间的距离;最后对于新采集到的未知声音块,可通过支持向量计算属于哪个类别。整体过程如图4-29所示。

图4-29 基于SVM的实验鼠超声信号识别过程

选择62个包含实验鼠超声信号和机器鼠运动噪声混合的声音块作为测试样本,在Matlab(R2018b)中训练SVM模型后,得到共28个支持向量,其中14个是关于包含实验鼠超声信号声音块的支持向量。为了分析算法中每一个特征的必要性,分别统计了在减少某一个特征的情况下识别的准确率,结果如表4-6所示。

表4-6 使用不同特征的分类效果比较

实验结果表明,减少任何一个特征都会导致支持向量增加,从而增加计算复杂度。其中SRO是最重要的特征,因为如果不使用SRO会导致识别准确率明显降低,不使用ENE或SKU会导致假负率显著增加,因此7个特征在实验鼠超声信号识别中都非常重要。

测试样本的频谱图如图4-30(a)所示,通过式(4-40)可以得到识别结果,如图4-30(b)所示。(www.xing528.com)

图4-3
0 实验结果(见彩插)

(a)实验鼠超声信号与机器鼠运动声音的掺杂信号在滤波之后的时频谱图;(b)图(a)的SVM识别结果

红色实线代表与分类超平面之间的距离为正,表示声音块里可能包含有实验鼠的超声信号,距超平面的距离越远,包含超声信号的可能性越大。蓝色点画线表示距离分类超平面之间的距离为负,分类结果表明该声音块较高可能性不含实验鼠超声信号。

经过统计分析识别准确率达到84.29%,假正率和假负率分别为12.9%和4.84%。尽管存在一定的错误率,但是识别准确率仍然满足目标需求。

为了验证基于SVM的识别方法是否满足实时处理的要求,计算了整个识别过程的时间延迟。共分为两部分,分别是滤波器的群延迟和SVM分类需要的计算时间,即

式中,TG为滤波器的群时延,约为0.5 ms,SVM分类算法耗时1~3 ms(Win7 64位,96GB RAM),因此总延时小于3.5 ms,满足实时处理的需求。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈