楊 盼,張敏情*,葛 虞,狄富強(qiáng),張英男
(1.武警工程大學(xué) 密碼工程學(xué)院,西安 710086;2.網(wǎng)絡(luò)與信息安全武警部隊(duì)重點(diǎn)實(shí)驗(yàn)室(武警工程大學(xué)),西安 710086)
隨著計(jì)算機(jī)技術(shù)和移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,數(shù)字圖像逐漸成為人們?nèi)粘I钪行畔鬟f的重要載體之一。圖像信息隱藏技術(shù)將秘密信息以不可見的方式隱藏到圖像中,并在需要該秘密信息的時(shí)候通過某種方式提取出來,從而實(shí)現(xiàn)隱蔽通信和版權(quán)保護(hù)的目的。傳統(tǒng)信息隱藏算法對(duì)載體圖像修改后會(huì)不可避免地留下修改痕跡,如HUGO(Highly Undetectable steGanOgraphy)[1]、WOW(Wavelet Obtained Weights)[2]、HILL(HIgh-pass,Low-pass,and Low-pass)[3]、UNIWARD(UNIversal WAvelet Relative Distortion)[4],這些算法難以抵抗空域富模型(Spatial Rich Model,SRM)[5]的隱寫分析方法。為了突破傳統(tǒng)信息隱藏方法在算法設(shè)計(jì)過程中過于依賴手工和先驗(yàn)知識(shí)的限制,一些基于深度學(xué)習(xí)的信息隱藏算法被相繼提出,促進(jìn)了信息隱藏技術(shù)的發(fā)展。Baluja[6-7]首次提出將彩色圖像嵌入另一個(gè)相同大小的彩色圖像中,但是生成的含密圖像存在部分圖像失真,易被察覺。為解決這一問題,Ur Rehman 等[8]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的編碼器-解碼器架構(gòu),用于將灰度圖像作為有效載荷嵌入彩色圖像。Zhang等[9]提出基于生成對(duì)抗網(wǎng)絡(luò)的圖像隱寫框架(Invisible Steganography via Generative Adversarial Networks,ISGAN),將彩色載體圖像分解為3 通道U/V/Y,利用人眼對(duì)亮度信息不敏感的特性,將灰度秘密圖像與Y 通道進(jìn)行通道拼接,通過編碼網(wǎng)絡(luò)得到含密圖像,增強(qiáng)了秘密圖像的隱蔽性;然而,它們也面臨著基于深度學(xué)習(xí)的隱寫分析技術(shù)的威脅。
神經(jīng)風(fēng)格遷移技術(shù)將神經(jīng)網(wǎng)絡(luò)應(yīng)用于圖像風(fēng)格遷移領(lǐng)域,實(shí)現(xiàn)將普通的數(shù)字圖像賦予藝術(shù)化的效果,目前已經(jīng)運(yùn)用到人 們的生 活當(dāng)中。Gatys 等[10]使 用VGGNet(Visual Geometry Group Network)[11]提取載體圖像的特征作為目標(biāo)圖像的內(nèi)容部分,將獲得的圖像的內(nèi)容部分與風(fēng)格圖像的紋理部分相結(jié)合,通過最小化損失迭代更新載體圖像的樣式。Huang 等[12]通過匹配內(nèi)容和風(fēng)格特征的均值和方差,通過自適應(yīng)實(shí)例標(biāo)準(zhǔn)化(Adaptive Instance Normalization,AdaIN)實(shí)現(xiàn)了任意風(fēng)格變換網(wǎng)絡(luò)。Li 等[13]通過學(xué)習(xí)內(nèi)容特征和變換矩陣之間的線性變換提升風(fēng)格變換性能。Li 等[14]使用WCT(Whiten and Coloring Transform)模塊代替AdaIN,實(shí)現(xiàn)了通用性的風(fēng)格遷移方法。An 等[15]將可逆神經(jīng)網(wǎng)絡(luò)運(yùn)用于風(fēng)格遷移中,解決圖像內(nèi)容破壞的問題。
為了提高現(xiàn)有信息隱藏算法的安全性,神經(jīng)風(fēng)格遷移技術(shù)被引 入信息 隱藏領(lǐng) 域。Wang 等[16]提出了STNet(Style Transformation Network for deep image steganography)算法,可以在圖像風(fēng)格遷移的過程中嵌入秘密信息,該算法結(jié)合了信息隱藏技術(shù)和風(fēng)格遷移技術(shù),生成的風(fēng)格化圖像能夠抵抗隱寫分析。Bi 等[17]提出了ISTNet(Image Style Transfer Network for image steganography),在風(fēng)格遷移過程中,將一張灰度圖像隱藏到風(fēng)格化圖像中,生成的含密圖像與藝術(shù)化圖像無法區(qū)分,極大提高了隱藏算法的安全性,能夠很好地對(duì)抗針對(duì)載體圖像的攻擊和分析,有效保護(hù)秘密信息的安全性和機(jī)密性。Lin 等[18]提出了改進(jìn)的基于Y 通道的神經(jīng)風(fēng)格遷移的圖像隱寫框架,結(jié)合Y 通道先嵌入再對(duì)圖像進(jìn)行風(fēng)格變換的方式實(shí)現(xiàn)了一張灰度圖像的嵌入。
然而,上述算法都未能較好地解決彩色圖像的大容量信息嵌入問題。本文提出了一種新的基于神經(jīng)風(fēng)格遷移模型的彩色圖像信息隱藏算法。在圖像風(fēng)格遷移的過程實(shí)現(xiàn)了將彩色圖像隱藏到風(fēng)格化圖像中,提高了隱寫容量,同時(shí)攻擊者無法分清風(fēng)格化圖像是否嵌入了秘密圖像,從而避免了隱寫分析的檢測(cè)。
Bi 等[17]在STNet[16]的基礎(chǔ)上提出了ISTNet,首先通過VGGNet 提取出內(nèi)容圖像和風(fēng)格圖像的特征,使用AdaIN 進(jìn)行整合,再訓(xùn)練一個(gè)用于灰度圖像特征提取的網(wǎng)絡(luò),將提取的多個(gè)秘密信息特征與整合后特征送入解碼器,解碼器將特征映射回圖像的過程中,通過殘差連接的方式,盡可能在生成的風(fēng)格化圖像中保留更多的灰度圖像特征,最后通過一個(gè)消息提取網(wǎng)絡(luò)將灰度圖像提取出來,整個(gè)框架如圖1 所示。
圖1 ISTNet的框架Fig.1 Framework of ISTNet
本文算法的模型框架如圖2所示,主要由隱藏網(wǎng)絡(luò)和提取網(wǎng)絡(luò)兩部分組成。隱藏網(wǎng)絡(luò)結(jié)合了風(fēng)格圖像的特征,將載體圖像轉(zhuǎn)化為具有風(fēng)格圖像特征的藝術(shù)圖像,并在此過程中嵌入秘密圖像;提取網(wǎng)絡(luò)從含密圖像中提取秘密圖像。
圖2 本文算法的模型框架Fig.2 Model framework of the proposed algorithm
隱藏網(wǎng)絡(luò)包含特征提取網(wǎng)絡(luò)和解碼器。特征提取網(wǎng)絡(luò)使用了VGGNet 提取輸入圖像的特定特征。為了提高訓(xùn)練效果,使用PyTorch 中VGG19 的預(yù)訓(xùn)練模型,同時(shí)減少訓(xùn)練開銷和訓(xùn)練時(shí)間,以獲取更好的特征提取效果。將載體圖像、風(fēng)格圖像和秘密圖像輸入特征提取網(wǎng)絡(luò),獲得載體圖像的內(nèi)容特征Fc、風(fēng)格圖像的紋理信息Fs和秘密圖像的特征表示。將Fc和Fs通過AdaIN 編碼為一個(gè)特征,將其與秘密圖像的相同大小特征進(jìn)行結(jié)合,輸入解碼器將特征映射回圖像。使用AdaIN 是因?yàn)樗哂懈玫娘L(fēng)格化效果,并且不需要訓(xùn)練參數(shù),這使得網(wǎng)絡(luò)的整體訓(xùn)練速度更快,所需時(shí)間更少,如式(1)所示:
其中:t代表AdaIN 輸出的結(jié)果,μ和σ代表均值與標(biāo)準(zhǔn)差。
解碼器將特征信息解碼,生成含密圖像。在解碼過程中,將秘密圖像不同的特征表示與解碼器的相應(yīng)層相拼接,更大限度地保留秘密信息的特征信息。解碼器結(jié)構(gòu)如圖3所示,ReflectionPad 為鏡像填充操作,Conv 為卷積操作,修正線性單 元(Rectified Linear Unit,ReLU)為激活函數(shù),Interpolate 為插值和上采樣。
圖3 解碼器結(jié)構(gòu)Fig.3 Decoder structure
提取網(wǎng)絡(luò)接收含密圖像作為輸入,恢復(fù)秘密圖像。將含密圖像放入提取網(wǎng)絡(luò)中,經(jīng)過卷積操作,實(shí)現(xiàn)從含密圖像中提取秘密圖像的目的,從而提取出秘密信息。提取網(wǎng)絡(luò)由8層卷積層和ReLU 激活函數(shù)組成,在中間增加1 個(gè)批量歸一化(Batch Normalization,BN)層來提高收斂速度,卷積層的詳細(xì)信息如表1 所示。
表1 提取網(wǎng)絡(luò)的卷積層Tab.1 Convolutional layers of extraction network
本文的損失函數(shù)主要包括三部分:載體圖像的內(nèi)容損失Lc、風(fēng)格損失Ls和提取網(wǎng)絡(luò)的損失Le。在圖像嵌入過程中,隱藏網(wǎng)絡(luò)不僅要盡量降低圖像嵌入對(duì)圖像風(fēng)格傳遞的影響,而且要使提取網(wǎng)絡(luò)盡可能準(zhǔn)確地從含密圖像中提取出秘密圖像。
內(nèi)容損失Lc為目標(biāo)特征和輸出圖像特征之間的歐氏距離,如式(2)所示。為了得到更快的收斂速度和保留載體圖像的內(nèi)容特征,這里使用AdaIN 的輸出t作為目標(biāo)特征,約束生成圖像的特征,以提高二者的內(nèi)容相似性。代表目標(biāo)特征t經(jīng)過解碼器D 生成圖像Dt的特征。
風(fēng)格損失Ls由風(fēng)格圖像和隱藏圖像這兩個(gè)特征映射的均值和標(biāo)準(zhǔn)差表示,如式(3)所示:
其中:φi表示VGGNet 中第i層的風(fēng)格損失,μ和σ代表各層對(duì)應(yīng)的均值與標(biāo)準(zhǔn)差,Is代表風(fēng)格圖像。
秘密圖像的損失,也就是提取網(wǎng)絡(luò)的損失。S和S′分別代表主要衡量原始圖像與提取后圖像,這里的損失主要有均方誤差(Mean Squared Error,MSE)、結(jié)構(gòu)相似性(Structural SIMilarity,SSIM)和多尺度結(jié)構(gòu)相似性(Multi-Scale SSIM,MS-SSIM)[19]三部分組成,如式(4)所示:
其中α、β和γ為權(quán)重參數(shù)。
ISTNet 使用單一的MSE 損失函數(shù),只考慮了重建圖像的像素值盡可能接近,而沒有考慮圖像要符合人的視覺感知;人眼對(duì)圖像的結(jié)構(gòu)信息很敏感,對(duì)于高亮度區(qū)域和紋理比較復(fù)雜的區(qū)域的失真卻不敏感,SSIM 是基于人眼觀看圖像,是會(huì)提取其中的結(jié)構(gòu)化信息的損失函數(shù);引入MS-SSIM 損失函數(shù),可以使不同分辨率的圖像保持穩(wěn)定,因此SSIM 和MS-SSIM 就更符合人眼的直觀感受。
為了得到更好的實(shí)驗(yàn)效果,設(shè)計(jì)總的損失函數(shù)為內(nèi)容損失、風(fēng)格損失和秘密信息損失的加權(quán)之和,如式(5)所示:
其中θ是控制損失項(xiàng)重要的權(quán)重因子。
實(shí)驗(yàn)中選擇的深度學(xué)習(xí)框架為PyTorch 1.9,編程語言使用Python 3.7,計(jì)算顯卡配置為RTX2070,8 GB 顯存。實(shí)驗(yàn)樣本數(shù)據(jù)集Ukiyoe2photo 數(shù)據(jù)集作為載體圖像和風(fēng)格圖像,COCO 數(shù)據(jù)集作為秘密圖像,并將每個(gè)圖像的尺寸統(tǒng)一調(diào)整為256×256,并設(shè)置相關(guān)參數(shù)α=0.3,β=0.5,γ=0.5,θ=5。
為了驗(yàn)證本文算法與其他風(fēng)格遷移算法的可區(qū)分性,在實(shí)驗(yàn)中選取相同的載體圖像與風(fēng)格圖像,將本文生成的含密圖像與其他神經(jīng)風(fēng)格遷移算法生成的圖像進(jìn)行比較,如圖4所示。從圖4 結(jié)果來看,所有算法都實(shí)現(xiàn)了風(fēng)格遷移。相較于神經(jīng)風(fēng)格遷移算法,本文算法生成的風(fēng)格化圖像內(nèi)容輪廓清晰,變換效果較好,因此可以將本文算法與其他風(fēng)格遷移算法區(qū)分開來。與ISTNet[17]相比,二者的含密圖像的圖像效果相似,但本文算法生成的含密圖像更加自然??梢缘贸?,本文算法在完成彩色圖像嵌入的同時(shí),實(shí)現(xiàn)了圖像風(fēng)格遷移的功能,并且風(fēng)格遷移的過程很好地掩蓋了秘密圖像的嵌入。
圖4 不同算法的圖像風(fēng)格遷移效果對(duì)比Fig.4 Comparison of image style transfer effect among different algorithms
本文算法在大小為256×256 的風(fēng)格化圖像中隱藏彩色秘密圖像,平均每個(gè)像素可以隱藏24 位,隱藏容量為24 bpp。表2 將不同算法的隱藏容量進(jìn)行比較。可以看出與文獻(xiàn)[8-9]相比,本文算法的隱藏容量是它們的3 倍,雖然與Baluja 算法[7]相比都實(shí)現(xiàn)了同樣大小的隱藏容量,但Baluja算法[7]存在安全性問題。與基于神經(jīng)風(fēng)格遷移的信息隱藏算法[16-18]相比,STNet[16]只能隱藏固定容量的秘密信息,并且隱藏容量較?。欢鳬STNet[17]和文獻(xiàn)[18]算法都只隱藏了一張同等大小的灰度圖像,僅僅達(dá)到了8 bpp,很明顯本文算法的隱藏容量較大。
表2 不同算法的隱藏容量比較Tab .2 Comparison of hiding capacity among different algorithms
秘密圖像的質(zhì)量對(duì)隱蔽通信的成敗十分重要,因此,將本文算法與其他信息隱藏算法的恢復(fù)的秘密圖像的圖像質(zhì)量作比較,以峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和SSIM作為主要指標(biāo)。實(shí)驗(yàn)隨機(jī)選取了200 張?zhí)崛〉拿孛軋D像求平均值,如表3所示。相較于經(jīng)典的以圖藏圖算法[7-9],基于神經(jīng)風(fēng)格遷移的以圖藏圖算法的PSNR和SSIM值都較低,這是因?yàn)轱L(fēng)格化圖像的干擾影響了秘密圖像的質(zhì)量。相較于其他基于神經(jīng)風(fēng)格遷移的以圖藏圖的算法[17-18],本文算法各項(xiàng)性能都比文獻(xiàn)[18]好,PSNR 提高了1.15 dB,SSIM 提高了0.04。相較于ISTNet[17],本文算法的PSNR值較低,主要是因?yàn)镻SNR是基于逐像素點(diǎn)進(jìn)行計(jì)算,不太符合人的主觀感受,而本文算法隱藏了相同大小的彩色圖像,所含像素信息較多,導(dǎo)致了PSNR 值較低;但是本文算法的SSIM值相較于文獻(xiàn)[17]算法的提高了0.1。這是由于本文在提取網(wǎng)絡(luò)中引入了SSIM和MS-SSIM這兩個(gè)損失函數(shù),更加符合人類的視覺感知。
表3 不同算法的PSNR和SSIM比較Tab.3 Comparison of PSNR and SSIM among different algorithms
算法的安全性對(duì)秘密信息的傳遞十分重要。與傳統(tǒng)的信息隱藏算法不同,本文在生成一個(gè)風(fēng)格化圖像的同時(shí)進(jìn)行秘密信息的嵌入。因此,隱寫分析的任務(wù)是區(qū)分含密圖像與風(fēng)格化圖像。
首先,對(duì)不同算法生成的圖像進(jìn)行統(tǒng)計(jì)分析。本文隨機(jī)選取了相同的載體圖像及其風(fēng)格圖像,以圖5(a)為例,比較了它們各自生成風(fēng)格化圖像的直方圖,分為R、G、B三個(gè)通道,橫坐標(biāo)表示范圍為0~255的亮度值,縱坐標(biāo)表示像素的數(shù)量。
圖5 不同算法的直方圖Fig.5 Histograms of different algorithms
由直方圖可以得出,使用不同的神經(jīng)風(fēng)格遷移算法對(duì)原始載體圖像進(jìn)行風(fēng)格變換,產(chǎn)生了不同的圖像風(fēng)格化效果,從生成圖的直方圖來看,都使得原始載體圖像的直方圖產(chǎn)生了較大的變化,且變化各不相同,因此無法做到有效區(qū)分。
現(xiàn)有基于深度學(xué)習(xí)的信息隱藏算法中,有一些大容量算法可在彩色圖像中隱藏另一幅彩色圖像或灰度圖像,它們的載體圖像和含密圖像高度相似,人眼很難區(qū)分兩者;然而,這些算法存在一些缺點(diǎn),如果攻擊者能夠同時(shí)獲得載體圖像和含密圖像,就會(huì)發(fā)現(xiàn)含密圖像是從載體圖像修改而來的,這無疑會(huì)對(duì)通信安全構(gòu)成威脅。本文算法和文獻(xiàn)[6]算法的殘差分析如圖6 所示。如圖6(a)所示,可通過殘差圖像分析獲取秘密圖像的語義信息。相較于文獻(xiàn)[6]算法,本文算法在嵌入秘密圖像的同時(shí),可將載體圖像轉(zhuǎn)換成另一種風(fēng)格,即使攻擊者同時(shí)獲得載體圖像和含密圖像,也很可能只是常見的圖像風(fēng)格遷移,而不是秘密信息的傳遞。由于圖像風(fēng)格的轉(zhuǎn)換勢(shì)必會(huì)產(chǎn)生圖像像素的改變,很好地掩蓋了圖像隱藏所產(chǎn)生的像素修改。
圖6 兩種算法的殘差分析Fig.6 Residual analysis between two algorithms
本文使用隱寫分析工具StegExpose[20]來進(jìn)行驗(yàn)證。該工具包 含SPA(Sample Pairs Analysis)[21]、RS(Regular-Singular)分析[22]、卡方攻擊[23]等隱寫分析,它能夠以高效快速方式使用經(jīng)過驗(yàn)證的隱寫分析方法批量分析圖像。本文選取500 張含密圖像及其相應(yīng)的500 張載體圖像組成的圖像對(duì),生成受試者工作特征(Receiver Operating Characteristic,ROC)曲線,如圖7(a)所示,可以看出只是略高于隨機(jī)猜測(cè)。同時(shí),實(shí)驗(yàn)選取文獻(xiàn)[12]中的風(fēng)格遷移算法生成的風(fēng)格化圖像及其對(duì)應(yīng)的載體圖像,生成ROC 曲線,如圖7(b)所示。比較圖7(a)與圖7(b),風(fēng)格化圖像的ROC 曲線大致在對(duì)角線附近,因此本文的算法與其他風(fēng)格遷移算法并無太大不同。
圖7 ROC曲線Fig.7 ROC curves
由實(shí)驗(yàn)結(jié)果可知,本文算法具有較好的抗隱寫分析能力;同時(shí),由于風(fēng)格化圖像的廣泛存在,很難將本文算法與其他風(fēng)格遷移算法有效區(qū)分,具有較高的安全性。
本文提出了一種基于神經(jīng)風(fēng)格遷移過程的信息隱藏算法,可將彩色圖像嵌入到風(fēng)格化的載體圖像中。實(shí)驗(yàn)結(jié)果表明,與其他基于神經(jīng)風(fēng)格遷移的信息隱藏算法相比,在保證安全性的前提下,本文實(shí)現(xiàn)了彩色圖像的信息嵌入,提高了嵌入容量和提取后秘密圖像的圖像質(zhì)量。在未來的工作中,可以探索優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),調(diào)整參數(shù),進(jìn)一步提高彩色圖像的圖像質(zhì)量,促進(jìn)基于深度學(xué)習(xí)的圖像信息隱藏技術(shù)發(fā)展[24]。