沈思秋,呂 勇,楊 蕓,齊彥云
(河海大學 計算機與信息學院,江蘇 南京 210096)
高斯混合模型(Gaussian Mixture Modeling:GMM)[1]和隱馬爾可夫模型(Hidden Markov Modeling:HMM)[2]已經(jīng)被成功應用于多種分類識別中,最大似然估計(MLE)和期望最大(EM)算法能有效地估計模型的參數(shù)。然而,模型域方法存在一個明顯的缺陷,那就是被建模的模型是獨立的,也就是說,當為一個類建立一個模型后,這個模型不考慮其它類的數(shù)據(jù)。換句話說,其它類的數(shù)據(jù)不能夠被用來優(yōu)化分類識別效果。因此,建立這樣的模型會增大誤識率。在數(shù)據(jù)訓練過程中,如果能獲取本類特有的特征,且利用這個特征能有效地識別出其他類的數(shù)據(jù),這樣就可以提高分類器的分類識別能力。
現(xiàn)在的很多研究中,通過增強分類器對其它類數(shù)據(jù)的識別能力的方法來提高識別性能的文獻主要有以下兩類:
1)除去兩個類所共同擁有的且相近的特征。
2)調(diào)整模型的參數(shù),使得它們在特征域中能很好的分開。
一些方法被提出來用以提高GMM的分類能力,通用背景的高斯混合模型 (Universal ackground Model-Gaussian Mixture Model:UBM-GMM)是其中一種已經(jīng)被廣泛使用的方法。UBM模型的建立過程使用了所有可能的說話人的數(shù)據(jù)。在訓練過程中,用最大后驗概率(MAP)算法對說話人的特定模型進行調(diào)整,使它適應于UBM。
文獻[3]提出了基于最小分類誤差(Minimum Classification Error:MCE)的算法。在這個方法中,所有的說話人的聲音都被用來估計別的說話人所屬的類,這是一個比較有效的方法。然而,當說話人數(shù)非常多的時候,這種方法因計算量迅速增大而變得不適用。文獻[4]指出,i-矢量方法是說話人分類識別領域中有效的方法,它能將輸入的高維數(shù)據(jù)變?yōu)榈途S數(shù)據(jù),且保留住輸入數(shù)據(jù)的相應信息,文獻[5]中的聯(lián)合因子分析框架就用到了這種方法。
當存在兩個發(fā)音相似的說話人時,這篇文章在音素層次上對他們進行區(qū)分。文中首先提取出說話人特定的特征集,再用基于GMM和i-矢量的方法對說話人進行識別。實驗結果表明,這篇文章提出的方法的識別準確率要優(yōu)于傳統(tǒng)的基于GMM以及i-矢量的方法。
本文剩余部分組織如下:下一節(jié)強調(diào)了說話人特定特征集的獲取;所使用的基于GMM的方法在第2節(jié)進行介紹;第3節(jié)介紹i-矢量方法;第4節(jié)介紹了本文的實驗步驟;第5節(jié)對實驗結果進行了分析與討論;最后一節(jié)對全文進行總結。
文獻[6]提出了一種基于高斯混合模型(GMM)的方法,該方法提取出每一個類獨有的特征,并只用該特征對說話人進行識別。在測試過程中,提取出每一個類別特有的特征矢量,從而提高識別器的識別性能。該方法的其中一個缺陷是:如果無法從用于測試的發(fā)聲中找到合適的特征,則識別結果的準確率就無法得到保證。該方法的另一個缺陷是:在測試階段提取與鑒定每個類別所獨有的特征的過程中存在大量運算,因為每個發(fā)聲中可能還存在其它類別的特征,要將其排除,故這會降低系統(tǒng)的實時性。如果一個說話人的聲音中只包含了本類別所特有的特征,那么運算消耗的時間可以減少,但在實際過程中,出現(xiàn)這種情況幾乎是不可能的。
本文研究了說話人特有的特征集對說話人識別結果的影響,主要工作分為以下3個步驟:
1)為每一個說話人找出與他發(fā)聲相似的其他說話人(稱為干擾者)。
2)將每個說話人的發(fā)聲和他的干擾者的發(fā)聲相比較,提取出他特有的特征集。
3)將上一步結束后得到的結果用于測試識別。
文獻[7]用TIMIT語音集對以上方法的結果進行了實驗,但在訓練與測試過程中,作者只考慮了每個人僅存在一個干擾者的情況。該文獻的方法產(chǎn)生誤識率的一個原因是:該文章用對數(shù)似然值的均值來產(chǎn)生不同的聲學特征集,如果某些音素中的樣本較少,則這種方法產(chǎn)生的結果不可靠。該文獻所使用的TIMIT語音集中,音素含有的樣本很少,某些音素甚至只有2個樣本,因此,通過對數(shù)似然值產(chǎn)生的聲學特征集非常不可靠,有時甚至是錯誤的。為了避免這種情況產(chǎn)生,可以建立自己的語音庫。本文建立了自己的語音庫,確保了每個音素有足夠的樣本數(shù)(至少有30個)。
此外,在文獻[7]中,只考慮了每個人僅存在一個干擾者的情況。另一方面,如果每個說話人存在不止一個的干擾者,則可以通過與所有這些干擾者的發(fā)聲逐個進行比較的方法提取出這個人所特有的特征集。講到這里,某些人可能會產(chǎn)生疑惑,他們可能認為通過這種方法提取到的特征集并不僅僅屬于該說話人的,它們也是這位說話人的干擾者的特征。在一個閉集中考慮有n個人的說話人識別過程,即每個說話人是這n個人中的其中之一,每個人所特有的音素可以通過以下兩種方法來獲得:
1)將剩余的n-1個人全都視為干擾者。
2)從剩余的n-1個人中選取一部分作為干擾者。
若使用第一種方法,則運算量相對較大,此外,由于其他的n-1個干擾者的發(fā)聲并不一定與該說話人的發(fā)音有相似性,故本文使用第二種方法。
當要提取某個說話人的音素特征時,這個人稱為目標說話人,將目標說話人的特征與所選取的干擾者逐個進行比對,比較兩人發(fā)聲中音素和模型的相似性就可以得到目標說話人特有的特征。具體過程如下:
設S為目標說話人提取到的特征,即
假設M、N為所選取的S的兩個干擾者,由于他們的發(fā)聲與S相似,故M發(fā)聲中的某些特征會跟S的某些特征相同。設M中有如下特征跟S的相同:
N中有如下特征跟S的相同:
則通過逐一比較,可得到說話人特有的特征集為:
可見,S2中的特征參數(shù)已經(jīng)排除了si和sk,即這些參數(shù)是說話人S所特有的。得到S2后,再用基于GMM和i-矢量的方法對說話人進行識別。
本文將美爾頻率倒譜系數(shù)(MFCC)作為特征參數(shù)。研究表明,人耳對聲音的頻率分辨能力是不均勻的,對低頻的分辨率較高,對高頻的分辨率較低[4]。人耳對頻率在1 kHz以下的聲音的感知能力遵循線性關系,而對頻率在1 kHz以上的聲音的感知能力遵循的是對數(shù)頻率坐標上的線性關系。MFCC考慮到了人耳的這種特點,它先將頻譜轉變?yōu)槊罓栴l標的非線性頻譜,接著再轉換到倒譜域上。美爾頻率Mel(f)與實際頻率f間的關系式如下:
若將美爾頻率在整個頻帶上進行等間距劃分,則可得到一系列中心頻率。再以每個中心頻率為中點,以上一個和下一個中心頻率為截止頻率,構建一系列三角帶通濾波器,再將其變換到實際頻域中,就可得到圖1所示的美爾濾波器組。
圖1 美爾濾波器組Fig.1 Mel filter banks
美爾頻率倒譜系數(shù)的提取步驟框圖下所示:
1)對輸入的語音信號進行數(shù)字化以及加窗、分幀等預處理過程,得到各幀的時域信號x(n)。
2)對時域信號x(n)進行離散傅里葉變換,得到每幀信號的短時幅度頻譜X(K):
其中,N為幀長。
3)用美爾濾波器組對求得的短時幅度頻譜X(K)進行加權求和,得到美爾譜S(m):
其中,S(m)為第m個美爾濾波器的輸出,M為濾波器個數(shù),Wm(k)為第m個美爾濾波器在頻率k處的加權因子。
4)對美爾濾波器組的所有輸出取對數(shù),并且作離散余弦變換(DCT),就可得到 MFCC:
其中,L是MFCC的維數(shù)。
由于本文是在音素層次上提取說話人發(fā)聲的特征,故需要將發(fā)聲進行分幀處理,使得每幀語音信號含有若干個音素,再求取各幀信號的MFCC。
首先介紹一下GMM模型的基本概念?;贕MM的說話人識別的原理是對每一個說話人建立一個高斯混合模型 (概率模型),該模型的參數(shù)由說話人的特征參數(shù)的分布決定的,因此,表征了說話人的身份。為了方便,假設每個人有相同形式的概率密度函數(shù),但每個人的概率密度函數(shù)中的參數(shù)不同,這時說話人模型就是在特定概率密度函數(shù)形式下的一組參數(shù)。
對M個高斯概率密度函數(shù)進行加權求和,即可求得M階混合高斯模型(GMM)的概率密度函數(shù),即:
其中,M是模型的階數(shù),X是一個P維隨機向量,wi(i=1,2,…,M)代表混合權重,bi(X)代表子分布,每一個子分布是P維的聯(lián)合高斯概率分布,表達式如下:
上式中的右邊第三項,即協(xié)方差矩陣可以是對角陣或一般的矩陣。為了簡化計算過程,本文使用對角陣,即:
其中,Xm和uim分別是X和ui的第m個分量。
基于GMM的說話人識別過程主要包括模型訓練和說話人識別這兩個過程。在訓練階段,將說話人發(fā)聲的特征通過參數(shù)估計,為每個說話人確定一組參數(shù),從而建立模型。在說話人識別階段,通過分析測試語音的特征與被建立的模型的相似度來進行識別。
以上介紹的是傳統(tǒng)的基于GMM的說話人識別方法。在模型訓練階段,需要用說話人發(fā)聲的特征參數(shù)進行參數(shù)估計,本文用于估計的特征參數(shù)是每個說話人他自己所特有的,他所特有的特征參數(shù)的提取方法在上一小節(jié)中作了詳細說明。
在基于i-矢量的方法中,一個長度可變的語音向量被投影到一個低維的線性子空間中,這個子空間的基是根據(jù)EM算法估計出來的。話語的這種低維表示方式被稱為i-矢量。傳統(tǒng)的聯(lián)合因素分析方法是分別為說話人的發(fā)聲本身和其它可變因素各找一個子空間,其中,可變因素的空間中包含著一些信息,這些信息可以用來區(qū)別多個說話人?;谶@個原因,文獻[8]的作者用一個空間來模仿這兩個可變因素,他將這個空間稱為總可變空間。他的基本假設是:說話人本身以及其它因素所依賴的GMM矢量M可以用以下模型來表示:
其中,m是說話人本身以及其它因素所依賴的矢量T是一個低秩的矩陣,代表總可變空間降維后的部分,w是一個標準正態(tài)分布矢量。
T被稱為總可變矩陣,向量w中的元素代表在降維后的空間中各個說話人。這些特征矢量便是身份矢量(i-矢量)。
本文所使用的i-矢量不是一般的特征矢量,而是每個說話人他自己所特有的特征矢量。T可采用文獻[9]中的EM算法估計得到,w可根據(jù)文獻[9]中的MAP算法估計得到。
在本文的實驗中,創(chuàng)建了自己的語音庫,從TIMIT語音庫中收集了142個英文句子,每個句子中的音素至少有30個(英語中共有45個音素),如果將靜默也看成是一個音素,那么本文共涉及到46個音素。在實驗中,用16 kHz的采樣頻率來錄制語音,選取50個人作為說話人(其中43個女人,7個男人),他們的年齡都在20-35歲之間,他們的每個發(fā)聲持續(xù)時間大約為3秒鐘,用文獻[10]中的Forced Viterbi alignment算法對整個語音數(shù)據(jù)在音素水平上進行分段。
對于每個說話人說的142個句子中,130個句子用于訓練,12個句子用于測試,為每個說話人訓練出一個含有128個混合元素的高斯混合模型,提取出語音的美爾頻率倒譜系數(shù)(MFCC)作為特征。為了找到干擾者,用所有說話人的模型對每個說話人的130個訓練發(fā)聲進行測試,這里每個說話人的干擾者數(shù)量為3,根據(jù)有序?qū)?shù)似然值來找出這3個干擾者。找出所有說話人他們各自的干擾者后,就得到了一份干擾者清單。
為了得到每個說話人特有的特征集,在訓練過程中要用說話人本身以及他的干擾者的模型對他及其干擾者的音素進行檢測。每一個音素的平均對數(shù)似然值是通過該說話人跟他的干擾者計算出來的。根據(jù)有序的平均對數(shù)似然值,可認為起初的20個音素是不同的聲學音素,這樣可得到每個說話人與他的干擾者所不同的音素。重復這個過程,直到遍歷完所有說話人的音素,為了減小計算量,提取出每個人20個音素中的前6個音素作為該說話人特有的音素,對其進行特征提取,便可得到說話人特有的特征集。
在基于高斯混合模型的方法中,對于每個說話人,對該說話人特有的特征參數(shù)進行參數(shù)估計,為每個說話人建立一組參數(shù),參數(shù)個數(shù)為128,從而為他建立了模型。用同樣的方法對該說話人的干擾者也進行同樣的建模過程。在基于i-矢量的方法中,用說話人特有的特征參數(shù)作為i-矢量,為每個說話人建立一個含有128個參數(shù)的UBM,并且把每一個人的142個句子集中在一起,總可變矩陣可通過集中起來的數(shù)據(jù)估計得到。i-矢量的維數(shù)設為400,它通過摘錄每個說話人的測試用的發(fā)聲來獲得。
用本文提出的上述方法來對說話人進行識別時,誤識率要比傳統(tǒng)的基于GMM和i-矢量的方法低,具體對識別結果的分析見下節(jié)。
為了獲得說話人的特征,要求用于測試的每個發(fā)聲至少含有6個因素,每個因素的持續(xù)時間大約為80 ms,故將每個測試語音分為一幀幀時間長度為500 ms的信號。
第一組實驗不考慮噪聲的影響。在測試人數(shù)為50人、不含噪聲的情況下,傳統(tǒng)的基于GMM的方法和使用說話人特定特征集的基于GMM方法的識別結果如表1所示。
表1 傳統(tǒng)GMM方法和本文方法識別結果Tab.1 Traditional methods of GMM and the proposed method of recognition results
從表一可見,使用了說話人特定的特征集后,能夠使基于GMM的說話人識別的誤識率降低3.9%.
表二顯示了在不含噪聲的情況下,傳統(tǒng)的基于i-矢量方法和使用了說話人特定特征集的i-矢量的說話人識別結果。
表2 傳統(tǒng)i-矢量方法和本文方法識別結果Tab.2 Traditional methods of i-vector and the proposed method of recognition results
從表2可見,使用了說話人特定的特征集后,能夠使基于i-矢量方法的說話人識別的誤識率降低4.6%.
對比表一和表二中的第一種方法,可以發(fā)現(xiàn)在不考慮噪聲的環(huán)境下,無論是哪種方法,當使用了說話人特定的特征集后,識別的準確率都會提高。
下面的第二組實驗顯示了在信噪比分別為0 dB、10 dB、20 dB和30 dB的情況下,本文的方法和傳統(tǒng)的基于GMM和i-矢量方法各自的識別結果。圖2顯示了本文使用的基于GMM方法和傳統(tǒng)的基于GMM方法在各種信噪比下的識別結果。
圖2 本文方法和傳統(tǒng)的基于GMM方法的結果比較Fig.2 The comparison of results of the proposed method and traditional methods based on GMM
圖3 本文方法和傳統(tǒng)的i-矢量方法的結果比較Fig.3 The comparison of results of the proposed method and traditional methods based on i-vector
通過第二組實驗結果可以發(fā)現(xiàn),當使用了說話人特有的特征集后,無論采用基于GMM的方法還是基于i-矢量的方法,識別結果都要優(yōu)于相應的傳統(tǒng)的方法。此外,也可以發(fā)現(xiàn)基于GMM的方法的結果要明顯優(yōu)于基于i-矢量方法的識別結果。
本文通過使用說話人特有的特征參數(shù)并用基于GMM和i-矢量的方法來對說話人進行識別。實驗結果顯示,無論是在純凈環(huán)境下還是在含有噪聲的環(huán)境下,本文方法的誤識率均要低于傳統(tǒng)的基于GMM和i-矢量的方法,即識別的準確率有了提高。
但是,通過第二組實驗可以發(fā)現(xiàn),當?shù)玫搅苏f話人特有的特征集后,若采用基于GMM的方法,則在信噪比較高時,可以得到較為理想的識別結果,但是當信噪比較低時,識別結果同樣得不到保證。因此,如何提高在低信噪比環(huán)境下的識別準確率是接下去要研究的問題。
[1]Kim W,Hansen JHL.Feature compensation in the cepstral domain employing model combination[J].Speech Commun 2009;51:83-96.
[2]Lü Y,Wu H,Zhou L,et al.Multi-environment model adaptation based on vector Taylor series for robust speech recognition[J].Pattern Recognition,2010,43(9):3093-3099.
[3]Juang B H,Chou W,Lee C H.Minimum classificatio n error rate methods for speech recognition[J].IEEE Trans.on Speech and Audio Processing,1997,5(3):257-265.
[4]Dehak N,Kenny P,Dehak R,et al.Front-end factor analysis for speaker verification[J].IEEE Transactions on Audio,Speech, and Language Processing,2011:788-798.
[5]Kenny P,Boulianne G,Ouellet P,et al.Joint factor analysis versus eigenchannels in speaker recognition [J].IEEE Transactions on Audio, Speech and Language Processing,2007:1435-1447.
[6]Arun Kumar C, Bharathi B,Nagarajan T.A discriminative GMM technique using product of likelihood Gaussians[J].IEEE TENCON,2009.
[7]Bharathi B,Vijayalakshmi P,Nagarajan T.Speaker identification using utterances correspond to speaker-specific-text[J].IEEE Students technology symposium(Techsym),2011.
[8]Dehak N,Dehak R,Kenny P,et al.Support vector machines versus fast scoring in the low-dimensional total variability space for speaker verification [J].in INTER-SPEECH,Brighton,2009.
[9]Glembek O,Burget L,Matejka P,et al.Simplification and Optimization of i-vector extraction[J].In proceedings of IEEE International conference on Acoustics, Speech, and Signal Processing,2011:4516-4519.
[10]Brugnara F,F(xiàn)alavigna D,Omologo M.Automatic segmentation and labeling of speech based on hidden markov models[J].Speech Com-munication,1993,12(4):357-370.