鮑震杰,薛 茹
(西藏民族大學信息工程學院,陜西 咸陽 712082)
網絡技術的迅速發展,促使圖像、聲音等能直觀表達信息的多媒體傳輸需求越來越高,而這些圖像、聲音等多媒體可能會涉及安全、機密、隱私等方面問題,如何確保這些信息安全、準確的傳送給接受方,是網絡安全研究的基本內容。置圖像亂通過將一幅圖像的像素位置、顏色等進行隨機分布,隱藏圖像部分原有的信息,轉化為無意義的圖像,從而使圖像傳輸過程的安全性提高,因此廣泛被應用在圖像信息隱藏和圖像加密中。
作為信息隱藏圖像預處理的重要手段,圖像置亂的目的是將圖像像素值與像素位置打亂,使人以為是位置隨機分布的圖像或是像素隨機分布的圖像。近些年來,研究者們從多個角度實現了圖像置亂。Hou C等[1]提出了一種通過交換電路復雜度較低的量子比特實現的基于離散Baker映射的量子圖像置亂算法,并說明該置亂算法有周期長的特點。Zubair等[2]提出了基于二維外極權元胞自動機的圖像置亂方法。Xiong等[3]提出了非負基整數到相應基整數的變換算法,并針對三個參數的不同值,計算了局部負基變換的最小變換周期和逆變換算法。數值實驗表明,局部負基變換是一種有效的置亂變換。隨著深度學習的發展,用深度學習的方法實現圖像置亂為傳統領域注入了新的活力。Masayuki等[4]提出了可學習的圖像加密算法,對圖像進行加密,使人們無法理解圖像。Koki等[5]將可學習加密算法擴充,加入了分塊置亂密鑰,并引入自適應網絡來識別置亂圖像。
Arnold變換是一種被廣泛使用的圖像置亂方法[6]-[8],然而其置亂后圖像無法改變像素值統計分布,與原始圖直方圖相似度高,易受統計攻擊,本文設計改進對抗網絡,實現彩色圖像的自動化置亂,提升了視覺置亂效果,并且降低了置亂后圖像與原圖直方圖的相似度。
生成對抗網絡(Generative adversarial nets,簡稱GAN)是Ian J. Goodfellow[9]等于2014年提出通過訓練生成模型(Generative Model)捕獲數據的分布,判別模型(Discriminator Model)估計訓練數據樣本概率,利用生成模型和判別模型的對抗估計生成模型。生成對抗網絡用從目標域和生成域圖像的分布取樣,判別使兩個圖像域接近的方法,代替了傳統使用最大似然估計的方法來擬合估計目標圖像域分布。
為了使建立的對抗模型容易應用,生成器G和判別器D都是多層感知器。根據真實數據(正樣本)x學習生成器的生成圖像分布pdata,輸入噪聲變量z(負樣本)的先驗概率為pz,將噪聲z映射到數據空間表示為G(z),對真實數據的分布進行擬合,即使pdata和pz足夠接近,G的目的是使它們足夠像,那么D就無法將來自于G的數據鑒別出來。輸入單個標量圖的多層感知器D(x)表示來自真實數據x的概率,為了更好的使生成器G偽造的數據更接近真實分布,訓練D使其能最大程度正確的判別真實數據與偽造數據,同時訓練G以最小化偽造概率log(1-D(G(z))),D的目的是正確判斷出G(z),即D(x)足夠大同時D(G(z))足夠小。D和G使用損失價值函數V(G,D),進行極大極小博弈:
+Ex~G[log(1-D(x))]
(1)
式(1)中,Ex~data表示目標域圖像分布期望,Ex~G表示生成圖像期望分布。
使用交替隨機下降梯度SGD可以分兩個階段找到生成器G和鑒別器D:(a) 訓練辯別器以區分生成器生成的真樣本和假樣本。(b)訓練生成器,以便用生成的樣本欺騙過辨別器。實際中上式可能無法為G提供足夠的梯度使其偽造的更真實。在訓練的開始,當G值較低時,D可以高置信度地剔除樣本。在這種情況下,對數log(1-D(G(z)))飽和,訓練G使log(1-D(G(z)))最大,而不是訓練G使log(D(G(z)))最小。
Makhzani A等[10]提出了對抗自動編碼器(Adversarial Autoencoders),將生成對抗網絡應用在自動編碼器上。在一個自動編碼器中加入了匹配自動編碼器潛在表現的聚合后驗分布,與任意的先驗分布的對抗損失訓練。訓練結果是編碼器會將數據分布轉化為先驗分布,解碼器學習深度生成模型,將圖像還原。假設x為輸入,z為自動編碼器的隱含向量,p(z)是z目標存在的先驗分布,q(z|x)是一個編碼分布,p(z|x)是解碼分布。pd(x)是數據分布,p(x)是模型分布,編碼函數q(z|x)決定在自動編碼器的隱含向量聚合后驗分布q(z)。如式(2)所示

(2)
對抗自動編碼器目的是將聚合后驗分布q(z)匹配到任意先驗分布p(z)中。自動編碼器的目的在于減小重塑誤差。生成對抗網絡的生成器就是自動編碼器q(z|x)的編碼器。該編碼器確認聚合后驗分布可以騙過對抗生成網絡的判別器,認為隱含向量q(z)來自先驗分布p(z)。該生成對抗網絡和自動編碼器一起訓練,減小重塑誤差和生成器騙過判別器,判別器分辨是否來自先驗分布的對抗損失,解碼器則將先驗分布p(z)投射到數據分布中。
本文通過改進對抗網絡,設計編碼網絡—解碼網絡的結構學習圖像置亂過程,將彩色圖像經過編碼網絡生成均勻分布像素的隨機圖像,用圖像分塊判別的辨別網絡鑒別生成的圖像是否是均勻分布噪聲,通過解碼網絡重塑原圖像。具體框架如圖1所示。
對抗自動圖像置亂網絡的損失函數與原始的對抗自動編碼器相像并因為任務特殊性,原始對抗自動編碼器的網絡結構與損失函數并不能適用,本文方法在原始對抗自動編碼器的基礎上構建編碼網絡—解碼網絡和判別網絡結構。在損失函數上,將對抗損失的負對數似然改為最小二乘損失[11],并對本方法的三個損失函數分別交替優化。
定義x是原始圖像,y是像素均勻分布圖像,x~pdata(x)是原始圖像x所在的分布,y~pdata(y)是均勻分布。編碼網絡G,解碼網絡F和判別網絡D,根據圖片x經過一對編碼網絡后能復原的目標,本文方法提出編解碼損失,如式(3)所示
L(F,G)=‖F(G(x))-x‖2
(3)
Arjovsky等[12]指出生成對抗網絡使用JS散度來衡量生成圖像域和目標圖像域間距離的缺陷,及因此造成生成對抗網絡模型訓練易崩塌,提出用Wasserstein距離替代JS散度。據此,本文方法生成對抗網絡中的對抗損失改進為式(4)

圖1 對抗自動彩色圖像置亂網絡的結構
L(F,G,D)=Ex~pdata(x)[(1-D(G(x)))2]
+Ey~pdata(y)[(D(y)-0)2]
(4)
本文方法的損失函數由自動編碼器的編解碼損失和對抗網絡的對抗損失組成。其中對抗損失的目標函數為式(5)所示

(5)
在實際操作中,編碼網絡和解碼網絡的對抗損失函數為式(6)所示
Ladv(F,G)=Ex~pdata(x)[(1-D(G(x)))2]
(6)
編碼網絡和解碼網絡的對抗損失函數的目標函數如式(7)所示

(7)
判別網絡的對抗損失函數為式(8)所示
Ladv(D)=Ex~pdata(x)[(1-D(G(x)))2]
+Ey~pdata(y)[(D(y)-0)2]
(8)
判別網絡的對抗損失函數的目標函數為式(9)所示

(9)
自動編碼器的編解碼損失的目標函數為式(10)所示

(10)
本文使用梯度下降法交替減小式(3),式(6)和式(8)所表示的損失函數計算出的損失值并進行相應模型參數優化。如,對于式(3),θj是編碼網絡G或解碼網絡F的參數θ在第jth迭代次數時的值,α是學習率,∨J(θj)是經過損失函數計算損失值傳給參數θj的梯度。那么,式(3)的梯度下降和相應模型參數優化的過程可以表示為式(11)

(11)
特別地,對于式(6)編碼網絡和解碼網絡的對抗損失優化時,判別網絡的參數保持不變。
圖像置亂和復原都可以用提取圖像特征(編碼),生成目標圖像(解碼)的過程模擬。因此本文方法網絡結構中的編碼網絡和解碼網絡都是由編碼部分和解碼部分構成,而編碼網絡與解碼網絡構成了自動編碼器。根據圖像輸入輸出分辨率大小都為,本文神經網絡的結構借鑒了CycleGAN模型[13]的神經網絡結構,使用改進的Johnson等[14]提出的生成模型作為本文方法的編碼網絡和解碼網絡。其中InstanceNormalization為Dmitry等[15]提出的神經網絡層間數據輸入標準化方法。本文編碼網絡和解碼網絡的結構都如圖2所示。本文編碼網絡和解碼網絡的編碼部分由三個步長為2,卷積核大小為3*3的卷積層,每個卷積層后跟著一個InstanceNormalization操作和一個Relu激活函數實現。而解碼部分則通過兩次上采樣-零填充-卷積核3*3,步長為1的卷積操作-InstanceNormalization操作-Relu激活函數和一次零填充-卷積核7*7,步長為1的卷積操作-Tanh激活函數構成,在編碼部分與解碼部分中通過了9個殘差塊的操作,殘差塊結構如圖3所示。
根據圖像置亂的圖像像素值分布均勻要求,本文方法的判別網絡使用Isola等[16]提出的patchGAN的判別網絡,判別網絡有16×16大小的實際輸出,其中每一個數值輸出都具有70×70的感受視野,相當于對圖像分塊判別,更好地判別圖像像素值是否均勻隨機分布。判別網絡的具體結構為圖4所示。本文判別網絡先經過1個卷積核4*4,步長為2的卷積層后接一個LeakyRelu激活函數,再經過三個卷積核4*4,步長為2的卷積層后接一個InstanceNormalization操作-一個LeakyRelu激活函數,最后經過一個卷積核3*3,步長為1的卷積層輸出判別結果。

圖2 編碼網絡和解碼網絡結構圖

圖3 殘差塊結構圖

圖4 判別網絡結構圖
實驗中選用分辨率為256×256的彩色圖像,將圖像像素值映射在[0,1]范圍內,并對其使用改進的對抗自動彩色圖像置亂網絡進行置亂。對抗自動彩色圖像置亂網絡的參數優化器選擇Adam,初始學習率為0.0002。實驗在windows10操作系統,GPU NVIDA RTX2070環境下運行。
使用本文方法對彩色Lena圖像進行圖像置亂,并記錄模型式(3)、式(6)和式(8)表示的三個損失函數的損失值隨著迭代次數的變化,繪制損失曲線。其中,對于判別網絡的對抗損失,為了數值相對平衡,本文根據式(12)計算判別網絡的平均對抗損失來繪制損失曲線。
Lmeanadv(D)=

(12)
從圖5、圖6與圖7可以看出,大約經歷16200次迭代后,下降學習率至原來的一半,判別網絡的平均對抗損失與編碼網絡和解碼網絡的對抗損失值都穩定在0.25左右,這說明判別網絡對于編碼網絡生成的置亂圖像有一定幾率判別不出是否為來自像素均勻分布域,而編解碼損失則下降穩定至0.0001以下,及解碼后圖像與原始圖像的均方誤差值(按比例縮小后)在0.0001之內,說明經過本文方法的置亂,解碼后的圖像幾乎和原圖像一致,本文模型在訓練中具有一定的穩定收斂性。

圖5 判別網絡的平均對抗損失

圖6 編碼網絡和解碼網絡的對抗損失

圖7 編解碼損失
本文選擇了六幅不同的彩色圖片(圖8第一列和圖8第四列),采用對抗自動彩色圖像置亂網絡的編碼網絡部分置亂(圖8第二列和第五列),然后用解碼網絡部分復原圖像(圖8第三列和第六列)。
從圖8可以看出對抗自動彩色圖像置亂網絡對不同圖像內容的圖像都可以達到置亂效果,還原后的圖像能恢復原圖像的色彩、紋理等基本特征,具有較強的適應性。

圖8 對抗自動彩色圖像置亂網絡的圖像置亂效果
對于同一張256×256像素大小的彩色圖像,本文的方法與傳統的Arnold,Logistic圖像置亂的方法進行比較。Arnold置亂使用文獻[17]方法分別在彩色圖像三個通道對圖像像素位置進行置亂,然后在迭代448次后進行Arnold變換復原。Logistic圖像混沌置亂中混沌映射產生值在(-1,1)區間的混沌序列,然后映射在[0,255]整數數列上,最后與原始圖像像素逐位異或。置亂后效果如圖9所示。圖9第一行為Arnold變換后置亂與恢復的圖像。圖9第二行為Logistic混沌置亂后與還原后的圖像。圖9第三行為對抗自動彩色圖像置亂網絡的編碼網絡編碼與解碼網絡解碼后的圖像。

圖9 置亂效果比較
從圖9可以看出Arnold變換后圖像隱約可以看到規則的紋理,像素值分布不均勻;Logistic混沌置亂后圖像像素點的位置分布不均勻,而本文提出的置亂方法像素點位置和顏色分布更為均勻,比Arnold變換和Logistic混沌置亂的置亂效果更好。
圖10第二、三、四、五列分別為原圖、Arnold變換后置亂圖像、Logistic混沌置亂后圖像、對抗自動彩色置亂網絡置亂后圖像在RGB三個顏色分量上的灰度直方圖,灰度直方圖的橫坐標為像素值,縱坐標為像素值的個數。
圖10第二、三、四、五列分別為原圖、Arnold變換后置亂圖像、Logistic混沌置亂后圖像、對抗自動彩色置亂網絡置亂后圖像在RGB三個顏色分量上的灰度直方圖,灰度直方圖的橫坐標為像素值,縱坐標為像素值的個數。
對以上灰度直方圖進行比較,從圖10中看出,Arnold變換并沒有改變圖像的統計特性,而Logistic混沌置亂和本文方法都改變了圖像的統計特性。在原圖像素值統計位置相同處,Logistic混沌置亂后圖像灰度直方圖與原圖像灰度直方圖同時出現了兩個波峰。而改進后的對抗自動置亂網絡灰度直方圖全圖只存在一個波峰,無原始圖像特征。
采用文獻[18]提出的置亂圖像與原始圖像直方圖相似度為圖像置亂程度的評判標準。設置亂圖像與原始圖像的直方圖為h1(x)和h2(x),b為像素點的值,取值范圍為{0,1,…,G-1},則直方圖相似度的定義為式(13)。
(13)
置亂圖像與原始圖像直方圖的相似度越大,則兩幅圖像相似度就越高,置亂度越低。對本文提出的方法與Arnold變換,Logistic混沌置亂三種方法得到的置亂圖像的直方圖與原圖的直方圖計算相似度進行比較,結果如表1所示。

圖10 原圖與三種方法置亂后的圖像在R,G,B三通道的灰度直方圖

表1 直方圖的相似度比較
由表1的數據可以看到,Arnold變換后置亂圖像和原圖灰度直方圖并沒有改變。Logistic混沌置亂后,置亂圖像的灰度直方圖與原圖直方圖相似度減小,本文提出的方法置亂圖像直方圖與原圖直方圖的相似度減小,在R和B通道比Logistic混沌置亂分別減小0.0448和0.1071,在G通道比Logistic混沌置亂增大了0.0175。在R和B通道,本文方法與原圖直方圖相似度最低,在G通道,本文方法比Logistic混沌置亂方法的置亂效果稍差,但基本相差無幾。
巴氏距離衡量兩個直方圖像素概率分布間的相似度,巴氏距離越大,直方圖相似度越低。根據巴氏距離的式(14)

(14)
將置亂后的圖片與原圖像直方圖的巴氏距離進行對比,結果如表2所示。

表2 與原圖直方圖的巴氏距離
從表2可以看出,Arnold變換后置亂圖像與原圖直方圖的巴氏距離為0,Logistic混沌置亂后圖像與原圖像直方圖的巴氏距離增大。而在B和R通道,本文方法比Logistic混沌置亂后圖像直方圖與原始圖像直方圖巴氏距離分別增大了0.1011和0.441。在G通道,本文方法比Logistic混沌置亂后圖像直方圖與原始圖像直方圖巴氏距離減小了0.073。
對于Arnold變換,Logistic混沌置亂方法和本文方法圖像置亂后的圖像效果,從直觀上看,Arnold變換與Logistic混沌置亂方法都有視覺上的可覺察性,而本文方法隱蔽性最好。從置亂后圖像與原始圖像直方圖的相似度上看,本文方法比Arnold變換與Logistic混沌置亂方法,相似度更低,置亂效果更好。
本文針對圖像置亂將圖像轉化為人們無法識別的圖像目的,分析對抗網絡的改進方向,設計了對抗自動彩色圖像置亂網絡。對抗自動彩色圖像置亂網絡使用編碼網絡和解碼網絡的組合模擬圖像置亂和復原過程,并使用patchGAN判別網絡,判別圖像像素值是否分布均勻。在圖像置亂的實驗上,首先本文方法在不同場景不同主體的圖像上測試,都具有良好的置亂效果。其次,將本文方法與Arnold變換,Logisitic混沌置亂算法進行對比,得到了與原圖直方圖相似度更低的置亂圖像并且置亂圖像在視覺上的置亂性最好。而本文方法在置亂圖像與像素均勻分布圖像的相似度上還有很大的提升空間,未來可以針對如何使對抗自動彩色置亂網絡編碼后置亂圖像的像素值分布更為均勻的問題進行研究和改進。