王 泳,張 峻,陳藝芳,張夢鴿
(廣東技術(shù)師范大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,廣東 廣州 510665)
語音偽裝的方法分為兩種:一種是冒充欺騙,即模仿或合成某個(gè)目標(biāo)說話人的語音,主要包括語音轉(zhuǎn)換(voice conversion, VC),語音合成(speech synthesis, SS)和重播攻擊等;第二種是無冒充對(duì)象的防識(shí)別偽裝,即通過語音變換(voice transformation,VT),隱藏說話人的真實(shí)身份,使其不被識(shí)別出來.
已有研究[1-5]表明,偽裝語音能輕易欺騙當(dāng)前的ASV系統(tǒng),為社會(huì)安全帶來嚴(yán)重威脅.為此,研究偽裝語音的檢測算法具有重要性和緊迫性.目前大多數(shù)的研究都是集中在對(duì)VC、SS、重播攻擊等冒充欺騙的檢測上.
對(duì)于VC和SS的檢測,Hanilci[6]等利用語 音信號(hào)的線性預(yù)測誤差提取的相位特征; Kamble[7]等提出了一種新的基于瞬時(shí)頻率特征的能量分離的檢測方法;Janicki[8]提出了一種基于線性預(yù)測殘差信號(hào)的音頻質(zhì)量提取算法以獲得檢測特征;Alam[9]等采用了無限脈沖響應(yīng)常數(shù)Q變換;Dipjyoti[10]等分析了梅爾頻率倒譜系數(shù)(mel-frequency cepstral coefficients, MFCCs)和常數(shù)Q倒譜系數(shù)(constant Q cepstral coefficients ,CQCCs)兩種特征在檢測偽裝中的性能;Alejandro[11]等利用基于核密度估計(jì)的方法檢測VC語音.以上的方法都是采用GMM或SVM等傳統(tǒng)機(jī)器學(xué)習(xí)方法.文獻(xiàn)[12-14]則采用深度學(xué)習(xí)框架對(duì)VC和SS進(jìn)行檢測.在重播攻擊檢測方面,文獻(xiàn)[15-20]等采用了頻域線性預(yù)測特征、殘差MFCC、分層散射分解系數(shù)和逆MFCC、電網(wǎng)頻率(electric network frequency,ENF)、Teager能量、歸一化常數(shù)Q倒譜等特征.Cheng-I Lai[21]等提出了一種利用擠壓激勵(lì)和殘差網(wǎng)絡(luò)來對(duì)TTS、VC和重播攻擊進(jìn)行檢測.對(duì)第二類偽裝的檢測即VT偽裝檢測的研究相對(duì)較少.在文獻(xiàn)[22-23]中,利用MFCC統(tǒng)計(jì)矩作為檢測特征、SVM作為分類器,其跨數(shù)據(jù)庫的檢測精度低于90%.梁輝鑫[24]等提出了一種簡單的卷積神經(jīng)網(wǎng)絡(luò)來自動(dòng)提取語音特征,其跨數(shù)據(jù)庫的平均精確度低于94.37%,這個(gè)結(jié)果還有待繼續(xù)提高.
事實(shí)上,假冒欺騙通常需要大量的目標(biāo)說話人的語音信息,實(shí)現(xiàn)成本相對(duì)較高.相對(duì)而言,VT偽裝不需要任何額外的信息,且已有成熟的算法產(chǎn)生自然度極高的欺騙語音,并已集成在眾多的音頻/語音處理工具中,相較假冒欺騙更輕易、且較多地運(yùn)用在各種欺詐案件之中.因此,研究VT偽裝的檢測具有重要的理論和實(shí)用價(jià)值.然而,目前VT偽裝檢測已有的研究相對(duì)不足、且性能不甚理想.為此,本文研究VT偽裝的檢測,提出了一種基于深度殘差網(wǎng)絡(luò)的語音變換偽裝的檢測方法.所提網(wǎng)絡(luò)結(jié)構(gòu)可以自動(dòng)地提取深層特征,且隨著網(wǎng)絡(luò)層數(shù)的增加不會(huì)出現(xiàn)梯度消失的現(xiàn)象.實(shí)驗(yàn)結(jié)果表明,本文方法對(duì)不同的VT偽裝均具有優(yōu)良的檢測性能.
VT偽裝操作的目的是在不改變時(shí)長和節(jié)奏的情況下修改語音信號(hào)的頻率成分[25].受傅立葉變換的限制,信號(hào)的時(shí)域和頻率特征并非相互獨(dú)立,不容易得到關(guān)于VT原理的嚴(yán)格定義.為此,我們利用參數(shù)化模型闡述其原理,其中,最有效的說明工具是準(zhǔn)平穩(wěn)正弦模型(quasi-stationary sinusoidal model).在該模型中,語音信號(hào)x(t)表示為一系列正弦波之和,如公式(1)所示.
其中,Ai(t),ωi(t)和φi(t)分別是正弦波的瞬時(shí)振幅、瞬時(shí)頻率和瞬時(shí)相位.理想的VT偽裝操作是指定一個(gè)伸縮因子α(t)>0,并對(duì)信號(hào)作公式(3-4)的操作.
公式(3)表示變換信號(hào)的正弦波在時(shí)間t′上與原始信號(hào)在時(shí)間t=t′時(shí)的幅值相同,但其瞬時(shí)頻率乘上了一個(gè)因子α(t′)(公式(4)).因此,信號(hào)在時(shí)長和節(jié)奏沒有改變的情況下,其頻率成分被伸縮.在大多數(shù)的應(yīng)用中,α(t)通常是常量,在下文將其表示為α.
VT的具體實(shí)現(xiàn)一般利用相位聲碼器[25],即短時(shí)傅立葉變換(short time Fourier transform,STFT).具體過程如下:
假設(shè)xt(n)是語音信號(hào)在t時(shí)刻長度為N的幀.先對(duì)加窗的信號(hào)進(jìn)行FFT,如公式(5)所示.
其中w(n)是漢寧窗或漢明窗,k是頻率下標(biāo).瞬時(shí)振幅|F(k)|和瞬時(shí)頻率ω(k)分別如公式(6)和公式(7)所示.
其中Fs是采樣頻率,Δ是頻率偏差,Δ具體的計(jì)算詳情可以參考文獻(xiàn)[25].
利用公式(8)修改瞬時(shí)頻率ω(k)從而進(jìn)行VT偽裝操作,其中α是縮放因子,即偽裝因子.
修改瞬時(shí)振幅(instantaneous magnitude)最常用的方法是線性插值[21],如公式(9)所示.其中0≤k,k' 為了簡便,下文仍然使用k作為被修改了的瞬時(shí)頻率ω'和瞬時(shí)振幅F'的下標(biāo).然后通過瞬時(shí)頻率ω'(k)計(jì)算瞬時(shí)相位φ'(k),利用公式(10)得出偽裝變換后的FFT系數(shù). 最后對(duì)F'(k)進(jìn)行傅里葉逆變換,得到偽裝語音. 根據(jù)語音學(xué)原理,α可以表示為以半音s為自變量的方程,如公式(11)所示. 其 中s可以取[-12, 12]中的任意整數(shù),代表不同的偽裝程度.偽裝程度過低會(huì)與原始語音非常接近,偽裝程度過高容易引起不自然的聽覺效應(yīng),這兩種情況均不容達(dá)到欺騙目的.因此,本文考慮的偽裝程度為s取[-8,-4]和[+4,+8]兩個(gè)范圍內(nèi)的值,這兩個(gè)范圍具有最強(qiáng)的欺騙效果. 根據(jù)第二節(jié)描述的VT偽裝原理,VT操作會(huì)向語音信號(hào)的頻譜引入變化,這些頻率成分的變化可以作為區(qū)別原始語音和偽裝語音的依據(jù).另外,相對(duì)于直接的時(shí)域采樣數(shù)據(jù),時(shí)頻圖對(duì)于語音的特征信息有相對(duì)密集的分布,更有利于神經(jīng)網(wǎng)絡(luò)特征提取.因此,本文將時(shí)頻圖作為深度殘差網(wǎng)絡(luò)的輸入數(shù)據(jù),該網(wǎng)絡(luò)從時(shí)頻圖中自動(dòng)提取深層特征進(jìn)行VT偽裝檢測.網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,其參數(shù)細(xì)節(jié)如表1所示. 表1 參數(shù)表 Tab.1 parameter list 圖1 網(wǎng)絡(luò)結(jié)構(gòu) Fig.1 network structure 本文網(wǎng)絡(luò)的輸入采用尺寸為128×127的時(shí)頻圖,第一層是使用卷積核尺寸為8×1的卷積層,后接由3、4、6和3組bottleneck[26]組成的卷積組合塊構(gòu)成的特征提取層,其中每個(gè)bottleneck均由3個(gè)卷積層組成(圖2).網(wǎng)絡(luò)的最后運(yùn)用全局均值池化加全連接層,分類器采用softmax.輸出結(jié)果為原始語音與VT偽裝語音的分類概率.整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)共由50層組成. 圖2 bottleneck 內(nèi)部結(jié)構(gòu)Fig.2 bottleneck’s interior structure Bottleneck內(nèi)部結(jié)構(gòu)如圖2所示,每個(gè)bottleneck由3層卷積層組成,每層使用的卷積核尺寸分別為1×1,3×1和1×1.輸出處加上一個(gè)特征映射(identity)的短連接,這種設(shè)置可以避免隨著網(wǎng)絡(luò)層數(shù)的增加出現(xiàn)梯度退化的現(xiàn)象. 在bottlene 另外,由于VT沒有在時(shí)頻圖的時(shí)間軸引入關(guān)聯(lián)變化,因此整個(gè)網(wǎng)絡(luò)除最后一層全局池化外,其余全部使用尺寸為1×2的最大池化,即僅在時(shí)間軸上進(jìn)行降采樣而保持頻域維度不變,這樣既減少了特征維度,同時(shí)又不會(huì)導(dǎo)致頻率維度的特征丟失,有利于網(wǎng)絡(luò)得到更好的檢測結(jié)果. 本文實(shí)驗(yàn)采用3個(gè)常用的標(biāo)準(zhǔn)語音庫,分別是NIST[27](共3560個(gè)語音段,356個(gè)發(fā)言人),TIMIT[28](共6300個(gè)語音段,630個(gè)發(fā)言人),和UME[29](共4040個(gè)語音段,202個(gè)發(fā)言人).所有的語音段均為WAV格式,采樣率為8KHz,量化精度為16bit,單聲道.語音數(shù)據(jù)庫分為訓(xùn)練集和測試集,所有的語音段都被切割成時(shí)間為1秒的若干語音段.每個(gè)數(shù)據(jù)集中包含的1秒語音段的數(shù)量如下: 訓(xùn)練集: Timit-1(6536段),NIST-1 (17557段), UME-1(6465段) 測試集: Timit-2(7376段),NIST-2 (13785段), UME-2(5963段) 測試四種主流的VT偽裝方法,分別是Audacity[30],CoolEdit[31],PRAAT[32]和RTISI[33-34],采用偽 裝程度 在[-8, -4]和[+4, +8]之間的范圍. 網(wǎng)絡(luò)模型采用最小批次迭代的隨機(jī)梯度下降進(jìn)行訓(xùn)練,訓(xùn)練模型采用的最小批次為64,并同時(shí)在兩個(gè)GPU上訓(xùn)練.權(quán)重衰減參數(shù)為0.0001,學(xué)習(xí)率 為0.0001,總共訓(xùn)練了60000次. 本實(shí)驗(yàn)運(yùn)用檢測精確度A來評(píng)估實(shí)驗(yàn)的性能,如公式(12)所示. 其中G是原始語音的總數(shù)量,D是偽裝語音的總數(shù)量,Gs是從G中正確檢測到的原始語音數(shù)量,Ds是從D中正確檢測到的偽裝語音數(shù)量. 同源數(shù)據(jù)庫檢測即實(shí)驗(yàn)訓(xùn)練集和測試集數(shù)據(jù)均來自同一個(gè)語音庫.本實(shí)驗(yàn)中對(duì)四種偽裝方法分別進(jìn)行檢測,也將同一個(gè)數(shù)據(jù)庫中運(yùn)用的四種方法集合在一起進(jìn)行評(píng)估,實(shí)驗(yàn)結(jié)果如表2所示. 表2 同源數(shù)據(jù)庫實(shí)驗(yàn)結(jié)果Tab.2 Experimental results of homology database(A:Audacity,C:CoolEdit,P:Praat,R:RTISI) 從以上實(shí)驗(yàn)結(jié)果可以看出,不同的偽裝方法都可以達(dá)到96.88%以上的結(jié)果.當(dāng)將所有的偽裝方法集合在一起訓(xùn)練時(shí),檢測結(jié)果可以達(dá)到96.4%,超過了之前梁輝鑫[24]實(shí)驗(yàn)95.93%的結(jié)果.TIMIT和UME的實(shí)驗(yàn)結(jié)果與之類似. 通過對(duì)跨數(shù)據(jù)庫的評(píng)估可以測試網(wǎng)絡(luò)模型的通用性.實(shí)驗(yàn)結(jié)果如表3所示,可以看到,所有的測試結(jié)果都超過了96%,而之前梁輝鑫[20]的實(shí)驗(yàn)結(jié)果為94.37%,本文方法與之相比高出2.06%以上. 表3 跨數(shù)據(jù)庫檢測結(jié)果Tab.3 test results across databases 在我們考慮的偽裝程度中,程度為±4最接近自然人語音,最難被檢測出來,因此對(duì)衡量所提檢測方法的性能最具說服力.從表4的實(shí)驗(yàn)結(jié)果可以看出,不同的VT偽裝方法的檢測結(jié)果為96.10%—98.23%,超過了梁輝鑫方法[24]的最好結(jié)果95.85%. 表4 偽裝量為 ±4 級(jí)的檢測結(jié)果Tab.4 camouflage is ±4 grade detection results 本文提出了基于深度殘差學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)的VT偽裝檢測方法.所提網(wǎng)絡(luò)結(jié)構(gòu)隨著網(wǎng)絡(luò)層數(shù)的增加不會(huì)產(chǎn)生梯度退化問題.相比傳統(tǒng)的CNN網(wǎng)絡(luò)結(jié)構(gòu),所提網(wǎng)絡(luò)結(jié)構(gòu)能夠自動(dòng)地提取更深層次的數(shù)據(jù)特征信息.另外,根據(jù)時(shí)頻圖的獨(dú)特模式設(shè)計(jì)了特殊的卷積核和池化卷積核尺寸,更有利于網(wǎng)絡(luò)提取特征信息.實(shí)驗(yàn)結(jié)果表明,本文方法在同源數(shù)據(jù)庫內(nèi)和跨數(shù)據(jù)庫的檢測中都達(dá)到了令人滿意的精度,優(yōu)于已報(bào)道的方法.2 網(wǎng)絡(luò)結(jié)構(gòu)
3 實(shí)驗(yàn)結(jié)果
3.1 實(shí)驗(yàn)數(shù)據(jù)集和設(shè)置
3.2 在同源數(shù)據(jù)庫上的性能檢測
3.3 跨數(shù)據(jù)庫的性能檢測
3.4 偽裝程度為±4的性能檢測
4 總結(jié)
廣東技術(shù)師范大學(xué)學(xué)報(bào)2022年3期
——以中職《工業(yè)機(jī)器人技術(shù)基礎(chǔ)》課程為例
——以廣州市越秀區(qū)為例