基于DSP嵌入式說話人識別系統(tǒng)的設計
2.4 算法實現(xiàn)過程中的具體考慮.
(1)FFT變換點數(shù)的選擇。FFT變換點數(shù)選擇很重要,如果選擇太大,則運算復雜度變大,使系統(tǒng)響應時間變長,如果選擇太小則可能造成頻率分辨率過低,提取參數(shù)誤差過大。該系統(tǒng)中選取的點數(shù)為240點。
(2)模型參數(shù)的選擇。首先模型階數(shù)M必須適中,必須足夠大,可以充分表示出空間的分布。然而,階數(shù)也不能太大,否則數(shù)據(jù)數(shù)量不足,也無法準確描述特征空間分布。考慮該系統(tǒng)對參數(shù)的存儲空間要求,并綜合以上考慮,該系統(tǒng)選用的階數(shù)為32階。
(3)協(xié)方差矩陣類型??紤]到減少計算量,這里采用對角陣。在高維特征空間中,對角陣比全矩陣優(yōu)勢更為明顯。
(4)方差限定。當訓練數(shù)據(jù)不足或者是存在噪聲干擾時,方差幅度會很小,這樣會導致模型概率函數(shù)的奇異性,所以每次EM迭代時,都需要對方差進行限定。即:
根據(jù)實驗結果,該系統(tǒng)選取S2 min為0.025
(4)模型初值的設定:EM算法是尋找局部最大概率的模型。不同的初值會導致不同的局部極值。該系統(tǒng)中采用的是K均值法。
2.5 K均值法應注意的幾個問題
(1)聚類中心的初始化。對于聚類中心數(shù)目由GMM模型決定,假設是N。對于聚類中心的初始化,一般取前N個矢量作為聚類中心,但在實驗過程中發(fā)現(xiàn),這種方法不具有針對性,往往設立的初始的聚類中心不具有很好的聚類效果。所以這里采用取質(zhì)心法。具體方法為:
第一步先求出訓練集S中全體矢量X的質(zhì)心,然后在S中找出一個與此質(zhì)心的畸變量最大的矢量Xj,再在S中找到一個與Xj的畸變量最大的矢量Xk。以Xj和Xk為基準進行胞腔劃分,得到Sk和Sj兩個子集。對這兩個子集分別按照同樣的方法劃分得到4個子集。依次類推,得到N個子集。這N個子集的質(zhì)心即為初始的聚類中心。
(2)聚類中心改進量δ的選擇。對于聚類中心改進量δ的選擇,若選擇太大,則聚類不充分,影響訓練效果;若太小,則會導致訓練無法完成,該系統(tǒng)通過試驗,取比較適中的數(shù)0.01。
(3)最大迭代次數(shù)的選擇。對于最大迭代次數(shù)的選擇,太小會導致誤判,太大導致訓練不成功時過多的占用系統(tǒng)時間。該系統(tǒng)迭代次數(shù)設為100,比較適中。
3 實驗結果及改進點
通過系統(tǒng)調(diào)試及改進,該系統(tǒng)最終實現(xiàn)10個說話人的身份識別,并自舉運行。運行時通過Switch組合可方便的選擇訓練或識別的功能,并可更新說話人。訓練,識別的進度及結果通過LED組合顯示。利用該系統(tǒng)對5男5女10個人進行訓練,每人500次測試,結果正確識別率為98%,識別時間為3 s左右。說明該系統(tǒng)可以有效的識別說話人的身份。對于該系統(tǒng),識別時間及識別率上還有改進空間,以后工作可圍繞識別時間上改進。
評論