杜海云,王宏霞
(四川大學(xué),四川 成都 610207)
多媒體技術(shù)的迅速發(fā)展讓音頻編輯變得方便,也讓編輯后的音頻更加逼真,但也存在潛在的威脅,如人耳可能很難分辨經(jīng)過音頻編輯軟件修改的語音。此外,此類軟件很容易獲取,如果犯罪分子加以利用進(jìn)行詐騙,或是案件審理過程中將偽造的語音作為證據(jù)呈遞,會(huì)導(dǎo)致音頻文件的安全性和真實(shí)性受到質(zhì)疑[1-6]。常見的音頻偽造方式有音色轉(zhuǎn)換、語音合成和語音變調(diào),其中,音色轉(zhuǎn)換可以模仿目標(biāo)者的說話音色,迷惑聽者或說話人識(shí)別系統(tǒng);音調(diào)修改能隱藏當(dāng)前說話人的身份信息,比如在采訪節(jié)目中通常會(huì)對被采訪對象的語音進(jìn)行變調(diào)處理來保護(hù)人身安全。在音頻編輯軟件工具和算法盛行之前,通常借助非電子方式變調(diào),比如捏鼻,但要求說話人具備一定技巧。而音頻編輯軟件的出現(xiàn)降低了篡改語音的難度,因此篡改語音無需太多知識(shí)和技巧。然而,對音調(diào)進(jìn)行篡改也有負(fù)面性,可能對說話人驗(yàn)證系統(tǒng)(Automatic Speaker Verification,ASV)產(chǎn)生威脅。為了保證音頻文件的安全性不受質(zhì)疑,需要檢測算法能夠識(shí)別音調(diào)篡改。此外,在真實(shí)場景下可能會(huì)存在各種噪聲和壓縮情況,而且噪聲種類和強(qiáng)度各異,壓縮編碼格式和強(qiáng)度也各不相同。壓縮和噪聲的存在會(huì)讓聽感不自然,而且還會(huì)對算法的性能和ASV 系統(tǒng)的性能產(chǎn)生影響,所以設(shè)計(jì)的篡改語音檢測算法需要能夠抗衡噪聲、壓縮等真實(shí)場景下可能存在的這些干擾因素,即要求算法具有一定的魯棒性。
音頻篡改檢測也被稱為音頻取證,分為主動(dòng)取證和被動(dòng)取證兩種,主動(dòng)取證會(huì)通過數(shù)字簽名、水印等方式檢測篡改[7],而被動(dòng)取證無須預(yù)先嵌入信息來檢測真?zhèn)危臃蠈?shí)際場景對算法的需求。
語音篡改檢測領(lǐng)域發(fā)展至今已有一些成果。2013 年,Wu 等人[8]通過梅爾頻率倒譜系數(shù)(Mel-Frequency Cepstral Coefficients,MFCC)特 征,對電子偽造語音進(jìn)行檢測。隨后有研究將MFCC 的統(tǒng)計(jì)特性作為特征進(jìn)行檢測,性能有所改進(jìn)[9]。2017年,Cao 等人[10]利用線性頻率倒譜系數(shù)(Linear Frequency Cepstral Coefficients,LFCC)作 為 特 征檢測音調(diào)篡改,但是在信噪比(Signal to Noise,SNR)較低的情況下,算法性能有所下降。2019 年,Wang 等人[11]在短時(shí)傅里葉變換(Short Time Fourier Transform,STFT)頻譜圖的基礎(chǔ)上,結(jié)合改進(jìn)的DenseNet 網(wǎng)絡(luò)設(shè)計(jì)檢測算法,在純凈語音數(shù)據(jù)上取得了較好的檢測結(jié)果。同年,Dou 等人[12]提出了基于多分辨率的類耳蝸系數(shù)特征(Least Mean Square-Multi Resolution Cochleagram,LMS-MRCG)的算法,對含噪聲的、音調(diào)篡改的語音進(jìn)行檢測,但同樣在低SNR 環(huán)境下性能變差。2020 年,Ye 等人[13]研究了基于LFCC 特征和卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)的方法,對音調(diào)篡改進(jìn)行檢測,算法表現(xiàn)較好,但實(shí)驗(yàn)中設(shè)計(jì)了過低的變調(diào)因子篡改的語音,而變調(diào)因子過低很可能無法隱藏說話人身份,說話人身份信息保留較為明顯[3]。從以往的研究當(dāng)中可以看出,該領(lǐng)域針對魯棒性的研究較少,而且這些研究提出的算法在有噪聲影響下,性能下降較為明顯。
針對當(dāng)前音調(diào)檢測算法普遍魯棒性較弱的問題,提出了一種基于改進(jìn)膠囊網(wǎng)絡(luò)的音調(diào)篡改檢測算法。同時(shí)為增強(qiáng)算法的魯棒性,將相對頻譜感知線性預(yù)測(RelAtive SpecTrAl-Perceptual Linear Predictive,RASTA-PLP)特征和MFCC 特征進(jìn)行融合,同時(shí)將提取特征、一階差分系數(shù)和二階差分系數(shù)映射至3 個(gè)通道構(gòu)成整體特征,然后輸入到改進(jìn)的膠囊網(wǎng)絡(luò)當(dāng)中。該算法在檢測不含噪聲、含已知噪聲、含未知噪聲以及經(jīng)過壓縮的音調(diào)篡改語音實(shí)驗(yàn)中表現(xiàn)均較好。
目前語音變調(diào)的方式多為時(shí)域法,包括重采樣和時(shí)域尺度變換兩步,可改變信號(hào)頻域信息。因此檢測音調(diào)篡改的語音時(shí),所使用的特征應(yīng)當(dāng)在識(shí)別不同變調(diào)因子篡改的語音時(shí)具有區(qū)分度。
變調(diào)語音檢測中常見的特征有MFCC、線性預(yù)測編碼系數(shù)(Linear Prediction Coding Coefficients,LPCC)、LFCC 等。在聲學(xué)的其他相關(guān)領(lǐng)域中,感知線性預(yù)測系數(shù)(Perceptual Linear Predictive,PLP)和RASTA-PLP 特征也較為常見,面對魯棒性問題,這兩種特征通常用于加強(qiáng)算法的魯棒性,這點(diǎn)在語音識(shí)別任務(wù)中有所驗(yàn)證[14]。RASTA-PLP是基于PLP 特征所設(shè)計(jì)的特征。PLP 特征經(jīng)過人類聽覺模型處理機(jī)制處理,輸入信號(hào)選擇經(jīng)過聽覺模型機(jī)制處理后所得到的信號(hào),代替線性預(yù)測系數(shù)分析過程所使用的時(shí)域信號(hào),更有利于魯棒性強(qiáng)的語音特征提取。PLP 基于聽覺模型的處理步驟包括臨界頻帶分析、等響度預(yù)加重和強(qiáng)度—響度變換。RASTA-PLP 特征在PLP 特征基礎(chǔ)上加入RASTA 濾波技術(shù),改善了短時(shí)語音頻譜易受到通道噪聲影響的問題。RASTA 濾波通過利用低端限制頻率很低的帶通濾波器對語音進(jìn)行處理,信號(hào)當(dāng)中穩(wěn)定的頻率成分會(huì)被抑制,意味著對通道噪聲也能進(jìn)行一定程度的抑制[15]。RASTA-PLP 的特征提取過程如圖1 所示,和PLP 特征提取過程類似,RASTA 濾波處理過后的信號(hào)共振峰結(jié)構(gòu)保持良好。
圖1 RASTA-PLP 特征提取過程
如果經(jīng)過變調(diào)處理,RASTA-PLP 的特征值也會(huì)發(fā)生改變。在TIMIT 劃分的測試集中提取的第1維度的RASTA-PLP 特征值如圖2 所示,圖中橫坐標(biāo)分別表示+8 變調(diào)、原始語音和-8 變調(diào)的語音,縱坐標(biāo)表示每種類型語音在所有分量上的平均值??梢钥吹降? 維度的特征值對于升調(diào)和降調(diào)都較為敏感,同時(shí)其他維度的特征也在升調(diào)或者降調(diào)時(shí)遵從類似的規(guī)律。RASTA-PLP 特征在區(qū)分不同變調(diào)語音時(shí)是可區(qū)分的,因此可以視為檢測變調(diào)語音的特征。由于RASTA-PLP 特征也具有良好的抗噪性,所以通過融合RASTA 和PLP 特征來增強(qiáng)檢測算法的魯棒性。
圖2 在TIMIT 測試集中RASTA-PLP 特征第1 維度的分量
MFCC 特征在變調(diào)語音篡改檢測任務(wù)中表現(xiàn)良好,其特征提取過程如圖3 所示。MFCC 特征提取過程中,輸入信號(hào)經(jīng)預(yù)處理后需要經(jīng)過快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)、Mel 濾波器、對數(shù)(log)運(yùn)算和離散余弦變換(Discrete Cosine Transform,DCT),最終選取特征值得到MFCC 特征。
圖3 MFCC 特征提取過程
以特征MFCC 提取過程為例[9],信號(hào)經(jīng)預(yù)處理后,需要先經(jīng)過FFT 變換,F(xiàn)FT 變換會(huì)計(jì)算每幀的頻譜信息,再經(jīng)過Mel 濾波器處理。該步驟的計(jì)算過程為:
式中:w為信號(hào)幀的索引;F(w)為信號(hào)的頻譜信息;B(w)為Mel 濾波器;下標(biāo)m指經(jīng)過的第m個(gè)Mel濾波器,1 ≤m≤M,M為Mel 濾波器的數(shù)量;fum為濾波器截止頻率的上限;flm為截止下限頻率;Pm為經(jīng)過Mel 濾波器得到的功率。
對音頻進(jìn)行變調(diào),會(huì)改變信號(hào)的頻域信息,從而對FFT 和Mel 濾波器對信號(hào)的處理產(chǎn)生影響,頻譜信息和功率都會(huì)發(fā)生改變,進(jìn)而影響最終的MFCC 特征值,該特征值針對不同的音調(diào)改變也是具有區(qū)分度的,因此認(rèn)為MFCC 可以用來檢測音調(diào)篡改的特征。同時(shí)引入MFCC 特征的相關(guān)系數(shù)矩陣。假設(shè)MFCC 特征維度為L,對第j維度和第j′維度的分量計(jì)算相關(guān)系數(shù),其中1 ≤j≤j′≤L,則相關(guān)系數(shù)矩陣特征的計(jì)算公式為:
式中:Vj為第j維度的所有分量;cov 為協(xié)方差運(yùn)算;VAR為方差運(yùn)算;CRjj′為第j維度和第j′維度分量的相關(guān)系數(shù)。算法中使用的特征融合了RASTAPLP 特征、MFCC 特征及其相關(guān)系數(shù)矩陣,該融合特征可以表示為:
式中:FR-PLP為RASTA-PLP 特征系數(shù);CL為MFCC特征;CRMFCC為MFCC 特征相關(guān)系數(shù)。拼接融合這些特征為F,構(gòu)成了檢測算法的輸入特征信息。
同時(shí),在特征提取時(shí)還計(jì)算了特征的一階差分系數(shù)和二階差分系數(shù),但是并未將特征和差分系數(shù)值進(jìn)行串聯(lián)拼接,而是映射至特征圖像的RGB 三通道中,作為網(wǎng)絡(luò)的輸入信息。
本文使用的網(wǎng)絡(luò)結(jié)構(gòu)為改進(jìn)的膠囊網(wǎng)絡(luò)(Capsule Net)結(jié)構(gòu),膠囊網(wǎng)絡(luò)結(jié)構(gòu)是在2017 年由Hinton 等人[16]提出的。早在2011 年,膠囊的概念就有了雛形,之后對此概念進(jìn)行了拓展和優(yōu)化形成了膠囊網(wǎng)絡(luò),發(fā)展至今也出現(xiàn)了膠囊網(wǎng)絡(luò)的各種變體。
CNN 網(wǎng)絡(luò)在各種任務(wù)當(dāng)中都有運(yùn)用,但是隨著研究的深入,其短板也暴露在視野中。CNN 多借助池化、卷積等非線性操作由淺到深逐層提取特征,最終對局部特征進(jìn)行整合,但因?yàn)榫矸e池化運(yùn)算會(huì)導(dǎo)致部分特征信息丟失,而丟失的特征信息可能對目標(biāo)任務(wù)有幫助,并且最終層獲取的信息一般是輸入信息的很小一部分。此外,CNN 網(wǎng)絡(luò)雖對減少模型參數(shù)量、計(jì)算量有益,但同時(shí)性能可能會(huì)下降。CNN 無法對輸入數(shù)據(jù)內(nèi)部的相對位置信息進(jìn)行學(xué)習(xí),一般只能判斷是否存在某種模式,而膠囊網(wǎng)絡(luò)讓網(wǎng)絡(luò)對輸入數(shù)據(jù)的學(xué)習(xí)更加充分。
在膠囊網(wǎng)絡(luò)中,特征表征的基本單位是膠囊結(jié)構(gòu),并將特征信息以向量的方式進(jìn)行表達(dá),而CNN的輸出是標(biāo)量形式。膠囊網(wǎng)絡(luò)本質(zhì)是一組多維向量,膠囊輸出的模長表示該膠囊學(xué)習(xí)的模式出現(xiàn)的概率大小,例如如果輸出向量的模長接近1,那么代表出現(xiàn)可能性接近100%。
初始膠囊網(wǎng)絡(luò)結(jié)構(gòu)在單個(gè)膠囊結(jié)構(gòu)、路由算法和激活函數(shù)的設(shè)計(jì)和CNN 網(wǎng)絡(luò)存在差異。單個(gè)膠囊結(jié)構(gòu)的計(jì)算過程可以簡化為圖4 的流程,首先和輸入相乘,膠囊的輸入v是上個(gè)膠囊的輸出;其次將w和輸入v相乘,得到u,對向量進(jìn)行加權(quán)處理,即將各個(gè)權(quán)重c和u分別進(jìn)行相乘,其中c為標(biāo)量;再次對加權(quán)后的向量進(jìn)行求和,記為s;最后將其輸入激活函數(shù),膠囊網(wǎng)絡(luò)的激活函數(shù)為Squashing非線性函數(shù),其定義為:
圖4 膠囊結(jié)構(gòu)計(jì)算過程
式中:等號(hào)右邊第一個(gè)分式代表對s進(jìn)行縮放,第二個(gè)分式可以視為s同等方向的單位向量。通過Squashing 函數(shù)能夠很好地保留s的方向信息,并且將長度保證在0~1 之間,實(shí)現(xiàn)對向量的壓縮和重分配,減少計(jì)算量。
在計(jì)算過程中,權(quán)重c是通過路由算法進(jìn)行更新的,膠囊層內(nèi)權(quán)重c的和為1。在2017 年提出的初始膠囊網(wǎng)絡(luò)中,并非全部都為膠囊層,淺層結(jié)構(gòu)中也存在卷積結(jié)構(gòu)。淺層卷積結(jié)構(gòu)提取輸入信息中的低維特征,送入主膠囊層(PrimaryCaps)和數(shù)字膠囊層(DigitCaps),對深度特征進(jìn)行提取。在主膠囊層中也存在卷積結(jié)構(gòu),主膠囊層的輸出會(huì)送入數(shù)字膠囊層,數(shù)字膠囊層是全連接結(jié)構(gòu),輸出代表分類結(jié)果,并且輸出是向量形式,通過輸出模長可判斷輸入信息是否存在某種模式,是否屬于某個(gè)類別。
初始膠囊網(wǎng)絡(luò)結(jié)構(gòu)的淺層卷積所提取的特征可能無法很好地表示前端提取的特征,而且面對復(fù)雜輸入和分類情況,算法性能可能欠佳。因此通過改進(jìn)膠囊網(wǎng)絡(luò)的卷積層結(jié)構(gòu)來優(yōu)化算法,加深輸入膠囊層的特征信息,令膠囊網(wǎng)絡(luò)更加適應(yīng)輸入信息和篡改檢測任務(wù),從而提升算法的性能,并且通過仿真實(shí)驗(yàn)證明,改進(jìn)的算法具有一定的魯棒性。
圖5 展示了該算法的大致網(wǎng)絡(luò)結(jié)構(gòu),輸入的特征圖像即融合特征F原是具有三通道的圖像,但送入網(wǎng)絡(luò)前進(jìn)行處理,轉(zhuǎn)化為灰度圖像,轉(zhuǎn)化過程為:L=G×587/1 000+R×299/1 000+B×114/1 000(5)式中:R,G,B分別代表RGB 3 個(gè)通道中的像素值。對3 個(gè)通道中的信息都進(jìn)行保留,R通道代表靜態(tài)特征信息,G和B通道代表動(dòng)態(tài)特征信息。
圖5 改進(jìn)的膠囊網(wǎng)絡(luò)結(jié)構(gòu)
因此,輸入的訓(xùn)練數(shù)據(jù)實(shí)際大小為(224,224,1),之后對卷積層進(jìn)行改進(jìn),將第一個(gè)卷積層卷積核大小設(shè)置為(9,9),輸出設(shè)置為64 維,步距為4,填充為2,激活函數(shù)為ReLU,池化函數(shù)為自適應(yīng)平均池化函數(shù),該函數(shù)可以自動(dòng)調(diào)整輸出為程序中指定的維度。實(shí)驗(yàn)中將該池化層輸出設(shè)置指定為(28,28,64),送入后續(xù)卷積層。詳細(xì)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)設(shè)置見表1,表中介紹了網(wǎng)絡(luò)層各層的輸出和一些參數(shù)設(shè)置。
表1 改進(jìn)的膠囊網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
實(shí)驗(yàn)數(shù)據(jù)來自TIMTI 數(shù)據(jù)集和TCHCHS30 數(shù)據(jù)集,對數(shù)據(jù)集內(nèi)的純凈語音進(jìn)行變調(diào)處理,變調(diào)工具使用Adobe Audition。實(shí)驗(yàn)中,TIMIT 數(shù)據(jù)集的訓(xùn)練集和測試集的數(shù)量比為9,即訓(xùn)練集5 670 句,測試集630 句;THCHS30 數(shù)據(jù)集是中文普通話數(shù)據(jù)集,訓(xùn)練集選擇5 000 句,測試集500 句。變調(diào)因子范圍為±4~±5,該范圍的變調(diào)語音屬于較弱的變調(diào),如果變調(diào)因子小于此值,變調(diào)后的語音無法有效隱藏說話人身份信息,但同時(shí)過高的變調(diào)因子會(huì)令語音聽感不自然而令人生疑。由于篡改檢測算法在弱變調(diào)語音上一般性能會(huì)下降,因此為了尋求弱變調(diào)語音情況下篡改檢測性能較好的解決方案,選擇了±4~±5 的變調(diào)范圍。
同時(shí)為了驗(yàn)證算法的魯棒性,對語音進(jìn)行加噪和壓縮處理,噪聲來自SPIB 數(shù)據(jù)集,選擇其中說話人噪聲、白噪聲、車輛噪聲、粉紅噪聲和通信信道噪聲。為測試算法在未知噪聲場景下的性能,車輛和通信信道噪聲僅在測試集加入,其余噪聲類型在訓(xùn)練集、測試集均加入,每個(gè)語音文件都加入一種噪聲,強(qiáng)度不同,加噪后每個(gè)語音的SNR有20 dB、10 dB 和0 dB 3 種。壓縮則是將文件壓縮為比特率分別為64 kbit/s、128 kbit/s 和192 kbit/s 的MP3 文件,而原始語音文件的比特率是變化的,普遍為140 kbit/s 左右。在抗壓縮性實(shí)驗(yàn)中考慮了比特率降低和虛高的情況,并且訓(xùn)練集和測試集均是由3 種比特率壓縮后的語音混合而成,未將3 種壓縮比特率單獨(dú)實(shí)驗(yàn)。
實(shí)驗(yàn)所使用的特征為第1 節(jié)中描述的融合特征F。將F的靜態(tài)和動(dòng)態(tài)特征分別映射至RGB 三通道,但是在網(wǎng)絡(luò)的輸入端對特征圖像進(jìn)行灰度處理,轉(zhuǎn)化為單通道輸入圖像,以另一種方式保留特征信息。模型訓(xùn)練時(shí)優(yōu)化器選擇Adam,學(xué)習(xí)率初始設(shè)置為0.000 1,衰減設(shè)為0.98。實(shí)驗(yàn)將改進(jìn)的膠囊網(wǎng)絡(luò)模型與一些經(jīng)典分類模型AlexNet、ResNet 和初始膠囊網(wǎng)絡(luò)結(jié)構(gòu)在設(shè)計(jì)的特征F上進(jìn)行對比。在初始膠囊網(wǎng)絡(luò)實(shí)驗(yàn)中,僅根據(jù)變調(diào)檢測任務(wù)的分類數(shù)改變相關(guān)參數(shù),即輸出膠囊設(shè)為5,分別對應(yīng)±4~±5和真實(shí)的語音文件分類。
算法性能評價(jià)指標(biāo)為準(zhǔn)確率。無噪聲環(huán)境下變調(diào)語音篡改檢測實(shí)驗(yàn)結(jié)果如表2 所示,表中的結(jié)果分別展示了其他模型和改進(jìn)的膠囊網(wǎng)絡(luò)在TIMIT 數(shù)據(jù)集和THCHS30 數(shù)據(jù)集上的性能,其中ResNet 模型為ResNet34。從表2 中的實(shí)驗(yàn)結(jié)果可以看出,在無噪聲時(shí)所有模型在TIMIT 數(shù)據(jù)集和THCHS30 數(shù)據(jù)集上的表現(xiàn)都較好,改進(jìn)后的膠囊網(wǎng)絡(luò)表現(xiàn)比初始膠囊網(wǎng)絡(luò)性能有所提升,改進(jìn)的CapsNet 網(wǎng)絡(luò)能夠增強(qiáng)在無噪聲環(huán)境下的檢測算法性能,說明對特征卷積層進(jìn)行加深在一定程度上能夠加強(qiáng)性能。
表2 無噪聲環(huán)境下,不同模型的檢測準(zhǔn)確率
接下來對算法在噪聲和壓縮場景下的魯棒性進(jìn)行實(shí)驗(yàn)。在已知噪聲場景、未知噪聲場景和壓縮場景下的語音檢測準(zhǔn)確率實(shí)驗(yàn)結(jié)果見表3,對比模型選擇的是在無噪聲場景下表現(xiàn)較好的初始CapsNet。
表3 在已知噪聲、未知噪聲和壓縮情況下,不同模型檢測準(zhǔn)確率的比較
通過表3 結(jié)果可以得知,即使有噪聲影響,膠囊網(wǎng)絡(luò)的結(jié)構(gòu)也可以對數(shù)據(jù)進(jìn)行較好的訓(xùn)練,在已知噪聲和未知噪聲場景下算法性能受到的影響較小。雖然在未知噪聲場景下算法性能較在已知噪聲環(huán)境下有輕微幅度的下降,但算法保持著良好的抗噪性。在面對MP3 壓縮時(shí),初始膠囊網(wǎng)絡(luò)表現(xiàn)略差于改進(jìn)的膠囊網(wǎng)絡(luò),并且較無噪聲無壓縮環(huán)境下性能下降較多。通過該實(shí)驗(yàn)可以認(rèn)為,利用特征F結(jié)合改進(jìn)的膠囊網(wǎng)絡(luò)結(jié)構(gòu)可以實(shí)現(xiàn)良好的抗壓縮性。因此,通過實(shí)驗(yàn)結(jié)果可知該算法具有良好的魯棒性。
語音編輯技術(shù)可能會(huì)引發(fā)安全問題,如果用于犯罪可能會(huì)對社會(huì)造成嚴(yán)重威脅。本文針對語音變調(diào)篡改檢測展開研究,通過融合RASTA-PLP 特征和MFCC 相關(guān)特征,同時(shí)改進(jìn)膠囊網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行語音篡改檢測。通過與其他算法進(jìn)行對比實(shí)驗(yàn)可知,本文設(shè)計(jì)的算法在面對噪聲和壓縮這些常見的干擾因素時(shí),能夠保持良好的魯棒性。