孫 冉,張玉金,張立軍,郭 靜
(上海工程技術大學電子電氣工程學院,上海 201620)
隨著圖像編輯技術的發展,圖像篡改成為了低成本的操作,不同的人群篡改圖片的目的不同,但都會使圖像內容的真實性得不到保障。 已有的研究工作表明,圖像篡改類型主要包括:復制-粘貼篡改[1]、拼接篡改[2]和修復篡改[3]。 其中,復制-粘貼篡改是指在同一幅圖像上,把某一部分區域復制后粘貼到該圖像的另一個位置,從而達到以假亂真的目的;拼接篡改是指將一幅圖像的某個部分復制下來粘貼到其他圖像中以合成一幅偽造圖像;修復篡改是指基于圖像原有信息還原缺失部分或移除原圖某一區域。 目前,主流的圖像篡改檢測方法可以分為主動檢測和被動檢測(盲檢測)[4],二者的主要區別在于是否在圖像中預先嵌入附加信息,如數字水印等。
圖像拼接使用的源圖像一般來自兩幅或多幅不同圖片,人們在對圖像進行篡改時,往往只關注RGB 域的逼真程度,而忽略圖像噪聲域的統計特性變化。 圖像噪聲是指存在于圖像數據中的干擾信息,圖像成像過程中,CCD 和CMOS 傳感器采集數據時一般會受到傳感器材料屬性、工作環境和電路結構等影響而引入各種噪聲[5]。 由于拼接篡改使用的圖像通常來源于不同成像設備,而這些設備的噪聲分布往往具有一定的差異,因此,噪聲的不一致性對圖像拼接篡改的分析與鑒定具有較好的輔助作用。
2012年,以Alex-Net[6]為代表的卷積神經網絡(Convolutional Neural Network,CNN)在特征提取方面表現優異,隨后一些學者開始使用深度學習技術來解決圖像篡改檢測問題。 Yuan 等學者[7]首次將卷積神經網絡用于數字圖像篡改檢測,該方法從RGB 彩色圖像自動學習特征層次表示,并采用特征融合技術得到最終判別特征。 Johnson 等學者[8]提出了全卷積網絡并應用于語義分割任務,實現了像素級別的分類。 Salloum 等學者[9]對此網絡結構稍作修改,提出一種基于邊緣強化的多任務圖像被動取證框架用于像素級別的篡改區域分割,該算法采用VGG16 網絡提取圖像篡改特征,并利用篡改區域掩碼對篡改區域進行修正。 Bondi 等學者[10]結合圖像成像設備屬性的特點,提出利用相機指紋進行圖像篡改檢測和定位,該算法采用神經網絡從圖像塊中提取相機模型特征,對拼接篡改具有良好的檢測效果,但不適用于復制-粘貼的篡改類型。 Bappy 等學者[11]采用了一個混合的CNN-LSTM 模型來捕捉篡改區域和非篡改區域之間的區分特征,LSTM(Long Short Term Memory)[12]是長短期記憶模型,能夠記錄圖像上下文信息,并將LSTM 和CNN 中的卷積層相結合來理解篡改區域和相鄰非篡改區域共享邊界上像素間的空間結構差異。 Zhou 等學者[13]基于Faster R-CNN 網絡[14]提出一種雙流網絡,并對其進行端到端的訓練,以檢測可疑的篡改區域。
在上述雙流網絡中,RGB 流能夠有效地反映圖像篡改特性,噪聲流則能更好地體現不同設備源圖像進行拼接后的差異,故RGB 流和噪聲流對于圖像篡改檢測具有一定的互補性,但由于Faster R-CNN最優性能的限制,該網絡仍存在提升空間。 因此,本文在前人工作基礎上改進了卷積注意力機制(Convolutional Block Attention Module,CBAM)[15]加入到特征提取網絡,并在RPN 模塊引入Soft-NMS算法[16],構建了一種面向圖像篡改檢測的雙流卷積注意力網絡。 改進的卷積注意力機制可有效抑制圖片中冗余信息,達到對有效信息的專注檢測,Soft-NMS 算法可以有效地降低漏檢概率。 本文所提的雙流網絡可以學習更豐富的圖像特征,以提高圖像篡改檢測準確度。
本文所提雙流卷積注意力網絡的整體流程如圖1 所示。 RGB 流將原圖輸入網絡中,通過加入改進卷積注意力機制的特征提取網絡從RGB 圖像中提取特征,捕捉RGB 域中的邊緣異常、顏色反差等篡改痕跡;噪聲流首先利用SRM 模型[17]提取噪聲信息,再通過特征提取網絡分析圖像真實區域和被篡改區域噪聲間的不一致性;最后,將2 個支流中提取到的特征信息在雙線性池化層[18]融合得到最終的特征圖,送入最后的全連接層進行分類和位置精修。

圖1 網絡整體框架Fig. 1 The framework of the network
注意力機制是提升網絡性能的一種方式,在傳統的卷積池化過程中,默認特征圖的每個通道的重要性是相同的,而實際并非如此,SE block[19]即是為了解決該問題而研發的。 一個SE 模塊分為壓縮(Squeeze)和激發(Excitation)兩個步驟,通過對前一個卷積層輸出的特征圖進行全局平均池化操作得到1?1?C的壓縮特征量,再經過2 個全連接層,先對特征壓縮量進行降維、再升維,增加了更多的非線性處理,更好地擬合通道之間復雜的相關性。 最后與原始的特征圖進行矩陣的對應元素相乘得到不同通道權重的特征圖。
CBAM 是輕量級的卷積注意力模型,是對SE block 的一種改進,由通道注意力機制和空間注意力機制級聯而成,CBAM 對特征圖進行操作,使提取到的特征更加精煉。 其中,通道注意力和SE block 類似,只是多了一個并行的全局最大池化的操作,研究認為不同的池化意味著提取到的高層次特征更豐富。 圖2 展示了通道注意力的過程。

圖2 通道注意力Fig. 2 Channel attention
空間注意力關注的是同一通道間不同位置像素的重要性,該模塊的輸入是上一個通道注意力的輸出。 圖3 為空間注意力過程。

圖3 空間注意力Fig. 3 Spatial attention
文獻[20]中實驗表明,SE block 中的2 個全連接層中的降維操作會給通道注意力預測帶來副作用,并且所捕獲到通道之間的依存關系效率不高,研究提出一種有效的通道注意力機制(Efficient Channel Attention,ECA)模塊,在不降維的情況下進行逐通道全局平均池化后,考慮每個通道及其k個近鄰來捕獲本地跨通道交互。 受這種做法的啟發,本文給出了改進的CBAM 注意力模型(Improved CBAM,ICBAM),將2 個全連接層換成大小為k的快速一維卷積生成權值,k值的大小通過學習自適應確定,結構如圖4 所示。 整個過程可以用公式(1)表示:

圖4 改進的卷積注意力模塊Fig. 4 Advanced CBAM block
其中,F為輸入特征;Mc為通道注意力特征;Ms為空間注意力特征;“ ?”表示逐項元素相乘。
在通道注意力模塊,輸入特征F經過并行的平均池化和最大池化得到2 個通道描述子,分別通過卷積核大小為k的一維卷積計算權重,將得到的特征元素逐項求和,經由sigmoid函數得到權重系數Mc,和輸入特征F相乘得到新的特征。 見式(2):
其中,σ表示激活函數,Ek表示一維卷積后的權重。
在空間注意力模塊,輸入是上一個通道注意力的輸出,把帶權重的通道特征送入2 個大小為列通道維度的池化(最大池化和平均池化)得到H?W?2 大小的特征圖,對該特征圖進行卷積操作和sigmoid激活之后,和該模塊帶權重的輸入對應元素相乘得到最后的結果。 研究推得的計算公式為:
其中,σ表示激活函數,f7?7表示7?7 卷積操作。
本文采用通道注意力機制在前、空間注意力機制在后的級聯形式,將卷積注意力機制加到ResNet[21]第一個卷積層和最后一個卷積層之后。ResBlock+ICBAM 結構如圖5 所示。

圖5 Resblock+ICBAM 結構Fig. 5 Resblock with ICBAM
Faster R-CNN 是一種兩階段目標檢測算法,在目標檢測領域取得優異成績,該算法主要由4 個部分組成:特征提取網絡、區域推薦網絡(Region Proposal Network,RPN)、RoI(Region of Interest)池化層、分類和回歸。 其中,特征提取網絡提取圖像的特征圖送到RPN,RPN 用于生成多個建議框,RoI 池化層綜合特征圖和RPN 的建議框信息送入全連接層和softmax層進行分類,同時進行bounding box 回歸得到最終預測的目標位置。 結構流程如圖6 所示。
RGB 流是一個基礎Faster R-CNN 網絡,在特征提取模塊,采用帶卷積注意力機制的ResNet 網絡學習RGB 圖像中篡改的特征。 RGB 流中的RPN(region proposal network)模塊用來推薦可能存在篡改的區域,這一層使用softmax層分類器判斷建議框是正、還是負,RPN 模塊的損失函數如下:
其中,gi表示候選框i可能被篡改的概率;表示候選框i為正樣本標簽;fi和是候選框的四維標簽;Lcls表示RPN 網絡的交叉熵損失;Lreg表示建議邊框的L1回歸損失;Ncls表示RPN 網絡中批量的大??;Nreg表示建議邊框的數量;λ表示用于平衡2 個損失的超參數,本文選取λ=10。
RGB 流對篡改圖像進行檢測和定位精度和準確度有限,尤其是當篡改圖像經過一些后處理操作、如濾波等,導致拼接區域的邊緣不一致信息被隱藏,因此需要引入噪聲流輔助檢測和定位。
噪聲流的設計是為了更關注噪聲而不是圖像的語義信息,富隱寫分析模型(Steganalysis Rich Model,SRM)在圖像隱寫任務中表現優異,該模型主要從相鄰像素中提取局部噪聲。 本文同樣使用SRM 模型來提取噪聲輸入到噪聲流。 在SRM 的30個基礎濾波器中,只使用3 個濾波器也可以達到與30 個濾波器近似的效果,另外的27 個濾波器對噪聲提取效果并沒有明顯的提升,因此本文采用3 個濾波器,濾波器的權重如圖7 所示。

圖7 SRM 濾波器Fig. 7 SRM filter
本文將提取出來的噪聲特征直接輸入到噪聲流,噪聲流的網絡也采用Faster R-CNN,并且和RGB 流共用RoI 池化層的權重。
圖像分別經過RGB 流和噪聲流的特征提取網絡后,需要將2 個特征圖融合后再進行篡改的檢測和定位操作。 雙線性池化主要用于特征融合,對于從同一個樣本提取出來的特征X和特征Y,將2 個特征相乘得到矩陣b,對所有位置進行求和池化操作得到矩陣ξ,最后把矩陣ξ張成一個張量,記為雙線性向量x,對x進行歸一化操作之后,就得到融合后的特征。 為了加速計算和節省內存,本文采用文獻[22] 提出的緊湊雙線性池化。 池化層之后的輸出是:
其中,fRGB是RGB 流的RoI 特征,fN是噪聲流的RoI 特征。
非極大值抑制算法[23]( Non - maximum suppression,NMS)是目標檢測框架中的重要組成部分,主要用于去除冗余的建議框,找到最佳的目標檢測位置。 具體做法是將RPN 推薦的建議框按照置信度得分排序,將得分最高的建議框作為候選框,刪除與該框重疊面積比例大于設定閾值的其他建議框。 為了解決在預設的重疊閾值之內篡改區域檢測不到的問題,本文采用Soft-NMS[16]算法,該算法改良了傳統NMS 算法,對非最大得分的建議框檢測分數進行衰減,降低了目標區域被漏檢的概率。
傳統的NMS 的分數重置函數如下:
其中,si表示置信度分數;M表示當前得分最高的候選框;bi表示建議框;iou(Intersection over Union)表示交并比;Nt表示iou閾值。
在Soft-NMS 算法中,建議框bi與候選框M重疊區域比例越大,出現漏檢的可能性就越高,相應的分數衰減應該更嚴重,于是Soft-NMS 中的分數衰減函數設計如下:
當2 個建議框的iou大于設定的閾值時,si的值就會相應減小,降低了因徹底移除而造成漏檢的概率,從而達到檢測精度的提升。
圖像經過特征提取網絡的全連接層和softmax層之后得到了RoI 區域,還需要對這些RoI 區域做分類和邊框回歸。 總的損失函數如下:
其中,Ltotal表示總損失;LRPN表示RPN 網絡中的RPN 損失;Ltamper表示基于雙線性池化特征的交叉熵分類損失;Lbbox表示bounding box 回歸損失;fRGB和fN是來自RGB 和噪聲流的RoI 特征。
網絡的訓練是端到端的,輸入的圖像和提取的噪聲特征的寬度調整為600 像素。 2 個支流RoI 池化后的特征維度均為7?7?1 024。 雙線性池化之后的特征尺寸為16 384。 訓練過程中RPN 推薦的batch size是64,測試時設為300。 算法一共訓練110 000 次,初始學習率設置為0.001,從第40 000步開始減小為0.000 1,Soft-NMS 的閾值設為0.2。
為了驗證雙流卷積注意力網絡算法的有效性,本文在CASIA[24-25]、COVER[26]和Columbia[27]三個主流圖像數據集上評估算法的性能。 CASIA 數據集提供了多種物體的拼接和復制-粘貼操作,該數據集有CASIA 1.0 和CASIA 2.0 兩個版本,其中CASIA 1.0 包含800 張真實圖像和921 張篡改圖像,CASIA 2.0 包含7 491 張真實圖像和5 123 張篡改圖像。COVER 數據集是較小的復制-粘貼數據集,包含真實圖像和篡改圖像各100 張。 Columbia 數據集是未壓縮的拼接數據集,包含180 張拼接篡改圖像,183張真實圖像。 由于現有標準數據集的圖片數量仍然較少,尚不能滿足深度學習的訓練過程,因此,本文在文獻[13]合成的數據集進行預訓練,Zhou 等學者在COCO 數據集[28]中復制圖像內容后粘貼到其他圖像上,復制的依據是圖像的分割標注信息,真實圖像和篡改圖像各42 000 張。
本文使用F1分數和AUC值來評估所提出的雙流卷積注意力網絡的性能。F1分數是將精確率(P) 和召回率(R)結合的一種度量,精確率是指正確分類的正樣本個數占分類器判定為正樣本的樣本個數的比例,見式(9):
召回率指分類正確的正樣本個數占真正的正樣本個數的比例,見式(10):
F1分數是精確率和召回率的調和平均值,見式(11):
其中,TP為正確檢測到的篡改像素數,FP為錯誤檢測到的篡改像素數,FN為錯誤檢測到的未篡改像素數。
F1分數越高,說明模型越穩健。AUC值是ROC曲線下的面積值,AUC值的大小反映模型泛化能力,AUC值越大,模型泛化能力越強。
本文將合成數據集的90%用來預訓練,余下的用來測試。 訓練的過程是端到端的,特征提取網絡分別對比使用了CBAM - ResNet101 和改進的CBAM-ResNet101。 本文對比了文獻[13]的預訓練結果,見表1,這里使用平均精度(Average Precision,AP) 進行評估,結果表明精度有了明顯提升。 預訓練之后,網絡需要在公共數據集上做進一步訓練,表2 給出了訓練集和測試集的劃分。

表1 合成數據集平均精度比較Tab. 1 Comparison of the average accuracy of synthetic datasets

表2 訓練集和測試集的劃分Tab. 2 The division of training and testing sets
表1 中,RGB Net 是一個單獨的RGB 網絡,Noise Net 是單獨的噪聲流網絡,RGB-N 是雙流網絡,RGB-N+CBAM 為加入卷積注意力的算法,最后一行為是本文改進的算法。 由表1 中數據可知,單一的RGB 流或噪聲流提取的信息有限,雙流網絡綜合RGB 流和噪聲流的特征信息后,平均精度有了明顯提升。 在雙流網絡中引入卷積注意力機制后,提取到的特征圖包含更豐富的篡改特征信息,經過Soft-NMS 算法降低漏檢的概率后,平均精度有所提高。 改進的注意力機制避免了降維帶來的副作用,更有效地利用了不同通道間的依賴關系,進一步提升了網絡的特征提取能力。
現有圖像篡改取證方法分為傳統算法和基于深度學習的算法,本文與以下方法進行對比分析。
(1)ELA[29]:識別圖像中處于不同壓縮因子的區域的算法。 對于JPEG 圖像,整個圖像應處于大致相同水平,如果某個區域壓縮因子明顯不同,則表示可能被篡改。
(2)CFA1[30]:基于CFA 模型的評估算法。 利用相鄰像素來估算彩色濾波器陣列并推理出篡改區域。
(3)MFCN[9]:基于邊緣強化的多任務圖像被動取證框架。
(4)RGB-N[13]:融合噪聲信息的雙流神經網絡算法。
(5)RGB+ELA[31]:基于雙流Faster R-CNN 的像素級圖像拼接篡改定位算法。
本文采用F1分數和AUC值對比上述5 種算法,結果見表3、表4。 表3、表4 的數據表明,基于深度學習的算法優于傳統特征提取算法,原因是ELA 和CFA1 算法都只關注單一篡改特征,并且不能包含全部篡改信息。 在深度學習算法中,本文所提算法表現優于MFCN,在CASIA 和COVER 數據集表現優于RGB-N。 MFCN 性能較差的原因是采用小尺寸卷積核和上采樣操作導致底層特征損失,因此對小區域篡改不敏感。 RGB-N 采用大小不同的錨框(anchor)進行定位,較小區域的篡改也可以被檢測到,本文在特征提取模塊引入改進的CBAM 注意力機制,并在預測時采用Soft-NMS 降低漏檢概率,檢測結果在3 個數據集上都有所提升。 文獻[31]通過將SRM 濾波器替換為錯誤等級分析算法使提取到的噪聲信息包含更多篡改信息,并添加一個預測分支做到了像素級分類。 相比文獻[31],本文算法在Columbia 數據集上略優,由于CASIA 數據集拼接區域較為復雜,并且錯誤等級分析對篡改特征的提取效果優于SRM,故本文算法性能略低于文獻[31]算法。 因為COVER 數據集是復制粘貼數據集,所以來自噪聲流提供的特征信息幾乎失效,因此在該數據集表現較差。

表3 3 個公共數據集F1 分數對比Tab. 3 Comparison of F1 scores from three public datasets

表4 3 個公共數據集AUC 值對比Tab. 4 Comparison of AUC values for three public datasets
本文算法篡改檢測定位效果如圖8 所示。 圖8中,(a)表示拼接篡改圖像,(b)表示ground-truth,(c)表示文獻[31]算法檢測定位結果,(d)表示RGBN+CBAM 定位結果,(e)表示RGB-N+ICBAM 定位結果。 圖像均來自于CASIA 1.0 數據集。 可視化結果顯示,對于拼接邊緣較為簡單且篡改部分相對較小的區域如第3 列和第6 列,文獻[31]所提算法和本文算法都能給出較為精確的定位結果,而對于拼接邊緣較為復雜、且篡改部分相對較大的區域,文獻[13]給出的可視化結果表現欠佳,也會存在未檢測到的區域和檢測錯誤的區域,本文算法則給出了篡改區域的矩形范圍。 改進后的注意力通過有效的通道注意力使提取到的篡改痕跡更加豐富,體現在可視化結果中表現為定位的矩形區域更加接近Ground Truth。

圖8 拼接篡改定位可視化Fig. 8 Visualization of image splicing detection
為了驗證本文算法的魯棒性,在CASIA1.0 數據庫上利用質量因子QF =70 和QF =50 對圖像進行JPEG 壓縮,表5 給出了本文算法、文獻[13]和文獻[31]所提算法的F1分數對比。 結果顯示,在QF =70 時,RGB-N 性能下降了23.0%,文獻[31]所提算法性能下降了27.9%,在QF =50 時,RGB-N 性能下降了26.3%,文獻[31]所提算法性能下降了31.7%,而本文所提算法通過在通道和空間維度對篡改痕跡進行更有效的特征提取,在QF =70 和QF =50 的情況下對比未壓縮時分別下降17.7%和25.6%。 從表5 中可以進一步看出,除了在未壓縮時F1分數略低于文獻[31]的算法,本文所提算法在2 種不同的質量因子情況下性能均優于現有算法,說明本文算法能夠更好地抵抗JPEG 壓縮攻擊。

表5 不同壓縮因子下算法的F1 分數Tab. 5 The F1 score of the algorithm under different compression factors
本文提出了一種雙流卷積注意力網絡對圖像篡改區域進行檢測和定位。 首先,改進的卷積注意力機制能夠抑制圖片中無效信息,使提取到的特征更好地刻畫偽造特性,雙流網絡加入噪聲域信息可以學習更多豐富的特征;其次,通過引入Soft-NMS 算法降低了偽造區域漏檢的概率,提升了拼接篡改的檢測精度。實驗結果表明,本文算法的檢測性能優于一些現有算法,且對JPEG 壓縮也具有較好的魯棒性。 本文算法尚不能做到像素級定位,未來的工作將考慮改進當前網絡,進一步精準定位篡改區域。