竺樂慶,郭鈺,莫凌強(qiáng),張大興
(1.浙江工商大學(xué)計(jì)算機(jī)與信息工程學(xué)院,浙江 杭州 310018;2.杭州電子科技大學(xué)計(jì)算機(jī)學(xué)院,浙江 杭州 310018)
圖像信息隱藏利用圖像數(shù)據(jù)的統(tǒng)計(jì)冗余和人類感知冗余,將有意義的秘密信息隱藏到圖像中,且非授權(quán)者無法確認(rèn)該載體中是否隱藏了信息,達(dá)到隱蔽通信、版權(quán)保護(hù)等目的[1]。從最初的最低有效位方法,到基于離散傅里葉變換、離散余弦變換[2]、離散小波變換[3]等變換域方法,以及提高安全性的高度不可檢測(cè)隱寫(HUGO,highly undetectable stego )算法[4]、空域通用小波 相對(duì)失真(S-UNIWARD,spatial universal wavelet relative distortion)方法[5]、小波獲得權(quán)重(WOW,wavelet obtained weight)方法[6]等內(nèi)容自適應(yīng)隱寫術(shù),圖像信息隱藏技術(shù)呈現(xiàn)多元化發(fā)展。這些傳統(tǒng)隱寫方法雖然在透明性、安全性方面已逐漸完善,但是在隱寫容量及穩(wěn)健性方面仍存在提升空間。近年來,隨著深度學(xué)習(xí)技術(shù)的發(fā)展和推廣,深度學(xué)習(xí)框架同樣也被引入圖像隱寫術(shù)中。Shi 等[7]基于生成式對(duì)抗網(wǎng)絡(luò)(GAN,generative adversarial network)[8],結(jié)合高斯-神經(jīng)元卷積神經(jīng)網(wǎng)絡(luò)提出了一種名為安全隱寫GAN(SSGAN,secure steganography based on GAN)的模型用于隱寫術(shù),SSGAN 生成的圖像用HUGO 隱寫后更難于檢測(cè)。Hayes 等[9]直接用GAN嵌入隱寫信息并提取,可以在32×32 大小的圖像中隱寫100~400 位二進(jìn)制位,取得了優(yōu)于HUGO、WOW 和S-UNIWARD 的性能。Rehman 等[10]采用編碼器-解碼器結(jié)構(gòu)深度學(xué)習(xí)框架在彩色圖像中隱寫灰度圖像并提取,然而含密圖像在色彩上有失真。Baluja[11]提出的深度隱寫框架包括準(zhǔn)備網(wǎng)絡(luò)、隱藏網(wǎng)絡(luò)、顯現(xiàn)網(wǎng)絡(luò)三部分,可以在彩色圖像中隱藏小于等于原圖的彩色圖像。Chu 等[12]探索了使用CycleGAN 在圖像中隱藏信息并還原信息的可能性。Tang 等[13]提出了自動(dòng)隱寫失真學(xué)習(xí)框架,GAN的產(chǎn)生器用于尋找圖像中適合嵌入或隱藏信息的像素,區(qū)分器則訓(xùn)練為隱寫分析器。Zhang 等[14]提出的不可見隱寫 GAN(ISGAN,invisible steganography via GAN)可以在發(fā)送端隱藏灰度圖像到彩色圖像中,在接收端提取出所隱藏的灰度圖,使用GAN 提高隱寫安全性和隱蔽性。Wu等[15]提出的StegNet 采用可分離卷積殘差塊,能在64×64 大小的彩色圖像中隱藏另一彩色圖像,然而含密圖像有明顯色彩失真,隱蔽性不夠理想。Duan 等[16]用UNet 在彩圖中隱藏彩圖,最終的性能要優(yōu)于前幾種方法。上述框架大大提高了圖像隱寫的容量,但均未對(duì)隱寫模型的穩(wěn)健性進(jìn)行測(cè)試和評(píng)估。本文提出的DGANS 模型對(duì)基于深度學(xué)習(xí)的圖像隱寫模型的穩(wěn)健性進(jìn)行研究,主要貢獻(xiàn)如下。
1)在編碼解碼網(wǎng)絡(luò)結(jié)構(gòu)中,采用雙重GAN,第一個(gè)GAN 用生成器生成含密圖像,鑒別器作為隱寫分析網(wǎng)絡(luò)來增強(qiáng)隱寫術(shù)的安全性;第二個(gè)GAN用生成器提取秘密圖像,鑒別器用來增強(qiáng)網(wǎng)絡(luò)的穩(wěn)健性,使整體網(wǎng)絡(luò)同時(shí)擁有較高安全性和穩(wěn)健性。
2)對(duì)訓(xùn)練集生成的含密圖像集進(jìn)行幾何變換(平移、旋轉(zhuǎn)、縮放)增強(qiáng),用增強(qiáng)的數(shù)據(jù)集對(duì)第二個(gè)GAN 進(jìn)行單獨(dú)強(qiáng)化訓(xùn)練,使該網(wǎng)絡(luò)對(duì)上述變換具有適應(yīng)性,進(jìn)一步增強(qiáng)模型的穩(wěn)健性。
本文提出的DGANS 隱寫模型總體結(jié)構(gòu)如圖1所示,灰度秘密圖像通過DGANS 模型隱藏到彩色封面圖中并能從中還原。為了不破壞原始封面的顏色信息,圖像隱寫在YUV 顏色空間的Y 通道。網(wǎng)絡(luò)的基礎(chǔ)模型的組成包括隱寫網(wǎng)絡(luò)GAN1和提取網(wǎng)絡(luò)GAN2。GAN1生成器輸入為封面圖像和秘密圖像,判別器輸入為封面及含密圖像;GAN2生成器輸入為含密圖像,判別器輸入為原秘密圖像secret1以及提取出來的秘密圖像secret2。2 個(gè)GAN 分別用對(duì)抗訓(xùn)練來提高圖像隱寫的安全性和穩(wěn)健性。其中GAN1的判別器為隱寫分析網(wǎng)絡(luò)XuNet1[17],接收三通道輸入;GAN2的判別器為XuNet2,其輸入為單通道。
圖1 DGANS 隱寫模型總體結(jié)構(gòu)
在圖1 所示的編碼器-解碼器神經(jīng)網(wǎng)絡(luò)中,本文利用圖2 所示的Inception[18]模塊作為基礎(chǔ)結(jié)構(gòu),Inception 結(jié)構(gòu)將1×1、3×3、5×5 的卷積和3×3 的最大值池化堆疊在一起,一方面增加了網(wǎng)絡(luò)的寬度,另一方面增加了網(wǎng)絡(luò)對(duì)尺度的適應(yīng)性,改善了圖像嵌入和提取的效果。基于Inception 結(jié)構(gòu)的編碼器網(wǎng)絡(luò)如表1 所示,解碼器網(wǎng)絡(luò)如表2 所示。編碼器網(wǎng)絡(luò)的輸入為封面圖像的Y 通道與秘密圖像的通道連接,輸出為含密圖像的Y 通道。解碼器網(wǎng)絡(luò)的輸入為含密圖像的Y 通道,輸出為提取的秘密圖像。批歸一化(BN,batch normalization)[19]對(duì)輸入進(jìn)行歸一化處理,解決了訓(xùn)練偏移的影響,同時(shí)加快了訓(xùn)練的速度。其中LeakyReLU、Tanh 和Sigmoid為3 種不同的激活函數(shù)。
圖2 Inception v1 結(jié)構(gòu)
表1 編碼器網(wǎng)絡(luò)結(jié)構(gòu)
表2 解碼器網(wǎng)絡(luò)結(jié)構(gòu)
圖像隱寫的安全性極為重要,安全性表現(xiàn)為用通常的隱寫分析方法難以檢測(cè)到圖像中是否包含隱藏信息。本文通過對(duì)抗訓(xùn)練來達(dá)到安全隱寫的目的。Goodfellow 等[20]提出的GAN 由一個(gè)生成器G和一個(gè)判別器D 組成。生成器G 努力讓生成的圖像更加真實(shí),而判別器D 則努力去識(shí)別出圖像的真假,通過對(duì)抗訓(xùn)練使生成器G 生成的圖像無限逼近真實(shí)的圖像,從而使判別器D 對(duì)真假圖像的辨別正確率降到0.5 左右。將本文使用的隱寫分析網(wǎng)絡(luò)XuNet1作為判別器D,編碼器網(wǎng)絡(luò)作為生成器G,通過對(duì)抗訓(xùn)練使生成的含密圖像難以被隱寫分析網(wǎng)絡(luò)檢測(cè)到,從而提高生成算法的安全性。XuNet1的網(wǎng)絡(luò)結(jié)構(gòu)如表3 所示,其輸入為原始封面圖像或含密彩色圖像,輸出為隱寫檢測(cè)結(jié)果。
表3 對(duì)抗訓(xùn)練判別器XuNet1及XuNet2結(jié)構(gòu)
圖像隱寫的穩(wěn)健性是一項(xiàng)十分重要的屬性,反映了圖像隱寫技術(shù)的抗干擾能力?,F(xiàn)有的基于深度學(xué)習(xí)的圖像隱寫模型大多注重的是隱蔽性和容量,但對(duì)穩(wěn)健性關(guān)注較少,本文研究的重點(diǎn)就是通過對(duì)抗訓(xùn)練來提高圖像隱寫的穩(wěn)健性。
將本文中的解碼器網(wǎng)絡(luò)作為GAN2的生成器,XuNet2作為判別器,XuNet2的網(wǎng)絡(luò)結(jié)構(gòu)如表3所示。由表3 可知,本文將第二個(gè)判別器設(shè)計(jì)成與第一個(gè)判別器類似的結(jié)構(gòu),兩者的區(qū)別是輸入通道數(shù)不同,XuNet1接收三通道輸入,而XuNet2接收單通道的秘密圖像。本文期望通過這樣的設(shè)計(jì)讓第二個(gè)判別器能分辨出秘密圖像細(xì)微的變化。將解碼器提取得到的秘密圖像secret2作為負(fù)例,原秘密圖像secret1作為正例輸入進(jìn)判別器XuNet2辨別,通過兩者相互博弈促進(jìn),使secret2與secret1無限接近。同時(shí)單獨(dú)對(duì)包含解碼器網(wǎng)絡(luò)的GAN2進(jìn)行增強(qiáng)訓(xùn)練,即對(duì)GAN1生成的含密圖像數(shù)據(jù)集進(jìn)行旋轉(zhuǎn)、裁剪、縮放數(shù)據(jù)增強(qiáng)后,再用增強(qiáng)數(shù)據(jù)單獨(dú)對(duì)GAN2進(jìn)行強(qiáng)化訓(xùn)練,進(jìn)一步提高了模型的穩(wěn)健性。
本文的損失函數(shù)主要包括4 個(gè)部分,編碼器的損失、解碼器的損失以及2 個(gè)生成式對(duì)抗網(wǎng)絡(luò)的判別器損失。GAN 的訓(xùn)練過程為
其中,D(x)表示對(duì)真實(shí)的樣本進(jìn)行判別,其判別結(jié)果越接近1 越好,所以損失函數(shù)為log(D(x));G(z)表示生成器編碼網(wǎng)絡(luò)輸出的含密圖像以及解碼網(wǎng)絡(luò)提取的秘密圖像,本文希望判別器的判別結(jié)果D(G(z))越接近0 越好。對(duì)抗訓(xùn)練的目的是優(yōu)化D使式(1)的期望最大化,同時(shí)優(yōu)化生成器G使式(1)期望最小化。因此判別器D的損失會(huì)在生成器G和判別器D中反向傳播,但生成器G的損失僅在生成器內(nèi)反向傳播。GAN2解碼網(wǎng)絡(luò)的損失會(huì)同時(shí)在編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò)中反向傳播,而編碼網(wǎng)絡(luò)的損失只在編碼網(wǎng)絡(luò)內(nèi)反向傳播。
2.5.1 編碼器-解碼器損失
編碼器與解碼器的損失主要由圖像間像素值和結(jié)構(gòu)上的統(tǒng)計(jì)差異計(jì)算得到,編碼器損失為含密圖像與封面的差異度,解碼器損失為提取的秘密圖像與原秘密圖像的差異度。損失由均方誤差(MSE,mean square error)和結(jié)構(gòu)相似度(SSIM,structural similarity)[21]聯(lián)合計(jì)算得到,MSE 表示圖像x和圖像y的均方誤差,如式(2)所示。
SSIM 分別從亮度、對(duì)比度、結(jié)構(gòu)3 個(gè)方面衡量圖像的相似性,如式(3)~式(6)所示。
其中,μx、μy分別表示圖像x與圖像y的均值,σx與σy分別表示圖像x與圖像y的方差,σxy表示圖像x與圖像y的協(xié)方差,τ1、τ2、τ3為3 個(gè)取值較小的正常量,用于避免除數(shù)為0 出現(xiàn)計(jì)算異常,L、S、C分別表示亮度、結(jié)構(gòu)和對(duì)比度相似性。式(7)計(jì)算的多尺度結(jié)構(gòu)相似度(MS-SSIM,multi-scale SSIM)可以對(duì)不同尺度進(jìn)行結(jié)構(gòu)相似度評(píng)判。
其中,N表示多尺度下采樣的級(jí)數(shù),lN、γj、ρj為0~1 之間的參數(shù),用于控制各成分在相似度衡量時(shí)的重要性,L、S、C的下標(biāo)表示所在的尺度。
由MSE、SSIM 和MS-SSIM 聯(lián)合計(jì)算編碼器和解碼器的損失,編碼器損失如式(8)所示。
其中,c為封面圖像,s為含密圖像。
解碼器損失如式(9)所示。
其中,s1為原始秘密圖像,s2為提取出來的秘密圖像。
編碼器-解碼器損失如式(10)所示。
其中,超參數(shù)值χ=0.5,δ=0.85,ε=0.3。
2.5.2 GAN 判別器損失
DGANS 的2 個(gè)生成式對(duì)抗網(wǎng)絡(luò)的生成器分別為上述的編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò),損失即為2.5.1 節(jié)描述的損失。另外,判別器的損失使用二值交叉熵(BCE,binary cross entropy)損失,BCE 如式(11)所示。
其中,x和y分別為判別器目標(biāo)和預(yù)測(cè)輸出。DGANS包含2 個(gè)判別器,其中一個(gè)判別器為隱寫分析網(wǎng)絡(luò)XuNet,其損失dis_loss(c,s)如式(12)所示;另一個(gè)判別器為XuNet2,其損失函數(shù)dis_loss(s1,s2)如式(13)所示。
其中,η為0.8~1.2 之間的隨機(jī)數(shù)。
本節(jié)主要介紹實(shí)驗(yàn)使用的數(shù)據(jù)集、參數(shù)的設(shè)置以及實(shí)驗(yàn)過程和結(jié)果。實(shí)驗(yàn)數(shù)據(jù)集采用PASCAL VOC2012[22],使用其中11 540 張圖片作為訓(xùn)練集,前5 770 張圖片作為秘密圖像,剩下的5 770 張圖片作為封面圖像。隨機(jī)選取5 000 張圖片用作驗(yàn)證集,前2 500 張作為秘密圖像,后2 500 張作為封面圖像,測(cè)試實(shí)驗(yàn)所使用的數(shù)據(jù)均為5 000 張驗(yàn)證集圖片得出的結(jié)果。所有圖片的尺寸都?xì)w一化為256×256 的大小。
在實(shí)驗(yàn)的參數(shù)設(shè)置上,模型所有的參數(shù)都使用Xavier 初始化,本模型使用的實(shí)驗(yàn)環(huán)境為一臺(tái)安裝有 GTX1080Ti 顯卡的服務(wù)器,操作系統(tǒng)為Ubuntu16.04,顯卡驅(qū)動(dòng)的版本為 CUDA9.0+cuDNN7.0,程序用python3.5 版本的pytorch 深度學(xué)習(xí)框架實(shí)現(xiàn),使用的集成開發(fā)環(huán)境為pycharm。批大小設(shè)置為5,初始學(xué)習(xí)率設(shè)置為10-4,訓(xùn)練了80 輪后網(wǎng)絡(luò)收斂。整個(gè)模型的損失為編碼器-解碼器損失以及2 個(gè)GAN 判別器的損失之和,如式(14)所示。
訓(xùn)練過程中總損失變化情況如圖3 所示。
一個(gè)好的隱寫模型,應(yīng)具備良好的隱蔽性、較大的隱寫容量以及較高的穩(wěn)健性,DGANS 模型嵌入的圖像尺寸都是256×256,嵌入容量為8 bpp (bit per pixel)。不同模型隱寫容量對(duì)比結(jié)果如表4 所示。由表4 可知,DGANS 具有較大的隱寫容量。
圖3 訓(xùn)練過程中總損失變化曲線
表4 不同模型隱寫容量對(duì)比結(jié)果
對(duì)于隱寫模型的隱蔽性,首先用封面與含密圖像之間以及原秘密和提取的秘密圖像之間的峰值信噪比(PSNR,peak signal to noise ratio)以及SSIM值來衡量,圖像的PSNR 計(jì)算式為
PSNR 數(shù)值越大表示差異越小。PSNR 使用廣泛的圖像差異度評(píng)價(jià)指標(biāo),但是PSNR 不能反映人類的視覺差異,SSIM 更接近人類視覺感知。完全訓(xùn)練的DGANS 在整個(gè)驗(yàn)證集上的PSNR 和SSIM 統(tǒng)計(jì)結(jié)果表5 所示。圖4 給出了DGANS、Rehman 等[10]模型及ISGAN[14]的可視化結(jié)果展示。由表5 和圖4 可知,本文隱寫模型有很好的隱蔽性,肉眼觀察不到含密圖像與封面圖像區(qū)別,同時(shí)也有很好的還原能力,從含密圖像提取的秘密圖像與原圖也沒有明顯區(qū)別。由圖4知,在未受攻擊情況下,Rehman 等[10]及ISGAN[14]等類似模型都表現(xiàn)出相當(dāng)?shù)男阅堋?/p>
圖4 可視化結(jié)果比較
表5 DGANS 的PSNR 和SSIM 統(tǒng)計(jì)結(jié)果
使用Ye 等[23]的隱寫分析模型YeNet 對(duì)DGANS進(jìn)行隱寫分析測(cè)試,YeNet 使用BOSSBase 數(shù)據(jù)集采用S-UNIWARD[5]隱寫方法生成的數(shù)據(jù)集訓(xùn)練得到,檢測(cè)結(jié)果所得的受試者工作特征(ROC,receiver operating characteristic)曲線以及曲線下面積(AUC,area under curve)的值如圖5 所示。與S-UNIWARD的ROC 曲線相比,DGANS 的AUC 值要低于S-UNIWARD,不易手動(dòng)檢測(cè),這進(jìn)一步證明了DGANS 有良好的隱蔽性。
本文分別對(duì)旋轉(zhuǎn)、平移、縮放3 種幾何攻擊進(jìn)行了穩(wěn)健性測(cè)試。當(dāng)對(duì)含密圖像進(jìn)行低小角度旋轉(zhuǎn)、小幅度平移、縮放后,用訓(xùn)練好的解碼網(wǎng)絡(luò)提取秘密圖像,用SSIM 值來評(píng)估從受攻擊圖像中提取的秘密圖像與原始秘密圖像的相似度,并與Rehman 等[10]模型及ISGAN[14]等其他類似模型進(jìn)行對(duì)比,所有模型均用相同訓(xùn)練集訓(xùn)練至收斂。
圖5 隱寫檢測(cè)ROC 曲線
3.3.1 旋轉(zhuǎn)攻擊測(cè)試
旋轉(zhuǎn)攻擊測(cè)試包括逆時(shí)針旋轉(zhuǎn)2°、逆時(shí)針旋轉(zhuǎn)5°共2 組實(shí)驗(yàn),具體實(shí)驗(yàn)結(jié)果及與其他模型對(duì)比結(jié)果如表6 所示。由表6 可知,在旋轉(zhuǎn)攻擊下,本文的DGANS 模型提取的秘密圖質(zhì)量要明顯優(yōu)于其他模型,旋轉(zhuǎn)5°時(shí)提取的秘密圖SSIM 值甚至是另外2 個(gè)模型提取的秘密圖SSIM 值的2 倍左右。
表6 旋轉(zhuǎn)攻擊下不同模型提取的秘密圖SSIM 值對(duì)比
圖6 為旋轉(zhuǎn)攻擊測(cè)試的可視化結(jié)果。從圖6 可以看出,經(jīng)旋轉(zhuǎn)之后Rehman 等的模型基本是失效的,ISGAN 的提取比較差,出現(xiàn)了明顯的圖片裂化現(xiàn)象,而DGANS模型提取效果受旋轉(zhuǎn)攻擊影響較小。
3.3.2 平移攻擊測(cè)試
平移攻擊測(cè)試進(jìn)行了如下實(shí)驗(yàn):水平平移2 個(gè)、5 個(gè)像素,垂直平移2 個(gè)、5 個(gè)像素,隨機(jī)水平平移0~10 個(gè)像素,隨機(jī)垂直平移0~10 個(gè)像素,水平垂直同時(shí)隨機(jī)平移0~10 個(gè)像素。平移攻擊下不同模型提取的秘密圖SSIM 值對(duì)比如表7 所示。從表7 可以看出,平移攻擊后提取的秘密圖像中,DGANS 要比其他模型好15%~20%。
圖6 旋轉(zhuǎn)攻擊實(shí)驗(yàn)
表7 平移攻擊下不同模型提取的秘密圖SSIM 值對(duì)比
圖7 平移攻擊實(shí)驗(yàn)
圖7 為平移攻擊實(shí)驗(yàn)的可視化結(jié)果,其中第一行為水平隨機(jī)平移0~10 個(gè)像素,第二行為垂直隨機(jī)平移0~10 個(gè)像素,第三行為水平垂直同時(shí)進(jìn)行0~10 像素的隨機(jī)平移的可視化結(jié)果。由圖7 可知,本文DGANS 模型穩(wěn)健性較佳,并明顯優(yōu)于另外2個(gè)模型,Rehman 等的模型出現(xiàn)密圖提取失效的情況,ISGAN 提取的結(jié)果出現(xiàn)大量噪點(diǎn),DGANS 則受影響較小。
3.3.3 縮放攻擊測(cè)試
縮放攻擊實(shí)驗(yàn)主要是對(duì)含密圖像隨機(jī)縮放80%~120%后再進(jìn)行提取,觀察提取效果。得出的提取結(jié)果與ISGAN 的結(jié)果相當(dāng),都具有很好的抗縮放攻擊的提取效果,而Rehman 等的模型則對(duì)尺度變化較為敏感。具體對(duì)比結(jié)果如表8 所示,可視化結(jié)果如圖8 所示。由圖8 知,DGANS 和ISGAN基本對(duì)尺度變化有較好的適應(yīng)性,Rehman 等的模型則出現(xiàn)提取失效的情況。
表8 縮放攻擊下不同模型提取的秘密圖SSIM 值對(duì)比
本文在使用深度學(xué)習(xí)實(shí)現(xiàn)圖像信息隱藏的過程中,提出了DGANS 圖像隱寫模型,該模型具有高容量、良好的隱蔽性和穩(wěn)健性等特性。DGANS 可以有效地將單通道的灰度秘密圖像嵌入隱藏進(jìn)封面圖像中,并從中提取出來。本文在保證高隱蔽性的基礎(chǔ)上,對(duì)基于深度學(xué)習(xí)的隱寫模型的穩(wěn)健性進(jìn)行了研究,使隱寫圖像在受到一定的幾何攻擊后,仍能以較高的保真度將秘密圖像提取出來,這是大多數(shù)基于深度學(xué)習(xí)的圖像隱寫模型未涉及的。本文在PACAL VOC2007 數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,本文在提高穩(wěn)健性方面的模型設(shè)計(jì)是有效的。
圖8 縮放攻擊實(shí)驗(yàn)