曹申豪,刘晓辉,毛秀青,邹勤*
1.武汉大学计算机学院,武汉 430072;2.国家计算机网络与信息安全管理中心,北京 100029;3.信息工程大学密码工程学院,郑州 450001
人脸图像生成一直是图像生成领域的热点。深度学习的快速发展,尤其是生成对抗网络(generative adversarial network,GAN)和自编码器使得现有生成技术能够生成极为逼真、肉眼难以鉴别的人脸图像。StyleGAN和ProGAN(progressive growing GAN)等生成对抗网络可根据输入的随机向量直接生成一幅高质量人脸图像。人脸检测、人脸分割等技术与生成对抗网络技术结合,可实现只修改人脸图像中的特定区域,加快了人脸交换、人脸重现等人脸编辑技术的发展。
根据生成方式的不同,人脸伪造技术可以分为生成对抗网络(GAN)生成人脸技术和人脸编辑技术。二者的区别在于GAN根据输入的随机向量生成一张世界上不存在的人脸,人脸编辑技术如人脸交换和人脸重现技术是在已存在的人脸上进行修改。对于给定的两幅人脸图像:原始人脸图像和目标人脸图像,人脸交换技术指对目标人脸图像进行修改,使修改后的人脸区域既有原始人脸的长相,又有目标人脸的属性(如表情、肤色和光照等),典型技术如DeepFake、Zao等开源软件的方法。人脸重现技术与人脸交换技术类似,其对目标人脸图像进行修改,使修改后的人脸保留目标人脸的长相和原始人脸的表情与姿态,典型技术包括face2face等。
人脸伪造技术有利有弊。人脸伪造技术可应用于影视作品制作中,增加趣味性和观赏性。另一方面,人脸伪造技术在未经当事人允许的情况下可能存在滥用,对个人的肖像权和名誉权甚至个人的形象造成极大损害。因此,伪造人脸检测技术尤为重要。根据传播载体的不同,伪造人脸检测包括鉴别伪造人脸图像和鉴别伪造人脸视频。
为维护互联网安全,保护互联网用户的隐私权,许多科技公司和研究机构参与到伪造人脸检测技术中。谷歌、Facebook和商汤等科技公司聘请影视演员和发动互联网用户提供人脸视频,斥巨资制作伪造人脸数据集。Facebook举办DeepFake Detection竞赛,促进了伪造人脸检测技术的发展。一些针对伪造人脸检测的高水平论文也陆续发表于IEEE国际计算机视觉大会(International Conference on Computer Vision,ICCV)和IEEE计算机视觉模式识别会议(IEEE Conference on Computer Vision and Pattern Recognition,CVPR)等计算机视觉学术会议。
根据媒体载体的差异,已有的伪造人脸检测技术可分为伪造人脸图像检测技术和伪造人脸视频检测技术。伪造人脸图像检测技术主要以真实图像与生成图像统计分布的差异、图像拼接引入的伪造痕迹以及生成图像的真实性作为判别依据。由于视频在生成和传播过程中可能经过压缩,造成一定程度的伪造信息丢失,已有的伪造人脸图像检测技术并不能完全适用于压缩伪造视频的检测。现有的伪造视频检测方法主要以视频帧内的伪造信息、视频帧间的不一致性和生理信号跳跃性作为判别依据。
人脸伪造技术以人脸图像生成技术为核心。由于视频可视为图像的集合,人脸图像伪造技术也可用于人脸视频伪造。人脸伪造技术主要分为生成对抗网络直接生成伪造人脸技术和人脸编辑技术。其中,人脸编辑技术又包括人脸交换、人脸重现和人脸老化等技术,由于人脸交换技术和人脸重现技术对网络环境安全的危害程度最大,本文主要探讨这两种方法。
深度学习模型可以分为判别模型和生成模型。随着BP(back propagation)算法的提出,判别模型取得快速发展,而生成模型发展相对缓慢。生成对抗网络(GAN)(Goodfellow等,2014)的提出,为生成模型注入了活力。曹仰杰等人(2018)对GAN及其在计算机视觉领域的应用进行了详细介绍。受博弈问题的启发,GAN将生成模型的生成过程建模为生成器和判别器两个网络的博弈过程。生成器依据给定的均匀分布或正态分布的随机向量生成数据,判别器区分出生成数据和真实数据。生成器和判别器的权重交替更新,两个网络在对抗过程中进步,生成器生成的数据越来越接近真实数据。原始的GAN只能生成分辨率较低的图像,图像效果相对真实效果较差。图1展示了GAN根据Toronto Faces Dataset数据集的生成结果,最右侧为真实数据。
图1 GAN生成人脸效果图(Goodfellow等,2014)Fig.1 Example faces generated by GAN(Goodfellow et al.,2014)
深度卷积神经网络比多层感知机(multilayer perceptron,MLP)有更强的拟合与表达能力,并在判别式模型中取得了很大进展。Radford等人(2015)将卷积神经网络(convolutional neural network,CNN)引入生成器和判别器,称作深度卷积对抗神经网络(deep convolutional GAN,DCGAN)。DCGAN是在GAN的基础上提出的一种网络架构,几乎完全用卷积层取代了全连接层,去掉池化层,采用批标准化(batch normalization,BN)(Ioffe和Szegedy,2015),将判别模型的发展成果应用到了生成模型中。图2为DCGAN生成的人脸图像,生成效果相对GAN有了很大提升,但视觉效果仍然较差。
图2 DCGAN生成人脸效果图(Radford等,2015)Fig.2 Example faces generated by DCGAN(Radford et al.,2015)
生成对抗网络直接生成高分辨图像会出现模型崩塌现象,生成器直接生成“鬼脸”骗过判别器,导致生成图像效果很差。Karras等人(2018)提出ProGAN用于生成高分辨率图像,先训练一个小分辨率图像生成网络,然后逐步增大网络模型,生成更高分辨率的图像。具体而言,生成器最初生成4×4像素图像,然后生成8×8像素图像,以此类推,最终生成1 024×1 024像素图像。图3展示了生成的1 024×1 024像素的人脸图像。
图3 ProGAN生成人脸效果图(Karras等,2018)Fig.3 Example faces generated by ProGAN(Karras et al.,2018)
ProGAN由粗到细逐层生成图像,能够生成极为真实的人脸图像,但是ProGAN无法通过改变输入的随机向量来改变输出图像的特定特征。StyleGAN(Karras等,2019)通过对输入向量进行解耦合,并使用AdaIn(adaptive instance normalization)模块(Huang和Belongie,2017),使生成器能够生成指定特征(如发色、肤色等)的人脸图像。图4展示了StyleGAN生成的人脸图像。
图4 StyleGAN生成人脸效果图(Karras等,2019)Fig.4 Example faces generated by StyleGAN(Karras et al.,2019)
假设原始人脸为Xs,目标人脸为Xt,人脸交换即生成一幅保留Xt人脸属性(如表情、光照和角度等),同时具有Xs长相的图像。Deepfake是一项以深度学习为基础的开源人脸交换典型技术,使用者不需要具有专业的剪辑技能,只需要收集足够多的原始人物和目标人物的人脸图像,就能生成真实的换脸图像。除了Deepfake等开源技术,学术界也对人脸交换技术展开了深入研究。
1.2.1 Deepfake技术原理
Deepfake是应用广泛的人脸交换技术,可用于生成换脸图像和视频。Deepfake技术以自编码器(Baldi,2011)为基础。自编码器对输入进行编码,对编码进行解码得到输出,使输入等于输出的网络结构,本质上是一种数据压缩算法。自编码器分为编码器和解码器两部分,编码器将输入转换为隐层空间的表征,解码器对表征进行重建,使输出与输入相等。Deepfake整个网络结构包括一个编码器和两个解码器,如图5所示。编码器用于将输入人脸的属性进行编码,得到Latent隐层空间向量,解码器将隐层空间编码还原为人脸图像。两个解码器Decoder A和Decoder B分别用于对两个人脸编码进行解码,即Decoder A只能将属性编码还原成人脸Face A的长相。Face A人脸通过编码器得到隐层向量Latent Face A,Latent Face A经过Decoder A得到重建人脸Face A,Latent Face A经过Decoder B可得到具有Face A属性和Face B长相的图像。
图5 Deepfake网络结构图(Nguyen等,2019b)Fig.5 The network structure of Deepfake (Nguyen et al.,2019b)
表1整理了已有的开源Deepfake技术实现,它们原理相似,都采用上述编解—码器结构,但在编程框架等实现方式上存在差异。
表1 Deepfake开源代码整合Table 1 Open-source codes for Deepfake
1.2.2 人脸交换研究进展
Deepfake技术虽然能够生成真实的换脸图像,但是需要先收集大量用于交换的两个人的人脸图像,且Deepfake只适用于特定的两个人的人脸图像交换,如果需要交换另两个人的人脸,需要重新收集这两个人的人脸图像,并重新训练。由此可见,Deepfake框架通用性较差。人脸交换领域的学者旨在发明一种通用所有人的、仅需少量样本的人脸交换框架。
Suwajanakorn等人(2015)使用3D建模的方法进行人脸交换,在有数百幅原始人脸和目标人脸图像的情况下取得了出色效果,但不适用于仅有单幅人脸图像的情况。Korshunova等人(2017)使用风格迁移(Johnson等,2016)进行人脸交换,将原始图像的表情、姿态和光线等视为内容,将目标图像的长相视为风格,将换脸过程视为风格迁移过程,实现了在仅一幅原始图像和数十幅目标图像上的人脸交换框架。RSGAN(region separative generative adversarial network)(Natsume等,2018a)同时使用变分自编码器(variational autoencoder,VAE)(Kingma和Welling,2014)和GAN,提出一种可同时用于头发编辑的人脸交换方法。此方法包括两个VAE和一个GAN,首先对人脸中的人脸区域和头发区域进行分割,两个VAE分别将人脸区域和头发区域用隐层向量表征,GAN用隐层表征重建人脸图像,实现了单幅源人脸图像和单幅目标人脸图像的人脸交换。考虑到RSGAN生成的换脸图像头发与原始人脸头发不同,FSGAN(face swapping GAN)(Natsume等,2018b)对RSGAN进行了改进,使生成的换脸图像真实性更高。与RSGAN相似,FSGAN由两个VAE和一个GAN组成,两个VAE分别将人脸区域和非人脸区域(包括头发和背景)编码,GAN用于重建人脸图像。
上述换脸方法存在两个问题:1)生成图像的人脸形状与原始人脸的形状相同,由于要求生成图像人脸长相与目标图像相同,生成图像人脸形状与目标任务相同时真实性更高;2)当原始图像中人物面部带有遮挡物时,如眼镜、头饰等物体,生成图像不包含遮挡物。为解决上述问题,Li等人(2020a)提出了两阶段的换脸框架FaceShifter,第1阶段网络用于生成高保真的换脸图像;第2阶段网络在第1阶段网络基础上为换脸图像增加面部遮挡物。为了保证生成图像的人脸形状与目标图像的人脸形状相同,FaceShifter没有使用人脸检测和人脸分割技术对原始图像人脸区域进行换脸,而是使用类似U-Net(Ronneberger等,2015)的结构直接输出一幅具有目标图像人脸形状的图像。此外,FaceShifter使用自适应注意力反规范化(adaptive attentional denormalization,ADD)对原始图像的人脸长相特征和目标图像的属性特征进行整合,并在整合过程中使用注意力机制动态分配人脸长相特征和属性特征的权重。
假设原始人脸为Xs,目标人脸为Xt,人脸重现即生成一幅同时具有Xt长相和Xs属性(表情、姿势等)的人脸。根据生成方法的差异,已有的人脸重现方法可以分为基于建模的方法和基于网络前馈的方法两类。
1.3.1 基于建模的方法
基于建模的方法主要分为3个步骤。1)对于采集的RGB或RGB-D原始人脸和目标人脸数据,使用人脸追踪或光流的方法对人脸进行建模;2)用原始人脸模型的参数替换目标人脸模型的相应参数;3)利用新的人脸模型生成图像或视频。
Thies等人(2015,2016)提出两种方法,适用于RGB-D视频但仅能应用于表情迁移的实时人脸重现框架以及适用于RGB视频的实时人脸重现框架Face2face。两种方法类似,首先分别对视频中的原始人脸和目标人脸进行建模,得到身份、光照、角度和表情等参数,然后用原始人脸的表情参数替换目标人脸的表情参数,保留目标人脸的身份、光照和角度等参数,最后使用优化的方法并根据新的人脸参数合成换表情后的人脸。两种方法都只对人脸区域进行修改,非人脸区域保持不变。Kim等人(2018)提出可同时迁移表情、角度和眼神的视频人脸重现框架,使用单目人脸重建技术获取人脸的光照、身份、角度、表情和眼神等参数,然后替换目标人脸参数的角度、表情和眼神参数,并根据新参数重建人脸模型。区别于上述两种方法使用优化的方法生成人脸区域图像,此方法将重建的人脸模型作为条件,使用cGAN(conditional GAN)(Isola等,2017)和自编码器结构生成包括人脸区域和非人脸区域的整幅图像。
1.3.2 基于前馈网络的方法
基于建模的方式难以捕捉细微的表情变化,且过程烦琐、复杂度高。随着深度学习的发展,基于前馈网络的方法使用生成对抗网络和自编码器提升人脸重现的效果。基于前馈网络的方法与基于建模的方法整体过程相似,区别在于前者使用神经网络获取人脸参数和生成人脸。
基于前馈的神经网络面临以下问题:1)视频或图像仅包含有限多个人脸表情、光照和角度等状态,因此,在有限训练样本情况下直接训练一个适用于复杂场景的人脸到人脸转换的前馈转换网络是困难的;2)缺少成对的原始人脸和目标人脸用做监督训练。为解决以上问题,基于前馈网络的人脸重现框架借用了Pix2pix(Isola等,2017)和CycleGAN(Zhu 等,2017)等结构,在缺少成对样本的情况下使用自监督的方式进行训练。ReenactGAN(Wu等,2018)使用人脸边界轮廓设计了一个多对一的前馈网络结构,如图6所示,整个网络结构分为3部分:第1部分为编码器,实现提取人脸边界轮廓;第2部分为转换模块,实现原始人脸到目标人脸的边界轮廓转换;第3部分为解码器,根据转换后的边界轮廓生成具有目标人脸长相的人脸图像。
图6 ReenactGAN网络结构图(Wu等,2018)Fig.6 The network structure of ReenactGAN (Wu et al.,2018)
基于建模和基于前馈网络的方法都需要多幅的原始和目标人脸图像,且只能生成特定的目标人脸。Zhang等人(2019)提出单幅图像的换表情方法,仅用一幅原始图像和目标图像实现多对多的人脸重现,生成结果可以媲美使用多幅图像的ReenactGAN,并能生成更真实的胡子和头发。此方法将人脸图像分解到长相和形状两个空间,使用人脸解析网络生成人脸解析特征图并用于指导生成过程,使用自编码器对图像进行重建。然后将长相特征、人脸解析特征图进行特征融合,再与生成网络的中间层特征融合,得到换表情后的图像。
人脸老化等人脸编辑技术也取得了快速发展,宋昊泽和吴小俊(2019)使用条件对抗自编码器,可将每幅人脸图像分别生成10幅不同年龄且细节逼真的图像。
人脸视频伪造技术主要通过局部修改人脸区域的人脸图像伪造技术实现。视频是视频帧的集合,对于视频的伪造,通常先将视频解码成多个视频帧,然后应用伪造人脸图像技术对单个帧进行修改,最后将修改后的视频帧合成视频。由于生成人脸区域和非人脸区域的整幅图像技术在生成的背景区域存在模糊,且通常仅在人脸区域所占大小相对固定的数据集上训练,不适合人脸区域大小变化明显的视频场景,因而现有的人脸视频伪造技术都是通过局部修改人脸区域的方法实现。
将语音风格迁移技术应用于人脸视频伪造技术,可提高伪造视频的真实性。伪造的人脸视频中通常含有讲话的场景,如果伪造视频中的语音音色与讲话人的不一致,则视觉和听觉感官上存在不一致。例如,在将视频中人物A换脸成人物B时,同时也希望视频中的语音具有人物B的音色。语音风格迁移是将一个人的语音音色迁移到另一个人的音色,同时语音的语义保持不变。Hu等人(2019)和Fang等人(2018)分别使用具有编解码结构的CycleGAN和StarGAN实现了语音风格迁移。
伪造人脸以图像和视频为载体传播。根据媒体载体的差异,伪造人脸检测技术可分为对伪造人脸图像的检测技术和对伪造人脸视频的检测技术。伪造图像的检测技术主要基于伪造过程残留的痕迹或伪造图像与真实图像统计分布的差异。由于视频在生成和传播过程中经过压缩,导致丢失单个视频帧中的伪造痕迹,因而对图像的检测方法难以直接应用于伪造视频的检测。针对视频具有连续性和时序性的特点,伪造视频的检测技术主要依据多个相邻的连续视频帧的关联性。
伪造人脸图像技术包括GAN直接生成人脸和人脸编辑技术。前者直接生成一幅原本不存在的人脸图像,后者在已有的人脸图像上进行修改,生成人脸区域图像或包括背景在内的整幅图像。因而,伪造人脸图像检测技术可分为对生成对抗网络直接生成图像的检测和对人脸编辑技术(如换脸、换表情)的检测。
2.1.1 针对GAN生成的人脸图像的检测技术
ProGAN和StarGAN能够生成视觉效果极为逼真的人脸图像,难以肉眼区分真伪。当前的检测方法普遍将检测问题视为二分类问题,基于统计特征或神经网络学习的特征进行鉴别。
McCloskey和Albright(2018)提出GAN生成图像的颜色图像与真实图像在颜色分布上存在差异,通过构建颜色特征并使用支持向量机进行分类。Liu等人(2020)提出生成的图像和真实图像存在纹理差异,并使用Gram矩阵(Gatys等,2015)表示纹理。Xuan等人(2019)提出对图像进行高斯混合和高斯噪声预处理,能提高神经网络的表征能力和泛化能力。FakeSpotter(Wang等,2020)通过监控神经元的激活值以筛选有效特征,先将人脸图像输入到一个人脸识别网络,并求每层激活的平均值,然后将大于均值的激活值作为另一个全连接神经网络的输入,最后用支持向量机分类。
2.1.2 针对人脸交换和人脸重现图像的检测方法
人脸交换和人脸重建技术分为生成包括人脸及背景的方法和仅替换图像中人脸区域的方法两类。对于生成整幅图像的检测,可以借用上述针对GAN生成图像的检测方法。
局部修改的人脸图像的伪造方法存在以下问题:1)在生成过程中往往需要将生成的人脸图像缝合到目标图像上,并在人脸边缘区域进行高斯模糊,使人脸轮廓区域与其他区域存在差异;2)由于生成网络模型只能生成特定分辨率的图像,需将生成的人脸图像经插值放缩到与目标人脸大小一致,使人脸区域与非人脸区域的分辨率不一致;3)在少样本的情况下,生成的人脸图像可能会存在五官变形、细节模糊等问题;4)生成网络生成的图像与真实图像存在统计分布差异。
已有的方法主要针对以上问题进行检测。孙鹏等人(2017)提出一种基于偏色估计的拼接篡改伪造图像检测方法,能够自动检测拼接篡改图像中的色彩偏移量不一致并定位拼接篡改区域。李杭和郑江滨(2017)提出基于噪声方差估计的检测方法,实现对伪造图像的盲检测。Rössler等人(2019)直接使用Xception网络结构在大规模伪造人脸数据集上训练一个二分类网络,证明了仅使用人脸区域图像参与训练效果优于使用整幅图像。同时,伪造图像和视频的压缩程度越高,分类器的检测正确率越低。Li和Lyu(2019)通过生成图像与真实图像在分布上的差异检测真伪,为增强模型的泛化能力,降低制造伪造数据集的消耗,直接将两幅图像的人脸区域进行拼接用于训练,使用图像分割的方法直接输出修改区域的轮廓。Dang等人(2020)引入注意力机制(Choe和Shim,2019)促使模型关注更有意义的信息,并在伪造数据集上进行训练,同时输出分类结果和修改区域的热度图。此方法也适用于对GAN直接生成的人脸图像的检测。FakeLocator(Huang等,2020)使用语义分割方法,采用编解码器的结构对篡改区域进行定位,输出修改区域的热力图。此方法也同时适用于GAN生成的整幅图像和局部修改图像的检测。
俞能海和张卫明团队通过数据增强解决训练集与测试集不匹配问题,提高检测模型在不匹配的数据集之间的迁移能力,并基于Efficient-Net B3网络结构,采用适用于人脸伪造检测的注意力机制,使网络聚焦于篡改痕迹而非其他干扰因素,在Facebook主办的Deepfake检测挑战赛中取得了第2名的优异成绩。商汤团队(Qian等,2020)提出一种局部频域特征网络提取频率域的伪造特征,并使用注意力机制融合时间域信息和频率域信息,该方法对于压缩伪造图像具有鲁棒性。
总体来说,现有的伪造人脸图像检测方法大都使用神经网络提取特征,并进行二分类。此外,针对伪造人脸图像检测方法关注以下研究内容:1)模型能够同时检测GAN生成的整幅图像和局部修改的图像;2)模型能够准确定位修改的区域;3)模型具有较强的泛化能力,即能对训练集未出现的伪造类型和真实场景中的伪造类型进行检测。
由于GAN生成整幅图像的方式容易造成背景扭曲等问题,且无法考虑视频帧间的关联性,因而难以用于生成伪造人脸视频。现有伪造人脸视频技术大多是基于局部修改人脸区域的方法,存在以下缺陷:1)与伪造人脸图像技术相同,单个视频帧内存在伪造痕迹;2)在视频生成过程中,没有考虑视频帧的关联性,生成的视频帧间存在不一致性,如帧跳跃、前后两帧生成细节存在差异;3)生成的人脸视频缺乏正常的生物信息,如眨眼、微表情等。
由于图像在合成视频和视频在传输过程中经过压缩处理,存在一定程度的伪造信息丢失,伪造图像检测方法难以直接应用于伪造视频检测。区别于多幅图像,视频的多个帧间具有时序特征,这是图像检测方法无法捕捉到的。针对上述伪造视频存在的问题,伪造视频检测方法主要分为3类:1)基于帧内检测的方法;2)基于帧间检测的方法;3)基于生理信号的检测方法。
2.2.1 帧内检测方法
基于帧内检测的方法主要针对单个视频帧的伪造信息进行检测,如人脸区域与背景分辨率的差异、生成人脸细节、篡改图像与真实图像存在分布上的差异。已有的方法大都使用卷积神经网络(CNN)提取伪造信息特征,并用全连接网络进行分类。
由于Deepfake生成算法只能生成特定分辨率的图像并放缩到合适大小,拼接到原始视频帧中。Li等人(2018)使用CNN捕捉这种拼接引入的差异进而区分Deepfake视频。相对于以前需要大量伪造的数据集,此方法不需要Deepfake生成的图像作为负样本进行训练,而是采用图像拼接的方法,直接交换两幅图像的人脸区域得到负样本,既避免了生成大量Deepfake视频的算力消耗,又增加了算法的鲁棒性。该方法定义正负样本中人脸的图像为兴趣区,只将兴趣区送入到CNN,训练了VGG16(Visual Geometry Group 16-layer network)(Simonyan和Zisserman,2015)、ResNet50(residual neural network)、ResNet101和ResNet152(He等,2016)4个模型,取平均值作为最终的预测结果。Matern等人(2019)指出生成的人脸在视觉上与真实人脸存在差异,首先得到人脸图像的关键点,通过眼睛和嘴部位关键点的凸包得到眼睛区域和牙齿区域,然后使用纹理表征方法得到眼睛、牙齿区域和整幅图像的特征向量,最后用逻辑斯蒂回归和全连接神经网络进行分类。Nguyen等人(2019a)提出多任务的训练方式,同时检测伪造图像和定位修改的区域,并使用半监督的方法增强网络的泛化能力,整个网络包括1个编码器和2个Y型的解码器,如图7所示,编码器为卷积神经网络,为分割和分类任务提取特征;解码器分为两个分支,一个分支进行分割输出修改区域的分割图,另一个分支用于分类输出判定的真假。相似地,胡永健等人(2021)提出基于图像分割网络的深度假脸视频篡改检测方法。Afchar等人(2018)利用卷积神经网络捕捉帧内信息检测伪造视频,提出两个卷积神经网络Meso-4和MesoInception-4,Meso-4为小规模网络,包括4个卷积层和两个全连接层,MesoInception-4为大规模网络,借鉴Inception模块,将单个视频帧作为输入,将伪造检测作为二分类处理。Yang等人(2019)使用头部的3D姿态估计进行Deepfake伪造视频的检测,发现Deepfake不能保证输入人脸与输出人脸的关键点完全匹配,对于64 × 64像素大小的人脸图像,平均每个关键点存在1.54个像素的差异。在换脸过程中,只交换面部中心区域,保留面部轮廓,因而原始图像与生成图像的所有面部中心区域关键点和面部轮廓的关键点分布存在差异,可以通过3D头部姿态估计进行建模。因此,首先使用Openface2开源软件进行面部姿态估计,得到位移矢量和旋转矢量。然后对位移矢量和旋转矢量作变换,得到特征向量,并用支持向量机分类。
图7 多任务训练框架结构(Nguyen等,2019a)Fig.7 The network structure of the muti-task training strategy (Nguyen et al.,2019a)
2.2.2 帧间检测方法
伪造的人脸视频存在帧间不一致性,原因在于已有的伪造视频方法将视频分解为单视频帧分别进行处理,很少考虑视频帧前后的关联性。例如,许多人脸伪造技术都使用人脸关键点检测技术用于定位人脸的位置,但人脸关键点检测技术本身存在几个像素的误差,如果没有将误差考虑在内,生成的相邻视频帧的人脸位置就会存在明显的视觉差异。已有的伪造视频检测方法使用长短时记忆网络(long short term memory,LSTM)(Hochreiter和Schmidhuber,1997)或光流估计对视频帧间的关联性进行建模。
考虑到生成的伪造视频缺乏时间相关性,Sabir等人(2019)利用视频的时序信息检测伪造视频,结合DenseNet和门递归单元的递归卷积模型(recurrent convolutional network,RCN)挖掘帧间的不一致性,如图8所示,该方法分为两个阶段,第1阶段检测视频帧的人脸区域,然后对人脸区域进行裁剪、对齐;第2阶段将多帧的人脸区域送入RCN中训练学习。相似的,Güera和Delp(2018)结合CNN和LSTM检测Deepfake视频,首先使用InceptionV3提取单帧的特征,然后用LSTM捕捉时序特征,如图9所示。
图8 基于RCN的网络结构图(Sabir等,2019)Fig.8 The network structure based on RCN(Sabir et al.,2019)
图9 基于LSTM的伪造检测网络结构图(Güera和Delp,2018)Fig.9 The forgery-detection network structure based on LSTM (Güera and Delp,2018)
Amerini等人(2019)使用光流估计的方法检测伪造视频。光流指光的流动,比如人眼感受到的夜空中划过的流星。在计算机视觉中,用光流定义图像中对象的移动,这个移动可以是相机移动或者物体移动引起的。具体是指视频图像的一帧中代表同一对象(物体)像素点移动到下一帧的移动量,使用2维向量表示。区别于直接将视频帧作为网络的输入,如图10所示,此方法首先根据相邻的两个帧计算出光流图,然后将光流图作为输入送入VGG16网络。Masi等人(2020)提出结合频率域和RGB域的两分支递归网络用于伪造视频检测。具体地,一个分支使用高斯拉普拉斯滤波器提取频率域特征,另一个分支使用卷积神经网络提取RGB域特征,使用组卷积将频率域和RGB域的特征整合,并输入到LSTM中。区别于先前方法使用交叉熵作为分类的损失函数,该方法使用欧氏距离作为损失函数和测试阶段分类的指标。在训练过程中,预先给定一个常向量,并训练网络缩小真实视频编码与常向量的欧氏距离,同时增大伪造视频编码与常向量的欧氏距离。在测试阶段,如果一个视频的编码与常向量的欧氏距离大于给定的阈值,则将此视频判别为假视频。Li等人(2020c)提出一个部分人脸伪造问题,即视频同一帧内包含多个不同人物,其中只有一个特定人物的人脸区域被伪造。在此情况下,以往基于投票策略的检测方法正确率急剧下降。Amerini等人(2019)针对此场景提出了基于多实例学习的检测方法,将单个视频帧的每个人脸都视为一个实例,并将人脸序列编码成一个时序特征包,利用多实例学习方法对不同包实例的特征进行集成,实现了对部分人脸伪造视频的准确检测。张怡暄等人(2020)提出基于局部二值模式、方向梯度直方图特征和孪生神经网络提取帧间差异特征的人脸篡改视频检测框架。
图10 基于光流的伪造检测网络结构图(Amerini等,2019)Fig.10 The forgery-detection network based on optical flow (Amerini et al.,2019)
2.2.3 基于生理信号的检测方法
在生成伪造视频过程中,往往缺少对生理信号的监督,导致生成的伪造人脸视频缺乏正常的生理信息。
Li等人(2018)提出基于眨眼检测的方法鉴别伪造视频,针对人眼眨眼具有很强的时间依赖性,采用长期递归卷积网络(long-term recurrent convolutional neural networks,LRCN)模型捕捉这种时间依赖性。LRCN模型由特征提取、序列学习和状态预测3部分组成。特征提取模块基于VGG16框架的卷积神经网络(CNN)将输入的眼睛区域(眼部图像)转化为可识别的特征。序列学习模块,以提取的人眼区域特征作为输入,由具有长短期记忆(LSTM)单元的递归神经网络(recurrent neural network,RNN)实现。使用LSTM-RNN是为了提高RNN模型的存储容量,避免训练阶段的反向传播算法出现梯度消失问题。在最后的状态预测阶段,每个RNN神经元的输出进一步发送到神经网络,神经网络由一个全连接层组成,用一个概率预测的二值化表示眼睛状态,即睁眼(0)和闭眼(1)。
2.2.4 公开数据集
表2列举了伪造人脸检测领域公开数据集,包括UADFV(University at Albany Deepfake Videos)数据集(Li等,2018)、Google DeepFakeDetection数据集、DFDC(deepfake detection contest)数据集(Dolhansky等,2019)、TIMIT(Texas Instruments/Massachusetts Institute of Technology)数据集(Korshunov和Marcel,2018)、Celeb-DF(celeb deepfakeforensics)数据集(Li等,2020d)、FaceForensics数据集(Rössler等,2018)、FaceForensics++数据集(Rössler等,2019)、DFDC(deepfake detection contest)数据集(Dolhansky等,2019)和DeeperForensics数据集(Jiang等,2020)。
表2 伪造人脸检测公开数据集Table 2 The datasets of forgery face detection
Li和Lyu(2019)在多个数据集上对几种开源的伪造人脸检测方法进行评估,以帧级AUC(area under the ROC curve)作为评价指标,结果如表3所示。
表3 伪造人脸检测方法AUC结果对比(Li和Lyu,2019)Table 3 AUC results of forgery face detection methods (Li and Lyu,2019) /%
从最初的GAN到最新的StyleGAN,基于生成对抗网络的人脸生成技术已经能够生成高分辨率、真实性高以至于肉眼难以区分真伪的人脸图像。已有GAN直接生成人脸技术仅存在一些细节问题,如生成的头发部分模糊、在生成图像的微小区域存在明显瑕疵、生成的人脸存在局部不对称等。此外,为了使生成对抗网络关注于人脸区域,在生成过程中往往对背景区域进行虚化,因而生成图像的背景缺乏真实性。局部修改人脸区域的人脸伪造技术仅对部分人脸区域进行修改,必然包含图像的裁剪、拼接等操作,从而引入了伪造痕迹,主要体现在:1)生成的人脸区域与非人脸区域统计分布存在差异,且整幅拼接图像与真实图像的分布存在差异;2)由于人脸轮廓区域经过高斯模糊处理,引入了分布误差;3)如果原始人脸与目标人脸像素大小不同,需对生成的人脸区域图像进行放缩,引入了生成区域与原始区域分辨率的差异。
生成整幅图像的人脸技术能够生成包含人脸和背景区域的整幅图像,但存在以下问题:1)因参与训练的样本较少,在原始人脸与目标人脸姿态差异较大时,生成的人脸不逼真;2)直接生成整幅图像的方式难以应用于伪造视频的生成。
现有的人脸视频伪造技术主要使用局部修改人脸区域的方法,存在以下缺陷:1)单个视频帧内存在伪造痕迹,如侧脸生成模糊、人脸部分缺失纹理细节等;2)在视频生成过程中,没有考虑视频帧的关联性,生成的视频帧间存在不一致性,如帧跳跃、前后两帧人脸关键点位置差异较大;3)生成的人脸视频缺乏正常的生物信息,如眨眼、微表情等。
目前针对伪造人脸图像的检测方法主要使用卷积神经网络提取特征用于分类,加入注意力机制以提取更有效的特征,同时采用编解码结构输出伪造区域的热度图。针对伪造人脸视频的方法主要是用CNN与LSTM结合的方式提取时序特征。这些伪造检测方法在公开数据集上取得了较高的准确率。
然而,无论是伪造人脸图像检测还是伪造人脸视频检测,都存在以下问题:1)现有伪造人脸检测方法对真实场景的鲁棒性较差。许多方法都是在已有的公开数据集上进行,但数据集与真实场景的伪造数据存在差异,许多检测方法都只在特定数据上针对某种伪造方法进行训练,在伪造方法未知的真实场景下准确率较低。2)现有的检测方法对图像视频压缩算法的鲁棒性较差。图像和视频在生成和传播过程中经过压缩过程,部分伪造信息丢失,现有在高分辨率数据集上训练的检测方法不适合于低分辨图像、视频的检测,即压缩和非压缩伪造图像视频检测方法存在不一致问题。例如,一段伪造的人脸视频,无论其中的人脸是经过变换、合成还是重构生成的,一定含有伪造的“痕迹”。但是,经过图像压缩之后,这种“痕迹”将变淡,伪造的特征变得“模糊”,从而增加了检测难度。因而,当前研究主要关注于具有压缩不变性的特征提取方法(Cao等,2021)。3)伪造人脸检测技术难以及时应对伪造技术不断升级进化问题。例如,2019年6月,美国加州大学伯克利分校研发的DeepFake假视频识别方法,准确率达到92%,但是随着深度伪造技术的发展,到2019年12月,其对新产生的伪造视频的识别准确率下降到56%。伪造技术不断进化,检测算法往往难以及时应付。如何在获得新的、少量的伪造数据的条件下,更新和优化检测模型,使其能够适应进化后的伪造技术,也是一个亟待解决的难题。4)现有的检测方法不适用于部分人脸伪造的场景,即视频的同一帧内包含多个不同人物,其中只有一个特定人物的人脸区域被伪造。现有的方法大都基于投票策略,检测视频帧中所有人脸的真实性,将其中伪造人脸所占的比例作为评判依据,在部分人脸伪造的场景下准确率下降。
基于生成对抗网络的人脸生成技术已经能生成极为真实的高分辨率人脸图像。以后的研究应丰富生成图像中存在的细节、并修补图像中偶尔出现的微小区域瑕疵,还可考虑生成包含真实场景背景的人脸图像。人脸编辑技术如人脸交换和人脸重现正朝着小样本、通用性和高保真性的方向发展,即在使用样本数目少的前提下,研究适用于多对多的通用性强的人脸编辑技术。
当前针对伪造视频检测技术方法主要使用CNN与LSTM结合的方式,使用CNN捕捉帧内特征,再用LSTM捕捉帧间信息,方法较为单一。可以考虑将视频行为识别、度量学习等领域的方法应用于伪造视频检测。1)可以尝试使用基于区域3D卷积模型,以候选提议的方式将视频划分为多个候选区域,并给予额外的监督,使其重点关注具有伪造信息人脸区域的特征;2)可加入非局部神经网络,学习视频帧间的远距离相关性,使网络模型关注于视频帧间的差异;3)可同时提取频率域和RGB域的特征,伪造图像和视频在频率域含有伪造信息,且对压缩具有鲁棒性;4)可使用度量学习促使伪造特征与真实特征满足指定的分布,如使伪造特征与真实特征的编码距离尽可能远。针对生成伪造视频缺少面部细微活动的特点,可尝试使用微表情捕捉进行伪造人脸视频检测。可以使用面部行为编码系统对人脸的行为建模,并用深度学习方法学习正常视频与伪造视频面部行为的差异。此外,研究通用性高、鲁棒性强、计算资源占用少的伪造人脸检测技术也是未来的发展方向。
本文总结了人脸伪造技术和伪造人脸检测技术的研究进展,将人脸伪造技术分为生成对抗网络直接生成人脸、人脸交换和人脸重现3个部分,从网络结构、通用性和生成效果方面进行深入阐述,并介绍了一种整合伪造音频的伪造视频生成方案。将伪造人脸检测技术分为伪造人脸图像检测技术和伪造人脸视频检测技术,详细介绍了其提取伪造特征的种类、方式以及适用场景的差异。最后提出人脸伪造技术和伪造人脸检测技术研究方法的不足,并对未来的研究方向进行了展望。
目前的生成对抗网络技术能够生成真实性极高的高分辨率人脸图像,但存在局部微小瑕疵、缺乏纹理细节等问题。人脸交换和人脸重建技术都将人脸分解到长相和属性两个空间,设计不同的网络结构和损失函数对特定的特征进行迁移,并采用对抗的思想提高生成结果的真实性。研究少样本、多对多和真实性高的人脸编辑框架是人脸伪造领域的发展方向。
当前伪造图像检测技术主要使用神经网络依据统计分布差异、纹理细节等特征进行检测,并结合语义分割任务同时实现伪造区域的定位。伪造视频检测技术使用结合卷积神经网络和递归神经网络的方式提取帧间和帧内的特征。研究通用性高、鲁棒性强、计算资源占用少的伪造人脸检测技术是未来的发展方向。