《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 基于K均值分段的語音識別在微機(jī)器人控制系統(tǒng)中的應(yīng)用

基于K均值分段的語音識別在微機(jī)器人控制系統(tǒng)中的應(yīng)用

2008-05-23
作者:范斐斐,,李振波,,陳佳品

  摘 要: 介紹了一種應(yīng)用于微機(jī)器人" title="器人">器人控制平臺的語音識別" title="語音識別">語音識別算法,可實(shí)現(xiàn)簡單命令詞語的識別,控制微機(jī)器人的移動(dòng)。利用K均值分段法,在每次計(jì)算完觀察值最佳狀態(tài)序列后,,插入一個(gè)重估過程,,隨時(shí)調(diào)整參數(shù)以識別下一個(gè)句子,。實(shí)驗(yàn)結(jié)果表明,,這種實(shí)時(shí)學(xué)習(xí)的語音識別算法" title="語音識別算法">語音識別算法適合嵌入式應(yīng)用。
  關(guān)鍵詞: 微機(jī)器人 語音識別 隱式馬爾可夫模型 嵌入式系統(tǒng)


  本文基于毫米級全方位無回轉(zhuǎn)半徑移動(dòng)機(jī)器人課題,。微系統(tǒng)配置示意圖如圖1所示,。主要由主機(jī)Host(配有圖像采集卡)、兩個(gè)CCD攝像頭(其中一個(gè)為顯微攝像頭),、微移動(dòng)裝配平臺,、微機(jī)器人本體和系統(tǒng)控制電路板等組成。計(jì)算機(jī)和攝像機(jī)組用于觀察微機(jī)器人的方位,,控制系統(tǒng)控制微機(jī)器人的移動(dòng),。


  本文在系統(tǒng)控制電路中嵌入式實(shí)現(xiàn)語音識別算法,通過語音控制微機(jī)器人,。
  微機(jī)器人控制系統(tǒng)的資源有限,,控制方法比較復(fù)雜,并且需要有較高的實(shí)時(shí)性,,因此本文采用的語音識別算法必須簡單,、識別率高、占用系統(tǒng)資源少,。
  HMM(隱馬爾可夫模型)的適應(yīng)性強(qiáng),、識別率高,是當(dāng)前語音識別的主流算法,。使用基于HMM非特定人的語音識別算法雖然借助模板匹配減小了識別所需的資源,,但是前期的模板儲存工作需要大量的計(jì)算和存儲空間,因此移植到嵌入式系統(tǒng)" title="嵌入式系統(tǒng)">嵌入式系統(tǒng)還有一定的難度,,所以很多嵌入式應(yīng)用平臺的訓(xùn)練部分仍在PC機(jī)上實(shí)現(xiàn),。
  為了使訓(xùn)練和識別都在嵌入式系統(tǒng)上實(shí)現(xiàn),本文給出了一種基于K均值分段HMM模型的實(shí)時(shí)學(xué)習(xí)語音識別算法,,不僅解決了上述問題,而且做到了智能化,,實(shí)現(xiàn)了真正意義上的自動(dòng)語音識別,。
1 增量K均值分段HMM的算法及實(shí)現(xiàn)
  由于語音識別過程中非特定的因素較多,為了提高識別的準(zhǔn)確率,,針對本系統(tǒng)的特點(diǎn),,采用動(dòng)態(tài)改變識別參數(shù)的方法提高系統(tǒng)的識別率。
  訓(xùn)練算法是HMM中運(yùn)算量最大,、最復(fù)雜的部分,,訓(xùn)練算法的輸出是即將存儲的模型。目前的語音識別系統(tǒng)大都使用貝斯曼參數(shù)的HMM模型,采取最大似然度算法,。這些算法通常是批處理函數(shù),,所有的訓(xùn)練數(shù)據(jù)要在識別之前訓(xùn)練好并存儲。因此很多嵌入式系統(tǒng)因?yàn)橘Y源有限不能達(dá)到高識別率和實(shí)時(shí)輸出,。
  本系統(tǒng)采用了自適應(yīng)增量K均值分段算法,。在每次輸入新的語句時(shí)都連續(xù)地計(jì)算而不對前面的數(shù)據(jù)進(jìn)行存儲,這可以節(jié)約大量的時(shí)間和成本,。輸入語句時(shí)由系統(tǒng)的識別結(jié)果判斷輸入語句的序號,,并對此語句的參數(shù)動(dòng)態(tài)地修改,真正做到了實(shí)時(shí)學(xué)習(xí),。
  K均值分段算法是基于最佳狀態(tài)序列的理論,,因此可以采用Viterbi算法得到最佳狀態(tài)序列,從而方便地在線修改系統(tǒng)參數(shù),,使訓(xùn)練的速度大大提高,。
  為了達(dá)到本系統(tǒng)所需要的功能,對通常的K均值算法作了一定的改進(jìn),。在系統(tǒng)無人監(jiān)管的情況下,,Viterbi解碼計(jì)算出最大相似度的語音模型,根據(jù)這個(gè)假設(shè)計(jì)算分段K均值算法的輸入?yún)?shù),,對此模型進(jìn)行參數(shù)重估,。首先按照HMM模型的狀態(tài)數(shù)進(jìn)行等間隔分段,每個(gè)間隔的數(shù)據(jù)段作為某一狀態(tài)的訓(xùn)練數(shù)據(jù),,計(jì)算模型的初始參數(shù)λ=f(a,,A,B),。采用Viterbi的最佳狀態(tài)序列搜索,,得到當(dāng)前最佳狀態(tài)序列參數(shù)和重估參數(shù)θ,其中概率密度函數(shù)P(X,,S|θ)代替了最大似然度算法中的P(X,,θ),在不同的馬爾科夫狀態(tài)和重估之間跳轉(zhuǎn),?;贙均值算法的參數(shù)重估流程如下:
  
  為了使參數(shù)能更快地收斂,在每幀觀察語音最佳狀態(tài)序列的計(jì)算結(jié)束后,,加入一個(gè)重估過程,,以求更快地響應(yīng)速度。
  

  可以看到,,增量K均值算法的特點(diǎn)為:在每次計(jì)算完觀察值最佳狀態(tài)序列后,,插入一個(gè)重估過程,。隨時(shí)調(diào)整參數(shù)以識別下一個(gè)句子。
  由于采用混合高斯" title="高斯">高斯密度函數(shù)作為輸出概率分布可以達(dá)到較好的識別效果,,因此本文采用 M 的混合度對數(shù)據(jù)進(jìn)行訓(xùn)練,。
  對λ重估,并比較收斂性,,最終得到HMM模型參數(shù)訓(xùn)練結(jié)果,。
  可見,用K均值法在線修改時(shí),,一次數(shù)據(jù)輸入會有多次重估過程,,這使系統(tǒng)使用最近的模型估計(jì)后續(xù)語句的最佳狀態(tài)序列成為可能。但是對于在線修改參數(shù)要求,,快速收斂是很重要的,。為了得到更好的 Viterbi序列,最佳狀態(tài)序列使用了漸增的算法模型,,即快速收斂算法,。
  語音識別的具體實(shí)現(xiàn)過程為:數(shù)字語音信號通過預(yù)處理和特征向量的提取,用戶通過按鍵選擇學(xué)習(xí)或者識別模式,;如果程序進(jìn)入訓(xùn)練過程,,即用戶選擇進(jìn)行新詞條的學(xué)習(xí),則用分段K均值法對數(shù)據(jù)進(jìn)行訓(xùn)練得到模板,;如果進(jìn)入識別模式,,則從Flash中調(diào)出聲音特征向量,進(jìn)行HMM算法識別,。在識別出結(jié)果后,,立即將識別結(jié)果作為正確結(jié)果與前一次的狀態(tài)做比較,得到本詞條更好的模板,,同時(shí)通過LED數(shù)字顯示和語音輸出結(jié)果,。系統(tǒng)軟件流程如圖2所示。


  對采集到的語音進(jìn)行16kHz,、12位量化,,并對數(shù)字語音信號進(jìn)行預(yù)加重:
  H(Z)=1-0.98z-1???????????? (5)
  然后被分成20毫秒等長的幀,幀移為10秒,,加漢明窗處理:
  
  L選擇為320個(gè)點(diǎn),,用短時(shí)平均能量和平均過零率判斷起始點(diǎn),去除不必要的信息,。
  對數(shù)據(jù)進(jìn)行FFT運(yùn)算,,得到能量譜,,通過24通道的帶通濾波輸出X(k),,然后再通過DCT運(yùn)算,,提取12個(gè)MFCC系數(shù)和一階二階對數(shù)能量,提取38個(gè)參數(shù)可以使系統(tǒng)識別率得到提高,。
  為了進(jìn)行連接詞識別,,需要由訓(xùn)練數(shù)據(jù)得到單個(gè)詞條的模型。方法為:首先從連接詞中分離出每個(gè)孤立的詞條,,然后再進(jìn)行孤立詞條的模型訓(xùn)練,。對于本系統(tǒng)不定長詞條的情況,每個(gè)詞條需要有一套初始的模型參數(shù),,然后按照分層構(gòu)筑的HMM算法將所有詞串分成孤立的詞條,。對每個(gè)詞條進(jìn)行參數(shù)的重估,判斷是否收斂,。如果差異小于某個(gè)域值就判斷為收斂,;否則將得到的參數(shù)作為新的初始參數(shù)再進(jìn)行重估,直到收斂,。
2 實(shí)驗(yàn)結(jié)果
  實(shí)驗(yàn)采用30個(gè)人(15男,,15女)的聲音模型進(jìn)行識別。首先由10人(5男,,5女)對5個(gè)命令詞(前進(jìn),、后退、左移,、右移,、快速)分別進(jìn)行初始數(shù)據(jù)訓(xùn)練,每人每詞訓(xùn)練10次,,得到訓(xùn)練模板,。然后再由這30人隨機(jī)進(jìn)行非特定人語音識別。采用6狀態(tài)的HMM模型,,高斯混合度選為14,,得到圖3的實(shí)驗(yàn)結(jié)果。


  由圖3可以看出,,由于本系統(tǒng)實(shí)時(shí)學(xué)習(xí)的特點(diǎn),,系統(tǒng)的識別率隨著訓(xùn)練數(shù)據(jù)的增加而逐步上升(誤識率下降)。但是當(dāng)實(shí)驗(yàn)數(shù)據(jù)繼續(xù)增多時(shí),,系統(tǒng)的識別率和實(shí)時(shí)性都有下降趨勢,。這是由于系統(tǒng)處于無人監(jiān)管狀態(tài),根據(jù)判斷結(jié)果進(jìn)行參數(shù)重估,。如果判斷結(jié)果錯(cuò)誤,,勢必將錯(cuò)誤帶入?yún)?shù)重估步驟中。
  逐步增加高斯混合度數(shù)目,,可以得到圖4的實(shí)驗(yàn)結(jié)果,??梢姼咚够旌隙仍?8的時(shí)候達(dá)到較好的識別效果,混合度太高識別率反而會有所下降,,這是由于嵌入式系統(tǒng)的資源有限,,運(yùn)算復(fù)雜度的增長超過了嵌入式設(shè)備的限制所造成的。


  為了使微機(jī)器人能夠正確地執(zhí)行人的聲音指令,,本文將語音識別的過程嵌入微機(jī)器人的控制系統(tǒng)中,,根據(jù)微機(jī)器人控制系統(tǒng)資源有限、對實(shí)時(shí)性要求高的特點(diǎn),,使用增量K均值分段HMM的算法,,簡化計(jì)算節(jié)省了所需的硬件資源,實(shí)現(xiàn)了實(shí)時(shí)學(xué)習(xí)的語音識別,,能方便地對微機(jī)器人進(jìn)行控制,。
  本系統(tǒng)的識別率達(dá)到了較高的標(biāo)準(zhǔn),又由于加入了智能化的用戶選擇部分,,用戶可隨時(shí)選擇學(xué)習(xí)新的語句,,使其有更廣闊的應(yīng)用前景。
  由于嵌入式平臺受到處理速度,、存儲空間的限制,,所以能夠?qū)ξC(jī)器人發(fā)出的指令十分有限,識別率還有待提高,。因此,,研究語音識別算法,比較各種算法的優(yōu)缺點(diǎn),,進(jìn)而在嵌入式微機(jī)器人控制系統(tǒng)上實(shí)現(xiàn)大詞匯量非特定人的語音識別,,實(shí)現(xiàn)真正意義上的人機(jī)交流是今后進(jìn)一步的工作。
參考文獻(xiàn)
1 王作英,,肖 熙.基于段長分布的HMM語音識別模型[J].電子學(xué)報(bào),,2004;1
2 Takashi FUKUDA.Peripheral Features for HMM-based Speech Recognition[J].Acoustics,,Speech,,and Signal Process-ing,2001.Proceedings of IEEE,,May 2001
3 邊肇祺,,張學(xué)工.模式識別[M].第二版.北京:清華大學(xué)出版社,1999
4 蔡蓮紅.現(xiàn)代語音技術(shù)基礎(chǔ)于應(yīng)用[M].北京:清華大學(xué)出版社,,2003

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]