論文解讀-TransForensics: Image Forgery Localization with Dense Self-Attention
論文鏈接:TransForensics: Image Forgery Localization with Dense Self-Attention
翻譯水平有限,建議看原文。
摘要
目前,先進的圖像編輯工具和技術技能可以更真實地產生被篡改的圖像,這可以很容易地逃避圖像取證系統,使圖像的真實性驗證更加困難。為了解決這一具有挑戰性的問題,我們引入了轉換取證,一種受Transformer啟發的新的圖像偽造定位方法。在我們的框架中的兩個主要組成部分是密集的自注意編碼器和密集的校正模塊。前者是建模全局上下文和所有成對交互,后者用於提高隱藏層的透明度和校正不同分支的輸出。
與以往的傳統學習方法和深度學習方法相比,轉換取證不僅可以捕獲判別表示,獲得高質量的掩碼預測,而且不受篡改類型和補丁序列順序的限制。通過在主要基准上進行實驗,我們證明了轉換取證的性能大大優於最先進的方法。
1 Introduction
- 與語義對象分割方法[33,43]對所有有意義的對象區域進行預測不同,圖像取證只對篡改位置進行預測。
- Bappy等人的工作。[3]還證明了語義分割方法在圖像篡改檢測方面表現不佳。
圖像取證的關鍵是描述不同的緩和偽影,這些偽影通常隱藏在圖像的微小細節中。
之前的方法如下所示,其從不可見的痕跡中學習局部不一致性,但它們通常只適用於特定的操作類型。
- error level analysis (ELA)
- discrete cosine transform (DCT)
- steganalysis rich model (SRM)
事實上,圖像中篡改(更平滑)和真實區域(更清晰)的邊界形成是不同的。
提出一個空間注意網絡用於圖像篡改定位。建模一個圖像塊(包括豐富的統計特征)之間的所有成對交互,同時保持了全局結構,減輕了排序技術和操作類型的限制。(model all pairwise interactions between patches of an image)
1.1 框架概述
在本文中,我們的系統的目標是預測二值掩模的圖像偽造定位。
-
首先,我們使用一個完全卷積網絡(FCN)作為特征提取的骨干。
-
然后,利用自注意編碼器模擬不同尺度特征圖中點之間豐富的交互。
-
為了提高性能,在我們的網絡中使用了密集的校正模塊,這有助於從早期的層學習更有區別的表示,並執行結果校正。
1.2 主要貢獻
這項工作的主要貢獻如下:
- 首先,我們提出了一種新的圖像偽造定位方法,稱為TransForensics。據我們所知,這是在圖像取證中第一次嘗試對所有的成對關系進行建模,同時通過自注意機制保持圖像塊之間的空間結構。
- 其次,我們引入了一個密集的校正架構,它增加了對隱藏層的直接監督,並通過乘法來校正來自不同分支的輸出。實驗結果表明,該方法大大優於SOTA方法。
2 相關工作
2.1 圖像取證
- SRM[15,41,42]使用局部噪聲殘差來捕獲被篡改區域和真實區域之間的不一致性。例如,弗里德里奇等人。[15]提出了階梯分析器來構建豐富的噪聲成分模型,以捕獲圖像中像素之間的大量定量關系。
- 深度學習方法的缺點是其性能在很大程度上依賴於補丁排序技術(patch ordering techniques)。在此基礎上,我們提出了一種新的具有自注意機制的空間注意網絡來建模不同尺度下圖像塊之間豐富的相互作用。
2.2 自注意力機制
在圖像取證領域,目前試圖引入注意力機制的研究還比較少。
- 在[17]中,設計了一個空間金字塔注意網絡(具有不同的擴張距離),其中提取了RGB、Bayer[6]和SRM[15,41]特征。
- [18]使用GAN中的雙階(通道)注意模塊[11],它只適用於特定的操作類型。
- 在這項工作中,我們試圖利用自注意力機制來建模僅基於RGB特征的“補丁”之間的關系,以利用不同篡改工件的豐富統計特征。
2.3 深度監督
深度監督旨在加強對隱藏層的直接監督。深度監督網絡(DSN)[21]使隱層的學習過程透明,提高了分類性能,有效避免了梯度的爆炸和消失。
- 基於此,Zhou等人[43]提出了用於醫學圖像分割的UNet++。該分割網絡有一個關鍵的相似性:使用跳躍連接將解碼器的語義特征圖與編碼器的淺層特征圖結合起來,這有助於提高分割性能。
- 受此啟發,我們提出了一種密集的校正架構,用於捕獲粗粒度(高級、語義)和細粒度(低級、統計)的預測,並通過乘法糾正來自不同分支的細節。該架構使網絡修剪和產生更好的結果。
3 思路方法
我們設計了一個網絡來捕獲識別特征,以便在潛在的偽造圖像中尋找可疑區域。以前的工作只是使用手工制作的排序技術來建模補丁關系,這不能保留空間信息。
- 為了解決這個問題,受Transformer的啟發,我們建議使用自注意力機制來學習隱藏在圖像微小細節中的不可見的篡改痕跡,這是圖像取證的第一次嘗試。此外,我們提出了一個密集的校正架構來重新校正輸出,產生了優秀的性能改進。
3.1 自注意力機制模型
自注意力機制可用於建模圖像中像素或補丁之間的豐富的交互,為視覺任務提供了更全面和有用的信息。在本工作中,我們使用了圖像取證中的自注意編碼器,其動機是:
- 首先,不同操作類型產生的篡改偽影是不同的,它們通常隱藏在圖像的細節中;
- 其次,用手工設計的圖像塊序列順序建模圖像塊關系不能保持圖像塊的空間信息。如果我們將圖像“分割”成H×W補丁,然后將它們輸入自注意編碼器,就可以提取出補丁之間的所有成對關系。這是使用自注意編碼器進行篡改定位的理論基礎。
特征圖中的每個點都相當於輸入圖像中對應的補丁,在深度學習中稱為各自的域(見圖3)。因此,通過建模特征圖中點之間的關系,可以提取出圖像塊之間的區分特征。
圖3說明:特征映射與輸入圖像之間的對應關系。特征圖中各點之間的相互作用等價於數字圖像中各圖像塊之間的關系。
在本文中,我們沒有將整個圖像分割成一系列的補丁。我們使用ResNet50[16]作為骨干(包括5個階段)進行特征提取,然后我們將最后四個階段的輸出輸入自我注意編碼器,每個編碼器負責在不同的尺度上學習補丁關系。
在這里,我們使用一個標准的transformer encoder結構來學習注意力映射,細節如下描述。
- 首先,使用1×1卷積層將階段輸出的信道尺寸從C降低到d,其中C∈[256,512,1024,2048]和d=256。
- 其次,為了保持圖像塊的空間位置,在它們傳遞到transformer encoder之前,我們用圖3中的正弦位置編碼[34]來補充這些特征。
- 第三,一個transformer encoder有6個編碼器層,每個編碼器層由一個多頭自注意模塊和一個前饋網絡(FFN)組成。前饋維度為2048,訓練期間的 dropout率為0.1。這樣,我們就可以捕獲被篡改區域和真實區域之間的邊界位置上的差異。
3.2 對網絡修剪的深度監督
一般來說,高度區分的特征將產生強大的性能。
- 如果隱藏層的輸出可以直接用於最終的分類,那么網絡將同時獲得語義、粗粒度和低級、細粒度的預測,這有助於最終的性能。
在本工作中,我們考慮在篡改定位系統中添加深度監督。如圖2所示,網絡有四個分支,每個輸出分別用於計算定位損失。
該結構的優點是:
- 為特征融合提供更具表現力的特征(語義和淺層);
- 通過網絡剪枝獲得更高效的體系結構。
在這項工作中的深度監督使模型能夠從所有的本地化分支中選擇一個合適的模式,從而決定網絡修剪的程度和速度增益。
圖4說明:網絡修剪。在訓練階段中,比較 \(\hat{\mathbf{y}}_{i}(i=2, \ldots, 5)\) 的結果,選擇最優結果。
3.3 用於預測校正的特征融合
完全卷積網絡(FCN)是由謝爾哈默等人提出的。[33]用於語義分割,其中上采樣的特征與從編碼器中跳過的特征進行求和。實驗表明,該方法能有效地恢復模型輸出時的全空間分辨率。
在這項工作中,我們帶來了一個類似的,但新的特征融合策略的系統。我們沒有選擇使用這些特征,而是使用乘法操作(見圖2和圖5),結果表明,這是一個更好的選擇(見Tab 6)。
我們把來自當前塊的上采樣輸出與來自相鄰的前一個塊的輸出進行融合,其中它們具有相同的大小。如圖5所示,B表示高級別圖像塊的輸出,A表示相鄰低級別塊的輸出,C是A和B通過乘法融合的結果。
具體來說,在特征融合模塊中,使用1×1卷積來改變不同分支的特征維數,上采樣操作加上閾值為0.5的s型函數產生融合權值。最終的mask預測是通過3×3卷積與步幅1和填充來計算的。
圖5說明:功能融合策略。A和B是兩個相鄰塊的輸出,C是特征通過乘法融合的結果。B是語義預測,可以幫助糾正A。
圖2說明:圖像偽造定位網絡的體系結構。整個圖像是輸入信號。
- 首先,利用FCN骨干技術提取判別特征。
- 然后,將四個塊(C2、C3、C4和C5)的特征結合位置編碼分別輸入到自注意編碼器中,捕獲輸入圖像中“補丁”之間豐富的豐富交互。
- 最后,通過乘法的特征融合策略對mask預測進行了修正。
3.4 損失函數
在這項工作中,我們使用DICE loss[29]和 Focal loss[24]來監督每個mask的預測:
其中,y和 \(\hat{y}\) 為GT mask和預測的mask,k表示mask的像素點。
Todo:待補充
4 實驗
4.1 數據集
在這項工作中,我們選擇了三個常見的圖像取證數據集:CASIA[13]、COVERAGE[37]和IMD2020[30]。詳情如下:
- CASIA數據集包含了splicing和 copy-move的圖像。它提供了被篡改區域的GT mask。該數據集包括CASIA v1.0約921張篡改圖像和CASIA v2.0約5123張篡改圖像。
- COVERAGE是一個為 copy-move而設計的相對較小的數據集。它提供了100張操作圖像和相應的GT mask。
- IMD2020是一個“真實”圖像篡改數據集,從互聯網上收集。其具有明顯數字操作痕跡的圖像,並手動創建定位被篡改區域的GT mask。
在數據准備過程中,我們將整個數據集分成三個子集,訓練、驗證和測試的比例為8:1:1。注意這些子集是隨機選擇的。
4.2 Details
該網絡包含三個主要組成部分:
- 用於特征提取的FCN主干;
- 用於不同尺度補丁間關系建模的密集自注意編碼器
- 用於進一步性能優化的密集校正模塊。
具體來說,我們使用ResNet-50作為骨干。我們用Adam將初始學習速率設置為1e-4來訓練網絡。我們將輸入圖像的大小調整為512×512,並使用隨機水平翻轉作為唯一的數據增強方法。為了訓練模型,我們使用Pytorch1.6.0來定義定位網絡,並利用多gpu設置。我們將批處理大小設置為2,並對不同數據集的兩個NVIDIATeslaV100gpu進行超過50個epoch的訓練模型。我們在訓練中選擇[0.1、0.2、0.3、0.4]內的權重衰減。
4.3 結果
4.4 消融實驗
我們提供了一個詳細的研究來說明選擇特征融合和網絡剪枝如何影響最終的性能。
結構分析
自注意機制是建模集合元素之間豐富的交互的關鍵組成部分,其中位置編碼是非常重要的。如上表所示:
- 只有在同時使用自我注意和位置編碼時,性能才會得到顯著提高。
- 密集校正提高了隱層的透明度,更有效地使損失誤差最小化,並根據不同注意圖之間的語義依賴性重新校正了掩模預測。密集的校正是有助於最終的性能的。
網絡修剪
密集的校正使網絡修剪成為可能。如圖4所示,我們可以比較 \(\hat{\mathbf{y}}_{i}(i=2, \ldots, 5)\) 在訓練階段的結果,並選擇最優結果,最終結果在測試階段中產生。
如上表4所示:低層次特征比深度特征對最終定位性能的貢獻更大,這意味着我們的模型可以學習到通常隱藏在圖像微小細節中的不可見痕跡。我們可以看到C3分支(即\(\hat{\mathbf{y}}_{3}\) )在性能和相對耗時方面都優於其他分支。
特征融合類型
如下表6所示,特征融合有兩種類型:乘法和加法。在我們的實驗中,我們同時嘗試了加法和乘法,實驗結果表明,該乘法類型更適合於篡改定位任務,這與預期一致。
5 結論
我們提出了圖像取證,它使用密集的自注意編碼器來建模全局上下文和在不同規模上的圖像塊之間的所有成對交互。這是第一個引入transformers的自注意機制來定位被篡改區域的工作。
此外,密集校正模塊通過乘法重新糾正掩模預測,以獲得更好的結果。我們演示了該系統檢測篡改痕跡的能力,並實現了性能和耗時之間的平衡。實驗表明,該系統可以為圖像偽造提供一個強大的模型。我們的方法可以作為一個可靠但簡單的圖像取證基線,也可以作為防御數據中毒攻擊來保護我們的學習系統。在未來的工作中,密集的自注意架構將是其他任務的一種新方法,如目標檢測和語義分割。