Face X-ray for More General Face Forgery Detection
摘要
提出一种新的图像表示称为face X-ray,用于检测伪造的人脸。一个输入人脸的face X-ray是灰度图,可表明输入图是否可分解为两张不同源图像的合成。它通过显示伪造图像的混合边界和真实图像的absence来实现。绝大多数人脸变换算法有一个共同步骤:将更改后的脸部混合到现有背景图像中。为此,face X-ray提供有效方法检测伪造人脸。Face X-ray 仅仅假设blending步骤存在。事实上训练face X-ray算法不需要牛逼人脸造假算法(DeepFakes、Face2Face、FaceSwap、NeuralTextures)生成的假脸 。当将face X-ray用于未知算法生成的假脸时仍有效,其他算法则不太顶。如下图(a)真脸返回的face X-ray是黑图,因为没有合成边界。而(b)中的合成人脸是有边界的。
假脸检测的难点之一是在实际应用中无法得知生成假脸的算法。而多数假脸检测算法是在已知算法条件下监督训练的。这就导致这些算法能达到98%的准确率。当然缺点也很明显:过拟合和受限于特定算法。本文观察到大多数人脸合成算法都有同一步骤:将转换后的人脸混合到已有的背景图像中。这就在混合边界上存在固有的图像差异。这些差异可以探测到边界。实际上,采集过程每个图像都有自己的区别标记,这些标记是从硬件(例如,传感器、镜头)或软件组件(例如,压缩、合成算法)引入的,并且这些标记倾向于呈现在整个图像中。本文描述了噪声分析和错误级别分析作为两种代表性的区别标记:
face X-ray算法通过自监督算法训练大量由真实图像合成的混合图像,无需利用其他算法生成的假脸。
方法
如上典型的面部合成方法包括三个阶段:检测面部区域、合成期望的目标脸、 将目标人脸融合到原始图像中。之前的假脸检测集中于第二阶段:即通过训练一个真假脸分类网络来解决识别假脸。但是这种方法在识别其他方法生成的假脸时就不太好使。本文主要针对这个泛化性能来讲。
每幅图像都有自己独特的标记或基本统计数据,主要来源于硬件和软件。因此,可以利用边界上底层图像统计的不一致性来发现混合边界来检测伪造的人脸图像。
Face XRay Definition
给定输入图,想去判定这张图是否是两张图的乘积:
前者是含期望面部属性的前景,后者是背景。M代表mask,划定操纵区域。M灰度值在0-1之间。为此定义X-ray为图像B,若输入图为合成图则B将会透露出混合边界信息,若为真图则B的像素为全零。定义输入图像的face X-ray为B:
整个流程图:
通过混合两个真实的图像来产生非平凡的面部X射线。