陳立峰, 劉佳, 潘曉中, 孫文權(quán), 董煒娜
(武警工程大學(xué)密碼工程學(xué)院, 西安 710086)
隱寫術(shù)是一種將秘密信息嵌入載體以實現(xiàn)隱蔽通信的技術(shù),在信息安全、數(shù)據(jù)通信等諸多領(lǐng)域發(fā)揮著重要作用。隱寫一般通過載體修改、載體選擇和載體合成的方法實現(xiàn)[1]。載體修改是通過某種修改策略將秘密信息嵌入載體中[2-5],該類方法的載密圖像失真度低,圖像質(zhì)量好,但對基于統(tǒng)計分析的隱寫檢測算法抵抗較弱。載體選擇[6]是在消息和載體數(shù)據(jù)集之間建立映射關(guān)系,以傳輸圖像的方式來傳輸秘密信息。這種方法無須對載體進行修改,但嵌入容量較低且隨著通信次數(shù)增多,圖像庫存在暴露的風(fēng)險[7]。載體合成[8]的隱寫通過直接構(gòu)造含密載體來實現(xiàn)。該方法構(gòu)造的含密載體通常具有不夠真實或不夠自然的問題。
隨著深度學(xué)習(xí)的不斷發(fā)展,圖像生成技術(shù)不斷提高。2014年,Goodfellow等[9]提出了生成對抗網(wǎng)絡(luò)(generative adversarial networks,GAN),通過對抗博弈的方法極大地提高了模型生成樣本的能力。研究者們開始將深度學(xué)習(xí)技術(shù)應(yīng)用到隱寫領(lǐng)域,利用生成模型生成含密載體來隱藏秘密信息[10-14]。這類方法擴大了隱藏容量和提升了隱寫安全性,但生成的含密圖像與原始圖像在細節(jié)上仍有一定差異。
除生成模型以外,另一類基于深度學(xué)習(xí)的隱寫方案采用了編-解碼(enconder-decoder)框架。Buluja等[15-16]首次使用編碼-解碼網(wǎng)絡(luò)將一張經(jīng)過預(yù)處理的彩色圖像嵌入另一張相同大小的彩色圖像中,這種方法具有較高的隱寫容量,但生成的含密圖像存在部分失真。Wu等[17]提出了一種無須進行圖像預(yù)處理的端到端隱寫網(wǎng)絡(luò)Stegnet。該方案在編碼過程中加入殘差連接,并使用方差損失函數(shù)來解決含密圖像中非紋理區(qū)域存在噪聲點的問題,但該方案仍未解決生成含密圖像的顏色失真的問題。Hayes等[18]將對抗訓(xùn)練的思想引入編碼-解碼網(wǎng)絡(luò)以實現(xiàn)隱寫操作,但該方法的嵌入容量較低。Rehman等[19]使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural-network,CNN)構(gòu)建了一個編碼-解碼網(wǎng)絡(luò),運用CNN層提取圖像特征能力,將一張灰度圖像嵌入彩色圖像中。該方案網(wǎng)絡(luò)結(jié)構(gòu)簡單,生成含密圖像和提取的秘密圖像質(zhì)量不高。為解決這一問題,Zhang等[20]將灰度秘密圖像與彩色載體圖像的Y通道進行拼接,先通過編碼網(wǎng)絡(luò)生成含密圖像,再通過解碼網(wǎng)絡(luò)提取秘密圖像,有效避免了圖像顏色失真的問題,但該方案較為復(fù)雜,需要對圖像進行預(yù)處理。還有一些研究者采用了基于流模型[21](flow-based)的編-解碼網(wǎng)絡(luò),編碼器和解碼器共享參數(shù),只需訓(xùn)練一個網(wǎng)絡(luò)實現(xiàn)信息的嵌入和提取[22-24]。
為解決當(dāng)前基于編-解碼網(wǎng)絡(luò)的隱寫方法[19]中含密圖像顏色失真以及對圖像進行預(yù)處理[20]的問題,現(xiàn)設(shè)計一種端到端的基于密集殘差網(wǎng)絡(luò)的圖像隱藏方案,提出一種利用密集連接和殘差連接改變編碼-解碼網(wǎng)絡(luò)結(jié)構(gòu)的方法,加強特征的傳遞,提高圖像質(zhì)量。引入注意力機制來獲取圖像深層特征,并設(shè)計一種損失函數(shù)約束訓(xùn)練過程,使生成的含密圖像更接近載體圖像。訓(xùn)練時無須對圖像進行預(yù)處理,加快訓(xùn)練速度,提高隱寫效率。
模型采用一種端到端的訓(xùn)練模式,主要由兩部分組成,編碼器E和解碼器D。編碼器E接受大小為1×H×W的秘密圖像S和大小為3×H×W的載體圖像C作為輸入,并產(chǎn)生大小為3×H×W的載密圖像C′。解碼器D收到含密圖像C′作為輸入,得到大小為1×H×W的解秘圖像S′。模型的總體架構(gòu)如圖1所示。

圖1 模型總體架構(gòu)Fig.1 Overall architecture of the model
編碼器E接受秘密圖像S和載體圖像C作為輸入,通過卷積和拼接操作將兩幅圖像信息融合,然后使用6個具有相同結(jié)構(gòu)層的塊,每個塊包含密集連接和卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成的卷積層,再使用BN(batch normalization)層對數(shù)據(jù)進行歸一化處理,每一卷積層都使用Relu作為激活函數(shù),通過密集連接加強特征的傳遞,增強編碼器對圖像深層次特征的提取能力[25];中間加入基于卷積塊的注意力模塊(convolutional block attention module,CBAM)[26],即通道注意力和空間注意力以串聯(lián)的方式組合,獲取圖像的復(fù)雜紋理區(qū)域特征,最后使用殘差連接的方式提取特征圖的全局特征,從而生成高質(zhì)量圖像。編碼器網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。

圖2 編碼器網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Encoder network structure
使用3×256×256的載體圖像C和1×256×256的秘密圖像S,編碼器接受載體圖像和秘密圖像后,先使用大小為3×3的卷積核分別對兩幅圖像進行卷積,輸出兩個32通道的特征圖,再使用拼接操作和卷積操作輸出一個3通道特征圖,最后經(jīng)過7層網(wǎng)絡(luò)結(jié)構(gòu)生成3×256×256的含密圖像C′。編碼器中的7層網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。

表1 編碼器具體網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Encoder specific network structure
解碼器D接受來自編碼器E的含密圖像C′之后,使用6個卷積層與注意力機制CBAM來提取含密圖像C′中的特征,中間使用密集連接加強特征的傳遞,準(zhǔn)確地從含密圖像C′中提取出解密圖像S′。解碼器網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。

圖3 解碼器網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Decoder network structure
解碼器D與編碼器E具有類似的網(wǎng)絡(luò)結(jié)構(gòu),解碼器收到大小為3×256×256的含密圖像C′后,使用6層卷積核大小為3×3的卷積層提取特征,中間加入注意力模塊獲取圖像的復(fù)雜紋理區(qū)域特征,得到1×256×256的解密圖像S′。解碼器中的具體網(wǎng)絡(luò)結(jié)構(gòu)如表2所示。

表2 解碼器具體網(wǎng)絡(luò)結(jié)構(gòu)Table 2 Decoder specific network structure
損失函數(shù)主要包括兩個部分,載體圖像內(nèi)容損失Le和秘密圖像內(nèi)容損失Ld。在圖像隱藏過程中,不僅要保證載體圖像和含密圖像相似度高,還要保證解碼器能準(zhǔn)確地從含密圖像中提取秘密圖像。
1.4.1 載體圖像內(nèi)容損失
Le為載體圖像和含密圖像的均方誤差(mean square error, MSE),如式(1)所示。
(1)
式(1)中:α為權(quán)重參數(shù);C′為含密圖像;C為載體圖像。
1.4.2 秘密圖像內(nèi)容損失
Ld為秘密圖像內(nèi)容損失,如式(2)所示。

μ(1-Lmsssim)
(2)
式(2)中:β、γ和μ為權(quán)重參數(shù);S′為解密圖像;S為秘密圖像。由于人眼對圖像結(jié)構(gòu)信息比較敏感,為使解密圖像更符合人的視覺感知,在秘密圖像內(nèi)容損失中加入了結(jié)構(gòu)相似性(structural similarity,SSIM)損失Lssim和多尺度結(jié)構(gòu)相似性(multi-scale SSIM,MSSSIM)[27]損失Lmsssim。其中,SSIM分為3個部分:照明度、對比度、結(jié)構(gòu),分別如式(3)、式(4)和式(5)所示。
(3)
(4)
(5)
SSIM的計算公式如式(6)所示。
SSIM(x,y)=[l(x,y)]l[c(x,y)]m[s(x,y)]n
(6)
實際使用時,一般將參數(shù)設(shè)置為l=m=n=1,C3=C2/2,得
(7)
MS-SSIM的計算公式如式(8)所示。

(8)
式中:μx、σx分別為圖像X的均值和方差;μy、σy分別為圖像Y的均值和方差;σxy為X和Y的協(xié)方差;M為不同尺度;βm和γm為圖像之間的相對重要性,βm=γm=1;C1=(k1L)2,C2=(k2L)2為常數(shù),k1默認取值0.01,k2取值0.03,L為像素值的動態(tài)范圍,如果數(shù)據(jù)為uint8型,L取值為255。綜上所述,總的損失函數(shù)Lo如式(9)所示。
Lo=Le+Ld
(9)
實驗在數(shù)據(jù)集LFW、PASCAL-VOC12和ImageNet上進行了測試。LFW數(shù)據(jù)集一共含有1 680人的13 000多張人臉圖像,從LFW中選取10 000張圖像,其中5 000張為載體圖像,5 000張為秘密圖像作為訓(xùn)練集,其余的3 000張圖像作為驗證集;PASCAL-VOC12數(shù)據(jù)集分為20類,包含23 080張圖片,從中選取16 000張圖像,其中8 000張為載體圖像,8 000張為秘密圖像,并從其余部分選擇5 000張圖像作為驗證集;由于ImageNet數(shù)據(jù)集較大,包含14 197 122張圖像,選取了其中10 000張圖像作為訓(xùn)練集,5 000張圖像作為驗證集。運行實驗的設(shè)備為64 GB內(nèi)存的電腦,操作系統(tǒng)為Windows11。采用Adam優(yōu)化器,輸入圖像大小統(tǒng)一調(diào)整為256×256,學(xué)習(xí)率Learning Rate=0.000 1,Batch size=64, Epochs=500,損失函數(shù)參數(shù)設(shè)置為α=0.3,β=0.3,γ=0.5,μ=0.5。
采用訓(xùn)練時間和隱寫時間來評估隱寫效率,在LFW數(shù)據(jù)集上選取500張載體圖像和500張秘密圖像進行訓(xùn)練得到訓(xùn)練時間,并選取100張載體圖像和100張秘密圖像進行測試取平均值得到平均隱寫時間,實驗結(jié)果如表3所示。

表3 不同方案的隱寫效率Table 3 Steganography efficiency of different schemes
從表3可以看出,本文方案與文獻[19]相比效率相當(dāng),較文獻[20]相比,訓(xùn)練時間減少了0.9 h,平均隱寫時間減少了7 s。
隱寫容量即負載,指隱藏消息的長度,通常用相對負載率(relative payload ratio,RPR)來度量。隱寫容量的公式如式(10)所示。
(10)
式(10)中:|M|為隱藏圖像的大小;|S|為載體圖像的大小。秘密圖像的大小為1×H×W,載體圖像的大小為3×H×W,由此計算出本文方案的RPR為33.3%,即每像素位可以隱藏8bit數(shù)據(jù),和文獻[19]和文獻[20]具有相同的隱寫容量。
圖像質(zhì)量通常用不可感知性來衡量,不可感知性又稱感知透明性,指載體圖像和秘密圖像在感知上不存在差異,通常采用MSE反映圖像變化的質(zhì)量,峰值性噪比(peak signal to noise ratio,PSNR)比較圖片的壓縮質(zhì)量,SSIM顯示載體圖像和秘密圖像的相似性。其中,在評估過程中,PSNR由MES計算得出,PSNR與SSIM越高越好,MSE與PSNR的計算方法分別如式(11)和式(12)所示。

(11)
PSNR=20lg(sc)-10lg(MSE)
(12)
式中:X和Y分別為兩個大小為W×H的圖像;sc為縮放因子,通常取值為2。
本文方案與其他方案的實驗結(jié)果對比如表4所示。可以看出,本文方案在PASCAL-VOC12數(shù)據(jù)集上的表現(xiàn)更好,PSNR和SSIM值均高于其他方案。本文與文獻[19]和文獻[20]相比,本文方案在LFW和ImageNet數(shù)據(jù)集PSNR值較低,主要是PSNR值是逐像素點進行計算的,不太符合人的主觀感受。相比之下,本文方案的SSIM值較高,是由于在提取網(wǎng)絡(luò)損失中引入了SSIM和MS-SSIM損失函數(shù),更加關(guān)注圖像的結(jié)構(gòu)化信息,更符合人的視覺感知。
實驗選取相同的載體圖像和秘密圖像,將本文方案與其他方案在LFW、PASCAL-VOC12和ImageNet數(shù)據(jù)集上的實驗結(jié)果進行了對比,訓(xùn)練出的載密圖像和解密圖像效果對比如圖4、圖5和圖6所示。

圖4 LFW數(shù)據(jù)集的圖像訓(xùn)練結(jié)果對比Fig.4 Comparison of image training results from LFW datasets

圖5 PASCAL-VOC12數(shù)據(jù)集的圖像訓(xùn)練結(jié)果對比Fig.5 Comparison of image training results from PASCAL-VOC12 datasets

圖6 ImageNet數(shù)據(jù)集的圖像訓(xùn)練結(jié)果對比Fig.6 Comparison of image training results from ImageNet datasets
通過對比可以看到,本文方案較文獻[19]在圖像質(zhì)量上有明顯的提升,解決了文獻[19]的含密圖像顏色失真和解密圖像含有載體圖像輪廓的問題。且本文方案與文獻[20]相比均有較高的圖像質(zhì)量,本文方案的優(yōu)勢在于使用殘差密集連接和注意力機制加強了特征的傳遞,無需對圖像進行預(yù)處理。
算法的安全性是評價信息隱藏方案的一項重要指標(biāo)。將秘密圖像嵌入載體圖像中,因此隱寫分析的任務(wù)是將載體圖像與含密圖像區(qū)分開來。
首先對不同方案生成的圖像進行了統(tǒng)計分析,隨機選取相同的載體圖像和含密圖像,以圖6中載體圖像1為例,將其在本文方案得到的含密圖像的直方圖與其他方案得到的含密圖像直方圖進行了對比,如圖7所示。橫坐標(biāo)表示范圍為0~255的亮度值,縱坐標(biāo)表示像素的數(shù)量。從生成的直方圖來看,生成的含密圖像與原始圖像的相似度較其他兩個方案更高。

圖7 不同方案的直方圖Fig.7 Histograms of different schemes
使用兩種隱寫分析工具來驗證方案的安全性,分別是傳統(tǒng)隱寫分析工具StegExpose[28]和基于深度學(xué)習(xí)的隱寫分析工具SRNet[29]。StegExpose工具包包含SPA(sample pairs analysis)、RS(regular-singular)分析等隱寫分析,可以快速使用經(jīng)過驗證的隱寫分析方法批量分析圖像。
在選取500張載體圖像在3個方案上分別生成500張含密圖像,然后將這些圖像對進行了隱寫分析,生成了3條受試者操作特征(receiver operating characteristic,ROC)曲線,如圖8所示。由實驗結(jié)果可知,3個方案生成的含密圖像的ROC曲線大致都在對角線附近,具有較好的抗隱寫分析能力。

圖8 ROC曲線Fig.8 ROC curve
采用圖像隱寫分析網(wǎng)絡(luò)SRNet進行了隱寫分析,使用Adamax優(yōu)化器,輸入圖像大小統(tǒng)一調(diào)整為256×256,Learning Rate=0.001,Batch size=10,Epochs=180。表5給出了不同隱寫方法下SRNet的檢測精度。其中,檢測精度越接近50%(隨機猜測),圖像隱藏算法性能越好。可以看出,本文方案網(wǎng)絡(luò)模型檢測準(zhǔn)確率達58.23%,比較接近50%,表明本文方案網(wǎng)絡(luò)模型具有較好的安全性。

表5 不同方案的檢測準(zhǔn)確率Table 5 Detection accuracy of different schemes
設(shè)計了一種基于密集殘差網(wǎng)絡(luò)的圖像隱寫方案,使用密集殘差連接的方式,加強圖像的特征傳遞,并使用注意力機制模塊提取圖像深層次特征,提高了載密圖像和解密圖像的質(zhì)量。實驗表明,本文方案和文獻[19]相比具有更好的圖像質(zhì)量,和文獻[20]相比,本文方案無須進行圖像預(yù)處理操作。但本文方案只對灰度圖像進行了隱藏,且隱寫容量低于文獻[16],在未來的工作中,可以嘗試隱藏彩色圖像,進一步提高隱寫容量。