挑战 11 种 GAN的图像真伪,DeepFake鉴别一点都不难 | CVPR2020

2020 年 3 月 12 日 AI科技评论


文 | qqsh

编 | 杨晓凡


近年来,图像合成技术日趋进步,GAN在给我们带来艺术体验的同时也埋下了很多隐患。Deepfake(AI换脸)技术让很多事情的真实性变得扑朔迷离,甚至会产生极大的政治影响。比如加蓬共和国总统的一段录像被反对派声称是假的,这成为了政变失败的因素之一。


既然我们可以用GAN来合成难辨真伪的假图,反过来我们也可以用GAN去鉴别图像的真假。GAN一般基于CNN结构,当用来作为鉴伪模型时也有很多不足。一方面是只能应用于单一的图像类型(比如人脸),当应用到未曾见过的类型时(比如汽车)就会失效。另一方面,当新的GAN不断进化并产生更逼真的图像时,原有的鉴伪模型就可能会被击败。


来自伯克利和Adobe的研究者最近提出了一种通用的鉴别方法,通过训练一个单一的ProGAN就可以鉴别其他11种 GAN 生成图像的真伪,并且具有较高的准确率和较强的鲁棒性,对于新提出的StyleGAN2也能很好的泛化。


本文为 CVPR2020 接收论文

论文地址:https://arxiv.org/abs/1912.11035v1

开源代码:https://github.com/peterwang512/CNNDetection


论文的贡献主要有以下三点:

  • 论文表明了在CNN生成的图像上训练的鉴伪模型,对其他CNN合成方法具有很好的泛化能力。

  • 作者提出了一个新的数据集和评测指标来检测CNN合成的图像。

  • 作者通过实验分析了影响跨模型泛化性能的因素——数据增强和图像类型的多样性。


 

1


评测数据集

作者选出了11种GAN,涵盖了各种网络结构,数据类型和损失函数。这11种GAN生成的假图构成了一个大规模的评测数据集ForenSynths,下图展示了这些GAN生成的图像类型。
作者对这11种GAN进行了分类,囊括了各种图像生成模型。
  • 无条件GAN:ProGAN,StyleGAN,BigGAN。ProGAN和StyleGAN可以为每个类训练不同的网络;
  • 条件GAN:GauGAN,CycleGAN,StarGAN。用于图像转换;
  • 直接优化感知损失,无需对抗训练:由粗到细合成图像的级联精修网络(CRN),隐式最大似然估计条件图像转换模型(IMLE);
  • 低层视觉:改善弱光照条件下图像质量的SITD模型,超分辨中的二阶注意力网络(SAN);
  • DeepFake:AI 换脸。
作者根据每个模型的开源代码来生成假图,并且遵照原方法的处理流程。每个模型用来生成假图的真实图像数量是一致的。数据集中的图像大小保持在256×256,这个尺度是现有图像生成模型常用的输出尺寸。对这11种模型,如果生成的图像分辨率小于256×256,则利用双线性插值上采样到256×256;如果生成的是高分辨图像,则保留原图大小。毕竟最终训练图像都是随机裁剪成224*224大小,并经过水平翻转。

2


模型训练

作者的目的是通过训练一个单一的GAN,让这个GAN能够鉴别出其他各种GAN生成图像的真假,以此来证明这个单一GAN的泛化能力。这和实际应用场景是一致的,因为训练时我们并不知道会应用到多少种GAN上,也不知道需要鉴别的数据类型。
作者选择ProGAN作为这个单一的GAN,主要基于以下原因:
  • ProGAN属于无条件GAN类型;
  • 能够生成高质量的图像;
  • 具有比较简单的网络结构;
之前已经通过其他GAN构造了评测数据集,但是它不能用来训练ProGAN,因为这样做降低了泛化难度。虽然模型只有一个,但是训练和评测数据还是相关的。因此,还需要构造用来训练ProGAN的数据。
前面介绍了ProGAN可以为每个类别训练一个不同的网络,因此作者从LSUN数据集上选出了20个类,每个类包含36K张训练图像和200张验证图像,它们都是真实图像。之后用ProGAN对20个类分别训练20个不同的网络,就能生成真实图像对应的合成图像。因此,整个训练集就包含720K张训练图像和4K张验证图像。
作者采用ResNet-50作为二分类的分类器,在ImageNet上做预训练。作者发现,用数据增强能够模仿图像的后处理操作,并且这对于泛化性能有显著的促进作用,主要采用的数据增强方式有:
  • 高斯模糊:50%的概率;
  • JPEG压缩:利用OpenCV和PIL库;
  • 模糊+JPEG压缩:分别采用50%和10%的概率;


3


实验和结果

作者采用AP(Average Presion)作为评测指标,因为这是一个基于排序而不是阈值的得分,对数据集中真实图像和合成图像的基本比例不敏感。

泛化性能的影响因素

下面是在ForenSynths评测数据集上的泛化性能比较。
从表中可以得出以下结论:
  1. 对于大多数GAN,采用数据增强作为后处理操作能够显著提升ProGAN在各种GAN上的泛化性能,并且同时采用模糊和JPEG压缩效果更好一些。不过对于StarGAN,SAN和DeepFake来说,不使用数据增强效果会更好。比如SAN这种高分辨率的模型,在训练时只有高频的信息才可导。经过模糊和压缩后这些信息会丢失,性能自然也会下降。
  2. 相比于Zhang Xu等人提出的模型,作者使用ProGAN训练的方式泛化性能更好一些。
  3. 训练集的图像类别数量也对泛化性能有影响,图像类别越多,泛化性能越好,这与数据的多样性有关。
作者还通过一些更细致的统计方式证明了上述结论。
上面这张图表明了数据增强的有效性,是对第一点结论的补充说明。
上面这张图表明了数据增强的鲁棒性。对于大多数模型,随着模糊程度的增加或者压缩质量的降低,不采用数据增强作为后处理很快会崩溃,不仅退化成随机判断模式,甚至还会不如随机判断。但是采用数据增强后,尤其是采用模糊和压缩,能够有效对抗这些挑战,鲁棒性更强。
上面这张图表明了数据类型的多样性对泛化性能有促进作用,是对第二点结论的补充说明。不过当图像类别达到16个之后,泛化性能的提升就很少了。这反映出数据类型的多样性也是有上限的。
上面这张图和Zhang Xu等人的方法作比较,可以看出对于大多数模型,作者的方法有更大的优势,除了CycleGAN,StarGAN和SAN。这是对第三点结论的补充说明。

新的模型

作为一个鉴别图像真伪的模型,除了考虑对抗现有的GAN之外,还需要评估其对未来的影响力。当合成图像的技术不断发展时,它是否还能击败新的GAN也是我们所关注的。作者也将自己的方法在最新出的StyleGAN2上进行了评测,结果如下:
从上表可以看出,作者的方法在StyleGAN2上的AP也达到了99.1%,可以说仍然具有较强的泛化能力,说明该方法潜力是很大的。

可视化分析

上面的实验分析表明,一个单一的ProGAN就能够鉴别其他各种GAN生成图像的真伪了。这只是从结果上分析,那么它内在的本质是怎样的呢?训出来的模型到底学到的是什么呢?
作者首先想探究模型是学习了低层次的特征还是学到了高层次的视觉质量。为此作者将生成的图像按照是否是假图的置信度排序,从中抽取不同排名的图像作可视化。作者发现,图像质量和置信度得分相关性其实并不大,除了BigGAN和StarGAN有点关系(上图是BigGAN)。由此说明,模型并不一定是学到了高层次的视觉质量。
和Zhang Xu等人一样,作者也可视化了真实图像和合成图像的频谱图(如上图所示)。可以看出,真实图像的频谱图基本是一致的,虽然不同模型有所区别,但是都是类似笛卡尔坐标分成四个象限。但是CNN生成的图像则往往会在不同象限产生重叠的小点,这可能是在频谱域上与真实图像的不同。

4


讨论与总结

尽管这篇论文在鉴伪上更胜一筹,但是还是有许多令人担忧的地方。
  • 论文的方法虽然泛化性能很高,但是毕竟不是100%准确的鉴别图像真伪。如果恶意用户尝试手动制造可以骗过鉴伪器的假图,那么本文的方法也会失效;
  • 论文证明了模糊和压缩等图像增强技术能够提升泛化能力,那么也有人可能会通过压缩图像,调整大小,重采样来攻击鉴伪模型。因此,鉴伪模型的鲁棒性还需提升。
  • 这篇论文鉴别的是基于深度学习的方法,即各种基于CNN的GAN。但是实际中的图像伪造更多是一些“浅”的方法,比如PS技术。如何让AI模型能够鉴别这些造假也是值得关注和探索的。
造假和鉴伪技术就如同GAN的生成器和判别器一样,势必会相互制衡,共同进步。


登录查看更多
8

相关内容

GAN:生成性对抗网,深度学习模型的一种,在神经网络模型中引入竞争机制,非常流行。
专知会员服务
108+阅读 · 2020年5月21日
【CVPR2020-Facebook AI】前置不变表示的自监督学习
专知会员服务
46+阅读 · 2020年4月19日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
生成式对抗网络GAN异常检测
专知会员服务
116+阅读 · 2019年10月13日
GAN用于无监督表征学习,效果依然惊人……
机器之心
12+阅读 · 2019年7月9日
能生成逼真图像的不只有 GAN
机器学习算法与Python学习
8+阅读 · 2019年6月6日
CVPR 2019 | 全新缺失图像数据插补框架—CollaGAN
PaperWeekly
9+阅读 · 2019年5月5日
低清视频也能快速转高清:超分辨率算法TecoGAN
机器之心
13+阅读 · 2019年4月16日
拆台BigGan:“失败”图像生成集锦
论智
5+阅读 · 2018年11月19日
基于GAN的极限图像压缩框架
论智
11+阅读 · 2018年4月15日
GAN做图像翻译的一点总结
PaperWeekly
4+阅读 · 2017年12月26日
Deep Learning for Deepfakes Creation and Detection
Arxiv
6+阅读 · 2019年9月25日
Revisiting CycleGAN for semi-supervised segmentation
Arxiv
3+阅读 · 2019年8月30日
Arxiv
11+阅读 · 2018年4月8日
VIP会员
相关资讯
GAN用于无监督表征学习,效果依然惊人……
机器之心
12+阅读 · 2019年7月9日
能生成逼真图像的不只有 GAN
机器学习算法与Python学习
8+阅读 · 2019年6月6日
CVPR 2019 | 全新缺失图像数据插补框架—CollaGAN
PaperWeekly
9+阅读 · 2019年5月5日
低清视频也能快速转高清:超分辨率算法TecoGAN
机器之心
13+阅读 · 2019年4月16日
拆台BigGan:“失败”图像生成集锦
论智
5+阅读 · 2018年11月19日
基于GAN的极限图像压缩框架
论智
11+阅读 · 2018年4月15日
GAN做图像翻译的一点总结
PaperWeekly
4+阅读 · 2017年12月26日
Top
微信扫码咨询专知VIP会员