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