吳 旭,劉 翔,趙靜文
(上海工程技術大學電子電氣工程學院,上海 201620)
隨著數字圖像處理技術的快速發展,數字圖像惡意篡改事件頻繁發生,使得人們對于數字圖像的真實性產生嚴重懷疑,這樣的行為會對個人聲譽、社會穩定乃至國家安全均造成巨大影響,因此數字圖像篡改檢測技術受到國內外研究人員的廣泛關注。在數字圖像被動取證領域,圖像篡改主要分為內容篡改和操作篡改[1]。2017 年,BAPPY 等[2]提出基于像素級別的概率映射方法,建立CNN-LSTM 圖像被動取證模型,但是掩碼的定位不夠精確。2018 年,LIU 等[3]利用多尺度方法進行篡改區域定位,設計不同尺度的圖像滑動窗口,提取多尺度圖像塊特征,但該方法只能用于單一圖像拼接篡改檢測任務。圖像篡改檢測與傳統語義分割任務[4]有較大區分:首先識別目標由廣泛的語義內容轉換為不規則的篡改區域,甚至是移除的區域;其次由于存在邊緣的弱特征變化很難被學習到,對于一些逼真的篡改圖泛化性能較差。目前,研究人員提出的一些基于圖像分割的被動取證方法較少關注內容篡改引起的高低維特征間的差異性,因此本文旨在研究多尺度特征在篡改內容上的信息表達和篡改區域邊緣上的像素差異問題。
本文主要針對復制-粘貼和拼接這兩種經典內容篡改的檢測算法進行改進和研究,經典篡改方式如圖1 所示,其中,第一行圖片為拼接篡改,第二行圖片為復制-粘貼篡改。
針對現有算法邊緣特征提取不全、檢測篡改方式單一、檢測精確度較低、泛化能力低下、時間復雜度過高等問題,本文分析并改進MobileNetV3 網絡[5],進而設計雙流多尺度特征融合架構進行圖像篡改區域檢測。相比傳統單分支分割網絡,本文做出如下改進:
1)引入壓縮注意力機制[6]替代原本MobileNetV3網絡中的SE(Squeeze-and-Excitation)[7]模塊增強全局特征。
2)在MobileNetV3 網絡輸出區塊中加入空洞卷積層來增大感受野,并減少網絡層數來降低時間復雜度。
3)加入基于LSTM 網絡[8]的副分支幫助識別頻域邊緣特征,將多尺度特征與邊緣特征融合,從而更好地識別出類間差異特征(原始類和篡改類)。
最終對掩膜解碼器輸出的圖像進行二值化和傳統去噪得到篡改圖預測掩膜,并與真值掩膜進行比對。本文算法整體流程如圖2 所示。

圖2 輕量級多尺度融合的圖像篡改檢測算法流程Fig.2 Procedure of lightweight multiscale fusion algorithm for image tampering detection
MobileNetV3 網絡采用的深度可分離卷積和線性瓶頸逆殘差結構可以大大減少參數量和運算成本。本文在此基礎上做出改進,將最后區塊的平均池化層移除,并引入3 個連續的空洞卷積層來增大感受野。原始的MobileNetV3 和改進的MobileNetV3結構分別如表1 與表2 所示,其中:OC 為輸出通道數;NL 為激活函數,HS 表示h-swish 激活函數,RE 表示Relu 激活函數;SE 和SA 為不同的注意力機制;AC 表示空洞卷積;采樣率均為2。

表1 原始的MobileNetV3 結構Table 1 Structure of original MobileNetV3

表2 改進的MobileNetV3 結構Table 2 Structure of improved MobileNetV3
傳統下采樣層在增大感受野的同時使特征圖的分辨率降低,從而丟失空間信息,空洞卷積層[9]能在增大感受野的同時,輸出高分辨率的特征圖。改進的MobileNetV3 網絡最終輸出的特征圖分辨率為1/16,為原始的2 倍,且沒有增加額外的參數量和運算成本,這樣有利于檢測大篡改目標又能精確定位篡改區域。另外,引入h-swish 激活函數并減少層數,可在降低計算量的同時提高檢測精度。

其中:Relu6=min(max(0,x),6),x為輸入特征向量。
空洞卷積的內核限制了在分割網絡中學習到的空間特征的形狀,而多尺度特征聚合策略增強了逐像素的預測結果,但圖像的全局信息仍未得到充分利用。因此,本文采用壓縮注意力(SA)機制[6]進行像素級的密集預測。壓縮注意力機制采用的注意力卷積(ACONV)通道并沒有像SE 模塊一樣全部壓縮成1×1 卷積,而是使用平均池化替代原來的全連接層來縮小樣本特征圖,經過上采樣后生成具有特定像素類別的注意力掩膜(Xatt),從而完成篡改與非篡改兩類像素分組,并保留非局部空間信息。SE 和SA兩種注意力機制對比如圖3 所示。

圖3 兩種注意力機制對比Fig.3 Comparison of two attention mechanisms
SA 模塊引入像素組的注意力機制,即在不同空間尺度下屬于同一類像素組的注意力,使網絡可以學習到原圖區域與篡改區域的隱蔽特征。另外,針對類間像素分組去除了空間的限制,將不同尺度下的同類特征分為一組,使得多尺度空間特征和非局部特征經學習后能夠被密集預測。設,Xres為殘差卷積塊,則SE和SA 分別輸出如下特征圖:

其中:Xatt=Upsample(Ft(AvgPool(Xin))),Ft為包含注意力卷積的特征圖函數映射。
篡改區域的定位任務與圖像空間信息密切相關,LSTM 網絡[10]能學習圖像塊之間的相關度,并依賴對數似然距離,學習篡改邊界上的空間差異信息。然而,這些信息在經過平滑、模糊等后處理操作后很難被識別。為了使提取特征包含明顯的異常邊界信息,本文將輸入的原圖分塊后經過一個1×1 卷積層升維,以此增加非線性特性和實現跨通道信息交互,將輸出的16 維特征圖劃分為8×8 的小塊,按照一定序列輸入LSTM 單元來學習特征圖像塊之間的相關性,從而在頻域中捕捉到篡改區域和真實區域之間邊界上的差異特征。
與傳統CNN-LSTM 序列模型不同,此并聯結構分別提取圖像的塊級和像素級特征進行融合訓練,使得通道間的時空信息交互更密切,特征層次更豐富。本文使用3 個堆疊層,每層有64 個神經元,每個神經元產生256 維的特征向量,將其重塑成16×16 的子塊并串聯成二維特征圖,尺寸為16×16×512,最終由LSTM 輸出的特征圖包含了異常邊界信息與篡改像素塊之間的映射關系。
篡改的不規則區域可能存在不同尺度,為了捕獲篡改圖像的全局多尺度信息,本文構建多尺度特征提取模塊。CHEN 等[11]提出在級聯模塊和空間金字塔池化(Spatial Pyramid Pooling,SPP)[12]的框架下,使用空洞卷積來增大濾波器的感受野以融合多尺度的語境信息的方法,即空洞空間卷積池化金字塔(Atrous Spatial Pyramid Pooling,ASPP)模塊。該模塊包含不同采樣率的并行空洞卷積層,針對不同尺度圖像區域進行不同特征映射,從而密集預測多尺度篡改區域。每個單獨的并行層與圖像級特征融合后有效去除了冗余信息,經過解碼器最終輸出預測掩膜圖??斩淳矸e的采樣率(r)是在普通卷積的基礎上做的改進,相鄰權重之間的間隔為r-1,普通卷積的r默認為1,因此空洞卷積的實際大小如下:

其中:k為原始卷積核大?。籯s為等效卷積核尺寸,s為步長。假設輸入特征向量為(Hin,Win,Cin,N),輸出向量為(Hout,Wout,Cout,N),則:

其中:H、W、C分別為特征向量的高度、寬度、通道數;N為batch size;p為padding 參數;d為空洞卷積率。由于復雜的空洞卷積層需要大量的推斷時間,為了達到性能與耗時的平衡,本文通過選擇不同的采樣率r組合進行優化,經過多次實驗對比,最終采用4 層并行空洞卷積層,空洞采樣率組合為6+12+18+24,如表3 所示,其中通道數為1 024。

表3 不同采樣率組合下的性能與時間復雜度Table 3 Performance and time complexity under different sampling rate combinations
經過空洞卷積層提取的特征與全局平均池化后的特征相融合輸入到掩膜解碼器中,最終的預測篡改結果是通過合并來自ASPP 模塊的4 個層次結構的輸出,通過集成多尺度上下文信息從而獲得增強的逐像素預測。
采用Microsoft COCO 與Dresden[13]復制-粘貼和拼接篡改混合數據集作為訓練集,將20 000 張圖像按7∶2∶1 隨機分成訓練集、測試集和驗證集,分類后的圖像同樣按照比例劃分并標注圖像塊的真值掩膜圖,成對輸入網絡進行端到端的雙分支網絡同步訓練。
在訓練過程中,設定初始學習率為0.001,ASPP池化后輸出掩膜尺寸為16×16×1 024,采用Adam 優化器降低網絡損失,并加入學習率衰減使后期迭代不再需要手動調整,每次迭代進行一個小批量(minibatch)梯度下降來更新網絡參數,從而加快網絡收斂且大幅減少運算成本,batch-size 設置為32,迭代輪數在160 次之后網絡完全收斂。實驗平臺在Tensorflow 框架中搭建,實驗對比算法調至最優參數。為提高計算效率,使用4 塊NVIDIA GeForce GTX 1080Ti GPU 進行訓練。為評估本文提出模型的性能,采用精確率(P)、召回率(R)和F1 分數(F)作為評估指標,計算公式如下:

其中:TTP表示檢測結果中正確檢測為篡改區域的像素個數;FFN表示檢測結果中錯誤檢測為非篡改區域的像素個數;FFP表示檢測結果中錯誤檢測為篡改區域的像素個數。復雜度分析主要分為空間占用-參數量、內存占用-訪存量、運行速度-耗時、推理速度-計算量4 個部分,其中計算量采用乘加操作(Madds)次數[14]作為評估指標,對于普通卷積和深度可分離卷積分別計算如下:

其中:k為卷積核大??;Hout×Wout為輸出特征圖 分辨率。
由于本文設計的網絡相對復雜,為了證明每個設計模塊對像素級預測分類結果的重要性,設計消融實驗對比評估指標,在測試集上的實驗結果如表4所示。在表4 中,S 表示單分支,D 表示雙分支,S-MobV3-SE 表示帶SE 模塊的MobileNetV3 原始網絡模型,S-MobV3-SA 表示用SA 模塊替代SE 后的網絡模型,S-MobV3-LSTM 表示用LSTM 與原始網絡模型串聯,D-MobV3-LSTM 表示用LSTM 與原始網絡模型并聯,D-MobV3-SA-ASPP-LSTM 表示本文改進的網絡模型??梢钥闯觯M管SA 模塊對整體網絡性能的提升并不大,但是ASPP 和LSTM 卻是十分必要的,即多尺度模塊和頻域相關性檢測模塊對篡改區域檢測任務的精確率提升影響較大,且雙流特征融合模型比單分支序列模型性能更佳。

表4 消融實驗結果Table 4 Results of ablation experiment
對比分析各類圖像篡改檢測算法并在不同公開數據集上測試像素級分類的準確度,以證明MobileNetV3-LSTM 混合模型的優異性能,選取的對比算法具體為通過隱寫分析中的空域富模型(Spatial Rich Model,SRM)捕捉篡改偽影并與CNN 相結合的特征提取算法Xavier-CNN[15]、傳統離散小波變換與CNN 結合的算法DWT-CNN[16]、ManTra-Net[17]、多尺度分析算法ELA[18],對比結果如表5 所示。由表5 可知,傳統算法與CNN結合的檢測準確度較低,ELA 忽視了邊緣信息的獲取,而ManTra-Net準確度較高,且仍有上升空間,原因是雖然加入了時間維度但卻忽略了多尺度特征的獲取。其中,COVERAGE 數據集[19]主要用于檢測復制-粘貼,將相似目標通過粘貼覆蓋類似對象來隱藏篡改圖像,COLUMBIA 數據集[20]側重未壓縮的圖像拼接篡改檢測,CASIA2 數據集[21]為混合數據集,檢測難度較大。

表5 不同數據集下的像素級分類準確度Table 5 Accuracy of pixel-level classification of different datasets %
圖4為本文算法的部分可視化篡改檢測定位結果,可以看出本文算法對于篡改邊緣痕跡明顯的區域,篡改檢測定位的準確度較高。測試一張256像素×256像素圖像的算法復雜度如表6所示。

圖4 可視化篡改檢測定位結果Fig.4 Visualized results of tampering detection and positioning

表6 算法復雜度對比Table 6 Comparison of algorithm complexity
從表6 可以看出,本文算法的參數量平均縮減了82.3%,Madds 計算量遠小于其他算法,推理速度平均加快了2 倍。為驗證本文算法的泛化性,在realistictampering-dataset[18]等真實篡改數據集上進行測試,并給出部分可視化結果,如圖5 所示。從圖5 可以看出,盡管在真實篡改數據集上本文算法存在漏檢和誤檢的情況,但是邊緣輪廓信息以及多尺度信息基本能被檢測,并且完成了初步的篡改定位,這表明本文算法具有一定的泛化性能。

圖5 真實篡改數據集的可視化結果Fig.5 Visualized results of real tampering dataset
本文設計一種輕量級多尺度融合的圖像篡改檢測算法,利用深度學習方法端到端學習篡改圖像的差異性特征并將其分類為多尺度特征和邊緣特征,同時采用雙分支特征融合架構進行學習輸出預測掩膜,完成圖像篡改定位任務。實驗結果表明,本文算法的精確率、召回率以及F1 分數均取得較好結果,相比ManTra-Net、Xavier-CNN 等算法檢測準確度平均提高9.2 個百分點、參數量縮減82.3%、推理速度加快2 倍,并通過消融實驗證明了每個設計模塊的必要性和貢獻度。由于MobileNetV3-LSTM 混合模型設計較為復雜,后續將在輕量級網絡架構的基礎上,采用裁剪稀疏化等模型壓縮方法,進一步降低圖像篡改檢測算法的時間復雜度及計算成本。