周志立,王美民,楊高波,朱劍宇,孫星明
(1.南京信息工程大學(xué)數(shù)字取證教育部工程研究中心,江蘇 南京 210044;2.南京信息工程大學(xué)計算機與軟件學(xué)院,江蘇 南京 210044;3.湖南大學(xué)信息科學(xué)與工程學(xué)院,湖南 長沙 410082)
信息隱寫技術(shù)通常將秘密信息以不可見的方式嵌入多媒體數(shù)據(jù)(包括文本、圖片、視頻、音頻等),然后通過傳遞含密多媒體數(shù)據(jù)以實現(xiàn)網(wǎng)絡(luò)中的隱蔽通信任務(wù)[1-2]。相比于加密技術(shù),信息隱寫技術(shù)不僅可以保護隱藏數(shù)據(jù),并且可以隱藏“秘密通信”事件的本身。
由于數(shù)字圖像具有獲取容易、冗余信息量大的特點,因而被廣泛用作信息隱寫的載體[3]。傳統(tǒng)的圖像隱寫方法通過對一個現(xiàn)有的載體圖像進行輕微的修改,如根據(jù)秘密信息修改圖像像素最低有效位(LSB,least significant bit)的值,從而實現(xiàn)秘密信息嵌入[4]。為了減少修改圖像信息帶來的圖像失真,研究者進一步提出了一些自適應(yīng)圖像隱寫方法,如S-UNIWARD[5]、HILL[6]、HUGO[7]、WOW[8]等。這些方法先手工設(shè)計關(guān)于圖像像素修改的失真函數(shù),然后以最小化圖像總體失真為目標(biāo)將秘密信息自適應(yīng)地嵌入圖像。文獻[9]提出了基于生成對抗網(wǎng)絡(luò)(GAN,generative adversarial network)[10]的失真函數(shù)學(xué)習(xí)框架,自動地學(xué)習(xí)并設(shè)計適用于圖像隱寫任務(wù)的失真函數(shù)。文獻[11]利用強化學(xué)習(xí)(RL,reinforcement learning)優(yōu)化失真函數(shù)。相較于手工設(shè)計的失真函數(shù),在相同的隱寫負(fù)載下,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的失真函數(shù)能更進一步地減少圖像失真。但是,上述圖像隱寫方法仍然對載體圖像進行了不同程度的修改,從而在含密圖像中不可避免地留下一些修改痕跡[12]。殘留的修改痕跡使信息隱藏的事實很容易被Rich Model[13]、XuNet[14]等強大的隱寫分析工具成功檢測。
為了增強信息隱寫的安全性,研究者提出了構(gòu)造式信息隱寫[15-16]這一全新的研究思路。不同于傳統(tǒng)的修改式圖像隱寫方法,構(gòu)造式圖像隱寫以秘密信息為驅(qū)動直接“構(gòu)造”出一幅全新的圖像作為含密圖像,從而實現(xiàn)隱蔽通信[17]。文獻[18-19]提出了基于紋理圖像構(gòu)造的隱寫方法,即以秘密信息為驅(qū)動構(gòu)造出相應(yīng)的紋理圖像,從而將秘密信息隱寫在構(gòu)造的紋理圖像中。此外,文獻[20-21]提出了基于指紋圖像的構(gòu)造式隱寫方法,對秘密信息進行編碼以生成含密的指紋圖像。然而,紋理和指紋圖像并不是常見的自然圖像,它們在某種程度上類似于加密數(shù)據(jù),容易引起攻擊者的懷疑,從而影響“秘密通信”事件本身的隱蔽性。因此,如何生成“真實自然”的含密圖像成為研究的關(guān)鍵。近年來,具有生成“真實自然”圖像能力的生成對抗網(wǎng)絡(luò)的出現(xiàn)為解決以上問題提供了較好的技術(shù)基礎(chǔ)。文獻[22]將秘密信息編碼成對應(yīng)的類別標(biāo)簽,并以標(biāo)簽為驅(qū)動采用ACGAN(auxiliary classifier GAN)生成相應(yīng)的含密圖像。然而標(biāo)簽信息能表達(dá)的秘密信息長度非常有限,此類方法通常在一幅圖像中僅能夠隱藏十幾比特信息。文獻[23]將秘密信息轉(zhuǎn)換為低維噪聲信號作為DCGAN(deep convolutional GAN)的輸入,從而生成相應(yīng)的含密圖像。以上基于GAN的構(gòu)造式隱寫方法本質(zhì)上是訓(xùn)練GAN 以實現(xiàn)噪聲信號與圖像隱式特征之間的映射。然而,由于GAN的圖像生成不是馬爾可夫過程,該映射過程難以通過訓(xùn)練GAN 來實現(xiàn),從而導(dǎo)致信息隱藏容量仍然非常有限,并且秘密信息提取網(wǎng)絡(luò)同樣難以訓(xùn)練,無法從生成圖像中準(zhǔn)確提取秘密信息。因此,這些基于GAN 的構(gòu)造式隱寫方法難以應(yīng)用于實際的隱寫任務(wù)。
為了解決現(xiàn)有的構(gòu)造式信息隱寫方法中隱藏容量小以及秘密信息提取困難的問題,本文采用兩階段的圖像構(gòu)造思路:首先將秘密信息映射為圖像的顯式特征,即輪廓信息,然后將輪廓信息作為GAN 的輸入構(gòu)造出相應(yīng)的含密圖像。由于從作為顯式特征的輪廓信息到圖像的映射過程更易于學(xué)習(xí)和訓(xùn)練,因此該方法較容易訓(xùn)練出相應(yīng)的圖像生成網(wǎng)絡(luò)和秘密信息提取網(wǎng)絡(luò),從而有可能實現(xiàn)較高的隱藏容量和秘密信息提取精度。
根據(jù)以上思路,本文提出一種基于輪廓自動生成的構(gòu)造式圖像隱寫方法。該方法包括輪廓線生成和圖像生成2 個階段。首先構(gòu)建基于長短期記憶網(wǎng)絡(luò)(LSTM,long short-term memory)[24]的輪廓自動生成模型,實現(xiàn)以秘密信息為驅(qū)動的輪廓線生成。通過預(yù)設(shè)合理的損失函數(shù),經(jīng)過大量訓(xùn)練后的LSTM 可以自動學(xué)習(xí)出輪廓點的概率分布,并最終生成輪廓。與傳統(tǒng)的馬爾可夫模型相比,LSTM 具有更好的適應(yīng)性,生成的內(nèi)容更符合客觀世界的自然規(guī)律[25]。然后建立基于pix2pix 模型的輪廓-圖像可逆變換模型,從而將生成的輪廓線變換為含密圖像。接收方利用該輪廓-圖像可逆模型,可以將含密圖像逆變換為輪廓線,再利用輪廓生成模型從中恢復(fù)出秘密信息。
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中,從輸入層到隱藏層再到輸出層,層與層之間的神經(jīng)元是全連接的,但每層內(nèi)的節(jié)點是無連接的。由于其結(jié)構(gòu)限制,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)只能處理一個一個單獨的輸入數(shù)據(jù),不能處理包含多個具有時序關(guān)系數(shù)據(jù)的序列數(shù)據(jù)。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,recurrent neural network)作為一種特殊的神經(jīng)網(wǎng)絡(luò),其隱藏層之間的節(jié)點是有連接的,隱藏層的輸入不僅包括輸入層的輸出,還包括上一時刻隱藏層的輸出,因此循環(huán)神經(jīng)網(wǎng)絡(luò)適用于處理序列數(shù)據(jù),其模型框架如圖1 所示。在該網(wǎng)絡(luò)中,一個序列當(dāng)前時刻的輸出與之前時刻的輸出有關(guān),即網(wǎng)絡(luò)會記憶之前時刻的信息并將其應(yīng)用于當(dāng)前輸出的計算中。t時刻隱藏層狀態(tài)Ht和輸出層的輸出Ot的計算式分別為
圖1 RNN 模型框架
其中,fH和gO分別表示隱藏層和輸出層的激活函數(shù),Xt表示t時刻的輸入,Ht-1表示t-1時刻隱藏層的狀態(tài),WXH、WHH和WHO分別表示輸入層到隱藏層、隱藏層神經(jīng)元之間和隱藏層到輸出層的權(quán)重參數(shù),bO表示輸出層中的偏置。RNN 具有較好的處理序列數(shù)據(jù)的能力,但簡單的RNN 在處理較長的序列時,由于梯度返回困難,容易產(chǎn)生梯度消失和梯度爆炸問題,導(dǎo)致模型難以收斂。LSTM 在傳統(tǒng)RNN 的基礎(chǔ)上添加了門控機制,即輸入門、遺忘門和輸出門。遺忘門根據(jù)上一時刻隱藏層狀態(tài)Ht-1和當(dāng)前時刻輸入Xt,通過sigmoid 激活函數(shù)舍棄部分舊的信息;輸入門根據(jù)上一時刻隱藏層狀態(tài)Ht-1和當(dāng)前時刻輸入Xt,通過tanh 激活函數(shù)保留新的信息;輸出層根據(jù)上一時刻隱藏層狀態(tài)Ht-1和當(dāng)前時刻輸入Xt,通過tanh 激活函數(shù)計算當(dāng)前時刻的隱藏層狀態(tài)Ht,因此能夠處理序列較長的數(shù)據(jù),有效避免梯度消失和梯度爆炸的問題。具有門控結(jié)構(gòu)的LSTM 更適于各種實際的應(yīng)用,如自然語言處理、語音識別、商品推薦等。
GAN 是一種深度學(xué)習(xí)模型,基本結(jié)構(gòu)包括2 個相互對抗的模塊:生成模型G和判別模型D。生成模型G的目的在于通過輸入的一個噪聲信號z生成逼真的樣本,使判別器無法判斷真?zhèn)?;判別模型D的目的是盡量判別一個樣本是來自真實樣本還是生成樣本。G和D使用以下?lián)p失函數(shù)進行訓(xùn)練。
其中,y表示真實圖像的分布,z表示隨機噪聲的分布。網(wǎng)絡(luò)訓(xùn)練的最終目的是通過G和D的相互對抗學(xué)習(xí)從而獲得強大的生成器G。由于G和D是在相互博弈中共同進步的關(guān)系,訓(xùn)練時通常固定其中一個模型參數(shù)對另一個模型進行交替訓(xùn)練。在一次對抗訓(xùn)練中,首先固定G中的參數(shù),按照梯度上升算法最大化LGAN(G,D),以更新D的參數(shù);然后固定D中的參數(shù),最小化,以更新G的參數(shù)。整體訓(xùn)練目標(biāo)可以表示為式(3),通過多次迭代訓(xùn)練,最后得到生成器G*。
由于經(jīng)典GAN 僅以隨機噪聲z為輸入來生成數(shù)據(jù),因此生成器的生成過程是不可控的,無法根據(jù)預(yù)先設(shè)定的約束條件生成相應(yīng)的圖像。因此,Mirza 等[26]在GAN 的基礎(chǔ)上進行改進提出了cGAN(conditional GAN),通過對生成模型添加約束條件x來解決這個問題,其損失函數(shù)為
Isola 等[27]提出了一種特殊的 cGAN 即pix2pix 模型。該網(wǎng)絡(luò)在生成模型中添加輸入圖像(如輪廓圖)為約束條件,以生成符合具有該輪廓信息的圖像,其結(jié)構(gòu)如圖2 所示。首先將輪廓圖輸入生成器中以得到生成圖像,然后將生成圖像和輪廓圖以及真實圖像和輪廓圖成對地輸入判別器中,判別器來判斷這些圖像對的真?zhèn)涡?。同時,為了降低生成圖像的模糊程度,提高視覺質(zhì)量,pix2pix 在cGAN 的基礎(chǔ)上加入L1 距離損失,L1距離的計算式為
圖2 pix2pix 模型框架
其中,y表示真實圖像的分布,G(x,z)表示生成圖像的分布。pix2pix 模型的最終訓(xùn)練目標(biāo)如式(6)所示,由cGAN 損失和L1 距離損失兩部分組成,λ為權(quán)重參數(shù)。
pix2pix 模型中生成器采用了U-Net 網(wǎng)絡(luò)[28]結(jié)構(gòu),U-Net 網(wǎng)絡(luò)在傳統(tǒng)的編解碼器網(wǎng)絡(luò)中加入了跳躍連接,連接了降采樣與升采樣的相應(yīng)卷積層,從而保留了不同分辨率的圖像細(xì)節(jié)信息,對完善生成圖像的細(xì)節(jié)起到重要的作用。pix2pix 采用PatchGAN[27]作為判別器。PatchGAN 并非將整張圖像輸入判別器中,而是將圖像分割成N×N大小的圖像塊,這些圖像塊是可以被認(rèn)為相互獨立的。判別器對每個圖像塊進行真假判別,然后取所有圖像塊結(jié)果的平均值作為判別器的判別結(jié)果。這些設(shè)計被證明不僅能保證較快的訓(xùn)練速度,還能保證較高的圖像生成質(zhì)量[27]。
為了解決現(xiàn)有構(gòu)造式圖像隱寫方法的隱藏容量低以及秘密信息提取困難的問題,本文提出一種基于輪廓自動生成的構(gòu)造式圖像隱寫方法,總體框架如圖3 所示。在隱寫階段,以待隱寫的秘密信息為驅(qū)動,利用基于LSTM 的輪廓自動生成模型生成相應(yīng)的輪廓線;然后,將生成的輪廓線輸入基于pix2pix 的輪廓-圖像可逆變換模型,從而將生成的輪廓線變換為含密圖像。接收方利用該輪廓-圖像可逆變換模型,可以將含密圖像逆變換為輪廓線,然后從輪廓線中恢復(fù)出秘密信息。
圖3 本文方法總體框架
為了保證最終生成的含密圖像在視覺上不容易引起攻擊者懷疑,用于生成圖像的輪廓線應(yīng)符合真實物體輪廓線的統(tǒng)計規(guī)律?;谝陨峡紤],本文首先建立基于LSTM 的輪廓自動生成模型,然后以秘密信息為驅(qū)動生成相應(yīng)輪廓線。
本文以生成簡單的山脈圖像為例,設(shè)計輪廓自動生成算法。對于一幅寬為w、高為h的山脈輪廓圖像而言,其山脈輪廓線可以視為在二維圖像平面的w個連續(xù)的輪廓點組成的曲線C={ci|i=1,2,…,n},其中ci表示該曲線的第i個輪廓點,其取值應(yīng)不超過圖像的高度值,即ci∈[1,h]。本文通過從大量自然圖像中提取輪廓線數(shù)據(jù),輸入LSTM 中進行訓(xùn)練以獲得輪廓自動生成模型,其中LSTM 的輸出函數(shù)采用softmax 激活函數(shù)。
根據(jù)式(1)和式(2),LSTM 的第t時刻的輸出與前t-1個時刻的輸入都有關(guān)系。同時,為了簡化表達(dá),fLSTM表示LSTM 的輸出函數(shù),第t時刻的網(wǎng)絡(luò)輸出可以表示為
本文將曲線C的輪廓點依次輸入,那么LSTM的第i個輸出可以作為輪廓點ci的條件概率分布,表示為 Pr (ci|c1,c2,…,ci-1),ci的位置值可以是[1,h]中的任意值。為了使訓(xùn)練的輪廓自動生成模型與真實的輪廓線樣本分布特性一致,本文使用每個輪廓線的概率值定義損失函數(shù)為
在以上訓(xùn)練過程中,本文采用梯度下降算法更新網(wǎng)絡(luò)參數(shù)。通過最小化損失函數(shù),可以得到與真實輪廓線的統(tǒng)計特性基本一致的輪廓線自動生成模型。然后利用該生成模型,將以秘密信息驅(qū)動生成山脈輪廓線。輪廓線生成過程包含以下幾個步驟。
1) 秘密信息序列切分。假設(shè)需要嵌入的秘密信息是一個長度為L的二值序列S,首先將其均等切分成一系列長度為l的二進制片段,l∈[1,lbh]為整數(shù),具體取值將在實驗部分詳細(xì)討論。然后轉(zhuǎn)換為十進制表達(dá)形式,即S={si|i=1,2,…,m},si表示第i個序列片段對應(yīng)的十進制形式。
2) 起始位置初始化。為了使生成的山脈輪廓符合自然山脈輪廓的統(tǒng)計規(guī)律,應(yīng)盡可能避免出現(xiàn)山體陡峭等極端情況。因此,山脈輪廓的起始位置不宜過高或過低。利用隨機函數(shù)Rand 和密鑰Key1將s1映射到[h/4,3h/4],得到起始點c1的位置為
3) 候選池生成。在輪廓生成過程中,輸入已確定的輪廓點c1~ci-1到預(yù)訓(xùn)練的輪廓自動生成模型,可以得到當(dāng)前點ci所有可能位置的概率分布。然而,用于生成輪廓線不僅可以用概率最高的位置作為輪廓點位置,其他概率較高的位置也同樣可以作為輪廓點位置。因此,本文可以把秘密信息編碼為ci的位置選擇,從而在輪廓線生成過程中嵌入秘密信息。為了便于每個輪廓點ci的選擇,本文首先建立相應(yīng)的輪廓點位置候選池。
假設(shè)前期確定的山脈輪廓點為 [c1,c2,…,ci-1],輸入輪廓線自動生成模型中進行計算,模型的輸出為下一個輪廓點ci所有可能位置的概率為Pr (ci|c1,c2,…,ci-1)。將ci所有可能位置的概率按降序排列,選取概率較高的前K=2l個位置。為了加強信息隱寫的安全性,利用Keyi對這K個位置進行置亂,得到所有候選項的最終位置候選池Pooli,如式(10)所示。
4) 輪廓點選擇。對于輪廓點ci,以秘密信息為驅(qū)動,從位置候選池Pooli中選擇相應(yīng)的位置作為該輪廓點ci的位置。由于步驟1)中將秘密信息二進制序列以長度l為單位進行切分,那么對于秘密信息片段的十進制si,其取值范圍為,而候選池總共有K=2l個位置。那么本文可以用Pooli中第si+1位置作為ci的位置,表示為
根據(jù)式(11),通過對ci的位置選擇可以隱藏lbKbit 信息。假設(shè)總共生成含有n個輪廓點的輪廓線,那么在輪廓線生成時可以總共隱藏nlbK=nlbit 秘密信息。為了進一步解釋信息嵌入過程,以圖4 為例進行說明。首先將秘密信息切分成一系列長度為l=3bit 的序列段;對于秘密信息s1=6,通過式(9),得到c1的位置;對于秘密信息s2=2,那么可以選擇Pooli[3]作為輪廓點c2的位置;按照以上方式確定之后所有輪廓點si的位置(i≥ 2),最終生成的輪廓線總共可以隱藏3nbit 信息。具體步驟如算法1 所示。
圖4 以秘密信息為驅(qū)動的輪廓自動生成過程
算法1以秘密信息為驅(qū)動的輪廓生成算法
輸入待嵌入秘密信息的十進制序列S={si|i=1,2,…,n}
輸出所有輪廓點位置集合 [c1,c2,…,cn]組成的輪廓圖像
注意到,此時的生成輪廓只是比較粗糙的曲線,并非“真實自然”圖像,不能直接用于隱蔽通信任務(wù)。因此,下一步將輪廓線轉(zhuǎn)換為包含該輪廓線信息的“真實自然”圖像。
通過3.2 節(jié)以秘密信息為驅(qū)動的輪廓線生成,秘密信息已經(jīng)被嵌入生成的目標(biāo)輪廓中。接下來,需要將生成輪廓變換成盡量逼真的圖像,并保證秘密信息能從生成圖像中準(zhǔn)確提取。為了達(dá)到以上目標(biāo),本文對pix2pix 模型進行改進,在原有的基礎(chǔ)上添加了提取器,建立了基于pix2pix 的輪廓-圖像可逆變換模型。
輪廓-圖像可逆變換模型結(jié)構(gòu)如圖5 所示,包括生成器G、判別器D、提取器E共3 個部分。生成器和判別器沿用了pix2pix 模型的設(shè)計,與生成器和提取器網(wǎng)絡(luò)均采用U-Net 網(wǎng)絡(luò)結(jié)構(gòu)。需要注意的是,雖然輪廓-圖像可逆變換中生成器與提取器的結(jié)構(gòu)是一致的,但其中的網(wǎng)絡(luò)參數(shù)并不一致,這是因為需要分別對生成器和提取器進行訓(xùn)練。另外,為了獲得多樣性的圖像輸出,pix2pix 在訓(xùn)練和測試中使用dropout 機制時加入了隨機噪聲。而在圖像隱寫任務(wù)中,為了保證秘密信息提取的準(zhǔn)確性,一個秘密信息序列有且僅有一幅含密圖像與之對應(yīng),因此本文在網(wǎng)絡(luò)設(shè)計中沒有引入隨機噪聲。
圖5 輪廓-圖像可逆變換模型結(jié)構(gòu)
在訓(xùn)練階段,與pix2pix 模型相似,該模型的生成器、判別器、提取器的訓(xùn)練分別獨立進行。模型訓(xùn)練時首先固定生成器和提取器的網(wǎng)絡(luò)參數(shù),將生成的含密圖像和真實圖像輸入判別器中,通過梯度下降更新參數(shù)判別器參數(shù)θD,使判別器盡量判別出含密圖像的真假;接著固定判別器和提取器,更新生成器中的網(wǎng)絡(luò)參數(shù)θG,以盡量欺騙判別器,即讓判別器難以判別圖像的真?zhèn)?;然后固定生成器和判別器,更新提取器網(wǎng)絡(luò)參數(shù)θE,以盡量準(zhǔn)確提取出輪廓線。當(dāng)生成器、判別器、提取器均獨立訓(xùn)練一次時,完成一次迭代訓(xùn)練。隨著迭代訓(xùn)練次數(shù)的增加,生成的含密圖像越來越逼真,提取的輪廓更接近原始目標(biāo)輪廓。訓(xùn)練目標(biāo)函數(shù)如式(12)所示。該目標(biāo)函數(shù)對pix2pix 的目標(biāo)函數(shù)進行了改進,在原有基礎(chǔ)上添加了 LL1(E),即提取輪廓與生成輪廓的L1 距離,用于提取器的訓(xùn)練和優(yōu)化,λ和μ為權(quán)重參數(shù)。
通過以上迭代訓(xùn)練,直至目標(biāo)函數(shù)收斂,模型達(dá)到納什均衡。經(jīng)過訓(xùn)練后的生成器和提取器可以實現(xiàn)輪廓與圖像的雙向變換。本文利用輪廓-圖像可逆變換模型中的生成器,實現(xiàn)輪廓到圖像的變換,將得到的圖像作為含密圖像,同時也可以實現(xiàn)含密圖像到輪廓的逆變換,實現(xiàn)秘密信息的提取。為了方便通信雙方發(fā)送和接收秘密數(shù)據(jù),本文中的輪廓自動生成模型與輪廓-圖像可逆變換模型均是公開的,秘密通信雙方共享一組密鑰Key={Key1,Key2,…,Keyn]。
在接收端,對于一幅接收到的含密圖像,接收方進行秘密信息恢復(fù)。該秘密信息恢復(fù)是秘密信息嵌入的逆過程。其具體步驟如下。
1) 含密圖像到輪廓線轉(zhuǎn)換。接收方利用輪廓-圖像可逆變換模型中的提取器從含密圖像提取出輪廓線C={ci|i=1,2,…,n}。
2) 輪廓線到秘密信息恢復(fù)。該步驟分為以下3 個小步驟。
①利用Key1對c1進行解密得到s1。
②將前期確定的山脈輪廓點{c1,c2,…,ci-1}輸入LSTM 的隱藏層中進行計算,從而輸出下一個輪廓點ci所有可能位置的概率 Pr (ci|c1,c2,…,ci-1)。將ci所有可能位置的概率按降序排列,選取概率較高的前K=2l個位置;然后利用Keyi對前K個點的概率進行置亂,得到所有候選位置的候選池Pooli。觀察ci的位置在Pooli的序號indi。根據(jù)式(13),可以得到
③根據(jù)以上步驟,可以得到所有的十進制形式的秘密信息片段S={si|i=1,2,…,m},將其轉(zhuǎn)換為二進制序列,從而恢復(fù)出最終的秘密信息。
本節(jié)主要介紹實驗結(jié)果并進行分析,首先對參數(shù)設(shè)置進行討論,然后分別從提取率、抗隱寫分析能力和生成圖像質(zhì)量方面對所提方法進行性能評價,并與現(xiàn)有的經(jīng)典方法進行比較。
以上實驗均是在Ubuntu 20.04 環(huán)境下采用Tensorflow 2.1.0 實現(xiàn)的,采用的顯卡型號是GTX 1080ti。需要隱寫的秘密信息是由計算機隨機生成的二值序列,共10 000 份。本文建立了包含500 幅分辨率為256 像素×256 像素的彩色真實山脈圖像庫作為訓(xùn)練集;采用本文方法和訓(xùn)練好的模型,在每個輪廓點中隱藏長度不同秘密信息,生成10 000 幅含密圖像作為測試集。具體來說,在每個輪廓點中分別隱藏1~8 bit 長度不同的秘密信息,從而生成對應(yīng)的8 類含密圖像,每類含密圖像生成1 250 幅,總共得到10 000 幅含密圖像。
本文方法包含3 個重要的參數(shù):訓(xùn)練輪廓-圖像可逆變換模型的權(quán)重參數(shù)λ和μ,以及秘密片段切分長度l。輪廓-圖像可逆變換模型訓(xùn)練的目的是得到一個生成器和一個提取器,λ取值較大時優(yōu)先訓(xùn)練生成模型,μ取值較大時優(yōu)先訓(xùn)練提取模型。因此,λ和μ取不同值將對信息提取準(zhǔn)確率和圖像質(zhì)量有影響;參數(shù)l的取值直接影響隱藏容量、信息提取準(zhǔn)確率以及生成的圖像質(zhì)量。由于本文實驗采用圖像的大小為256 像素×256 像素,l的最大取值為lb256=8。當(dāng)l取值較大時,表示每個輪廓點可以嵌入更多的比特數(shù),隱藏容量上升但可能引起信息提取準(zhǔn)確率和生成圖像質(zhì)量的下降。
表1 列出了λ和μ分別取不同值時對信息提取率和生成圖像質(zhì)量的影響,此時l固定為5,提取率和圖像質(zhì)量分別用BER(bit error rate)和EMD(earth move distance)來衡量。BER 值越小表示提取準(zhǔn)確率越高;EMD 值表示生成圖像集和真實圖像集之間的統(tǒng)計距離,越接近0 則表示生成圖像與真實圖像的距離越小,生成圖像質(zhì)量越高。從表1 可以看出,當(dāng)λ和μ取值相同時,BER 和EMD 的波動較小;當(dāng)固定λ時,隨著μ的增長,BER 呈現(xiàn)不明顯的下降趨勢而EMD 逐漸上升;當(dāng)固定μ時,隨著λ的增長,BER 呈現(xiàn)上升趨勢而EMD 下降。為了在信息提取準(zhǔn)確率和圖像質(zhì)量之間獲得較好的平衡,在本文實驗中令λ=50,μ=1。
表1 λ 和μ 取值不同時BER 和EMD 的變化
表2 中列出了l取不同值時Bit、BER 和EMD的變化趨勢,其中Bit 表示每幅圖像中可以嵌入的比特數(shù)量。通過對比不難發(fā)現(xiàn),當(dāng)l取值逐漸增大時,生成圖像的隱藏容量隨之增大;BER 也輕微升高,即信息提取的錯誤率升高;同時EMD 值也迅速增長,表示生成圖像與真實圖像相似度降低,生成圖像的質(zhì)量變差。在本文實驗中,通過l取不同值,觀察本文提出的隱寫方法在不同隱藏容量下提取率、抗隱寫分析能力和圖像生成質(zhì)量方面的性能。
表2 l 取值不同時Bit、BER、EMD 的變化
表3 表示在不同隱藏容量下本文方法和SWE方法[23]提取率的對比。從表3 中可以看出,隨著隱藏容量的增加,本文方法的BER 逐漸升高,提取準(zhǔn)確率下降,但依然優(yōu)于SWE 方法,主要原因歸納如下。SWE 方法將秘密信息隱射為噪聲信號,然后輸入DCGAN 中生成含密圖像,其本質(zhì)實現(xiàn)噪聲信號與圖像隱式特征之間的映射。由于DCGAN 的圖像生成不是馬爾可夫過程,該映射過程難以通過訓(xùn)練DCGAN 來實現(xiàn),從而導(dǎo)致信息隱藏容量仍然非常有限,并且秘密信息提取網(wǎng)絡(luò)同樣難以訓(xùn)練,無法準(zhǔn)確提取秘密信息。不同于SWE 方法,本文方法首先將秘密信息映射為圖像的顯式特征即輪廓信息,然后將輪廓信息為GAN 的輸入構(gòu)造出相應(yīng)的含密圖像。由于從作為顯式特征的輪廓信息到圖像的映射過程更易于學(xué)習(xí)和訓(xùn)練。因此,與現(xiàn)有構(gòu)造式信息隱寫方法相比,本文方法將很容易訓(xùn)練出相應(yīng)的圖像生成網(wǎng)絡(luò)和秘密信息提取網(wǎng)絡(luò),可以同時實現(xiàn)較高的隱藏容量和準(zhǔn)確的秘密信息提取。
表3 不同隱藏容量下的本文方法和SWE 方法提取率對比
本文采用常用的SRM[13]和XuNet[14]隱寫分析器進行攻擊測試,以測試各種不同隱寫方法抗隱寫分析檢測的能力。SRM 通過濾波器手動提取隱寫圖像的一系列一階和二階統(tǒng)計特征,并用這些統(tǒng)計特征訓(xùn)練支持向量機(SVM,support vector machine)進行隱藏圖像檢測。XuNet 則采用CNN 自動提取隱寫圖像的特征并學(xué)習(xí),從而使網(wǎng)絡(luò)具備判別隱寫圖像的能力。在抗隱寫分析測試中,將用到三類圖像:真實圖像、未嵌入信息的生成圖像和嵌入信息的生成圖像。實際上,嵌入信息的生成圖像是未嵌入信息的生成圖像的一種特殊形式,二者是包含與被包含的關(guān)系。因此,本文將真實圖像和未嵌入信息的生成圖像合計10 000 幅作為不含密的圖像數(shù)據(jù)集,而將10 000 幅嵌入秘密信息的生成圖像作為含密圖像數(shù)據(jù)集。用于對比的隱寫方法包括S-UNIWARD[5]、UT-6HPF-GAN[9]和SWE[23]。本實驗采用PE對隱寫算法抗隱寫分析檢測能力進行評價,如式(14)所示。
其中,PFA和PMD分別表示錯檢率和漏檢率,PE值越接近0.5,表示抵抗隱寫分析性能越好。
表4 表示針對SRM 和XuNet 隱寫分析器,不同隱藏容量下各類隱寫方法的抗隱寫分析能力的對比。從表4 可以發(fā)現(xiàn),不論隱寫分析器采取SRM還是 XuNet,在隱藏容量相同的情況下,S-UNIWARD 和UT-6HPF-GAN 的PE值比SWE 方法和本文方法的PE值要低,也就是說傳統(tǒng)修改式隱寫方法的抗隱寫分析能力弱于構(gòu)造式隱寫方法。這是因為載體修改式隱寫方法按照一定規(guī)則修改載體圖像以實現(xiàn)秘密信息的嵌入,那么含密圖像中必然留有篡改痕跡,從而為隱寫器提供檢測依據(jù)。而SWE 方法和本文方法并不需要修改載體圖像,而是在秘密信息的驅(qū)動下構(gòu)造出新圖像作為含密圖像。在隱寫過程沒有留下修改痕跡,因此不容易引被現(xiàn)有的隱寫分析器成功地檢測。
表4 針對SRM 和XuNet 隱寫分析器,不同隱藏容量下各類隱寫方法的PE 值對比
在這些對比方法中,本文方法表現(xiàn)最好,在不同隱藏容量下PE的取值均非常接近0.5,表明本文方法在實現(xiàn)較大隱藏容量的同時,能成功地抵抗以上隱寫分析工具的檢測。
由于t-SNE 可視化方法常用于數(shù)據(jù)相似度的可視化,本文采用t-SNE 可視化方式對比l取不同值時生成圖像與真實圖像數(shù)據(jù)分布。圖6 為l取不同值時的對比結(jié)果。
圖6 當(dāng)l 取不同值時t-SNE 圖示例
此外,本文采用常用的FID(frechet inception distance)對圖像生成質(zhì)量進行評價,F(xiàn)ID 越小表示生成圖像的分布與真實圖像越接近。本文方法在不同隱藏容量情況下,與SWE 方法比較生成的圖像質(zhì)量,結(jié)果如表5 所示。由表5 可知,本文方法的FID 遠(yuǎn)小于SWE 方法,表明本文方法圖像生成質(zhì)量更好。這主要是因為在構(gòu)建的輪廓-圖像可逆變換模型中,通過對生成模型添加約束條件控制圖像的生成,另外,在目標(biāo)函數(shù)中加入最小化L1 距離為訓(xùn)練目標(biāo),以完善生成圖像的細(xì)節(jié)。而SWE 方法是直接利用DCGAN 將噪聲轉(zhuǎn)換成含密圖像,不能控制圖像的生成質(zhì)量,此外,以逐像素的方式生成較大圖像時容易產(chǎn)生棋盤效應(yīng),生成圖像質(zhì)量較差。圖7 展示了本文方法部分真實圖像與生成圖像的對比,僅憑肉眼觀察,生成的含密圖像與真實圖像幾乎沒有視覺差異,生成圖像質(zhì)量較好。
圖7 本文方法的目標(biāo)輪廓、生成圖像與真實圖像實際效果
表5 不同隱藏比特數(shù)下生成質(zhì)量對比
為進一步驗證本文方法各個部分的性能,本節(jié)設(shè)計了一系列消融實驗,將本文方法與4 種不同版本的本文方法的隱寫效果進行對比。本文方法的輪廓生成模型采用LSTM 結(jié)構(gòu),輪廓-圖像可逆變換模型中的生成器、判別器和提取器分別采用U-Net、PatchGAN 和U-Net,方法1 分別采用RNN、U-Net、PatchGAN 和U-Net,方法2 分別采用LSTM、Encoder-decoder、PatchGAN 和U-Net,方法3 分別采用LSTM、U-Net、GAN、U-Net,方法4 分別采用LSTM、U-Net、PatchGAN 和Canny 算子[29]。
表6 展示了以上4 種方法在秘密信息提取錯誤率BER、抗隱寫分析能力PE以及圖像生成質(zhì)量EMD 的表現(xiàn)。其中PE針對SRM 隱寫分析器計算得出,所有數(shù)據(jù)是在l=4 時,即嵌入比特數(shù)固定為4×256 bit 的情況下測得的。由表6 可得如下結(jié)論。
表6 本文方法與4 種不同版本的本文方法的隱寫效果對比
1) 本文方法的EMD 值遠(yuǎn)低于方法1 的EMD值,即本文方法的生成圖像質(zhì)量明顯優(yōu)于方法1。這是因為經(jīng)典的RNN 結(jié)構(gòu)沒有設(shè)計門控機制,在生成輪廓點時對相鄰輪廓點的依賴度過高,而對于距離較遠(yuǎn)的輪廓點,在訓(xùn)練階段的反向傳播過程中易產(chǎn)生梯度爆炸的問題,模型難以收斂,從而導(dǎo)致生成輪廓與真實輪廓差距較大。而具有門控機制的LSTM 結(jié)構(gòu)可以有效避免以上問題。因此,采用LSTM 可以使最終生成的含密圖像質(zhì)量更高。
2) 本文方法的BER 和EMD 值比方法2 明顯要低,即本文方法的信息提取正確率和生成圖像質(zhì)量明顯高于方法2。這是因為本文方法生成器采用U-Net,而方法2 生成器采用Encoder-decoder。相較于Encoder-decoder,U-Net 在升采樣與降采樣的過程中能夠更好地保留圖像的抽象特征。這樣使本文方法的含密圖像的生成質(zhì)量較高,輪廓線準(zhǔn)確提取更加容易,秘密信息提取準(zhǔn)確率更高。
3) 本文方法的BER 和EMD 值稍低于方法3,即本文方法的信息提取準(zhǔn)確率和生成圖像質(zhì)量稍高于方法3。這是因為本文方法的判別器采用PatchGAN,而方法 3 采用傳統(tǒng) GAN。采用PatchGAN 的判別器將生成圖像切分成許多圖像塊,并對每個圖像塊真實度進行判別。相較采用傳統(tǒng)GAN 的判別器,采用PatchGAN 的判別器對圖像真實度的判別結(jié)果更加準(zhǔn)確,從而促進生成模型生成質(zhì)量更高的圖像,使本文方法的輪廓線提取和秘密信息提取更加準(zhǔn)確。
4) 本文方法的BER 值明顯低于方法4,EMD值基本與方法4 持平,即方法4 的秘密信息提取錯誤率明顯高于本文方法。這是因為方法4 的提取器采用傳統(tǒng)的Canny 算子,而本文方法采用U-Net。Canny 算子是手工設(shè)計的邊緣檢測方法,其參數(shù)也采用經(jīng)驗值,自適應(yīng)性明顯低于U-Net。因此,Canny算子提取山脈輪廓的準(zhǔn)確度明顯較低,導(dǎo)致秘密信息提取錯誤率也明顯較高。
以上4 種方法的PE值與本文方法相差不大,均在0.5 左右,即在抗隱寫分析方面均表現(xiàn)較好。這是因為這些方法都是構(gòu)造式的圖像隱寫方法,生成的含密圖像中不含有修改痕跡,從而能較好地抵抗現(xiàn)有隱藏分析工具的檢測。
根據(jù)以上實驗結(jié)果和分析,本文方法中輪廓生成模型及輪廓-圖像可逆變換模型的生成器、判別器和提取器均表現(xiàn)最好,本文方法在秘密信息提取準(zhǔn)確率、抗隱寫分析能力、圖像生成質(zhì)量方面綜合性能最優(yōu)。
本文提出了一種基于輪廓自動生成的構(gòu)造式圖像隱寫方法。針對現(xiàn)有構(gòu)造式信息隱寫方法的隱藏容量低和秘密信息提取困難的問題,本文方法構(gòu)建輪廓自動生成模型,將秘密信息映射為圖像的顯式特征即輪廓信息,然后構(gòu)建輪廓-圖像可逆變換模型,將輪廓信息作為該模型的輸入,從而構(gòu)造出相應(yīng)的含密圖像。實驗結(jié)果表明,本文方法能實現(xiàn)較高的隱藏容量,并且在相同隱藏容量下信息提取率和生成圖像質(zhì)量優(yōu)于現(xiàn)有構(gòu)造式信息隱寫方法,同時在抗隱寫分析檢測能力方面優(yōu)于傳統(tǒng)的修改式隱寫方法。本文對構(gòu)造式圖像隱寫方法進行探索,有效地推進了構(gòu)造式圖像隱寫方法的實際應(yīng)用。本文方法以秘密信息為驅(qū)動生成較簡單輪廓線,從而構(gòu)造出含密圖像,下一步將以秘密信息為驅(qū)動構(gòu)造出更復(fù)雜的多輪廓線以及生成多樣性化的含密圖像,以進一步提高隱寫容量和生成圖像質(zhì)量。