于 杰
(廈門大學嘉庚學院 信息科學與技術學院,福建 漳州 363105)
卷積神經網絡是現如今一種較為高效的識別方法,尤其是在圖像識別分類領域更為明顯,因為該神經網絡無需對圖像做復雜的前期預處理,所以現如今獲得了更為廣泛的實際應用。而圖像隱寫技術是一種基于內容和非密碼機制的載體信息隱藏技術,基本應用于防偽溯源、版權保護、隱藏標識、認證以及安全隱蔽通信等領域。將二者相結合,卷積神經網絡直接處理二維圖像,與像素進行卷積,對有無圖像隱寫進行分類,擁有著重要的應用價值和意義。
時間延遲網絡和LeNet-5是最早出現的卷積神經網絡。在21世紀后,隨著深度學習理論的提出和計算設備的改進,卷積神經網絡得到了快速發展,陸續出現了ZFNet、VGGNet、GoogLeNet以及ResNet等優秀模型算法。近年,隨著對防偽溯源、版權保護及隱藏標識等領域的重視,圖像隱寫技術作為一種基于內容與非密碼機制的計算機信息隱藏技術得到了廣泛關注和發展,如空域算法、Patchwork算法以及變換域算法等層出不窮,與此相對的圖像隱寫分析算法也得以被關注研究。
最為傳統的圖像隱寫分析方法是通過提取相應的圖像特征規律,再進行分類器的分類,如富模型+集成分類器,而卷積神經網絡(Convolutional Neural Network,CNN)因為深度學習在圖像識別的優異表現,使得其逐漸成為一種較為重要的圖像隱寫分析算方法,如由Guang-shuoXu等人構建了的一個5層CNN隱寫分析模型,對S-UNIWARD算法的檢測準確率高達80.24%,還有由高培賢等人提出的S-DRN模型通過利用殘差神經網絡(Residual Network,RestNET)來加深網絡深度,提供準確率[1-5]。
本課題研究是在S-DRN模型基礎上進一步加深網絡深度,通過卷積神經網絡來全面有效提取隱寫后擁有數字水印的圖像特征,從而進行對其分類。因為圖像隱寫特殊的“不可見性”,使得其失去了一般圖像肉眼可見的“淺表特征”,所以需要更深的網絡結構以獲取更加抽象的特征。而在本次研究設計中特選擇ResNet殘差神經網絡模型算法,通過其模型“跳躍連接”的結構,緩解深度加深帶來的梯度消失問題,不斷實驗加深網絡,使得最終獲得擁有較好網絡分類能力的圖像隱寫分類模型[6]。
目前,國內外隱寫分析技術在數字圖像載體方面的相關研究大可分兩塊,一是對隱寫圖像分析特征的傳統檢測技術,二是基于深度學習的隱寫分析檢測技術。前者傳統的隱寫分析算法則又包含特征提取和特征分類兩步,第一步是數字圖像特征的提取,通過分析隱寫操作前后的圖像載體中統計量差異來搭建能夠描繪隱寫數字圖像載體相關統計規律的特征。后者基于深度學習的隱寫分析技術,通過構建關于隱寫分析的深度學習模型來得以實現圖像隱寫信息的端對端檢測分類。由于深度學習網絡模型可以自行進行圖像隱寫特征的提取,無需像傳統隱寫分析一樣人工提取特征,有效減少了時間復雜度,提高了效率。基于深度學習模型的隱寫分析研究已成信息隱藏領域的熱點討論問題之一,并取得了較好的成果。
2015年的國內,Qian等人提出將傳統隱寫分析算法的兩步機器學習換成以深度學習模型代替的構想,并以此提出了一個五層CNN深度學習模型,其模型第一層先以高通濾波器(High Pass Filter,HPF)對圖片卷積進行預處理去除圖像的低頻干擾,池化層使用avg()函數來平均池化,并在卷積層之間使用Gaussian激活函數。該模型通過在BOSSbase數據集上測試,獲得的準確率僅比傳統隱寫分析算法中的空域富模型+集成分類器低3%,而僅僅在一年后Xu等人也同樣提出了一個五層的CNN模型,該模型為了增加網絡的卷積學習能力以提取出更加完善的隱寫特征,在第一個卷積層后加入了絕對值層,同時為了防止學習能力加強帶來的網絡模型過擬合問題,他們在網絡模型的開頭提前約束了數據的范圍,而在更深度的卷積層中使用大小1×1的卷積核。最終試驗表明,該模型在透視環境下對S-UNIWARD隱寫算法的檢測準確率超過以往的傳統隱寫分析算法,達到80.24%。
卷積神經網絡是深度學習的代表算法之一,是一類擁有卷積層,利用卷積核進行卷積矩陣相乘計算且擁有網絡深度增加功能結構的前饋神經網絡。其最早期的網絡模型有時間延遲網絡(Time-Delay Neural Network,TDNN)、平移不變人工神經網絡(Shift-Invariant Artificial Neural Networks,SIANN)以及手寫字體模型LeNet5等,其最基本的網絡結構包括于輸入層、隱含層及輸出層3層,而其中最為關鍵重要的核心是隱含層,由卷積層、池化層以及全連接層3層組成。
由于深度卷積神經網絡理論的出現,卷積神經網絡的深度網絡構架使得其在圖像識別分類上獲得一系列的突破發展,使得網絡隱藏層可以提取獲得更加抽象的圖像特征,從而來提高網絡模型的識別分類準確率。但與此同時,網絡深度的增加又帶來了其他方面的問題,即梯度消失/爆炸問題,該問題阻礙了網絡的收斂,深度加深反而使準確率下降,而殘差神經網絡的提出則解決了此重大難題。
殘差神經網絡是2015年ILSVRC圖像分類和物體識別算法的優勝者,其是使用殘差學習塊(如圖1所示)建立的大規模卷積神經網絡,在殘差塊的內部使用批量規范化(Batch Normalization,BN),通過利用隨機梯度下降(Stochastic Gradient Descent,SGD)緩解了隨深度增大帶來的梯度問題,使得網絡快速收斂[7]。在兩兩殘差塊之間使用跳躍連接,使得網絡的輸出為H(X)=F(X)+X,從而使擬合恒等映射變得更加簡單,深度神經網絡的退化問題也得以解決,形成了最為經典的殘差學習結構。而經典的殘差學習結構在探索更深網絡過程之中考慮到時間花費問題,在ResNet50之后就將原來的殘差學習結構building block(如圖2(a)所示)更改成了瓶頸結構Bottleneck design(如圖2(b)所示),即將兩層3×3,64的卷積層更改至1×1,64、3×3,64以及1×1,256的3層卷積層結構,通過卷積核大小為1×1的卷積層來增加恢復或減少維度,使得3×3的卷積層的輸入或輸出維度減小,因此在更換成瓶頸結構以后,網絡的參數減少了很多,使得訓練也就相對容易一些,花費時間相對減少。

圖1 殘差學習模塊

圖2 經典模塊和瓶頸模塊
空域隱寫算法中最為常用的典型圖像隱寫算法就是LSB圖像隱寫算法,將隱寫信息隨機嵌入至選擇的圖像最不重要的像素位,這就了保證嵌入的隱寫信息不可見,不易被肉眼識別發現。而本次項目研究所針對的圖像隱寫算法就主要是LSB圖像隱寫。現如今,針對的LSB隱寫算法僅僅只有3種,在日后實驗測試中將通過增加隱寫算法數量來嘗試對LSB隱寫加密進行訓練分類,擴大模型分類的范圍[8]。
在訓練圖片數據進入網絡模型進行特化訓練之前,因為隱寫圖像特征的特殊性,要避免網絡模型受到各種圖像本身內容的影響,導致模型分類識別準確率下載,一般會先對隱寫圖像進行預處理,意圖模糊訓練圖像的內容,突出隱寫圖像特征,如特定的嵌入痕跡等,而本次進行隱寫分析的隱寫算法是LSB空域隱寫算法[9]。同上文所介紹的一樣,LSB隱寫算法是將隱寫信息嵌入圖像載體的不重要像素位置上,本文選擇的圖像載體是位圖深度為24的JPG圖像,那LSB算法嵌入的位置即為是像素點RGB。通過更改像素點的RGB數值來進行隱寫信息的隱藏,因此為凸顯圖像嵌入痕跡,本項目設計將JPG格式圖像中所有像素點的RGB數值進行8位的二進制化,并將轉換后的二進制關于前后4位顛倒,最后在轉化成整數值,根據LSB算法的特性將最低有效位轉化成最高有效位以此突出隱寫圖像特征,增加圖像的噪聲比。
S-DRN模型是由高培賢等人提出的一種用于圖像隱寫分析的深度殘差神經網絡模型,在該模型中共有34層的3種不同卷積層,分別為高斯濾波器層,特征提取卷積層以及殘差學習卷積層,但僅有殘差學習卷積層是通過反向傳播算法(BP算法)來進行權值的更新[6]。
本次項目是在S-DRN模型的基礎上更改進行網絡的加深及部分卷積層的變動,濾波器層仍使用高通濾波器。高通濾波器實質是一種信號濾波,來用于圖像邊緣更突出,增加噪聲,通過高通濾波預處理后的圖像在事后的網絡訓練中能使網絡加快自身收斂。
在S-DRN模型中,特征提取卷積層是兩層已經提前通過訓練擬合好的卷積層,分別為3×3,64和1×1,16,用于提取出輸入圖像不同維度的代表特征,縮短訓練時間和避免模型的過擬合,但因為要加深網絡深度,所以在本項目中特征提取卷積層更改成3層提前擬合好的卷積層3×3,64、3×3,64以及3×3,16。去除1×1,16的卷積層是因為接下來的殘差學習卷積層是ResNet50的網絡結構,無需降維操作。
在S-DRN模型中,殘差學習模塊的卷積層是由數個3×3大小的卷積核組成,每兩層卷積層為一組殘差模塊,兩層之間用ReLU損失函數相連,并且將輸入和殘差兩函數通過捷徑連接來進行相加,從而實現一組的殘差學習模塊,共構造了16組的殘差學習模塊。
在網絡結構的最后采用兩層維度為1 000的全連接層及一層用于圖像分類的損失函數層,神經元的全連接可以提取出用作區分圖像標簽類型的局部特征,給下一層的損失函數層作為依據對原圖像進行分類,而損失函數層采用的是softmaxLoss函數,實際上是softmax和cross-entropy loss組合版本,但計算數值更加穩定。通過對比噪聲比將圖片分類成兩類。
因為LSB隱寫后的圖像特征并未明顯的肉眼可見特征,所以需要通過隱藏層的加深來獲取更多抽象程度高的特征,而越高的抽象特征越是在某些特定任務上有著更好的效果,這也是為什么深度神經網絡可以做出很多只有人類才能做到的需要高度抽象理解能力的事情[10]。而ResNet殘差神經網絡因為其內部的殘差塊之間使用捷徑連接算法結構,得以緩解了在增加模型深度所帶來的梯度消失問題,因此ResNet模型算法更適合需要足夠網絡深度來提取深層抽象特征的隱寫圖像分類,并且由于ResNet模型算法的網絡結構簡潔,更適合于優化和加深。
本文研究在S-DRN模型上意圖構架了一個具有更深網絡結構的殘差卷積神經網絡模型來對圖像隱寫進行分析分類,增加圖片的預處理步驟,如圖像像素的二進制顛倒、高斯濾波器的卷積操作以及圖像的歸一化處理,去除池化層以減少隱寫特征在模型訓練過程中的丟失。由于激活函數ReLU的非飽和非線性特征,加快了模型的收斂,而最為重要的是利用殘差學習模塊中的捷徑連接來緩解梯度消失和爆炸問題,從而來增加深度增加卷積層層數和每層卷積核個數,先較與普通的CNN模型在模型加深深度時所帶來的退化問題,殘差學習模塊的使用進一步提高識別準確率。雖然與原本的S-DRN模型相比,深度的增加導致了其訓練時間的耗時增多,但在LSB算法隱寫上的識別分析準確率卻得以提高。
雖然在此項目中解決了諸多問題得以使得設計模型的識別分析準確率提高,但其本身的缺點也十分明顯,第一是池化層的去除,增加了網絡的計算量內存的消耗,并在加深網絡深度計算參數增多的情況下這步操作所帶來的模型訓練時間增加就極為明顯[11]。第二是該模型的針對性太強,無論在模型結構的設計還是圖片的預處理方面都是針對識別LSB算法進行特化,覆蓋的可檢測的信息隱藏方法有限。因此在下一步的研究中,一是需要增加該模型針對其他圖像隱寫算法的實驗測試,如S-UNIWARD、Patchwork算法的準確率和訓練效率等實驗,二是考慮如何在盡量不影響模型分類識別準確率的情況下減少模型的訓練時間和內存消耗。