劉晶晶 夏 炎 劉 鎮(zhèn)
(江蘇科技大學(xué)計算機學(xué)院 鎮(zhèn)江 212003)
近些年來,信息隱藏已經(jīng)成為信息安全領(lǐng)域的重要課題之一,受到學(xué)術(shù)界的廣泛關(guān)注[1]。數(shù)字隱寫術(shù)是信息隱藏的主要分支。基于數(shù)字圖像的隱寫術(shù)分析成為信息安全領(lǐng)域的研究熱點之一[2~3]。傳統(tǒng)的圖像隱寫術(shù)分析方法分為兩步:一是特征提取,例如小波直方圖特征、馬爾科夫特征、離散余弦變換系數(shù)的共生矩陣特征[4~5]。二是特征分類,例如Fisher算法、支持向量機[6~7]。由于傳統(tǒng)的方法可靠性低或者是訓(xùn)練過程非常耗時,會對隱寫術(shù)分析效率造成不利影響。近些年隨著可編程圖像處理器GPU 編程技術(shù)的成熟,以及其強大的并行計算和浮點運算能力為圖像處理的加速提供了編程基礎(chǔ)[8]。使得深度學(xué)習(xí)成功的應(yīng)用于圖像特征提取和分析領(lǐng)域。
隨著深度學(xué)習(xí)在圖像分類領(lǐng)域的優(yōu)異表現(xiàn),越來越多的研究人員將深度學(xué)習(xí)應(yīng)用在自己的研究領(lǐng)域。通過組合低層特征形成更加抽象的高層表示屬性類別或者特征[9]。深度學(xué)習(xí)可以自動提取隱寫分析特征,能夠有效減少時間復(fù)雜度、提高效率[10]。Qian Y 等[10]在BOSSbase 數(shù) 據(jù) 集 上[11]測 試HUGO[12],WOW[13]算法,雖然能減少訓(xùn)練時間,但是其檢測準(zhǔn)確率比空域富模型[14]加集成分類器(EC)的組合模型低3%~4%。
雖然能夠?qū)⑸疃葘W(xué)習(xí)引入到圖像隱寫術(shù)分析領(lǐng)域,并且取得很好的分類和檢測效果。但是由于深度學(xué)習(xí)模型訓(xùn)練參數(shù)難調(diào),加上卷積層數(shù)過多會造成訓(xùn)練過擬合現(xiàn)象。并不能很好地體現(xiàn)出深度學(xué)習(xí)的隱寫術(shù)分析方法相對于傳統(tǒng)隱寫分析方法的優(yōu)勢。因此需要針對特定的隱寫問題采用特定的網(wǎng)絡(luò)模型和訓(xùn)練參數(shù)。
本文提出一種在BOSSBase 數(shù)據(jù)集上針對HUGO 算法的圖像隱寫術(shù)分析方法,研究在不同嵌入率、減少卷積層數(shù)、去掉池化層、增加卷積核,以及使用批正則化(Batch Normalization,BN)函數(shù)對隱寫分析準(zhǔn)確率的影響。實驗表明,針對HUGO隱寫算法,在嵌入率為0.4bpp的情況下本文算法能達(dá)到89%的檢測準(zhǔn)確率。比文獻(xiàn)[14]提高了12%;在嵌入率為0.1bpp 的情況下,本文算法能夠達(dá)到80.1%,能夠提高19%。
本文采用如圖1 所示的卷積神經(jīng)網(wǎng)絡(luò)框架,主要模塊包括輸出層、HPF 層、卷積層、池化層、全連接層和輸出層。輸入圖像首先進(jìn)過使用圖像縮放軟件將尺寸統(tǒng)一縮放至512*512 的尺寸。通過一個高通濾波層(HFP)5*5pi 的卷積核進(jìn)行噪聲處理。在卷積層中進(jìn)行圖像特征提取。池化層進(jìn)行尺寸的降維,卷積部分最終輸出一個包含128 維特征的向量。通過一個全連接層后連接Softmax函數(shù)進(jìn)行是否是含有隱藏信息的判斷,最后輸出可能性最高的類別的結(jié)果。
圖1 隱寫分析術(shù)網(wǎng)絡(luò)框架
文獻(xiàn)[13]表示使用HPF 高通濾波器能突出噪聲殘余,并且論證了高通濾波器對隱寫分析的必要性。對于圖像言,低頻部分權(quán)重較大,不易嵌入信息,因此都在權(quán)重較小的高頻部分嵌入信息。以求盡量嵌入信息后圖像的內(nèi)容不被察覺。通過高通濾波器,能夠突出噪聲殘余,即放大嵌入信息,能夠更好地提取隱寫圖像的特征。在實驗中發(fā)現(xiàn),如果不使用這個預(yù)處理的過程。模型訓(xùn)練很難收斂,或者收斂速度很慢。在使用中我們固定這個矩陣,使得在訓(xùn)練過程中不能改變參數(shù)值,固定值F。相對應(yīng)的參數(shù)學(xué)習(xí)率也設(shè)置為0。
對于卷積神經(jīng)網(wǎng)絡(luò)而言,網(wǎng)絡(luò)的訓(xùn)練是一個復(fù)雜的過程。由于存在內(nèi)部變量的遷移,隨著訓(xùn)練的進(jìn)行會放大前面訓(xùn)練參數(shù)的變化。導(dǎo)致當(dāng)前的特征的概率分布與初始層特征的概率分布不一致,進(jìn)而之前的訓(xùn)練參數(shù)不在適用。機器學(xué)習(xí)和深度學(xué)習(xí)中有一個假設(shè),即訓(xùn)練數(shù)據(jù)的分布應(yīng)該和特征的分布是相同的。這里輸入網(wǎng)絡(luò)的數(shù)據(jù)使用Batch-Normalization如式(1)所示。
使得每層的輸入數(shù)據(jù)都是均值為0,方差為1。但是輸出限制在均值為0,方差為1的條件下會使得模型的泛化能力變差。因此需要加入可以學(xué)習(xí)的參數(shù)β和γ對數(shù)據(jù)進(jìn)行縮放和平移。模型訓(xùn)練中會不斷的更新β和γ的值。Batch-Normalization是模型批量訓(xùn)練數(shù)據(jù)時候的優(yōu)化輸入數(shù)據(jù)分布。即在保證批量輸入數(shù)據(jù)的時候,生成和對抗數(shù)據(jù)的分布限定在一個可控的范圍內(nèi)。
激活函數(shù)的選擇是構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)的重要環(huán)節(jié)。本文對ReLUs 進(jìn)行改進(jìn),如式(2)所示。由于ReLU 函數(shù)在負(fù)半?yún)^(qū)的導(dǎo)數(shù)為0,所以一旦激活神經(jīng)元進(jìn)入負(fù)半?yún)^(qū),那么梯度就會為0,也就是說這個神經(jīng)元不會經(jīng)歷訓(xùn)練,即所謂的模型出現(xiàn)梯度稀疏。處理辦法可以在負(fù)半?yún)^(qū)加上一個很小的斜率用來抑制這種情況的出現(xiàn)如圖2所示。
圖2 原ReLU激活函數(shù)和修改后的Non-ReLU激活函數(shù)
池化層又叫子采樣層,在卷積神經(jīng)網(wǎng)絡(luò)中,經(jīng)過卷積層后再接上池化層能夠在保證圖像特征的同時,減少計算量。其實是對圖像的一種采樣。在識別和分類任務(wù)中。采樣能夠很好地工作。但是在隱分析中,由于過度采樣會導(dǎo)致隱寫分析信息的丟失。隱寫分析的目的就是檢測出這些信息。所以池化會產(chǎn)生反作用。本文在實驗階段分別對采用池化和不采用池化層進(jìn)行了驗證分析。發(fā)現(xiàn)如果過度使用確實會出現(xiàn)分析效果不明顯。
實驗中的數(shù)據(jù)集采用的是BOSSbaseV1.01。該數(shù)據(jù)集中含有10000 張分辨率為512*512 的pgm格式的灰度圖像。是目前隱寫分析最常用的數(shù)據(jù)集。隱寫的圖通過在載體圖像中嵌入數(shù)據(jù)得到,嵌入算法用的是HUGO。采用嵌入率為0.1bpp 和0.4bpp。算法的實現(xiàn)程序來自于數(shù)據(jù)集提供。由于數(shù)據(jù)量的不足,本文采用切分?jǐn)?shù)據(jù)集的方式將單張512*512 像素的圖像切分成4 張256*256 的圖像。這樣擴充到40000 張載體/隱寫圖數(shù)據(jù)集。選取其中32000 張作為訓(xùn)練集,8000 張作為測試集。
實驗平臺使用的是英偉達(dá)的DGX-1 深度學(xué)習(xí)服務(wù)器,Intel XeonE5-2698 v4 2.2 GHz 處理器、8 片Tesla P4 GPU、256G內(nèi)存、4TB的SSD固態(tài)。軟件平臺為Ubuntu16.04 操作系統(tǒng)、TensorFlow1.8.0-gpu深度學(xué)習(xí)框架、CUDA9.0、CUDNN7.14。
本文實驗中采用批訓(xùn)練的方式,批值為50 Batch。選擇的下降法是隨機梯度下降法?;A(chǔ)的學(xué)習(xí)率為0.01,學(xué)習(xí)率的衰減權(quán)重為0.0001,上一次更新的權(quán)重為0.6,權(quán)重衰減系數(shù)為0.0002。最大的迭代次數(shù)為1000 次,為了更好地觀察訓(xùn)練時候的模型變換。對于HPF 層學(xué)習(xí)率為0 保持參數(shù)不變。
本文實驗了在嵌入率為0.4bpp的時候分別對,有HPF 層、無HPF 層、有池化層、無池化層、有HPF層+池化層和有HPF 層+池化層的情況分類進(jìn)行了實驗。發(fā)現(xiàn)結(jié)果在嵌入率比較高的時候HPF 層對于隱寫分析的性能提升還是有的,也驗證了文獻(xiàn)[13]的結(jié)論。在去掉池化層以后雖然提成不明顯,在取幾次實驗最優(yōu)結(jié)果后比較得出,去掉池化層還是能有提升。最后在有HPF 層和無池化層的網(wǎng)絡(luò)結(jié)構(gòu)中得出的最好的結(jié)果是89.01%的準(zhǔn)確率,如表1所示。
表1 有無HPF層的損失值(loss)和準(zhǔn)確率
在選定有HPF層和無池化層的網(wǎng)絡(luò)結(jié)構(gòu)后,本文又對0.1bpp 和0.4bpp 的嵌入率做了對比實驗。發(fā)現(xiàn)低嵌入率因為嵌入的數(shù)據(jù)量比較少。沒有高嵌入的檢測效果好。由此得出來,信息隱藏的越少,越是難以檢測。這也符合客觀事實規(guī)律。結(jié)果如表2所示。
表2 0.1bpp和0.4bpp的嵌入率下的檢測結(jié)果
圖3 0.4bpp時本文方法的損失值和精度值隨訓(xùn)練步數(shù)變化圖
在0.4bpp 的嵌入率的時候本文的方法能夠比較好地分析出隱寫的圖像。但是在低嵌入率的情況下本文的方法略差于Qian 等的CNN 模型。0.4bpp時候的損失和精度如圖3所示。
實驗結(jié)果表明針對HUGO隱寫算法,在嵌入率為0.4bpp 的情況下本文算法能達(dá)到89%的檢測準(zhǔn)確率。比文獻(xiàn)[15]提高了12%;在嵌入率為0.1bpp的情況下,本文算法能夠達(dá)到80.1%,能夠提高19%。利用深度學(xué)習(xí)方法分析的模型有很大的提升空間,下一步將繼續(xù)優(yōu)化深度學(xué)習(xí)技術(shù)在隱寫分析領(lǐng)域的通用性,進(jìn)一步提高隱寫分析的檢測精度。