何勇軍 孫廣路 付茂國 韓紀(jì)慶
(1.哈爾濱理工大學(xué)計算機科學(xué)與技術(shù)學(xué)院,哈爾濱,150080;2.哈爾濱工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院,哈爾濱,150001)
說話人識別在過去的幾十年里受到了廣泛關(guān)注,吸引了大量學(xué)者進(jìn)行深入研究。傳統(tǒng)方法比如高斯混合-通用背景模型(Gaussian mixture model-Universal background model,GMM-UBM)[1],高斯混合-支持向量機(Gaussian mixture model-sup-port vector machine,GMM-SVM)[2]和聯(lián)合因素分析(Joint factor analysis,JFA)[3]等,在無噪的理想情況下取得了令人滿意的識別率;然而在噪聲環(huán)境[4]下其性能將急劇降低,這嚴(yán)重限制了說話人識別技術(shù)走向現(xiàn)實應(yīng)用。
為解決這一問題,研究者們提出了大量方法,這些方法大致可分為兩類。第一類是提取魯棒特性,例如線性預(yù)測倒譜系數(shù)(Linear prediction cepstral coefficient,LPCC),梅爾倒譜系數(shù)(Mel-frequency cepstral coefficient,MFCC)[5]和感知線性預(yù)測系數(shù)(Perceptual linear predictions,PLPs)。特征類方法相對簡單,計算復(fù)雜度低,可以集成在識別系統(tǒng)的前端,但其性能有限。因為目前還沒有一種特征能有選擇地只表示語音而不表示噪聲。第二類方法則嘗試首先去除語音中噪聲,然后從增強后的語音中提取特征,典型的有譜減法和維納濾波。然而,噪聲常常是非平穩(wěn)的,有些噪聲甚至像語音,很難建模和估計。因此這類方法不可避免地會造成語音特征的進(jìn)一步畸變。而現(xiàn)實情況是目前的說話人識別方法對這種畸變是非常敏感。因此,希望采用新技術(shù)來解決這個問題。
近年來,研究者們對稀疏編碼[6]進(jìn)行了廣泛而深入的研究,為噪聲環(huán)境下的說話人識別提供了可能的解決方案。稀疏編碼用一組原子(基元信號)來表示信號,所有原子的集合稱為原子字典。稀疏編碼旨在用少量的原子的線性組合來表示信號。最近,一種被稱為形態(tài)成分分析(Morphological component analysis,MCA)[7]的稀疏編碼方法已被成功應(yīng)用于說話人識別。該方法為每個說話人訓(xùn)練一個字典,并且所有說話人字典連接成一個大字典。在識別過程中,測試語音被稀疏地表示在大字典上。理論上,一個說話人說出的話語只能表示在這個說話人的字典上。因此,稀疏表示可以直接用于分類。
幾乎所有基于稀疏編碼的說話人識別方法都采用MCA的框架。目前常用的方法是首先將說話人的高斯混合模型(Gaussian mixture model,GMM)轉(zhuǎn)變?yōu)榫党蛄浚?-9]或全部可變性i-向量[10],然后把這些向量組成一個大字典,通過在大字典上的稀疏分解來識別說話人。據(jù)報道,這些方法具有比傳統(tǒng)的GMM-UBM和GMM-SVM[8]更好的性能。
盡管目前的方法取得了一定的進(jìn)展,但仍然存在兩個問題需要進(jìn)一步解決。首先,MCA只有在其假設(shè)成立之時才能取得良好性能,即一個說話人的語音在它自己的字典上是稀疏的,而在其他字典上是稠密的[7]。然而,并沒有理論或?qū)嶒炆系淖C據(jù)表明這種假設(shè)在GMM均值超向量域或i-向量域成立。其次,目前的方法還沒有考慮說話人識別的噪聲魯棒性,因而這些方法也無法在噪聲環(huán)境下取得滿意的效果。
為了解決這些問題,提出一種基于MCA的說話人識別方法。在這種方法中,信號首先被轉(zhuǎn)換成幅度譜;在這個域中,語音具有稀疏性。此外,字典通過訓(xùn)練的方式獲得,與通過樣例集合獲得字典的方法相比,本文方法能確保語音分解的稀疏性。更重要的是,說話人字典是通過刪除與通用背景字典原子相近的原子來進(jìn)一步優(yōu)化的,這使得說話人字典具有更強的區(qū)分性。此外,噪聲字典隨輸入噪聲變化,這使得所提出的方法可以吸收時變噪聲。
MCA最初是被提出來用于分離具有不同形態(tài)成分的混合信號,目前已經(jīng)成功用于圖像分離。給定由K個不同的信號X1,X2,…,XK混合而成的實數(shù)域信號Y,即
存在一個字典Ψ=[Φ1,Φ2,…,ΦK],其中Φi∈RN*Mi是信號Xi的一個字典,K是字典的數(shù)量,Mi是Φi中的原子數(shù)量。MCA假設(shè)每個Xi在Φi上稀疏,但是在其他的Φj(j≠i)上稠密,對于信號Y,MCA解決如下的優(yōu)化問題實現(xiàn)稀疏分解
將MCA用于說話人識別在理論上是可行的。在說話人識別任務(wù)中信號不是混合的,而只是一位說話人的語音,即Y=Xi,其中Xi表示第i個說話人的語音。如果每個說話人有一個字典Φi,在這個字典上該說話人的語音是稀疏的,其他說話人的語音是稠密的,能構(gòu)造Ψ=[Φ1,Φ2,…,ΦK]。在理想條件下,求解方程(2)導(dǎo)致Xi≈Φixi,即僅Φi的原子被使用。因此,可以通過已使用的原子的標(biāo)簽實現(xiàn)對Y的分類。在噪聲的環(huán)境中,可以把噪聲看作是一個說話人。滿足MCA的假設(shè)的說話人字典和噪聲字典可以通過相應(yīng)的信號訓(xùn)練得到。因此,在說話人識別任務(wù)中應(yīng)用MCA方法是可行的。
從稀疏分解的角度看,噪聲會存在兩種情況,第一種是噪聲本身是稀疏的,即可以找到一個噪聲字典稀疏表示噪聲信號,那么此時完全可以把噪聲看作一個說話人。第二種情況是噪聲在噪聲字典上不稀疏,雖然此時噪聲字典不起作用,但稀疏編碼可以有效去噪。
從上面的分析中,通過設(shè)計一個基于MCA的方法得到了良好的性能。在此之前,還有3個問題需要考慮:
(1)如何訓(xùn)練一個大字典,使之滿足 MCA的假設(shè)。只有當(dāng)MCA的假設(shè)在說話人識別中成立時,該方法才能像預(yù)期的那樣取得好的分類效果。這種假設(shè)的基本要求是提高大字典的區(qū)分性。
(2)如何應(yīng)對不同的噪聲。噪聲在語音中是很難預(yù)測的,因為它可能有兩種變化。首先是噪聲的類型變化,例如噪聲從一種類型變成另一種類型。其次,噪聲本身可能是時變的。一個固定不變的噪聲字典無法刻畫變化的噪聲,因而影響識別性能。
(3)如何用稀疏表示分類。在理想的條件下,一個說話人的語音只能通過這個說話人的字典來被稀疏表示;然而,在真實的應(yīng)用環(huán)境中,其他說話人的原子也可能被使用,導(dǎo)致錯誤的分類。
考慮到以上問題,設(shè)計了一種新的說話人識別方法(見圖1)。
圖1 基于MCA的說話人識別步驟Fig.1 Procedure of speaker recognition based on MCA
2.1.1 特征提取
所提出的方法中以幅度譜為輸入特征。在特征提取中,語音信號首先被分割成重疊的幀,然后在每一幀上加漢明窗。接下來,對每幀數(shù)據(jù)作離散傅里葉變換(Discrete Fourier transform,DFT)并計算幅度譜作為輸入特征。
2.1.2 大字典的結(jié)構(gòu)
設(shè)計一種新型結(jié)構(gòu)的大字典,下面是有K個說話人的識別系統(tǒng)
式中:Φ0是一個通用的背景字典,包括所有的說話人的共同的特征。這里借鑒了GMM-UBM用UBM來為背景建模的方法。Φi(i=1,…,K)用于刻畫第i個說話人的變化性。Φv用于刻畫環(huán)境噪聲。在Ψ中的所有原子都被標(biāo)準(zhǔn)化成單位范數(shù)向量。
這樣的一個字典結(jié)構(gòu)具有兩個顯著優(yōu)勢。首先,它使大詞典有更強的鑒別能力。其次,每個說話人字典的原子數(shù)量可以大幅度減少,這降低了稀疏分解的計算復(fù)雜度。
2.1.3 字典訓(xùn)練
許多方法被用來訓(xùn)練字典,例如,k-SVD[11],k-means[12]。選擇k-SVD來訓(xùn)練字典。字典訓(xùn)練的問題被描述成
式中:Y=[Y1,Y2,…,YM]是訓(xùn)練的數(shù)據(jù)集,每一個Yi都是語音幀的特征向量,Φ是字典,X=[x1,x2,…,xM]是一組與Y相對應(yīng)的稀疏向量,T0是稀疏度的門限。通用的背景字典用大量未標(biāo)記的不同說話者的語音來訓(xùn)練。每個Φi都用第i個說話者的語音來訓(xùn)練,用Y作初始值。
2.1.4 字典的優(yōu)化
在該方法中,使用Φ0來刻畫所有的說話人的共同變化。希望每個說話人的字典只刻畫這個說話人和其他說話人之間的不同之處,這樣可以提高字典的鑒別能力。為此,提供了一種方法來優(yōu)化說話人字典(算法1如下所示)。
算法1:字典優(yōu)化
2.2.1 稀疏分解
稀疏分解通過解式(2)來實現(xiàn),但這被證明是NP-難的,不可能通過窮舉搜索所有可能的原子集來實現(xiàn)。然而,如果語音是稀疏的或近似稀疏的,那么它可以通過優(yōu)化式(5)唯一求解[13]
式中:λ>0是調(diào)節(jié)參數(shù)。式(5)也稱為基追蹤去噪法(Basis pursuit de-noising,BPDN),是本文采用的稀疏分解算法。
2.2.2 噪聲字典更新
由于未知的噪聲是時變的,因而不可能用一個固定的字典來刻畫。一個可行的方法是,用混噪測試語音更新噪聲字典。
算法2:噪聲字典更新
更新的方法如算法2所示,其中γ是一個被噪聲污染的測試語音,δ是稀疏分解的誤差門限,ys是Yi在Ψ=[Φ0,Φ1,Φ2,…,ΦK]上的稀疏表示,Γ用于保存殘留噪聲樣本,K-SVD(Γ,Mv)表示函數(shù)采用K-SVD訓(xùn)練算法訓(xùn)練字典,Mv為字典的原子數(shù),Γ訓(xùn)練數(shù)據(jù)集。噪聲字典以在線的方式訓(xùn)練。噪聲語音減去干凈語音的殘余是訓(xùn)練數(shù)據(jù)。訓(xùn)練過程重復(fù)進(jìn)行,直到稀疏度收斂為止。
2.2.3 稀疏分類
對于一組測試語音幀[Y1,Y2,…,YP]和其相對的稀疏表示[y1,y2,…,yP],根據(jù)式(6)實現(xiàn)對測試語音的分類
式中:δi(·)表示一個實數(shù)向量,其中非零項僅僅來自第i個類別。值得注意的是僅僅在說話人字典上的表示系數(shù)被用于范數(shù)計算,而噪聲字典上的系數(shù)則被丟棄。這種方式能有效減小說話人共性和噪聲對識別結(jié)果的影響。
本文采用“863”中文數(shù)據(jù)庫來測試所提出的方法。該語料庫是在國家高新技術(shù)項目支持下為開發(fā)ASR系統(tǒng)而建立,包含96 269句83名男性和83名女性的語音(每個說話人有520句)。數(shù)據(jù)是在無噪環(huán)境下通過近距離麥克風(fēng)錄入,采樣率16 kHz,量化位數(shù)16位。每個說話人的前10句語音用于字典訓(xùn)練,接下來的10句用于測試。每句測試語音作為一次測試。所有數(shù)據(jù)以8kHz的采樣率進(jìn)行重采樣。用所有訓(xùn)練數(shù)據(jù)訓(xùn)練一個包含512個原子的通用背景字典。用每個說話人的訓(xùn)練數(shù)據(jù)訓(xùn)練這個人的字典,訓(xùn)練時以UBD為初始值,然后通過算法1優(yōu)化。為了獲得噪聲環(huán)境下的測試語音,將4種噪聲(來自noisex-92數(shù)據(jù)庫[14]),即 white,f16,babble和pink,分別以0,5,10和20 dB的信噪比人為地加在測試集語音上。這樣就有了4個噪聲版本的測試集。
在預(yù)處理中,窗長為20ms,窗移為10ms。DFT點的數(shù)量是512,因此每個向量的維數(shù)是257。算法1中的參數(shù)T設(shè)置為64,這意味著優(yōu)化后每個說話人字典中有64個原子。噪聲字典的原子數(shù)量也是64。式(5)中的λ被設(shè)為0.01,算法2中δ被設(shè)為7。實驗中以GMM-UBM方法為基線系統(tǒng),同時選擇GMM-SVM和維納濾波來進(jìn)行比較。使用的特征是13維的 MFCC系數(shù)(c0~c12)及其一階和二階的導(dǎo)數(shù)。所有特征都經(jīng)過倒譜均值和方差的規(guī)正處理。采用EM算法在所有訓(xùn)練數(shù)據(jù)集上訓(xùn)練一個混合度為1 024的UBM。每個說話人的GMM模型用這個說話人的訓(xùn)練數(shù)據(jù)來訓(xùn)練,訓(xùn)練算法為最大后驗概率自適應(yīng)。
至于GMM-SVM,是將每個培訓(xùn)語音轉(zhuǎn)變成GMM均值超向量,所有超向量都用來訓(xùn)練SVM分類器。另一種用于比較的方法是采用維納濾波增強語音后提取特征,然后訓(xùn)練模型。實驗采用識別準(zhǔn)確率來衡量性能。
結(jié)果如表1所示,其中GU表示GMM-UBM,GS表示GMM-SVM,WF表示維納濾波??梢钥吹?,在干凈的條件下所有的方法都可以達(dá)到滿意的效果。GMM-UBM的性能隨著噪聲水平的增加而迅速降低。在10dB的白噪聲下,其準(zhǔn)確率下降到6.0%。GMM-SVM的性能比GMM-UBM要好,但它對噪聲也很敏感。維納濾波獲得的提升是很有限的,在某些情況下,其準(zhǔn)確率甚至?xí)陆?,如在Babble噪聲下。盡管語音增強方法可以減少噪聲,但它們引起了進(jìn)一步的畸變,而當(dāng)前的說話人識別系統(tǒng)對此是非常敏感的。相比之下,本文方法取得了比其他方法更好的性能。當(dāng)信噪比為20 dB,精度可以達(dá)到高達(dá)90%以上;信噪比下降到0 dB時,精度可以保持60%以上。
表1 在各種不同噪聲環(huán)境下的性能比較Table 1 Performance comparison under various noisy environments %
在現(xiàn)實的應(yīng)用中,說話人識別系統(tǒng)的性能隨信噪比的降低而迅速下降,因此,提高系統(tǒng)的魯棒性具有重要的作用。目前的研究主要集中在信道失配和場景變化上。雖然目前的文獻(xiàn)提出了許多有效的方法;然而,缺乏有效的方法來克服噪聲的影響。為了解決這一問題,提出一種基于MCA的說話人識別方法。在分析MCA的假設(shè)基礎(chǔ)上,設(shè)計了一種字典構(gòu)造方法使這一假設(shè)成立。首先,在頻譜域訓(xùn)練字典,這里的語音傾向于稀疏。字典是通過訓(xùn)練的方法而不是收集樣例的方法來獲取,這進(jìn)一步確保了語音在字典上稀疏。第二,設(shè)計了一種新型的字典結(jié)構(gòu)并通過增強字典的區(qū)分性來優(yōu)化字典。一方面,這種方法使得說話人字典能刻畫不同說話人的變化;另一方面,可以大幅度減少原子數(shù),提高系統(tǒng)效率。第三,在大詞典中放入噪聲字典,并給出了一個根據(jù)噪聲在線更新噪聲字典的算法,這確保了噪聲字典可以稀疏表示隨時變化的噪聲。最后,在實驗中通過在干凈語音中人為添加噪聲來模擬噪聲環(huán)境。實驗結(jié)果表明,該方法對于各種噪聲具有魯棒性。
本方法對環(huán)境噪聲具有更強的魯棒性,因此具有更加廣泛的實用價值,可用于現(xiàn)實的說話人識別任務(wù)。雖然所提出的方法對字典進(jìn)行了優(yōu)化,但計算量仍然很大。因此該方法目前不適合用于有實時需求的應(yīng)用場合。我們將在未來的工作中降低本方法的時間復(fù)雜度,提高其運行的效率。
[1] Reynolds D,Quatieri T F,Dunn R B.Speaker verification using adapted Gaussian mixture models[J].Digital Signal Process,2000,10:19-41.
[2] Campbell W M,Sturim D E,Reynolds D A.Support vector machines using GMM supervectors for speaker verification[J].IEEE Signal Processing Letters,2006,13:308-311.
[3] Kenny P,Boulianne G,Ouellet P,et al.Joint factor analysis versus eigenchannels in speaker recognition[J].IEEE Trans Audio Speech Lang Process,2007,15(4):1435-1447.
[4] Ming J,Hazen T J,Glass J R,et al.Robust speaker recognition in noisy conditions[J].IEEE Trans Audio Speech Lang Process,2007,15(5):1711-1723.
[5] 王華朋,楊軍.應(yīng)用似然比框架的法庭說話人識別[J].數(shù)據(jù)采集與處理,2013,28(2):239-243.
Wang Huapeng,Yang Jun.Application of likelihood ratio for speaker recognition framework[J].Journal of Data Acquisition and Processing,2013,28(2):239-243.
[6] Donoho D L.Compressed sensing[J].IEEE Trans on Inf Theory,2006,52(4):1289-1306.
[7] Bobin J,Starck J-L,F(xiàn)adili J M,et al.Morphological component analysis:An adaptive thresholding strategy[J].IEEE Trans on Image Processing,2007,16(11):2675-2681.
[8] Naseem I,Togneri R,Bennamoun M.Sparse representation for speaker identification[C]//Proc ICPR.Turkey:Istanbul,2010:4460-4463.
[9] KuaJ M K,Ambikairajah E,Epps J,et al.Speaker verification using sparse representation classification[C]//Proc ICASSP.Czech,Prague:[s.n.],2011:4548-4551.
[10]Dehak N,Kenny P,Dehak R,et al.Front-end factor analysis for speaker verification[J].IEEE Trans Audio Speech Lang,2010,19(4):788-798.
[11]Aharon M,Elad M,Bruckstein A M.The K-SVD:an algorithm for designing of overcomplete dictionaries for sparse representation[J].IEEE Trans on Signal Process,2006,54(11):4311-4322.
[12]MacQueen J B.Some methods for classification and analysis of multivariate observations [C]//Proc BSMSP.Berkeley:University of California Press,1967:281-297.
[13]Chen S,Donoho D,Saunders M.Atomic decomposition by basis pursuit[J].SIAM Rev,2001,43(1):129-159.
[14]Horman S.Introduction of noisex-92.Available:http://www.speech.cs.cmu.edu/comp.speech/Section1/Data/noisex.html.1996-08-13