Detecting GAN-generated Imagery using Color Cues
Abstract
论文创新点:分析流行GAN网络结构得知,GAN网络生成得图片在颜色处理与真实摄像机拍摄的照片存在不同,主要表现在两方面。
实验结果:证明了两种线索能够有效区分GAN生成图像和用于训练GAN的真实图像。
1.Introduction
本片论文主要是研究GANs网络生成图片的取证检测,虽然他们用肉眼无法区分,但是GANs生成的图片在重要的一些方面和相机拍摄的图像还是存在差别的。通过研究生成器网络的结构,尤其注意到它是如何形成颜色的,并注意到两者有两个重要的区别:(这也就是摘要中的两个像素)
-
再某种方式限制饱和像素的频率,对生成器内部值是被规范化(Normalized)的来限制输出的大小。(First, the generator’s internal values are normalized to constrain the outputs, in a way which limits the frequency of saturated pixels.)
-
生成器的对通道的内部表示类似于彩色RGB三通道像素合成的方式,但是所使用的权重与摄像机的类似光谱灵敏度完全不相同。(Second, the generator’s multi-channel internal representation is collapsed to red, green, and blue channels in a way that’s similar to models of color image formation, but uses weights that are quite different than the analogous spectral sensitivities of a camera.)
以上的这两个线索在检测两种类型的GAN图像中是有效的,一种是由GAN完全生成的图像,另一种是GAN生成的人脸替换真实图像中的人脸。
2.Related Work
- 介绍了GAN网络的一些基本知识和发展历史。
- 论文中提到的检测GAN网络取证的方法:引用[9]利用DeepFake-type 视频中是否眨眼来检测;引用[10]基于XceptionNet;引用[5]开发了一个对比损失功能的取证鉴别器;引用[4]使用递归神经网络检测GAN视频。
- 本论文是对上面的补充,旨在GAN生成器的结构上发现GAN生成的和相机拍摄的图像在图像统计上的区别。
3.GAN Generator Architecture
本节内容,回顾GAN生成器的网络架构,用两个线索来区别GAN图像和真实图像。工作重点主要放在GAN之间的共同特征和生成器靠后的几层,因为到达最后几层的线索不太可能被后续的连续的处理改变。
(图2.高分辨的图像是从输入一个'latent vector‘,通过重复上采样(将空间尺寸加倍),然后通过带有leaky-ReLU和逐像素归一化的3×3的卷积,最后通过一个1×1的卷积生成彩色图像。)
上图是个典型的生成器结构,生成器的最后一层将生成3×H×W的输出矩阵(3个颜色通道,W列和H行)。从输入到输出是一个大小为K×W×H的数组,其中K>3层称为“深度”层。两条重要的线索来自从K深度卷积层到RGB三通道的转换过程中,将会在下面介绍。
3.1. Color Image Formation
在最后一个网络层将K>3个深度层折叠成RGB三个通道的过程,类似于照相机的滤色器阵列将三个波段上的光积分以形成彩色图像的机制。如下图所示。多个深度层以加权总和进行组合,以在每个像素处创建颜色值,并且权重在输出的空间范围内是均匀的。
(图3 (左)GAN生成器的最后一层通过卷积网络将多层深度的合成RGB像素值,但是输出空间的范围是被限制的。(中间)引用[7]中用于面部合成的权重,将16深度层合成RGB像素值。(右)相比之下,实际摄像机的滤色器矩阵的光谱响应是与摄像机之间存在差异的,但是其结构与GAN所获取权重是完全不同的)
当摄像机传感器上的滤色镜阵列将可见光谱转换为RGB值时,光谱响应函数表示不同波长的光的“加权”。 光谱响应函数因摄像机而异,但受以下几个约束:
- 为了允许饱和并消除串扰,红色,绿色和蓝色的光谱响应函数具有有限的重叠。
- 由于传感器对通过滤色阵列的光子计数,因此光谱响应函数必须为非负
这两个约束都不适合GAN生成器生成图像,生成器不需要计算光子。
生成器中通过允许负权重,即使为不同通道学习的权重之间存在明显的重叠,也可能导致饱和。
在图三中,(中间)引用[7]中学习到的用于合成人脸图像的16个权重深度层,它们在RGB三个颜色通道中有一个共同的峰值,并且在几个非峰值处也相关。相比之下,采用照相机拍摄的右图(显示两个不同佳能的相机),他们的每个通道都具有不同的峰值波长,并且灵敏度重叠的相对较少。
3.2. Normalization
GAN网络生成器的另一个常见的操作就是归一化,其目的是能够让训练中得到收敛。与彩色图像形成一样,归一化的方法在每个GAN网络也是不一样的。
在引用[7]中,在卷积层之后逐像素应用归一化,以便每个像素处的深度的矢量值具有固定的大小,即
其中,a是未归一化的特征图,b是逐个像素归一化的结果,索引x和y表示像素在空间的位置,索引j和c表示特征图中的深度位置,N表示特征图的数量,e = 10^-8。
在引用[16]中,归一化应用于各个“深度”平面,即
其中,b和a分别是归一化和非归一化的特征图,x和y分别指定像素空间的位置,c表示深度通道,n索引批处理的序号,β和γ由训练中学得,以限制特征图深度平面内的均值和方差。
无论是否逐层对像素进行归一化,这两步骤都是在单位间隔中具有相对均匀的分布,然后这些有规律的值转换成RGB值。但是,在基于相机的成像中,强度值没有很好的约束,取而代之的是,入射在摄像机传感器上的照度值通常是有对数分布,因为需要高动态范围(HDR)成像。
HDR成像涉及捕获多个图像,这些图像由一个或多个曝光点(二进制数量级)分隔开,例如 曝光1 / 15、1 / 30和1/60秒的图像。 没有HDR,相机图像通常会具有饱和或曝光不足的区域,如图4所示。但是,由于在生成器中应用了归一化,因此GAN图像缺少这些区域。(关于曝光度可以看这篇文章)
(左右为真实图片,中间为GAN生成的图片,左图是曝光不足的区域,右图是曝光过度的区域,中间GAN生成的图片即使背景为白色也有缺少饱和度区域)
4.Detection Methods
给定相对较少的训练数据集,有必要使用预先训练的模型(在适用的情况下)或使用可以使用手头数据进行训练的低维特征。
4.1. Color Image Forensics
直观上讲,将深度层映射到图3(中心)所示的RGB颜色的权重之间的重叠应该表现为给定像素的颜色通道之间具有较高相关性,而不是具有类似于图3(右)所示佳能照相机曲线的光谱灵敏度的真是相机中的相关性。
为了评估这个问题,我们使用标准rg色度空间,其中
我们希望GAN图像在该颜色空间中,有比正常相关性更高的值。但是由于颜色转换(引用7)独立的应用与每个像素,因此相关性将不具有空间成分。为了评估该方法的有效性,我们采用了引用[1]的方法,使用了二元直方图(bivariate histograms)进行取证。在引用[1]中,作者证明了通过建立强度噪声直方图(INH)可以将强度和噪声之间的像素级统计关系用于检测焦点操纵,该强度直方图由类似于VGG的深层网络进行分类。在我们的实验中,r和g色度坐标充当两个变量,并使用INH网络将将这些直方图分类为GAN图像和相机图像。
我们使用了来自引用[1]INH的预训练网络,我们使用引用[7]生成的GAN图像集和GAN训练中使用的一组照相机图像的r-g直方图对分类器进行微调。
4.2. Saturation-based Forensics
对于取证,假设是通过生成器的归一化步骤来抑制饱和和曝光不足的频率。这也暗示这一个简单的GAN图像检测器,我们可以单纯检测每个图像中饱和和曝光像素的频率。具体的来说,对于曝光过度的像素,我们测量了一组特征
这些功能由线性支持向量机(SVM)进行分类,并使用Matlab的Fitcsvm函数进行训练。训练数据集包括1387个GAN生成图像的特征(从GAN在[7]中创建的30个LSUN [17]图像类别中随机抽样)以及来自ImageNet数据集的真实摄像机图像。
5. Evaluation
使用了两个基准数据库(US National Institute of Standards and Technology’s Media Forensics Challenge 2018),分布为
- GAN Crop images represent smaller image region which are either entirely GAN-generated or not.
- GAN Full images are mostly camera images, but some faces have been replaced by a GAN-generated face,similar to deep fakes.
对于这两个数据集,即使GAN Full图像在人脸周围具有较小的可操纵区域,我们也会在整个图像上计算特征(直方图或饱和度计数特征)。 按照惯例,我们通过Receiver Operator Characteristic (ROC)曲线展示了检测器的性能,该曲线显示了根据每个分类器输出的连续变化得分所使用的判定阈值,确定的真实检测率和错误报率。 在ROC曲线中,随机分类器的性能为对角线。 我们还总结了ROC及其曲线下面积(AUC),对于随机检测器,该值为0.5;对于完美检测器,该值为1。
5.1.Saturation Statistics
图5显示了我们的SVM在过度曝光特性\(f^o\)下训练的ROC曲线。 对于这两个数据集,其性能明显优于随机检测器(也就是对角线所对应的假象的检测器)。 显然,该方法在检测完全GAN生成的图像方面做得更好,可以产生0.7 AUC。 部分原因是为了更好地匹配训练中使用的图像,但是测量饱和像素比例的要素将被GAN Full图像中的非GAN区域进一步稀释。 尽管如此,该方法仍在GAN Full图像集上产生可观的ROC和0.61 AUC。
有趣的是,如图6所示,当为SVM提供由曝光不足和曝光过的像素频率(即\(f^u\)和\(f^o\))组成的特征向量时,该方法的性能会降低。 AUC从0.70降低到0.67,在误报率为0.5的情况下,其正确检测率明显较低。 尽管目前尚不清楚为什么曝光不足的特征比曝光过度的像素频率的预测能力低,但一种假设是[7]中的激活线性整流单元(ReLU)的形状不对称。 就是说,SVM本来可以学会忽略\(f^u\)的其他功能,但不能从提供的训练数据中学习到。
5.2. Color Image Forensics
不幸的是,如图7所示,来自彩色图像取证的ROC曲线好于随机。 在两个数据集上的AUC分别为0.56和0.54时,没有太多证据表明分类器从GAN生成的图像和相机生成的图像的颜色统计信息中学到了任何有用的信息。 造成这种情况的一个可能原因是,评估集中的某些相机图像包含具有预训练的INH网络要检测的焦点操作类型的图像。 例如,图4(右上方)显示了一张图片,其中左边缘和上边缘显得模糊。 由于这些图像是从一组名人脸部图像中获取的,因此可能是以INH考虑的一种方式对其进行了修饰。 这可能可以通过重新训练整个网络来解决,尽管这将需要比本实验中使用的训练数据更多的训练数据。
6. Conclusion
我们已经描述并评估了与GAN生成器网络将特征表示转换为红色,绿色和蓝色像素强度的方式有关的两种不同取证方法的功效。 我们特别证明,通过使用独立生成的数据集进行的实验,基于曝光过度像素频率的相对简单的取证可以很好地区分GAN生成的图像和相机图像。 我们的方法可以很好地将GAN生成的图像与自然图像完全区分开,并且即使在GAN生成的脸部拼接成较大的相机图像这一较困难的情况下,该方法仍然可以提供一些判别。 基于彩色图像统计数据的第二个取证证明不如饱和度统计有用,但可能由于缺乏可用的训练数据而受到限制。
两种取证都是在对生成器的架构进行全面分析的基础上提出的,特别是它如何将多通道特征图转换为3通道彩色图像。 我们表明,应用于特征的权重类似于滤色器阵列如何在可见光谱范围内进行积分,但是它们使用的权重非常不同。 我们的饱和取证是基于这样一个事实,即生成器包含归一化,该归一化限制了所生成强度的范围,而自然场景的照射不存在这种限制。 我们通过针对多种生成器架构的通用操作想出了这些取证法。