天天看點

論文筆記(圖像篡改檢測_CVPR2018)(一)——Learning Rich Features for Image Manipulation Detection

論文連結:http://openaccess.thecvf.com/content_cvpr_2018/CameraReady/2813.pdf

論文主要提出了一種雙流的Faster R-CNN網絡,給定manipulated image,對其進行端到端的訓練,以便檢測被篡改的區域。雙流分别為RGB stream、noise stream。其中,RGB stream主要目的是從RGB圖像輸入中提取特征,進而發現像強烈對比差異,非自然的篡改邊界等之類的tampering artifacts。Noise stream 主要利用噪聲特征去發現在真實區域和篡改區域之間的噪聲不一緻性,噪聲特征是從steganalysis rich model filter layer中提取的。之後,通過bilinear pooling layer融合兩個流的特征,以便進一步結合這兩種模态的空間資訊。

1.Introduce

常見的篡改技術有以下三類:

Image splicing:從一個真實圖像複制部分區域然後粘貼它們到其他圖檔。

Copy-move:複試和粘貼部分區域在相同的圖像内。

Remove:從一張圖像中删除部分區域,然後修複它。

與目前的object detection不同,用于image manipulation dection的網絡旨在僅檢測tampered regions。論文中提出的方法是關于如何通過利用RGB image content和image noise feature使object detection網絡進行圖像操作檢測。

論文中提出的雙流操作檢測網絡不僅模拟visual tampering artifacts,也捕獲局部噪聲特征中的不一緻性。

整體網絡框圖如下:

論文筆記(圖像篡改檢測_CVPR2018)(一)——Learning Rich Features for Image Manipulation Detection

在這個雙流網絡中,采用Faster R-CNN并且進行end-to-end訓練。深度學習檢測模型如Faster R-CNN在一些尺度上檢測語義對象有較好的性能。

RPN(Region Proposal Network)是Faster R-CNN的一部分,用于提出可能包含感興趣對象的圖像區域,并且使其适用于圖像操作檢測。為了區分篡改區域,論文利用了從RGB通道提取的特征去捕獲在篡改邊界的視覺不一緻性、篡改區域和真實區域的對比差異等線索。

第二個流分析圖像中的局部噪聲特征。這麼做的主要原因是:當一個物體從一張圖像中移除然後粘貼它到另一張圖像時,在原圖像和目标圖像之間的噪聲特征可能不相比對。在使用者随後将篡改的圖像進行壓縮後可能會部分掩蓋這個差異。為了利用這些特征,論文作者将RGB圖像轉變到noise domain和使用局部噪聲特征作為第二個流的輸入。在文中采用的是SRM(steganalysis rich model) filter kernels生成噪聲特征。

RGB和noise streams共享相同的region proposal(來自僅使用RGB特征作為輸入的RPN網絡)。然後RoI pooling layer從RGB和noise streams選擇spatial特征。通過RGB RoI特征生成預測的邊界框。然後通過bilinear pooling組合兩個流的spatial co-occurrence features。最後,通過一個全連接配接層和一個softmax層傳遞結果,網絡産生預測标簽并且判斷預測區域是否被篡改。

2.Method

使用了一個同時執行manipulation classification和bounding box regression的多任務架構。在RGB流中使用RGB圖像,在noise流中使用SRM圖像。在全連接配接層之前,通過bilinear pooling融合兩個流用于操作分類。RPN使用RGB流去定位篡改區域。

2.1 RGB Stream

RGB stream是單獨的Faster R-CNN網絡,用于bounding box regression和manipulation classification。使用ResNet 101從輸入的RGB圖像學習特征。

ResNet最後的卷積層輸出的特征被用于操作分類。

RPN網絡使用這些特征提出用于bounding box regression的RoI。

RPN網絡的loss是:

論文筆記(圖像篡改檢測_CVPR2018)(一)——Learning Rich Features for Image Manipulation Detection

g_i表示錨i在一個mini batch中是潛在的被篡改區域的機率,g_i*表是對于錨i的ground-truth是positive。f_i和f_i*分别是錨i和ground-truth的四維邊界框坐标。L_cls表示RPN網絡的交叉熵,L_reg表示用于平滑提議邊界框回歸的L1損失。N_cls表示在RPN中mini-batch的size,L_reg是anchor location的數目。λ用來平衡這個兩個損失。

傳統的使用RPN的對象檢測傾向于尋找可能是對象的區域,論文中的RPN網絡尋找可能被篡改的區域。

2.2 Noise Stream

篡改圖像可能經過一些後期處理進而隐藏拼接邊界、減少對比差異。此時,使用局部噪聲分布可以提供額外的證據。

Noise Stream更關注noise,論文中使用SRM filter從RGB圖像提取局部噪聲特征作為noise stream的輸入。

論文中,噪聲是通過像素值與僅通過内插相鄰像素的值産生的像素值的估計之間的殘差來模組化。從30個filter開始,以及濾波後鄰近輸出的最大最小等非線性操作,SRM聚集了基本的噪聲特征。SRM量化并截斷這些filter的輸出和提取鄰近的共現資訊作為最後的features。論文作者發現使用30個kernels不如使用3個kernels效果好。而且,直接将其送入到預訓練的網絡中。

Noise stream中SRM filterlayer的kernel size是553,SRM layer的輸出通道是3。

Noise stream和RGB Stream共享相同的RoI pooling。由于對于RPN網絡,RGB特征比noise特征執行效果好,是以僅使用RGB通道進行bounding box regression。

2.3 bilinear pooling

為了節省記憶體和加快訓練速度,論文中使用compact bilinear pooling對RGB和noise兩個流的結果進行融合,用于manipulation detection。

在全連接配接層和softmax層之後,可以得到RoI region的預測分類。

在這裡,使用交叉熵損失用于manipulation classification,平滑L1損失用于bounding box regression。總體loss為:

論文筆記(圖像篡改檢測_CVPR2018)(一)——Learning Rich Features for Image Manipulation Detection

L_RPN是RPN網絡中的loss。L_tamper表示最後的交叉熵分類損失;L_bbox表示最後的邊界框回歸損失;f_RGB和f_N表示來自RGB和noise stream的RoI features。

3.實驗

由于沒有充足的資料用于訓練,實驗時首先在合成的資料集上進行預訓練。

合成資料集是用過使用COCO中的圖像和标注生成的。使用分割标注從COCO中随機選取objects,然後粘貼到其他圖像中。訓練集和測試集分别是90%、10%。

為了使包含一些authentic region是的RoI更好比較,在訓練期間預設将邊界框擴大20像素,以便RGB和噪聲流都能夠了解篡改區域和真實區域之間的不一緻性。

實驗時使用的評價名額時F1 score和AUC。

在NIST16、CASIA、Columbia、COVER四個資料集上進行了實驗,并且與一些baseline model(ELA、NOI1、CFA1、MFCN、J-LSTM)進行了比較。

論文筆記(圖像篡改檢測_CVPR2018)(一)——Learning Rich Features for Image Manipulation Detection

同時對不同的資料增強進行了比較,發現image flipping有利于性能的提升,像JPEG壓縮和noise有較小的幫助。

論文筆記(圖像篡改檢測_CVPR2018)(一)——Learning Rich Features for Image Manipulation Detection

也證明了論文提出的方法對JPEG和resize攻擊具有魯棒性。

論文筆記(圖像篡改檢測_CVPR2018)(一)——Learning Rich Features for Image Manipulation Detection

同時,在NIST16資料集上探索操縱技術檢測并分析所有三種篡改技術的檢測性能。

論文筆記(圖像篡改檢測_CVPR2018)(一)——Learning Rich Features for Image Manipulation Detection

繼續閱讀