楊明亮,龍 華,邵玉斌,杜慶治
(昆明理工大學 信息工程與自動化學院,昆明 650500)
利用聲紋這一生物特征實現(xiàn)說話人的身份識別已成為身份認證的重要手段,目前這一技術已取得了一定成效并成功應用于國防安全、門禁安全、智能產(chǎn)品語音喚醒以及司法認證等領域。T. L. New等[1]提出利用隱馬爾科夫模型(hidden Markov model,HMM)進行語音情感識別。R.C.Rose和D.A.Reynolds等又提出了高斯混合模型(Gaussian mixture model,GMM),并由此延拓出相關的組合模型,如高斯混合深度神經(jīng)網(wǎng)絡模型[2](GMM-DNN)、高斯混合支持向量機模型[3](GMM-SVM)、通用背景高斯混合模型[4](GMM-UBM)等。再者,Dehak提出了i-vector說話人識別方法。
目前以GMM-UBM模型與i-vector模型為主流的說話人識別方法,D.A.Reynolds認為過去的說話人識別嚴重依賴于說話人的語音數(shù)據(jù),希望通過訓練大量無關說話人語音獲得一個通用的說話人模型,再用少量的特定說話人語音數(shù)據(jù)對通用模型進行調(diào)整以得到說話人識別模型,即GMM-UBM。在GMM-UBM說話人識別模型中假定說話人的所有信息均存在于混合高斯函數(shù)的超矢量[5](Gaussian super vector,GSV))中。文獻[6]提出了基于高斯均值超矢量的聯(lián)合因子分析方法(joint factor analysis,JFA),認為均值超矢量中包含了說話差異和信道差異,故需要對說話人和信道進行分別建模從而去除信道干擾。然而Dehak認為信道因子中也會攜帶部分說話人的信息,在進行補償?shù)耐瑫r會損失一部分說話人信息,所以,Dehak[7]提出了全局差異空間模型(total variability model,TVM),將說話人差異和信道差異作為一個整體進行建模,這種方法改善了JFA對訓練語料的要求和計算復雜度高的問題。針對信道差異問題還提出了線性判別分析[8](liner discriminate analysis,LDA)、概率線性判別分析[9](probability liner discriminate analysis,PLDA)等信道補償技術,其中以PLDA效果最佳。除此,也有如文獻[10]所述方法對語音進行增強,以提高最終的識別性能。
i-vector將高斯均值超矢量通過全局差異空間矩陣映射為低維表示,消除了與說話人識別無關的信息[11](如信道空間、說話內(nèi)容以及情感等),相比GMM-UBM模型有了較大改進,但存在說話人特征的高維均值超矢量與低維隱空間映射關系并非簡單的線性映射關系,PLDA對說話人模型的訓練和評分[12]并未充分考慮數(shù)據(jù)匹配的問題。故本文提出了全局聯(lián)合差異空間與聯(lián)合信道補償?shù)腜LDA的GPJ-IV說話人識別模型。
基于高斯超矢量的說話人識別由最初的GMM模型拓展成現(xiàn)在的GMM-UBM模型[13],其前提假設為同一個人的同一維度特征在時間序列上近似滿足高斯分布,故在此前提下便可利用C個k維高斯近似逼近真實分布(混合高斯數(shù)目越多其越逼近真實分布,但計算量也相應增大),如(1)式為混合高斯表現(xiàn)形式
(1)
GMM-UBM模型其核心思想為首先通過訓練大量說話人語音特征(不一定是訓練人的語音)獲取一個通用的說話人模型,其次利用少量的訓練人語音特征在UBM基礎上運用最大后驗概率[14](maximum a posteriori,MAP)估計算法自適應得到各個說話人的模型,最后將測試人的音頻特征通過UBM自適應得到說話人的超矢量特征,與訓練好的說話人模型進行對比并給出評分,根據(jù)評分判決測試者身份。圖1為GMM-UBM說話人識別流程。
圖1 GMM-UBM說話人識別流程Fig.1 GMM-UBM speaker recognition process
Kenny[15]根據(jù)GMM-UBM模型提出了基于GSV的聯(lián)合因子分析方法,其相關估計算法可參見文獻[16]。Dehak針對聯(lián)合因子分析方法進一步優(yōu)化得到全局差異空間模型,將本征信道空間矩陣定義的信道空間看做為一個空間,它既包含了說話者之間的差異又包含了信道間的差異[17]。給定說話人的一段語音,與之對應的高斯均值超矢量可以定義為
Msh=m+Tw+ε
(2)
(2)式中:Msh為第s個人的第h條語音特征的GSV;m為通用背景模型(UBM)訓練得到的高斯均值超矢量;Msh與m矩陣維度都為Ck×1;T為全局差異空間矩陣,又叫映射矩陣;w為全局差異空間因子,它的后驗均值即為i-vector矢量,其先驗地服從標準正態(tài)分布;ε為殘差。由(2)式可知,最終需要的是w,但全局差異空間矩陣T未知情況下是無法獲取w即i-vector矢量,因此,先求解T矩陣。為了消除原始的音頻特征中的冗余信息,故首先計算背景數(shù)據(jù)庫中每個說話人所對應的Baum-Welch統(tǒng)計量[17]用于接下來訓練總體變化子空間矩陣T,其公式分別如下
(3)
(4)
(5)
(3)—(5)式中:Nc(s),F(xiàn)c(s),Sc(s)分別為給定說話人s第c個高斯的零階、一階、二階統(tǒng)計量;γt(c)表示t時刻對于給定特征向量yt第c個高斯的后驗概率,其計算公式為
(6)
(6)式中:wc為UBM模型中第c個高斯的權重;pc(yt)有如下定義式
pc(yt)=N(yt|uc,δc)
(7)
在獲取高斯混合模型的充分統(tǒng)計量后,首先隨機初始化T矩陣,其次根據(jù)EM算法[18-19]進行迭代(一般迭代5~7次便可收斂),其計算步驟如下。
E步驟:對給定說話人s的第h段語音,定義Ls為中間變量并有
Ls=I+TTΣ-1N(s)T
(8)
(8)式中,N(s)為Nc(s)的對角拼接Ck×Ck維矩陣,給定說話人s的語音特征矢量和參數(shù)集(T,Σ)條件下,總變化因子w的一階二階統(tǒng)計量分別為
E(ws)=Ls-1TTΣ-1F(s)
(9)
(10)
(9)—(10)式中:F(s)為Fc(s)的對角拼接Ck矢量,Σ分別為UBM模型的協(xié)方差矩陣。
M步驟:T矩陣迭代更新公式如下
(11)
進而更新UBM模型的協(xié)方差矩陣Σ(實驗證明,只更新協(xié)方差而不更新均值效果更好些)
(12)
依據(jù)(3)—(12)式反復迭代至收斂即可。圖2為基于全局差異空間的說話人識別流程。
圖2 全局差異空間的說話人識別流程Fig.2 Speaker recognition process in global difference space
基于因子分析理論的說話人識別可知,在整個說話人識別流程中,全局差異空間矩陣的求解至關重要,其矩陣相當于低維隱空間的基坐標并直接決定說話人特征的充分統(tǒng)計量在低維空間的表現(xiàn)形式,進而影響最終的說話人評分。理論上用足夠多的說話人特征和足夠多的迭代次數(shù)訓練全局差異空間矩陣可獲得理想的矩陣結果,但事實上我們通常無法獲取充足的說話人特征,故針對此類問題本文提出聯(lián)合全局差異空間建模進行聲紋特征提取,圖3為全局聲紋特征提取流程。
步驟1分別對背景語音和訓練語音進行短時特征提取。
步驟2將背景特征用于訓練得到UBM模型。
步驟3將背景特征和訓特征分別通過UBM模型自適應得到高斯超矢量GSV1和GSV2。
步驟4將GSV1通過隨機初始化全局差異空間的T1矩陣,利用EM算法迭代幾次即可獲得收斂的T1矩陣。
步驟5將T1矩陣作為訓練音頻短時特征空間的初始化矩陣,通過幾次EM算法迭代即可獲得收斂的T2矩陣。
步驟6根據(jù)T1,T2隱空間分別提取訓練特征的聲紋特征iv1與iv2并進行全局聯(lián)合得到新的聲紋特征即
iv=q×iv1+(1-q)×iv2
(13)
(13)式中,iv為根據(jù)全局差異空間T1,T2以及加權系數(shù)q(實驗測試所得經(jīng)驗值,取值過程在實驗部分給出)計算出來的全局聯(lián)合聲紋特征,增強所提取特征的魯棒性。
圖3 全局聲紋特征提取流程Fig.3 Global voiceprint feature extraction process
因為基于全局差異空間的說話人識別是將說話人和信道看為一個整體,這使得提取出的i-vector可能并非最優(yōu)說話人特征,所以對于提取出的i-vector進行信道補償是有必要的。眾多信道補償算法中PLDA效果最佳,但眾多的i-vector模型中直接利用背景數(shù)據(jù)訓練得到PLDA模型用于最終的似然評分中勢必造成測試數(shù)據(jù)與已訓練模型不匹配的問題,其PLDA模型表達式為
xij=u+Fhi+Gwij+εij
(14)
(14)式中:xij為i-vector矢量;u為i-vector的訓練均值;F為用于描述說話人特征的說話人空間;hi為說話人空間對應的說話人因子;G為用于描述信道特征的信道空間;wij為信道空間對應的信道因子;εij為殘差因子。hi與wij服從N(0,I)分布。(14)式用信道和說話人刻畫了i-vector,但實際中我們只關心說話人之間的類間特征,不關心同一說話人不同音頻段的類內(nèi)特征,故可得簡化的PLDA表達式
xij=u+Fhi+εij
(15)
(15)式中:h服從N(0,1);ε服從N(0,Σ)分布(Σ為數(shù)據(jù)的協(xié)方差),由此PLDA簡化成了θ={u,F,Σ}參數(shù)估計,初始化參數(shù)后使用EM算法迭代幾次即可獲得收斂數(shù)值的參數(shù)。
為了盡可能使最終的測試數(shù)據(jù)與訓練模型相匹配,這里引入全局PLDA參數(shù)聯(lián)合,即
(16)
PLDA.u=(1-λ)×PLDA1.u+λ×PLDA2.u
(17)
PLDA.Σ=(1-λ)×PLDA1.Σ+
λ×PLDA2.Σ
(18)
(16)—(18)式中:λ表示依據(jù)背景特征數(shù)據(jù)和訓練特征數(shù)據(jù)量的比值計算權值系數(shù)(可根據(jù)實際情況適當調(diào)參);N1為背景語音特征數(shù)據(jù)量;N2為訓練語音特征數(shù)據(jù)量;roundn表示四舍五入取值;a表示保留的小數(shù)位數(shù);PLDA1與PLDA2分別為背景數(shù)據(jù)與訓練數(shù)據(jù)訓練得到的PLDA結構體。
實驗環(huán)境配置如表1。
表1 實驗環(huán)境配置
本實驗中為了測試不同語種以及方言對于說話人識別的影響,實驗所采用的數(shù)據(jù)為TIMIT語音庫、THCHS30語音庫、2018方言種類識別AI挑戰(zhàn)賽語音庫(dialect recognition contest,DRC)3種,語音采樣率為fs=16 000 Hz,單通道的wav音頻文件,每句語音時長為4~7 s左右。在訓練通用背景模型中采用了大量TIMIT與DRC數(shù)據(jù)庫中的語音,而對于THCHS30語音庫中的語音并未加入,以便分析語種是否影響說話人識別。其中,TIMIT語音庫包含美國8個地區(qū)630個說話人語音,每人10句英語語音;THCHS30語音庫包含20個來自中國各地的說話人語音,每人10句普通話;DRC語音庫包含中國10個方言地區(qū)的350個說話人,每人10句中國地區(qū)方言;運用TIMIT語音庫中的462個說話人(女性140人,男性324人,每人10句)、DRC語音庫中300個說話人(女性150人,男性150人,每人10句)組建的包含762個說話人7 620句語音的語音庫分別訓練UBM模型和全局差異空間矩陣T1。實驗訓練數(shù)據(jù)包含TIMIT語音庫中的168個說話人(女性52人,男性114人,每人9句)、THCHS30語音庫中20個說話人(女性18人,男性2人,每人9句)、DRC語音庫中50個說話人(女性30人,男性20人,每人9句)構建的語音庫用于訓練全局差異空間矩陣T2以及說話人模型,剩下238人每人一句的語音用于測試。
表2 語音庫的分配設置
本文實驗流程包括如下4部分。
1)語音預處理。對原始語音進行端點檢測(因為說話人識別跟說話內(nèi)容、情感、語速等參量無關,本文采用譜熵法端點檢測,實驗測試效果比雙門限端點檢測方法效果好);對端點檢測后的語音進行預加重(對語音的高頻部分進行加重,去除口唇輻射的影響,增加語音的高頻分辨率,本文設置的預加重因子為0.935);分幀(本實驗幀長為512個數(shù)據(jù)點、幀步長為256個數(shù)據(jù)點)。
2)特征提取。實驗采用的音頻特征類型有36維的梅爾倒譜系數(shù)(Mel frequency cepstral coefficents,MFCC)特征參數(shù)(其中包括12維倒譜與12的一階和二階倒譜)、24維的線譜對(line spectrum pair,LSP)特征參數(shù)、音頻特征組(audio feature set,AFS)特征參數(shù)(包括短時能量、短時平均幅度差函數(shù)、幀基音周期、頻譜質(zhì)心、頻譜帶寬、頻譜差分幅度、以及第1、第2、第3共振峰9個參數(shù)組成)。
3)模型訓練。實驗搭建了聯(lián)合聲紋特征iv、聯(lián)合信道補償PLDA以及IV-GPC模型分別進行訓練,同時選取目前最為主流的2類說話人識別模型作為對比即GMM-UBM模型與i-vector模型。模型中相關混合高斯數(shù)目均設置為32。
4)說話人測試。將238個說話人的語音特征分別送入已訓練好的238說話人模型進行238×238次評分測試,評分最高的說話人模型作為該個說話人的識別結果。
本文所采用的性能評價指標為等錯誤率(equal error rate,EER)與最小檢測代價準則(minimum detection cost function 2010, DCF10)[19],其值越小代表性能越好。最小檢測代價函數(shù)計算公式為
DCF=CFREFRPtarget+CFAEFA(1-Ptarget)
(19)
(19)式中:CFR與CFA分別為錯誤拒絕率EFR和錯誤接受率EFA的懲罰系數(shù);Ptarget,(1-Ptarget)分別為真實說話測試和冒充測試的先驗概率,這里參數(shù)采用NIST SRE2010設定的CFR=1,CFA=1,Ptarget=0.001參數(shù)。
因為Mindcf不僅考慮錯拒絕和錯誤接收的不同代價,還充分考慮到測試情況的先驗概率,在對模型性能評價上Mindcf比EER更合理,故依據(jù)Mindcf10實驗值選取(13)式中的全局差異空間的權值系數(shù)q。
表3為MFCC特征對于6組實驗,q為0.3時,Mindcf10取得最小值;MFCC+LSP特征相對應的Mindcf10取得最小值時,q為0.2;MFCC+LSP+ASF對應的Mindcf10取得最小值時,q為0.4;不同的特征其模型性能所對應的權值大小有細微不同,為了實驗仿真測試統(tǒng)一,下述所對于全局差異空間權值q均取0.3。
表3 全局差異空間的權值系數(shù)選定
本實驗共設計了3類不同組合特征的實驗,每類實驗又分為5個不同說話人識別模型的對比實驗,其中聯(lián)合PLDA模型為i-vector信道自適應補償模型,聯(lián)合iv模型為i-vector基于全局聯(lián)合空間提取的聲紋特征識別模型,GPJ-IV為本文所提出i-vector全局參數(shù)聯(lián)合的說話人識別模型。表4,表5,表6分別為不同特征組合以及在不同說話人識別模型上的性能測試與仿真時間對比測試。
表4 MFCC特征的性能測試
表5 MFCC+LSP組合特征的性能測試
表6 MFCC+LSP+ASF組合特征的性能測試
圖4、圖5、圖6分別為MFCC,MFCC+LSP,MFCC+LSP+ASF特征組合238個說話人語音送入238個訓練好的說話人模型進行了238×238次的似然評分可視化展示,其中,橫坐標為不同的測試人,數(shù)值代表測試人的標簽號;縱坐標為經(jīng)過訓練的不同說話人模板,數(shù)值代表不同模板標簽號。
圖4 MFCC特征的說話人似然評分Fig.4 Speaker likelihood score based on MFCC
圖5 MFCC+LSP特征的說話人似然評分Fig.5 Speaker likelihood score based on MFCC+LSP
圖6 MFCC+LSP+ASF特征的說話人似然評分Fig.6 Speaker likelihood score based on MFCC+LSP+ASF
由表4可知,MFCC特征送入不同說話人識別模型的測試結果中,其EER性能提高了59.3%,MinDcf10性能提高了11.4%。通過表5測試結果可知,MFCC+LSP組合特征送入不同測試結果中EER性能提高了62.7 %,MinDcf10性能也提高了17.7%。由表6可知,將特征組合MFCC+LSP+ASF送入不同說話人識別模型中其測試結果EER性能提升了54.7% ,MinDcf10性能也提高了18.5%。由表5和表4對比可知,MFCC+LSP組合特征相比于單一MFCC 特征不管對于i-vector說話人識別模型還是對于本文提出的GPJ-IV說話人識別模型在性能上都有較大的提升。表6與表4和表5實驗結果分別對比可知,MFCC+LSP+ASF組合特征相對單一MFCC特征和MFCC+LSP組合特征,對于i-vector說話人識別模型和本文提出的GPJ-IV說話人識別模型在性能上也都有所提升,由此可分析得出其相對于MFCC+LSP組合特征所增加的特征組ASF確實為有效特征。分析表4—表6中的仿真Cost time(s)可知(注:此處計算的耗時僅為說話人特征送入模型進行識別的耗時),同一特征不同模型條件下,GPJ-IV模型的耗時為i-vector模型的2倍左右,其原因為本文提出的GPJ-IV模型分別計算了基于全局差異空間T1,T2的說話人特征向量;同一模型不同特征條件下,維度越大,其計算量越耗時,與理論符合;其中識別效果最好的為基于MFCC+LSP+ASF特征的GPJ-IV模型,238人的識別耗時為12.954 6 s,人均識別耗時為55 ms,滿足說話人實時識別要求。圖4、圖5、圖6分別展示了238說話人不同特征在不同訓練好的238說話人模型中的似然評分,3個圖對比可知其明晰度為MFCC 通過實驗測試結果分析可知,本文提出的基于i-vector全局參數(shù)聯(lián)合的GPJ-IV模型對于i-vector說話人識別有較大的改進,并且通過分析實驗結果可知,特征參數(shù)的選取和處理在整個說話人識別模型中起著不可替代的作用。并且從最終的似然評分中展示圖中可見,不同語種的在同一說話人識別模型中性能也不一樣,針對說話人識別問題應充分考慮說話人識別的機制,排除干擾因素(如說話人語速、情感、語種等),突出說話人特點(如語音的整體特征、基音等),其次對于i-vector說話人識別模型其關鍵是全局差異空間矩陣的求解和利用,即說話人特征的低維隱空間的基坐標。再者應充分考慮數(shù)據(jù)平衡即背景模型數(shù)據(jù)和訓練測試數(shù)據(jù)的平衡,進而充分利用已有數(shù)據(jù)提高說話人識別率。4 結 論