陳孟華,劉嘉勇,何沛松
(四川大學 網絡空間安全學院,四川 成都 610065)
隨著5G 網絡的普及,人們對數據傳輸的安全性提出更高的要求。通常有兩種方式保證數據安全,一種是加密技術,另一種是信息隱藏技術。加密技術使用密鑰對數據加密,但是這種行為容易引起察覺,無法隱藏消息的存在,不具有隱蔽性。為解決加密技術的局限,研究者們提出信息隱藏技術。
隱寫術作為信息隱藏技術的重要分支,它通過把秘密信息嵌入在數字圖像等多媒體載體中,且盡可能地不改變載體的視覺和統計特性,達到掩蓋通信的目的,對于通信安全具有重要意義。作為隱寫術的反向檢測手段,隱寫分析的目標是判斷圖像是否隱藏有秘密信息。隱寫與隱寫分析的研究一直在對抗中相互促進。
數字圖像載體是主要的研究對象,不僅由于其冗余性高,也是因為圖像更容易建立數學模型來研究其統計特性。現有圖像隱寫研究集中在灰度圖像上,而關于彩色圖像隱寫的研究較少。目前彩色圖像隱寫存在的問題有,未能在容量和安全性之間達到平衡。文獻[3,4]中的大容量彩色圖像隱寫算法是將一張圖像或多張圖像隱藏到載體圖像中,但是會存在顏色失真。安全性高的彩色圖像隱寫算法往往嵌入率較低,比如文獻[5]中彩色圖像隱寫算法僅將秘密信息嵌入到RGB 中的一個顏色通道,未能充分利用三個顏色通道,而且破壞了顏色通道之間的相關性。其次,大部分空域隱寫算法主要關注灰度圖像,默認針對灰度圖像的隱寫算法可以直接擴展應用到彩色圖像,沒有考慮到彩色圖像自身的特性以及顏色通道之間的相關性。
針對上述問題,本文提出一種基于注意力機制與生成對抗網絡的彩色圖像隱寫算法。利用注意力機制能自動學習不同顏色通道之間相關性以及不同通道特征的重要程度,設計生成器時加入通道注意力SE 模塊,讓神經網絡學習重要特征并加強有用特征,使嵌入修改集中在紋理復雜區域,解決了部分平滑區域像素點被修改的問題。根據同步修改的原則,在設計損失函數時以綠色通道為基準保持同步修改,維持通道之間的相關性。實驗結果證明了所提方案的有效性。
研究表明,傳統的彩色圖像隱寫方案主要分為加性和非加性兩種。加性方案中以ACMP(AmplifyingChannelModifica tionProbabilities)為代表,2019年,Liao 等人提出彩色圖像載荷分配策略ACMP,該方案基于通道相關性,可以有效使嵌入變化集中在紋理復雜區域。非加性隱寫方案主要包括,CMD-C(ClusteringModificationDirections-Color),CPVs(colorpixelvectors),GINA(G-channel-relatedInterchannelNon-Additive)。其中,CMD-C 是將灰度圖的CMD(ClusteringModificationDirections)擴展到彩色圖,使同一位置的不同通道之間的修改方向同步,并保持彩色通道的關聯性。CPVs 將來自同一像素位置的三個顏色分量構成一個向量,嵌入代價定義在顏色像素向量上,而不是單一的顏色分量。這兩種方案雖然考慮了顏色通道之間的相關性,但是沒有考慮到相關性之間的差異。針對該問題,研究者提出GINA,利用通道相關性的差異,將R、B 通道的修改方向與G 通道同步,能獲得更好的抗檢測能力。
針對傳統的基于載體修改的隱寫技術存在隱寫容量低的問題,Zhang 等人提出了端到端的圖像隱寫模型SteganoGAN,采用密集連接的網絡結構緩解梯度消失問題。該方法可將任意二進制數據隱藏在圖像中,實現了每像素4.4 比特的有效載荷?;赟teganoGAN,Li 等人提出端到端的大容量信息隱藏網絡HCISNet,該網絡有效載荷可達到每像素5.68 比特。2017年,Baluja首次提出以圖藏圖的隱寫模型,在彩色圖像中隱藏彩色圖像,該網絡包括預處理網絡、編碼網絡和解碼網絡,但是該方法會產生顏色失真,而且安全性差?;贐aluja 的工作,Zhang 等人提出ISGAN,用彩圖藏灰度圖,將彩色圖像分解為YUV 三通道,UV 通道包含色度信息,Y 通道包含亮度信息,利用人眼對亮度信息的不敏感性,在Y 通道通過編碼網絡嵌入秘密圖像,再與UV 通道結合得到彩色載密圖像。提取時先將Y 通道分離,經過解碼網絡得到秘密圖像,保留了原圖的色彩信息。綜上所述,這些方法雖然能提高嵌入容量,但是卻無法保證安全性,并會產生圖像失真、顏色失真等問題。因此,本文旨在用神經網絡的方法使隱寫的容量和安全性達到平衡,并且在保證安全性的前提下盡可能提高容量。
本文提出基于注意力機制與生成對抗網絡的彩色圖像隱寫算法CISGAN(Color Image Steganography Generative Adversarial Network),包括三個模塊,生成器模塊、嵌入模擬器模塊和判別器模塊,如圖1所示。原始的載體圖像經過生成器模塊處理后得到嵌入概率圖,再經過嵌入模擬器得到修改圖,將修改圖與原始載體圖像按像素點相加得到載密圖像。最后將載體圖像和對應的載密圖像作為判別器模塊的輸入,經過判別器模塊處理后,輸出圖像的分類概率。

圖1 網絡整體結構圖
生成器網絡由下采樣網絡和上采樣網絡組成。下采樣網絡由8 個組件構成,每一組包含卷積層、BN 層、LeakyReLU激活函數,其中最后一個組件的激活函數是ReLU 函數,其余同上所述。除第一組件外,在每一組件卷積后均加入注意力模塊,注意力模塊采用通道注意力壓縮激活(Squeeze and Excitation, SE)模塊。SE 模塊結構如圖2所示,首先將輸入的特征信息擠壓到一個通道描述符中,通過全局平均池化實現擠壓操作。為利用擠壓操作中的信息,再進行激活操作,采用帶有Sigmoid 激活的簡單門控機制實現。具體使用兩個全連接層,第一個全連接層把個通道壓縮成/個通道降低計算量,參數表示縮減率,用于減少全連接層的維度。然后使用ReLU 激活,第二個全連接層再變換成個通道,使用Sigmoid 激活。最后是一個返回到通道維度的增維層,將激活后的結果與原特征對應通道相乘。

圖2 注意力模塊示意圖
上采樣網絡采用短連接,結合下采樣時的特征,從而可以更好地生成概率圖。上采樣網絡包括8 個組件,除最后一個組件只有卷積層外,其余每一組包含卷積層、BN 層、Dropout 層、Cat 層和ReLU 激活函數,其中Cat 層表示短連接。Dropout 層將網絡中的神經元以50%的概率丟棄,防止模型出現過擬合現象。具體生成器網絡結構如圖3所示。
圖3中,組件9 經過Dropout 后,與組件7 的輸出進行短連接,共有7 個短連接層。生成器的卷積核尺寸和輸出尺寸具體參數如表1所示。

表1 生成器具體網絡結構

圖3 生成器網絡結構示意圖
判別器網絡結構由三個模塊構成,分別是預處理模塊、卷積模塊和分類模塊。預處理模塊對圖像進行過濾操作,從而加快網絡收斂速度。研究表明,基于CNN 的隱寫分析網絡在預處理層進行濾波處理可以提高檢測精度,大多數隱寫分析網絡使用一個或多個高通濾波器來過濾。本節參考文獻中的研究成果,在判別器網絡的預處理模塊采用SRM中6 個5×5 的高通濾波器進行初始化,其數值如圖4所示。該高通濾波器在網絡學習過程中將更新。由于判別器網絡的輸入是彩色圖像,預處理層的通道數量和高通濾波器數量應適用于三個顏色通道。

圖4 SRM 中的六個高通濾波器
卷積模塊由五個卷積塊組成,每個卷積塊包含卷積層、絕對激活層、批歸一化層、激活層和池化層。根據文獻的結論,加入絕對激活層可以使模型考慮到噪聲殘差的對稱性,丟棄一些元素的符號。經過實驗發現,在每一層加入絕對激活層要比只在第一層加入絕對激活層效果好。批歸一化層對數據進行標準化處理,使其服從均值為0、方差為1 的統計分布,在一定程度上可以防止出現梯度消失問題。池化層采用平均池化計算局部均值,能夠更好地保留圖像局部特征信息。
卷積模塊的最后一塊與分類模塊相連,分類模塊使用全連接神經網絡將128 個神經元映射為2 個神經元,最后用Softmax 函數將網絡的輸出歸一到[0,1]的概率值。針對二元隱寫分析的場景,網絡的兩個輸出值表示:一類是分類為載體圖像的概率,另一類是分類為載密圖像的概率。通過返回具有最高概率的類來決定類別。判別器網絡結構如圖5所示。

圖5 判別器網絡結構示意圖
圖5中,判別器的卷積核尺寸和輸出尺寸具體參數如表2所示。

表2 判別器具體網絡結構
嵌入模擬器的作用是把生成器生成的嵌入概率圖轉化成修改圖,修改圖中的數值只有0,1,-1,與原始載體圖像按像素相加即可得到載密圖像。具體修改情況根據r和p的關系確定。如式(1)所示,其中,r表示在區間[0,1]均勻分布上產生的隨機數,p表示修改概率,m是對應的修改值。

由于該階梯函數不可導,因此使用double-tanh 函數作為模擬嵌入函數,如式(2)、式(3)所示。該函數是可導的,可以防止梯度消失。

式(2)中,參數是一個比例系數,根據文獻[17]的研究結果,隨著參數的提高,double-tanh 函數能夠更好地模擬±1 嵌入過程,但是過大會引起梯度消失問題,設置的過小或過大都會降低安全性能,設置為60 檢測錯誤率最高,因此后文實驗將該參數設置為60。
判別器的目的是判斷輸入圖像是載體圖像還是載密圖像,將其視為二分類問題,損失采用交叉熵損失,使得網絡預測類別和真實類別盡可能接近。判別器的損失函數如式(4)所示:

其中, 是判別器網絡的輸出,即預測值, 是真實值。生成器的損失包括三部分,第一部分損失依據生成器和判別器是相互對抗的,設計為判別器損失的相反數,如式(5)所示:

第二部分損失目的為控制嵌入容量,如式(6)所示:

其中,表示嵌入容量,表示嵌入率,和表示圖像的高和寬。嵌入容量的計算如式(7)所示:

在式(8)(9)中,p表示對應每個像素點的輸出概率值,p和p分別表示修改圖+1 和-1,p表示像素值不變的概率。
第三部分損失依據彩色圖像三個顏色通道之間的同步修改規則。受到GINA 的啟發,以綠色通道為主導,紅色和藍色通道與綠色通道的修改保持一致,安全性最好。生成器的第三部分損失如式(10)所示:

其中,M表示綠色通道的修改圖,M表示紅色通道的修改圖,M表示藍色通道的修改圖。
生成器的損失要控制嵌入容量、安全性以及通道相關性之間的平衡,表示為上述三部分損失的加權和。生成器總的損失函數表示如式(11)所示,其中,,分別是損失,,的權重系數。后文通過實驗來確定,,。

實驗采用公開彩色圖像數據集COCO。COCO 是一個用于物體檢測和物體分割的大規模數據集。在實驗中首先去除數據集中的灰度圖像,僅保留彩色圖像。然后,使用imagemagick 工具將圖像短邊縮放到256,再中心剪裁為256×256 分辨率的圖像。最后將圖像格式從jpg 轉為tif。從處理后的COCO 數據集中隨機選擇40 000 張作為訓練集,10 000 張作為測試集。
隱寫分析技術是隱寫技術的一種對抗手段,其目的是正確判斷待測圖像為載體圖像還是載密圖像。因此,對于隱寫技術,需要盡可能讓隱寫分析器無法區分載體圖像和載密圖像,即提升安全性。隱寫的安全性由檢測錯誤率來衡量,如式(12)所示。

式(12)中,表示誤檢率,即載體圖像被誤判為載密圖像的概率,表示漏檢率,即載密圖像被誤判為載體圖像的概率,是和的平均值,值越高意味著隱寫的安全性越高。
實驗軟件與硬件環境如表3所示。

表3 實驗軟硬件環境
網絡訓練的迭代次數為500 000 輪,使用Adam 優化器,判別器的學習率為生成器的四倍,嵌入率為0.4 比特每像素。網絡模型中的所有卷積層和全連接層的權重按照均值為0,標準差為0.01 的高斯分布進行初始化。
網絡訓練超參數及取值如表4所示。其中,“Learning_rate”為學習率,“Adam_beta”為優化器Adam的參數,“TANH_LAMBDA”為嵌入模擬器的參數,“reduction”為注意力模塊的縮減率,“”為生成器第一部分損失的權重系數,“”為生成器第二部分損失的權重系數,“”生成器第三部分損失的權重系數,“batch_size”為每次處理的圖像數量。

表4 網絡訓練超參數
為驗證本文提出彩色圖像隱寫算法CISGAN 是否在隱寫安全性方面具有優勢,將CISGAN 和兩個較新的傳統空域彩色圖像隱寫算法GINA、ACMP進行對比,嵌入率范圍從0.1 到0.5bpcp(Bits Per Channel Pixel),步長為0.1bpcp。隱寫分析器使用SCRMQ 加集成分類器。實驗結果如表5所示。

表5 不同隱寫算法在SCRMQ 下的錯誤率
從表5中可以看出,在嵌入率為0.3bpcp、0.4bpcp 和0.5bpcp 的情況下,所提算法CISGAN 的安全性高于傳統彩色圖像隱寫算法GINA 和ACMP。但是嵌入率為0.1bpcp 和0.2bpcp 時,所提算法的安全性沒有GINA 和ACMP 高。表明所提算法CISGAN 對于高嵌入容量的效果好,所提算法更適用于容量高的場景。同時表明神經網絡的方法在彩色圖像隱寫方面具有潛力。而對于嵌入容量低的場景,傳統算法表現更好。
由于生成器的損失函數包含三部分,每一部分對整體的影響程度不同,本節設計實驗對這三部分損失進行權重分配,選擇最優的參數設置方案,使得隱寫安全性最高。隱寫算法為本章算法,嵌入率設置為0.4bpcp,隱寫分析使用SCRMQ和集成分類器。分別選取不同的系數組合進行訓練,實驗結果如表6所示。表6中,“”是判別器交叉熵損失前的系數,“”是容量損失前的系數,“”是同步修改損失前的系數。嵌入容量的系數設置較小,其目的是在保證達到安全性的前提下,再考慮容量的限制。

表6 生成器損失函數參數選取實驗
從表6中可以看出,當取值為1,取值為1e-8,取值為1e-9 時,安全性最高。實驗結果證明,在保證達到安全性的前提下,再考慮容量的限制,最后再用同步修改損失項進行微調,是合理的。
為驗證所提損失函數和加入注意力模塊的有效性,本小節設計消融實驗,嵌入率為0.4bpcp。隱寫分析器使用SCRMQ 和集成分類器。實驗結果如表7所示?!癈ISGAN_None”表示既沒有加注意力模塊也沒有加損失項。“CISGAN_Attention_1”表示只在生成器的下采樣最后一層中加入一個注意力模塊,“CISGAN_Attention”表示生成器中下采樣的每一個卷積層(除第一層外)后均加入注意力模塊,這兩種網絡結構對應的損失函數中未加入同步修改項?!癈ISGAN_SYN”表示在損失函數設計中加入同步修改,但網絡結構中沒有添加注意力模塊。

表7 消融實驗
從表7中可以看出,生成器網絡結構中只加入一個注意力模塊錯誤率提高大約1 個百分點,而每一層都加入注意力模塊能使錯誤率提高大約5 個百分點。表7中的數據顯示,損失函數中加入同步修改項對錯誤率幾乎沒影響,錯誤率均為0.25。
從圖6中可看出,損失函數中加入同步修改項能使三個通道的修改保持一致。從數據集中任取兩張圖像計算修改圖,即殘差圖,將其放大255 倍,如圖6所示。


圖6 殘差圖對比
圖6中,(a)和(d)為原始載體圖像,(b)和(e)為CISGAN_None 的殘差圖,(c)和(f)為CISGAN_SYN的殘差圖??梢钥闯?,圖6(b)的下半部分出現很多紅色的修改點,即紅色通道要修改這些位置,但是這部分對應到圖6(a)中是白色雪地,紋理并不豐富,是不需要修改的。而在損失函數中加入同步修改項后,如圖6(c)所示,則沒有在雪地的紅色通道中進行修改,證明了所提損失函數的有效性。圖6(e)中,除中心區域,周圍區域藍色點和紅色點較多,而圖6(f)中除中心區域,周圍區域修改點變少,且三個顏色通道修改的點數較為均勻,證明了所提損失函數的有效性。
本文提出基于注意力機制與生成對抗網絡的彩色圖像隱寫算法CISGAN。該算法在網絡的生成器中加入注意力機制模塊,能夠有效使嵌入修改集中在紋理復雜區域。在設計損失函數的過程中,保證三個顏色通道同步修改,以達到維持三個顏色通道之間的相關性的目的。并設計實驗驗證了神經網絡中注意力模塊和損失函數的有效性。實驗結果表明,所提算法在高嵌入率的情況下安全性優于傳統彩色圖像隱寫算法,解決了已有算法未能在容量和安全性間達到平衡的問題,對于通信安全具有重要意義。
本文工作也存在一定的局限性。本文提出的隱寫算法是在空域進行的,數據集使用未經壓縮的圖像,考慮到實際網絡傳輸過程中圖像被壓縮的情景,未來可以把該算法擴展到JPEG 域。