胡欣玨,付章杰
1.南京信息工程大學 計算機學院、網絡空間安全學院,南京 210044
2.南京信息工程大學 數字取證教育部工程研究中心,南京 210044
以圖藏圖是一種將秘密圖像通過嵌入算法隱藏到自然載體圖像中,再由接收方通過提取算法提取出秘密圖像的技術,是實現大容量隱蔽通信的有效方法。當前以圖藏圖隱寫算法大多采用基于載體嵌入式的深度學習隱寫模型[1],即秘密信息的發送者及接受者可利用訓練好的編碼-解碼網絡在載體圖像上完成秘密圖像的隱藏和提取,秘密信息的發送者及接受者均不需要具備關于圖像隱寫方面的先驗知識。
2017年,Baluja[2]發表了首個以圖藏圖隱寫模型,將一張彩色圖像成功隱藏到了另一張同尺寸的彩色圖像中。該模型包括預處理網絡、編碼網絡和解碼網絡。編碼網絡將經過預處理的秘密圖像隱藏進載體圖像中,并通過解碼網絡將秘密圖像提取出來。但由于該模型的網絡結構僅為簡單的幾層卷積及激活操作,并未針對隱寫任務設計特征提取能力較強的結構,因此過多的信息嵌入導致了該模型生成的含密圖像存在明顯的嵌入失真,重構的秘密圖像平滑區域噪點較多。為進一步提高圖像質量,Wu等[3]在2018年提出了Stegnet,通過增加方差損失,使噪聲在圖像中均勻分布,解決了平滑區域噪點明顯的問題。同時,該模型在編碼網絡和解碼網絡中均設計了可分離卷積模塊,有效降低了訓練參數量,但在訓練過程中并未正確學習到顏色特征,使得含密圖像依舊存在顏色失真的問題。2019 年,Duan 等[4]將U-Net結構型網絡作為編碼器,借助其對稱的上采樣、下采樣操作以及跳躍連接方法,有效將深、淺層次的特征融合,從而使生成的含密圖像質量更高。同年,Duan等[5]又提出了一種基于FC-DenseNets 的隱寫算法。該算法的編碼網絡采用圖像分割領域經典的FC-DenseNets結構,通過幾個Dense 模塊以及跳躍連接操作高效提取圖像特征,使含密圖像達到了較高的圖像質量。同時,與U-Net結構相比,FC-DenseNets 結構參數量較少,有效節省了訓練時間。
部分研究者為了減少大容量的秘密圖像對載體的影響,將秘密圖像由三通道的彩色圖像更換為單通道的灰度圖像。2018 年,Rehman 等[6]第一次實現了彩色圖像對灰度圖像的隱藏,該模型采用編碼-解碼網絡實現圖像的隱藏及提取,并結合圖像質量和網絡權重設計了新的損失函數。但同樣由于其網絡結構僅為簡單的幾層卷積及激活操作,導致該模型生成的含密圖像質量不佳。此后,Zhang 等[7]提出的ISGAN 將彩色載體圖像分為Y/U/V三通道,秘密灰度圖像僅嵌入在載體圖像的Y通道中。之后再將Y通道含密圖像與U、V通道進行拼接,生成彩色含密圖像。此項操作有效避免了U、V 通道中亮度和色彩信息的丟失。提高了含密圖像的生成質量。2020 年,Chen 等[8]提出的模型運用了與ISGAN相近的思路,考慮到人眼對B 通道的較低敏感性,該模型將秘密灰度圖像嵌入到彩色載體圖像的B通道中,并在模型中加入隱寫分析網絡以提高生成含密圖像的安全性。與ISGAN 相比,該模型生成的含密圖像及重構秘密圖像的PSNR 均提高了2 dB 左右。考慮到現有隱寫模型對網絡穩健性鮮有研究,Zhu 等[9]構建了一個含有雙重GAN 網絡的模型DGANS。該模型運用第二層GAN 網絡對經過了裁剪、縮放等操作的增強數據進行訓練,從而使模型具有抵抗小幅度幾何攻擊的能力。但由于雙重GAN 網絡的訓練不穩定,該模型結構的訓練難以達到最優的納什均衡,導致生成的圖像質量較差。
此后,從增加隱寫容量的角度出發,Baluja提出“一圖藏兩圖”的模型[10],使得模型的嵌入容量達到48 bpp,同時通過隱藏多張圖像的方式混淆真正的秘密信息,從而提升了含密圖像的安全性。但該模型結構與文獻[2]相同,僅根據一圖藏兩圖任務修改了秘密圖像輸入通道,因此該模型生成的含密圖像及重構的秘密圖像失真明顯。
本文針對一圖藏兩圖模型生成的含密圖像以及重構的秘密圖像質量較差的問題,為進一步增強一圖藏兩圖技術的實用性,提出基于富特征分支網絡的高圖像質量的一圖藏兩圖方法。該方法依舊采用編碼-解碼網絡結構,但在編碼網絡結構、解碼網絡結構以及損失函數方面均設計了更適合隱寫任務的改進,具體工作包括:
(1)設計了Res2Net-Inception 模塊,極大提升了雙分支編碼網絡的特征學習能力和特征融合能力,從而保證含密圖像質量。
(2)設計了W-Net 網絡結構,利用其長短連接結合的特點,同時提取圖像深層和淺層特征,從而實現秘密圖像的高質量提取。
(3)提出了一種MS-SSIM+MAE+MSE混合損失函數,同時考慮兩張圖像像素之間的差異以及圖像整體的差異,提高含密圖像及重構秘密圖像的質量。
神經網絡會隨著不同感受野的卷積操作提取不同層次的特征,因此網絡結構越深,表達能力越好。但當模型達到飽和后,精度會開始退化,一味加深網絡結構會導致較高的訓練誤差。為解決上述問題,He 等提出了殘差網絡結構ResNet[11],2020 年,Cheng 等對ResNet進行改進,提出了Res2Net[12]殘差網絡結構,如圖1所示。

圖1 Res2Net殘差模塊Fig.1 Res2Net residual module
與傳統的殘差塊相比,Res2Net 對經過1×1 卷積后的特征按通道數均分為s塊,每塊為xi,i∈{1,2,…,s}。每一個xi均經過一個3×3 卷積,卷積操作用ki表示。經卷積操作后的輸出用yi表示。則yi可以表示為:
不同的yi會得到不同感受野的特征圖,最后將s個特征圖合并再經過1×1 卷積得到輸出。此種先將通道拆分提取特征再合并的操作可以更高效地學習圖像特征。
Inception[13]模塊屬于2014 年ILSVRC 冠軍算法GoogLeNet 的系列模型,包括1×1 卷積層、3×3 卷積層、5×5卷積層和3×3最大池化層,如圖2所示。Inception模塊運用不同大小的卷積核提取特征,并在后期將不同感受野大小的特征進行融合,提高了網絡對尺寸的適應性。同時,在3×3卷積層前、5×5卷積層前以及最大池化層后均添加了1×1 卷積層,有效降低了特征圖厚度,提高網絡效率。

圖2 Inception模塊Fig.2 Inception module
Baluja 提出的一圖藏兩圖模型中,通過預處理網絡、編碼網絡和解碼網絡完成了兩張彩色圖像的隱藏和提取,其模型結構如圖3所示。兩張秘密圖像經過通道合并后輸入預處理網絡,預處理網絡將其基于色彩的像素轉換為有利于編碼的特征;編碼網絡將經過處理的兩張秘密圖像隱藏進載體圖像生成含密圖像,解碼網絡從含密圖像中將兩張秘密圖像提取出來。預處理網絡、編碼網絡和解碼網絡的具體網絡結構如表1所示。

圖3 Baluja一圖藏兩圖模型結構Fig.3 Baluja’s model of hiding two images

表1 Baluja一圖藏兩圖模型網絡結構Table 1 Network architectures of hiding two images
在模型訓練過程中,Baluja 使用均方誤差(mean square error,MSE)作為損失函數,如式(2)所示。
其中,C表示載體圖像,C′表示含密圖像,S表示秘密圖像,S′表示重構出的秘密圖像。該模型采用端到端的訓練方式,前半部分計算的載體圖像和含密載體的差異僅影響編碼器網絡的訓練;后半部分計算的重構秘密圖像和原始秘密圖像的差異值則會同時影響編碼網絡和解碼網絡的參數。參數β用于權衡含密圖像生成真實性與秘密圖像提取準確率,β越大,恢復出的秘密圖像質量更好。
然而,針對編碼-解碼網絡結構而言,Baluja 的模型結構較為簡單,無法提取出足夠的特征用于含密圖像及重構秘密圖像的生成。此外,針對損失函數而言,MSE損失僅僅是逐像素比較差異,沒有考慮到人類的視覺感知,即忽略了圖像亮度、結構性等信息。
因此,本文受Baluja工作的啟發,依舊采用編碼-解碼網絡進行秘密圖像的隱寫和提取。但針對編碼網絡設計了特征提取能力更強的Res2Net-Inception模塊,針對解碼網絡設計了全尺度特征捕捉網絡W-Net,針對損失函數設計了更符合人類視覺感知的混合損失函數。
本文提出了基于富特征分支網絡的高圖像質量的一圖藏兩圖模型,如圖4所示,由編碼網絡、解碼網絡兩部分組成。編碼網絡中,設計Res2Net-Inception 模塊,以提高含密載體的質量;解碼網絡中,設計W-Net 網絡結構,長短連接結合抓取不同層次的特征,保證提取出的秘密圖像的真實性。

圖4 一圖藏兩圖模型整體框架Fig.4 Overall architecture of hiding two images
2.2.1 Res2Net-Inception模塊
本文將Res2Net模塊中的兩個1×1卷積替換為3×3卷積,將通道拆分后的3×3 卷積替換為Inception 模塊,并在最后的3×3 卷積后加入通道注意力機制層,構成Res2Net-Inception模塊,其結構如圖5所示。

圖5 Res2Net-Inception模塊Fig.5 Res2Net-Inception module
此時yi可以表示為:
其中,IC(·)為Inception模塊。相比于原始的3×3卷積操作,Inception 模塊可以同時從不同感受野提取xi的特征,特征學習能力更強。
在最后的3×3卷積后,本方案加入了通道注意力機制[14]層(簡稱為SE層)。該層可以通過建模各通道之間的關系來自動學習每一個特征通道的重要程度,即自動為每一個通道分配一個對應的權值。模型通過不斷訓練,抑制與隱寫任務關系不大的特征,提升重要特征通道的權值,從而達到更好的隱寫效果。
假設特征圖合并并經過3×3卷積后,得到的特征為z。首先,SE層會將該特征的每一個通道上的空間特征編碼為一個全局特征,計算方法為:
其中,H、W和C分別是圖像的高、寬和通道。
得到了每通道特征的全局描述后,通過降維-ReLU激活-恢復維度-Sigmoid激活的操作,學習各個通道之間的依賴關系,從而得到屬于每一個特征通道的權重系數ec:
最后,將學習到的通道權值乘上原始特征,得到最終特征F:
2.2.2 編碼器結構
編碼器結構如圖6所示,包括特征提取階段和特征融合階段。在特征提取階段,編碼器運用其雙分支結構分別獨立地提取載體圖像和秘密圖像的特征。每個分支上的Res2Net-Inception 模塊負責對經過卷積操作后的特征在同一分辨率進行不同尺度的特征提取和通道重要性學習。然后,在特征融合階段,編碼器運用拼接操作和反卷積操作將提取到的特征進行融合,最后得到含密圖像。

圖6 編碼器結構Fig.6 Encoder architecture
為實現對兩張秘密圖像的無損提取,應設計特征提取能力較強的雙分支輸出網絡作為解碼網絡。已有方法常使用U-Net結構型網絡,通過多層下采樣及上采樣操作提取深層次抽象的圖像信息,但在該過程中,一些圖像細節易被丟失。為了全尺度捕捉圖像細粒度細節和粗粒度語義,設計W-Net 結構作為解碼網絡,在普通U-Net結構型網絡中設計雙輸出分支及跳躍連接操作。其結構示意圖如圖7所示。

圖7 W-Net解碼網絡Fig.7 Decoder network W-Net
W-Net網絡的輸入為含密圖像,經過四層下采樣操作后,在最后一個下采樣節點進行通道分離操作,分裂成兩個分支分別執行兩張秘密圖像的重構工作。
對于W-Net的跳躍連接操作,假設節點為xi,j,其中i為下采樣的層數,j為分支數,則xi,j節點的計算公式為:
其中,C(·)為卷積操作+LeakyReLU激活函數+BN操作,F(·)代表反卷積操作+LeakyReLU 激活函數+BN 操作,[·,·]代表通道拼接操作,U(·)代表上采樣操作。通過跳躍連接操作,其上采樣部分的節點可以得到兩方面的特征信息,一是下采樣部分與其同一分辨率的細節特征,二是上采樣部分更高分辨率的特征圖。將淺層次細節和深層次語義相融合,從全尺度搜索更多的圖像信息,從而使恢復出來的兩張秘密圖像質量更好。
為了讓模型可以綜合考慮到兩張圖像像素以及整體之間的差異,本文將MS-SSIM(multi-scale structural similarity index)[15]、MAE(mean absolute error)和MSE損失引入構建一個復合損失函數。其中,MSE 表示圖像x和y的均方誤差,計算公式為:
其中,p表示圖像像素點,N表示圖像總像素。
MAE損失是兩張圖像逐像素比較差異,計算公式為:
MSE 損失以及MAE 損失僅是逐像素比較差異,沒有考慮到人類的視覺感知,即忽略了圖像亮度、結構性等信息,因此引入MS-SSIM損失。MS-SSIM損失運用到了不同尺度的SSIM(structural similarity index),相當于考慮了不同的分辨率,很好地解決了SSIM 損失高斯濾波參數不好平衡的問題。MS-SSIM損失的計算公式為:
其中,μx、μy分別為x和y的平均值,也代表圖像x和y的亮度;K1為一個小于等于1的常數;M為自定義尺度,在此取值為5;σx、σy分別為x和y的標準差,也代表圖像x和y的對比度;σxy為x和y的協方差,也代表圖像x和y的結構相似度;K2為一個小于等于1的常數。通常用1-MS-SSIM(x,y)來衡量兩張圖像的差異。
MS-SSIM 容易導致亮度和顏色的偏差,但可以較好地保留高頻信息[16]。MAE損失可以保證亮度和顏色不變化,因此將兩者結合起來構成混合損失函數。同時,為防止陷入局部最優,在運用該混合損失函數訓練網絡收斂后,繼續用MSE損失進行訓練,可以達到更好的訓練效果。
由MS-SSIM、MAE、MSE 構成的混合損失函數如式(11)~(14)所示。
其中,c代表載體圖像;c′代表含密圖像;s1代表第一張秘密圖像;代表重構的第一張秘密圖像;s2代表第二張秘密圖像;代表重構的第二張秘密圖像;α、β、γ是超參數,α用于權衡MS-SSIM損失與MAE損失分量的重要程度,β、γ用于權衡含密圖像生成真實性以及秘密圖像提取準確率。
為了驗證本文提出方案的有效性,實驗使用PASCAL VOC2012 和Tiny ImageNet 兩個數據集。從PASCAL VOC2012 數據集中隨機選擇15 000 張圖像作為訓練集,1 500 張作為測試集;從Tiny ImageNet 數據集中隨機選擇1 500 張作為測試集,所有圖像的尺寸統一調整為256×256。算法的實驗環境是谷歌云端TPU服務器,程序使用python3.7版本的tensorflow深度學習框架實現。
上述方案在訓練時,采用Xavier初始化方法來初始化模型參數;初始學習率設置為10-3。網絡首先采用MS-SSIM+MAE 混合損失函數訓練編碼-解碼網絡,網絡收斂后采用MSE損失函數繼續訓練編碼-解碼網絡,訓練50 輪后采用keras 的回調函數,根據當前損失動態調整學習率,學習率的衰減因子為0.2。受限于算力,批尺寸設置為8;采用Adam 隨機梯度下降算法來進行參數的迭代優化。根據經驗進行多輪嘗試后,將損失函數中的超參數α、β、γ分別設置為0.6、1、1。因為本文想要恢復出較高質量的秘密圖像,所以將權衡含密圖像生成質量和秘密圖像提取質量的參數β和γ均設置為1。
為了驗證本文提出方案設計的有效性,對本文方案以及文獻[10]方法生成含密圖像以及重構秘密圖像的質量進行對比。常用的衡量圖像質量的指標是SSIM和PSNR(peak signal to noise ratio),其在兩個數據集上的實驗結果如表2所示。可以看到,本文方案生成含密圖像及重構秘密圖像的質量遠優于文獻[10]的方法,在Tiny ImageNet數據集上,本文方案生成含密圖像的PSNR值比文獻[10]方法提高了12 dB,SSIM 值比文獻[10]方法提高了5%;兩張重構秘密圖像的PSNR 平均值比文獻[10]方法提高了10 dB,SSIM 平均值比文獻[10]方法提高了10%。

表2 兩種方案的圖像視覺質量對比Table 2 Visual comparison of image quality for two solutions
圖8和圖9給出了本文方案與文獻[10]在兩個數據集上可視化結果的比較。可以看到,即使將兩張秘密圖像隱藏到一張相同尺寸的載體圖像中,本文方案生成的含密圖像以及重構的秘密圖像仍具有較高的視覺質量,不存在明顯的顏色失真問題。為了展示原始圖像和生成圖像之間的差異,將其殘差圖像放大了10 倍。與文獻[10]對比,本文方案的殘差圖像更暗,說明本文方案生成的含密圖像以及重構的兩張秘密圖像均有著更小的誤差,與原始圖像更加接近。實驗表明,本文方案生成的含密圖像以及重構的秘密圖像具有較高的圖像質量,在定性和定量方面的指標都優于文獻[10]。與文獻[10]相比,本文方案針對編碼網絡設計了雙分支輸入以及Res2Net-Inception模塊,通過兩個分支分別提取載體圖像與秘密圖像特征,可以防止兩類圖像特征混雜,而加入的Res2Net_Inception 模塊從不同感受野提取圖像特征,并通過注意力機制抑制與隱寫任務關系不大的特征,從而使含密圖像擁有良好的視覺效果。針對解碼網絡設計了W-Net 結構,從全尺度捕捉圖像特征,從而提高重構秘密圖像質量。針對損失函數設計的混合損失綜合考慮兩幅圖像像素級別差異以及整體差異,進一步促進圖像質量的提高。因此,可以得出結論,在網絡中將不同層的輸入映射融合作為深卷積層的輸出,最大限度地利用全尺度的特征映射,以及設計適用于隱寫任務的損失函數是提高隱寫圖像視覺質量的有效方法。

圖8 兩個在Tiny ImageNet數據集上的可視化結果Fig.8 Two visualization examples on Tiny ImageNet dataset

圖9 兩個在PASCAL VOC2012數據集上的可視化結果Fig.9 Two visualization examples on PASCAL VOC2012 dataset
消融實驗主要討論了不同損失函數及其組合對圖像質量的影響,測試數據集為Tiny ImageNet,其結果如表3所示。在單獨使用MS-SSIM損失訓練時,含密圖像的PSNR值偏低,這是由于MS-SSIM損失可以較好地保留高頻區域的對比度,而秘密圖像大多隱藏在載體圖像紋理復雜的區域,從而導致生成的含密圖像質量較差。采用了MS-SSIM+MAE混合損失后,各項測試指標均得到了較大的提升。而采用了本文所述的MS-SSIM+MAE混合損失與MSE 損失交替訓練的方法后,圖像質量進一步得到了提升,驗證了本文所提MS-SSIM+MAE+MSE混合損失函數的優越性。

表3 不同損失函數的消融實驗Table 3 Ablation experiments for different loss functions
為了進一步探索本文方案的隱寫能力,對一些極端情況下的圖像隱藏進行測試。測試圖像包括單色圖像、噪聲圖像和自然圖像。從圖10和表4結果中可以看到,在單色圖像和自然圖像相互隱藏的情況下,生成的圖像均具有較好的圖像質量。但噪聲圖像作為載體或作為秘密圖像時,噪聲圖像本身不能被很好地重構出來。

表4 極端情況下的圖像質量Table 4 Visual quality results for extreme cases

圖10 極端情況下的圖像視覺效果Fig.10 Visual results for extreme cases
本文提出了一個基于富特征分支網絡的高圖像質量的一圖藏兩圖方法,可以將兩張秘密圖像隱藏到一張相同尺寸的載體圖像中,且保證生成的含密圖像及重構的兩張秘密圖像具有較高的圖像質量。編碼網絡中的Res2Net-Inception 模塊在同一分辨率對不同尺度的特征進行提取,并自動抑制與隱寫任務關系不大的非重要特征,從而實現特征的高效提取。解碼網絡的W-Net結構運用長短連接結合的方式抓取不同層次的特征,并運用兩個分支同時提取兩張秘密圖像的特征,從而提高了秘密圖像的重構質量。實驗結果表明,本文方案生成的含密圖像以及重構的秘密圖像均具有較高的視覺質量。接下來將進一步優化以圖藏圖網絡,在保證隱藏容量、圖像質量的同時提高含密圖像的抗隱寫分析能力。