陳 東, 黃智鵬
(華南理工大學機械與汽車工程學院,廣州 510640)
在日趨繁忙的城市交通中,由于駕駛員缺乏環(huán)境保護意識,在市區(qū)內(nèi)頻繁使用汽車喇叭,給居民的日常生活帶來了很大的困擾,尤其是相關(guān)重點區(qū)域,比如在學校、醫(yī)院與居民區(qū)周圍。因此交管和環(huán)境保護部門開始在這些路段、場所安裝違法鳴喇叭輔助執(zhí)法設(shè)備,該設(shè)備通過實時識別城市交通中汽車鳴喇叭事件的發(fā)生,將系統(tǒng)識別出的汽車違法鳴喇叭音視頻資料作為執(zhí)法的有效證據(jù)進行上傳。其中,準確高效地在城市交通噪聲里,識別出汽車鳴喇叭事件發(fā)生的方法十分重要。
目前,中國在汽車鳴喇叭識別這方面的研究主要有:蔣翠清等[1]提取音頻信號的梅爾頻率倒譜系數(shù)(Mel frequency cepstrum coefficient,MFCC)與自相關(guān)函數(shù)(auto-correlation function,ACF)方差組合成混合特征,使用高斯混合模型(gaussian mixture model,GMM)進行汽車喇叭聲的建模和識別,研究了城市道路的喇叭和非喇叭識別率;鄭皓等[2]利用深度神經(jīng)網(wǎng)絡(luò)的非線性建模能力和特征提取能力,提取多幀音頻信號的MFCC及一階、二階差分系數(shù),將其組合成特征向量塊作為(deep belief networks,DBN)網(wǎng)絡(luò)的輸入層,對10種不同汽車的喇叭聲樣本進行分類;張鐵成[3]采用BP(back propagation)神經(jīng)網(wǎng)絡(luò)作為喇叭和非喇叭聲音的二分類識別器,研究了MFCC及其一階差分系數(shù)和峰度、幾何算術(shù)平均值、子帶能量在不同組合條件下的識別效果,測試了汽車鳴喇叭聲在低信噪比條件下的識別率。這些研究都有使用語音識別領(lǐng)域中的MFCC特征提取技術(shù),但沒有根據(jù)汽車鳴喇叭聲的特點作進一步優(yōu)化,并且識別的情景區(qū)別比較大。
現(xiàn)基于MFCC和支持向量機提出一種汽車鳴喇叭識別方法。采用支持向量機(support vector machine,SVM)作為喇叭聲和交通噪聲的二分類器,從汽車喇叭聲的特點出發(fā),分析傳統(tǒng)MFCC特征中梅爾濾波器個數(shù)及特征維數(shù)對識別效果的影響。其中,以干凈的常見汽車喇叭聲和交通噪聲訓練SVM分類器模型,用兩者按不同信噪比隨機混合后的喇叭聲,驗證汽車鳴喇叭在不同背景及不同信噪比條件下的仿真識別效果,再用實際路況中帶有交通噪聲干擾的喇叭聲驗證模型的路測識別效果。
汽車喇叭是自激振蕩的電聲裝置,城市交通中常見的汽車喇叭主要有:盆狀電喇叭、蝸牛型電喇叭、蝸牛型氣喇叭以及筒狀氣喇叭,它們大多是電動驅(qū)動,靠鐵芯和膜片的聯(lián)系振動發(fā)聲[4]。這些喇叭又分高音和低音版本,高音與低音喇叭的基頻范圍一般為240~600 Hz。通常情況下,汽車會配置高音和低音兩個喇叭,也稱雙音喇叭,單音和三音的情況相對比較少。
交通噪聲一般指機動車輛在城市交通中行駛產(chǎn)生的噪聲。在此主要研究分析對環(huán)境要求較高的區(qū)域,如學校、醫(yī)院與居民區(qū)周圍的道路、紅綠燈路口的交通噪聲。這些交通噪聲包括汽車發(fā)動機聲、摩托車引擎聲、汽車輪胎路面噪聲、行人說話聲、自行車鈴鐺聲等。以下對汽車喇叭聲和交通噪聲中具有代表性的幾種聲音信號進行分析。
圖1(a)是城市道路采集的汽車發(fā)動機聲和行人說話聲時頻圖,圖1(b)是開闊區(qū)域采集的汽車靜止狀態(tài)下的蝸牛型雙音喇叭噪聲時頻圖。在圖1(a)中,汽車發(fā)動機聲信號范圍是0~0.75 s,行人說話聲信號范圍是0.75~1.5 s,在圖1(b)中,汽車鳴喇叭聲信號范圍是0.5~1.3 s,其余為背景噪聲。從圖1可以看出,語音信號隨時間變化得比較快,具有很強的瞬態(tài)特點,汽車發(fā)動機噪聲比語音信號平穩(wěn)很多,而與測量傳聲器相對靜止狀態(tài)下的被測汽車喇叭聲是穩(wěn)態(tài)信號,比前兩者更加平穩(wěn)。而由于運動聲源信號中廣泛存在多普勒效應(yīng)的影響[5],現(xiàn)主要研究在城市道路中與測量傳聲器相對靜止及速度較低條件下的汽車鳴喇叭聲,故仍將被測汽車喇叭聲視作穩(wěn)態(tài)信號。
圖2和圖3(a)分別是對應(yīng)于圖1中時間軸上A、B、C處,采樣時間為128 ms的頻譜圖。從圖2可以看出,汽車發(fā)動機噪聲的能量分布主要在中低頻部分,且包含了其運轉(zhuǎn)產(chǎn)生的基頻及其諧波波峰;語音信號的能量分布規(guī)律是由基頻及其倍頻形成的諧波波峰,也稱共振峰。從圖3中可以看出,汽車雙音喇叭的能量分布為其雙基頻及多次倍頻所形成的諧波波峰,相比于汽車發(fā)動機噪聲更加具有規(guī)律性,并且其分布的頻率范圍比語音信號寬,能量集中在中低頻部分。由于汽車喇叭結(jié)構(gòu)的不同,相同的基頻產(chǎn)生的諧波特征分布會有差別。汽車喇叭聲的諧波特征分布特點,可以在特征提取時給予突出。
圖1 汽車發(fā)動機、行人說話和汽車雙音喇叭的時頻圖Fig.1 Spectrogram of car engine, pedestrian talk and car dual tone honking
圖2 汽車發(fā)動機和行人說話聲的頻譜圖Fig.2 Spectrum of car engine and pedestrian talk
圖3 不同類型汽車喇叭聲的頻譜圖Fig.3 Spectrum of different types of car honking
汽車喇叭聲信號識別方法如圖4所示,主要包括將音頻信號數(shù)據(jù)轉(zhuǎn)換為特征向量的信號預(yù)處理和特征提取,以及對特征向量進行訓練、識別的SVM特征分類器。
圖4 汽車鳴喇叭聲識別方法的流程圖Fig.4 Flow chart of recognition method for car honking
預(yù)處理包括設(shè)置高通濾波器、歸一化處理、預(yù)加重、分幀以及添加窗函數(shù),其詳細過程如下:
(1)高通濾波器。根據(jù)汽車喇叭聲基頻一般大于200 Hz的特點,設(shè)置一個200 Hz的高通數(shù)字濾波器,可以濾除大部分道路背景下的低頻噪聲,保證汽車喇叭聲的絕大部分能量得以保留,從而提升低信噪比條件下的識別效果。
(2)歸一化處理。歸一化處理的目的是為了消除實驗數(shù)據(jù)中不同音頻樣本的音強差別,將音頻樣本的幅值限制在[-1,1]。
(3)預(yù)加重。音頻信號的預(yù)加重是使其通過一個高通濾波器,以損失部分低頻能量來彌補其在高頻部分的能量分布,用FIR(finite impulse response)濾波器表示為
X(n)=x(n)-αx(n-1)
(1)
式(1)中:α通常介于0.9~1.0;x(n)為原始信號序列;X(n)為預(yù)加重后的信號序列。
(4)分幀。由于采集的音頻信號是非平穩(wěn)信號,不能用處理平穩(wěn)信號的方法直接對其進行信號處理和分析,但在10~30 ms的短時間內(nèi),其特性可以看作是穩(wěn)態(tài)過程[6]。因此,可以將采集到的數(shù)據(jù)按一定的時間長度分成單幀數(shù)據(jù)塊,并在相鄰幀之間設(shè)置一定的重疊,以保證相鄰幀之間參數(shù)過渡的平穩(wěn)性。經(jīng)過多次實驗對比,選擇64 ms幀長,相鄰幀之間的重疊為50%。
(5)加窗。加窗函數(shù)的主要目的是為了減少信號在頻譜中的泄漏,常用的窗函數(shù)有矩形窗、漢寧窗、漢明窗和布萊克曼窗,在此選用的窗函數(shù)為漢明窗[7]。
MFCC特征提取技術(shù)是在倒譜技術(shù)上依據(jù)人耳的感知特性進行改進而提出的一種特征提取算法,它的穩(wěn)定性與高識別率使得其在語音識別領(lǐng)域得到了廣泛應(yīng)用[8]。其最大特點是將信號從線性頻域轉(zhuǎn)換到梅爾域,梅爾頻率fMel和線性頻率f之間的轉(zhuǎn)換關(guān)系為
(2)
汽車喇叭主要是針對人聽覺開發(fā)的,其能量分布也主要在中低頻,使用MFCC特征提取技術(shù)可以很好的突出其信號特征。其詳細提取過程如下:
設(shè)經(jīng)過預(yù)處理后的信號為Xi(n),i為幀數(shù)。
(1)快速傅里葉變換及譜線能量。使用快速傅里葉變換可以將信號幀從時域轉(zhuǎn)換到頻域,進一步平方可求得其譜線能量,計算公式為
(3)
式(3)中:N表示傅里葉變換的點數(shù)。
(2)梅爾濾波器及對數(shù)能量。使用梅爾域的三角濾波器組對譜線能量加權(quán),再求對數(shù)能量,計算公式為
(4)
式(4)中:Hm(k)為三角濾波器函數(shù);M表示三角濾波器的個數(shù)。由于MFCC的出現(xiàn)主要是針對語音信息的特征提取,傳統(tǒng)MFCC的三角濾波器個數(shù)取 22~26。在此,為研究不同維數(shù)的MFCC特征對汽車鳴喇叭聲識別效果的影響,使三角濾波器的個數(shù)為MFCC維數(shù)的2倍。
(3)離散余弦變換。采用的一維離散余弦變換(discrete cosine transform, DCT)公式[9]為
n=1,2,…,L
(5)
式(5)中:n為MFCC的維數(shù)。由于在本文中使用三角濾波器的個數(shù)為MFCC維數(shù)的2倍,所以L=M/2。
當前的分類識別算法有很多,具有代表性的有壓縮感知、神經(jīng)網(wǎng)絡(luò)、稀疏表示分類及SVM算法等,各具特點,各有不足[10]。在小樣本聲音分類識別中,支持向量機具有較高的效率和識別率,并能巧妙的解決高維數(shù),非線性,局部極小等實際問題。文中采用SVM算法作為分類算法,使用臺灣大學林志仁等開發(fā)的LibSVM工具箱,在MATLAB軟件環(huán)境下處理城市道路中汽車鳴喇叭和道路噪聲的二分類問題。
使用SVM分類器時,核函數(shù)的選擇直接決定特征空間的結(jié)構(gòu),影響分類結(jié)果[11],常用的核函數(shù)有線性核函數(shù)、多項式核函數(shù)、RBF(radial basis function)核函數(shù)以及Sigmoid核函數(shù)。為提高分類結(jié)果準確率,還可以使用網(wǎng)格搜索法對懲罰函數(shù)c和核函數(shù)參數(shù)g進行優(yōu)化[12]。經(jīng)過多次實驗測試,常用的RBF核函數(shù)對汽車喇叭聲識別效果最好,而懲罰函數(shù)c和核函數(shù)參數(shù)g按經(jīng)驗選取。
實驗所處環(huán)境均為筆記本的Windows 7操作系統(tǒng),CPU為i7-3720 QM,主頻2.6 GHz,內(nèi)存為8 GB,實驗所用軟件主要是MATIAB R2017a。本實驗包括兩部分:仿真實驗和實測實驗。
3.1.1 仿真實驗數(shù)據(jù)
汽車喇叭聲主要來源于網(wǎng)絡(luò),交通噪聲來源于道路路口采集。將兩者的樣本導入Adobe Audition軟件后,通過反復(fù)試聽截取發(fā)聲較好,且波形較為飽和的音頻樣本,選擇采樣率16 kHz保存作為后續(xù)實驗數(shù)據(jù)。其中,汽車喇叭聲包括盆型電喇叭、蝸牛型電喇叭、筒型氣喇叭等,共50個樣本,單個樣本時長2 s左右,總時長100 s。交通噪聲包括汽車發(fā)動機、摩托車引擎聲、汽車輪胎路面噪聲、行人對話、等其他噪聲,共50個樣本,單個樣本時長2.5 s左右,總時長124 s。
將50個喇叭聲樣本和50個交通噪聲樣本分別按單個樣本進行均分,得到相對獨立的A、B兩組數(shù)據(jù)。將A組中的80%數(shù)據(jù)作為訓練集導入SVM分類器中訓練分類器模型,剩余的20%作為驗證集驗證分類器模型。
信號去噪的基本思路為:首先,采用閾值法對每個IMF進行處理;其次,對處理后的IMF和RV進行信號疊加,得到去噪信號。閾值去噪法包括硬閾值去噪法和軟閾值去噪法,硬閾值方法可以很好地保留圖像邊緣等局部特性,而軟閾值處理可以使圖像邊緣更加平和。結(jié)合電壓互感器量測數(shù)據(jù)及其在所提方法的應(yīng)用特點,采用軟閾值去噪法,具體步驟如下:
將B組中的50個交通噪聲樣本按式(6)信噪比的準則[11],隨機添加至50個喇叭聲樣本中,獲得信噪比分別為:0、5、10、15、20、25、30 dB條件下的喇叭聲樣本組C,喇叭聲樣本在不同信噪比(signal noise ratio, SNR)下添加的噪聲一致。
(6)
式(6)中:Ps為信號的有效功率,kW;Pn為噪聲的有效功率,kW。其中,將圖1(a)中的汽車發(fā)動機噪聲和行人對話聲以信噪比為0混合到圖1(b)中的汽車雙音喇叭噪聲后的時頻圖如圖5所示。
3.1.2 實測實驗數(shù)據(jù)
在城市道路路口采集了帶有交通噪聲干擾的汽車喇叭聲樣本60個,交通噪聲樣本30個,選擇采樣率16 kHz保存作為實驗數(shù)據(jù)D組。
綜上,實驗數(shù)據(jù)分組如表1所示。將上述數(shù)據(jù)按幀長為2 048個樣點,幀移為1 024個樣點,以本文的方法提取特征向量。然后,以A組數(shù)據(jù)訓練SVM分類器模型,B組數(shù)據(jù)測試分別獲得模型的喇叭聲和非喇叭聲識別效果,C組數(shù)據(jù)測試獲得喇叭聲在不同信噪比和背景條件下的識別效果,D組數(shù)據(jù)測試分別獲得實測條件下的喇叭聲和非喇叭聲識別效果。按上述進行5次實驗,求其平均結(jié)果。
以誤報率(false alarm rate,F(xiàn)AR)、漏報率(missed alarm rate,MAR)、不同信噪比條件下的識別率及其平均識別率作為評價指標。FAR是指系統(tǒng)將交通噪聲幀識別成喇叭聲幀占交通噪聲總幀數(shù)的比率;MAR是指系統(tǒng)將喇叭聲幀識別成交通噪聲幀占喇叭聲總幀數(shù)的比率。其中,汽車鳴喇叭聲識別的準確率A與漏報率的關(guān)系為
A=1-MAR
(7)
圖6為識別率隨MFCC維數(shù)的變化。從圖6可以看出,B組仿真數(shù)據(jù)的漏報率全為0,意味著系統(tǒng)能將喇叭聲全部識別出來。這一方面是因為干凈喇叭聲和交通噪聲的MFCC特征區(qū)別比較大,另外一方面是因為系統(tǒng)分類器模型是由A組數(shù)據(jù)訓練獲得,而B組與A組數(shù)據(jù)相似程度比較高導致。
圖6 識別率隨MFCC維數(shù)的變化Fig.6 Change of recognition rate with MFCC dimension
D組數(shù)據(jù)為城市道路采集的帶交通噪聲干擾的汽車鳴喇叭聲。其漏報率隨著MFCC維數(shù)的增加,呈下降趨勢,說明通過增加梅爾濾波器組的個數(shù)可以使識別喇叭聲的準確率上升。但同時,兩組數(shù)據(jù)的誤報率也都在逐漸上升,使得B組仿真數(shù)據(jù)在10維MFCC處達到最佳鳴笛識別效果,其準確率為100%;D組實測數(shù)據(jù)在31維處達到最佳鳴笛識別效果,其準確率為89%。說明由干凈汽車喇叭聲訓練的SVM分類器模型能夠識別實際道路上的喇叭噪聲,但其準確率沒有仿真數(shù)據(jù)高,除了因為噪聲干擾比較嚴重,還由于喇叭聲的模型庫和實際道路上的車輛鳴笛聲模型庫有所差距導致。
圖7是汽車喇叭聲在不同背景干擾及不同信噪比條件下的仿真識別效果。從圖7可以看出,隨著喇叭聲信噪比的降低,汽車鳴喇叭聲的識別率均有所下降,MFCC 特征取低維數(shù)時的下降最明顯,MFCC特征提升維數(shù)后沒有出現(xiàn)識別率驟降的情況。結(jié)合圖6發(fā)現(xiàn),信噪比為0時的識別率提升了約50%的同時,其誤報率也提升了約8%。說明梅爾濾波器組個數(shù)的增加在改善低信噪比識別率的同時也在加大背景噪聲識別成喇叭聲的概率。當信噪比在10 dB以上時,B組仿真數(shù)據(jù)中的喇叭噪聲基本都能完全識別出來。
圖7 識別率隨信噪比和MFCC維數(shù)的變化Fig.7 Change of recognition rate with SNR and MFCC dimension
(1)針對汽車喇叭聲的諧波特征分布特點,提取了基于不同濾波器個數(shù)下的不同維數(shù)MFCC特征。以干凈的汽車喇叭聲和交通噪聲訓練SVM分類器模型,用兩者按不同信噪比隨機混合后的喇叭聲,驗證了汽車鳴喇叭在不同背景及不同信噪比條件下的仿真識別效果;再用實際路況中帶有交通噪聲干擾的喇叭聲驗證了分類器模型的有效性。
(2)通過增加MFCC特征中梅爾濾波器個數(shù)及特征維數(shù)可以有效提升識別效果,信噪比越低越明顯。盡管這樣會同時增加背景噪聲被識別成喇叭聲的概率,但是可以通過控制其大小以獲得最佳識別效果。如本文中的仿真數(shù)據(jù)在10維MFCC處達到最佳鳴笛識別效果,其準確率為100%;實測數(shù)據(jù)在31維處達到最佳鳴笛識別效果,其準確率為89%。在違法鳴笛輔助執(zhí)法設(shè)備中,汽車鳴喇叭聲識別還需結(jié)合笛聲定位和車牌識別才能實現(xiàn)完整的違法鳴笛抓拍,所以提升鳴喇叭聲識別的準確率有利于該設(shè)備的運行。
綜上所述,提出的識別方法簡單有效,可以給違法鳴喇叭輔助執(zhí)法設(shè)備的實時、高效、準確識別提供有力支撐。