篡改圖像檢測發展-深度學習篇
要了解圖像篡改檢測,我們首先需要了解何謂“圖像篡改”。篡改在英文文獻中常用manipulation、tamper、forgery這三個詞表達。廣義上的圖像篡改指的是對原始圖像做了改動的操作,這種改動操可以是:圖像格式轉換、高斯模糊、接縫剪裁(seam carving)、利用GAN網絡改動等等。
目前對於圖像篡改的分類還處於較混亂的狀態,類別五花八門,分類標准不統一,各個類別也有包含、相交的關系。隨着新的圖像處理技術的出現,圖像篡改方法也會增加。在MFC競賽(Media Forensics Challenge)中,對於圖像篡改的類別划分就有70余種,並且每年的類別划分也有變動。
盡管圖像篡改類別繁雜,但可以粗略划分為manipulation和tamper兩類(按英文直譯,manipulation是操作的意思,此類篡改有點類似僅對圖像做非內容性的處理,而tamper按直譯,則是對圖像做了內容性的處理):
-
Manipulation:中值濾波處理(Median Filtering)、高斯模糊處理(Gaussian Blurring)、添加高斯白噪聲(Additive White Gaussian Noise)、重采樣(Resampling)、JPEG 壓縮(JPEG Compression)等。
-
Tamper :刪除(Removal)、添加(Adding)、復制(Copy)、截取(Splicing)等。
篡改檢測問題實際上就是要檢測出圖像當中做過改動的區域來。近幾年,學術上更趨於集中研究splicing、copy-move、removal這三個類型圖像篡改的檢測問題。

-
A deep learning approach to detection of splicing and copy-move forgeries in images [3]
這篇論文是2016年發表在WIFS,關於深度學習模型數字圖像篡改的開山之作。

文章提出了一種基於深度學習技術的偽造圖像偽造檢測方法,該方法包含10層卷積層,其中第一層為SRM富模型(spatial rich model)[4] 預處理層,有助於加快網絡收斂;輸出使用SVM二分類;中間層卷積核多為3x3。
早年算法,整體來看比較中規中矩,只能做到檢測是否篡改(Detection ),無法做到定位(Localization ),同時使用的是CASIA v1.0、CASIA v2.0、Columbia gray DVMM 這三個數據庫完成實驗。
-
Detection and Localization of Image Forgeries using Resampling Features and Deep Learning [5]
這篇文章是2017年發表在CVPR Workshop,使用重采樣算法實現篡改檢測的算法。

算法主要包含2個步驟,第一,通過重疊的圖像塊計算重采樣隨機特征;第二,使用深度學習分類器和高斯條件隨機場模型來創建熱力圖,從而定位篡改區域。算法先將圖像塊重疊堆放,然后使用CNN特診提取,接着建立統計學模型,根據統計直方分布,分析篡改小塊的位置。

上圖顯示了數字圖像成像過程,其中成像過程需要經歷:模擬信號處理、數字信號處理,其中模擬信號處理包含鏡頭偏移、CFA插值等;數字信號處理包含了去馬賽克、伽馬矯正、重采樣等等,而不同的圖像的重采樣程度是不同的,經過篡改必然導致篡改部位重采樣率的差異,文章的算法正是源於這個原理。
-
Tampering Detection and Localization through Clustering of Camera-Based CNN Features[6]
這篇文章也是發表在CVPR Workshop的基於CNN篡改檢測、定位的文章。

文章提出了一種圖像篡改檢測和定位算法,利用不同相機模型留在圖像上的特征足跡,最直接的原理即是檢測圖像的拍攝相機來源,由於不同型號相機拍攝的照片所攜帶的模式噪聲不一樣,以此鑒定圖像是否篡改、篡改定位。
這篇文章是作者 Bondi 在2016年發表[7]的工作的延續,[7]通過建立CNN+SVM模型,鑒定數字圖像拍攝來源,但是存在一定的缺陷,即是相同型號相機生成的圖像篡改無法被檢測出來。算法的基本模型考慮到了兩層因數:第一,CNN檢測到的部位是否被篡改(即f(i, j));第二,我們知道紋理度低的部位的篡改明顯存在誤差,因此,作者根據紋理度計算公式對每個圖像小塊計算置信度因子(即Q(i, j)),其中Q(i, j)定義為:

最后將兩個計算結果合成后得到篡改部位的置信度熱力圖,1.CNN輸出f做K-means聚類;2.對檢測散點圖做密度去噪(檢測最小篡改粒度為128x128);3.並使用紋理度去噪(不計算紋理度低的檢測結果);4.最終使用平均篡改率(篡改點÷所有測點)閾值判定輸入圖像是否為篡改圖像,得到最終的結果:

算法使用Dresden圖像庫,該數據集由來自26種不同相機模型的超過16k圖像組成,描繪了總共83個場景,關於篡改圖像如何制作,本文作者沒有解釋。這篇文章做得相對完整,從圖像切片(patches)->CNN特征提取/Q紋理度換算置信度->整合塊熱力圖->除噪,每個步驟都很扎實。
-
Deep Matching and Validation Network: An End-to-End Solution to Constrained Image Splicing Localization and Detection [9]
文章發表在2017 ACM on Multimedia Conference,作者代碼在Gitlab: https://gitlab.com/rex-yue-wu/Deep-Matching-Validation-Network

文章考慮的主要問題是限制性的圖像篡改檢測問題(constrained image splicing detection (CISD) problem),即問題提供查詢圖像Q和潛在篡改來源圖像P,需要從圖像Q中檢測是否有物體來源於圖像P,問題更傾向於Copy-Move篡改模型。文章提出一種深度匹配網絡(Deep Matching and Verification Network (DMVN)),擴展了底層拼接問題的公式,以考慮兩個輸入圖像,一個查詢圖像Q和一個潛在的供體圖像P。

文章提到創新點為:(1) 相比傳統算法,DMVN是一種端到端(End-to-End)模型;(2) 相比其他深度學習算法,DMVN不僅特征提取自動,而且后處理也是非干預;(3) 創新地提出深度學習模塊(Deep Dense Matching和Visual Consistency Validator),用於執行視覺匹配和驗證。
仔細地看了下論文,算法主要包含以下流程(1) CNN Feature Extractor:使用的是VGG-16;(2) Deep Dense Matching:使用的是inception-based Mask Deconvolution模塊,來源於[10];(3) Visual Consistency Validator:用於強制模型聚焦於兩個圖像中的分割區域,將兩個Mask快融合起來。總體看來,是將多個深度學習網絡拼接起來。
-
Image Splicing Detection via Camera Response Function Analysis[11]
文章發表在2017 CVPR上面,主要采用相機響應函數(Camera Response Function, CRF)分析篡改部位的輪廓直方圖差異,並以此鑒定Copy-Move和Splicing篡改。非線性CRF對於圖像處理有很大作用,很多圖像去燥算法有所使用,實驗表明篡改區域的CRF值比起未篡改區域有所不同。雖然目前的研究未知CRF如何成為模糊估計中的噪聲源,但是文章證明CRF是一個關鍵信號,有助於區分不同的邊緣和偽造的拼接邊界。
參考文獻
5. Reference
- [1] 朱葉. 數字圖像復制—粘貼篡改盲取證關鍵技術研究[D]. 吉林大學, 2017.
- [2] Qian, Y., Dong, J., Wang, W., & Tan, T. (2015, March). Deep learning for steganalysis via convolutional neural networks. In Media Watermarking, Security, and Forensics 2015 (Vol. 9409, p. 94090J). International Society for Optics and Photonics.
- [3] Rao, Y., & Ni, J. (2016, December). A deep learning approach to detection of splicing and copy-move forgeries in images. In Information Forensics and Security (WIFS), 2016 IEEE International Workshop on (pp. 1-6). IEEE.
- [4] J. Fridrich, and J. Kodovsky ́, “Rich models for steganalysis of digital images,” IEEE Transactions on Information Forensics and Security, vol. 7, no. 3, pp. 868-882, June 2012.
- [5] Bunk, J., Bappy, J. H., Mohammed, T. M., Nataraj, L., Flenner, A., Manjunath, B. S., ... & Peterson, L. (2017, July). Detection and localization of image forgeries using resampling features and deep learning. In Computer Vision and Pattern Recognition Workshops (CVPRW), 2017 IEEE Conference on(pp. 1881-1889). IEEE.
- [6] Bondi, L., Lameri, S., Guera, D., Bestagini, P., Delp, E. J., & Tubaro, S. (2017, July). Tampering Detection and Localization Through Clustering of Camera-Based CNN Features. In CVPR Workshops (pp. 1855-1864).
- [7] Bondi, L., Baroffio, L., Güera, D., Bestagini, P., Delp, E. J., & Tubaro, S. (2017). First steps toward camera model identification with convolutional neural networks. IEEE Signal Processing Letters, 24(3), 259-263.
- [8] Güera, D., Yarlagadda, S. K., Bestagini, P., Zhu, F., Tubaro, S., & Delp, E. J. (2018). Reliability Map Estimation For CNN-Based Camera Model Attribution. *arXiv preprint arXiv:1805.01946.
- [9] Wu, Y., Abd-Almageed, W., & Natarajan, P. (2017, October). Deep matching and validation network: An end-to-end solution to constrained image splicing localization and detection. In Proceedings of the 2017 ACM on Multimedia Conference (pp. 1480-1502). ACM.
- [11] Chen, Can, Scott McCloskey, and Jingyi Yu. "Image Splicing Detection via Camera Response Function Analysis." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017.
