趙 宏, 岳魯鵬, 常兆斌, 王偉杰
(蘭州理工大學(xué) 計(jì)算機(jī)與通信學(xué)院, 甘肅 蘭州 730050)
說話人識別(speaker recognition,SR)又稱聲紋識別(voiceprint recognition,VR),是一種根據(jù)語音信息對講話者身份進(jìn)行辨識的生物特征識別技術(shù).該技術(shù)的作用原理是根據(jù)語音中能夠描述和反映講話者獨(dú)特特征的信息,通過信息識別等一系列先進(jìn)成熟的技術(shù)高效、智能地辨識講話者身份[1-2].與面部識別等其他識別技術(shù)相比,說話人識別優(yōu)勢突出,它不僅操作便捷、成本較低,并且識別精度高,已經(jīng)在金融、軍事等多個行業(yè)得到了大力推廣和積極應(yīng)用,應(yīng)用前景非??捎^.
目前,關(guān)于說話人識別的研究,學(xué)者們一般從前端處理和后端處理這兩點(diǎn)出發(fā)展開探討和分析.
在前端處理上,Esun等[3]從語音特征入手,通過對聲學(xué)特征參數(shù)的分析,提出了一種基于DBN-GMM混合模型的深層高斯相關(guān)超矢量(deep Gaussian correlation super vector,DGCS)特征,從而降低了系統(tǒng)的錯誤率和訓(xùn)練復(fù)雜度.Agrawal等[4]從時-頻特征入手,通過對語音頻譜圖進(jìn)行分析,提出了使用語音頻譜圖學(xué)習(xí)初始濾波器,而使用殘差譜圖學(xué)習(xí)后續(xù)濾波器的方法,從而抑制了易受噪聲干擾的區(qū)域,提高了系統(tǒng)的魯棒性.李作強(qiáng)等[5]從相位特征入手,通過對相位信息的分析,設(shè)計(jì)出了相位特征參數(shù)提取算法,不僅使得系統(tǒng)識別率進(jìn)一步提升,同時也明顯增強(qiáng)了系統(tǒng)魯棒性.張二華等[6]從噪聲干擾入手,通過對噪聲環(huán)境下的說話人確認(rèn)系統(tǒng)分析,探索出了一種以分區(qū)約束非負(fù)矩陣分解為基礎(chǔ)的語音去噪策略,克服了在噪聲比較大的場合下無法精準(zhǔn)辨識講話者的不足,取得了較好的效果.
在后端處理上,Reynolds等[7]提出了高斯混合模型-統(tǒng)一背景模型(Gaussian mixture model-universal background model,GMM-UBM)框架,嘗試將此框架應(yīng)用于說話人驗(yàn)證系統(tǒng)中,取得了良好的成果.Han等[8]在進(jìn)行廣泛深入的研究之后探索出了聯(lián)合因子分析(joint factor analysis,JFA)技術(shù),將講話者、信道之間所存在的不同固定于GMM超矢量高維空間的兩個子空間內(nèi),從而使得所有高斯成分之間均存在一定關(guān)聯(lián),由此實(shí)現(xiàn)信息的傳輸與共享.Dehak等[9]通過深入研究提出了一個低維、長度固定的身份矢量(identity vector,I-Vector),使得無論是何種長度的語音段,均能夠通過長度固定的I-Vector進(jìn)行描述[10],由此令I(lǐng)-Vector的訓(xùn)練復(fù)雜度進(jìn)一步降低,因子向量的推理過程更簡單.由于I-Vector系統(tǒng)不僅存儲了說話人信息,也含有信道信息,所以一般需要包括線性判別分析(linear discriminant analysis,LDA)[11]、干擾屬性映射(nuisance attribute projection,NAP)[12]、類內(nèi)協(xié)方差歸一化(within class covariance normalization,WCCN)[13]和概率線性判別分析(probabilistic linear discriminant analysis,PLDA)[14]等后端區(qū)分技術(shù)為信道提供一定補(bǔ)償.由于PLDA的補(bǔ)償能力更好,故使用PLDA為I-Vector提供信道補(bǔ)償,從而減少信道信息對說話人識別任務(wù)的影響,進(jìn)一步提高I-Vector系統(tǒng)對說話人的區(qū)分能力.
以上說話人識別的處理方法各有所長,相比而言,前端處理法的優(yōu)勢在于可以較好地體現(xiàn)信號中的時序特性,但對于語音數(shù)據(jù)的質(zhì)量和數(shù)量要求較高,魯棒性較差.后端處理法的優(yōu)勢在于具有良好的靈活性,其不足主要表現(xiàn)為兩個方面:一方面運(yùn)算量過大,另一方面是出現(xiàn)過擬合現(xiàn)象的可能性比較大.
針對上述問題,本文提出一種結(jié)合前端和后端的聯(lián)合優(yōu)化算法.在前端處理上,選擇梅爾頻率倒譜系數(shù)(Mel-frequency cepstral coefficient,MFCC)和感知線性預(yù)測系數(shù)(perceptual linear predictive,PLP)兩種聲學(xué)特征組合,然后采用PCA對新的動態(tài)特征參數(shù)降維;在后端處理上,將降維后的新的動態(tài)特征參數(shù)放入I-Vector說話人識別系統(tǒng)中,并結(jié)合PLDA對說話人和信道變化進(jìn)行建模和打分,從而克服多種聲學(xué)特征簡單組合的局限性,不僅有助于提高系統(tǒng)識別率,還明顯改善了系統(tǒng)魯棒性.
基于多特征I-Vector說話人識別模型如圖1所示,分為數(shù)據(jù)預(yù)處理、特征提取、特征處理、模型訓(xùn)練和打分判決五個步驟.其中,數(shù)據(jù)預(yù)處理利用Kaldi[15]讀取語音信號并創(chuàng)建相關(guān)文件;特征提取是將語音信號MFCC和PLP兩種特征分別提取并進(jìn)行融合;特征處理利用PCA來解決特征提取階段的冗余問題;模型訓(xùn)練分為UBM模型訓(xùn)練和訓(xùn)練特征兩個部分;打分判決采用PLDA對變換處理后的測試特征向量以及說話人的注冊特征向量予以決策評分.
圖1 算法框架圖Fig.1 Algorithm framework
數(shù)據(jù)預(yù)處理包括語音語料的準(zhǔn)備和數(shù)據(jù)部分的準(zhǔn)備.關(guān)于語音語料的準(zhǔn)備,本文采用TIMIT語音數(shù)據(jù)庫來進(jìn)行實(shí)驗(yàn);數(shù)據(jù)部分的準(zhǔn)備利用Kaldi生成spk2utt、utt2spk和wav.scp等文件.
說話人識別本質(zhì)是一種模式識別,因此合理地選擇提取的特征顯得尤為重要[16].本文將MFCC和PLP融合作為混合特征參數(shù),計(jì)算公式為
Fm×n=[(A1,A2,…,Am),(B1,B2,…,Bn)]
(1)
式中:A和B分別表示MFCC和PLP特征參數(shù);m和n分別表示MFCC、PLP的特征參數(shù)階數(shù).
由于不同特征之間不僅存在冗余信息,而且包含系統(tǒng)貢獻(xiàn)率較低的維度,為此本文使用PCA來保持總特征空間的基向量不相關(guān)和正交,換言之,將有效剔除特征向量間的內(nèi)在關(guān)系,同時要去除各種冗余信息.
假設(shè)輸入數(shù)據(jù)矩陣為χi且平均值為0,在單位向量ω方向上的協(xié)方差矩陣計(jì)算如下式所示:
(2)
在式(5)中,讓其成立的條件是投影矩陣的協(xié)方差實(shí)現(xiàn)極大值.因此,式(5)等同于求解特征值λ以及特征向量ω.關(guān)于σω,計(jì)算公式為
σω=λωTω=λ
(6)
在式(6)中,λ隨著σω增大而增大.因此前M個最大特征值對應(yīng)特征向量的投影矩陣ωPCA的計(jì)算公式為
(7)
由式(1)直接拼接起來的混合參數(shù)過于冗余,此外,在語音中低維特征矩陣容易受噪聲因素的干擾,從而導(dǎo)致聲紋識別的正確率降低[17],因此本文在特征提取后,采用PCA計(jì)算投影矩陣,特征矩陣F的協(xié)方差矩陣計(jì)算公式為
σF=FTF
(8)
在式(8)中,特征矩陣的協(xié)方差σF是對角矩陣,計(jì)算公式為
(9)
式中:ι是特征值λ對應(yīng)的歸一化特征向量.假設(shè)λ1≥λ2≥…≥λt,那么投影矩陣ιPCA可以由前p個最大特征值對應(yīng)的特征向量所生成,計(jì)算公式為
(10)
在式(10)中,ιPCA用于將所有特征向量映射到不相關(guān)的特征空間,將提取的特征經(jīng)過PCA變換后用于模型訓(xùn)練,計(jì)算公式為
(11)
將上述準(zhǔn)備好的語音語料和文件作為模型的輸入端,并根據(jù)UBM模型和訓(xùn)練特征,從而生成I-Vector說話人模型.Dhanush等[18]認(rèn)為在JFA技術(shù)的信道子空間中,與說話人相關(guān)的信息中也同時含有一些干擾信息,如信道信息等,而這同時也是造成分割子空間建模缺乏精準(zhǔn)性的一項(xiàng)重要原因.鑒于此,本文決定采用精準(zhǔn)度高且便于計(jì)算的I-Vector模型進(jìn)行建模,其計(jì)算公式為
M=μ+Τw
(12)
(13)
(14)
根據(jù)一段語音,利用UBM便捷高效地推導(dǎo)出統(tǒng)計(jì)量,其具體計(jì)算公式為
PLDA是對I-Vector進(jìn)一步的因子分析[19].Garcia-Romero等[20]在傳統(tǒng)PLDA模型的基礎(chǔ)上提出了一種更為簡單的PLDA模型,并且證明了這種模型的區(qū)分性比傳統(tǒng)PLDA模型更好.計(jì)算公式為
Ρi=m+Φβ+εγ
(18)
式中:m為訓(xùn)練數(shù)據(jù)全局均值;Φ為描述說話人類間差異的子空間矩陣;β是滿足標(biāo)準(zhǔn)正態(tài)分布特征的隱含因子,且與說話人身份相關(guān);εγ是對角矩陣Σ的殘余項(xiàng).PLDA模型參數(shù){m,Φ,β}的值可通過文獻(xiàn)[21]中的EM算法求得.
在決策打分環(huán)節(jié),依次用η1、η2進(jìn)行描述,兩者的對數(shù)似然比的計(jì)算公式為
(19)
式中:Rs表示η1和η2來自同一個說話人;Rd表示η1和η2來自不同的說話人.
本文選用Kaldi進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)環(huán)境如表1所列.
表1 實(shí)驗(yàn)環(huán)境Tab.1 Experimental environment
為對算法性能的可靠性、精準(zhǔn)性進(jìn)行嚴(yán)格全面的檢驗(yàn),本文在TIMIT語音數(shù)據(jù)庫的630人中篩選出了462人組成一個專門的訓(xùn)練集,余下的168人則組成驗(yàn)證集和測試集.在訓(xùn)練集中,每人有10句話,而這意味著需要對4 620條語音進(jìn)行規(guī)范合理的訓(xùn)練.而在測試集中,每人有8句話,以此完成驗(yàn)證集的訓(xùn)練;還有2句話,用于測試說話人.通過Kaldi預(yù)處理并準(zhǔn)確提取語音信號的特性,選用的特征包含20維MFCC(包括第0級系數(shù))的特征矢量和12維PLP的特征矢量.
為評估說話人識別系統(tǒng)的性能,通過等錯誤率(equal error rate,EER)這一指標(biāo)[22]來描述和反映系統(tǒng)性能.它主要反映了錯誤接受率(FAR)與錯誤拒絕率(FRR)相等時的錯誤率.一般來講,等錯誤率的值愈小,系統(tǒng)性能愈佳.計(jì)算公式為
(20)
(21)
EER=FAR=FRR
(22)
式中:NFA表示匹配失敗卻判為匹配成功的說話人數(shù)量;NIRA表示匹配失敗的總數(shù)量;NFR表示匹配成功卻判為匹配失敗的說話人數(shù)量;NGRA表示匹配成功的總數(shù)量.
特征提取時,首先進(jìn)行參數(shù)調(diào)優(yōu),目前針對網(wǎng)絡(luò)模型參數(shù)的選擇只能在先驗(yàn)知識的基礎(chǔ)上進(jìn)行多次實(shí)驗(yàn),通過對比不同參數(shù)實(shí)驗(yàn)的結(jié)果,確定模型的最終參數(shù).在參數(shù)確定后,本文采集到的特征進(jìn)行全面細(xì)致的語音活動檢測,同時采用了聲紋特征訓(xùn)練高斯混合模型.各相關(guān)參數(shù)如表2所列.
表2 實(shí)驗(yàn)參數(shù)Tab.2 Experimental parameters
在GMM-UBM模型中,設(shè)置1 024個高斯混合數(shù),全局差異空間矩陣在參與計(jì)算時可直接進(jìn)行隨機(jī)初始化處理,反復(fù)重復(fù)迭代7次,一直持續(xù)到獲得符合要求的全局差異空間矩陣.
首先,通過Kaldi在TIMIT數(shù)據(jù)庫上對兩種特征進(jìn)行直接拼接成33維的特征向量;然后,通過主成分分析法(principal components analysis,PCA)作進(jìn)一步降維處理,由此確認(rèn)出區(qū)分度最高的特征.不同降維程度對I-Vector基線系統(tǒng)的性能影響如圖2所示.
圖2 不同維度對基線系統(tǒng)性能的影響
Fig.2 Impact of different dimensions on baseline systemperformance
分析圖2可知,當(dāng)特征維數(shù)在30維之前時,I-Vector基線系統(tǒng)的EER一直呈現(xiàn)下降趨勢,系統(tǒng)性能不斷提高,且當(dāng)特征維數(shù)在第30維左右時,I-Vector基線系統(tǒng)的EER達(dá)到最低.當(dāng)特征維數(shù)超過30維后,I-Vector基線系統(tǒng)的EER呈上升趨勢,使得系統(tǒng)性能不斷降低.因此,本文研究中經(jīng)過處理后的動態(tài)特征維數(shù)為前30維.
為驗(yàn)證不同特征對I-Vector基線系統(tǒng)下的性能影響,本文分別選擇MFCC、PLP、直接相連和本文提出的多特征變換算法進(jìn)行對比實(shí)驗(yàn),不同性能對比實(shí)驗(yàn)結(jié)果見如表3.
表3 不同特征性能比較Tab.3 Performance comparison of different characteristics
由表3可以看出,本文提出算法的EER要明顯低于直接相連、單一MFCC特征和PLP特征算法.這說明對于I-Vector說話人識別系統(tǒng),本文所提算法相較于單一MFCC和PLP特征系統(tǒng)的EER分別提高了8.18%和1.71%.
為了全面準(zhǔn)確地了解和掌握本系統(tǒng)的說話人識別性能,本文設(shè)計(jì)并實(shí)施了多次試驗(yàn),關(guān)于全部說話人的識別方案如表4所列,關(guān)于考慮性別差異的識別方案可參考表5和表6.
表4 系統(tǒng)不考慮區(qū)分性別的差異Tab.4 Gender differences are not considered in the system
表5 系統(tǒng)識別男聲的差異Tab.5 Differences in system recognition of male voice
表6 系統(tǒng)識別女聲的差異Tab.6 Differences in system recognition of female voice
可以發(fā)現(xiàn)在系統(tǒng)不考慮區(qū)分性別差異的情況下,對于I-Vector說話人識別系統(tǒng),本研究所提算法相較于單一MFCC和PLP特征系統(tǒng)的EER分別提高了8.18%和1.71%;在模型訓(xùn)練時間上分別減少了60.4%和47.5%.只考慮系統(tǒng)識別男聲的情況下,對于I-Vector說話人識別系統(tǒng),本文所提算法相較于單一MFCC和PLP特征系統(tǒng)的EER分別提高了11.6%和1.43%;在模型訓(xùn)練時間上分別減少了54.3%和44.7%.只考慮系統(tǒng)識別女聲的情況下,對于I-Vector說話人識別系統(tǒng),本文所提算法相較于單一MFCC和PLP特征系統(tǒng)的EER分別提高了10.0%和2.91%;在模型訓(xùn)練時間上分別減少了62.5%和46.0%.以上實(shí)驗(yàn)數(shù)據(jù)能夠充分證明本文提出算法的嚴(yán)謹(jǐn)有效性.
本文提出一種基于多特征I-Vector的說話人識別算法.首先采集MFCC和PLP等特征并將其進(jìn)行有效融合,解決了單一聲學(xué)特征無法精準(zhǔn)高效地辨識說話人身份的問題;然后對融合的動態(tài)特征采用PCA進(jìn)行變換;最后將變換后的特征送入I-Vector/PLDA基線系統(tǒng)進(jìn)行建模和打分判決.通過在TIMT語料庫上進(jìn)行實(shí)驗(yàn),算法運(yùn)行結(jié)果表明了本文算法的可行性和高效性,但在復(fù)雜噪聲下識別性能有一定的降低.
在今后的研究中,將考慮在語料中加入一定量的噪聲數(shù)據(jù)對其進(jìn)行訓(xùn)練,并采用不同的噪聲分離算法,從而降低噪聲對說話人識別效果的影響.