FaceForensics++:是一个面部伪造数据集,它使研究人员能够以有监督的方式训练基于深度学习的方法。数据集包含使用四种最新方法创建的操作,即Face2Face、FaceSwap、DeepFakes和NeuralTextures。
合成图像生成和操纵的快速发展引起人们对其社会影响的巨大担忧。这会导致人们丧失对数字内容的信任,也可能会加剧虚假信息的传播和假新闻的捏造,从而带来更大的伤害。在本文中,我们检查了当前最先进人脸图像操纵技术结果的逼真程度,以及检测它们的困难性——不管是自动检测还是人工检测。具体来说,我们聚焦于 DeepFakes、Face2Face、FaceSwap 这几种最具代表性的人脸操纵方法。我们为每种方法各创建了超过50万张操纵过的图像。由此产生的公开数据集至少比其它同类数据集大了一个数量级,它使我们能够以监督的方式训练数据驱动的伪造图像检测器。我们证明了使用额外的特定领域知识可以改善伪造检测方法,使其准确性达到前所未有的高度,即使在强压缩的情况下同样如此。通过一系列深入实验,我们量化了经典方法、新型深度学习方法和人类观察者之间的性能差异。
现在,操纵视觉内容已经很普遍,也是数字社会中最重要的话题之一。比如,DeepFakes 展示了如何使用计算机图形学和视觉技术进行视频换脸,进而破坏别人的声誉。人脸是目前视觉内容操纵方法的主要兴趣点,这有很多原因。首先,人脸重建和追踪是计算机视觉中比较成熟的领域,而它正是这些编辑方法的基础。其次,人脸在人类沟通中起核心作用,因为人脸可以强调某个信息,甚至可以传达某个信息。目前的人脸操纵(facial manipulation)方法分为两类:面部表情操纵和面部身份操纵(见图 2)。最著名的面部表情操纵技术之一 Face2Face 来自于 Thies 等人 [48]。它可基于商用硬件,将一个人的面部表情实时迁移至另一个人。后续的研究(如《Synthesizing Obama: learning lip sync from audio》[45])能够基于音频输入序列使人脸动起来。《Bringing portraits to life》[8] 可以编辑图像中的面部表情。
身份操纵是人脸伪造的第二大类。与改变表情不同,身份操纵方法将一个人的脸换到另一个人的面部。因此,这个类别又叫换脸。随着 Snapchat 等消费者级别应用的广泛使用,这类技术变得流行。DeepFakes 也可以换脸,但它使用了深度学习技术。尽管基于简单计算机图形学技术的换脸可以实时运行,但 DeepFakes 需要为每一个视频对进行训练,这非常耗时。
本研究展示了一种方法,可以自动、可靠地检测出此类人脸操纵,且性能大幅超过人类观察者。研究者利用深度学习的近期进展,即使用卷积神经网络(CNN)学习极强图像特征的能力。研究者以监督学习的方式训练了一个神经网络,可以解决人脸伪造检测的问题。为了以监督的方式学习并评估人类观察者的表现,研究者基于 Face2Face、FaceSwap 和 DeepFakes 生成了一个大规模人脸操纵数据集。{基于经典计算机图形学的方法Face2Face[59]和FaceSwap[2]以及基于学习的方法DeepFakes[1]和NeuralTextures[57]。}
计算机视觉和数字多媒体取证中的纸张交叉点是多个字段。我们将在以下段落中介绍最重要的相关论文
近二十年来,人们对虚拟人脸操作的兴趣迅速增加。 Zollhofer等人发表了一份全面的最新报告。[68]。特别是Bregler等人。[13]提出了一种基于图像的方法,称为视频重写,自动创建一个人的新视频嘴巴的动作。使用视频人脸替换[20],Dale等人。提出了一种最早的自动人脸交换方法。使用单摄像机视频,他们重建两个面的三维模型,并利用相应的三维几何体将源面扭曲到目标面。加里多等人。[29]提出了一个类似的系统来代替一个演员的脸,同时保留原来的表情。VDub[30]使用高质量的3D面部拍摄技术,真实地改变演员的面部,以匹配配音者的嘴巴动作。Thies等人。[58]首次展示了面部再造的实时表情转移。基于消费者级RGB-D相机,他们重建并跟踪源和目标演员的三维模型。源面的跟踪变形应用于目标面模型。作为最后一步,他们在原始目标视频的基础上混合改变的脸。面2面,由Thies等人提出。[59]是一种先进的实时面部再造系统,能够改变商品视频流中的面部动作,例如来自互联网的视频。它们结合了三维模型重建以及基于图像的渲染技术来生成它们的输出。同样的原理也可以应用于结合眼睛跟踪和再现的虚拟现实中[60],或者扩展到全身[61]。Kim等人。[39]学习一个图像到图像的转换网络,将人脸的计算机图形渲染转换为真实图像。NeuralTextures[57]没有使用纯图像到图像的转换网络,而是结合渲染网络优化神经纹理以计算重新生成的结果。与深视频人像[39]相比,它显示出更清晰的结果,尤其是在口腔区域。Suwajanakorn等人。[55]学习了音频和嘴唇运动之间的映射,而他们的合成方法建立在与Face2Face相似的技术基础上[59]。Averbuch Elor等人。[8]提出了一种再现方法,使肖像栩栩如生二维扭曲变形图像以匹配源演员的表达式。它们还与Face2Face技术进行了比较,获得了类似的质量。
近年来,人们提出了几种基于深度学习的人脸图像合成方法。Lu等人。[47]概述。生成性对抗网络(GANs)用于应用面部老化[7],生成新视角[34],或改变面部属性,如肤色[46]。深度特征插值[62]在改变人脸属性(如年龄、胡子、微笑等)方面显示了令人印象深刻的结果。属性插值的类似结果由Fader网络实现[43]。这些基于深度学习的图像合成技术大多存在图像分辨率低的问题。最近,Karras等人。[37]改善了图像质量利用GANs的渐进生长,产生高质量的人脸合成。
多媒体取证旨在确保图像或视频的真实性、来源和出处,而无需借助嵌入式安全方案。早期的方法以完整性为重点,由手工制作的特征驱动,这些特征捕获图像形成过程中出现的预期统计或基于物理的伪影。关于这些方法的调查见[26,53]。最近的文献集中在基于CNN的解决方案上,通过两种方法进行监督和监督学习[10,17,12,9,35,67]。对于视频,工作焦点的主体检测可以用相对较低的努力创建的操作,例如丢弃或复制帧[63、31、45]、不同的插值类型[25]、复制移动操作[11、21]或色度键组合[48]。
其他一些工作明确提到检测与人脸相关的操作,例如区分计算机生成的人脸和自然人脸[22、15、51]、变形的人脸[50]、人脸拼接[24、23]、人脸交换[66、38]还有深赝品[5,44,33]。对于面部操作检测,一些来自合成过程的特殊方法,如眨眼[44],或颜色、纹理和形状提示[24、23]。其他的工作更一般,并提出了一个深度网络训练,以捕捉由低级和/或高级特征引起的微妙不一致[50,66,38,5,33]。这些方法显示了令人印象深刻的结果,尽管它们对于实际应用至关重要,但是每个可靠性问题都无法解决。例如,压缩和调整大小之类的操作因清洗数据中的操作痕迹而闻名。在现实场景中,当图像和视频上传到社交媒体(这是法医分析最重要的应用领域之一)时,这些基本操作是标准的。为此,我们的数据集被设计用来覆盖这些现实场景,即来自野外的视频,以不同的质量级别进行操作和压缩(见第3节)。这样一个庞大而多样的数据集的可用性可以帮助研究人员加强对面部图像的研究,开发出更好的伪造检测器。
经典的取证数据集是在非常可控的条件下,通过大量的人工操作创建的,目的是分离像相机伪影这样的数据的特定属性。虽然有人提出了一些数据集,其中包括图像处理,但只有少数数据集也涉及到视频片段的重要情况。例如,MICC F2000是一个图像拷贝移动操作数据集,由700个来自不同来源的伪造图像组成[6]。第一个IEEE图像取证挑战数据集包括1176个伪造图像;包含90个来自Web的真实操作案例的Wild Web数据集[64]和包含220个伪造图像的真实篡改数据集[42]。Zhou等人提出了一个2010年FaceSwap和SwapMe生成图像的数据库。[66]。最近,Korshunov和Marcel[41]为43名受试者构建了一个由多个视频创建的620个深度赝品视频的数据集。美国国家标准与技术研究所(NIST)发布了最广泛的通用图像处理数据集,其中包括约5万张伪造图像(包括本地和全球操作)和约500个伪造视频[32]。相比之下,我们构建了一个数据库,包含超过180万个图像从4000个假视频-一个数量级比现有的数据集。我们在第四节评估了如此庞大的训练语料库的重要性
本文的一个核心贡献是我们的FaceForensics++数据集扩展了初步的FaceForensics数据集[52]。这个新的大规模数据集使我们能够训练一个最先进的伪造检测器,以监督的方式处理面部图像(见第4节)。为此,我们利用四种最先进的自动面部操作方法,这些方法应用于从互联网上下载的1000个原始视频(统计数据见图3)。为了模拟真实的场景,我们选择了在野外收集视频,特别是从YouTube上。然而,早期的实验操纵方法表明,为了防止操纵方法失败或产生强伪影,目标面必须接近正面。因此,我们对生成的视频片段执行手动筛选,以确保高质量的视频选择,并避免使用带有人脸的视频闭塞。我们选择了1000个包含509914幅图像的视频序列作为原始数据。
为了生成一个大规模的操作数据库,我们采用了最先进的视频编辑方法来完全自动工作。在下面的段落中,我们将简要介绍这些方法
对于我们的数据集,我们选择了两种基于计算机图形的方法(Face2Face和FaceSwap)和两种基于学习的方法(DeepFakes和NeuralTextures)。所有四种方法都需要源和目标参与者视频对作为输入。每种方法的最终输出都是一段视频生成的图像。除了操作输出外,我们还计算了指示像素是否被修改的地面真值掩模,可以用来训练伪造定位方法。有关更多信息和超参数,请参阅附录D。
FaceSwap是一种基于图形的方法,用于将人脸区域从源视频传输到目标视频。基于稀疏检测到的人脸标志,提取人脸区域。使用这些标记,该方法适合使用混合形状的三维模板模型。通过最小化差分,该模型被反投影到目标图像上
在投影形状和使用输入图像纹理的局部地标之间。最后,将渲染模型与图像融合,并进行颜色校正。我们对所有源帧和目标帧对执行这些步骤,直到一个视频结束。该实现在计算上是轻量级的,并且可以在CPU上高效运行。
DeepFakes
Deepfakes一词已经广泛地成为基于deeplearning的facereplacement的同义词,但它也是一种通过在线论坛传播的特定cmanipulationmethod。为了区分这些,我们在下面的文章中用深度赝品来表示这种方法。有各种各样的DeepFakes公共实现可用,最显著的是FakeApp[3]和faceswap github[1]。将目标序列中的面替换为在源视频或图像集合中观察到的面。该方法基于两个具有共享编码器的自动编码器,分别训练用于重建源人脸和目标人脸的训练图像。人脸检测器用于裁剪和对齐图像。若要创建假图像,源面的经过训练的编码器和解码器将应用于etargetface。然后,使用Poissonimage editing(泊松图像编辑)将AutoencodeRoutPut与StoftheImages(自动编码图像)混合[49]。对于我们的数据集,我们使用faceswap github实现。我们用一个完全自动化的数据加载器替换手动的训练数据选择,从而稍微修改了实现。我们使用默认参数来训练视频对模型。由于这些模型的训练非常耗费时间,因此我们将模型放在数据集的旁边。这有助于通过不同的后处理对这些人产生额外的操作。
Face2Face[59]是在保持目标人身份的同时将源视频的表达式传输到目标视频的FacialReenactment系统。最初的实现是基于两个视频输入流,使用手动关键帧选择。这些帧用于生成一个密集的人脸重建,可用于在不同的光照和表情下重新合成人脸。为了处理我们的视频数据库,我们采用Face2Face方法来完全自动创建重生成操作。我们在预处理过程中处理每个视频;在这里,我们使用第一帧以获得临时的面部身份(即3D模型),并跟踪帧上的表情。若要选择方法所需的关键帧,请自动选择具有面的最左和最右角度的帧。基于这种身份重建,我们跟踪整个视频,以计算每帧的表达式、刚性姿势和照明参数,就像在最初的Face2Face实现中一样。我们通过将每个帧的源表达式参数(即76个混合形状系数)传输到目标视频来生成再现视频输出。关于再制造过程的更多细节可以在原始论文[59]中找到。
Thiesetal。[57]将FacialReactivation作为基于神经纹理的渲染方法的示例。它利用原始视频数据学习目标人的神经纹理,包括一个渲染网络。这是训练与光度重建损失与对抗性损失相结合。在我们的实现中,我们应用了Pix2Pix中使用的基于补丁的GAN损耗。Neuratextures方法依赖于列车和测试期间使用的跟踪几何结构。我们使用面2的跟踪模块来生成这些信息。我们只修改与嘴区域相对应的面部表情,即眼睛区域保持不变(否则,对于类似于深视频肖像的眼球运动,理解网络需要有条件的输入[39])。
为了给被操纵的视频创建一个真实的设置,我们生成不同质量级别的输出视频,类似于许多社交网络的视频处理。因为很少能找到原始视频在互联网上,我们使用H.264编解码器对视频进行压缩,这在社交网络或视频共享网站中得到了广泛的应用。为了生成高质量的视频,我们使用HQ(恒定速率量化参数等于23)表示的视觉上几乎无损的光压缩。低质量视频(LQ)使用40的量化产生。
我们将伪造检测作为一个主要视频的每帧二进制分类问题。以下部分显示了手动和自动伪造检测的结果。对于所有实验,我们将数据集分成固定的训练、验证和测试集,分别由720、140和140个视频组成。使用测试集中的视频报告所有评估。
参考 https://www.jiqizhixin.com/articles/2019-01-31-12
http://www.cnblogs.com/alan-blog-TsingHua/p/9827747.html