張興明,王科人,黃山奇
(國家數字交換系統工程技術研究中心,河南鄭州450002)
一個典型的說話人識別系統提取的說話人特征通常為時變特性參數如梅爾倒譜系數MFCC(Mel-Frequency Cepstrum Coefficients)[1]、感知線性預測系數PLP(Perceptual Linear Prediction)[2]或韻律特征[3]。然而,實際使用時由于受到噪音干擾,或者訓練與識別傳輸通道不匹配,識別系統通常不能表現良好[4]。目前解決這一問題的手段主要集中在特征域、模型域和得分域。現有特征域魯棒性處理方法主要有:RASTA濾波[5]、倒譜均值歸一化(CMN)[6]、直方圖均衡[7]和倒譜規整[8-11]等。這些算法通常以在識別前增加額外的運算來換取魯棒性的提高,如統計概率密度分布及計算各階矩等。
本文算法主要從特征域入手,旨在減少識別階段運算時間的同時提高識別系統的魯棒性。參考文獻[12]采用了觀察值的各階矩和中心矩作為段級特征,并與模型結合,在不顯著影響識別率的情況下提高了識別速度。其缺點是,采用段級特征與采用幀級特征相比較識別率較低。參考文獻[13]提出了一種改進的PCA方法用于掌紋識別,通過提取更有利于分類的基向量,提高了降維后特征的魯棒性。本文結合了兩者的優點,提出了一種基于PCA的段級特征PCAULF(PCA based Utterance Level Feature)提取算法。該算法特點如下:
(1)以段級特征代替幀級特征,可減少識別過程中模板匹配的次數,通過減少運算量來提高識別速度;
(2)在段級特征降維時引入改進的PCA算法,一方面實現了數據的降維,既抑制了噪聲對識別系統的影響,又提高了識別的速度;另一方面,選擇更利于分類的特征向量組成變換矩陣,提高識別系統的魯棒性。
實驗結果表明,在三種不同噪聲背景下進行測試比對,段級特征獲得了較高的識別率和較快的識別速度。
由于語音的短時平穩特性,可以考慮在一段語音中提取特征,這樣就使得同樣的語音長度用更少的語音特征去描述,該特征被稱為段級特征。它是和傳統的按幀提取語音特征相對應的一個概念。段級特征的一般表示形式是:

(1)以G為段長、Ginc為段移,將G個幀級特征矢量組合成超矢量。組成超矢量的操作類似于對數據的取幀操作,如圖1所示。

圖1 超矢量示意圖
(2)采用改進的主成分分析方法對超矢量進行降維,得到段級特征。
主成分分析PCA(Principal Component Analysis)是一種掌握事物主要矛盾的統計分析方法,它可以從多元事物中解析出主要影響因素,簡化復雜的問題。PCA假定具有大變化的方向的數據比有很少變化的方向上的數據攜帶有更多的信息,因而它尋找具有最大方差的那些稱之為主軸的方向來表征原始數據。計算主成分的目的是在最小均方誤差意義下將高維數據投影到較低維空間。
ULF=P·X(3)的形式有效表示X。其中,通過K-L變換(Karhunen-Loeve Transform)計算相互正交的一組基向量,可以得到P。
具體的PCA分析步驟如下:(1)計算特征超矢量集X的協方差矩陣Σ:

計算矩陣Σ的pG個特征值λd及其對應的特征向量,并按特征值大小將特征向量降序排列。
(2)以某一設定的累積貢獻率門限確定降維后的維數q,將前q個特征向量wpcai(i=1,2,…,q)組成維數為q×pG的變換矩陣P:

(3)對所有的超矢量采用式(3)進行降維處理,得到段級特征。
傳統的PCA算法中,選取較大特征值對應的特征矢量作為基向量,對數據進行降維,其本質決定了在該方法下得到的特征在一般情況下是最佳描述特征(MEFs),而不是最佳分類特征(MDFs),這不利于分類匹配[14]。改進的PCA算法結合分類信息,選取主成分時選取對類間和類內離散度貢獻比值大的特征向量作為基向量[12],更利于分類匹配,本文所選用的PCA方法為改進的PCA。具體步驟如下。令

分別代表訓練超矢量集的總體散布矩陣、類內散布矩陣和類間散布矩陣。令

代表PCA變換矩陣。根據PCA的算法原理,如下變換成立:在式(10)中,wT

pcaiSbwpcai和wT
pcaiSwwpcai分別表示在對類間和類內離散度的貢獻度為二者的比值,該比值越大,對于分類
采用PCAULF作為特征參數的說話人識別模型如圖2所示。語音數據經過預處理和特征提取兩個步驟,得到幀級特征矢量集。訓練時,由PCA對所有語音的段級特征求取降維變換矩陣,之后通過訓練得到模板參數;識別時,首先使用訓練時得到的變換矩陣對待測語音的段級特征進行降維,之后再通過模板匹配得到識別結果。


圖2 基于PCAULF的說話人識別模型
語音數據采用TIMIT語音數據庫,隨機選取50人,匹配來說是越有利的。根據該比值大小選取特征向量的公式如下:每人共10條語音,每條語音長4~6 s,其中8條用于訓練,2條用于識別,保證了訓練與識別語音的不一致。噪聲庫采用NoiseX-92專業噪聲庫中的三種常見噪聲,分別為平穩高斯白噪聲、粉噪聲和Babble噪聲。基線系統聲學特征采用能量和12階MFCC特征以及衍生的ΔMFCC,共26維,之后進行了倒譜提升和RASTA濾波;模型采用訓練和識別較為快速的矢量量化(VQ),碼本大小取32。語音采樣頻率為8 kHz,幀長為32 ms,幀移為12.5 ms。
本節主要開展了以下三個實驗:
實驗一:對純凈的語音進行訓練,以段長分別為G=1,2,…,8,段移分別為Ginc=1,2,…,G求取段級特征,設累積貢獻率門限為1,得到變換矩陣(該變換矩陣并沒有實現降維);在識別階段,先對G幀語音特征組成的超矢量進行變換,再測試其識別率。該實驗主要用于分析合適的段長和段移。
實驗二:在純凈語音基礎上,以信噪比SNR(Signal Noise Ratio)為20 dB、10 dB、5 dB分別混疊了NoiseX-92專業噪聲庫中的平穩高斯白噪聲(White)、粉噪聲(Pink)和Babble噪聲(Babble),取實驗一分析得出的段長和段移,采用不同的PCA降維參數,對幀級特征和段級特征進行變換,測試識別率,并對各種噪聲和SNR條件下的識別率求平均,得到不同PCA參數所對應的識別率。該實驗主要用于分析降維參數對識別率的影響。
實驗三:根據實驗一、二得到的段長、段移和降維參數,采用實驗二的加噪方法對純凈語音進行加噪,對段級特征、經過PCA降維處理的幀級特征以及基線系統的幀級特征的識別性能進行了測試。該實驗主要用于對本文提出的算法的識別精度和速度進行測試。
實驗一結果如表1所示。
由表1可見,當以幀級特征作為訓練和識別的特征時,其識別率明顯低于經PCA方法變換后的段級特征的識別率。總體來說,當G固定時,隨著Ginc的增加,識別率逐漸降低;當Ginc固定時,隨著G的增加,識別率也逐漸降低。當G≥8時,段級特征識別率不如幀級特征。當G=1,Ginc=1時,等效為直接用PCA方法對幀級特征進行變換。由于幀級特征(能量+MFCC+ΔMFCC)中計算一階差分時引入了冗余,PCA方法正是為了去除各個主成分之間的冗余,故經PCA變換后的幀級特征(G=1,Ginc=1)擁有更好的識別性能。但當語音信號為帶噪數據時,該特征識別性能不如段級特征(見2.3節)。

表1 段長與段移實驗結果
由于當G和Ginc均較大時,模板匹配次數減小,識別速度會得到明顯提高,因此,為了兼顧識別速度和精度,結合表1的結果,本文選取G=6,Ginc=4。
實驗二結果如圖3(a)、(b)所示。其中,PCA參數主要指的是設定的累積貢獻率門限,即選用累積貢獻率不小于累積貢獻率門限的多個特征矢量組成降維變換矩陣。

圖3 不同PCA參數下的識別結果
由圖3(a)可見,對于幀級特征,當訓練語音和待測語音較純凈時,累積貢獻率門限值越大,識別率越高。圖3(b)表明,對于段級特征,累積貢獻率門限值位于94%附近時,識別效果較好。門限太大易造成噪聲參與識別,影響識別精度;門限太小,易造成降維后的特征包含語音信息不充分,雖然能提高識別速度,但卻降低了識別精度。因此,本文在進行PCA降維時,選用累積貢獻率不小于94%的特征向量組成降維變換矩陣。
實驗三結果如圖4~圖6所示。
由圖4~6可以看出:(1)總體來說,在三種常見噪聲環境下,段級特征與經PCA降維后的幀級特征識別率相近,均高于直接采用幀級特征時的識別率。(2)由于段級特征引入了長時特征,且PCA降維在一定程度上抑制了噪聲對識別的影響,因此,在SNR較低時(SNR<20 dB時)具有更好的魯棒性。

圖6 Babble噪聲下的識別結果
以上實驗的PC配置為:Intel Core(TM)2 Duo CPU E7500@2.93 GHz,1.96 GB內存。三種特征在所有語音的識別階段的平均運算時延如表2所示。

表2 三種特征在所有語音的識別階段的平均運算時延(s)
可見,由于識別時,模板匹配的運算時延遠大于對數據進行降維的運算時延,而段級特征的引入帶來了模板匹配次數的減小,因此,段級特征在識別階段的運算速度明顯大于幀級特征,約為幀級特征的2.8倍,更加適用于實時說話人識別系統。
本文以現有的幀級語音特征為基礎,結合語音的長時特性和改進PCA方法,提出了一種適用于說話人識別的段級語音特征,并分析了算法中的參數對識別性能的影響。實驗結果表明,該算法在提高語音特征魯棒性的同時,提高了識別速度,適用于實時說話人識別系統。
[1]FURUI S.Digital speech processing,synthesis,and recognition[M].New York:Marcel Dekker,2001.
[2]GISH H,SCHMIDT M.Text independent speaker identification[J].IEEE Signal Proc,1994,11(4):18-32.
[3]REYNOLDS D A.The super SID project:Exploiting high level information for high accuracy speaker recognition[A].In IEEE International Conference on Acoustics,Speech and Signal Processing[C].Hong Kong,China,2003:784-787.
[4]DRYGAJLO A,MALIKI M E.Speaker verification in noisy environments with combined spectral subtraction and missing feature theory[A].In IEEE International Conference on Acoustics,Speech and Signal Processing[C].Seattle,USA,1998,1:121-124.
[5]HERMANSKY H,MORGAN N.Rasta processing of speech[J].IEEE Trans on Speech and Audio Processing.1994,2(4):578-589.
[6]WANG L,KITAOKA N,NAKAGAWA S.Analysis of effect of compensation parameter estimation for CMN on speech/speaker recognition[A].In 9th International Symposium on Signal Processing and Its Applications(ICASSP’07)[C].Sharjah,2007:1-4.
[7]TORRE A,SEGURA J C,BENITEZ C.Non-linear transformations of the feature space for robust speech recognition[A].In IEEE Proc.Of ICASSP[C].Orlando,USA,2002:401-404.
[8]VIIKKI O,LAURILA K.Cepstral domain segmental feature vector normalization for noise robust speech recognition[J].Speech Communication,1998,25(1):133-147.
[9]HSU C W,LEE L S.High order cestral moment normalization(HOCMN)for robust speech recognition[A].In IEEE Proc of ICASSP[C].Montreal,Canada,2004:197-200.
[10]LIU B,DAI L R,LI J Y.Double gaussian based feature normalization for robust speech recognition[A].In Proc of ISCSLP[C].Hong Kong,2004:253-256.
[11]DU J,Wang Renhua.Cepstral shape normalization(CSN)for robust speech recognition[A].In Proc of ICASSP[C].Las Vegas,USA,2008:4389-4392.
[12]王波,徐毅瓊,李弼程.基于段級特征的對話環境下說話人分段算法[J].計算機工程與應用,2007,28(10):2401-2416.
[13]任蘇亞,基于改進的PCA和ICA算法的掌紋識別研究[D].北京:北京交通大學,2007:35-39.
[14]NALIN P S,MAYUR D J,PRAKASH C,et al.Palm print recognition:two level structure matching[A].In Proc.of IJCNN[C].Vancouver,Canada,2006:664-669.