新智元报道
由于生成模型的快速发展,高保真度的人脸图片和视频可以非常容易地生成。但是恶意使用生成模型产生难辨真假的虚假人脸图片或者视频进而导致虚假信息传播的现象也逐渐引起了广泛关注,这就是越来越严重的DeepFake问题。
解决DeepFake问题最常见的方式是学习一个二分类模型来进行真/假判别。
现有基于二分类的DeepFake检测和本文提出的Seq-DeepFake的对比
但如今由于人脸编辑App的流行,我们可以非常方便地对人脸图片进行多步序列DeepFake篡改。比如对一张人脸图片,先后进行「添加眼镜-加入笑容-去掉胡须」的序列篡改。
为解决此类新型DeepFake问题,来自南洋理工大学的研究人员提出了检测并还原DeepFake篡改序列(Seq-DeepFake)任务。
论文链接: https://arxiv.org/pdf/2207.02204.pdf
GitHub: https://github.com/rshaojimmy/SeqDeepFake
项目主页: https://rshaojimmy.github.io/Projects/SeqDeepFake
相比于现有基于二分类 (真/假) 的 DeepFake 检测,Seq-DeepFake任务将其扩展为要求检测不同长度和顺序的篡改序列。
长度为3的篡改序列
除了篡改检测,Seq-DeepFake还可以根据检测出的篡改序列,逆序还原出原始人脸。
论文作者建立并开源了全球首个Seq-DeepFake数据集。
Seq-DeepFake 样例
对于数据集中的一张人脸图片,我们可以通过长度1~5的不同序列进行篡改。为了更全面的研究此问题,本文考虑了两种不同的篡改方法,即人脸部件序列篡改(sequential facial components manipulation)[1] 和人脸属性序列篡改 (sequential facial attributes manipulation) [2] 。
Seq-DeepFake 数据集
第一排为人脸部件序列篡改
第二排为人脸属性序列篡改
人眼很难察觉原始人脸和篡改人脸之间的区别,而进一步检测出不同的篡改序列则难度更大。
在Seq-DeepFake数据集中,人脸部件序列篡改总共35,166张图片,包含了28种不同长度的篡改序列。人脸属性序列篡改总共49,920张图片,包含了26种不同长度的篡改序列。
现有的人脸编辑算法基本基于 Generative Adversarial Network (GAN)。在GAN的隐空间中难以达到完美的语义分解[3],这会导致在编辑一种人脸部件/属性后,会间接影响其他人脸部件/属性。比如步骤「Eye-Nose」编辑鼻子后会导致前一步的眼睛和嘴巴部位的变动。
由此,我们可以从此空间关系中发掘出Seq-DeepFake的空间篡改痕迹 ( spatial manipulation traces )。
再者,改变篡改先后顺序,如下图(a)中鼻子和眼睛导致不同的注视方向,和(b)中留海和微笑的先后顺序会产生不同的刘海数量,这说明篡改顺序会进一步影响篡改所影响的空间关系。
就是说,我们可以在空间篡改痕迹的基础上捕捉到序列篡改痕迹( sequential manipulation traces ),并最终据此检测出 DeepFake 篡改序列。
根据上述观察,可以把Seq-DeepFake看成是一种特殊的image-to-sequence problem(例如image caption),文中提出了Seq-DeepFake Transformer (SeqFakeFormer)来检测篡改序列。
Seq-DeepFake Transformer (SeqFakeFormer)
SeqFakeFormer由两个关键部分组成:Spatial Relation Extraction 和 Sequential Relation Modeling with Spatially Enhanced Cross-attention。
在 Spatial Relation Extraction中,首先把人脸图片输入到一个卷积神经网络中得到DeepFake篡改的空间特征,并通过 Transformer Encoder中的 self-attention modules捕捉其空间关系得到空间篡改痕迹。
在Sequential Relation Modeling with Spatially Enhanced Cross-attention中, Transformer Decoder进一步通过空间篡改痕迹与篡改序列标签之间的cross-attention得到序列篡改痕迹。
为了适应Seq-DeepFake篡改序列较短的特点,我们在Transformer Decoder中进一步加入了Spatially Enhanced Cross-Attention Module来对每种人脸篡改部件/属性生成不同的空间权重图(spatial weight maps),以此和原始cross-attention map加权进而得到一个更有效的cross-attention过程。
实验结果表明文中提出的 SeqFakeFormer与为二分类设计的DeepFake检测方法相比,能更准确地检测DeepFake序列篡改。
一旦得到篡改序列后,该任务还可以逆序还原出原始人脸。可以观察到还原出的人脸非常接近于原始人脸。如果序列的先后顺序错误,即使序列中各元素都已检测正确,原始人脸的还原仍会大概率失败。这进一步说明了正确检测人脸篡改序列的重要性。
基于正确和错误篡改序列得到的人脸还原结果
这项工作主要有三点贡献:
1. 提出了一个新的研究课题:检测并还原DeepFake篡改序列(Seq-DeepFake)任务
2. 贡献了首个大规模的Seq-DeepFake数据集,并提供了详细丰富的篡改序列图片和标注。我们相信它可以很好地帮助未来 Seq-DeepFake的研究。
3. 提出了一个简单且有效的Seq-DeepFake Transformer作为此新课题很好的起始方案。
论文相关的代码和数据集链接都已开源并分享在项目的GitHub上,欢迎大家Star和使用Seq-DeepFake数据集和SeqFakeFormer来研究 Seq-DeepFake问题。
DeepFake领域不只有二分类,还有更多有趣且实际的问题亟待大家解决!