- 相關(guān)推薦
基于HMM的語音識(shí)別技術(shù)在嵌入式系統(tǒng)中的應(yīng)用
摘要:介紹語音識(shí)別技術(shù)在嵌入式系統(tǒng)中的應(yīng)用狀況與發(fā)展,以及在嵌入式系統(tǒng)中使用HMM語音識(shí)別算法的優(yōu)點(diǎn),并對(duì)基于HMM語音識(shí)別技術(shù)的系統(tǒng)進(jìn)行介紹。關(guān)鍵詞:SoC芯片 HMM 語音識(shí)別 嵌入式系統(tǒng)
語音識(shí)別ASR(Automatic Speech Recognition)系統(tǒng)的實(shí)用化研究是近十年語音識(shí)別研究的一個(gè)主要方向。近年來,消費(fèi)類電子產(chǎn)品對(duì)低成本、高穩(wěn)健性的語音識(shí)別片上系統(tǒng)的需求快速增加,語音識(shí)別系統(tǒng)大量地從實(shí)驗(yàn)室的PC平臺(tái)轉(zhuǎn)移到嵌入式設(shè)備中。
語音識(shí)別技術(shù)目前在嵌入式系統(tǒng)中的應(yīng)用主要為語音命令控制,它使得原本需要手工操作的工作用語音就可以方便地完成。語音命令控制可廣泛用于家電語音遙控、玩具、智能儀器及移動(dòng)電話等便攜設(shè)備中。使用語音作為人機(jī)交互的途徑對(duì)于使用者來說是最自然的一種方式,同時(shí)設(shè)備的小型化也要求省略鍵盤以節(jié)省體積。
嵌入式設(shè)備通常針對(duì)特定應(yīng)用而設(shè)計(jì),只需要對(duì)幾十個(gè)詞的命令進(jìn)行識(shí)別,屬于小詞匯量語音識(shí)別系統(tǒng)。因此在語音識(shí)別技術(shù)的要求不在于大詞匯量和連續(xù)語音識(shí)別,而在于識(shí)別的準(zhǔn)確性與穩(wěn)健性。
對(duì)于嵌入式系統(tǒng)而言,還有許多其它因素需要考慮。首先是成本,由于成本的限制,一般使用定點(diǎn)DSP,有時(shí)甚至只能考慮使用MPU,這意味著算法的復(fù)雜度受到限制;其次,嵌入式系統(tǒng)對(duì)體積有嚴(yán)格的限制,這就需要一個(gè)高度集成的硬件平臺(tái),因此,SoC(System on Chip)開始在語音識(shí)別領(lǐng)域嶄露頭角。SoC結(jié)構(gòu)的嵌入式系統(tǒng)大大減少了芯片數(shù)量,能夠提供高集成度和相對(duì)低成本的解決方案,同時(shí)也使得系統(tǒng)的可靠性大為提高。
語音識(shí)別片上系統(tǒng)是系統(tǒng)級(jí)的集成芯片。它不只是把功能復(fù)雜的若干個(gè)數(shù)字邏輯電路放入同一個(gè)芯片,做成一個(gè)完整的單片數(shù)字系統(tǒng),而且在芯片中還應(yīng)包括其它類型的電子功能器件,如模擬器件(如ADC/DAC)和存儲(chǔ)器。
筆者使用SoC芯片實(shí)現(xiàn)了一個(gè)穩(wěn)定、可靠、高性能的嵌入式語音識(shí)別系統(tǒng)。包括一套全定點(diǎn)的DHMM和CHMM嵌入式語音識(shí)別算法和硬件系統(tǒng)。
(范文先生網(wǎng)www.gymyzhishaji.com收集整理)
1 硬件平臺(tái)
本識(shí)別系統(tǒng)是在與Infineon公司合作開發(fā)的芯片UniSpeech上實(shí)現(xiàn)的。UniSpeech芯片是為語音信號(hào)處理開發(fā)的專用芯片,采用0.18μm工藝生產(chǎn)。它將雙核(DSP+MCU)、存儲(chǔ)器、模擬處理單元(ADC與DAC)集成在一個(gè)芯片中,構(gòu)成了一種語音處理SoC芯片。這種芯片的設(shè)計(jì)思想主要是為語音識(shí)別和語音壓縮編碼領(lǐng)域提供一個(gè)低成本、高可靠性的硬件平臺(tái)。
該芯片為語音識(shí)別算法提供了相應(yīng)的存儲(chǔ)量和運(yùn)算能力。包括一個(gè)內(nèi)存控制單元MMU(Memory Management Unit)和104KB的片上RAM。其DSP核為16位定點(diǎn)DSP,運(yùn)算速度可達(dá)到約100MIPS.MCU核是8位增強(qiáng)型8051,每兩個(gè)時(shí)鐘周期為一個(gè)指令周期,其時(shí)鐘頻率可達(dá)到50MHz。
UniSpeech芯片集成了2路8kHz采樣12bit精度的ADC和2路8kHz采樣11bit的DAC,采樣后的數(shù)據(jù)在芯片內(nèi)部均按16bit格式保存和處理。對(duì)于語音識(shí)別領(lǐng)域,這樣精度的ADC/DAC已經(jīng)可以滿足應(yīng)用。ADC/DAC既可以由MCU核控制,也可以由DSP核控制。
2 嵌入式語音識(shí)別系統(tǒng)比較
以下就目前基于整詞模型的語音識(shí)別的主要技術(shù)作一比較。
(1)基于DTW(Dynamic Time Warping)和模擬匹配技術(shù)的語音識(shí)別系統(tǒng)。目前,許多移動(dòng)電話可以提供簡單的語音識(shí)別功能,幾乎都是甚至DTM和模板匹配技術(shù)。
DTW和模板匹配技術(shù)直接利用提取的語音特征作為模板,能較好地實(shí)現(xiàn)孤立詞識(shí)別。由于DTW模版匹配的運(yùn)算量不大,并且限于小詞表,一般的應(yīng)用領(lǐng)域孤立數(shù)碼、簡單命令集、地名或人名集的語音識(shí)別。為減少運(yùn)算量大多數(shù)使用的特征是LPCC(Linear Predictive Cepstrum Coefficient)運(yùn)算。
DTW和模板匹配技術(shù)的缺點(diǎn)是只對(duì)特定人語音識(shí)別有較好的識(shí)別性能,并且在使用前需要對(duì)所有詞條進(jìn)行訓(xùn)練。這一應(yīng)用從20世紀(jì)90年代就進(jìn)入成熟期。目前的努力方向是進(jìn)一步降低成本、提高穩(wěn)健性(采用雙模板)和抗噪性能。
(2)基于隱含馬爾科夫模型HMM(Hidden Markov Model)的識(shí)別算法。這是Rabiner等人在20世紀(jì)80年代引入語音識(shí)別領(lǐng)域的一種語音識(shí)別算法。該算法通過對(duì)大量語音數(shù)據(jù)進(jìn)行數(shù)據(jù)統(tǒng)計(jì),建立識(shí)別條的統(tǒng)計(jì)模型,然后從待識(shí)別語音中提取特征,與這些模型匹配,通過比較匹配分?jǐn)?shù)以獲得識(shí)別結(jié)果。通過大量的語音,就能夠獲得一個(gè)穩(wěn)健的統(tǒng)計(jì)模型,能夠適應(yīng)實(shí)際語音中的各種突發(fā)情況。因此,HMM算法具有良好的識(shí)別性能和抗噪性能。
基于HMM技術(shù)的識(shí)別系統(tǒng)可用于非特定人,不需要用戶事先訓(xùn)練。它的缺點(diǎn)在于統(tǒng)計(jì)模型的建立需要依賴一個(gè)較大的語音庫。這在實(shí)際工作中占有很大的工作量。且模型所需要的存儲(chǔ)量和匹配計(jì)算(包括特征矢量的輸出概率計(jì)算)的運(yùn)算量相對(duì)較大,通常需要具有一定容量SRAM的DSP才能完成。
在嵌入式語音識(shí)別系統(tǒng)中,由于成本和算法復(fù)雜度的限制,HMM算法特別CHMM(Continuous density HMM)算法尚未得到廣泛的應(yīng)用。
(3)人工神經(jīng)網(wǎng)絡(luò)ANN(Artificial Neural Network)。ANN在語音識(shí)別領(lǐng)域的應(yīng)用是在20世紀(jì)80年代中后期發(fā)展起來的。其思想是用大量簡單的處理單元并行連接構(gòu)成一種信息處理系統(tǒng)。這種系統(tǒng)可以進(jìn)行自我更新,且有高度的并行處理及容錯(cuò)能力,因而在認(rèn)知任務(wù)中非常吸引人。但是ANN相對(duì)于模式匹配而言,在反映語音的動(dòng)態(tài)特性上存在重大缺陷。單獨(dú)使用ANN的系統(tǒng)識(shí)別性能不高,所以目前ANN通常在多階段識(shí)別中與HMM算法配合使用。
3 基于HMM的語音識(shí)別系統(tǒng)
下面詳細(xì)介紹基于HMM的語音識(shí)別系統(tǒng)。首先在UniSpeech芯片上實(shí)現(xiàn)了基于DHMM的識(shí)別系統(tǒng),然后又在同一平臺(tái)上實(shí)現(xiàn)了基于CHMM的識(shí)別系統(tǒng)。
3.1 前端處理
語音的前端處理主要包括對(duì)語音的采樣、A/D變換、分幀、特片提取和端點(diǎn)檢測。
模擬語音信號(hào)的數(shù)字化由A/D變換器實(shí)現(xiàn)。ADC集成在片內(nèi),它的采樣頻率固定為8kHz。
特征提取基于語音幀,即將語音信號(hào)分為有重疊的若干幀,對(duì)每一幀提取一次語音特片。由于語音特征的短時(shí)平穩(wěn)性,幀長一般選取20ms左右。在分幀時(shí),前一幀和后一幀的一部分是重疊的,用來體現(xiàn)相鄰兩幀數(shù)據(jù)之間的相關(guān)性,通常幀移為幀長的1/2。對(duì)于本片上系統(tǒng),為了方便做FFT,采用的幀長為256點(diǎn)(32ms),幀移為128點(diǎn)(16ms)。
特征的選擇需要綜合考慮存儲(chǔ)量的限制和識(shí)別性能的要求。在DHMM系統(tǒng)中,使用24維特征矢量,包括12維MFCC(Mel Frequency Cepstrum Coefficient)和12維一階差分MFCC;在CHMM系統(tǒng)中,在DHMM系統(tǒng)的基礎(chǔ)上增加了歸一化能量、一階差分能量和二階差分能量3維特征,構(gòu)成27維特征矢量。對(duì)MFCC和能量分別使用了倒譜均值減CMS(Cepstrum Mean Subtraction)和能量歸一化ENM(Energy Normalization)的處理方法提高特征的穩(wěn)健性。
3.2 聲學(xué)模型
在HMM模型中,首先定義了一系列有限的狀態(tài)S1…SN,系統(tǒng)在每一個(gè)離散時(shí)刻n只能處在這些狀態(tài)當(dāng)中的某一個(gè)Xn。在時(shí)間起點(diǎn)n=0時(shí)刻,系統(tǒng)依初始概率矢量π處在某一個(gè)狀態(tài)中,即:
πi=P{X0=Si},i=1..N
以后的每一個(gè)時(shí)刻n,系統(tǒng)所處的狀態(tài)Xn僅與前一時(shí)刻系統(tǒng)的狀態(tài)有關(guān),并且依轉(zhuǎn)移概率矩陣A跳轉(zhuǎn),即:
系統(tǒng)在任何時(shí)刻n所處的狀態(tài)Xn隱藏在系統(tǒng)內(nèi)部,并不為外界所見,外界只能得到系統(tǒng)在該狀態(tài)下提供的一個(gè)Rq空間隨機(jī)觀察矢量On。On的分布B稱為輸出概率矩陣,只取決于Xn所處狀態(tài):
Pxn=Si{On}=P{On|Si}
因?yàn)樵撓到y(tǒng)的狀態(tài)不為外界所見,因此稱之為“穩(wěn)含馬爾科夫模型”,簡稱HMM。
在識(shí)別中使用的隨機(jī)觀察矢量就是從信號(hào)中提取的特征矢量。按照隨機(jī)矢量Qn的概率分布形時(shí),其概率密度函數(shù)一般使用混合高斯分布擬合。
其中,M為使用的混合高斯分布的階數(shù),Cm為各階高期分布的加權(quán)系數(shù)。此時(shí)的HMM模型為連續(xù)HMM模型(Continuous density HMM),簡稱CHMM模型。在本識(shí)別系統(tǒng)中,采用整詞模型,每個(gè)詞條7個(gè)狀態(tài)同,包括首尾各一個(gè)靜音狀態(tài);每個(gè)狀態(tài)使用7階混合高斯分布擬合。CHMM識(shí)別流程如圖1所示。
由于CHMM模型的復(fù)雜性,也可以假定On的分布是離散的。通常采用分裂式K-Mean算法得到碼本,然后對(duì)提取的特征矢量根據(jù)碼本做一次矢量量化VQ(Vector Quantization)。這樣特征矢量的概率分布上就簡化為一個(gè)離散的概率分布矩陣,此時(shí)的HMM模型稱為離散HMM模型(Discrete density HMM),簡稱DHMM模型。本DHMM識(shí)別系統(tǒng)使用的碼本大小為128。DHMM識(shí)別流程如圖2所示。
DHMM雖然增加了矢量量化這一步驟,但是由于簡化了模型的復(fù)雜度,從而減少了占用計(jì)算量最大的匹配計(jì)算。當(dāng)然,這是以犧牲一定的識(shí)別性能為代價(jià)。
筆者先后自己的硬件平臺(tái)上完成了基于DHMM和CHMM的識(shí)別系統(tǒng)。通過比較發(fā)現(xiàn),對(duì)于嵌入式平臺(tái)而言,實(shí)現(xiàn)CHMM識(shí)別系統(tǒng)的關(guān)鍵在于芯片有足夠運(yùn)算太多的增加。因?yàn)樵~條模型存儲(chǔ)在ROM中,在匹配計(jì)算時(shí)是按條讀取的。
3.3 識(shí)別性能
筆者使用自己的識(shí)別算法分別對(duì)11詞的漢語數(shù)碼和一個(gè)59詞的命令詞集作了實(shí)際識(shí)別測試,識(shí)別率非常令人滿意,如表1所示。
表1 漢語數(shù)碼識(shí)別率
對(duì)于59詞命令詞集的識(shí)別,還增加了靜音模型。由于基線的識(shí)別率已經(jīng)很高,所以靜音模型的加入對(duì)于識(shí)別率的進(jìn)一步提高作用不大,如表2所示。但靜音模型的加入可以降低對(duì)端點(diǎn)判斷的依賴。這在實(shí)際使用中對(duì)系統(tǒng)的穩(wěn)健性有很大的提高。
表2 59詞命令詞集識(shí)別率
可以看到,在硬件能夠支持的情況下,CHMM的識(shí)別率比DHMM有很大的提高,同時(shí)識(shí)別速度也完全可以滿足使用要求。
目前嵌入式語音識(shí)別領(lǐng)域使用HMM模型的還比較少,使用通常限于DHMM。由于集成電路制造技術(shù)的發(fā)展,目前主流DSP都可以提供100MIPS以上的運(yùn)算速度,完全可以滿足CHMM對(duì)計(jì)算能力的要求。
筆者在使用SoC芯片的硬件平臺(tái)上實(shí)現(xiàn)了DHMM和CHMM算法。其中定點(diǎn)CHMM語音識(shí)別算法在16位定點(diǎn)DSP硬件平臺(tái)上達(dá)到很高的識(shí)別率,同時(shí)系統(tǒng)資源消耗也比較合理,安全可以替代DHMM算法。非常適合50詞以內(nèi)的命令詞識(shí)別。以上算法已經(jīng)在芯片上實(shí)現(xiàn),該方案在家電語音遙控、玩具、PDA、智能儀器以及移動(dòng)電話等領(lǐng)域內(nèi)有非常好的應(yīng)用前景。
【基于HMM的語音識(shí)別技術(shù)在嵌入式系統(tǒng)中的應(yīng)用】相關(guān)文章:
Java技術(shù)在嵌入式系統(tǒng)中的應(yīng)用08-06
基于DSP的Bluetooth嵌入式系統(tǒng)應(yīng)用08-06
基于μC/OS的嵌入式系統(tǒng)應(yīng)用開發(fā)研究08-19
UML 在嵌入式系統(tǒng)設(shè)計(jì)中的應(yīng)用04-12
語音識(shí)別在家電遙控器中的應(yīng)用08-06
基于ARM核的AT75C220及其在指紋識(shí)別系統(tǒng)中的應(yīng)用08-19
液晶顯示在嵌入式系統(tǒng)中的應(yīng)用08-06