單寶娟,段文睿
(北京信息科技大學(xué) 儀器科學(xué)與光電工程學(xué)院,北京 100192)
咳嗽是兒童期常見(jiàn)的臨床癥狀,表現(xiàn)為通過(guò)高速、高壓氣流來(lái)清除兒童呼吸道異物和有害分泌物,本質(zhì)是一種生理防御機(jī)制[1]。但是,隨著咳嗽強(qiáng)度和頻率的增加,咳嗽不僅會(huì)影響兒童的正常生活,甚至?xí)鸷粑到y(tǒng)疾病,對(duì)生命健康造成威脅。研究顯示,以咳嗽為主要癥狀的兒童肺炎是致使全球5 歲以下兒童死亡的主要原因[2]。目前,配合藥物治療能夠緩解相應(yīng)癥狀,但對(duì)兒童身心健康造成了一定影響。如果能在咳嗽初期盡早發(fā)現(xiàn)咳嗽異常盡早治療,將會(huì)減小呼吸系統(tǒng)患病幾率??人允呛粑兰膊〉闹饕Y狀,因此可通過(guò)評(píng)估兒童咳嗽聲音狀況為兒童呼吸道疾病的診斷和預(yù)防提供依據(jù)。近年來(lái),語(yǔ)音識(shí)別技術(shù)因檢測(cè)速度快、無(wú)接觸等優(yōu)點(diǎn),在兒童語(yǔ)音自動(dòng)檢測(cè)方面得到了廣泛應(yīng)用。
目前,國(guó)內(nèi)外有部分研究者應(yīng)用語(yǔ)音識(shí)別技術(shù)研究人咳嗽聲的分類識(shí)別。Hirtum[3]等通過(guò)提取聲音功率譜密度作為特征參數(shù)實(shí)現(xiàn)不同種類咳嗽的自動(dòng)識(shí)別;俞一奇[4]等人提取Mel 頻率刻度的小波能量作為特征參數(shù),使用隱馬爾科夫模型(Hidden Markov Models,HMM)對(duì)兒童咳嗽音的干濕性進(jìn)行分類;Swarnkar V[5]等人應(yīng)用Logistics回歸模型開(kāi)發(fā)出一種自動(dòng)化技術(shù),實(shí)現(xiàn)了對(duì)兒童咳嗽的干濕性進(jìn)行分類。以上研究分別從特征參數(shù)提取、模型識(shí)別算法等不同方面實(shí)現(xiàn)了對(duì)人咳嗽性質(zhì)的研究,并取得了較好的識(shí)別效果。但是,準(zhǔn)確分辨咳嗽和非咳嗽是能夠進(jìn)行更深入研究的前提和關(guān)鍵。因此,如何在輸入的一段語(yǔ)音中有效檢測(cè)出咳嗽聲音尤為重要。目前,石銳[6]等采用高斯混合模型對(duì)咳嗽聲音進(jìn)行了識(shí)別;Yusuf A A[7]等人提取共振峰、短時(shí)過(guò)零率、梅爾頻率倒譜系數(shù)(Mel Frequency Cepstrum Coefficient,MFCC)等特征參數(shù),對(duì)比TDNN 模型和LDA 模型的分類器識(shí)別性能,提出了一種能夠從兒科錄音中對(duì)咳嗽聲自動(dòng)識(shí)別的方法。
本文設(shè)計(jì)一種新的語(yǔ)音識(shí)別系統(tǒng),采集兒童的4 種常見(jiàn)聲音——哭聲、笑聲、尖叫聲、咳嗽聲作為研究對(duì)象,采用預(yù)加重、端點(diǎn)檢測(cè)和分幀加窗的技術(shù)實(shí)現(xiàn)兒童語(yǔ)音信號(hào)的預(yù)處理,提取MFCC+ΔMFCC 作為語(yǔ)音特征參數(shù),構(gòu)建基于HMM的兒童咳嗽音識(shí)別模型,實(shí)現(xiàn)了對(duì)兒童咳嗽音的準(zhǔn)確識(shí)別,以期用于后續(xù)有關(guān)兒童咳嗽的定量分析和定性分析。
本文采集6 名學(xué)齡期兒童(3 女3 男,5~12歲)的640段錄音,其中包含每名兒童的哭聲、笑聲、尖叫聲、咳嗽聲各20~40 段不等,并將文件保存為wav 格式。針對(duì)上述4 種兒童語(yǔ)音樣本建立兩個(gè)數(shù)據(jù)集——訓(xùn)練數(shù)據(jù)集(每種語(yǔ)音80 段,共320段語(yǔ)音)和測(cè)試數(shù)據(jù)集(每種語(yǔ)音80 段,共320 段語(yǔ)音),分別用作后續(xù)語(yǔ)音識(shí)別中的模型訓(xùn)練和模型測(cè)試。該系統(tǒng)算法框架如圖1 所示。
2.1.1 端點(diǎn)檢測(cè)
采集到的兒童語(yǔ)音信號(hào)包含靜音片段。為了縮短后續(xù)特征參數(shù)提取時(shí)間,需要去掉語(yǔ)音中的靜音成分,獲取語(yǔ)音的有效片段,提高語(yǔ)音識(shí)別系統(tǒng)識(shí)別效率。端點(diǎn)檢測(cè)算法能夠從包含靜音片段的一段信號(hào)中準(zhǔn)確定位語(yǔ)音片段的起止點(diǎn),區(qū)分靜音和語(yǔ)音。本研究采用基于短時(shí)平均過(guò)零率和短時(shí)能量為特征參數(shù)的雙門限算法進(jìn)行端點(diǎn)檢測(cè)。第i幀語(yǔ)音信號(hào)的短時(shí)平均過(guò)零率Z(i)和短時(shí)能量E(i)的計(jì)算公式為:
式中,L為幀長(zhǎng),xi(n)為第i幀數(shù)據(jù)上所對(duì)應(yīng)的第n個(gè)采樣點(diǎn)值,sgn[·]為符號(hào)函數(shù),即:
采用雙門限算法對(duì)兒童語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)結(jié)果如圖2 所示。
2.1.2 分幀操作
語(yǔ)音信號(hào)具有短時(shí)平穩(wěn)性,在10~30 ms 通??蓪⒄Z(yǔ)音信號(hào)視為穩(wěn)態(tài)時(shí)不變信號(hào)。因此,可以對(duì)語(yǔ)音信號(hào)進(jìn)行分幀操作,將其分割為一幀一幀的短時(shí)穩(wěn)態(tài)信號(hào),進(jìn)而可對(duì)語(yǔ)音信號(hào)作短時(shí)分析。常用的分幀手段是采用窗函數(shù)的平滑移動(dòng)來(lái)實(shí)現(xiàn)分幀操作。漢明窗函數(shù)的主瓣較窄,能夠保證聲音信號(hào)的相鄰幀之間具有更好的連續(xù)性。此外,它的第一旁瓣較主瓣的衰減最大,使得聲音信號(hào)的頻譜泄露最小。因此,本文選用漢明窗函數(shù)對(duì)聲音信號(hào)進(jìn)行分幀處理。分幀過(guò)程中,采用交疊分幀的方法對(duì)語(yǔ)音信號(hào)進(jìn)行分幀操作,以確保在分幀過(guò)程中造成的信號(hào)遺漏。同時(shí),相鄰兩幀之間的交疊部分能確保幀與幀之間的平滑過(guò)渡,有效保證聲音信號(hào)的平穩(wěn)性和連續(xù)性。
漢明窗函數(shù)定義如下:
式中,L為窗長(zhǎng)。
人耳在嘈雜混亂的環(huán)境中仍然能夠分辨出各種聲音信號(hào),這一特殊功能主要得益于耳蝸的功能。人的耳蝸等同于一個(gè)濾波器組,對(duì)頻率范圍在1 000 Hz 以下的語(yǔ)音信號(hào)進(jìn)行線性尺度上的濾波,對(duì)頻率范圍在1 000 Hz 以上的信號(hào)進(jìn)行對(duì)數(shù)尺度上的濾波。這決定了人耳對(duì)低頻信號(hào)較高頻信號(hào)具有更高的敏感度。Mel 頻率濾波器組具有人耳耳蝸的感知特性。組成梅爾濾波器組的每一個(gè)濾波器的中心頻率是在梅爾頻率尺度上均勻排列的。
Mel 頻率與實(shí)際頻率遵循如下關(guān)系:
MFCC 是在梅爾刻度頻率域中提取出來(lái)的倒譜參數(shù)。MFCC 是基于人的聽(tīng)覺(jué)機(jī)理實(shí)現(xiàn)對(duì)語(yǔ)音頻譜的分析,能夠反映人的語(yǔ)音特征,具有良好的識(shí)別性能和抗干擾能力。標(biāo)準(zhǔn)的MFCC 特征參數(shù)只反映語(yǔ)音參數(shù)的靜態(tài)特性,難以獲得全面的語(yǔ)音特征信息。通過(guò)加入ΔMFCC,能夠更好地描述語(yǔ)音信號(hào)的動(dòng)態(tài)特性。本文選用24 維MFCC+ΔMFCC 參數(shù)作為特征參數(shù),將采集到的兒童語(yǔ)音信號(hào)經(jīng)過(guò)預(yù)處理后,對(duì)每一幀信號(hào)進(jìn)行快速傅里葉變換以獲得頻域信號(hào),再對(duì)頻域信號(hào)進(jìn)行平方運(yùn)算,計(jì)算每一幀頻域數(shù)據(jù)的譜線能量。將每幀信號(hào)的能量譜先通過(guò)Mel 濾波器,再將Mel 濾波器的輸出能量取對(duì)數(shù)后作離散余弦變換,從而獲得12 維MFCC,然后加入一階差分系數(shù)得到24 維MFCC。MFCC 的計(jì)算過(guò)程如圖3 所示。
不同聲音的MFCC+ΔMFCC 參數(shù)三維視圖如圖4 所示,其中X、Y、Z軸分別代表維數(shù)、幀數(shù)和梅爾頻率倒譜系數(shù)值。從MFCC 幅值變化范圍來(lái)看,咳嗽聲和尖叫聲的變化大,哭笑聲變化小。
在語(yǔ)音識(shí)別領(lǐng)域中,常用的識(shí)別方法有支持向量機(jī)、矢量量化模型以及DTW 算法等,其中隱馬爾可夫模型因其穩(wěn)定性良好[8]、算法成熟等優(yōu)點(diǎn)而備受青睞[9]。因此,本文選取HMM 模型來(lái)識(shí)別兒童咳嗽聲。HMM模型可以由模型參數(shù)λ=(π,A,B)表示,其中π表示初始狀態(tài)概率,A表示狀態(tài)轉(zhuǎn)移概率矩陣,B表示觀測(cè)概率矩陣。π、A用來(lái)描述Markov鏈,輸出狀態(tài)序列。B用來(lái)描述由狀態(tài)產(chǎn)生觀測(cè)值的隨機(jī)過(guò)程,輸出觀測(cè)值序列。HMM 的訓(xùn)練和識(shí)別流程如圖5 所示。
2.3.1 訓(xùn)練流程
輸入訓(xùn)練數(shù)據(jù)集的語(yǔ)音樣本作為已知信號(hào),經(jīng)預(yù)處理后,對(duì)每一幀的數(shù)據(jù)提取特征參數(shù)MFCC+ΔMFCC。獲得的特征向量作為隱馬爾科夫訓(xùn)練模型的觀測(cè)序列Otraining,應(yīng)用Baum-Welch 算法對(duì)每種類型聲音i建立相應(yīng)的HMM 模型參數(shù)λi。Baum-Welch 算法是一種基于最大似然估計(jì)的局部最優(yōu)算法。給定觀測(cè)序列Otraining,為確定P(Otraining|λ)的最大值,利用遞歸思想,使P(Otraining|λ)局部極大,最終確定HMM 的模型參數(shù)λ=(π,A,B)。
2.3.2 識(shí)別流程
輸入測(cè)試數(shù)據(jù)集的語(yǔ)音樣本作為待測(cè)信號(hào),經(jīng)預(yù)處理后,對(duì)每一幀的數(shù)據(jù)提取特征參數(shù)MFCC+△MFCC。獲得的特征向量作為隱馬爾科夫識(shí)別模型的觀測(cè)序列Otesting,應(yīng)用Viterbi 算法計(jì)算同一觀測(cè)序列Otesting在所有可能的模型λi下對(duì)應(yīng)的概率P(Otraining|λi),其中可能性最高的模型被認(rèn)為是代表最可能的語(yǔ)音類型,即i*=arg max[P(Otraining|λi)]。Viterbi 算法實(shí)質(zhì)上是利用動(dòng)態(tài)規(guī)劃求解最佳狀態(tài)序列Q*,以解決隱馬爾科夫模型的譯碼問(wèn)題。Q*是指P(Q,Otesting|λ)達(dá)到最大時(shí)確定的狀態(tài)序列。
應(yīng)用Matlab 進(jìn)行算法仿真,其中在HMM 訓(xùn)練過(guò)程中,笑聲、咳嗽聲、哭聲、尖叫聲分別迭代39次、33 次、28 次、21 次達(dá)到模型收斂,后應(yīng)用Viterbi算法進(jìn)行模型匹配,給出識(shí)別結(jié)果。本實(shí)驗(yàn)采用識(shí)別率(正確識(shí)別個(gè)數(shù)占該種類聲音測(cè)試樣本總數(shù)的比例)和誤識(shí)別率(被誤識(shí)別為該種聲音的其他聲音數(shù)量占其他聲音測(cè)試樣本總數(shù)的比例)兩個(gè)指標(biāo)來(lái)描述系統(tǒng)識(shí)別性能,結(jié)果如表1 所示。
表1 識(shí)別結(jié)果
由表1 可知,該系統(tǒng)對(duì)咳嗽聲的識(shí)別率達(dá)到92.5%,誤識(shí)別率達(dá)到9.17%,具有良好的識(shí)別性能,能夠?qū)和人月曔M(jìn)行準(zhǔn)確判別和計(jì)數(shù),確保在一定時(shí)間周期內(nèi)的咳嗽次數(shù)如果超過(guò)正常范圍能夠自動(dòng)提醒看護(hù)人員及時(shí)檢查排除隱患。綜上所述,該系統(tǒng)可以為兒童呼吸道疾病的在線監(jiān)測(cè)和預(yù)警提供新的方法參考,能夠用于后續(xù)有關(guān)兒童咳嗽的定量分析。