張一楊 姚明林
(唐山學院 河北 唐山 063000)
對公共場所的突發事件實時安全監控,有益于提高人民生活質量,而開始受到越來越高的重視,因此針對聲音事件的精確檢測和準確識別對輔助公共安全監控具有重要的研究意義[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算法實現事件事件的識別,實驗結果驗證了該算法的有效性和魯棒性。
設集合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稀疏分解過程中,則可以改善原子集離散化影響。
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)
粒子重組后與進化能力強的粒子一同進入迭代過程。重組策略既有效拓寬粒子的搜索范圍,增加粒子多樣性,又保證了算法的收斂速度和搜索精度。
超完備集中原子的信號特性與聲音事件信號特性相匹配是完成信號稀疏分解的關鍵,借助粒子群算法的連續空間搜索特性[14],本文采用改進Gabor函數計算式生成稀疏分解所需的超完備連接Gabor原子集D,即:
(6)
式中:λ為歸一化參數;參數集γi={s,u,v,ω}用于描述原子的特性,其參數組構成了待稀疏分解信號的頻譜特性。連續Gabor集使得其原子數遠超離散化集,保證了原子集的冗余性,以及最優匹配原子對原信號結構特性的匹配程序。同時可以實時根據式(6)生成匹配原子,有效節省時間開銷。

(7)

(8)
fs=‖f‖·J·gbest
(9)
式中:gbest為最優匹配的原子集。gbest對應的時頻參數γbest={s,u,v,ω}反映了含噪信號的純凈聲信號的特征。
根據上文描述,本文自適應粒子群優化MP稀疏分解算法的計算流程為:
1) 初始化改進粒子算法的相關參數,設置邊界條件為[xmin,xmax]、[vmin,vmax],隨機生成粒子的初始位置和速度,并計算適應度值f[xi(k)]。
2) 更新粒子的速度和位置,并根據邊界值pbi、gbi進行越界限制:
(10)
式中:r(·)為在(0,1]間隨機取值的隨機函數;w為自適應取值的慣性因子。w取值過大會造成粒子過速而跳出迭代,而取值太小,又不利于算法收斂,為此在自適應取值基礎上,進一步對慣性因子進行如下調節:
(11)

(12)
4) 由式(9)重構聲信號,用于后續檢測識別。
稀疏分解后,連續域最優匹配原子的時頻特征較好的匹配原聲信號結構特征[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分別表示評估樣本總數和準確分類的樣本數。
以Freesound[15]聲音庫中30種聲信號及網站獲得的玻璃破碎、爆炸等5種異常聲音為實驗數據,分析本文算法(簡記為IAPSO-MP算法)的性能,噪聲為雨天噪聲和babble噪聲。自適應粒子群算法的速度邊界與位置邊界分別為V=[5,5,π/100,π/100]和X=[N,N,π,2π],迭代次數為200,粒子維數為4。
經典PSO存在易陷入局部最優及“早熟”[5]問題,主要原因為在迭代收斂后期,種群中粒子的多樣性極巨下降。以Schwefel函數[9]為性能分析實驗用例,分析比較改進的參數自適應粒子群算法(IAPSO)與經典粒子群算法(PSO)在迭代收斂后期的粒子多樣性,其粒子分布結果如圖1所示。圖中粒子分布所在時刻為算法未收斂但全局最優值為3 000。

(a) PSO粒子分布

(b) IAPSO算法粒子分布圖圖1 算法迭代后期粒子分布圖
可以看出,在算法的迭代后期,IAPSO的粒子仍具有較高的多樣分布,粒子散布較均勻,說明此時粒子仍具有強的進化性能。而經典PSO粒子分布較集中,多樣性分布均勻性要比IAPSO差一些。更優的粒子多樣性有利于全局最優解的搜索,從而驗證IAPSO的性能更優。
為了驗證本文改進算法IAPSO-MP的性能,隨機取100組聲樣本,并與2種噪聲以-5 dB信噪比進行混合,以稀疏分解并重構的信號與原始純凈聲信號間的波形相似性為實驗指標,分別測試算法在不同觀測值下的重構性能,其結果如圖2所示。可以看出,隨著觀測值的逐漸增大,IAPSO-MP的波形相似性變得高于PSO-MP,且表現出更好的穩定性,說明算法重構信號更接近原始純凈信號,從而驗證算法較好的信號重構性能。

圖2 算法在不同觀測值下的重構性能
進一步以搜索次數、運行時間、均方誤差(MSE)和信噪比(SNR)等為指標對重構信號進行評估,實驗結果如表1所示,表中相關數據為多次實驗后實驗結果的平均值。

表1 算法重構性能比較
可以看出,IAPSO-MP算法的搜索數及運行時間明顯低于經典算法,說明改進算法降低了計算量提高運算效率,主要因為連續集的使用使得每次迭代時最優匹配原子可以實時計算而無須在原子集中搜索,節省了時間開銷。
以式(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稀疏分解并提取匹配原子的時頻參數進行聲信號識別是有效的,但識別率低于本文算法。在低信噪比和高信噪比下,本文算法都取得較好的平均識別率,說明其對環境噪聲具有較好的識別魯棒性。
針對公共環境中的異常聲信號識別時存在的強背景噪聲干擾及檢測效率問題,本文提出自適MP稀疏分解的異常聲信號識別算法。首先基于粒子和種群的進化率改進PSO參數的自適應設置,并構建新的目標函數,實現自適應MP稀疏分解,再以連續超完備集,提高最優原子與聲信號的特征匹配度,最后采用SVM實現異常聲信號的準確識別。實驗結果表明,與已有算法相比,該算法取得最優的聲音識別率,且具有較好的識別魯棒性。