胡志隆,文 暢,謝 凱,賀建飚
(1.長江大學 a.電子信息學院; b.計算機科學學院,湖北 荊州 434023; 2.中南大學 信息科學與工程學院,長沙 410083)
語音識別是一種生物識別技術,獲取方法簡單且成本低廉。相比于人臉識別、虹膜識別等技術,語音識別使用者的接受程度更高,因此,其被廣泛應用于醫療、社保、金融及公共場所的安全認證等領域。而聲紋密碼識別作為文本相關的語音識別方法,用文本的上下文關系和話者聲道信息保護說話人的信息安全,與文本無關的語音識別方法相比,具有較高的安全性[1]。
目前,語音識別系統常采用高斯混合模型-通用背景模型(Gaussian Mixture Model-Universal Background Model,GMM-UBM),該算法應用話者的聲道信息并通過全局背景模型解決訓練樣本少的問題,在文本無關的語音識別中取得較好的識別效用。此外,隨著人工神經網絡(Artificial Neural Network,ANN)、支持向量機(Super Vector Machine,SVM)等機器學習方法的不斷成熟,也出現類似GMM-SVM的融合算法[2-6]。然而,GMM模型僅單一反映話者的聲道信息而忽略語音文本的上下文關系,因此不適用于聲紋密碼識別。同時,ANN是一個高度非線性的大型網絡,需要大量的訓練樣本才能得到效果較好的模型,導致其難以應用于實際。
針對上述方法的不足,本文提出一種隱馬爾科夫模型-通用背景模型(Hidden Markov Model-Universal Background Model,HMM-UBM)聯合相關向量機(Relevance Vector Machine,RVM)的聲紋密碼識別算法,該算法采用HMM-UBM模型,利用語音的文本信息及其話者的聲道信息進行時序建模。同時針對HMM模型分類決策能力較差的問題,本文融合相關向量機作為分類器,做最后的判決決策。
指定文本的聲紋密碼識別系統主要流程包括語音信號的預處理、特征參數提取、特征建模和相似性度量等模塊,其中特征參數的選取及相似性度量的方法決定系統的識別效率[7]。本文針對傳統聲紋密碼識別系統中的相似性度量模塊進行了改進,提出了基于HMM-UBM聯合改進RVM的聲紋密碼識別算法,算法流程如圖1所示。首先對注冊語音、訓練語音及待識別語音進行預處理,包括分幀、加窗、預加重等;其次采用梅爾倒譜系數(Mel-Frequency Cepstral Coefficients,MFCC)對處理過的語音提取特征參數;然后將其作為輸入序列,訓練得到HMM-UBM模型后計算每位注冊說話人語音與訓練語音的匹配得分,歸一化后組合成一個特征向量,將每位注冊說話人的特征向量提供給RVM訓練,得到語音分類信息,即RVM分類器;最后對待識別語音采用同樣的方法得到其對應的特征向量,輸入訓練好的RVM模型進行分類決策,并最終取得分類結果。

圖1 聲紋密碼識別算法流程
說話人識別系統中常用的GMM-UBM模型雖然擬合了說話人的聲音特性,但忽視了文本內容對識別效果的影響,不適用于特定文本的聲紋密碼識別[8-10]。因此,本文采用HMM來對相關性進行建模,同時采用全局高斯混合模型作為UBM來表達說話人聲道特征在訓練樣本中的分布概率。模型構建流程如圖2所示。

圖2 HMM-UBM模型構建流程
與GMM-UBM模型相似,由于UBM的均值矢量利用率較高,因此自適應時僅更新該參數,更新過程如下:
1)設注冊話者的輸入特征矢量為{xi|i=1,2,…,t},計算其在所有訓練樣本中的概率分布,若話者對應第i個訓練樣本,則其概率分布為:
(1)
其中,pi(xt)為第i個訓練樣本的密度函數,ωi為第i個訓練樣本的權重系數,Pr(i|xt)為第i個訓練樣本的后驗概率,表示在測試語音的特征矢量為xt的條件下,測試語音對應第i個訓練語音的概率。
2)利用Pr(i|xt)和均值向量進行從分統計,統計式為:
(2)
3)通過所有訓練數據產生新的均值統計量,更新UBM第i個混合分量的均值矢量得到第i個分量的HMM-UBM模型,如式3所示。
(3)
RVM是一種基于貝葉斯稀疏核的分類算法。與SVM相比,RVM可以計算出樣本輸出的后驗概率分布,更適用于多分類問題,并且其核函數不需要限定為對稱正定核,從而可以得到更加稀疏的解[11-15]。因此,本文選用其作為分類器,進行最后的決策,得到更加準確的識別結果。

ti=y(xi)+εn
(4)
其中,εn是均值為0、方差為σ2的噪聲,y(x)為RVM的分類模型,其定義為:
(5)

設目標{t|t=t1,t2,…,tN}獨立同分布,則整個訓練樣本的似然函數可以表示為:
(6)
其中,t=(t1,t2,…,tN)T,ω=(ω0,ω1,…,ωN)T,φ為N×(N+1)矩陣,如式(7)所示。
(7)
假設式(6)中的ω和σ2采用最大似然估計求解,結果通常使權重參數ω中大部分元素不為0,從而導致過擬合。為了避免過學習的問題,RVM對每個權重參數加上先決條件:使其幾率是分布在0周圍的正態分布,如式(8)所示。
(8)
其中,α為N+1維超向量。
根據貝葉斯公式直接求得參數ω的后驗分布:
p(ω|t,α,σ2)=(2π)-(N+1)/2|Σ|-1/N×
(9)
其中,μ=σ-2ΣφTt,Σ為協方差,Σ=(σ-2φTφ+A)-1,A=diag(α0,α1,…,αN),σ2(x)=(β)-1+φ(x)Σφ(x)。
對于一個給定的樣本x,最終其輸出的概率分布為:
(2π)-N/2·|σ2I+φA-1φT|-1/2
(10)
式(10)中的未知量為超參數α和β,則求解輸出概率分布的問題轉化為求解超參數α和β,本文通過最大化法來求解參數,如式(11)所示。

(11)
通過最大化式(11),來更新α和β的值:
(12)
(13)
經過多次學習,大部分超參數αi會趨于無窮,而對應的權重向量ωi=0,少部分權重向量不為0的訓練樣本xi即為相關向量,通過相關向量得到其分類模型并作為最優分類超平面,以對輸入的測試樣本進行識別。
HMM算法具有較強的時序建模能力,處理連續動態信號時表現優異。但HMM是基于先驗知識的統計學習方法,其分類決策能力較差。而RVM是基于貝葉斯稀疏核的回歸分類算法,具有較強的分類效果和泛化能力。本文提出HMM-UBM-RVM聲紋識別算法,將2種方法進行融合,具有較強的時序建模能力和分類效果。
設訓練樣本中包含n位說話人,每位說話人包含10條語音,對于第i位說話人,其特征序列分別為{i-voice0,i-voice1,…,i-voice9}。其中i-voice0為其注冊聲紋密碼,則該模型的實現流程如圖3所示。

圖3 HMM-UBM聯合RVM實現流程
聯合HMM-UBM與RVM算法實現流程如下:
1)錄制語音信號。對語音信號進行預處理,消除干擾信息后提取其MFCC特征參數。
2)對每位說話人的語音建立HMM-UBM模型。
3)用式(14)計算訓練樣本中每條注冊語音對其他語音的匹配得分:
Οt0-ik(Xt0)=logp(Xt0|λik)-logp(Xt0|λUBM)
(14)
其中,Xt0為訓練樣本中第t位說話人注冊語音的HMM特征序列,λik為訓練樣本中第i位說話人第k條語音的HMM-UBM特征序列,λUBM為背景模型的特征序列。
4)對匹配得分進行歸一化:
(15)
5)將每條注冊語音歸一化數據組成超維向量V。例如,對于第t位說話人,其注冊語音的超維特征向量為Vt0={Scoret0-00,Scoret0-01,…,Scoret0-n9}。
6)將得分矢量輸入到RVM進行學習,直到RVM迭代次數到預設次數為止(本文取最大迭代次數為300次)。至此完成RVM分類器的訓練階段,得到n×(n-1)/2個二分類的子RVM分類器。
7)對待識別的輸入語音信號進行訓練,得到HMM模型。用式(14)計算其得分,歸一化后組成待識別語音的特征向量VVP,VVP={Scorevp1,Scorevp2,…,Scorevpn}。
8)將待識別語音的特征向量VVP輸入到RVM,然后對該向量進行非線性映射。為提高識別精度,本文采用“1V1”模型進行多分類識別,如圖4所示。

圖4 RVM“1V1”分類模型
采用本文設計的聲紋密碼識別系統作為測試平臺,系統運行界面如圖5所示。

圖5 系統運行界面
本文采用的數據庫是TIMIT語音庫,包含來自美國8個主要方言地區的630個人,每個人包含10段3 s~6 s的語音。其中,2段為方言句子,每個人的方言句子內容相同,其余語音內容不同。
方言句1內容為“She had your dark suit in greasy wash water all year”,方言句2內容為“Don’t ask me to carry an oily rag like that”。
本文采用錯誤接收概率(FA)和錯誤拒絕概率(FR)評判聲紋密碼識別系統的性能,其表達式如式(16)和式(17)所示。
(16)
(17)
其中,nNRVC表示測試語音為非注冊語音時,識別為注冊語音的概率,nNRVT表示采用非注冊語音作為測試語音的實驗次數,nRVW表示測試語音為注冊語音時,識別錯誤的概率(當且僅當測試語音與識別出的注冊語音內容和對應說話人均匹配時,才認為識別正確),nRVT表示采用注冊語音作為測試語音的實驗次數。
通用背景模型的高斯混合數越大,說話人聲道特征分布概率越精確,但計算復雜度相應增加。因此,本文針對這些參數做以下實驗。
采用數據庫中不含噪的dr3部分語音,以其中每個人的方言句1作為注冊語料,以該語音庫全部6 300條語音作為訓練集訓練UBM模型。實驗中HMM的狀態數及高斯混合度均取為4,UBM模型的高斯混合數分別取:8,16,32,64,128,256,512,1 024。
在測試時,隨機選取dr3部分的1條語音作為測試語音進行識別,重復實驗,取FA、FR均值。實驗結果如圖6所示。

圖6 UBM高斯混合度對識別率的影響結果
測試結果表明,隨著通用背景模型的高斯混合度增高,錯誤接收概率及錯誤拒絕概率均有小幅度下降。當混合度超過512時,錯誤接收概率小于1%,盡管錯誤拒絕率仍有3%左右,但錯誤拒絕對用戶信息安全影響較小。因此,取UBM模型的高斯混合度為512。
采用數據庫中不含噪的dr3部分語音,以其中每個人的方言句1作為注冊語料,以該語音庫全部6 300條語音作為訓練集訓練UBM模型。在實驗中,RVM分類器核函數分別選多項式核、sigmoid核和高斯核,分別選取dr3語料中15位、30位、45位、60位說話人的注冊語音重復進行識別率測試。實驗結果如表1所示。

表1 RVM采用不同核函數對模型識別率的影響
從表1可以看出,隨著測試人數的增加,高斯核的測試精度明顯高于多項式核和sigmoid核。因此,RVM均采用高斯核作為核函數進行分類決策。
本文所提出的聲紋密碼識別方法與常用于語音識別的GMM-UBM、GMM-SVM及HMM-UBM算法進行對比,實驗采用TIMIT語音庫中所有說話人的方言句1作為注冊語音,為對應話者建立模型,采用全部6 300條語音作為訓練集訓練UBM模型,抽取每位話者的注冊語音及隨機兩條其他語音進行識別,共測試630×3=1 890次,取識別正確率、FA及FR均值,實驗結果如表2所示。

表2 不同算法的識別率比較 %
從表2可以看出,本文方法與GMM-UBM和GMM-SVM識別算法相比,大幅降低了識別算法的錯誤接收概率和錯誤拒絕概率。可以看出,針對文本相關的聲紋密碼識別,采用更具有時序建模能力的隱馬爾科夫模型-通用背景模型,該模型可反映聲紋的文本信息及話者的聲道信息。相比之下,GMM模型的GMM-UBM算法和GMM-SVM算法都忽視了文本信息,會將說話人的其他語音識別為其注冊語音,從而導致錯誤接收概率較大,影響用戶信息安全。同時,本文方法在HMM-UBM模型基礎上采用RVM作為分類器,回避了該模型分類決策能力弱的問題。
對測試語音進行高斯白噪聲加噪處理,信噪比分別為0 dB、5 dB、10 dB、15 dB、20 dB、25 dB、30 dB。系統抗噪性能測試結果如圖7所示。
由圖7可以看出,本文算法在各信噪比環境下,識別率均優于基于GMM-SVM和GMM-UBM識別算法。尤其在低信噪比環境下,其優越性更加明顯。一方面是因為該方法采用HMM-UBM模型,兼顧語音的文本信息及話者的聲道信息,更適用于文本相關的聲紋密碼識別;另一方面,由于HMM是基于先驗知識的統計學習方法,并不具備良好的分類能力,將其與相關向量機相融合,發揮HMM的時序建模能力和RVM的分類決策能力,能夠提高其抗噪性能識別精度。
本文方法用于模擬門禁系統,實現聲紋密碼開鎖。實驗采用實驗室中20位說話人(12男,8女),每位說話人50條語音,語音內容為8位0~9的隨機數,取每位話者其中一條語音作為聲紋密碼,注冊其模型,以全部1 000條語音作為訓練集,訓練UBM模型。對每位說話人進行測試,測試語音采用說話人現場說出5條對應的注冊語音及5條對應的非注冊語音,記錄正確開鎖率(說話人與密碼相匹配并開鎖成功及說話人與密碼不匹配并開鎖失敗2種情況視為正確開鎖)。以基于GMM-UBM、GMM-SVM和HMM-UBM算法的模擬門禁系統作為對比,采用同樣的方法進行測試,對比結果如表3所示。

表3 算法應用結果對比 %
聲紋密碼識別廣泛應用于各種場所的安全認證,而常用語音識別系統大多采用傳統的GMM-UBM模型及改進算法。GMM模型雖能較好反映說話人的聲道信息,但忽視語音內容對識別正確率的影響,不適用于固定文本的聲紋密碼識別。本文提出HMM-UBM聯合RVM的聲紋密碼識別算法,利用隱馬爾科夫模型的時序建模能力得到語音的文本信息,采用UBM模型解決訓練樣本不足的問題,并通過相關向量機對測試語音進行分類決策。實驗結果表明,該算法在進行文本相關的說話人識別時,識別效果優于GMM-UBM算法和GMM-SVM算法,具有較好的應用價值。