最近,Cozzolino等人[13]发现取证分类器在模型之间迁移性差,性能往往是随机的。他们提出了一种新的表征学习方法,基于自动编码器,以提升检测器在对各种生成方法进行zero- and low-shot training 的迁移性能。虽然他们的最终目标与我们的相似,但他们采取了一种正交的方法。他们专注于新的学习方法以提升迁移学习,并将它们应用于各种各样的模型(包括CNN和非CNN)。相比之下,我们对不同训练和测试条件下基于cnn的简单“baseline”图像生成器的性能进行了实验研究。张等人[48]发现分类器在GAN模型之间泛化得很差。他们提出了一种名为AutoGAN的方法来生成图像,这种方法包含了GAN结构中常见的上采样伪影,并在两种类型的GANs上进行测试。其他的工作已经提出使用手工制作的cooccurrenc特征或者建立在预先训练的面部检测器上的异常检测模型来检测GAN图像。研究人员还提出了一些方法来确定,在几个已知的GAN网络中,哪一个生成了给定的图像[29,45]。
GANs。我们包括三个最先进的无条件GAN:ProGAN [20],StyleGAN [21],BigGAN [8],它们在LSUN [44]或ImageNet [39]数据集上进行了训练。这些模型的网络结构和训练过程存在重大差异。ProGAN和StyleGAN为每个类别训练不同的网络; StyleGAN将较大的每像素噪声注入模型,以引入高频细节。 BigGAN具有整体式,类条件结构,在非常大的批处理量上训练,并使用self-attention层[46,43]。我们还包括三个条件GAN:最新的图像到图像转换方法GauGAN [33]和非常受欢迎的unpaired图像到图像转换方法CycleGAN [52]和StarGAN [11]。 知觉损失(Perceptual loss)。我们考虑可以直接优化知觉损失[19]的模型,未添加对抗训练。这包括以由粗到精的方式合成图像的级联优化网络Cascaded Refinement Networks(CRN)[10],以及最近的隐式最大似然估计Im;licit Maximum Likelihood Estimation(IMLE)条件图像转换模型[25]。 Low-level vision。我们包括“Seeing In The Dark”(SITD)模型[9],该模型使用高分辨率的全卷积网络,通过短曝光原始相机的输入,在弱光条件下近似长曝光的摄影。我们还使用了最新的超分辨率模型,即二阶注意力网络Second Order Attention Network(SAN)[14]。
Deep fakes。我们还根据Róssler等人[38]的FaceForensics ++基准中提供的脸部置换图像来评估我们的模型。它使用了公开可用的faceswap工具[1]。虽然“ deepfake”通常被用作通用术语,但我们从[38]中的约定中得到启发,并将此特定模型称为DeepFake。该模型使用自动编码器生成人脸,并且图像经过大量的后处理步骤,包括泊松图像融合[34]。按照[38],我们使用裁剪的脸。
尽管所有这些模型都可用于评估,但由于数据集大小的限制,并非所有模型都非常适合训练分类器。我们利用这样一个事实,即我们数据集中的无条件GAN模型可以合成任意数量的图像,并选择一种特定的模型ProGAN [20]来训练检测器。使用单一模型进行训练的决定与现实世界中的检测问题极为相似,在训练时要泛化的模型的多样性或数量是未知的。通过仅选择单一模型进行训练,我们正在计算任务的挑战性上限。如果联合训练多个模型将使得泛化问题更容易。我们选择ProGAN是因为它可以生成高质量的图像并具有简单的卷积网络结构。 然后,我们创建一个仅由ProGAN生成的图像和真实图像组成的大规模数据集。我们使用20个模型,每个模型在不同的LSUN [44]对象类别中进行训练,并生成36K训练图像和200个验证图像,每个模型具有相同数量的真实和合成图像。总共有用于训练的720K图像和用于验证的4K图像。 我们实验的主要思想是在此ProGAN数据集上训练判别“真实或伪造”的分类器模型,并评估该模型对其他CNN合成图像的泛化效果。对于分类器的选择,我们使用ResNet-50 [16]。使用ImageNet进行预训练,然后在二元分类设置中进行训练。附录中提供了训练步骤的详细信息:附录B.2:为了训练分类器,我们使用Adam优化器[23],其中β1= 0.9,β2= 0.999,批处理大小为64,初始学习率为10^(−4)。 如果在5个epoch后验证准确性未提高0.1%,学习率将下降10倍,并且我们将以10^(-6)的学习率终止训练。 一个例外是,为了平衡训练迭代与训练集的大小,对于{2,4,8,16}-class模型和{10,20,40,80}%-data模型 ,如果{50、25、13、7}个epoch的验证精度达到稳定,则学习率就会下降。(???) 数据增强。在训练期间,我们以多种方式模拟图像后处理操作。我们所有的模型都使用随机左右flipped并裁剪为224像素的图像进行训练。我们评估了几种额外的数据增强变体:(1)No aug:不应用数据增强;(2)Gaussian blur高斯模糊:在裁剪前,图像有50%的概率被σ〜Uniform [0,3]所模糊,(3 )JPEG:两个流行的库OpenCV [7]和PIL以50%的概率对JPEG图像进行JPEG编码,quality~Uniform {30,31,...,100}(4a)Blur + JPEG(0.5):图像可能会被模糊和JPEG编码,每种可能性为50%;(4b)Blur + JPEG(0.1):与(4a)类似,但可能性为10%。 为了评估训练架构的选择,我们还包括一个仅在BigGAN数据集上训练的模型,表示为Blur + JPEG(Big)。为了进行比较,我们使用与(4a)相同的数据增强来训练模型。 评估。继最近的其他取证工作[50,17,42]之后,我们使用平均精度(AP)评估模型在每个数据集上的性能,since it is a threshold-less, ranking-based score that is not sensitive to the base rate of the real and fake images in the dataset。我们分别为每个数据集计算该分数,因为我们希望它取决于整个照片的语义内容。为了帮助解释threshold-less的结果,我们还对模型的输出和计算精度进行了阈值化实验,并假设真实和合成图像等可能出现(第4.6节)。在测试过程中,每个图像都进行了中心裁剪而不进行缩放,以匹配模型在训练过程中使用的后处理流程。测试期间不包含任何数据增强;取而代之的是,我们在第4.2节的后处理中进行了模型鲁棒性实验。
增强(通常)可以提高泛化性。首先,我们先评估基于ProGAN的分类器,没有进行增强,如“ no aug”这一行所示。与以前的工作[38]一样,我们发现对held-out的ProGAN图像进行测试效果很好(100.0 AP)。然后,我们测试将其泛化到其他无条件GAN的性能。我们发现它泛化到StyleGAN上非常好,StyleGAN具有类似的网络结构,但与BigGAN相比却不那么理想。添加增强后,BigGAN的性能将显着提高,从72.2→88.2。在条件模型(Cycle-GAN,GauGAN,CRN和IMLE)上,性能得到了类似的改善,分别为84.0→96.8、67.0→98.1、93.5→98.9、90.3→99.5。 有趣的是,有两种模型:SAN和DeepFake,它们在不进行增强的情况下直接在ProGAN上进行训练的效果很强(分别为93.6和98.2),但是增强会损害性能。由于SAN是超分辨率模型,因此只有高频分量才能区分真实图像和伪图像。因此,在训练时消除这种线索(例如通过模糊)可能会降低性能。应用数据增强但以减少程度(Blur + JPEG(0.1))提供了良好的平衡:DeepFake检测与无增强情况(89.0)相当,而大多数其他数据集比无增强有明显改善。 增强提高了鲁棒性。在许多实际场景中,我们要评估的图像具有未知的后处理操作,例如压缩和调整大小。我们调查了即使经过这些后处理步骤,CNN生成的图像是否仍然可以被检测到。为了测试这一点,我们根据[42]中的协议对真实和伪造图像进行了模糊处理(模拟重采样)和JPEG压缩,并评估了我们检测它们的能力(图6)。在ProGAN上(即测试分布与训练匹配的情况),即使应用增强操作,性能仍为100%,这表明伪像可能不仅是高频的,而且还存在于整个频带中。在跨生成模型泛化方面,增强的模型对于数据中包含的后处理操作最为鲁棒,与[38、42、45、48]的观察一致。我们注意到,即使在分布外的CNN模型上进行测试时,我们的模型也从增强中获得了鲁棒性。
4.3 数据多样性的影响
接下来,我们看看训练集中真实图像和合成图像的多样性如何影响分类器的泛化能力。 图像多样性提升性能。为了对此进行研究,我们改变了用于训练real-or-fake分类器的数据集中的类别数(图4)。具体来说,我们训练了多个分类器,每个分类器在整个训练数据集的一个子集上进行训练,该子集排除从一组特定的LSUN类别派生的真实和伪造图像。我们发现,增加训练集的多样性可以提高性能,但只能提高一点。当使用的类别数从2 增加到16, AP持续提高,但是我们看到收益递减时,最终将类别数从16增加到20时只有最小的改进。This indicates that there may be a training dataset that is “diverse enough” for practical generalization. 与在不同模型上训练的比较。为了测试以查看我们来自ProGAN的结论是否可以推广到在不同模型上的训练,我们还对来自ImageNet预训练的256×256 BigGAN模型的数据训练了分类器[8]。我们生成40万张伪图像,并使用与真实图像具有相同类别分布的40万张ImageNet图像。我们在表2中看到,该模型也表现出泛化,尽管在大多数情况下结果略低。对此的一种解释是,我们的ProGANs模型是在整体上训练的(每个类别由一个模型生成),但是BigGAN图像是使用单个模型生成的。