基于自適應調整的高斯混合模型的人聲識別方法
【技術領域】
[0001] 本發明涉及一種人聲識別技術,特別涉及一種基于自適應調整的高斯混合模型的 人聲識別方法。
【背景技術】
[0002] 人聲識別技術是利用信號處理和概率論的方法,根據說話人的語音對說話人身份 進行識別的技術,主要包括兩個步驟:說話人模型的訓練和說話人語音的識別。
[0003] 人聲識別主要采用的特征參數主要包括美爾倒譜系數(MFCC)、線性預測編碼系數 (LPCC)、感知加權的線性預測系數(PLP)。人聲識別的算法主要包括支持向量機(SVM)、高斯 混合模型(GMM)、矢量量化法(VQ)等等。其中高斯混合模型在語音識別領域應用非常廣泛。
[0004] 傳統的高斯混合模型的混合度是固定的,而人聲的語音特征呈現的是多樣性,特 征分布中的某些高斯子分量攜帶的信息量是較少的,而某一些高斯子分量攜帶的信息量是 比較多的,這種情況下會導致過擬合或欠擬合的現象,從而導致說話人確認的識別率的降 低。
【發明內容】
[0005] 本發明是針對傳統的高斯混合模型識別人聲存在的問題,提出了一種基于自適應 調整的高斯混合模型的人聲識別方法,在傳統高斯混合模型的基礎上自適應調節混合度和 高斯子分量,以此來提高人聲識別的概率。
[0006] 本發明的技術方案為:一種基于自適應調整的高斯混合模型的人聲識別方法,具 體包括如下步驟:
[0007] 1)用說話人的語音特征參數訓練生成該說話人對應的傳統高斯混合模型;
[0008] 2)計算高斯混合模型中每一幀數據由每一個高斯子分量生成的概率,再計算互異 的高斯子分量生成同一幀數據的概率差值的絕對值之和;
[0009] 3)取步驟2)所得到的多個和值的最小值,與設定的低閾值θ3做比較,如果小于θ 3, 則將最小值對應的兩個高斯子分量進行合并,得到新的高斯子分量;
[0010] 4)取得到的多個和值的最大值,與設定的高閾值Θ:做比較,如果大于閾值,則將 最大值對應的兩個高斯子分量進行權重重配,得到兩個新的高斯子分量;
[0011] 5)取高斯子分量的權重的最大值,與設置的門限值θ2做比較,如果大于0 2時,對這 個高斯子分量進行拆分,得到兩個新的高斯子分量;
[0012] 6)用新獲得的高斯子分量代替原高斯子分量,通過多次迭代得到最后優化后的高 斯模型,輸入待識別的語音特征參數,計算該語音信號由每一個高斯混合模型擬合生成的 概率,判定最大者為對應的目標說話人,即為測試語音的真正說話人。
[0013] 所述步驟2)生成同一幀信號的概率差值的絕對值計算表達式為:
[0015]用λη= {πη,μη,ση}表示第η個高斯子分量,:πη為第η個高斯子分量的權重,μ η和ση表 示第η個高斯子分量的期望和協方差矩陣,每一幀數據分別由Κ個高斯子分量擬合生成的概 率,共有L幀數據,^(1 = 1,2,一丄)為輸入的第1幀語音信號,&和13為指互異的高斯子分量 的序號,:為第a個高斯子分量的權重,N(xi | ya, 〇a)為第a個高斯子分量的概率密度, 表不第a個高斯子分量的期望和協方差矩陣,公式中下標j表不第j個高斯子分量的序號;下 標b表不第b個高斯子分量的序號。
[0016]所述的步驟3)中合并處理方式如下:
[0018] 其中,a表示第a個高斯子分量的序號;b表示第b個高斯子分量的序號;T為合并后 新的高斯子分量的序號,用新增加的高斯子分量λτ來代替原來的高斯子分量λ4Ρ&。
[0019] 所述的步驟4)中對這兩個高斯子分量a、b進行重新分配權重,得到兩個新的高斯 子分量,處理方式如下:
[0021]
兩個高斯分布的期望和協方差矩陣保持不變。
[0022]所述的步驟5)中高斯子分量進行拆分,拆分的處理方式如下:
[0024]
為〇3對角線上的最大值;E=[l,l,···,l]是全l矩陣
新的兩個尚斯子分量λτ,λτ+i代替原來的尚斯子分量λ3。
[0025] 本發明的有益效果在于:本發明基于自適應調整的高斯混合模型的人聲識別方 法,利用概率差值的絕對值之和對傳統的高斯混合模型進行改進,對每一個高斯子分量在 擬合語音信號的特征時所作的貢獻,進行動態的調整高斯子分量,最大限度的利用每一個 高斯子分量,充分表達有用信息,從而提高說話人確認的識別性能。
【附圖說明】
[0026]圖1為本發明自適應調整高斯混合模型訓練流程示意圖;
[0027] 圖2為本發明高斯子分量權重重配的流程示意圖;
[0028] 圖3為本發明高斯子分量拆分改進的流程示意圖;
[0029] 圖4為本發明高斯子分量合并改進的流程示意圖。
【具體實施方式】
[0030] 本實施方式中的實驗數據是采集了43個參與者的錄制語音,采樣率為8000Hz,43 人中23個女的,20個男的,每一個人都錄制5段語音,每一段錄音都在安靜的環境下進行的, 每一段語音都是一個四字成語。
[0031] 利用不同說話者的一定量語音進行訓練得到不同說話者對應的傳統的高斯混合 模型,并根據自適應調整規則對不同的傳統高斯混合模型進行優化。
[0032] 在訓練過程中,先任意選取不同說話者的三段語音進行訓練得到不同說話者對應 的優化后的尚斯混合t旲型。
[0033]在測試過程中,利用不同說話者的其他語音段進行每一個優化高斯混合模型的識 別率測試。
[0034]如圖1所示自適應調整高斯混合模型訓練流程圖,訓練過程如下:
[0035]對語音信號進行預處理,預處理的步驟包括端點檢測,分幀,加窗,提取特征參 數--美爾倒譜系數,本實驗選用12維的美爾倒譜系數(MFCC)。
[0036 ]將提取到的MFCC參數通過EM算法進行訓練,得到與說話者相對應的傳統高斯混合 模型。傳統高斯混合模型的混合度為K,其由K個高斯子分量線性疊加而成,高斯混合模型的 概率密度的計算如下:
[0039]其中,Jin為第n個高斯子分量的權重,Ν(χ|μη,σ η)表示第η個高斯子分量的概率密度 函數,本實施方式中Κ取16^和〇表示高斯子分量的期望和協方差矩陣,D是數據X的維數,用 λη={πη,μη,ση}表示第η個高斯子分量,η可取1到Κ的任何整數值。通過求取ρ(χ)得到待識別 說話人屬于當前模型的概率。
[0040] 設說話人的第i幀數據為11,(1 = 1,2,一〇41算法的具體的估計步驟如下:
[0041] 第一步,若第一次執行,則對高斯混合模型的參數{>,μ,σ}進行初始化;若非第一 次執行,則高斯混合模型的參數為上一輪迭代計算得到的結果。然后估算每一幀數據分別 由這Κ個高斯子分量生成的