Detecting Deep-Fake Videos from Appearance and Behavior
Paper PDF
文章目录
Introduction
问题背景->普遍方法->现有方法的缺陷->发现线索->针对线索提出合理的方法
这种通过合成技术制造的被叫做deepfakes的视频和音频自出现以来就一直收到了计算机视觉和计算机图形学社区的关注。由于技术的不断进步,制造特定人物的伪造视频和音频已经变得普遍和大众化。这使得社会身份认证面临着巨大的挑战。
Generate Deep Fakes
deepfakes通常指的是利用 DeepFake FaceSwap、FS-GAN、Neural Textures、Face2Face、FaceSwaps等技术合成的视频或者音频。其中Deep Fake Face Swap使用GAN将视频中的人脸替换为其他人脸。与FS-GAN、Neural Textures利用学习的方式合成伪造不同,Face2Face和FaceSwaps则利用传统的计算机图形学的技术来实现表情迁移。
Detecting Deep Fakes
现有的deepfakes检测技术可以大致分为两类:
-
Low-level approaches:
这类技术关注于检测在伪造合成过程种产生的像素级别的artifacts,通常在图像认证方面使用。如通过神经网络学习图像中不同区域metadata(e.g. Focal length, ISO, exposure time …)的不一致性;再如利用GAN网络生成的图像往往具有棋盘状的频率分布图。
这种方式的优点在于可以自动学习真实和伪造物之间的低级别的差异,但检测精度容易受到一些渲染攻击,如压缩、trans-coding、resize等攻击的影响,同时在面对不同的伪造方式使也表现出较差的泛化能力。 -
High-level approaches:
这类技术则更关心高级别的语义信息,通常用于认证图像、音频或视频等。如利用人脸替换区域和整个人脸来预测头部姿势,并通过对比来判断是否伪造;再比如研究者发现伪造视频中人眨眼频率与真实视频相比大幅减小(现部分伪造技术已经纠正);再比如利用语音和口型的一致性来判断视频是否真实。
这类方法由于依赖高维的语义信息,因此对压缩、不同伪造方式具有较强的鲁棒性。但随着伪造技术的不断升级,一些高层语义的一致性也会被逐渐考虑并优化。
本篇论文从Face-swap类型的伪造技术出发,利用deepfakes中的一个根本的缺陷: deepfake中的人并不是真正的那个人来检测视频的真伪。作者观察到,在交换面部的deepfakes中的面部行为仍然是原始个人的面部行为,而面部身份却是不同的个人。因而通过基于面部识别的静态生物特征与基于面部表情和头部运动的时序,行为生物特征相结合。前者利用人脸识别中的标准技术,而后者利用由度量学习目标函数提供支持的卷积神经网络(CNN)来学习行为嵌入。通过将行为和面部身份与一组真实的参考视频进行匹配,匹配身份中的不一致会显示出这种伪造方式。
Innovation
- 基于面部识别的静态生物特征与基于面部表情和头部运动的时序,行为生物特征相结合
- 建立reference database,以特征匹配的方式自动进行特定人物的伪造认证。
Method
总的认证流程如下图所示:
Biometrics Extraction
Behavior
作者使用FAb-Net提取256-D静态人脸表情特性,并以此作为输入来构建视频中人物的时空生物特征。具体地说,首先将一个人说话的t帧视频经过网络化简为特征矩阵 X ∈ R 256 × t X∈R^{256×t} X∈R256×t,其中每个矩阵列对应于每个帧的FAb-Net特征。以该特征矩阵为输入,通过训练CNN网络来学习一种与身份相关的时空行为的低维映射。即相同身份的行为特征应该尽量近似,而不同身份的行为特征应该差异。由于输出特征采用了正则化,所以采用余弦相似度来计算特征相似度。
这里作者用到了度量学习的办法,通过给hard样本增加权重以此来学习与身份相关性特征。具体可以参考原文。
Appearance
作者利用人脸来表达人物的Appearance属性。借鉴于以往的人脸识别网络,作者使用了16层的VGG网络模型来提取人脸特征。通过帧中人脸特征取平均来获得视频clip的人脸特征。
通过数据集,将视频划分为4s的clips,并通过以上特征提取,建立特定人物的behavior B i ∈ R 512 × m i B_i \in R^{512 \times m_i} Bi∈R512×mi 和Appearance F i ∈ R 4096 × m i F_i \in R^{4096 \times m_i} Fi∈