【CVPR2020】CNN-generated images are surprisingly easy to spot... for now(假图检测/CNN合成图像的检测/图像取证)

2023-05-16

CVPR2020 ORAL。这篇论文的思路很简单,就是涉及到的数据收集和用到的GAN太多了,一般人可能都没精力去搞。简要概括,实验量大,效果好,抓人眼球哈哈。这篇论文涉及到的GAN真的好多....从头到尾的翻译还是很少做的,但是值得,要不老忘。各位同学私人转载的话,注明我的博客地址就好啦。

论文原文:https://arxiv.org/abs/1912.11035

论文源码:https://github.com/peterwang512/CNNDetection (目前Github上是没有发布训练代码的)

摘要

        在这项工作中,我们提出这样的疑问:是否有可能创建一个“通用”检测器,不论使用什么结构的CNN或哪种数据集,通用检测器都能区分真实图像和CNN生成的图像。为了测试这一点,我们收集了由11种不同的基于CNN的图像生成器模型生成的假图数据集集合,这些被选择的模型包含了当今最常用的那些(ProGAN,StyleGAN,Big-GAN,CycleGAN,StarGAN, GauGAN,DeepFakes,级联精炼网络,隐式最大似然估计,二阶注意力超分辨率,seeing-in-the-dark)。我们证明,经过精心的预处理和后处理以及数据增强,仅在一个特定的CNN生成器(Pro-GAN)上进行训练的标准图像分类器就可以令人惊讶地将其很好地推广到未知的架构,数据集和训练方法(包括刚刚发布的StyleGAN2 [22])。我们的发现表明,当今CNN生成的图像存在一些共同的系统缺陷,从而阻止了它们实现逼真的图像合成的可能性。

介绍

        随着深度图像合成技术(例如对抗性网络(GAN))的最新快速发展,引起了公众的广泛关注和担忧,人们担心我们正在进入一个无法分辨出哪些图像是真实图像哪些图像是合成图像的时代[15]。这个问题已开始在全球政治中发挥重要作用,比如反对派声称Gabon总统的视频是伪造的,这是导致政变失败的一个因素。许多关注点都针对特定的修改技术,例如“ deepfake”式面部替换[3]和超高像素逼真的合成人像[21]。但是,这些方法仅代表了通过卷积神经网络(CNN)进行图像合成这一广泛技术中的两个实例。我们在这项工作中的目标是找到一种用于检测CNN生成的图像的通用图像取证方法。
        检测图像是否由特定的合成技术生成是相对简单的——只需在包括真实图像和通过相关技术合成的图像数据集上训练分类器即可。但是,这种方法很可能会与图像生成中使用的数据集(例如人脸)相关联,并且由于数据集偏差[40],可能无法泛化到新数据集上(例如汽车)。更糟糕的是,随着生成方法的发展,在原有方法上进行训练的检测器可能很快会失效。

        因此,很自然地要问,现今CNN生成的图像是否包含共同的伪像,例如某种可检测的CNN指纹,这将使分类器能够泛化到整个生成方法家族,而不是单个方法。不幸的是,先前的工作已经报告了泛化是图像取证的关键。例如,最近的几篇著作[48,13,41]观察到,对一种GAN架构生成的图像进行训练的分类器在其他模型上进行测试时性能较差,并且在许多情况下,当仅有数据集发生变化而模型和任务不变时,泛化也会失败[48]。这是有道理的,因为图像生成方法千差万别:它们使用不同的数据集,网络架构,损失函数和图像预处理方法。
        在本文中,我们表明,与当前的理解相反,训练用以检测CNN合成图像的分类器可以在数据集,体系结构和任务之间展现出令人惊讶的泛化能力。我们遵循惯例,通过使用单个CNN模型(我们使用ProGAN,一种高性能的无条件GAN模型[20])生成大量伪造图像,并将模型的真实训练样本作为负样本,来训练一个二元分类器,以检测伪造图像。
        为了评估我们的模型,我们创建了一个由CNN合成图像组成的新数据集,即ForenSynths数据集,该数据集由来自11个模型的合成图像组成,其范围从无条件的图像生成方法(例如Style-GAN [21])到超分辨率方法[14]和deep-fakes[38]。每个模型都在适合其特定任务的不同图像数据集上训练。我们还继续对最初编写本文后重新发布的模型的检测器进行评估,发现它可以在最新的无条件GAN StyleGAN2 [22]上开箱即用。

        在这种方法的简单性之下,我们发现我们通过一系列实验和经过训练的图像生成模型的新数据集研究了许多微妙的挑战。我们发现,以通用图像后处理操作的形式进行的数据增强对于泛化至关重要,即使目标图像本身未经过后处理也是如此。(这句话需要重新表述一下)我们还发现训练图像的多样性很重要;从CNN合成方法中采样的大型数据集会导致分类器的性能优于在较小的数据集上训练的分类器。最后,至关重要的是检查后处理对模型泛化能力的影响,这种影响通常发生在图像创建的下游(例如,during storage and distribution)。我们表明,如果采取正确的步骤,分类器确实对常见操作(如JPEG压缩,模糊和调整大小)具有鲁棒性。
        总而言之,我们的主要贡献是:1)我们证明了在CNN合成图像上训练的取证模型对其他CNN合成方法表现出令人惊讶的泛化能力; 2)我们提出了一种新的数据集和评估指标用于检测CNN生成的图像; 3)我们从实验上分析了影响跨模型泛化的因素。

相关工作

        检测基于cnn的篡改。最近的一些工作已经解决了检测cnn合成图像的问题。Rossler等人[38]评估了检测面部篡改技术的方法,包括基于cnn的面部和嘴的替换方法。研究表明,简单的分类器可以检测出由同一模型产生的假图,但没有研究模型或数据集之间的泛化问题。Marra等人[28]同样表明,简单的分类器可以检测由图像转换网络[18](image translation network)合成的图像,但没有考虑跨模型迁移。

        最近,Cozzolino等人[13]发现取证分类器在模型之间迁移性差,性能往往是随机的。他们提出了一种新的表征学习方法,基于自动编码器,以提升检测器在对各种生成方法进行zero- and low-shot training 的迁移性能。虽然他们的最终目标与我们的相似,但他们采取了一种正交的方法。他们专注于新的学习方法以提升迁移学习,并将它们应用于各种各样的模型(包括CNN和非CNN)。相比之下,我们对不同训练和测试条件下基于cnn的简单“baseline”图像生成器的性能进行了实验研究。张等人[48]发现分类器在GAN模型之间泛化得很差。他们提出了一种名为AutoGAN的方法来生成图像,这种方法包含了GAN结构中常见的上采样伪影,并在两种类型的GANs上进行测试。其他的工作已经提出使用手工制作的cooccurrenc特征或者建立在预先训练的面部检测器上的异常检测模型来检测GAN图像。研究人员还提出了一些方法来确定,在几个已知的GAN网络中,哪一个生成了给定的图像[29,45]。

        图像取证。研究人员提出了多种方法来检测更传统的篡改技术,如图像编辑工具。早期的工作集中在手工制作的线索[15]上,比如压缩痕迹[4]、重采样[36]或物理场景约束[31]。最近,研究人员将基于学习的方法应用到这些问题上[49,17,12,37,42]。这一系列的工作已经发现,像我们一样,简单的、监督学习分类器在检测篡改时常常是有效的[49,42]。

        来自基于CNN生成器的伪造。研究人员最近发现,常见的CNN设计中含有降低其表征能力的伪造痕迹。这些工作大部分集中在网络执行上采样和下采样的方式上。这种伪造痕迹的一个知名例子是由deconvolutional层产生的棋盘伪像[32]。Azulay和Weiss的研究[5]表明卷积网络忽略了经典的采样定理,而大步卷积减少了平移不变性,Zhang [47]通过减少这些层的混叠来改善了平移不变性。 最近,Bau等人[6]提出GAN具有有限的生成能力,并分析了预训练GAN无法生成的图像结构。

3.基于CNN生成模型的数据集

        为了研究经过训练以检测CNN合成图像的分类器的可迁移性,我们收集了由各种CNN模型创建的图像数据集,我们称为ForenSynths数据集。

3.1 生成模型

        我们的数据集包含11个合成模型。我们选择了涵盖各种CNN架构,数据集和损失的方法。所有这些模型都具有上采样卷积结构(即它们通过序列卷积和上采样操作生成图像),因为这是迄今为止generative CNN的最常见设计。其合成图像的示例可在图1中找到。表1列出了每个数据集的统计数据。附录中提供了数据收集过程的详细信息。

 

        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],我们使用裁剪的脸。

3.2 生成伪图像

        我们从模型中收集图像,注意匹配每个模型执行的预处理操作(例如重新调整大小和裁剪)。对于每个数据集,我们通过从模型中生成伪图像来收集伪图像(或下载官方发布的生成图像(如果可用)),未进行额外的后处理。我们从每种方法的训练集中收集了相等数量的真实图像。为了使真实和伪造图像的分布尽可能接近,将根据每种方法规定的流程对真实图像进行预处理。
        由于256×256分辨率是大多数现成的图像合成模型(例如CycleGAN,StarGAN,ProGAN LSUN,GauGAN COCO,IMLE等)中最常见的共享输出尺寸,因此我们将此分辨率用于我们的数据集。对于生成较低分辨率图像的模型(例如DeepFake),我们使用双线性插值将图像等比缩放到较短边边长为256,对于生成较高分辨率图像的模型(例如ProGAN,StyleGAN,SAN,SITD),我们将图像保持在相同的分辨率。尽管这些情况与我们的训练方案略有不同,但我们观察到我们的模型仍然能够在这些类别下检测伪造图像。对于所有数据集,我们对224×224的crops做出真实/假的预测。

4 检测CNN合成的图像

        是否在不同的CNN生成器之间共享共同的特征或伪像?为了理解这一点,我们研究了是否有可能根据一个模型生成的伪造图像来训练诊断分类器并泛化到其它模型上。

4.1  训练分类器

        尽管所有这些模型都可用于评估,但由于数据集大小的限制,并非所有模型都非常适合训练分类器。我们利用这样一个事实,即我们数据集中的无条件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节的后处理中进行了模型鲁棒性实验。

4.2  数据增强的效果

        在表2中,我们研究了使用不同增强方法进行训练的泛化能力。我们发现使用aggressive的数据增强(以模拟后处理的形式)可提供令人惊讶的泛化能力,即使在测试时没有使用此类扰动也是如此。此外,我们观察到这些模型对后处理明显更鲁棒(图6)。

       

 

        增强(通常)可以提高泛化性首先,我们先评估基于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模型上进行测试时,我们的模型也从增强中获得了鲁棒性。

图6:鲁棒性Robustness。 我们展示了给定test-time扰动(左)高斯模糊和(右)JPEG的AP的效果。 我们显示了在ProGAN上进行训练的分类器,在训练过程中应用了不同的增强。 请注意,在所有情况下和两种扰动下,在不进行增强训练(红色)的情况下,添加扰动后,所有数据集的性能都会下降。 在大多数情况下,两种增强训练的效果最佳或接近最佳。 值得注意的例外是超分辨率(没有增强是最好的),而DeepFake则仅在测试期间使用扰动进行训练,而不是两者都表现最佳。

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图像是使用单个模型生成的。

4.4 与其他模型的比较

        接下来,看看我们的泛化性能如何与其它取证方法进行比较如何。我们将我们的方法与Zhang等人 [48]进行了比较。这是一类经过训练以检测由常见CNN架构合成的图像的分类器,许多图像合成任务(例如CycleGAN和StarGAN)都共享这种架构。他们引入了Auto-GAN,这是一种基于CycleGAN生成器的自动编码器,可以模拟类似于CycleGAN图像的伪像。
        我们考虑了Zhang等人[48]的预训练模型的四个变体,每个变体分别从两个图像源(CycleGAN和AutoGAN)之一和两种图像表示(图像和光谱)之一训练。在训练过程中,所有四个变体都包括JPEG和resize的数据增强,以提高每个模型的鲁棒性。我们发现,除了CycleGAN([48]使用的模型体系结构),StarGAN(两种方法均获得接近100.0 AP的模型)外,我们的模型对其他体系结构的泛化效果明显更好。比较结果显示在表2图5中。

4.5 新的CNN模型

        我们希望,随着新的深度合成模型的到来,我们的系统能开箱即用立刻检测。随着最新版本的无条件GAN StyleGAN2 [22]的发布,这种评估场景自然而然产生。 StyleGAN2模型对StyleGAN进行了几处更改,包括重新设计的归一化,多分辨率和正则化方法。在表4中,我们在公开的StyleGAN2生成器上测试我们的检测器。我们使用了Blur + JPEG(0.1)模型,并在LSUN汽车,猫,教堂和马的变体上进行了测试。尽管有这些改变,但我们的技术仍能达到99.1%的AP。这些结果强化了这样的观念,只要使用类似的基本构建块,就可以在现今的生成器上进行全面的训练,并将其泛化到未来的生成器上。

4.6 其他评估指标

        为了帮助阐明threshold-less AP评估指标,我们还计算了其他几个指标(表3)。我们通过图2中的(Blur + JPEG(0.1))模型在每个数据集上提供了精度和召回曲线。我们只需使用分类器,就可以得出模型在测试分布上的uncalibrated的泛化精度我们在训练中学习到的阈值,以及oracle准确性,该准确性选择了可以使测试集的准确性最大化的阈值。我们还考虑了两次拍摄的机制,在该两次拍摄中,我们可以从每个数据集中访问一张真实的图像和一张伪造的图像,并且在两次拍摄的校准过程中仅调整模型的阈值。附录中提供了两次校准的详细信息。(重翻)

4.7 定性分析

        为了了解网络如何将其泛化到未知的CNN模型,我们通过可视化分类器在合成数据集的“虚假性”上的排名来研究分类器可能使用的线索。此外,我们分析了跨数据集的真实图像和合成图像的频率响应之间的差异。
        模型“伪造”排名。我们研究模型是学习由CNN架构生成的精细的低层次特征还是视觉质量等高级特征。采用与以前的image realism工作类似的方法[24,51],我们根据模型的预测对每个数据集的合成图像进行排名,并从我们模型的输出中以“假”得分的第0、25、50、75、100%来可视化图像。
        在大多数数据集中,我们观察到模型预测与合成图像的视觉质量之间几乎没有明显的相关性。但是,BigGAN和StarGAN数据集具有弱相关性。示意如图7随着“假性”得分的提高,图像倾向于包含更多可见的伪造痕迹,从而破坏了视觉质量。这意味着我们的模型可能会在此任务下学会捕捉感知真实性。但是,由于在其他数据集中未观察到相关性,因此该模型更可能从低级CNN伪造痕迹中学习特征。附录中提供了所有数据集的示例。

        CNN图像合成的伪造痕迹。受Zhang等人启发[48],我们将每个数据集的平均频谱可视化,以研究由CNN产生的伪造痕迹,如图8所示。在进行了先前的工作之后,我们执行了一种简单形式的高通滤波(从图像的中值模糊版本中减去图像),然后再进行傅里叶变换,因为它提供了更丰富的可视化效果[29]。对于每个数据集,我们平均超过2000个随机选择的图像(如果较小,则为整个集合)。
        我们注意到在这些可视化中有许多有趣的模式。虽然实际图像光谱通常看起来相似(由于数据集中的差异而有微小的变化),但是在由不同的CNN模型生成的图像中可以看到明显的图案。此外,这些频谱中的重复周期模式可能与伪造痕迹一致,这是[48]考虑的一种线索。有趣的是,最有效的无条件GAN(Big-GAN,ProGAN)包含的伪像(伪造痕迹)相对较少。此外,DeepFake图像不包含明显的伪像。我们注意到,DeepFake图像经过了各种预处理和后处理,其中合成的面部区域被调整大小,混合并用MPEG压缩。这些操作会干扰低层次的图像统计信息,这可能会导致这种可视化方法无法显示频率pattern。

5.讨论

        尽管图像合成方法质量的快速提升引起了人们的警觉,但我们的结果表明,当今的CNN生成的图像保留了可检测到的指纹,可将其与真实照片区分开。这使得取证分类器无需广泛修改即可从一种模型泛化到另一种模型。
        但是,这并不意味着当前情况将持续下去。由于难以获得纳什均衡(?),目前基于GAN的架构都没有优化到收敛,即生成器永远不会win against判别器。如果改变了这种情况,我们会突然发现自己处于合成图像与真实图像完全无法区分的情况。
        即使使用当前的技术,仍然存在实际令人担忧的原因。首先,即使是最好的取证检测器,也要在真实检测率和错误阳性率之间进行权衡。由于恶意用户通常希望创建一个伪造的图像(而不是伪造的分布),因此他们可以简单地手动选择恰好通过检测阈值的伪造图像。其次,可能在社交媒体平台(Facebook,Twitter,YouTube等)上恶意使用伪造的图像,因此数据将经历许多通常aggressive的转换(压缩,调整大小,重新采样)等)。尽管我们在某种程度上表现出了JPEG压缩,模糊和调整大小的鲁棒性,但还需要做更多的工作来评估当前检测器在现实中应对这些转换的能力。最后,迄今为止,已记录的有效部署视觉假图的大多数实例都是使用经典的“shallow”方法,例如Photoshop。我们已经在[42]的面部识别液化数据集上运行了检测器,并进行了实验,发现我们的方法在此数据上表现出随机性。这表明shallow方法与deep方法表现出根本不同的行为,因此不应忽略。
        我们注意到,检测伪造图像只是如何应对视觉虚假信息威胁的一小部分。有效的解决方案将需要纳入从技术到社会再到法律的广泛战略。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【CVPR2020】CNN-generated images are surprisingly easy to spot... for now(假图检测/CNN合成图像的检测/图像取证) 的相关文章

  • Flink 水位线结合窗口进行KeyBy、Reduce案例

    水位线 xff08 Watermark xff09 和窗口 xff08 Window xff09 Watermark 在事件时间语义下 xff0c 我们不依赖系统时间 xff0c 而是基于数据自带的时间戳去定义了一个时钟 xff0c 用来表
  • UML中的五种关系

    UML中的关系 xff08 Relationships xff09 主要包括5种 xff1a 关联关系 聚合关系 依赖关系 泛化关系和实现关系 关联 xff08 Association xff09 关系 关联关系是一种结构化的关系 xff0
  • 摄像头常用接口MIPI,DVP原理图接口定义

    摄像头常用接口 xff1a USB是串行通用串行总线 xff08 Universal Serial Bus xff09 的简称 xff0c 电脑摄像头接口是USB接口 xff0c MIPI MIPI是移动行业处理器接口 xff08 Mobi
  • 内核current指针

    通过current指针获取当前进程信息 current其实一个struct task struct指针 xff0c 指向当前进程 struct task struct task又是struct thread info的一个成员变量 thre
  • DMA(四) - DMA_API_DEBUG

    DMA API DEBUG 为了debug驱动程序及发现使用DMA API时的bug xff0c 检测代码可以编译到kernel中 xff0c 它们可以告诉开发 者那些违规行为 如果你的体系结构支持 xff0c 你可以选择编译选项 Enab
  • CONFIG_KALLSYMS_ALL

    内核配置 在2 6内核中 xff0c 为了更好地调试内核 xff0c 引入了kallsyms kallsyms抽取了内核用到的所有函数地址 全局的 静态的 和非栈数据变量地址 xff0c 生成一个数据块 xff0c 作为只读数据链接进ker
  • sysctl

    sysctl命令用于运行时配置内核参数 xff0c 这些参数位于 proc sys 目录 xff0c 可以使用sysctl修改系统变量 xff0c 也可以通过编辑 etc sysctl conf文件来修改系统变量 sysctl 选项 参数
  • function declaration isn't a prototype解决办法

    对以上程序 xff0c 在编译驱动的时候会出现以下warning 在网上查到解决办法是 xff1a 即使函数括号内没有任何参数 xff0c 也要加一个void类型 xff0c 来避免这种warning xff1a 解决如下 xff1a
  • i2c信号的ACK与NACK

    nbsp nbsp nbsp nbsp nbsp nbsp nbsp 我们平时在调试I2C的时候可能很少去关注NACK信号 只知道如果Master发送数据 MSB先发 LSB后发 连续发送一个字节 8个bit 之后Slave会回复一个ACK
  • ubuntu的recovery mode

    偶尔会遇到Ubuntu无法正常启动的情况 xff0c 这时候需修改某些文件让系统正常启动 xff0c 如果直接进入 recovery 模式 xff0c 默认是文件权限只读 xff0c 无法修改文件 这时我们需要进入recovery 的单用户
  • oprofile库安装与使用

    一 概述 oprofile库是linux平台上的一个功能强大的性能分析工具 xff0c 支持两种采样方式 xff1a 基于事件的采样与基于时间的采样 1 xff09 基于事件的采样 xff1a oprofile只记录特定事件 xff08 比
  • 超声波模块

    HC SR04 简介 HC SR04超声波模块可提供2cm 400cm的距离感测功能 xff0c 测量精度可以达到3mm 模块包括超声波发射器 xff0c 接收器与控制电路 基本工作原理 1 采用Trig引脚触发 xff0c 给至少10us
  • /proc/interrupts

    proc interrupts中的字段依次是逻辑中断号 中断在各CPU上发生的次数 xff0c 中断所属父设备名称 硬件中断号 中断触发方式 电平或边沿 中断名称 proc interrupts的具体实现查看代码kernel irq pro
  • BGP-LS 简介

    BGP LS xff08 BGP Link state xff09 汇总IGP协议收集的拓扑信息上送给上层控制器 产生原因 BGP LS是收集网络拓扑的一种新的方式 BGP LS特性产生前 xff0c 路由器使用IGP xff08 OSPF
  • ubuntu下vnc使用

    使用apt cache search vncserver命令搜索可以用来安装vncserver的软件包 xff0c 这里选用vnc4server安装vnc 2 使用apt get install vnc4server命令安装vncserve
  • 使用“反射”将 Java 中一种对象类型转换为另外一种类型

    将一种对象类型转换为另外一种类型的常用场景 场景如下 xff1a 一般后端是使用 MVC 三层架构进行分层 实体类 User 用于接收数据库中的数据 xff1b 表现层 UserVo 将数据传给前端 这中间免不了要将实体类转换为表现层中的对
  • Ubuntu18.04 vnc灰屏问题

    vnc安装完以后 xff0c 用客户端登录发现只有5901端口可用 xff0c 但是其他端口登录上去以后都是灰屏的 查找了一下 xff0c 需要修改配置文件 vnc xstartup为如下内容 xff1a bin bash export d
  • 安装docker

    1 查看docker安装目录 whereis docker docker usr bin docker etc docker usr libexec docker usr share man man1 docker 1 gz 2 查询运行文
  • 关于PiBOT使用的一些问题汇总--ing

    xff1a 多机通讯是按照教程设置环境变量ROS MASTER URI 初始化 pibot init env sh xff0c 使用rostopic已经能够查看 xff0c 但是主机PC无法启动launch 原因 xff1a 个人测试是需要
  • ubuntu 19.10系统解决E: 仓库 “http://ppa.launchpad.net/webupd8team/java/ubuntu eoan Release” 没有 Release 文件。

    在终端换源后遇到E 仓库 http ppa launchpad net webupd8team java ubuntu eoan Release 没有 Release 文件 问题 解决方法 xff1a 将对应的ppa删除即可 第一步 xff

随机推荐

  • 使用org-mode生成晨检报告

    原文地址 https lujun9972 github io blog 2020 04 10 使用org mode生成晨检报告 index html 我们设置了每天8点多自动进行调用一次晨检脚本 xff0c 该脚本会将检查的一些数据存入本地
  • 使用Pi-hole屏蔽广告

    原文地址 https www lujun9972 win blog 2020 12 05 使用pi hole屏蔽广告 index html 目录 获取Pi的对外IP地址安装Pi hole配置DNS配置拦截域名 获取Pi的对外IP地址 我们一
  • 笑话理解之Mature

    原文地址 https www lujun9972 win blog 2020 12 09 笑话理解之mature index html 目录 The difference between government bonds and men T
  • 笑话理解之Hearing

    原文地址 https www lujun9972 win blog 2020 12 09 笑话理解之hearing index html 目录 The Hearing Problem The Hearing Problem In a chu
  • Emacs 作为 MPD 客户端

    原文地址 https www lujun9972 win blog 2022 06 26 emacs 作为 mpd 客户端 index html 今天才知道 xff0c Emacs居然内置了一个 mpc el 可以将 Emacs 转换为 M
  • 编译SONiC交换机镜像(转,参考2)

    sonic buildimage 编译SONiC交换机镜像 描述 以下是关于如何为网络交换机构建 ONIE 兼容网络操作系统 xff08 NOS xff09 安装程序镜像的说明 xff0c 以及如何构建在NOS内运行的Docker镜像 请注
  • Emacs 作为 MPD 客户端

    原文地址 https www lujun9972 win blog 2022 06 26 emacs 作为 mpd 客户端 index html 今天才知道 xff0c Emacs居然内置了一个 mpc el 可以将 Emacs 转换为 M
  • 使用 calc 计算保险实际收益率

    原文地址 https www lujun9972 win blog 2022 08 10 使用 calc 计算保险实际收益率 index html 今天某银行的客户经理来推销一个 增额终身寿险 xff0c 号称是能锁定3 5 的收益率 具体
  • Emacs使用Deft管理笔记

    1 Deft介绍 Deft是一款写作和管理纯文本格式笔记的工具 通过它可以快速的查到或新建笔记 Deft的下载地址是Deft 也可以通过浏览或者拷贝git仓库 xff1a git clone git jblevins org git def
  • linux挂载samba文件系统的方法

    1 手工挂载 有两个命令可以用来手工挂载samba文件系统 xff0c 一个是mount xff0c 一个是smbmount 1 1 使用mount命令挂载 mount就是用于挂载文件系统的 xff0c SMB做为网络文件系统的一种 xff
  • DB2里面如何进行快速分页?就像mysql的limit之类的

    从百度知道里看到的 xff0c 记录下来以防忘记了 只查询前10行 fetch first 10 rows only SELECT SALE DATE SUM SALE MONEY AS SUM MONEY FROM SALE REPORT
  • linux时间与Windows时间不一致的解决

    转载至http goodluck1982 blog sohu com 138950694 html 一 首先要弄清几个概念 xff1a 1 系统时间 与 硬件时间 系统时间 一般说来就是我们执行 date命令看到的时间 xff0c linu
  • java list中删除元素用remove()报错的fail-fast机制原理以及解决方案

    java list中删除元素用remove 报错的fail fast机制原理以及解决方案 现在有一个list 有6个元素 xff0c 值分别是1 5 5 8 5 10 xff0c 现需要删除值为5的元素 第一种 import java ut
  • PDF 缩略图无法正常显示 解决办法

    先交代一下配置 xff1a win10 43 福晰阅读器 43 Adobe Acrobat DC 有时候PDF无法显示缩略图 xff0c 像下面这样子 提前设置好两个点 xff1a 1 从不显示缩略图的复选框的勾 xff0c 取消 xff0
  • xmanager7开启Xstart 连接远程ubuntu虚拟机

    在想要建立连接的ubuntu虚拟机上安装xterm xff0c 此处我是用的是ubuntu20 04 sudo apt install xterm span class token operator span y 然后打开xmanager7
  • C#窗体应用程序常用控件介绍

    下面图片列出了我目前常用的一些控件 xff1a 1 窗体Form 新建一个C 窗体应用程序 xff0c 默认都会有一个窗体控件 xff0c 窗体就是我们应用程序最大的那个窗口了 窗体常用的属性有 xff1a xff08 1 xff09 St
  • docker load 报 Error processing tar file unexpected EOF 解决

    43 43 echo 201904 0 dirty 20191029 021252 43 43 sed 39 s g 39 43 sudo LANG 61 C chroot fsroot docker tag docker database
  • 论文翻译-Defending Against Universal Attacks Through Selective Feature Regeneration

    CVPR2020 通过选择性特征再生防御通用攻击 有一段时间自己看的论文都没有把相应的翻译或者笔记整理成文档的形式了 xff0c 虽然在PDF上会有一些标注 xff0c 但是觉得还是成稿的形式会方便很长一段时间之后回过头继续看及时回顾起来
  • 2020年3月24日360内推笔试

    考试时长2个半小时 xff0c 笔试题分为三个部分 xff1a 1 20道逻辑选择题 xff08 包括图形找规律 数字找规律 小学奥数 xff09 2 40道基础选择题 xff08 包括计算机网络 C 43 43 补全代码 查看输入输出 p
  • 【CVPR2020】CNN-generated images are surprisingly easy to spot... for now(假图检测/CNN合成图像的检测/图像取证)

    CVPR2020 ORAL 这篇论文的思路很简单 xff0c 就是涉及到的数据收集和用到的GAN太多了 xff0c 一般人可能都没精力去搞 简要概括 xff0c 实验量大 xff0c 效果好 xff0c 抓人眼球哈哈 这篇论文涉及到的GAN