CVPR2020论文解读:CNN合成的图片鉴别

CVPR2020论文解读:CNN合成的图片鉴别git

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

 

 

 

 

 

 

论文连接:https://arxiv.org/abs/1912.11035github

代码连接: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 生成图像的通用图像伪造检测方法。检测图像是否由某种特定技术生成是相对简单的,只需在由真实图像和该技术生成的图像组成的数据集上训练一个分类器便可。ui

但现有的不少方法的检测效果极可能会与图像生成训练中使用的数据集(如人脸数据集)紧密相关,而且因为数据集误差的存在,一些方法在新数据(例如汽车)测试时可能泛化性较差。更糟糕的是,随着图像生成方法的发展,或是用于训练的技术被淘汰,这种基于特定生成技术的检测器可能会很快失效。

因此 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。

 

相关文章
相关标签/搜索