微软新技术:让AI换脸等虚假、色情内容无处遁形
扫描二维码
随时随地手机看文章
前些日子,Deepfake技术现身印度选举,被候选人用在了竞选拉票的宣传材料上。虽然此候选人以惨败而收场,但这意味着Deepfake点燃的AI换脸之火有逐渐升温的迹象。
虽然愈演愈烈,但是反Deepfake的相关技术一直相对缺乏。近日,微软亚洲研究院提出了一种检测换脸图像的方法 Face X-Ray。此项技术发表在论文《Face X-Ray for More General Face Forgery Detection》中,据研究人员在相应的论文中指出,此类工具有助于防止换脸图像被滥用。
这项技术与现有方法不同,它能够准确检测“未知”图像,即不论什么算法合成的,在不进行针对性的训练的情况下也可以进行检测。更为具体的是它会生成灰度图像,显示给定的输入图像是否可以分解为来自不同来源的两个图像的混合。毕竟,大多数操作换脸的方法,都是将生成的图片和已有的图片结合。
这也就是说Face X-Ray不光能判断是否是合成图片,还能指出哪个地方是合成的,即兼备识别+解释两种功能。算法的核心思想是识别每一幅图像的独特标记。这些标记产生的原因很多,可能来自算法等软件因素,也有可能来自传感器等硬件因素。此算法与市面上一些二分类换脸检测相比,Face X-Ray更能有效地识别出未被发现的换脸图像,并能可靠地预测混合区域。
但是论文中也指出,这个方法依赖于一个混合步骤,因此可能不适用于完全合成图像,可能被对抗性样本骗过。
一、相关工作
假脸技术日新月异,很多算法能够合成图片,而且合成的图片越来越逼真,这意味着伪造的图片可能被乱用,所以研究换脸检测技术非常重要。
此类的检测技术,学界已有研究,不过大多都是“二分类”检测方法,虽然也能达到98%的准确率,然而这些检测方法往往会受到过渡匹配的影响,也就是说在处理不同类型的图片时,检测方法的性能会显著下降。
更为具体一点,能区分真人和照片的技术叫做liveness detection,中文叫做“活体取证”。当前的技术主要是根据分辨率、三维信息、眼动等来区分,因为翻拍的照片分辨率比直接从真人上采集的照片在质量、分辨率上有差别。
而对于视频欺骗,根据三维信息、光线等来区分。对于具体的应用,谷歌曾经推出一款照片打假神器名为 Assembler,具有 7 个检测器(detectors),其中 5 个由美国和意大利的大学研究团队开发,分别负责检测经不同类型的技术处理过的照片,例如合成、擦除等。
而另外两个检测器由 Jigsaw 自己的团队开发,其中一个旨在识别deepfake,也就是这两年引起热议的AI 换脸,该检测器使用机器学习区分真人图像和 StyleGAN 技术生成的 deepfake。
对于假图片,标出可能拼接的区域。而Face X-Ray方法可以针对合成图片的共性:图片拼接,即一张图片和另一张图片混合。检测图片可能存在的混合区域,分析差异,找到图片标记,从而判断是否是合成图片。
二、Face X-Ray算法详情
典型的换脸合成方法包括三个阶段:
1、检测面部区域;
2、合成期望的目标面部;
3、将目标面部融合到原始图像中。
现有的对面部合成图像检测通常面向第二阶段,并基于数据集训练有监督的每帧二进制分类器。这种方法可以测试数据集上实现近乎完美的检测精度,如果遇见训练时没见过的换脸图像,性能会出现明显下降。而Face X-Ray的关键步骤是从图像中获取标记数据,然后用“自监督”的方式训练框架。
值得一提的是这里的自监督是打引号的,不同于传统的自监督定义,这里的无监督是指不从换脸数据库里训练算法。前面也提到,图片的标记主要来自两个方面,硬件和软件。在正常的图像中,硬软件产生的标记一般是具有“周期性”或者是均匀的。一旦图像改变,就会打破这种均匀,因此可以利用标记判断是否是合成图片。
本质上来讲,Face X-Ray的目的是将图像分解为两个不同来源的图,毕竟不同来源的图像有些细微的差异人眼无法发现,而计算机可以。换句话说Face X-Ray是一种发现图像差异的计算表示,它只关心混合边界。
然后到了“自监督”学习模块。这一部分的难点在于解决如何仅用真实的图片获取相应的训练数据。主要分为3个部分。
1.给定一个真实图像,然后寻找另一个图像作为真实图像的变体。使用face landmarks作为匹配标准,并根据欧式距离进行搜索。
2.生成掩码划定“伪造”区域。
3.通过上述第一个公式得到混合后的图像,然后根据第二个公式得到混合边界在实践中,会随着训练过程进行动态生成标签数据,并以自我监督的方式训练框架。所以,仅仅在真实图像层面上进行操作就可以产生大量的训练数据。
在训练过程中,由于深度学习具有极强的表征学习能力,所以研究人员采用了基于卷积神经网络的框架。其中输入为图像,输出为Face X-Ray,然后基于预测的Face X-Ray,输出一个图像是否真实的混合概率。另外,对预测采用的是广泛使用的损失函数。对于Face X-Ray,采用交叉熵损失来衡量预测的准确性。总的来说,Face X-Ray不需要依赖于与特定人脸操作技术相关的伪影知识,并且支持它的算法可以在不使用任何方法生成假图像的情况下进行训练。
三、实验
在实验部分,研究人员在Face Forensics++和另一个包含由真实图像构建的混合图像的训练数据集上训练了Face X-Ray,训练只采用数据库里的“真图”,不使用假图。其中,Face Forensics++是一个包含1000多个用四种最先进的面部操作方法操作的原始剪辑的大型视频语料库,包括DeepFake、Face2Face、Face Swap、NeuralTextures。
在测试部分评估了Face X-Ray使用四个数据集的泛化能力。这四个数据集包括:Face Forensics++、Deepfakedetection、Deepfake Detection Challenge、celeb-DF。
泛化能力评估
首先使用与Xception相同的训练集和训练策略来评估Face X-Ray检测模型。为了得到准确的Face X-Ray图像,将真实图像作为背景,将换脸的图像作为前景,给出一对真图像和假图像。为了公平比较,还给出了二元类的结果。泛化能力评价,在未知的换脸检测中,仅使用分类器会导致性能下降。
另外,也对泛化能力进行了改进,其改进主要来自两个部分:1.建议检测Face X-Ray而不是操作特有的伪影。2.从真实的图像中构建大量的训练样本。结果显示仅使用自监督数据,也能够达到很高的检测精度。
未知数据集的基准结果
从最近发布的大规模数据集上测试,然后从AUC、AP和EER三个方面给出结果。如下图所示框架比基准的性能更好。如果使用其他的换脸图像,即使与测试集有不同的分布,性能也会有所提高。
针对此项研究,AI科技评论也专门采访了微软亚洲研究院常务副院长郭百宁和微软亚洲研究院高级研究员陈栋。
问:对于完全合成图片以及对抗样本Face X-Ray无法准确识别,有何解决办法?
答:我们尚在研究中,计划在背景细节处的检测下功夫,因为合成的图片一般对于背景的处理比较粗糙。另一个想法是从将真实图片与伪造图片进行对比训练算法,因为一般名人或者其他人脸图片都有独特的属性ID,将这种独特的属性ID作为数据训练也能改进算法。
问:Face X-Ray能够识别用修图工具修改的人脸照片?
答:Face X-Ray的工作重点不是判断是否为原图,而是在“真”与“假”之间衡量,毕竟假视频、图片对社会的负面影响较大。问:算法落地情况如何?何时能集成到应用程序中去?答:我们的算法突破是刚刚取得的进展,具体应用落地还需要一段时间。