基于片上系統(tǒng)SoC的孤立詞語音識(shí)別算法設(shè)計(jì)
3.3.3 應(yīng)用中提高算法效率的改進(jìn)方法
在計(jì)算傳統(tǒng)DTW算法過程中,如果限定動(dòng)態(tài)規(guī)整的計(jì)算范圍,可以大大減小計(jì)算量,提高程序的性能。
采用平行四邊形限制動(dòng)態(tài)規(guī)整范圍,如圖3,菱形之外的節(jié)點(diǎn)對(duì)應(yīng)的幀匹配距離是不需要計(jì)算的,也沒有必要保存所有幀匹配距離矩陣和累積距離矩陣,以 ADTW的局部約束路徑為例,每一列各節(jié)點(diǎn)上的匹配計(jì)算只用到了前兩列的幾個(gè)節(jié)點(diǎn)。充分利用這兩個(gè)特點(diǎn)可以減少計(jì)算量和存儲(chǔ)空間的需求。把實(shí)際的動(dòng)態(tài)規(guī)整分為三段,(1,Xa),(Xa+1,Xb)和(Xb+1,N),
由于X軸上每前進(jìn)一幀,只用到前兩列的累積距離,所以只需要三個(gè)列矢量A、B和C分別保存連續(xù)三列的累積距離,而不需保存整個(gè)距離矩陣。每前進(jìn)一幀都對(duì)A、B、C進(jìn)行更新,即用A和B的值求出C,再根據(jù)B和C的值求出下一列的累積矩陣放入A中,由此可以反復(fù)利用這三個(gè)矢量,一直前進(jìn)到X軸上最后一列,最后一個(gè)求出矢量的第M個(gè)元素即為兩個(gè)模板動(dòng)態(tài)規(guī)整的匹配距離。
高效DTW對(duì)識(shí)別的區(qū)域進(jìn)行了限制,整個(gè)平面區(qū)域大小為M×N,匹配區(qū)域的大小為
公式(12)
若M=N=150,則限定區(qū)域內(nèi)的計(jì)算量只是傳統(tǒng)DTW算法計(jì)算量的24%;同時(shí)算法節(jié)省了空間,由原來的2個(gè)N×M矩陣,減少為3個(gè)M矢量,大大減少了需要的存儲(chǔ)空間,解決了普通DTW算法在存儲(chǔ)空間有限的嵌入式系統(tǒng)中難以實(shí)現(xiàn)的問題。
4. MATLAB實(shí)驗(yàn)與分析
為了對(duì)算法的識(shí)別效果進(jìn)行測(cè)試,設(shè)計(jì)了用于數(shù)字家庭控制系統(tǒng)的識(shí)別命令集,并基于Matlab構(gòu)建了孤立詞語音識(shí)別系統(tǒng),對(duì)識(shí)別算法進(jìn)行實(shí)驗(yàn)和分析。該命令集包括語音命令100條,分別是如下幾類:
l 語音通話控制命令,例如,“撥打電話”,數(shù)字,人名;
l 音樂控制類,“打開音樂”、“減小音量”等;
l 門窗控制類,“關(guān)閉百葉窗”、“打開大門”等;
l 家庭電器控制類,“打開空調(diào)”、“打開收音機(jī)”等。
該系統(tǒng)使用設(shè)計(jì)的端點(diǎn)檢測(cè)技術(shù)、特征提取和模板匹配技術(shù)。語音采用頻率為8KHz,16位量化精度,預(yù)加重系數(shù)a=0.95,語音幀每幀 30ms,240點(diǎn)為一幀,幀移為80,窗函數(shù)采用Hamming 窗。LPC參數(shù)為10階,LPCC參數(shù)為16階。實(shí)驗(yàn)人員為三名同學(xué),兩男一女,分別用甲乙丙代表,實(shí)驗(yàn)環(huán)境為辦公室環(huán)境。實(shí)驗(yàn)平臺(tái)為Windows XP,Matlab 7.0,進(jìn)行的各項(xiàng)實(shí)驗(yàn)和數(shù)據(jù)分別如下:
(1)改進(jìn)端點(diǎn)檢測(cè)實(shí)驗(yàn)
針對(duì)于設(shè)計(jì)的端點(diǎn)檢測(cè)算法,得到改進(jìn)前和改進(jìn)后語音識(shí)別率的變化,數(shù)據(jù)見表1。其中,改進(jìn)前和改進(jìn)后所用的參考模板和測(cè)試模板數(shù)據(jù)相同。實(shí)驗(yàn)的過程是,Matlab程序自動(dòng)把50個(gè)測(cè)試模板逐個(gè)和100個(gè)參考模板進(jìn)行匹配,找到測(cè)試模板所對(duì)應(yīng)的語音命令。
表1 改進(jìn)端點(diǎn)檢測(cè)前后的識(shí)別率
Table 1. the recognition ratio of before and after ameliorate endpointing detection
從數(shù)據(jù)可以看出,對(duì)端點(diǎn)檢測(cè)進(jìn)行改進(jìn)后,平均識(shí)別率從74%提高到82%,這是因?yàn)楦倪M(jìn)后的端點(diǎn)檢測(cè)能夠有效地區(qū)分噪音和語音,嚴(yán)格的把語音段提取出來。
(2)使用冗余參考模板實(shí)驗(yàn)
對(duì)每個(gè)語音命令建立四個(gè)參考模板,其他同實(shí)驗(yàn)(1),實(shí)驗(yàn)數(shù)據(jù)見表2。
表2 使用冗余參考模板前后的識(shí)別率
Table 2. the recognition ratio of before and after use redundancy reference template
從實(shí)驗(yàn)數(shù)據(jù)看出,使用冗余模板后,平均識(shí)別率由87.5%提高到95%,平均誤識(shí)率由12.5%下降到5%。所以,使用冗余參考模板有效的提高了識(shí)別性能。
評(píng)論