葉俊辰,黃瀟灑,王士林
(上海交通大學 電子信息與電氣工程學院,上海 200240)
圖像隱寫是指將信息嵌入到圖像中而不被察覺,是信息隱藏的一個重要分支。nsF5[1]作為一種安全性較高且應用面廣的JPEG圖像隱寫方法,十分具有代表性。傳統的針對nsF5的隱寫檢測方法主要依賴人工設計的特征,通過使用支持向量機(SVM)等工具進行分類。隨著近年來深度學習技術的發展,卷積神經網絡(CNN)被廣泛應用于各類圖像分類任務中。本文針對nsF5隱寫算法的特點,設計了一種新型的CNN結構,引入了稠密連接,能夠有效檢測nsF5隱寫過的圖像,準確率較高。
JPEG圖像作為使用最廣泛的數字圖像之一,是常用的圖像隱寫載體。圖像隱寫的方法包括空域方法和變換域方法等。相較于最低有效位修改(LSB)、像素值差分(PVD)、邊緣數據嵌入(EBE)、隨機像素嵌入(PRE)等直接修改像素的空域隱寫方法,基于離散傅里葉變換(DFT)、離散余弦變換(DCT)、離散小波變換(DWT)等變換域隱寫方法不易受圖像剪裁、壓縮等處理的影響,并且隱蔽性更好,更不易被檢測。
早期的JPEG圖像經典隱寫算法Jsteg[2]將空域的LSB變換直接應用到DCT系數上,保證了人眼無法分辨嵌入前后圖像差別的同時有著較高的嵌入率。但由此導致的DCT系數直方圖的異常,使得運用卡方分析能夠很容易檢測出隱寫圖像。F3算法在Jsteg的基礎上進行了改進,能夠抵抗卡方分析,但DCT系數直方圖中奇偶數不同仍容易被發現異常。F4算法用映射負系數轉換隱寫的值,解決了F3算法的不足。F5算法[3]又引入混洗和矩陣編碼技術,提高了隱寫性能和嵌入率。nsF5算法引入濕紙編碼(WPC)等以解決F5算法引起的無效收縮現象,即DCT系數由非零變為零,提高了嵌入安全性。近年來也有很多技術利用成熟的編碼理論進行自適應隱寫,將原本獨立于載體圖像之外的偽隨機秘密數據映射為和圖像內容特性相關的隱寫噪聲,包括UED[4],J-UNIWARD[5],SI-UNIWARD[5]等 等。 然而文獻[6]指出了這類算法的風險,如果采用特定模型外的特征進行檢測,可能就能得到針對該自適應隱寫的準確檢測方法。總體而言,nsF5作為一個經典的隱寫算法仍然有著較高的安全性[7],被廣泛地使用。
傳統的對于JPEG圖像隱寫檢測方法主要依賴人工設計的特征,找到隱寫圖像與載體間具有較大差異的統計量,通過使用SVM等工具進行分類。文獻[8]使用線性分類器對系數直方圖進行分類,提取了23維DCT特征,成功實現了對F5算法的隱寫檢測。Pevny等[9]引入馬爾可夫轉移概率矩陣特征等,提取274維特征,提高了檢測性能。Kovovsky等[10]使用融合代替差分運算,改進了L2準則,提出了584維的MPEV特征集。可以看到傳隨著檢測效果的提高,特征維數也在逐漸增大,對于工人提取圖像特征的要求也越來越高。
隨著近年來深度學習技術在各領域的發展,CNN被廣泛應用于各類圖像分類任務中。基于深度學習的圖像隱寫檢測也取得了一些進展[11]。本文設計了一種新的CNN網絡結構來檢測nsF5隱寫的JPEG圖像。相較于傳統的檢測方法,本文的主要貢獻在于:
(1)創新性地將CNN結構應用到針對nsF5隱寫算法留下的細微痕跡檢測中,實現對nsF5隱寫圖像的檢測。
(2)在網絡中引入稠密連接結構,強化特征傳播,實現特征重用,減少參數數量。
(3)實驗結果表明所提算法優于目前主流nsF5隱寫檢測算法。
為了避免各種圖像內容的影響,采用以下預處理步驟。考慮到JPEG隱寫會修改圖像的DCT系數,這會在隱寫圖像中引入特定的嵌入痕跡。在解壓縮后的JPEG圖像中,像素的統計特征在空間上不是不變的,這意味著每個系數取決于其在8×8像素網格內的鄰域像素值。
對于JPEG格式的輸入圖像,首先解壓縮到空間域,然后進行卷積操作,即將壓縮圖像分別通過16個DCT基礎卷積核進行卷積,卷積核如式(1)所示,其中

最后濾波后的圖像用截斷閾值8進行量化。這樣使得網絡模型更加關注隱寫特征而不受圖像內容的干擾。
總體的網絡結構如圖1所示。我們使用預處理后(511,511,16)大小的濾波圖像作為輸入。
輸入圖像首先經過卷積層進行卷積操作,卷積核大小為3×3,數量為16,卷積層后接批量歸一化層和激活函數層。接下來特征再經過一組卷積操作,輸出特征圖維度為256×256×32。
受到DenseNet[12]的啟發,之后特征圖經過一個稠密連接塊,這是網絡結構的核心所在。每個稠密連接塊包含兩組卷積層,每個卷積層配置一個批量歸一化層和一個激活函數層,最后接一個隨機失活層。對于一個稠密連接塊,其輸入特征圖與輸出特征圖進行級聯(Concatenate)操作,如圖1所示。對于第一組稠密連接塊,輸入特征圖維度為256×256×32,經卷積等操作后特征圖維度為256×256×16,所以級聯后最終輸出特征圖為256×256×48。

圖1 總體網絡結構
第一個稠密連接塊之后是兩組卷積操作,其主要目的是降低特征圖維度,縮減網絡參數。其中第一組卷積層的輸出特征圖數量為48,第二組卷積層的輸出特征圖數量為32,同時,特征圖大小也變為原來的四分之一,從而實現特征圖降維的目的。
在降維之后,特征圖又經過兩組稠密連接塊。其中經過第一組稠密連接塊后的特征圖維度為128×128×48,經過第二組稠密連接塊后的特征圖維度為128×128×80。
最后通過全局平均池化層(GlobalAvgPooling),并使用Softmax層進行分類。
本文所提網絡結構的主要特點是在卷積神經網絡中引入稠密連接塊。由于在nsF5算法隱寫時留下的痕跡極少,當他們經過多個層后,判別信息會很難被找到。因此本文引入稠密連接方式,不僅能夠有效解決梯度消失,而且能夠保留細微的圖像特征。
稠密連接的示意圖如圖2所示。在第一次卷積后得到特征圖A,特征圖A再次卷積后得到特征圖B。這時使用稠密連接,使得A和B同時得到保留,共同通過第三次卷積,得到特征圖C。類似地通過稠密連接進行下去,使得每一次得到的特征圖都被保留。各個特征圖分別是輸入圖像的分層級的表示,因此通過稠密連接,可以更全面地表征nsF5隱寫過程中留下的痕跡。

圖2 稠密連接
在每一個稠密連接塊中,淺層提取出的圖像特征會傳導到后面的每一層中,這樣帶來了許多好處。各層的特征之間組合更加靈活,輸出的圖像特征層次豐富,可以更全面地描繪輸入圖像。各層之間的連接更短更緊密,使得中間層也能獲得監督信息,判斷特征。通過稠密連接不僅加強了特征的傳播,提高了特征的重復利用率,而且減少了模型參數,增強了網絡的穩定性。
實驗選用BOSSBase-1.01圖像庫[13]。BOSSBase圖像庫內容多樣,進行了統一處理,是隱寫檢測時常用的圖像庫。它包含了10 000張尺寸為512×512的PGM格式灰度圖像。首先將圖像轉換為質量因子為75的JPEG圖像,以得到負樣本。同時用nsF5隱寫方法,分別以0.1 bpnzAC至0.4 bpnzAC的嵌入率對JPEG圖像進行隱寫,生成含有隱寫信息的圖像,以作為正樣本。選取4 000張含有隱寫信息的圖像,以及4 000張原始圖像,共8 000張進行訓練。選取另外1 000張含有隱寫信息的圖像,以及1 000張原圖,共2 000張進行驗證。用剩余的8 000張圖像進行測試。
對于不同的嵌入率,每次都隨機初始化權重。綜合考慮錯誤接受率(FAR)和錯誤拒絕率(FRR),定義準確率ACC為:

本文使用Keras深度學習框架。Keras具有高度模塊化、極簡和可擴充等特性。訓練集全樣本訓練次數(epoch)設定為100次。但當epoch數量太多時有可能發生過擬合。因此引入早停法[14],以解決全樣本訓練次數需要手動設置的問題,避免網絡發生過擬合。
在模型訓練過程中使用小批量梯度下降(MBGD)方法,即每一次迭代都用固定數量的樣本進行參數的調整。MBGD方法的優點在于可以有效提高收斂的速度。批量大小(Batch_Size)設置得越大,內存的利用率就越高,對數據的處理速度更快,但同時也會造成參數調整速度變慢等問題。因此需要合理地選擇批量大小。由于本文所提模型相對較復雜,實驗中選取的批量大小為32。
學習率采用動態衰減的設置方法,初始值設置較大,設為0.001,這樣可以提高收斂的速度。參考文獻[15]的方法,逐漸地減小學習率以提高穩定性,保證能夠收斂到最優值。當10次訓練集全樣本訓練后如果驗證集準確率沒有提高,就將學習率在原來的基礎上減小10倍。
每個卷積層中,卷積核的參數使用μ=0的正態分布初始化。在最后一個稠密層中,使用Glorot均勻初始化方法[16]初始化參數并使用重量衰減法,它從[-t,t]的均勻分布中抽取樣本,其中:

式中,fan_in和fan_out分別為輸入和輸出單元的節點數。
圖3描述了模型的訓練過程。可以看到,驗證集準確率的變化曲線與訓練集準確率的變化曲線具有相似的收斂趨勢,在前二十幾個epoch時準確率增長迅猛,然后逐漸趨于平穩,這表明所提的模型對nsF5隱寫留下的痕跡敏感。

圖3 驗證準確率與訓練準確率變化
選取圖像質量因子為75,對不同的嵌入率(0.1、0.2、0.3和0.4)分別得出了準確率,并與傳統的nsF5檢測方法[8-10]進行了比較,如表1所示。在嵌入率達到0.2以上時,檢測準確率已經超過0.9。

表1 各方法準確率
實驗結果表明,該卷積神經網絡能夠提取出由nsF5算法造成的圖像特征變化,進而有效鑒別JPEG圖像是否經過隱寫。雖然當隱寫率小于0.1時,隱寫圖像和原始圖像之間的差異很小,深度學習網絡自動提取的特征可能無法很好地表征這些細微的差異,檢測準確率略低于幾個傳統檢測方法。但當隱寫率高于0.2后,該網絡能夠高效地進行隱寫圖像的檢測,并且在高嵌入率(例如0.4和0.3 bpnzAC)時,準確度高于目前的傳統檢測算法。由于nsF5算法在隱寫期間留下的痕跡是十分細微的,傳統的統計特征有時無法很好地表征波動較大的特征分布。在這種情況下,基于CNN的特征(帶有輸入圖像的分層表示)仍然可以提取有用的信息來區分隱寫圖像與非隱寫圖像。此外,通過引入稠密連接,使得受隱寫影響的特征被更有效地復用,提取的特征維度遠小于一些其他的CNN網絡結構,大大節省空間和計算時間消耗。
本文提出了一種卷積神經網絡,能夠有效且高效地檢測nsF5算法隱寫后的JPEG圖像。它引入了密集連接,在相對簡潔的網絡結構下取得了高準確率,為使用深度學習技術解決圖像隱寫檢測問題提供了新的方案。