CVPR2020論文解讀:CNN合成的圖片鑒別


CVPR2020論文解讀:CNN合成的圖片鑒別

《CNN-generated images are surprisingly easy to spot... for now》

 

 

 

 

 

 

論文鏈接:https://arxiv.org/abs/1912.11035

代碼鏈接:https://peterwang512.github.io/CNNDetection/

該文章被CVPR2020錄用,Arxiv公開於2019年12月,作者來自 UC Berkeley 和 Adobe Research。

CNN 生成的圖像與真實圖像很難分辨嗎?來自 Adobe 和加州伯克利的研究者發現,僅僅在一種 CNN 生成的圖像上進行訓練的分類器,也可以檢測許多其他模型生成的結果。或許,GAN 和 Deepfake 在「瞞天過海」上也不是萬能的。

近來,諸如生成對抗網絡(GAN)的深度圖像生成技術快速發展,引發了公眾的廣泛關注和興趣,但這也使人們擔心,會逐漸走入一個無法分辨圖像真實與否的世界。

這種擔憂尤其體現在一些特定的圖像操縱技術上,例如用來進行面部風格替換的「Deepfake」,以及逼真的人像生成。其實這些方法僅僅是一種廣泛應用技術中的兩個實例:基於卷積神經網絡(CNN)的圖像生成。

《CNN-generated images are surprisingly easy to spot... for now》提出,即使是在一種 CNN 生成的圖像所訓練的分類器,也能夠跨數據集、網絡架構和訓練任務,展現出驚人的泛化能力。這篇論文目前已被 CVPR 2020 接收,代碼和模型也已公布。

這篇論文主要探索如何利用單一的GAN模型來鑒別其他各種GAN生成的圖像。無論各種GAN生成的圖像是何種類型,使用何種網絡結構,合成的假圖都用相同的缺陷。作者首先利用11種GAN模型來構造一個大規模的合成圖像鑒別數據庫,ForenSynths Datsets。之后僅僅利用單一的ProGAN模型來訓練,就能夠在ForenSynths上表現出良好的泛化性能,甚至可以打敗新出的StyleGAN2和DeepFake。通過實驗表明數據增強作為后處理方法,以及訓練數據的多樣性是成功的關鍵,尤其是數據增強使得訓練一個鑒別器就有良好的泛化能力和魯棒性。這篇論文收錄在CVPR 2020,是反造假技術再進一步的標志。造假和反造假技術一直在共同進步。

在這項工作中,研究者希望找到一種用於檢測 CNN 生成圖像的通用圖像偽造檢測方法。檢測圖像是否由某種特定技術生成是相對簡單的,只需在由真實圖像和該技術生成的圖像組成的數據集上訓練一個分類器即可。

但現有的很多方法的檢測效果很可能會與圖像生成訓練中使用的數據集(如人臉數據集)緊密相關,並且由於數據集偏差的存在,一些方法在新數據(例如汽車)測試時可能泛化性較差。更糟糕的是,隨着圖像生成方法的發展,或是用於訓練的技術被淘汰,這種基於特定生成技術的檢測器可能會很快失效。

所以 CNN 生成的圖像是否包含共同的偽造痕跡呢?例如某種可檢測的 CNN 特征,這樣就可以將分類器推廣到整個生成方法族,而不只是針對單個生成方法。一般來說,泛化性確實一直是圖像偽造檢測領域的難題。例如,最近的一些工作 [48,13,41] 觀察表明,對某一種 GAN 架構所生成圖像進行訓練的分類器在其他架構上進行測試時性能較差,並且在許多情況下,僅僅訓練數據集的改變(而非架構或任務)就會導致泛化失敗 [48]。這是有道理的,因為圖像生成方法千差萬別,它們使用的是不同的數據集、網絡架構、損失函數和圖像預處理方式。

 

 

 

但研究者發現,與當前人們的理解相反,為檢測 CNN 生成的圖像所訓練的分類器能夠跨數據集、網絡架構和訓練任務,展現出驚人的泛化能力。在本文中,研究者遵循慣例並通過簡單的方式訓練分類器,使用單個 CNN 模型(使用 ProGAN,一種高性能的非條件式 GAN 模型)生成大量偽造圖像,並訓練一個二分類器來檢測偽造圖像,將模型使用的真實訓練圖像作為負例。

此外,本文還提出了一個用於檢測 CNN 生成圖像的新數據集和評價指標,並通過實驗分析了影響跨模型泛化性的因素。

基於 CNN 生成模型的數據集

研究者創建了一個 CNN 生成圖像的新數據集「ForenSynths」,該數據集由 11 種模型生成的圖像組成,從非條件式的圖像生成方法(如 StyleGAN)到超分辨率方法,以及 deepfake。每個模型都在適合其特定任務的不同圖像數據集上進行訓練。研究者還繼續在論文撰寫后發布的模型上評估檢測器,發現它可以在最新的非條件式 GAN——StyleGAN2 實現開箱即用。

實驗:檢測 CNN 生成的圖像

鑒於數據集中的非條件式 GAN 模型可以生成任意數量的圖像,研究者選擇了一種特定的模型 ProGAN 來訓練檢測器。使用單一模型進行訓練,這個方法與現實世界中的檢測問題極為相似,即訓練時並不清楚需要泛化模型的多樣性和數量。

接着,研究者創建了一個僅由 ProGAN 生成的圖像和真實圖像組成的大規模數據集。使用 20 個模型,每個模型在不同的 LSUN 物體類別上進行訓練,並生成 36K 的訓練圖像和 200 張驗證圖像,每個模型所用的真實和偽造的圖像數量是相等的。一共有 720K 圖像用於訓練、4K 圖像用於驗證。

這一實驗的主要思想是在這個 ProGAN 數據集上訓練一個判斷「真實或偽造」的分類器,並評估該模型對其他 CNN 合成圖像的泛化效果。在分類器的選擇上,使用了經過 ImageNet 預訓練的 ResNet-50,並在二分類的設定下進行訓練。
亮點:該工作意圖探究深度生成取證泛化能力可能性。從訓練數據的多樣性、數據增強技術做探討,說明了一定強先驗條件下,泛化能力是可能的(AP衡量)。該文章做了偏基礎的探究性實驗工作。

缺陷:

1.       這種泛化效果的先驗假設是,測試的樣本都是同一種偽造技術,這是不滿足實際應用環境的。

2.       對衡量指標AP的閾值threshold,和准確率Acc.未做討論,未說明是否會存在較大的數據集之間的bias偏差。

思考:

1.       訓練用的是ProGAN,內容是場景,非人臉

2.       SAN 超分辨率很難檢測,說明其有較強的篡改噪聲能力,是否能加以利用?

3.       Deepfake的泛化效果較差,因為經過強手工設計,並非ProGAN類似全局CNN圖片生成。

4.       對Photoshop類似的算法無效。

1. Introduction

通用的檢測器、用11種CNN生成技術的數據集、預處理和后處理、數據增強。

“針對生成技術的共有特征”為出發點,公布了以11種生成方法生成的的測試集“ForenSynths”,包含GAN生成、超分辨率、手工設計的Deepfakes。以ProGAN用作訓練,采用特定數據增強的前/后處理方法,能帶來泛化能力和魯棒性。

2. Related work

分三部分:檢測CNN生成的技術、圖像取證、CNN生成的共有特征。

CNN生成的共有特征:因為CNN的結構相似,導致生成的結果存在一種相似模式,舉例為上采樣和下采樣。

3. A dataset of CNN-based generation models

訓練尺寸:224x224的隨機裁剪(數據集尺寸為256x256)

4. Detecting CNN-Synthesized images

4.1 Training classifiers

用ProGAN訓練,探究泛化能力的上界;

采用ProGAN訓練的原因:生成圖像分辨率高、網絡結構簡單

ProGAN訓練集用了20種LSUN類別:相當於20種生成的類型,airplane、cat...

每類別36K訓練圖片,20種一共720k訓練圖片

網絡結構:預訓練的ResNet-50+二分類

數據增強:隨機翻轉+224x224隨機裁剪;同時Blur和JPEG壓縮划分了幾個等級。

衡量指標:AP,對不同數據集單獨衡量,而非混合在一起(存在潛在數據集偏差問題,未做探究)

4.2 Effect of data augmentation

泛化性(訓練數據增強,測試不處理)

 

 

 

 

魯棒性(訓練、測試同時處理)

 

 

 

4.3  Comparison to other methods

面對整張圖片全由CNN生成的圖片,效果較好;面對SAN和Deepfake,泛化表現較差。

4.4 New CNN models

對新出的StyleGAN2同樣有效。

 

 

 

4.5 Other evaluation metrics

 

 

 

將Acc拿出來,比較真實應用場景下,有兩張測試環境圖片,估計閾值的情況。

Oracle表示准確率的上界,Two-shot表示拿測試集的兩張圖片“校准”后的准確率。注意這里的校准的含義是閾值的選取,而並非微調。

 

5. 測試結論

CNN生成方法當前存在能檢測的通用“水印”,但不代表未來也可行,因為生成技術會持續進步,甚至補齊此缺陷;

真實場景(In the wild)下,認真的攻擊者會選擇生成效果優良的結果,放在網絡上,檢測難度更大;

對Photoshop類似篡改算法測試來看,face-aware liquify dataset上,作者的分類器表現如隨機選擇一般;

測試結果

先是在測試集上,肉眼觀察分類器判定的效果。作者把質量分成五個等級,上圖從左至右分別真實性預測變差。

后續做了頻譜分析,發現CNN生成的方法,在傅里葉變換頻譜上,可能會呈現周期性的特性。(然而SAN和Deepfake比較正常,可能因為其經過手工設計,並非完全CNN生成。)

 

 

 

 

 

兩個方面,ProGAN的不同類別、不同生成技術(換BigGAN做訓練)

LSUN的20個類別,分別對應不同生成物品/物種種類,比如airplane、cat...

對比400k個圖片BigGAN的訓練結果:也有一定泛化能力,但效果沒ProGAN好。

表 2:跨生成器的泛化結果。圖中展示了 Zhang 等人提供的基線和本文模型在不同分類器上的平均准確度(AP),共 11 個生成器參與測試。符號 X 和 † 分別表示在訓練時分別以 50%和 10%的概率應用數據增強。隨機表現是 50%,可能的最佳表現是 100%。在測試用的生成器被用於訓練時,結果顯示為灰色(因為它們不是在測試泛化性)。黑色的值表示跨生成器的泛化性結果。其中,最高值以黑色加粗顯示。通過減少數據擴充,研究者展示了針對 ProGAN 中較少類的消融實驗結果。同時通過平均所有數據集的 AP 分數來得到 mean AP。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM