陳 朗,王讓定,嚴(yán)迪群,林昱臻
(寧波大學(xué)信息科學(xué)與工程學(xué)院,浙江寧波 315211)
(*通信作者電子郵箱wangrangding@nbu.edu.cn)
伴隨著互聯(lián)網(wǎng)和多媒體處理技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)平臺(tái)上涌現(xiàn)出越來(lái)越多的數(shù)字媒體應(yīng)用,數(shù)字媒體安全問(wèn)題變得日益突出,已成為數(shù)字經(jīng)濟(jì)等領(lǐng)域迫切需要解決的難題。在信息安全領(lǐng)域,保障信息安全的技術(shù)有密碼術(shù)和信息隱藏。然而,應(yīng)用密碼術(shù)獲得的密文在公開信道上傳輸,很容易引起第三方的監(jiān)聽進(jìn)而采取手段破壞隱蔽通信;信息隱藏則很好地解決了密碼術(shù)存在的問(wèn)題,它將密信以“暗度陳倉(cāng)”的方式隱藏在另一非機(jī)密載體中進(jìn)行傳輸,從而可實(shí)現(xiàn)隱蔽通信。廣義的信息隱藏包括隱寫術(shù)和隱寫分析:隱寫術(shù)利用人類感官對(duì)數(shù)字信號(hào)的感知冗余性將秘密信息隱藏到數(shù)字媒體中,目的是避免引起檢查者的注意;相反的,隱寫分析則是通過(guò)分析載體對(duì)象和嵌密對(duì)象在感知和統(tǒng)計(jì)特征上的差異來(lái)判別載體中是否隱藏密信。
近二十多年來(lái),研究人員在采用傳統(tǒng)方法進(jìn)行音頻隱寫分析方面做了大量工作,主要集中于手工特征的設(shè)計(jì)上。Johnson 等[1]通過(guò)短時(shí)傅里葉變換(Short-Time Fourier Transform,STFT)提取音頻統(tǒng)計(jì)特征,以支持向量機(jī)(Support Vector Machine,SVM)作為分類器;實(shí)驗(yàn)結(jié)果顯示,該方法對(duì)較低嵌入率下最低有效位(Least Significant Bit,LSB)隱寫算法并不能有效檢測(cè)。Kraetzer 等[2]第一次提出了基于梅爾倒譜(Mel-cepstrum)的網(wǎng)絡(luò)協(xié)議(Internet Protocol,IP)語(yǔ)音隱寫檢測(cè)方法,以梅爾倒譜特征作為SVM 的輸入。Liu等[3]提出了基于時(shí)域?qū)?shù)頻譜和梅爾倒譜的音頻隱寫檢測(cè)方法,以傅里葉頻譜統(tǒng)計(jì)和二階差分濾波器獲取的梅爾倒譜系數(shù)作為提取的手工特征,采用SVM 作為分類器;實(shí)驗(yàn)結(jié)果顯示,相較于僅提取梅爾倒譜特征的方法,該方法的檢測(cè)準(zhǔn)確率有明顯提高。Liu 等[4]將梅爾倒譜系數(shù)和根據(jù)二階差分濾波器獲取的馬爾可夫轉(zhuǎn)移矩陣作為提取的手工特征,并研究了音頻信號(hào)復(fù)雜度和檢測(cè)準(zhǔn)確率之間的關(guān)系;實(shí)驗(yàn)結(jié)果表明,對(duì)LSB等低隱蔽性隱寫算法檢測(cè)準(zhǔn)確率達(dá)到90%以上。Geetha 等[5]設(shè)計(jì)了一種基于音頻質(zhì)量測(cè)度的特征,計(jì)算載體音頻和嵌密音頻的Hausdorff 距離作為失真度測(cè)量特征。王昱潔等[6]提出了一種基于改進(jìn)離散余弦變換(Modified Discrete Cosine Transform,MDCT)量化系數(shù)統(tǒng)計(jì)特征的高級(jí)音頻編碼(Advanced Audio Coding,AAC)隱寫檢測(cè)方法,從MDCT 量化系數(shù)中提取了廣義高斯分布模型的參數(shù)、量化系數(shù)分布直方圖的頻域統(tǒng)計(jì)矩、幀內(nèi)和幀間MDCT 系數(shù)的隱馬爾可夫轉(zhuǎn)移矩陣的部分?jǐn)?shù)據(jù)作為手工設(shè)計(jì)的特征,采用SVM 作為分類器;實(shí)驗(yàn)結(jié)果表明,該方法對(duì)基于MDCT 量化系數(shù)的直接擴(kuò)頻隱寫算法檢測(cè)效果較好。王昱潔等[7]還提出了一種基于模糊C 均值聚類(Fuzzy Cmeans Clustering,F(xiàn)CC)和單類支持向量機(jī)(One Class Support Vector Machine,OC-SVM)的音頻隱寫檢測(cè)方法,首先提取短時(shí)傅里葉頻譜統(tǒng)計(jì)特征和基于音頻質(zhì)量測(cè)度的特征,然后對(duì)提取的特征進(jìn)行FCC聚類從而得到C個(gè)聚類,最后以O(shè)C-SVM作為分類器;實(shí)驗(yàn)結(jié)果表明,對(duì)幾種經(jīng)典隱寫算法在滿嵌時(shí)總體檢測(cè)率達(dá)到85.1%。Han 等[8]提出了一種基于線性預(yù)測(cè)的音頻隱寫檢測(cè)方法,提取了線性預(yù)測(cè)系數(shù)、線性預(yù)測(cè)殘差、線性預(yù)測(cè)頻譜和線性預(yù)測(cè)頻譜系數(shù),將它們的最大值作為SVM的輸入特征;實(shí)驗(yàn)結(jié)果表明,該方法對(duì)四種低隱蔽性傳統(tǒng)隱寫算法的檢測(cè)準(zhǔn)確率均在96%以上。Ren 等[9]提出了一種基于幀內(nèi)和幀間的改進(jìn)離散余弦變換系數(shù)差異的高級(jí)音頻編碼音頻隱寫檢測(cè)方法。
隨著人工智能時(shí)代的到來(lái),不同的深度學(xué)習(xí)網(wǎng)絡(luò)相繼被提出,在許多領(lǐng)域已經(jīng)達(dá)到了目前最好的效果,尤其是在語(yǔ)音識(shí)別和計(jì)算機(jī)視覺領(lǐng)域。Chen 等[10]首次提出了針對(duì)LSB 匹配隱寫的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN),該方法的檢測(cè)準(zhǔn)確率高于手工提取特征的傳統(tǒng)方法。隨后,Lin等[11]提出了一種改進(jìn)的CNN,首先采用四階差分濾波器計(jì)算殘差進(jìn)行預(yù)處理,其中濾波器參數(shù)在網(wǎng)絡(luò)中設(shè)置為可訓(xùn)練的;再將預(yù)處理后的音頻數(shù)據(jù)輸入到網(wǎng)絡(luò)中,采用遷移學(xué)習(xí)的策略進(jìn)行低嵌入率下音頻隱寫檢測(cè)。Wang 等[12]提出了一種在熵編碼域(Entropy Code Domain)對(duì)MP3 進(jìn)行隱寫分析的CNN,使用量化改進(jìn)的離散余弦變換(Quantified Modified Discrete Cosine Transform,QMDCT)特征作為網(wǎng)絡(luò)的輸入的淺層特征,準(zhǔn)確率相較于以前的隱寫分析方法提升了20%以上。Yang 等[13]融合了CNN 和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的優(yōu)勢(shì),提出了一種聯(lián)合CNN 和長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)的模型CNN-LSTM 用于檢測(cè)網(wǎng)絡(luò)協(xié)議語(yǔ)音流(Voice over Internet Protocol,VoIP)上基于量化索引調(diào)制(Quantization Index Modulation,QIM)的隱寫算法,其中的LSTM 用于學(xué)習(xí)音頻載體的上下文信息,CNN用于學(xué)習(xí)分類特征。
然而,上述方法不能有效檢測(cè)高隱蔽性音頻信息隱藏算法,如STC框架[14]下的音頻隱寫算法?;诖?,本文提出了一種融合深度殘差網(wǎng)絡(luò)和極限梯度提升(eXtreme Gradient Boosting,XGBoost)[15]的音頻隱寫檢測(cè)模型ResNet-XGBoost。基于ResNet-XGBoost模型的音頻隱寫檢測(cè)方法首先采用殘差網(wǎng)絡(luò)模型提取輸入音頻的高維抽象特征,再用XGBoost 模型對(duì)殘差網(wǎng)絡(luò)提取的高維抽象特征進(jìn)行分類。實(shí)驗(yàn)結(jié)果顯示,該方法對(duì)STC音頻隱寫算法在三種不同嵌入率下的檢測(cè)準(zhǔn)確率相較于傳統(tǒng)提取手工特征的檢測(cè)方法和基于深度學(xué)習(xí)的檢測(cè)方法均有顯著提升。
STC 框架下的隱寫算法屬于一種基于校驗(yàn)網(wǎng)格編碼的最小化嵌入失真隱寫算法,具備嵌入容量大、安全性高等優(yōu)勢(shì)。隱寫設(shè)計(jì)者先定義失真函數(shù),采用維特比算法獲取合適的原始載體修改模式,使得嵌入秘密信息后的總體失真接近理論最小值;而接收方不必知道失真函數(shù),僅根據(jù)校驗(yàn)矩陣便可提取出密信。
假設(shè)原始載體為二進(jìn)制向量X∈{0,1}n,嵌密載體Y∈{0,1}n,秘密信息M∈{0,1}m,且n≥m。定義嵌入函數(shù)為Emb:{0,1}n×{0,1}m→{0,1}m,提取函數(shù)為Ext:{0,1}n→{0,1}m且滿足如下條件:
構(gòu)造一個(gè)矩陣(亦即校驗(yàn)矩陣,其結(jié)構(gòu)如圖1 所示),使得嵌密載體滿足:
若嵌入操作相互獨(dú)立即互相不影響,則嵌入密信后引起的載體失真為加性失真。定義嵌入密信后的總失真函數(shù)為:
其中:D(X,Y)為嵌入密信后的總失真;i為當(dāng)前載體位置索引;n為載體長(zhǎng)度;ρi為當(dāng)前元素變化引起的失真,在復(fù)雜區(qū)域取值較小,在平滑區(qū)域取值較大。
圖1 校驗(yàn)矩陣示意圖Fig.1 Schematic diagram of check matrix
STC 隱寫的目標(biāo)是使得總失真函數(shù)盡可能小,即求解最優(yōu)的Y,既滿足HYT=M又使D(X,Y)最小,其嵌密和提取過(guò)程的數(shù)學(xué)表達(dá)為:
STC 過(guò)程在網(wǎng)格圖上完成,求解Y時(shí)可將所有滿足條件HYT=M的可行解Y在網(wǎng)格圖中用一條路徑表示。STC 在所有路徑中選擇具有最小權(quán)重的路徑,該路徑對(duì)應(yīng)一個(gè)最佳矢量Y,使HYT=M,并且使得嵌入總失真函數(shù)D(X,Y)達(dá)到最小。維特比算法包括前向計(jì)算和反向計(jì)算,利用該算法可求解出最佳Y。
STC 音頻隱寫一般將STC 和失真代價(jià)結(jié)合。首先利用失真函數(shù)計(jì)算載體中每個(gè)元素被修改后的失真代價(jià),再應(yīng)用STC 確定需要修改的位置并進(jìn)行嵌密操作,從而得到嵌密音頻。STC音頻隱寫流程如圖2所示。
圖2 STC音頻隱寫流程Fig.2 Flowchart of audio steganography based on STC
XGBoost 是[15]一種改進(jìn)的梯度提升算法,改進(jìn)點(diǎn)在于采用二階導(dǎo)數(shù)優(yōu)化目標(biāo)函數(shù)。它融合多個(gè)弱分類器進(jìn)而演化成強(qiáng)分類器,基分類器為分類回歸樹(Classification And Regression Tree,CART)。
XGBoost 的目標(biāo)函數(shù)由訓(xùn)練損失和正則化項(xiàng)兩部分組成,定義如下:
其中:fk為第k棵樹模型的函數(shù)表達(dá)式;yi為第i個(gè)樣本xi的真實(shí)標(biāo)簽為第i個(gè)樣本xi的預(yù)測(cè)值。而XGBoost 是一個(gè)加法模型,故預(yù)測(cè)值為每棵樹預(yù)測(cè)值的累加之和,即
將K棵樹的復(fù)雜度之和作為正則化項(xiàng),用于防止模型過(guò)擬合。假設(shè)第t次迭代訓(xùn)練的樹模型為ft,則有:
XGBoost 模型在訓(xùn)練過(guò)程中,當(dāng)建立第t棵樹時(shí),采用貪心策略進(jìn)行樹節(jié)點(diǎn)的分裂。每次分裂成左右兩個(gè)葉子節(jié)點(diǎn)后,會(huì)給損失函數(shù)帶來(lái)增益,其定義如下:
若Gain>0,則將此次分裂結(jié)果加入模型構(gòu)建中。
考慮到卷積神經(jīng)網(wǎng)絡(luò)在特征提取上的優(yōu)勢(shì),本文提出了一種基于ResNet-XGBoost模型的音頻隱寫檢測(cè)方法。該方法的思路是利用殘差網(wǎng)絡(luò)提取高維抽象特征,并將其作為XGBoost 分類器的輸入,再結(jié)合實(shí)驗(yàn)結(jié)果和網(wǎng)絡(luò)結(jié)構(gòu)調(diào)整得到最終的模型結(jié)構(gòu),如圖3 所示。首先,輸入到模型中的音頻通過(guò)高通濾波器(High-Pass Filter,HPF)的預(yù)處理后,利用第一階段的三個(gè)卷積層進(jìn)行初步特征提?。唤酉聛?lái),經(jīng)過(guò)五個(gè)階段的殘差塊和池化操作進(jìn)一步提取深層次特征;最后,經(jīng)過(guò)全連接層和Dropout[16]層將最終提取的特征作為XGBoost 分類器的輸入進(jìn)行分類,進(jìn)而輸出模型分類結(jié)果。
在神經(jīng)網(wǎng)絡(luò)中應(yīng)用非線性激活函數(shù)可增強(qiáng)特征學(xué)習(xí)能力。到目前為止,Sigmoid、Tanh、修正線性單元(Rectified Linear Unit,ReLU)等非線性激活函數(shù)已相繼提出,其中尤以ReLU 在計(jì)算機(jī)視覺等領(lǐng)域應(yīng)用較好的泛化能力。ReLU 表達(dá)式如下:
ReLU 能適應(yīng)計(jì)算機(jī)視覺領(lǐng)域被檢測(cè)目標(biāo)的數(shù)據(jù)分布(被檢測(cè)信號(hào)信噪比較高),但在隱寫分析任務(wù)中由于隱寫噪聲微弱即被檢測(cè)信號(hào)信噪比低,若采用ReLU 激活函數(shù),會(huì)使得模型不能提取有效的特征。因此,引入了如下的線性截?cái)鄦卧═runcated Linear Unit,TLU)[17]激活函數(shù):
其中,超參數(shù)T為線性截?cái)嚅撝担鶕?jù)實(shí)驗(yàn)確定。
本文方法在階段1 的第一個(gè)卷積層的卷積核大小為1× 1,卷積核個(gè)數(shù)為8,且使用了TLU 激活函數(shù),實(shí)驗(yàn)中發(fā)現(xiàn)T=3 時(shí),檢測(cè)效果較好;第二個(gè)卷積層的卷積核大小為1× 5,卷積核個(gè)數(shù)為8;第三個(gè)卷積層的卷積核大小為1× 1,卷積核個(gè)數(shù)為16。
圖3 本文模型總體結(jié)構(gòu)Fig.3 Overall structure of the proposed model
為消除特征中的冗余信息和減少來(lái)自卷積層的參數(shù)個(gè)數(shù),通常在卷積層后進(jìn)行池化操作。池化也可被認(rèn)為是一種卷積操作,分為最大池化和平均池化。最大池化輸出滑動(dòng)窗口的最大值,用于提取紋理特征;平均池化輸出滑動(dòng)窗口的平均值,用于保留背景信息。根據(jù)隱寫分析任務(wù)的特點(diǎn)和實(shí)驗(yàn)效果,本文使用了平均池化,可在一定程度上防止過(guò)擬合,為使模型更好地學(xué)習(xí)到殘差,需在第6 階段后匯聚高維特征,因此,除了第6 階段殘差塊后使用了全局平均池化,其余階段均使用平均池化,池化窗口大小為1×3,步長(zhǎng)為2。
殘差網(wǎng)絡(luò)最早由He等[18]提出并應(yīng)用于圖像識(shí)別,設(shè)計(jì)了一個(gè)多達(dá)152 層的深度卷積神經(jīng)網(wǎng)絡(luò),在ImageNet 大規(guī)模視覺識(shí)別挑戰(zhàn)賽圖像分類任務(wù)上識(shí)別錯(cuò)誤率僅為3.57%,奪得了圖像分類組第一名。殘差網(wǎng)絡(luò)在CNN 的基礎(chǔ)上做出了些許改進(jìn),有效避免了梯度消失和梯度爆炸的問(wèn)題,解決了CNN層數(shù)過(guò)深時(shí)準(zhǔn)確率下降的缺陷,殘差塊基本結(jié)構(gòu)如圖4 所示。假設(shè)某段神經(jīng)網(wǎng)絡(luò)的輸入為x,期望輸出為H(x),則在殘差塊中學(xué)習(xí)目標(biāo)為F(x)=H(x)-x,其中F(x)為殘差。
圖4 殘差塊基本結(jié)構(gòu)Fig.4 Basic structure of residual block
將輸入音頻x記為:
其中:c為載體音頻;0代表零信號(hào),即無(wú)隱寫;m為嵌入秘密信息后產(chǎn)生的微弱信號(hào)。
將x輸入到殘差學(xué)習(xí)塊中,恒等映射塊將x傳輸?shù)捷敵龉?jié)點(diǎn),同時(shí),殘差學(xué)習(xí)塊F(x)將學(xué)習(xí)到殘差m,并將其與輸入x匯合輸出。因此,可將殘差m類比為隱寫噪聲,利用殘差學(xué)習(xí)即可學(xué)習(xí)到隱寫噪聲的數(shù)據(jù)分布,使得殘差網(wǎng)絡(luò)非常適合于隱寫分析任務(wù)。
本文殘差網(wǎng)絡(luò)模型采用的殘差塊如圖4 所示。殘差映射部分由3 組基本單元構(gòu)成,其中基本單元包括1× 1 卷積核、1× 5 卷積核、批規(guī)范化和tanh 激活函數(shù)。在該殘差塊中,輸入維度為D,經(jīng)過(guò)殘差學(xué)習(xí)后,輸出維度為2D。在本文殘差網(wǎng)絡(luò)模型中,階段2~階段6中“5個(gè)殘差塊堆疊”后面括號(hào)內(nèi)的參數(shù)分別表示輸入和輸出維度。以階段2 為例,(16,32)表示殘差塊的輸入維度為16,輸出維度為32。每個(gè)階段的殘差層由5個(gè)結(jié)構(gòu)如圖5所示的殘差塊堆疊而成,其輸入維度和輸出維度按圖3中殘差層參數(shù)設(shè)置。
圖5 本文采用的殘差塊Fig.5 Residual block used in the paper
本文模型ResNet-XGBoost 的殘差網(wǎng)絡(luò)中有兩個(gè)全連接層,并且分別在每個(gè)全連接層后加入了一個(gè)Dropout[16]層,其中第一個(gè)全連接層的神經(jīng)元個(gè)數(shù)為1 024,第二個(gè)全連接層的神經(jīng)元個(gè)數(shù)為256。
在訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)時(shí)難免出現(xiàn)過(guò)擬合現(xiàn)象,為解決這一問(wèn)題,通常的思路是采用模型集成,即訓(xùn)練多個(gè)模型進(jìn)行組合,但是訓(xùn)練多個(gè)模型會(huì)耗費(fèi)巨大的計(jì)算量。因此,Dropout作為一種典型的正則化手段應(yīng)運(yùn)而生,一定程度上能有效防止出現(xiàn)過(guò)擬合。通俗地講,Dropout 就是在神經(jīng)網(wǎng)絡(luò)前向傳播過(guò)程中,以一定概率p∈{0,1}抑制神經(jīng)元,在測(cè)試時(shí),激活所有神經(jīng)元,但需將每個(gè)神經(jīng)元的輸出乘以p。
假設(shè)一個(gè)神經(jīng)網(wǎng)絡(luò)有L個(gè)隱藏層,l∈{1,2,…,L}為隱藏層數(shù)序號(hào),z(l)為第l層的輸入向量,y(l)為第l層的輸出向量,w(l)和b(l)分別為第l權(quán)重和偏置。則若在前向傳播過(guò)程中不使用Dropout,對(duì)隱藏節(jié)點(diǎn)i有:
其中:l∈{0,1,…,L-1},f為激活函數(shù)。
若在前向傳播過(guò)程中使用Dropout,對(duì)隱藏節(jié)點(diǎn)i有:
其中:Bernoulli函數(shù)的作用是以概率p隨機(jī)生成一個(gè)由0、1 組成的向量;y(l)為第l層隱藏層的輸出。
實(shí)驗(yàn)中通過(guò)多次調(diào)參發(fā)現(xiàn),第一個(gè)Dropout層抑制概率取0.3,第二個(gè)Dropout 層抑制概率取0.1 時(shí),提取的特征輸入到XGBoost分類器中的檢測(cè)效果最好。
本文方法的思路是先利用殘差網(wǎng)絡(luò)提取高維抽象特征,再將提取到的輸入到XGBoost 分類器中進(jìn)行分類。XGBoost分類器融合多個(gè)分類回歸樹進(jìn)行分類,具有較好的泛化能力,其參數(shù)設(shè)置顯得尤為重要。實(shí)驗(yàn)中多次調(diào)參得出XGBoost 分類器最優(yōu)參數(shù)組合:學(xué)習(xí)率取0.1,樹的深度取150,訓(xùn)練輪數(shù)取1 000,其余均為默認(rèn)的參數(shù),此時(shí)檢測(cè)性能可達(dá)到最優(yōu)。在XGBoost 模型訓(xùn)練過(guò)程中,使用了logistic 和hinge 兩種損失函數(shù),其表達(dá)式分別為:
其中,z1、z2均為分類器的預(yù)測(cè)輸出。
對(duì)于XGBoost 分類器來(lái)講,使用logistic 損失函數(shù)時(shí),分類器輸出給定輸入樣本屬于正類的概率;使用hinge 損失函數(shù)時(shí),分類器輸出給定輸入樣本的分類結(jié)果。在實(shí)驗(yàn)中發(fā)現(xiàn),在保持除了損失函數(shù)外的所有參數(shù)不變的條件下,損失函數(shù)為hinge時(shí)的分類準(zhǔn)確率明顯高于logistic。
實(shí)驗(yàn)數(shù)據(jù)集來(lái)源于TIMIT 語(yǔ)料庫(kù)[19],其中包含6 300 個(gè)采樣頻率為16 kHz、量化位數(shù)為16 的無(wú)壓縮單聲道音頻,將每段語(yǔ)音切割成時(shí)長(zhǎng)為1 s的音頻片段,選取其中15 000個(gè)作為用于隱寫的原始音頻,并分別利用LSBM 和STC 隱寫算法嵌入密信,從而生成15 000個(gè)嵌密音頻。
實(shí)驗(yàn)時(shí)將15 000個(gè)原始音頻和15 000個(gè)嵌密音頻組合在一起,合計(jì)30 000個(gè)音頻片段,其中,24 000個(gè)為訓(xùn)練集,6 000個(gè)用于驗(yàn)證與測(cè)試。殘差網(wǎng)絡(luò)模型的訓(xùn)練批次大小為64,輸入到XGBoost 分類器中的高維抽象特征維度是256。實(shí)驗(yàn)硬件環(huán)境是內(nèi)存大小為11 GB 的NVDIA GTX1 080Ti GPU,軟件環(huán)境是Tensorflow和Keras深度學(xué)習(xí)框架。
4.2.1 高通濾波器階數(shù)對(duì)檢測(cè)準(zhǔn)確率的影響
本文采用的高通濾波器為差分濾波器[4],在訓(xùn)練過(guò)程中發(fā)現(xiàn),將其參數(shù)設(shè)為固定時(shí)檢測(cè)效果較好。隱寫相當(dāng)于向原始載體中添加了微弱的噪聲,需比較嵌入密信前后的載體差異即計(jì)算殘差,以此提高信噪比,使得特征學(xué)習(xí)更充分。為研究濾波器階數(shù)對(duì)檢測(cè)準(zhǔn)確率的影響,分別在嵌入率為0.5 bps(bit per sample)時(shí)對(duì)LSBM 和STC 進(jìn)行檢測(cè),實(shí)驗(yàn)結(jié)果如圖6所示。實(shí)驗(yàn)結(jié)果表明,高通濾波器階數(shù)取6 時(shí),隱寫檢測(cè)準(zhǔn)確率最高;當(dāng)濾波器階數(shù)大于6時(shí),隱寫檢測(cè)準(zhǔn)確率反而下降。
圖6 高通濾波器不同階數(shù)對(duì)應(yīng)的檢測(cè)準(zhǔn)確率Fig.6 Detection accuracies corresponding to different orders of HPF
6階高通濾波器參數(shù)設(shè)置如下:
4.2.2 模型結(jié)構(gòu)對(duì)檢測(cè)準(zhǔn)確率的影響
通過(guò)修改用于提取特征的殘差網(wǎng)絡(luò)的不同結(jié)構(gòu)參數(shù),比較每種修改情況下對(duì)LSBM 隱寫算法的檢測(cè)準(zhǔn)確率,其中LSBM 嵌入率為0.5 bps,修改的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如表1 所示。為比較修改不同的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)后模型檢測(cè)準(zhǔn)確率的波動(dòng)范圍,對(duì)于每個(gè)不同的模型進(jìn)行10次實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖7的箱形圖所示。本文模型平均檢測(cè)準(zhǔn)確率為86.58%,與其他9 種模型相比,檢測(cè)準(zhǔn)確率最高且較穩(wěn)定;模型#2 的平均檢測(cè)準(zhǔn)確率為83.48%,原因可能是移除高通濾波器后,模型不能有效學(xué)習(xí)到殘差;模型#3 的平均檢測(cè)準(zhǔn)確率為82.59%,原因可能是移除TLU激活函數(shù)后,模型提取的特征數(shù)據(jù)缺失規(guī)范化;模型#4 和#5 的檢測(cè)準(zhǔn)確率介于81.12%和86.85%之間且波動(dòng)范圍較大;模型#6 的檢測(cè)準(zhǔn)確率在75.12%和87.25%之間,有時(shí)檢測(cè)準(zhǔn)確率高于模型#1,但有時(shí)檢測(cè)準(zhǔn)確率陷入局部最小值;模型#7 的檢測(cè)準(zhǔn)確率波動(dòng)范圍小,但平均檢測(cè)準(zhǔn)確率僅為79.14%,原因是梯度消失;模型#8 的檢測(cè)平均檢測(cè)準(zhǔn)確率為85.6%,原因是可能發(fā)生過(guò)擬合;模型#9 的平均檢測(cè)準(zhǔn)確率為74.72%,在9 種模型中是最低的,恰恰印證了XGBoost 分類器的有效性。XGBoost 分類器能提高檢測(cè)準(zhǔn)確率的一個(gè)重要原因是,XGBoost 模型在訓(xùn)練過(guò)程中不斷優(yōu)化當(dāng)前決策樹,并融合多棵當(dāng)前最優(yōu)決策樹進(jìn)行分類,是集成學(xué)習(xí)的一種體現(xiàn)。綜上所述,本文模型收斂快,檢測(cè)準(zhǔn)確率最高,因此,相較于其他8種模型,本文模型是最有效的。
表1 修改的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)Tab.1 Modified network structure parameters
圖7 嵌入率為0.5 bps時(shí)不同模型的LSBM隱寫檢測(cè)準(zhǔn)確率箱形圖Fig.7 Box plots of the detection accuracies acquired from different models for LSBM steganography with embedding rate of 0.5 bps
為進(jìn)一步證實(shí)本文方法的優(yōu)勢(shì)所在,對(duì)比了文獻(xiàn)[3-4,20]分別提出的傳統(tǒng)基于手工特征的音頻隱寫檢測(cè)方法和文獻(xiàn)[11]提出的深度學(xué)習(xí)檢測(cè)方法對(duì)LSBM 和STC 在不同嵌入率下的平均檢測(cè)準(zhǔn)確率,其中平均檢測(cè)準(zhǔn)確率為10 次重復(fù)實(shí)驗(yàn)結(jié)果取平均值。對(duì)于STC 嵌密,為研究嵌入率相同即子校驗(yàn)矩陣寬度相同而子校驗(yàn)矩陣高度不同對(duì)隱寫檢測(cè)準(zhǔn)確率的影響,由于在STC 隱寫中,子校驗(yàn)矩陣高度取值范圍為6 ≤h≤15,為簡(jiǎn)化實(shí)驗(yàn),分別在子校驗(yàn)矩陣高度為7、8和9 時(shí)進(jìn)行嵌密。實(shí)驗(yàn)結(jié)果如表2、3所示。
從表2可知,本文方法對(duì)三種不同嵌入率下的LSBM 隱寫算法檢測(cè)準(zhǔn)確率相較于文獻(xiàn)[3-4,20]和文獻(xiàn)[11]的方法均有明顯提升。對(duì)0.5 bps 的LSBM 隱寫檢測(cè),本文方法的準(zhǔn)確率比文獻(xiàn)[3-4,20]和文獻(xiàn)[11]的方法分別提高了28.46 個(gè)百分點(diǎn)、16.23個(gè)百分點(diǎn)、15.22個(gè)百分點(diǎn)和10.16個(gè)百分點(diǎn)。
表2 不同檢測(cè)方法對(duì)LSBM隱寫檢測(cè)準(zhǔn)確率 單位:%Tab.2 Detection accuracies of different detection methods for LSBM steganography unit:%
表3 顯示了不同方法對(duì)子校驗(yàn)矩陣高度分別為7、8 和9時(shí)的STC 隱寫算法檢測(cè)準(zhǔn)確率,可知本文方法對(duì)不同嵌入率下的STC 隱寫算法檢測(cè)準(zhǔn)確率明顯高于文獻(xiàn)[3-4,20]和文獻(xiàn)[11]的方法,且已達(dá)到了目前最好的效果。以STC 隱寫子校驗(yàn)矩陣高度h=7 時(shí)為例,本文方法對(duì)0.5 bps 的STC 隱寫算法檢測(cè)準(zhǔn)確率比文獻(xiàn)[3-4,20]和文獻(xiàn)[11]的方法分別提高了22 個(gè)百分點(diǎn)以上、12.75 個(gè)百分點(diǎn)、12.25 個(gè)百分點(diǎn)、11.07 個(gè)百分點(diǎn)。文獻(xiàn)[3]方法不能檢測(cè)STC 隱寫算法的一個(gè)重要原因是,STC 隱寫會(huì)使得嵌入密信后引起的失真最小,即隱寫噪聲極其微弱,以此保證STC隱寫具有很高的隱蔽性,使得基于傳統(tǒng)手工特征的音頻隱寫檢測(cè)方法很難提取到有效的特征。通過(guò)表3 的實(shí)驗(yàn)結(jié)果可知,就STC 隱寫而言,子校驗(yàn)矩陣高度越高,安全性越高,即越抗隱寫檢測(cè)。
表3 不同檢測(cè)方法對(duì)h=7,8,9時(shí)的STC隱寫檢測(cè)準(zhǔn)確率單位:%Tab.3 Detection accuracies of different detection methods for STC steganography when h=7,8,9 unit:%
同時(shí),對(duì)于0.5 bps的LSBM隱寫和STC隱寫(子校驗(yàn)矩陣高度h=7)檢測(cè),文獻(xiàn)[11]方法和本文方法的ROC 曲線如圖8 所示。其中:橫軸表示假陽(yáng)率(即虛警率),縱軸表示真陽(yáng)率(即檢測(cè)率);實(shí)線表示隨機(jī)猜測(cè),判斷載體隱寫和未隱寫的概率均為50%。ROC 曲線下面積(Area Under ROC Curve,AUC)表征了檢測(cè)器對(duì)此類隱寫對(duì)象的適用性程度。由圖8可知,本文方法在兩種隱寫算法下的AUC 均大于文獻(xiàn)[11]方法,即本文檢測(cè)器性能更優(yōu)。
圖8 兩種深度學(xué)習(xí)檢測(cè)方法對(duì)LSBM隱寫和STC隱寫的ROC曲線Fig.8 ROC curves of two deep learning detection methods for LSBM steganography and STC steganography
針對(duì)現(xiàn)有隱寫檢測(cè)方法對(duì)STC音頻隱寫算法難以檢測(cè)的問(wèn)題,本文提出了一種融合深度殘差網(wǎng)絡(luò)和極限梯度提升的音頻隱寫檢測(cè)模型ResNet-XGBoost?;赗esNet-XGBoost 模型的音頻隱寫檢測(cè)方法首先構(gòu)建了一種用于提取高維抽象特征的深度殘差網(wǎng)絡(luò)模型,再將利用其提取的特征作為XGBoost 模型的輸入進(jìn)行分類。實(shí)驗(yàn)中比較了本文方法和其他四種經(jīng)典音頻隱寫檢測(cè)方法對(duì)LSBM 隱寫算法和STC 隱寫算法的檢測(cè)準(zhǔn)確率,實(shí)驗(yàn)結(jié)果表明,相較于傳統(tǒng)提取手工特征的檢測(cè)方法和基于深度學(xué)習(xí)的檢測(cè)方法,本文方法檢測(cè)準(zhǔn)確率最高且有明顯提升。STC 隱寫中子校驗(yàn)矩陣高度較高時(shí)的檢測(cè)準(zhǔn)確率低于子校驗(yàn)矩陣高度較低時(shí),證明了子校驗(yàn)矩陣高度對(duì)隱寫檢測(cè)準(zhǔn)確率有直接影響,子校驗(yàn)矩陣高度越高,隱寫算法越難以檢測(cè)。同時(shí),本文方法采用深度殘差網(wǎng)絡(luò)提取高維抽象特征并用XGBoost 模型分類,相較傳統(tǒng)的隱寫檢測(cè)方法通常集中于依靠經(jīng)驗(yàn)設(shè)計(jì)手工特征,本文方法則從一個(gè)新的角度出發(fā)提取特征,避免了耗費(fèi)大量精力著眼于復(fù)雜的手工特征設(shè)計(jì)上。
后續(xù)工作將研究基于STC框架的自適應(yīng)音頻隱寫的檢測(cè)算法,考慮到自適應(yīng)隱寫嵌密集中于復(fù)雜區(qū)域上,研究重點(diǎn)則聚焦于隱寫信號(hào)的提取和放大,然后采用本文方法進(jìn)行隱寫檢測(cè)。