多媒体安全(1)-DeepFake Creation and Detection: A Survey

DeepFake Creation and Detection: A Survey

2021年发布

原文翻译(机翻)

摘要:

DeepFake最近变得非常流行。DeepFake一词是指使用深度学习技术生成的任何对人们来说看起来逼真的多媒体内容。尽管DeepFake取得了有益的进步,但它一直是威胁个人隐私的主要原因,在这种情况下,一个人的脸可以在未经同意的情况下以无法区分的方式与另一个人交换。此外,恶意政党很容易通过传播错误信息并对国家安全产生负面影响来接管选举等公共活动。因此,检测这种DeepFake是一个关键但具有挑战性的问题。基于人眼的DeepFaked内容与真实内容的分离一直是一项艰巨的任务;但最近的研究表明,尽管存在一些局限性,但使用不同的技术可以记录相同的良好结果。因此,本文探讨了用于DeepFake创建和检测的不同算法;全面概述所使用的技术,旨在确定其优缺点。

索引术语——DeepFake创建和检测、人脸交换ping、编解码器、生成对抗网络、LSTM、卷积神经网络、递归神经网络。

引言:

使用photoshop或类似的编辑工具操纵图像或视频一直存在,但用人眼检测更简单。基于机器学习的方法、人工智能等的最新进展使得创建人眼不易识别的多媒体内容成为可能,无论是真实的还是虚假的。这些可以被称为“DeepFake”——看起来真实而逼真,但事实并非如此。

DeepFake在娱乐领域、教育、游戏和可访问性方面具有广泛的应用和巨大的可能性。当我们使用人工智能生成的合成媒体让历史人物复活时,教室可以变得更加互动和引人入胜。例如,2019年4月,一家名为“不再疟疾”运动的健康慈善机构;使用DeepFake技术制作了大卫·贝克汉姆的视频和语音封面。作为这场社交活动的一部分,贝克汉姆毫不费力地用九种语言向公众传达了这一信息。此外,DeepFake通过将最新配件虚拟化为模型,帮助客户尝试最新配件。许多时尚零售企业正在利用这项技术,通过应用程序捕捉客户的面部表情、体格,甚至微小的举止,并生成DeepFake,以进一步用于尝试全新的时尚趋势。日本一家人工智能公司“数据网格”最近引入了人工智能引擎的概念,该引擎可以生成各种真实感的模型。这项技术通过允许人们拥有虚拟审判室,帮助他们在处理商品之前对其进行试用。DeepFake方法可以通过构建人工智能生成的3D环境世界来吸引客户,从而帮助零售品牌尝试和增强他们的空间。

然而,如果落入坏人之手,这可能会成为一种不道德的做法,也可能被用于恶意活动。它涉及使用换脸制作名人的色情视频,在选举等公共事件中制作政治领导人的虚假演讲等。这些恶意活动在影响公众舆论方面起着至关重要的作用,往往导致政治动荡和混乱[1]。任何知名人士或公众人物都可能成为攻击目标。最近,一款名为Deep Nude的应用程序因其能够以数字方式更改图像以删除女性衣服而遭到愤怒,被从Windows和Linux商店下架。随着FACE APP等广泛的移动应用程序的出现,DeepFake技术变得可以被普通人使用。它可以在人脸上产生非常逼真的性别、年龄等变化的图像。由于DeepFake制造了一种错觉,即一个人说了一些他们没有说的话,并且有能力伪造任何东西;这是一种可能对公众形象和普通人产生影响的危险。随着DeepFake的使用越来越多,金融诈骗的突然增加变得显而易见。伪装是另一种导致人们相信他们正在与信任的人交谈的不当行为。音频DeepFake克隆人的声音会导致模仿。骗子利用DeepFake的技术首席执行官的声音误导员工,导致大量资金转移到骗子的账户。每年都会发生这种情况。去年,骗子用同样的伎俩骗取了一家公司24万美元。

DeepFake的传播速度比预期的要快,并造成了非常严重的问题;有必要拥有自动工具和技术来检测虚假内容。社交媒体渠道是广泛使用的平台之一,在这些平台上,此类内容在没有任何身份验证的情况下被转储。最近,脸书作为领先的社交媒体网站,与微软公司合作,启动了DeepFake检测挑战赛,以检测被操纵的数据[图1]。同样,DARPA的媒体取证项目也在研究DeepFake检测技术,该团队的目标是“数字完整性”,物理完整性和语义完整性。

本文的进一步结构如下:第二节探讨了用于创建DeepFake的不同算法。第三节讨论并阐述了DeepFake检测算法以及DeepFake的创建和检测方法,第四节总结了结果和发现。

随着技术的出现,DeepFake正在成为对社会和人们的威胁。如今,任何人都可以在计算机的帮助下简单地操纵或创建虚假内容,而不需要知道域名。FaceApp、DeepFaceLab等几个应用程序都是做同样事情的应用程序。所有这些应用程序都建立在深度神经网络上。它可以用来描绘一个人从未说过的话和行为。有两种方法可以在视频上执行DeepFake。它们包括伪造音频和将良性图像叠加到合法图像中。用于创建DeepFake的最常见方法是生成网络和编码器-解码器网络。自动编解码器是最常用的一种。两个解码器和编码器用于训练模型。第一个任务是创建特征向量。此外,特征向量由编码器获取,图像由解码器解码。

image-20241016153425098

最初,原始面部A和目标面部B被赋予各自的编码器网络,并创建潜在面部。由于网络共享相同的编码参数,因此可以获得图像之间的共性,并将其反映在相应的潜在面部中。在下一阶段,潜在的面部A被馈送到解码器B中,反之亦然,然后解码器B从面部A重新生成面部B,从面部B重新生成面部A。(图2)与网络相关的误差函数决定了输入和输出之间的差异。基于误差函数的结果,可以调整网络中的权重以获得更好的结果。

生成对抗网络(GAN)的不同架构是用于实现DeepFake的另一种流行技术。Ian Goodfellow等人[2]和其他研究人员在2014年介绍了GAN框架。生成器和分配器是网络的两个主要组成部分,它们是卷积神经网络的一部分。生成器生成样本数据,鉴别器确定或分类样本是由G生成的还是真实的。G将尝试生成一个输入样本,以最大限度地提高D出错的概率。因此,在训练结束后,生成器将生成看起来完全逼真的假图像。STARGAN[3]、ATTGAN[16]、STYLE GAN[6]等GAN架构能够执行各种转换,如改变图像的表情或颜色。Karras等人创建了STYLEGAN2[17],这是STYLEGAN的改进版本,通过在生成器部分引入正则化方法、重新设计归一化和多分辨率。Faceswap GAN[19]架构利用了生成网络(CycleGAN)和编码器-解码器网络的组合,以及VGGFace[18]中的直观损失,将其添加到编码器-解码器中以产生更好的结果。

DEEPFAKE DETECTION

DeepFake旨在制造仇恨言论和骚扰他人。由于它会影响安全和隐私问题,因此必须使用自动工具来检测DeepFake。Guera等人[4]提出了一种端到端的可训练卷积LSTM结构,该结构由用于在帧级提取特征的CNN和用于序列处理的LSTM组成。在CNN的最后一个池化层之后产生的特征向量被馈送到RNN中,RNN递归处理序列以对输入数据进行分类,如图3所示。使用不同长度的视频子序列测试了所提出的时间感知系统的性能,发现网络可以在2秒内检测到视频数据是真实的还是虚假的。为了检测不同DeepFake技术生成的人脸,Wang等人[15]提出了使用专用CNN并分析其行为的“FakeSpotter”。Rossler等人[7]已经证明,用于生成DeepFake的简单CNN也可以作为检测和分类DeepFakes的方法。Marra等人[10]还展示了一种几乎相同的方法,图像分类器可以用来生成和注意DeepFake,但这两种模型都无法将模型推广为DeepFake数据集。

image-20241016153804252

Agarwal等人[8]的研究提出了一种将嘴形与假唱动作相匹配的方法。在这里,作者采用了一种法医方法来检测DeepFake。它主要对DeepFake一代进行分类,方法分为三种:假唱、换脸和木偶大师。假唱侧重于保持人的嘴或嘴唇动作与所需音频的一致性,而面部交换则将视频/图像中的原始面部与目标面部交换。演员兼导演乔丹·皮尔使用假唱技术制作了一段著名的奥巴马说特朗普总统煽动性言论的视频,这就是一个众所周知的例子。这一类中的第三种是演员在镜头前表演的一种技巧,通过他们的头部动作、面部表情和眼球运动来模仿目标人物。所提出的模型基于这样一个事实,即每个人说话时都有不同的面部表情和肌肉运动。这些肌肉运动是使用名为OpenFace2的工具包捕获的。该工具包在面部动作单元(AU)的帮助下对面部肌肉的运动进行加密。该工具包提取并找出这些面部动作单元的存在及其强度。除此之外,它还产生了2D和3D面部地标位置、头部位置等。该模型是在从YouTube收集的视频上训练的,其中感兴趣的人(POI)主要面向相机。它包括17个AU,其中只有16个适用于此型号,而眨眼AU被删除了,因为它在某种程度上不符合我们的目标。为了区分一个人的运动特征,该模型依赖于皮尔逊相关性,皮尔逊相关性反过来计算这些特征之间的线性关系。每个10秒的视频剪辑被缩小到维度190的特征向量。该特征向量用作确定内容是真实的还是伪造的输入。基于Deep伪架构,训练了一个生成对抗网络(GAN),在每个POI和它们的模仿者之间交换人脸。网络将模仿者的脸与POI的脸进行交换,在每个视频帧上匹配模仿者的表情和头部姿势。然后,它构建了一个SVM来识别DeepFake和一个人与另一个人。尽管这种方法与压缩相反是强大的,但这种方法很容易受到人们说话的不同因素的攻击,即当POI持续远离相机时,动作单元的性能可能会受到令人信服的危害。然而,DeepFake通常是面部移动和像嘴巴一样的起伏动作,单独使用它并不能帮助准确识别DeepFake。

Mohamad Farukh Hashmi等人[9]和其他研究人员为使用卷积LSTM架构检测视觉假冒产品设定了一个新的基准。网络首先在数据集上运行地标检测算法,以定位面部区域,需要512个地标来定位面部区域。然后,CNN从这些点中提取特征。LSTM存储时间“t”中每个帧“f”的特定模式。最后,管道通过使用中间值收敛到最终状态。所提出的架构是内存高效的,因为CNN在不保存特征的情况下提取了特征,从而减轻了LSTM的负担。但是,如果我们不能检测到整个面部区域,就会对所达到的准确度产生负面影响。为了获得不错的结果,需要一个完整的面部和至少10秒的视频,以达到更好或更高的精度,最好是15-30秒的持续时间。

Sabir等人[24]指出,帧之间的相似性或时空依赖性在合成过程中无法保持不变,这些差异可以在循环卷积模型(RCN)的帮助下检测到。当对从FaceForencis++数据集收集的数据进行测试时,该系统显示出更好的结果。由于DeepFake算法生成的图像分辨率有限,为了使其逼真,图像必须经过一些仿射变换(剪切、旋转和缩放)。Yuezun Li等人[11]指出,由于解决了面部和邻近区域之间的不一致性,这种转换会产生伪影,并且可以被CNN识别出来。在使用仿射人脸扭曲创建的人脸图像上训练了四个CNN模型——ResNet50、ResNet101和ResNet152、VGG16,数据集由24442张JPEG人脸图像组成,作为正例和负例。研究得出结论,在四个CNN网络中,ResNet网络的表现优于VGG16。在DeepFakeTIMIT数据集和UADFV数据集上与HeadPose[12]和MesoNet[13]两种检测方法进行比较;结果表明,ResNet模型优于其他所有技术。使用ResNet50可以获得最佳性能。然而,使用卷积神经网络进行检测有很多局限性:它们缺乏鲁棒性,在不使用任何指纹的情况下,它们会从图像中提取语义,并且对训练的环境非常特定。为了解决这些局限性,Luca Guarner等人[14]讨论了一种针对DeepFake的逆向工程方法,以捕获在使用生成对抗网络(GAN)创建DeepFake时可能生成的卷积痕迹(CT)。GAN中不同层执行的操作会影响假图像中像素的局部相关性,这可以使用期望最大化算法(EM)进行分析。EM生成一个特征向量,表示图像启动期间转置卷积层的结构。该方法在6个数据集上进行了评估,这些数据集包含由5个不同GAN创建的DeepFake:ATTGAN、GDWCT、STARGAN、STYLEGAN和STYLEGAN2,以及一组真实图像(CELEBA)。卷积痕迹(CT)充当指纹来识别DeepFake中的图像,并确定生成它的GAN架构。

由于逼真的DNG图像造成的安全威胁令人担忧,因此对其进行识别的研究将具有很高的价值。现有的GAN模型没有正确解决真实图像的许多固有特征,如不同颜色成分的特征。李浩东等。[5] 讨论通过研究颜色分量之间的这些差异来确定深度网络生成(DNG)图像的缺点。尽管我们无法在RGB颜色空间中将真实图像和DNG图像分开,但它们在不同的颜色空间中更为明显。因为,在使用GAN生成图像时,它关注真实图像的属性,较少关注其他颜色空间中的属性。因此,DNG图像在3种不同的颜色空间中进行检查,即RGB、HSV和YCbCr。当通过计算相邻像素之间的相关性来考虑HSV和YCbCr颜色空间的色度分量时。,而残差域中的差异更为明显。通过分析残差域中的这些差异,设计了一个特征集来识别DNG图像。所提出的特征集具有低维特性,即使在较小的训练集下也能获得良好的检测性能。单类分类器仅使用真实图像进行训练,以处理研究人员对生成模型没有任何理解,因此在组装分类器时没有DNG图像样本的情况。当训练和测试数据不匹配时,所提出的模型超越了现有的方法,并且能够精确地检测DNGimages。此外,在使用真实图像训练的单类分类器的帮助下,当GAN模型未知时,只有模型的性能达到了标准。在使用GAN本身检测GAN生成的图像方面已经做了几项工作,发现分类器在GAN模型之间的泛化能力很差[25]。由于在生成方面存在局限性,并且需要更大的计算能力,很明显,GAN模型在单独检测DeepFakes方面并不那么可靠。

到目前为止,该论文主要解释了生成的工件或者DeepFake检测算法固有的方差。Xin Yang等人[12]提出了一种依赖于神经网络固有局限性的模型。在交换面部区域时,眼睛和嘴唇等重要位置并不能保证地标匹配。在这些区域中引入的误差可能无法用肉眼检测到,但可以在从面部图像估计3D头部姿势时检测到。基于使用全组面部标志估计的头部姿态与中心面部区域的头部姿态之间的差异,作者训练了SVM分类器来区分DeepFake与真实图像或视频。但是,当图像或视频模糊或压缩时,模型的准确度会降低。评估是通过使用由各种伪造图像和视频攻击组成的四个数据集来完成的。Afchar等人[13]创建的DeepFake人脸交换数据集、Idiap研究所重放攻击数据集、Face2Face方法生成的面部重现FaceForensics数据集以及Rahmouni等人[23]生成的完全计算机生成的图像数据集就是其中之一。所提出的系统对几种伪造的图像和视频攻击有效,也证明了在构建胶囊网络的通用检测系统中。与流行的方法相比,该技术可确保最佳性能。

CONCLUSION

本文是用于创建和检测DeepFakes的各种方法的集合。用于创建DeepFake本身的深度学习方法为其检测开辟了一条道路。从分析中可以看出,CNN是检测DeepFake的最优选方法。DeepFake创建过程中产生的不一致可以使用几个CNN模型来检测。尽管更好的预处理和其他网络与CNN的几种组合可以获得更好的性能,但它们缺乏鲁棒性,并且非常特定于训练它们的环境。对于GAN生成的合成图像,已经进行了几项使用GAN本身检测GAN生成图像的工作,发现分类器在GAN模型之间的泛化能力较差。由于在生成方面存在局限性,并且需要更大的计算能力,很明显,GAN模型在单独检测DeepFakes方面并不那么可靠。

DeepFake有很多积极的用例,但它的恶意使用占主导地位。随着DeepFakes的质量不断提高,必须改进检测工具来识别它们。但检测方法仍处于早期阶段。如今流行的方法主要关注DeepFake生成管道的缺点,即找出竞争对手利用它们的弱点。在攻击者通常试图隐藏DeepFake创建技术的情况下,与此相关的信息并不广泛。此外,还需要更多的研究和工作来找出特征并隔离推广它的源用户。

阅读笔记

创建DeepFake的算法:

视频执行DeepFake可以通过伪造音频和进行图像叠加,而创建DeepFake算法一般有两种:generative networks和encoder-decoder network,其中后者最常见的是Auto encoder-decoder。如图三,特值向量由编码器获得而图像由解码器解码。A和B有各自的编码器网络,编码后获得图像间的共性,将其反应在潜在面部中,之后将潜在面部B发送到解码器A生成重构的面部A,面部B也是这样。

而另一种流行方式则是GAN的不同架构,生成器和分配器是两个重要的组件,也是卷积神经网络的一部分。生成器用于生成样本给鉴别器检测判断其是真实的还是由生成器生成的,而生成器则需要尽可能地让鉴别器出错,也就是说生成足够真实的图像,而这个训练过程也会让生成器得到更逼真的图像。

DeepFake检测

Guera:端到端可训练卷积LSTM结构,由用于在帧级提取特征的CNN和用于序列处理的LSTM组成,CNN产出的特向量到RNN中,RNN递归处理该序列来分类数据

Wang:提出一个用CNN并分析其行为的FakeSpotter

Rossler:简单CNN也可用于DeepFake的检测和分类;同时Marra与之类似,提出图像分类器可以用于产生和识别DeepFake,但两者都无法将模型推广为DeepFake数据集

Agarwal提出将嘴型与假唱动作匹配,他主要对DeepFake的生成进行分类:假唱、换脸、木偶大师。假唱需要保持人的嘴型与音频一致,而换脸需要将原始面部与目标面部交换,而木偶大师则是人在镜头前用头部动作、面部表情、眼球运动来模仿目标人物。但由于每个人说话时有不同的面部表情和肌肉运动,故可以使用OpenFace2去捕获这些肌肉运动。其依赖面部动作单元(AU)的帮助,提取每个AU的存在和强度,还有2D/3D面部标志位置、头的位置。该模型依赖于皮尔逊相关性。基于DeepFake训练一个GAN,每个POI与模仿者换脸,构建一个SVM去识别。

Mohamad:为使用卷积LSTM检测定了一个新基准。使用地表检测算法定位面部区域,需要512个地标,然后CNN从这些点提取特征,LSTM记录时间t内每个帧的特定模式,最后使用中间值收敛到最终状态。不足:需要完整面部和不少于十秒的视频。

Sabir:由于帧之间的相似性与时空依赖性在合成过程中无法保持不变,这些差异可以在循环卷积模型(RCN)的帮助下检测。

Yuezun Li:由于DeepFake生成的图片分辨率有限,为使其更加逼真,图像需要经过仿射变换,而这些变换会产生伪影,并且可以被CNN识别。

Luca:针对DeepFake展开逆向工程,捕获GAN创建DeepFake时可能存在的卷积痕迹。

Haodong Li:现在GAN未正确解决真实图像中许多固有特征,如不同颜色成分特征。在三种颜色空间:RGB、HSV、YCbCr,通过颜色分量之间的差异来确定DNG缺点。通过分析残差域中差异,设计特征集,其具有低维特性,即小的训练集既能有良好的检测性能。

Xin Yang:提出一种依赖于神经网络固有局限性的模型,在面部交换时,眼睛、嘴唇等无法保证完全匹配,基于这些差异训练了SVM。

总结

CNN是检测DeepFake的最优选方法。DeepFake创建过程中产生的不一致可以使用几个CNN模型来检测。尽管更好的预处理和其他网络与CNN的几种组合可以获得更好的性能,但它们缺乏鲁棒性,并且非常特定于训练它们的环境。

相关模型介绍

生成算法在上面已经较为清楚,接下来主要针对检测算法中的模型进行介绍。

CNN:卷积神经网络,用于处理网络结构的数据,特别是图像。分为卷积层,池化层,全连接层。卷积层利用卷积操作提取输入数据的特征;池化层在卷积层之后,减少特征图尺寸,降低计算量同时保持重要信息;全连接层在CNN的最后阶段,将提取的特征映射到输出,如分类标签。

RNN:循环神经网络,用于处理序列数据的神经网络架构,能够有效捕捉数据中的时序关系。分为输入层,隐藏层,输出层。输入层接收数据输入,隐藏层是RNN的核心,由多个时间步的递归结构组成,在每个时间步隐藏层会接收当前输入并获取前一个时间步的隐藏状态。输出层将隐藏状态转换为网络需要的输出形式。RNN具有递归结构,其在处理序列数据时会将之前的状态与当前输入一起传递到下一个时间步,这使得RNN能够在处理每个输入时考虑到之前的信息。而时间步是RNN逐步接收序列中的每个元素,在每个时间步,当前输入与前一个时间步的隐藏状态结合生成新的隐藏状态。

另,还有一个RNN是递归神经网络,循环神经网络主要从时间上展开,递归从空间上展开,所以后者更多地用在处理树状结构数据,如语法分析语义分析等。

LSTM:长短期记忆网络,一种特殊的RNN,用于处理和预测序列数据。比RNN更好的捕捉长时间序列中的依赖关系。LSTM通过引入三个关键门来控制信息的流动,从而解决了RNN在处理长序列时的梯度消失和梯度爆炸问题,分别是遗忘门、输入门、输出门。遗忘门决定以往多少过去的信息,通过对输入的当前状态和先前的状态进行计算,输出0到1的值,来选择保留和丢弃哪些信息;输入门决定哪些新信息被存储到单元,同样是通过计算当前输入和先前状态;输出门决定当前单元状态的哪一部分会被输出到下一层或下一个时间步。即:

  • 输入当前数据,并利用遗忘门决定保留多少先前的信息。
  • 计算新输入的影响并通过输入门进行更新。
  • 通过输出门生成当前的输出。

SVM:支持向量机,用于分类和回归分析。机器学习(九):支持向量机SVM(超详细理论基础)_支持向量机的分类模型-CSDN博客

寻求一个最优超平面,以最大化不同类别之间的间隔。

RCN: recurrent convolutional model 循环卷积网络,CNN中加入循环卷积层,并不常见

posted @ 2024-10-16 22:09  Orey-May  阅读(239)  评论(0)    收藏  举报