王曉丹,李京泰,宋亞飛
(空軍工程大學防空反導學院,陜西 西安 710051)
圖像隱寫是一種將信息隱藏在圖像中進行隱秘傳輸的方法。由于使用常見的圖像作為載體,攻擊者難以發現隱藏的信息,從而保護了信道安全[1]。然而這項技術可能被用于惡意意圖,例如將惡意代碼隱寫在移動應用的圖像文件中以竊取私人信息等。為防止此類事件發生,需要使用各種方法檢測圖像中是否被嵌入隱藏信息,這類技術被稱作隱寫分析技術[2-3]。
近年來,深度學習已經在圖像、視頻、語音等各個領域發揮重要作用[4]。各類神經網絡結構層出不窮[5-9]。一方面,基于生成對抗網絡(GAN,generative adversarial network)[9]的圖像隱寫算法大幅提高了隱寫容量[10-11]。另一方面,基于卷積神經網絡(CNN,convolutional neural network)[12]的圖像隱寫分析方法快速發展。2014 年,Tan 等[13]首次將卷積神經網絡用于圖像隱寫分析領域。隨著研究者對該方法的理解不斷加深,基于卷積神經網絡的隱寫分析方法已經全面超越傳統算法并成為主流方案。
基于卷積神經網絡的隱寫分析算法主要包括3個部分:特征提取部分、特征融合部分和分類部分,其中特征提取部分的設計尤為重要,會極大地影響模型的收斂效果。一種方式是選擇使用固定參數的濾波器。Qian-net[14]和Xu-net[15]通過在網絡的第一層使用隱寫分析富模型(SRM,rich model of steganalysis)中的一個5×5 濾波器來提取中心像素與周圍像素的差異。Xu-net 使用絕對值層來使模型學習負向殘差信息,并且使用全局池化來提取特征[15]。Yedroudj 等[16]使用SRM[18]中全部的30 個濾波器作為網絡的第一層,并且在訓練過程中不更新參數,結合絕對值層[15]和截斷線性單元(TLU,truncated linear unit)[17],極大地提高了模型性能。2018 年,Li 等[19]提出ReST-net 結構,希望通過3 種不同的子網獲取不同特征。在預處理層初始化中,Subnet#1使用16 種不同參數的6×6 Gabor 濾波器;Subnet#2使用16 種不同的SRM 濾波器;Subnet#3 則先采用SRM 濾波進行線性處理,再通過不同角度旋轉后的SRM 濾波器進行非線性處理,最后輸出14 個非線性特征圖。
另一種方式是進行參數初始化后,使濾波器參數隨模型訓練自適應調整,獲得更有效的濾波器。2014 年,Tan 等[13]設計了3 種濾波器初始化方式,其中隨機初始化濾波器得到的結果最差,而采用現有濾波器進行初始化得到的效果最好。Ye 等[17]提出對第一層卷積使用SRM 濾波器參數初始化,并使濾波器參數參與神經網絡訓練,使用TLU 激活函數替換Tanh 激活函數[20],使模型學習殘差信息,并得到更有效的高通濾波器,提高隱寫分析模型的收斂速度。HE 等[6]提出SRnet,通過殘差結構將淺層的特征傳遞至深層,緩解梯度消失的現象,自適應地學習濾波器的參數[21]。Zhang 等[23]提出Zhu-net,通過結合Inception[22]、金字塔池化[8]等多種結構,提出使用SRM 中3×3 的濾波器和部分5×5 的濾波器初始化第一層卷積核的參數,并使參數隨模型訓練更新,相比于其他網絡獲得了更高的準確率。
為提高基于卷積神經網絡的圖像隱寫分析模型中殘差特征濾波器的多樣性,本文提出方向差分自適應組合(DDAC,directional difference adaptive combination)特征提取方法。通過1×1 卷積將中心像素與相鄰像素的差分信息進行組合,使用帶動量的隨機梯度下降算法在模型訓練過程中優化組合參數,使用TLU 激活函數限制殘差特征范圍,降低圖像信息的干擾,提高模型收斂速度。DDAC 方法在不同數據集中生成多樣化的殘差特征濾波器,從而更有效地提取嵌入信息的殘差特征,提高模型檢測準確率。實驗分析了特征提取過程中不同結構、特征通道數量和截止函數的參數T對模型準確率的影響,并對比固定SRM 和更新參數SRM 這2種適用于卷積神經網絡的特征提取方法。通過在現有模型中應用DDAC 特征提取方法以及和現有模型的性能對比驗證DDAC 方法的有效性。
圖像隱寫分析主要通過建立殘差模型,從圖像中提取殘差特征,利用統計模型強化特征并結合機器學習方法實現分類。對于一張長為m、寬為n的圖像 X={Xi,j}∈Rm×n,其中像素值Xi,j的取值范圍為0~255。嵌入信息為任意的多媒體信息,在嵌入過程中轉化為比特數據流隱寫在圖像載體中。隱寫信息為與圖像X同樣大小的矩陣 I={Ii,j}∈Rm×n,并且Ii,j={0,-1,+1 }。通過對比原圖,分析像素值改動的位置來提取隱寫信息的編碼。空域自適應隱寫算法通過設計失真函數,并使計算得到的失真值最小化來選擇圖像中的隱寫位置[3](ib,jb)},其中b為一張圖像中隱寫信息比特流的長度。隱寫后的圖像為 S={Si,j}∈Rm×n,S=X+I。對于圖像中的一塊3×3 區域,隱寫圖像的組成為

為使圖像失真最小,嵌入的信息為+1 或-1,并且使嵌入信息的概率均值為0,相當于人工添加的低頻噪聲。由于隱寫信息與圖像信息的比例極小,為提取隱寫特征,模型通常要對圖像進行預處理,降低圖像信息的影響。Fridrich 等[16]提出隱寫分析富模型SRM,通過構建周圍像素與中心像素之間的關系來獲取隱寫圖像的殘差,對殘差進行統計獲得隱寫特征。殘差Rres的計算方法為


minmax 殘差通過選取2 種像素關系中的較小值或較大值來引入非線性關系,期望增加特征的多樣性。例如水平和垂直方向上的殘差最小值為

模型通過截斷操作來限制殘差的范圍,方便使用共生矩陣來描述圖像的殘差特征;通過量化操作來提高嵌入信息對殘差的影響,使隱寫圖像和載體圖像的殘差特征具有顯著差異,即

其中,q為量化的步長,當c> 1時 q∈{c,1.5 c ,2c},當c=1時q∈{1,2};round(·) 為取整操作;truncT(·)為截斷操作。對提取得到的殘差用共生矩陣進行統計,對統計結果進行整合獲得殘差特征,并用集成分類器等傳統機器學習方法對樣本進行分類,確定是否為隱寫圖像。

載體圖像區域 X ′中嵌入隱寫信息 I ′后變為隱寫圖像區域 S ′,隱寫區域內中心像素Si,j的殘差res∈R由中心像素的周圍像素與c階的中心像素cSi,j差分得到,即


根據函數h的線性性質得到

根據式(6),最終殘差值為

經過差分,載體圖像中的像素獲得的殘差特征為零,而隱寫圖像中像素的殘差特征則由隱寫信息組成。殘差特征對于隱寫信息敏感,從而降低圖像信息的影響。通過提取殘差特征,增大載體圖像與隱寫圖像的特征差異,從而更好地對樣本進行分類。
在SRM 方法的啟發下,基于卷積神經網絡的圖像隱寫分析算法,例如Ye-net[17]、Yedroudj-net[18]參考SRM 的特征計算方法設計了各種高通濾波器提取圖像殘差。在濾波器的設計方式中,一種是直接使用SRM 中的高通濾波器提取殘差特征,另一種是先使用SRM 濾波器的參數對卷積核進行初始化,然后在網絡訓練過程中優化濾波器參數。如果僅依賴訓練獲得濾波器則需要大量的訓練輪次和時間[21]。根據SRM 方法設計的高通濾波器共有30 個,如圖1所示。
圖像卷積過程本質上是對像素進行加權求和。殘差濾波器從圖像的左上角開始計算得到第一個殘差,然后根據步長逐行逐列地在圖像上滑動,通過將像素值與對應的權重相乘求和獲得殘差,殘差按中心像素的位置依次排列獲得殘差圖。殘差圖的生成過程如圖2 所示。

圖2 殘差圖的生成過程
一個大小為r× r的殘差濾波器在一張大小為m× n的圖像中進行圖像卷積,無填充且步長為s× d時,生成特征圖R的大小為

在中心像素的周圍像素中,相鄰像素與中心像素相關性最高,因此使用相鄰像素來構建殘差提取函數。有K個大小為3×3 的卷積核Wk∈R3×3,每個卷積核表示相鄰像素與中心像素的線性關系。卷積核Wk對隱寫圖像的一塊區域 S ′∈R3×3進行圖像卷積的結果為


圖1 根據SRM 方法設計的30 個高通濾波器


其中,wp為待優化參數;wp′為優化后結果;lr為學習率,控制參數更新的快慢;v 為動量,計算方法為

其中,Lloss為當前參數下模型的損失,損失函數使用交叉熵損失函數;v′與v分別為上一次參數更新時的動量與當前動量,通過引入參數在上一輪的更新值來提高模型的訓練速度,使模型在優化過程中更容易越過鞍點,防止陷入局部最小值;α 為動量系數,控制上一輪參數更新值對本次更新的影響程度。學習率和動量系數在模型訓練前設置。Sutskever 等[25]指出動量系數的設置會影響模型的優化過程,一般設置動量系數為{0 .9,0.98,0.995}中的數值;學習率則根據模型訓練過程中損失的下降效果來確定。在Ye-net 與Yedroudj-net 中均使用在模型訓練的不同階段階梯降低學習率的策略,通過降低模型訓練后期參數更新的幅度,使模型的損失平穩地達到最小值。根據試錯法對比不同學習率和動量的模型效果,在動量為0.9、學習率為0.1 并且每50 輪訓練學習率乘以0.2 的參數設置條件下模型性能較高。
單一殘差特征提取函數不能作用于所有像素,函數獲取的特征中會摻雜其他特征。由式(10)可知,殘差特征值由0、-1、+1 的隱寫信息組成,為使模型學習較小的隱寫信息殘差特征,降低其他特征影響,使用TLU 激活函數對殘差特征的大小進行限制[17]。激活函數的形式為

為使殘差特征提取過程與卷積神經網絡模型訓練過程結合,首先獲取中心像素與8 個鄰接像素的方向差分,分別產生8 個特征圖,然后使用不帶偏置的1×1卷積將輸入的8張特征圖中同一位置的方向差分進行線性組合。一張使用WOW 算法在嵌入率為0.4 的條件下生成的隱寫圖像,殘差在DDAC特征提取方法不同階段的提取結果如圖3 所示。

圖3 殘差在DDAC 特征提取方法不同階段的提取結果
一種殘差提取函數只能提取一幅圖像中滿足線性關系的部分像素的殘差,為盡可能地提取殘差特征,需要設計更多的殘差濾波器,在模型訓練過程中自適應地調節組合參數獲取殘差提取函數,使殘差濾波器更具多樣性和適應性。
本文在嵌入率為0.4 的條件下用WOW 算法和S-UNIWARD 算法產生2 個數據集,使用這2 個數據集訓練各得到30 組參數,使用皮爾遜相關性系數來判斷不同數據集產生的殘差提取函數的相似性。對于兩組變量 U ,V∈Rn,皮爾遜相關系數計算方式為

其中,cov(U ,V)為變量U和V的協方差,σUσV為U和V標準差的積。計算在嵌入率為0.4 的條件下不同算法的數據集訓練得到的兩組組合系數的皮爾遜相關系數,結果如圖4 所示。

圖4 2 個數據集中殘差提取函數的相關性
當皮爾遜系數值大于0.8 時,說明兩組變量具有極強相關性,可以認為兩組變量相同。如圖4 所示,皮爾遜系數大于0.8 的點用×標記,表示此點的橫縱坐標對應序號的組合參數相同。在嵌入率為0.4條件下,S-UNIWARD 算法生成的數據集訓練得到的30 組組合參數中有11 組與WOW 算法生成的數據集訓練得到的組合參數相同,另外產生了19 組不同的組合參數。在殘差提取函數學習過程中不僅獲得了類似人工設計的方形殘差濾波器,在不同數據集中還獲得了多樣化的組合參數,這些組合參數更適用于當前算法。使用WOW 算法生成數據集中的組合參數在S-UNIWARD 算法產生的數據集中驗證模型效果,模型的準確率將會下降。S-UNIWARD數據集中訓練得到的殘差濾波器如圖5 所示。
使用DDAC 方法訓練殘差提取函數的參數更加穩定,可以提高模型擬合速度。如果通過直接對濾波器參數進行更新,由于缺乏限制,濾波器在建立過程中容易受圖像信息干擾,導致模型訓練過程不穩定。使用梯度優化算法對參數進行更新時要計算損失函數Loss 相對參數wp的偏導數若直接對濾波器的參數進行更新,已知第k個殘差圖Rk=S *Wk,根據鏈式法則和殘差公式,損失對濾波器權值矩陣的偏導數為



DDAC 方法更新參數時與方向差分呈正相關。圖像的像素值隨圖像內容變化,在不同的圖像中參數的更新值變化較大。根據方向差分對組合參數優化,一方面可以從差分中提取固定模式,降低在不同圖像中梯度的變化程度;另一方面圖像經過方向差分后的像素值遠遠小于原圖像的像素值,參數的更新幅度小,所以可以提高訓練過程的穩定性。本文在2.6 節中對2 種方法進行比較,并對結論進行驗證。
本節主要通過實驗對比與分析論證DDAC 方法的合理性和有效性。在構建測試模型后,通過替換不同結構的特征提取層,改變特征提取層中1×1卷積的通道數量,改變TLU 激活函數中參數T的取值,分析特征提取結構的合理性。通過對比固定SRM 濾波器、可變參數SRM 濾波器和DDAC 方法應用在測試模型的性能,以及分析DDAC 方法應用在Ye-net 與Yedroudj-net 模型的效果來驗證方法的有效性。最后在模型準確率、模型大小和模型時間復雜度上對比其他隱寫分析模型。
測試模型由5 個卷積模塊堆疊而成。每個卷積模塊由卷積核大小為3×3、步長為1、填充為0 的卷積層、pytorch 中參數默認的批歸一化(BN,batch normalization)層[26]和修正線性單元(ReLU,rectified linear unit)[27]組成。首先,在卷積模塊3 和卷積模塊4 后使用平均池化,核大小為3、步長為2。然后,在卷積模塊5 后加入全局平均池化,將128 個通道的特征縮減為128 維向量。最后,經過三層全連接層進行分類,每2 個全連接層間使用ReLU 激活函數進行激活。測試模型是較簡單的卷積神經網絡結構,可以更好地對比特征提取方法對卷積神經網絡的適用性。測試模型的結構如圖6 所示。

圖5 S-UNIWARD 數據集中訓練得到的殘差濾波器

圖6 測試模型的結構
實驗環境為 Ubuntu18,顯卡型號為RTX3080TI,CPU 型號為AMD Ryzen 3600,使用數據集為BOSSbase-v1.01,該數據集包含10 000 張用不同相機拍攝的512 像素×512 像素的灰度圖片[28]。由于計算量的限制,使用Pillow 庫中image 類的resize方法將512 像素×512 像素的圖片改變為256 像素×256 像素,并且隨機劃分4 000、1 000、5 000 張圖像分別用作訓練集、驗證集和測試集,使用WOW和S-UNIWARD 算法在嵌入率為0.2 和0.4 的條件下進行隱寫,將載體圖像和對應隱寫圖像作為一組樣本,訓練集、驗證集、測試集中實際有8 000、2 000、10 000 張圖像。實驗數據集處理方式和數據集劃分方式與Ye-net、Yedroudj-net、SRnet 保持一致以進行對比。
在分類問題中,混淆矩陣可以用來表示樣本的分類結果,混淆矩陣為

其中,TP(true positive)表示預測為隱寫圖像實際為隱寫圖像的樣本數量,FP(false positive)表示預測為隱寫圖像實際為載體圖像的樣本數量,FN(false negative)表示預測為載體圖像實際為隱寫圖像的樣本數量,TN(true negative)表示預測為載體圖像實際為載體的樣本數量。
由于測試集中隱寫圖像和載體圖像的數量相同,不存在不平衡情況,準確率可以有效表示模型的分類性能。準確率的計算方法為

另外,漏檢率和虛警率也是重要的評價指標之一。漏檢率表示所有隱寫圖像被錯誤識別為載體圖像的比例,漏檢率越低則模型檢測隱寫圖像的能力越強。虛警率表示所有被模型識別為隱寫圖像的圖像中載體圖像的比例,虛警率越低則模型的可信度越高,兩者的計算方法為

為探究通過方向差分獲得殘差濾波器的組合方式并驗證其合理性,設計6 種不同的結構進行對比實驗。初始結構的特征提取層由30 個從SRM 中提取的殘差濾波器構成,參數不更新,作為實驗的對照對象。6 種結構示意如圖7 所示。
結構1 由兩層32 通道的1×1 卷積構成,卷積層之間沒有激活函數。結構2 與結構1 相比,在1×1的卷積層之間加入TLU 激活函數用來獲取非線性殘差特征。結構3 使用深度可分離卷積,使用分組卷積來結合3×3 范圍內的殘差特征,驗證前期在構建殘差特征過程中獲取殘差特征間關系的必要性。結構4 在結構3 的卷積層間加入TLU 激活函數,同樣用于獲取非線性特征。結構5 在獲得方向差分后使用傳統3×3 卷積核進行卷積,與初始預處理方式對比僅使用一階殘差特征的實驗效果,同時對比結構1來驗證使用1×1卷積對方向差分進行組合的有效性。結構6 在結構5 的基礎上在卷積核間加入了TLU 激活函數。
以上6 種結構在最后一層后都使用TLU 激活函數對輸出的殘差特征進行限制,可以加快模型的擬合速度。

圖7 6 種結構示意
在訓練過程中采用隨機梯度下降算法進行參數優化,動量設置為0.9,學習率初始化為0.1,并且在訓練輪次為100、150 時學習率乘以0.2,總訓練輪次為200 次。batch_size 設置為16,實際訓練時每個batch 中將包含8 張原圖像和相對應的8 張隱寫圖像。實驗將保存在驗證集中效果最好的模型的參數,并在測試集中進行測試,不同結構的模型準確率如表1 所示。

表1 不同結構的模型在測試集的準確率
實驗結果表明,直接將方向差分進行線性組合的結構1 獲得的實驗效果最好。結構1 在WOW 算法在嵌入率為0.4 的測試集準確率為87.03%,超過其他結構1.26~3.92%。結構1 引入激活函數后在4個測試集的準確率平均降低1.48%,引入非線性關系對特征提取的效果提升不大,由于對訓練集過擬合而導致性能降低。
結構5、結構6 相比SRM 方法,模型在WOW嵌入率為0.2 測試集的準確率降低0.56%和0.78%,S-UNIWARD 嵌入率為0.2 測試集中降低0.63%和0.16%,在WOW嵌入率為0.4測試集和S-UNIWARD嵌入率為0.4 測試集中,最多提高0.73%,最多降低1.30%。僅使用方向差分比使用全部30 個殘差濾波器在大部分數據集中的特征提取能力弱,但模型性能的損失較小,說明方向差分與其他濾波器相比在淺層特征提取中起關鍵作用。而使用線性組合的結構1在測試集的準確率相比SRM方法提高2.62%~4.21%,說明對方向差分進行線性組合可以有效提高殘差特征的提取和表達能力。
結構1 比結構3 和結構4 在測試集中的準確率平均高2.67%,說明過早地對3×3 范圍內的像素殘差進行融合會影響殘差特征的表達并最終影響模型的收斂,這同時也是結構5 中直接使用3×3 卷積對殘差特征進行融合效果降低的原因。由于結構1中的2 個1×1 卷積層只提取線性關系,所以僅使用一層也能起到同樣的效果。不同結構在訓練集和驗證集的準確率對比如圖8 所示。

圖8 不同結構在訓練集和驗證集的準確率對比
相比于人工設計SRM 濾波器,DDAC 方法可以設置更多的特征通道數量,從而獲取更豐富的特征。1×1 卷積的通道數量決定殘差濾波器的多樣性,但過多的殘差濾波器會導致模型冗余、過擬合等風險。當通道數量為16、32、48、64、128 時測試模型在S-UNIWARD 嵌入率為0.2 和WOW 嵌入率為0.2 的數據集中驗證集和測試集的準確率如圖9 所示。

圖9 通道數量對模型準確率的影響
實驗結果表明,隨著通道數量的增加,模型獲取的殘差特征增多,測試集的準確率在64 達到最大值,在WOW 嵌入率為0.2 和S-UNIWARD 嵌入率為0.2 的測試集中比通道數量為16 時分別高1.69%、0.69%。但通道數量從64 增加至128 時,模型在WOW 嵌入率為0.2 和S-UNIWARD 嵌入率為0.2 的測試集中準確率下降1.55%、0.52%,說明過多的通道數量導致模型對訓練集的樣本過擬合使模型的泛化能力下降。根據實驗結果,1×1 卷積層的通道數量設置為64。
使用TLU 激活函數是為了限制殘差特征的大小,提高嵌入信息和圖像信息的比例,使模型在訓練過程中更容易提取嵌入信息的殘差特征。設置TLU 的參數T為1、4、7、10、13,模型在S-UNIWARD嵌入率為0.4 和WOW 嵌入率為0.4 數據集中驗證集和測試集的準確率如圖10 所示。

圖10 TLU 函數的參數T對模型準確率的影響
實驗結果表明,隨著T值的增加,模型在驗證集和測試集中的準確率先逐漸提高,在T=10 時達到最高。在2 個數據集中,T=10 比T=1 在測試集中的準確率提高3.42%和3.55%,而當T=13 時準確率下降0.37%和1.48%,說明T值的選取會影響模型的效果。TLU 激活函數在輸入大于T時輸出T,小于-T 時輸出-T,梯度為0。T 值過小時,會造成殘差信息的損失以及梯度消失,無法有效更新方向差分組合的參數。T 值過大時,會降低嵌入信息殘差和圖像信息殘差的比值,導致模型難以學習嵌入信息殘差。
卷積神經網絡模型一般使用固定SRM 濾波器方法[30]和可變參數SRM 濾波器方法[23],將這2 種方法與本文方法應用在測試模型中進行對比實驗。為保持特征通道數量的一致性,將DDAC 的通道數量設置為30。模型的優化算法選用隨機梯度下降算法,初始學習率為0.1,動量為0.9,訓練輪數為200 輪,學習率在100 輪和150 輪時乘以0.2,batch_size 為16,其中包含8 組對應的載體圖像和隱寫圖像。數據集使用在不同嵌入率下的WOW和S-UNIWARD隱寫數據集,使用模型準確率作為評價指標。不同特征提取方法的準確率對比如表2 所示。

表2 不同特征提取方法的準確率對比
實驗結果表明,在嵌入率為0.4 時,DDAC 方法在WOW 數據集準確率為87.23%,超過固定SRM濾波器方法2.32%,超過可變SRM 濾波器方法12.84%;在S-UNIWARD 數據集準確率為84.40%,超過固定SRM 濾波器方法4.12%,可變SRM 濾波器方法20.72%。在嵌入率為0.2 時,DDAC 方法在WOW 數據集準確率為75.39%,超過固定SRM 濾波器方法0.60%,超過可變SRM 濾波器方法8.13%;在S-UNIWARD 數據集準確率為69.47%,超過固定SRM 濾波器方法3.08%,可變SRM 濾波器方法11.19%。可變SRM 濾波器方法由于受訓練輪次的限制,檢測效果不太理想,DDAC 方法比其他方法提升效果顯著。

圖11 使用不同的特征提取方法在訓練集中的收斂過程
測試模型使用不同的特征提取方法在訓練集中的收斂性如圖11 所示。當嵌入率降低時,殘差信息降低,可變SRM 濾波器方法會受圖像信息干擾,導致準確率在訓練過程中不穩定,提升較緩慢。DDAC 方法通過限制特征為方向差分來降低圖像信息的影響,雖然在訓練初期學習參數過程中準確率提升緩慢,但之后準確率快速提高,在各個數據集中獲得最高準確率。實驗結果表明,使用DDAC方法提取的特征更有效,相比于可變SRM 濾波器特征提取方法能夠更快收斂。
將Ye-net 與Yedroudj-net 的特征提取部分替換為DDAC 方法來驗證適用性。Ye-net 使用SRM 中的30 個濾波器對卷積層參數進行初始化,參數隨模型訓練更新。而Yedroudj-net 同樣使用SRM 中的30 個濾波器對卷積層參數進行初始化,但不進行更新。為使對比條件一致,將DDAC 方法中1×1 卷積的通道數量設置為30,并且用文獻[17-18]中的訓練方式對替換后的模型進行訓練。具體的模型訓練的超參數設置如表3 所示。

表3 模型訓練的超參數設置
訓練結束后,保存驗證集中效果最好的模型,并在測試集中進行測試獲得模型的準確率、虛警率、漏檢率。模型在不同數據集中的準確率如表4所示。
實驗結果表明,使用方向差分自適應組合特征提取方法后,當嵌入率為0.4 時Ye-net 模型在WOW測試集的準確率提高2.17%,嵌入率為0.2 時提高3.32%。在S-UNIWARD 數據集嵌入率為0.4 時提高2.13%,嵌入率為0.2 時提高1.31%。而當嵌入率為0.4 時Yedroudj-net 模型在WOW 測試集的準確率提高1.30%,嵌入率為0.2 時提高2.48%。在S-UNIWARD 數據集嵌入率為0.4 時提高8.21%,嵌入率為0.2 時提高7.55%。DDAC 方法有效提高了2 種基于卷積神經網絡的圖像隱寫分析模型,并且顯著提高了Yedroudj-net 對于S-UNIWARD 算法的檢測能力。
模型在各個數據集中的虛警率和漏檢率分別如表5、表6 所示。實驗結果表明,在嵌入率為0.2時Yedroudj-net 在WOW 和S-UNIWARD 隱寫算法數據集中的漏檢率分別上升0.72%和4.82%,但虛警率分別下降6.06%和19.38%,使總體準確率得到提高。在嵌入率為0.4 時,Ye-net 模型在WOW 算法數據集中虛警率提高2.16%,同時漏檢率降低9.28%,在S-UNIWARD 算法數據集中漏檢率提高0.62%,虛警率降低6.32%。除上述4 種情況外,使用 DDAC 方法后 2 種模型的虛警率降低1.04%~9.78%,漏檢率降低0.14%~13.1%,說明DDAC 方法能夠有效提高模型對隱寫圖像的檢測能力,并且使決策結果的可信度更高。
本節將圖像隱寫分析模型Ye-net[17]、Yedroudjnet[18]、SRnet[21]、Zhu-net[23]、SiaStegnet[31]、Hybrid-CNN[32]在BOSSbase 數據集中進行訓練和測試。實驗根據文獻[17-18,21,23,31-32]訓練方法和條件進行復現。在DDAC-net 中設置通道數量為64,訓練參數設置與2.3 節一致。隱寫分析模型在BOSSbase數據集上的準確率如表7 所示。

表4 Ye-net 與Yedroudj-net 使用DDAC 后的模型準確率

表5 Ye-net 與Yedroudj-net 使用DDAC 后的模型虛警率

表6 Ye-net 與Yedroudj-net 使用DDAC 后的模型漏檢率

表7 隱寫分析模型在BOSSbase 數據集上的準確率
從表7 可知,DDAC-net 在WOW 與S-UNIWARD算法隱寫的數據集中的準確率比Ye-Net、Yedroudjnet、SRnet、SiaStegnet 高。在S-UNIWARD 算法嵌入率為0.4 下,比Ye-Net 高11.16%,比Yedroudj-net高10.08%,比SRnet 高3.79%,比SiaStegnet 高3.35%。在WOW 算法嵌入率為0.2 下比Zhu-net 高1.87%,DDAC-net在嵌入率為0.2下相比Hybrid-CNN方法具有明顯優勢。DDAC-net 對S-UNIWARD 隱寫算法的檢測效果較好,在嵌入率為0.4 時準確率為85.48%,嵌入率為0.2 時為71.18%,在不同嵌入率下都有較高的準確率。
對比各個模型在訓練集訓練一輪的時間、參數量、浮點運算數(FLOP,floating point operations)和檢測測試集的時間。測試集共有5 000 對原圖像和隱寫圖像,使用Python 中的thop 工具來計算模型的參數量和浮點運算數,使用time 工具來計算模型的運行時間。實驗結果如表8 所示。

表8 隱寫模型的時間復雜度和參數量
從表7 和表8 可知,DDAC-net 相比SRnet 減少50%的浮點運算數,相比Yedroudj-net 減少20%,但準確率上在各個數據集中都有提升,同時使模型檢測速度提高。訓練一輪的時間分別由49.2 s 和24.3 s 降低至22.1 s,使模型訓練速度加快。在文獻[17,21]中SRnet、Ye-net 需要訓練500 輪以上,而DDAC-net只需訓練200 輪,可以大大縮短訓練時間。
特征提取環節在圖像隱寫分析模型中十分關鍵。本文提出方向差分自適應組合的特征提取方法,對中心像素的方向差分通過1×1 卷積線性組合,在模型訓練中自適應地更新組合參數,使用TLU 激活函數提高隱寫信息殘差和圖像殘差的比率。實驗對比不同的特征提取結構、1×1 卷積的通道數量、TLU 激活函數的參數T值對測試模型準確率的影響來論證方法的合理性。實驗表明,應用DDAC 特征提取方法可以有效提高隱寫分析模型的準確率。對比固定SRM 濾波器和可變SRM 濾波器方法,應用DDAC 方法的模型在不同隱寫算法數據集中都取得良好效果。DDAC-net 相比于現有模型,可以提高檢測準確率并降低參數量和運行時間,具備良好的應用前景。
Qian 等[33]提出在低嵌入率條件下訓練模型時,可以使用在高嵌入率的數據集中訓練得到的模型參數對模型進行初始化,來提高模型的訓練效果。針對DDAC 模型,可以進一步研究上述模型遷移策略對組合參數進行初始化的方法,使用在高嵌入率數據集中訓練得到的組合參數,并在低嵌入率數據集的訓練過程中進行微調,防止因隱寫信息較少而難以訓練有效的組合參數,提高模型在低嵌入率下的訓練速度和準確率。后續可以基于DDAC 方法設計更復雜的隱寫分析模型,進一步提高隱寫分析能力。