黃鴻鏗,李應
(福州大學 數(shù)學與計算機科學學院,福建 福州 350116)
動物聲音自動識別,對于動物物種、種群及數(shù)量研究,生態(tài)環(huán)境分析具有重要意義。目前,對動物聲音識別方法的研究有基于時間序列特征的動物聲音識別[1],通過各個音節(jié)延續(xù)的隱馬爾可夫模型的鳥類識別[2],通過聲音模式對鳥類分類[3]。此外,還有借助于經(jīng)典的基于文本數(shù)據(jù)庫查詢方法,采用基于索引的動物聲音檢索[4]以及在連續(xù)和真實的現(xiàn)場錄音中,識別特定的鳥類聲音[5]。我們也在近年的工作[6-7]中,通過自適應能量檢測進行鳥類聲音檢測;對聲譜圖提取灰度共生矩陣特征,并結(jié)合隨機森林(random forests,RF)[8]識別鳥類聲音。然而,對于自然環(huán)境下的各種低信噪比動物聲音的識別,還缺乏有效的方法。
關于低信噪比聲音信號的分析、分類和識別,近期的研究包括小波包過濾的低信噪比聲音事件識別[9];利用匹配追蹤 (matching pursuit,MP)算法從Gabor字典中選擇重要的原子,用主成分分析和線性判別分析確定聲音事件的特征,最后采用支持向量機(supported vector machine, SVM)分類器進行分類識別[10]。以聲譜圖及其相關的特征為基礎,Dennis等[11]提出基于聲譜圖進行偽著色并提取相關圖像特征的聲音事件識別方法。尤其,Dennis等[12]提出的子帶功率分布(subband power distribution, SPD)特征,在譜圖中將可靠的聲音事件與噪聲分開并去除不可靠區(qū)域,最后用最近鄰居分類器(k-nearest neighbor, kNN)對特征進行識別。這種方法能在信噪比低至0時,可以識別相關的聲音事件。然而,由于環(huán)境聲的多變性,對于自然環(huán)境中0以下各種低信噪比動物聲音及聲音事件,目前卻沒有更為有效的識別方法。
針對低信噪比動物聲音及聲音事件的識別,以聲譜圖投影特征結(jié)合RF的動物聲音識別方法[13]為基礎,該文提出一種Bark尺度的小波包分解系數(shù)重構(gòu)的頻譜投影(Bark scale Wavelet packet decomposition coefficient reconstructed spectral projection, BSP)特征。并通過結(jié)合短時譜估計、BSP特征和RF的方法識別各種聲音場景下的動物聲音。
基于BSP特征結(jié)合隨機森林(RF)的動物聲音識別的整體架構(gòu),如圖1所示。具體流程包括:首先,對動物聲音進行聲音增強;然后將增強后聲音信號進行Bark尺度的小波包分解并重構(gòu)分解系數(shù),把這些重構(gòu)通過短時傅里葉變換生成重構(gòu)信號頻譜;并對頻譜進行主成分分析,提取投影特征,即各個Bark頻率群的BSP;最后使用RF識別各個Bark頻率群的BSP。
圖 1 動物聲音識別的流程Fig. 1 The process of animal sound recognition
Bark是一種模擬人耳聽覺感知特性的非線性頻率尺度。小波包分析對信號的低頻和高頻部分同時進行分解,具有更強的頻帶劃分能力[14]。Bark尺度小波包分解是基于人耳Bark域頻率感知特性的小波包分解結(jié)構(gòu)。
人耳的Bark域在20 Hz~16 kHz的頻率范圍內(nèi)分為24個Bark頻率群[15]。Bark域頻率z和赫茲(Herz)域頻率f的轉(zhuǎn)換關系為
式中:Bark頻率群的帶寬在500 Hz以下時增加速度恒定,約100 Hz增加一個帶寬;在500~1 220 Hz帶寬呈線性增加;1 220 Hz以上,帶寬呈對數(shù)增加。根據(jù)小波包分析的特性,可以用小波包分析來逼近人耳的Bark譜。對于8 kHz采樣、頻率在4 kHz以下的大部分的動物聲音事件,用常規(guī)方法模擬1~17號Bark,可以得到圖2,每個子帶的中心頻率相差約為1 Bark的小波包分解結(jié)構(gòu)。對動物聲音識別的第一步,將按這個分解結(jié)構(gòu),對聲音信號進行小波包分解。并把這個小波包分解的17組系數(shù)用于下一步的投影特征提取。
聲音信號經(jīng)過小波包分解后,再對其相應的小波包分解系數(shù)重構(gòu)的頻譜進行主成分分析,得到BSP特征。對分解系數(shù)重構(gòu)的頻譜投影,即提取BSP特征的過程如下。
1)計算規(guī)范化的頻譜矩陣X。對小波包分解系數(shù)進行重構(gòu),并把重構(gòu)的信號進行短時傅里葉變換,得到重構(gòu)信號的頻譜。其中,t代表幀索引,,代表頻率索引,。 將第 t 幀,轉(zhuǎn)化為規(guī)范化的幀:
圖 2 聲音信號的Bark尺度小波包分解結(jié)構(gòu)Fig. 2 Wavelet packet decomposition of sound signal based on Bark scale
式中K值可以通過式(6)確定:
計算前K個特征值之和占全部特征值之和的比重來衡量。
我們對樣本聲音進行如圖2所示的Bark尺度的小波包分解,并得到為17個分解系數(shù)重構(gòu)的頻譜投影,即BSP特征,將作為RF訓練與識別的特征。
RF是一種利用多棵決策樹分類器來對數(shù)據(jù)進行判別的集成分類器算法[8],其輸出結(jié)果是由決策樹輸出的類標簽的數(shù)量而定。這里,將各個小波包結(jié)點分解生成的BSP特征結(jié)合RF分類器,對動物聲音樣本進行訓練和識別。其過程如圖3所示,通過自助重采樣技術(shù),從訓練樣本第個結(jié)點的BSP特征集{}中自助重采樣,生成新的個訓練樣本集。然后這個訓練樣本集,按照決策樹的構(gòu)建方法生長成顆決策樹,并組合在一起形成第i個森林。由這棵決策樹構(gòu)造出第i 個RF與第i個結(jié)點的BSP特征集相對應。每個BSP特征集都要生成一個RF,因此一共生成17個RF。
圖 3 隨機森林(RF)訓練與識別過程Fig. 3 The train and recognition process of random forests
RF對測試樣本的識別過程如下。首先,把測試樣本各個Bark頻率群生成的BSP特征分別放在相應RF的棵決策樹的根節(jié)點。根據(jù)決策樹判別規(guī)則向下傳遞直到?jīng)Q策樹的葉子節(jié)點。葉子節(jié)點對應的類標簽就是這棵決策樹對特征所屬類別所做的投票。根據(jù)17個子頻帶生成的RF中每棵決策樹的投票結(jié)果,統(tǒng)計17個RF中所有投票總和,其中獲得投票數(shù)最多的類標簽就是測試樣本對應類標簽l。
如表1所示,實驗使用的40種純凈動物叫聲來自Freesound[16]聲音數(shù)據(jù)庫,分成鳥類和哺乳類;4種環(huán)境聲音,為錄音棒錄制的環(huán)境背景聲音。每種聲音有30個樣本,實驗中隨機選取20個樣本作為訓練樣本,其余10個樣本作為測試樣本。對聲音文件統(tǒng)一處理,將其都轉(zhuǎn)換成:采樣率為8 kHz,量化精度為16 bits,單聲道,且長度為2 s左右wav格式的聲音片段。實驗對所有的聲音樣本歸一化處理并采用Hamming窗進行分幀。
表 1 聲音樣本集Table 1 Sound sample set
1) 幀
在短時傅里葉變換過程中,每幀幀長為32 ms,幀移為幀長一半。
2) 特征
小波包分解采用db2基函數(shù),頻譜投影參數(shù)K通過實驗確定。在對比實驗中,聲譜圖投影特征[17-18]的投影參數(shù)K取5;梅爾頻率倒譜系數(shù)(mel frequency cepstrum coefficient, MFCC),采用 24 階三角濾波器組,提取12維離散余弦變換系數(shù);冪歸一化倒譜系數(shù)(power normalized cepstrum coefficients, PNCC),采用32階的Gammatone濾波器,提取12維離散余弦變換系數(shù)。
3) 隨機森林(RF)分類器
其主要參數(shù)有兩個,一個是決策樹中非葉節(jié)點分裂時預選特征成分的數(shù)量,另一個是RF中決策樹的個數(shù)。綜合考慮該文實驗樣本數(shù)量和實驗結(jié)果,設定。利用RF進行3次識別,然后取均值作為最終結(jié)果。
通過純凈聲音的BSP結(jié)合隨機森林(RF)訓練和測試,確定BSP參數(shù)K。在實驗中,我們在沒有背景聲音的條件下確定BSP特征中K的選取,K代表投影矩陣中選取的前K個特征向量。如圖4所示,當時,隨著K的增加,測試樣本的識別率迅速增加,當時,隨著K的增加,測試樣本的識別率并無明顯提升。出于計算代價和性能表現(xiàn)的權(quán)衡,在下面實驗中,K取5。
圖 4 參數(shù)K與識別率Fig. 4 Parameter K and its recognition rate
使用維納濾波[19]、多頻帶譜減法[20]和短時譜估計法[21]對聲音進行增強處理,然后提取BSP特征,分別進行RF的識別率測試,并選出最有效的聲音增強算法。
為了減少同一聲音事件在不同信噪比及不同噪聲環(huán)境下,因增強處理帶來信號失真的差異,實驗中我們對純凈的訓練聲音樣本也都分別進行維納濾波、多頻帶譜減法和短時譜估計法的增強處理。對測試樣本,在分別添加信噪比為–10 dB、–5 dB、0 dB、5 dB和10 dB的4種環(huán)境聲后,再進行相應3種增強方法處理。在隨后的實驗中也采取這種方法。
實驗結(jié)果如圖5所示。結(jié)果表明,在信噪比為10 dB時,BSP結(jié)合RF具有80%以上的平均識別率。但在不同環(huán)境不同信噪比下,不做聲音增強處理的識別率,整體上低于3種聲音增強處理的識別率。說明3種聲音增強算法一定程度上都能消除背景聲音的影響。尤其,在低于0 dB的情況下,特別是低于–5 dB,3種聲音增強算法消除噪聲的作用最為明顯。從圖5 可以看出,嘈雜說話聲環(huán)境和流水聲環(huán)境在–5 dB以上信噪比時、風聲環(huán)境在5 dB及以上信噪比時,維納濾波的識別率逐漸低于不增強處理時的識別率。多頻帶譜減法和短時譜估計法,對4種環(huán)境各種信噪比下,則都保持較高的識別率。在不同環(huán)境聲不同信噪比的條件下,短時譜估計法有最佳的識別性能,因此在之后的實驗中采用短時譜估計增強方法對聲音信號進行加強。
圖 5 4種不同噪聲環(huán)境下不同增強處理方法的識別效果Fig. 5 Results of different enhancement process in four kinds of noisy environments
把BSP特征與SPD[12]、聲譜圖投影[17-18]、PNCC和MFCC等4種常用特征進行RF的訓練與識別實驗比較。
首先,無噪聲條件下的實驗,結(jié)果如表2所示。BSP、SPD、聲譜圖投影、PNCC和MFCC等5種特征對動物聲音的識別率都達到90%以上,其中,目前對聲音事件識別最有效的SPD,識別效果略好于該文的BSP。
表 2 無噪聲條件下不同方法的比較Table 2 Comparing different method in non-noise condition %
其次,在不同噪聲環(huán)境不同信噪比條件下的5種特征的平均識別率實驗結(jié)果如表3所示。利用流水聲、風聲、公路聲和嘈雜說話聲,模擬真實復雜環(huán)境噪聲。取信噪比–10 dB、–5 dB、0 dB、5 dB、10 dB和15 dB,分別與4種噪聲環(huán)境進行混合,用于RF訓練并測試5種不同特征提取的平均識別率。不同噪聲環(huán)境下的平均識別率如表3所示。從表3中可以看到,在不同環(huán)境不同信噪比條件下,BSP的平均識別率達到80.5%,比SPD、聲譜圖投影、PNCC和MFCC等4種特征分別高出11.4%、9.6%、17.1%和50.5%。
表 3 在不同噪聲環(huán)境下的平均識別率Table 3 Average accuracy in different noisy environments %
由于MFCC在低信噪比的識別率明顯低于其他4種特征,隨后,我們只比較其他4種特征的識別效果。圖6表示BSP、SPD、聲譜圖投影和PNCC等4種特征,在4種噪聲環(huán)境下,信噪比為–10 dB、–5 dB、0 dB和5 dB時的識別率。從圖中可以看出,在信噪比小于0 dB時,BSP特征的識別率明顯高于其他3種特征。
圖 6 4種噪聲環(huán)境下不同信噪比的識別率Fig. 6 Recognition rate of four kinds of features in four kinds of noisy environments
把該文提出BSP-RF與MP-SVM[10]、PC-SVM[11]和SPD-KNN[12]等聲音事件檢測識別的3種方法進行比較,結(jié)果如表4所示。從表4中可以看出,本文方法BSP-RF在低信噪比情況下的識別率,與文獻[10-12]中的方法相比有較大提高。BSP-RF在–10 dB的情況下,依然能夠保持平均60%以上的識別率,效果尤為明顯。其次,我們進行BSP結(jié)合SVM,BSP結(jié)合KNN的實驗。結(jié)果表明,對于BSP特征而言,采用RF對各種環(huán)境下不同信噪比動物聲音的識別效果優(yōu)于SVM與KNN。
表 4 6種方法的平均識別率Table 4 Average recognition rate of six kinds of methods %
從表4可以看出,RF的平均識別率高于KNN和SVM。特別是在–10 dB的情況下,分別比KNN和SVM高出20.9%、10.3%,說明RF比KNN、SVM更適用于BSP特征的分類識別。由于BSP特征把聲音信號分解成17個頻帶,每個頻帶只包含部分的聲音信息,用這些不完整的信息進行KNN分類會造成識別率的下降。KNN是基于距離的分類方法,某個特征維度之間的差異值過大可能很大程度上影響其他特征維度,同時KNN不能給出決策樹那樣的分類規(guī)則,所以BSP特征在KNN的分類效果低于RF。SVM適用于高維度、分類數(shù)目少、小樣本的分類識別,BSP的特征維度相對較小且實驗中包含40類動物聲音,所以文中方法不適合采用SVM進行分類。RF是基于決策樹的分類規(guī)則挖掘不同特征維度之間的關系,同時結(jié)合不同頻帶之間投票結(jié)果,可以提高BSP特征的分類精度,所以RF比KNN以及SVM更適用于BSP特征的分類。
為了分析環(huán)境聲音對動物聲音在各個Bark頻率群的影響,我們給出純凈的翠鳥聲音和加入信噪比為–10 dB背景聲音后各個Bark頻率群的能量分布。從圖7中可以看出各個Bark頻率群的能量的變化以及背景聲音對翠鳥聲音在各個Bark頻率群的影響。
圖 7 翠鳥的各個Bark頻率群的能量分布Fig. 7 The energy distribution of kingfisher in each Barkfrequency group
圖7(a)和(b)是翠鳥聲音經(jīng)過聲音增強前后的各個Bark頻率群的能量分布。從圖中可以看出背景聲音對Bark頻率群1~4,即低頻部分的影響比較大,對于高頻部分的影響相對比較小。經(jīng)過短時譜估計法聲音增強后,可以消除大部分背景聲音的影響,但影響依然存在。該文結(jié)合經(jīng)過Bark尺度小波包結(jié)構(gòu),把聲音信號分解成17個投影特征。這樣,可以有效地平衡背景聲音對部分Bark頻率群的影響,有利于識別率的提高。
1) Bark尺度的小波包分解的本質(zhì)
Bark尺度的小波包分解的本質(zhì),就是把聲音信號按人類聽覺敏感程度,對聲音信號進行頻帶劃分,再進行不同尺度的小波分析。動物聲音,即便在各種環(huán)境中,受到不同信噪比的環(huán)境聲音的干擾,只要人類聽覺能感知到,就意味著它存在不同于環(huán)境聲音的Bark頻率群。而本文提出的Bark尺度的小波包分解系數(shù)重構(gòu)頻譜投影,就是分離出這些相關頻率群頻譜的關鍵成分。這些Bark頻率群的頻譜,必然為每一種動物聲音的特色或獨有。用這些頻譜的投影,進行隨機森林(RF)的投票,必定是高分。而與那些與背影聲音同頻率群的成分,雖然在投票中難獲高分,但多個頻率群共同投票后,仍然能保持較高的得分優(yōu)勢。
2) 錯誤檢測的分析
表5給出加入–5 dB風聲后,16類容易出現(xiàn)錯誤檢測的情況(另外24類基本上能夠正確識別,限于空間,表5中未列出)。從表5可以看出,在–5 dB風聲下,第10類的測試樣本全部被錯誤檢測,其中有9個測試樣本錯分到第19類中;第24、28、38、39這4類測試樣本也都全部被錯誤檢測成第19類。同時,發(fā)現(xiàn)大部分被錯誤檢測的樣本,都被檢測成第19類。
表 5 加入–5 dB風聲噪聲測試樣本錯分情況Table 5 Wrong test samples’ condition in –5 dB wind noise
觀察圖8(a) 10類(鵜鶘)、(b) 19類(黃喉地鶯)和(c) 38類(綿羊)聲音分別在–5dB風聲下的聲譜圖,可以發(fā)現(xiàn)它們的相似之處。其中,低頻部分,即0~800 Hz部分相似度較高;3張聲譜圖在0.5 s之后,高低頻部分都很相近。也就是說,這3張頻譜圖,高低頻部分有80%左右是相近的。這就可能造成大部分Bark頻率群頻譜投影的相近或相等,從而造成了測試樣本的錯誤檢測。
從實驗結(jié)果進一步觀察到,在加入風聲噪聲的情況下,大部分錯分的樣本被錯分到第19類;在加入嘈雜說話聲時則大部分的樣本被錯分到第2類;在加入公路噪聲時則大部分的樣本被錯分到第39類。這說明測試樣本錯分的原因和加入噪聲的類型有關。
圖 8 3種不同動物在-5 dB風聲下的頻譜Fig. 8 Spectrums of three kinds of animal in -5 dB wind noise
但是,它們作為不同的動物的聲音,自然環(huán)境下,能被人類聽覺感知到,必然有區(qū)別于環(huán)境聲音的成分存在,即有不同于背景聲音的Bark頻率群存在。因此,根據(jù)該文方法的原理,這種差別可以通過小波包分解結(jié)構(gòu)及隨機森林投票策略的適當調(diào)整來識別。進而,本文提出的方法可以在各種背景聲音中,識別各種不同信噪比的動物聲音。
3) 更深層次的識別
對于非平穩(wěn)的環(huán)境及動物聲音,如在特定的背景聲音環(huán)境下,各種動物聲音混在一起,時強時弱等情況,有可能影響RF投票結(jié)果。對于這種情況,我們可以考慮幀一級的RF投票。如,聲音信號按32 ms分幀,只要動物聲音不是在32 ms內(nèi)同時發(fā)生,我們依然可以通過RF投票確定每一幀可能的動物聲音,并進一步來判斷出可能的多種的動物聲。這種情況下,這種方法甚至可以識別出人類很難識別的非平穩(wěn)及混合的各種動物聲音。
實驗表明,在–10 dB以上信噪比環(huán)境下,在未對聲音信號進行增強處理的情況下,該文提出的方法對于動物聲音識別有較好的效果。而短時譜估計聲音增強結(jié)合BSP特征與隨機森林的方法,不論是低信噪比還是高信噪比聲音環(huán)境,對各種環(huán)境中的動物聲音檢測都有較好的效果。
提出的方法能勝任于自然環(huán)境下各種低信噪比動物聲音識別的原因如下:1) 采用短時譜估計聲音增強算法,一定程度上抑制了環(huán)境聲音的影響。2) Bark尺度的小波包分解是基于人耳基底膜的工作原理,環(huán)境聲音對于不同Bark頻率群的影響是不一樣的,因此結(jié)合各個Bark頻率群的特征信息作為決策依據(jù),一定程度上能夠提高識別率。3) 采用多隨機森林決策的方法有效地消除了環(huán)境聲音對部分Bark頻率群特征的影響。
在后續(xù)的工作中,將結(jié)合深度學習相關方法,圍繞如何在多個聲音重疊的情況下實現(xiàn)各個聲音事件的檢測與識別做進一步的研究。