基于自适应稀疏分解的声音识别算法

2021-06-21 02:29张一杨姚明林
计算机应用与软件 2021年6期
关键词:识别率原子粒子

张一杨 姚明林

(唐山学院 河北 唐山 063000)

0 引 言

对公共场所的突发事件实时安全监控,有益于提高人民生活质量,而开始受到越来越高的重视,因此针对声音事件的精确检测和准确识别对辅助公共安全监控具有重要的研究意义[1]。

借鉴语音信号检测领域的研究成果,已有算法大多提取信号的MCFF[2]、短时能量谱[3]、相关系数、声谱图[4]、ESMD排列熵[5]、多频带能量[6]及稀疏合成NMF[7]等特征,或通过α分布分析[6]、T分布[7]减少环境噪声对特征干扰,然后借助k-近邻、混合高斯模型、SVM及DNN网络[4]等传统分类器及其组合模式实现对环境噪声中异常声音信号的检测和识别。虽然取得较好的识别效果,但上述算法往往需要大样本量支撑训练[2]及存在阶数难以合理设置[3]、多隐层错误[5]等问题,且公共场所的强背景噪声对已有算法的特征提取和检测识别存在较强的干扰。

随着深度学习的兴起,深度神经网络也被应用于处理环境声音识别分类问题[8-11]。冯陈定等[8]基于改进深度学习卷积网络,以堆叠递减卷积核提取多尺度归一化局部特征,以动态学习率提高算法的收敛速度与稳定性,取得了更好的识别率。史秋莹等[9]以三隐层深度神经网络对声信号的MCFF特征进行识别,取得了比SVM和GMM更好的识别结果[10-11]。深度学习网络相比于传统分类器提高了异常声信号的检测精度,但其庞大的参数需求、复杂的参数设置及计算需求,使得在实际应用中,需要对其做进一步的优化和改进。

匹配追踪(Matching Pursuit,MP)无需先验信息而实现信号的稀疏分解和降噪,对非平稳环境下的噪声干扰具有较好的适应性。陈秋菊等[12]借助过MP稀疏分解提取声信号特征,以DBN网络进行异常声信号检测。Varghees等[13]采用二次稀疏分解和重构声音信号来消除背景噪声干扰,然后提取对重构信号特征用以识别。Jorge等[14]对声音信号进行MP稀疏分解后,利用PCA和LDA进行降维提取声信号特征进行异常声信号检测与识别。

在已有研究基础上,本文提出基于自适应粒子群优化MP稀疏分解的声音事件识别算法。算法首先基于粒子与种群进化率改进PSO的参数自适应设置,建立参数自适应PSO,实现自适应PSO优化MP稀疏分解的优化,并基于PSO的连续空间搜索特性构建连续Gabor超完备原子集,以提高进化过程最优原子匹配度,最后通过SVM算法实现事件事件的识别,实验结果验证了该算法的有效性和鲁棒性。

1 适应MP稀疏分解

设集合D={gi,i=1,2,…,Q}中的元素gi为空间H=RN的单位向量,任意信号f∈H都可表示为D中相应元素的线性组合,即f=a·g,a为展开系数,g={g1,g2,…,gm}为稀疏分解原子集,则在所有表达式中,m值最小的表示为f∈H的稀疏分解。

但在实际应用中,原子集的离散性和超完备集的冗余性存在一定的矛盾。粒子群算法具有连续空间搜索特性[11],如果引入到MP稀疏分解过程中,则可以改善原子集离散化影响。

1.1 改进粒子群自适应参数设置

PSO[12]易陷入局部最优,为避免这一问题,粒子在初期迭代时需要较大的速度继承以保持全局搜索能力,而在后期则需要较高的局部搜索能力以保持稳定解[14],基于此提出了参数自适应调整策略。

算法迭代时粒子与种群的进化能力分别为:

(1)

(2)

进化描述了粒子对一上次迭代的信息继承性,则算法的惯性权重因子的自适应设置为:

(3)

可以看出,粒子当次迭代惯性因子受前次迭代的粒子和种群进化能力影响,粒子的全局寻优能力影响其搜索范围,而其自身决定其独立惯性因子的设置。

自我学习因子c1和社会学习因子c2分别控制着个体历史最优和群体历史最优迭代过程中对其后续信息继承性的影响程度,本文根据粒子的进化变化率调整学习因子,以增加粒子初期自身学习能力和后期的社会学习能力,实现最优全局搜索和精准局部搜索。同时粒子间由于进化能力不同而形成的不同进化率,还可以进一步对学习因子进行调整,使粒子根据自身迭代情况调整学习模式,从而增加粒子的多样性。本文学习因子控制方式为:

(4)

式中:cmax、cmin分别表示学习最大值和最小值;T为迭代次数。式(4)表明改进算法的各粒子根据其进化变化率自适应地调整其学习因子。在初期迭代时,粒子具有较强的自我学习能力,因而其c1值占主导地位,若此时某粒子的进化率较小,则其c1要比同代的其他粒子的值要稍大,从而更利于进行全局最优搜索;随着迭代进化加深,粒子的社会学习能力变强,其c2值占主导地位,若此时某粒子的进化率较大,则其c2要比同代的其他粒子的值要稍大,从而更利于该粒子进行局部寻优搜索。

为进一步避免算法限于局部最优,本文采用粒子重组策略,将在粒子进化迭代过程中进化能力较弱的部分粒子重新选择,使其向进化能力强的粒子学习,重组这些粒子。对每个重组粒子的每一维度生成随机数pid,如果pid>Pc(Pc为学习概率),则粒子xid在第d维向进化能力较强粒子的该维度xkd学习,如果pid≤Pc,粒子xid保持不变,这样重组粒子过程为:

(5)

粒子重组后与进化能力强的粒子一同进入迭代过程。重组策略既有效拓宽粒子的搜索范围,增加粒子多样性,又保证了算法的收敛速度和搜索精度。

1.2 连续原子集构建

超完备集中原子的信号特性与声音事件信号特性相匹配是完成信号稀疏分解的关键,借助粒子群算法的连续空间搜索特性[14],本文采用改进Gabor函数计算式生成稀疏分解所需的超完备连接Gabor原子集D,即:

(6)

式中:λ为归一化参数;参数集γi={s,u,v,ω}用于描述原子的特性,其参数组构成了待稀疏分解信号的频谱特性。连续Gabor集使得其原子数远超离散化集,保证了原子集的冗余性,以及最优匹配原子对原信号结构特性的匹配程序。同时可以实时根据式(6)生成匹配原子,有效节省时间开销。

1.3 自适应MP稀疏分解目标函数

(7)

(8)

fs=‖f‖·J·gbest

(9)

式中:gbest为最优匹配的原子集。gbest对应的时频参数γbest={s,u,v,ω}反映了含噪信号的纯净声信号的特征。

1.4 自适应MP稀疏分解算法流程

根据上文描述,本文自适应粒子群优化MP稀疏分解算法的计算流程为:

1) 初始化改进粒子算法的相关参数,设置边界条件为[xmin,xmax]、[vmin,vmax],随机生成粒子的初始位置和速度,并计算适应度值f[xi(k)]。

2) 更新粒子的速度和位置,并根据边界值pbi、gbi进行越界限制:

(10)

式中:r(·)为在(0,1]间随机取值的随机函数;w为自适应取值的惯性因子。w取值过大会造成粒子过速而跳出迭代,而取值太小,又不利于算法收敛,为此在自适应取值基础上,进一步对惯性因子进行如下调节:

(11)

(12)

4) 由式(9)重构声信号,用于后续检测识别。

2 特征提取与声音事件识别

稀疏分解后,连续域最优匹配原子的时频特征较好的匹配原声信号结构特征[11],因而根据文献[12],采用伸缩因子与频率因子的均值u(sλ,vλ)和标准差σ(sλ,vλ)及ESMD排列熵[9]和MFCCs组成复合特征F(λ)={u(sλ,vλ),σ(sλ,vλ),FESMD(λ),FMFCCs(λ)},同时解决与分类结果紧密相关的多结点排列结构选择问题,采用以识别率最大值的二分SVM作为决策导向无环图根节点的改进SVM多分类扩展算法[13],在不增加计算量情况下以不同的决策方法处理不同数据,从而优化训练及最终决策精度。识别率定义为:

p=(U1/U)×100%

(13)

式中:U和U1分别表示评估样本总数和准确分类的样本数。

3 实 验

以Freesound[15]声音库中30种声信号及网站获得的玻璃破碎、爆炸等5种异常声音为实验数据,分析本文算法(简记为IAPSO-MP算法)的性能,噪声为雨天噪声和babble噪声。自适应粒子群算法的速度边界与位置边界分别为V=[5,5,π/100,π/100]和X=[N,N,π,2π],迭代次数为200,粒子维数为4。

3.1 自适应粒子群算法性能分析

经典PSO存在易陷入局部最优及“早熟”[5]问题,主要原因为在迭代收敛后期,种群中粒子的多样性极巨下降。以Schwefel函数[9]为性能分析实验用例,分析比较改进的参数自适应粒子群算法(IAPSO)与经典粒子群算法(PSO)在迭代收敛后期的粒子多样性,其粒子分布结果如图1所示。图中粒子分布所在时刻为算法未收敛但全局最优值为3 000。

(a) PSO粒子分布

(b) IAPSO算法粒子分布图图1 算法迭代后期粒子分布图

可以看出,在算法的迭代后期,IAPSO的粒子仍具有较高的多样分布,粒子散布较均匀,说明此时粒子仍具有强的进化性能。而经典PSO粒子分布较集中,多样性分布均匀性要比IAPSO差一些。更优的粒子多样性有利于全局最优解的搜索,从而验证IAPSO的性能更优。

3.2 改进算法的重构性能分析

为了验证本文改进算法IAPSO-MP的性能,随机取100组声样本,并与2种噪声以-5 dB信噪比进行混合,以稀疏分解并重构的信号与原始纯净声信号间的波形相似性为实验指标,分别测试算法在不同观测值下的重构性能,其结果如图2所示。可以看出,随着观测值的逐渐增大,IAPSO-MP的波形相似性变得高于PSO-MP,且表现出更好的稳定性,说明算法重构信号更接近原始纯净信号,从而验证算法较好的信号重构性能。

图2 算法在不同观测值下的重构性能

进一步以搜索次数、运行时间、均方误差(MSE)和信噪比(SNR)等为指标对重构信号进行评估,实验结果如表1所示,表中相关数据为多次实验后实验结果的平均值。

表1 算法重构性能比较

可以看出,IAPSO-MP算法的搜索数及运行时间明显低于经典算法,说明改进算法降低了计算量提高运算效率,主要因为连续集的使用使得每次迭代时最优匹配原子可以实时计算而无须在原子集中搜索,节省了时间开销。

3.3 算法声信号识别性能比较

以式(13)所示声信号的识别率为实验结果评价指标,以MPSVM[5]、APSO-MP[2]、S-CNN[8]、MPDBN[12]作为实验比较算法进行环境异常声信号识别性能比较实验:MPSVM算法对原始声信号进行PCA降维后提取MP稀疏分解时频特征,并采用SVM作为分类器;APSO-MP算法采用经典PSO改进MP分解,并采用多特征进行声信号识别;S-CNN算法基于改进的深度学习技术,以堆叠递减卷积核提取声信号局部特征,利用动态衰减学习率提高模型收敛速度;MPDBN算法提取MP稀疏分解最优原子的时频参数,并通过深度学习技术的深度置信网络(DBN)作为分类器。实验结果为不同噪声下20次实验结果的平均值,如图3所示。

图3 实验算法在不同噪声环境的声音识别率

可以看出,参与比较的算法在分段信噪比较高时,都取得较好的声信号识别率,说明基于MP稀疏分解提取声信号的时频特征对于声信号识别是有效的;MPSVM算法平均识别率较低,主要因为其数据聊维后,直接采用MP对信号进行分解并提取特征,特征对背景噪声的鲁棒性较低;深度学习S-CNN算法在不同信噪比下都下的识别率较稳定,但其要提高识别率,还需要借助其他特征;MPDBN算法识别率略低于本文算法,主要因为其参数对不同信噪比信号的适应性有待提高,但相比于仅用深度学习网络进行声识别的S-CNN算法,识别率有了大幅度提高;PSO-MP算法取得较好的识别率,说明基于粒子群改进MP稀疏分解并提取匹配原子的时频参数进行声信号识别是有效的,但识别率低于本文算法。在低信噪比和高信噪比下,本文算法都取得较好的平均识别率,说明其对环境噪声具有较好的识别鲁棒性。

4 结 语

针对公共环境中的异常声信号识别时存在的强背景噪声干扰及检测效率问题,本文提出自适MP稀疏分解的异常声信号识别算法。首先基于粒子和种群的进化率改进PSO参数的自适应设置,并构建新的目标函数,实现自适应MP稀疏分解,再以连续超完备集,提高最优原子与声信号的特征匹配度,最后采用SVM实现异常声信号的准确识别。实验结果表明,与已有算法相比,该算法取得最优的声音识别率,且具有较好的识别鲁棒性。

猜你喜欢
识别率原子粒子
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
原子究竟有多小?
原子可以结合吗?
带你认识原子
基于Matlab GUI的云粒子图像回放及特征值提取
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展