毛 峽,張旭東,陳立江
(北京航空航天大學(xué) 電子信息工程學(xué)院,北京 100191)
尖叫聲識(shí)別在現(xiàn)代智能監(jiān)控系統(tǒng)的研究中具有重大意義,它能為保護(hù)居民生命安全,減少犯罪率提供有力保障.現(xiàn)代主要的監(jiān)控系統(tǒng)多為視頻監(jiān)控系統(tǒng).視頻監(jiān)控系統(tǒng)極容易受到光線環(huán)境的影響,很難在夜晚發(fā)揮應(yīng)有的作用.監(jiān)控的及時(shí)性很大程度上取決于監(jiān)控人員,在監(jiān)控人員高度疲勞或者注意力不集中的情況下,視頻監(jiān)控中的危險(xiǎn)細(xì)節(jié)很容易被遺漏.此外,視頻監(jiān)控存在著不可避免的盲區(qū)問題,一個(gè)傳統(tǒng)的視頻監(jiān)控系統(tǒng)無法捕捉在視線盲區(qū)內(nèi)的任何信息.而音頻監(jiān)控能夠有效地克服視頻監(jiān)控中存在的各種先天問題,具有較高的魯棒性.在發(fā)生突發(fā)事件時(shí),驚慌失措的人群往往使得視頻信息變得晦澀、雜亂以及不穩(wěn)定,與之相反,此時(shí)音頻信息往往更值得信賴[1].此外,音頻識(shí)別系統(tǒng)還可以輔助視頻自動(dòng)監(jiān)控系統(tǒng),使得監(jiān)控系統(tǒng)更好地理解監(jiān)控環(huán)境中發(fā)生的異常事件,從而做出更加及時(shí)與準(zhǔn)確的反映[2].
目前,國內(nèi)外學(xué)者針對(duì)尖叫聲識(shí)別進(jìn)行了研究.在文獻(xiàn)[3]中,作者使用梅爾頻率倒譜系數(shù)(Mel Frequency Cepstrum Coefficient, MFCC)、短時(shí)能量、短時(shí)過零率作為特征,使用隱馬爾可夫模型(Hidden Markov Model, HMM)來檢測(cè)電影中尖叫聲片段,達(dá)到的平均準(zhǔn)確率高于97%.在文獻(xiàn)[4]中,作者訓(xùn)練了支持向量機(jī)(Support Vector Machine, SVM)以及一個(gè)高斯混合模型(Gaussian Mixture Model, GMM),對(duì)尖叫、哭喊、玻璃碎裂聲等聲音進(jìn)行分類,系統(tǒng)所達(dá)到的性能是檢測(cè)概率96.5%,虛警概率23%.在文獻(xiàn)[5]中,作者借鑒深度學(xué)習(xí)(Deep Learning, DP)的方法,利用深度波爾茲曼機(jī)對(duì)尖叫聲進(jìn)行檢測(cè);在文獻(xiàn)[6-7]中,作者提出的系統(tǒng)能夠區(qū)分講話、哭喊以及像玻璃破碎和水灑出來之類的事件.在文獻(xiàn)[8]中,作者使用兩個(gè)串聯(lián)的SVM分類器: 第一個(gè)分類器使用多組一對(duì)一分類器對(duì)環(huán)境噪聲進(jìn)行排除;第二個(gè)分類器使用一個(gè)一對(duì)多的分類器進(jìn)行危險(xiǎn)信號(hào)識(shí)別.該方法在20dB的信噪比(Signal Noise Ratio, SNR)下達(dá)到的檢測(cè)概率為93.16%,虛警概率4.76%;0dB下達(dá)到的檢測(cè)概率為84.13%,虛警概率為4.13%.文獻(xiàn)[9]使用深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN)從環(huán)境噪聲中識(shí)別出槍聲及尖叫聲,準(zhǔn)確度為93.8%.文獻(xiàn)[10]使用混合時(shí)間軌跡方法對(duì)地鐵站內(nèi)的異常音頻事件進(jìn)行檢測(cè),在20dB的信噪比下F值達(dá)到了92.03.
為了解決目前國內(nèi)外研究在尖叫聲識(shí)別領(lǐng)域中存在的問題,本文對(duì)幾種不同的尖叫聲識(shí)別算法進(jìn)行了改進(jìn),并對(duì)改進(jìn)后的算法進(jìn)行了系統(tǒng)地比較,然后討論了尖叫聲識(shí)別算法在硬件上的具體實(shí)現(xiàn)細(xì)節(jié).
考慮到尖叫聲所特有的聲音特質(zhì)(聲譜往往在尖叫聲起始和結(jié)束時(shí)變化明顯),本文除采用傳統(tǒng)特征如梅爾頻率倒譜系數(shù)(MFCC)[11]、頻譜特征[12-13],還使用了梅爾頻率倒譜系數(shù)變化率作為一種改進(jìn)特征:
(1)
式中:c(n)代表當(dāng)前幀的第n階MFCC;cprevious代表前一幀的第n階MFCC;cvariance代表了MFCC相對(duì)變化率.式(1)的分子部分反映了MFCC變化值的平方和,分母部分則表示相對(duì)變化的概念.圖1,圖2展示了兩種不同音頻的MFCC變化率cvariance隨樣本幀序號(hào)i的變化規(guī)律.對(duì)比圖1與圖2可知,尖叫聲樣本MFCC變化率在整個(gè)發(fā)生過程中取值較小(大部分取值在0.15以下)且中間部分變化平穩(wěn);相反,對(duì)話聲樣本MFCC變化率在發(fā)聲過程中取值較大(大部分取值在0.15以上,且部分取值達(dá)到0.5以上)且變化劇烈.
圖1 尖叫聲樣本MFCC變化率Fig.1 MFCC variance of a scream sample
圖2 說話聲樣本MFCC變化率Fig.2 MFCC variance of a conversation sample
1.2.1 基于改進(jìn)HMM與矢量量化的識(shí)別算法
使用傳統(tǒng)的基于HMM與矢量量化的方法進(jìn)行識(shí)別時(shí),往往選取其中HMM輸出的對(duì)數(shù)概率最大者的類別號(hào)作為測(cè)試樣本類別號(hào),即:
(2)
式中:Pi代表樣本屬于i類的概率.此算法實(shí)驗(yàn)效果較差,這是因?yàn)檫@分類器過于“嚴(yán)格”.因此本文對(duì)HMM的識(shí)別方法做了一些改進(jìn).
首先,算法將對(duì)數(shù)概率ln(Pi)進(jìn)行降序排序,得到一個(gè)按元素大小排列的向量:
(3)
設(shè)定兩個(gè)閾值(R,dT).識(shí)別算法可描述為,判定測(cè)試樣本為尖叫聲(類別號(hào)為1),當(dāng)且僅當(dāng)下列兩個(gè)條件滿足:
(4)
式中:N為該樣本所對(duì)應(yīng)序列長度.這可簡單描述為: 樣本為尖叫聲的對(duì)數(shù)概率的值lnP1要排在所有類別對(duì)數(shù)概率降序排列后的前R位,且其隱含的幀平均概率要大于等于dT.之所以強(qiáng)調(diào)幀平均概率,是因?yàn)闈M足相同概率分布的序列,長度越長,則它出現(xiàn)概率的期望將越低.傳統(tǒng)識(shí)別方法對(duì)應(yīng)的閾值為(1,+∞),為改進(jìn)算法的一個(gè)特例.
1.2.2 基于SVM與靜態(tài)特征的識(shí)別算法(SVM-S)
因?yàn)镾VM并沒有上下文相關(guān)的結(jié)構(gòu),所以在使用SVM對(duì)音頻信號(hào)進(jìn)行分類時(shí),可以采用取所有幀特征的統(tǒng)計(jì)值作為新特征的方法.該統(tǒng)計(jì)特征通常稱作靜態(tài)特征.統(tǒng)計(jì)特征通常選取均值、均方差、順序統(tǒng)計(jì)量、差分的均值和方差等.本文中選取均值和方差作為統(tǒng)計(jì)特征,即:
(5)
1.2.3 基于SVM與碼字直方圖的識(shí)別算法(SVM-H)
SVM方法存在著無法反映音頻信號(hào)時(shí)間結(jié)構(gòu)的問題.因此,本節(jié)將采用直方圖技術(shù)來分析音頻信號(hào)碼字的組成成分,并以此作為特征向量,使用SVM對(duì)其進(jìn)行分類.
矢量量化將特征向量序列映射到正整數(shù)序列:
因此直方圖向量可表示為:
(6)
(7)
圖3和圖4分別展示了尖叫聲集合和對(duì)話集合上的直方圖向量的平均值.從圖中可以看出,尖叫聲的碼字出現(xiàn)的較為單一,而對(duì)話相對(duì)分布比較廣泛.
圖3 尖叫聲樣本碼字直方圖Fig.3 Code words histogram of a scream sample
圖4 說話聲樣本碼字直方圖Fig.4 Code words histogram of a conversation sample
本文使用部分MIVIA實(shí)驗(yàn)室[14-15]的音頻數(shù)據(jù)(使用Axis T83全方向麥克風(fēng)獲取)以及部分電影音頻剪輯作為數(shù)據(jù)源,總共583條音頻,其中包含了尖叫聲、動(dòng)物聲音、咳嗽、笑聲、音樂、對(duì)話6類聲音.所有音頻的采樣率為32kHz,分辨率為16bit,絕大部分時(shí)長在0~3s之間.在算法訓(xùn)練和調(diào)優(yōu)中,使用408條作為訓(xùn)練集合,60條作為未開發(fā)集合,115條作為測(cè)試集合.
本文使用一部電影的音頻作為噪聲源來模擬真實(shí)情況下的噪聲,其中包含了對(duì)話、音樂等不同種類的聲音,本文稱待添加噪聲的測(cè)試樣本為目標(biāo)樣本.首先本文從電影音頻中剪輯若干個(gè)有聲片段;在需要添加噪聲時(shí),程序?qū)㈦S機(jī)選擇一段剪輯,并隨機(jī)選擇剪輯中與目標(biāo)樣本等長的一段聲音作為環(huán)境噪聲;如果該剪輯長度小于目標(biāo)樣本的長度,將剪輯復(fù)制并添加到剪輯尾部來進(jìn)行長度擴(kuò)展.之后以固定20dB的信噪比向環(huán)境噪聲中添加高斯白噪聲.最后將這段環(huán)境噪聲以指定的信噪比(0,20,40dB)加入到測(cè)試樣本中.
圖5,圖6給出了4種特征集合在不同信噪比環(huán)境下的ROC(Receiver Operating Characteristic)曲線,其中藍(lán)色、紅色、黃色、紫色分別代表以“MFCC+頻譜特征+MFCC變化率”、“MFCC+MFCC變化率”、“MFCC+頻譜特征”、“頻譜特征”作為特征集合時(shí)的ROC曲線.圖中,縱坐標(biāo)為檢測(cè)概率(Detection Rate, DR),橫坐標(biāo)為虛警概率(False Alarm Rate, FAR).一般來說,曲線越靠近左上方,分類器性能越好.
圖5 SNR為20dB時(shí)不同特征集合的ROC曲線Fig.5 ROC for different feature sets in 20dB SNR
圖6 SNR為0dB時(shí)不同特征集合的ROC曲線Fig.6 ROC for different feature sets in 0dB SNR
從圖5,圖6可以看出當(dāng)信噪比為20dB時(shí),ROC曲線仍處于圖中的右上方,因此,這些特征對(duì)噪聲并不敏感.只有當(dāng)信噪比很低時(shí),例如0dB,ROC曲線才會(huì)明顯地向右下方移動(dòng),說明算法對(duì)噪聲的抗干擾能力較強(qiáng).
另一方面,當(dāng)算法使用“MFCC+頻譜特征+MFCC變化率”作為特征時(shí)效果最好,而“MFCC+MFCC變化率”和“MFCC+頻譜特征”效果差別不大.MFCC變化率只利用到了MFCC,沒有其他更多的運(yùn)算.但是計(jì)算頻譜特征需要更多的計(jì)算,并且它包含3個(gè)單獨(dú)的特征分量.
鑒于“MFCC+頻譜特征+MFCC變化率”的ROC曲線總是分布在其他特征的ROC曲線的左上方,最終算法選取“MFCC+頻譜特征+MFCC變化率”作為特征.
圖7,圖8給出了3種尖叫聲識(shí)別算法在不同信噪比下的ROC曲線.在信噪比為20dB時(shí),分類器的識(shí)別性能相差不大,但是在較低的信噪比環(huán)境中(SNR為0dB),使用矢量量化后的特征的分類器性能會(huì)大大下降.因此,本文選擇SVM-S算法來實(shí)現(xiàn)尖叫聲識(shí)別系統(tǒng).
圖7 SNR為20dB時(shí)3種算法的ROC曲線Fig.7 ROC for three algorithms in 20dB SNR
圖8 SNR為0dB時(shí)3種算法的ROC曲線Fig.8 ROC for three algorithms in 0dB SNR
整個(gè)尖叫聲識(shí)別系統(tǒng)分為硬件和軟件兩部分,鑒于它們各自不同的特點(diǎn),本節(jié)將從硬件和軟件兩部分來介紹整個(gè)系統(tǒng)框架.圖9展示了整個(gè)系統(tǒng)硬件的模塊圖.首先麥克風(fēng)將空氣中的振動(dòng)信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào);然后,UDA1341TS對(duì)原始的電信號(hào)進(jìn)行放大、濾波;之后,該芯片將通過模數(shù)轉(zhuǎn)換將模擬信號(hào)轉(zhuǎn)變?yōu)镻CM數(shù)據(jù);這些數(shù)據(jù)將在DMA控制器的協(xié)調(diào)下通過IIS接口,存儲(chǔ)到RAM中;待需要時(shí),這些數(shù)據(jù)將被送到CPU中進(jìn)行運(yùn)算,從而識(shí)別;最后,CPU將輸出識(shí)別信號(hào).在本文中,識(shí)別信號(hào)通過LED周期性地的亮滅來表示.
圖9 系統(tǒng)硬件模塊Fig.9 Hardware modules in the designed system
圖10展示了系統(tǒng)軟件流程圖.首先系統(tǒng)上電后完成必要的寄存器初始化工作;然后,主程序?qū)⒄?qǐng)求DMA(圖10中虛線代表請(qǐng)求DMA,DMA工作不需要CPU參與,一旦DMA完成工作,將一幀信號(hào)送入內(nèi)存,CPU將會(huì)進(jìn)入中斷處理程序),通過IIS接口獲取音頻數(shù)據(jù)并將其存入內(nèi)存中.主程序通過識(shí)別標(biāo)志監(jiān)視DMA中斷處理程序的進(jìn)程;在DMA中斷處理中,程序?qū)z查每一幀的能量,并根據(jù)能量來決定狀態(tài)機(jī)的狀態(tài)變化,標(biāo)定音頻信號(hào)的起始點(diǎn)和終止點(diǎn);一旦能量條件滿足,中斷處理程序?qū)⑼ㄟ^激活識(shí)別標(biāo)志來通知主程序進(jìn)行識(shí)別;當(dāng)音頻信號(hào)結(jié)束后,將暫時(shí)停止DMA請(qǐng)求;主程序發(fā)現(xiàn)識(shí)別標(biāo)志被激活后,將對(duì)音頻數(shù)據(jù)進(jìn)行特征提取和識(shí)別,并輸出識(shí)別信號(hào);最后,主程序?qū)⒅匦抡?qǐng)求DMA,進(jìn)入到下一個(gè)流程循環(huán).
圖10 系統(tǒng)軟件流程Fig.10 Programming flowchart for the designed system
在ARM9尖叫聲識(shí)別系統(tǒng)中,音頻傳輸是協(xié)調(diào)音頻采集與音頻識(shí)別的關(guān)鍵.音頻傳輸采用IIS總線接口,它參與了圖9中DMAC控制器協(xié)調(diào)下的音頻傳輸過程.整個(gè)接口模塊如圖11所示,模數(shù)轉(zhuǎn)化后的串行數(shù)據(jù)首先經(jīng)過移位寄存器,在通道發(fā)生器和狀態(tài)機(jī)的控制下進(jìn)入一個(gè)FIFO中,F(xiàn)IFO的狀態(tài)可以通過一個(gè)寄存器組和狀態(tài)機(jī)進(jìn)行查詢和控制,DMAC利用該寄存器組完成從FIFO中讀取數(shù)據(jù),并將其存入RAM的工作.
圖11 IIS接口模塊圖Fig.11 IIS interface module
在整個(gè)任務(wù)的軟件編程中,通過對(duì)寄存器組和狀態(tài)機(jī)寫入控制字來對(duì)IIS模塊進(jìn)行控制.首先需要對(duì)兩個(gè)分頻器進(jìn)行配置,使其能正確產(chǎn)生使得IIS以及UDA1341TS工作的時(shí)鐘.分頻比必須準(zhǔn)確,否則可能會(huì)導(dǎo)致音頻采樣率不準(zhǔn).之后選擇IIS的發(fā)送接收模式為DMA.當(dāng)請(qǐng)求DMA時(shí),DMA控制器將自動(dòng)從IIS模塊取音頻數(shù)據(jù),不需要CPU干預(yù).
本文最終在測(cè)試集合中選取115條音頻(測(cè)試集中所有樣本)進(jìn)行硬件測(cè)試,系統(tǒng)采用的特征為“MFCC+MFCC變化率+頻譜特征”,采用的算法為SVM-S.音頻在實(shí)驗(yàn)室環(huán)境下使用電腦進(jìn)行播放.結(jié)果如表1,其中每一列代表實(shí)際尖叫聲或非尖叫聲的樣本數(shù)量,每一行代表預(yù)測(cè)得出的尖叫聲或非尖叫聲樣本數(shù)量.例如表中數(shù)據(jù)第一行第一列代表了實(shí)際為尖叫聲,在預(yù)測(cè)中也被判斷為尖叫聲的樣本數(shù)量.系統(tǒng)的檢測(cè)概率為96%,虛警概率為3.4%.并且在測(cè)試中,系統(tǒng)的應(yīng)答時(shí)間均小于2s.因此,該系統(tǒng)基本滿足尖叫聲識(shí)別系統(tǒng)的要求.
表1 系統(tǒng)測(cè)試結(jié)果
在系統(tǒng)測(cè)試過程中發(fā)現(xiàn),在被誤識(shí)別為非尖叫聲的尖叫聲樣本中,尖叫者發(fā)出了多次連續(xù)尖叫且幅度變化劇烈,與其他樣本具有明顯區(qū)別.另外,經(jīng)過電腦外放與ARM9重新采集后的音頻與原始音頻之間存在差異,影響了計(jì)算得到的特征值.以上原因?qū)е铝讼到y(tǒng)對(duì)一部分樣本進(jìn)行了錯(cuò)誤的識(shí)別,作者將在后續(xù)研究中針對(duì)系統(tǒng)中的不足進(jìn)行改進(jìn).
本文提出用MFCC變化率作為尖叫聲特征,以此改進(jìn)了尖叫聲識(shí)別系統(tǒng)的檢測(cè)概率和虛警概率并對(duì)HMM的傳統(tǒng)判別方式進(jìn)行了改進(jìn),使得其可以通過閾值(R,dT)對(duì)HMM的ROC曲線進(jìn)行調(diào)整,進(jìn)而避免了檢測(cè)概率過小的問題.在此基礎(chǔ)上,本文使用IIS和DMA實(shí)現(xiàn)了基于ARM9的尖叫聲識(shí)別系統(tǒng).