当前位置: 首页 > 科技观察

古有魔镜,今有变脸识别机,微软CVPR2020大作,让假脸无处遁形

时间:2023-03-15 10:19:31 科技观察

本文转载自雷锋网。日前,Deepfake技术出现在印度大选中,被候选人用于竞选宣传材料中。虽然这位候选人以惨败告终,但这意味着由Deepfake点燃的AI换脸之火有逐渐升温的迹象。虽然愈演愈烈,但反Deepfake相关技术一直比较缺乏。近日,微软亚洲研究院提出了一种检测换脸图像的方法——FaceX-Ray。这项技术发表在论文《Face X-Ray for More General Face Forgery Detection》中,据相应论文中的研究人员称,此类工具可以帮助防止滥用换脸图像。该技术与现有方法的不同之处在于,它可以准确检测出“未知”图像,即无论合成什么算法,无需针对性训练也能检测到。生成训练样本概述更具体地说,它生成灰度图像,显示给定的输入图像是否可以分解为来自不同来源的两个图像的混合。毕竟,大多数操作换脸方法的方法都是将生成的图片与已有的图片结合起来。这意味着FaceX-Ray不仅可以判断是否是合成图像,还可以指出合成图像的位置,即具有识别和解释两种功能。如上,下图显然是合成的。该算法的核心是为每张图像识别唯一标记的想法。造成这些标记的原因有很多,可能来自算法等软件因素,也可能来自传感器等硬件因素。与市场上的一些二分类换脸检测算法相比,FaceX-Ray可以更有效地识别未被发现的换脸图像并可靠地预测混合区域。对比二分类检测器的实验结果,但论文也指出该方法依赖于一个混合步骤,因此可能不适用于全合成图像,并可能被对抗样本所愚弄。一、相关工作假脸技术日新月异。很多算法都可以合成图片,而且合成的图片越来越逼真,这意味着假图片可能被乱用,所以研究换脸检测技术非常重要。学术界对这种检测技术进行了研究,但大多是“二分类”检测方法。虽然准确率可以达到98%,但这些检测方法往往会受到transitionmatching的影响,也就是说,在处理不同类型的图像时,检测方法的性能会明显下降。更具体地说,能够区分真人和照片的技术叫做活体检测,中文叫“活物证据”。目前的技术主要是根据分辨率、3D信息、眼球运动等来区分,因为翻拍照片的分辨率与直接从真人身上采集的照片在质量和分辨率上是不一样的。针对视频欺骗,根据三维信息、光线等进行区分。针对具体应用,谷歌推出了一款名为Assembler的照片防伪神器,它有7个检测器(detector),其中5个是大学研究开发的美国和意大利的团队,负责检测经过不同类型技术处理的图像。照片,比如合成、擦除等。另外两个检测器是Jigsaw自己的团队开发的,其中一个是专门用来识别deepfakes的,也就是近两年引起热议的AI换脸。该检测器使用机器学习来区分真实图像和由StyleGAN技术生成的deepfakes。对于假图像,标记可能拼接的区域。FaceX-Ray方法可以解决合成图片的共性:图片拼接,即将一张图片与另一张图片混合。检测图片可能混合的区域,分析差异,找到图片标记,判断是否为合成图片。2.FaceX-Ray算法细节典型的换脸合成方法包括三个阶段:1.检测人脸区域;2.合成想要的目标人脸;3.将目标人脸融合到原始图像中。合成图像中现有的人脸检测通常面向第二阶段,并基于数据集训练有监督的每帧二元分类器。该方法可以在测试数据集上达到近乎完美的检测精度。如果在训练中遇到没见过的换脸图片,性能会明显下降。FaceX-Ray的关键步骤是从图像中获取标记数据,然后以“自我监督”的方式训练框架。值得一提的是,这里的自监是打引号的。与传统的自监督定义不同,这里的无监督是指算法不是从换脸数据库训练出来的。如前所述,图片的标注主要来自硬件和软件两个方面。在正常图像中,硬件和软件产生的标记通常是“周期性的”或统一的。一旦图像发生变化,这种均匀性就会被打破,因此可以通过标记来判断是否是合成图像。具体到算法层面,合成图像的定义如下:式1⊙表示逐元素相乘,IF表示提供人脸属性的图像,IB表示提供背景的图像,M是分离被操纵的maskarea(划定操作区域的掩码),每个像素的灰度值介于0.0和1.0之间。等式2将FaceX-Ray定义为上面的图像B,然后如果输入是合成图像,则B将显示混合区域,如果输入是真实图像,则B将所有像素都为0。本质上,FaceX-Ray的目的是将图像分解为来自不同来源的两个图像。毕竟,不同来源的图像存在一些细微的差异,人眼无法察觉,但计算机可以。换句话说,FaceX-Ray是一种发现图像差异的计算表示,它只关心混合边界。然后是“自我监督”学习模块。这部分的难点在于解决如何只使用真实图片来获取相应的训练数据。主要分为3个部分。1.给定一张真实图像,然后找到另一张图像作为真实图像的变体。使用人脸特征点作为匹配条件,基于欧式距离进行搜索。2.生成一个掩码来划定“假”区域。3.通过上面第一个公式得到混合图像,然后根据第二个公式得到混合边界。在实践中,标签数据将随着训练过程的进行而动态生成,框架将以自我监督的方式进行训练。因此,只有在真实图像级别上进行操作才能产生大量的训练数据。在训练过程中,由于深度学习具有很强的表示学习能力,研究人员采用了基于卷积神经网络的框架。输入是图像,输出是FaceX-Ray,然后根据预测的FaceX-Ray,输出一张图像是否真实的混合概率。此外,广泛使用的损失函数被用于预测。对于FaceX-Ray,交叉熵损失用于衡量预测精度。总的来说,FaceX-Ray不需要依赖与特定面部操作技术相关的伪影知识,支持它的算法可以在不使用任何方法生成假图像的情况下进行训练。3.实验在实验部分,研究人员在FaceForensics++和另一个包含由真实图像构建的混合图像的训练数据集上训练了FaceX-Ray。训练只使用了数据库中的“真实图像”,没有使用假图像。.其中,FaceForensics++是一个大型视频语料库,包含1,000多个原始剪辑,使用四种最先进的人脸操作方法进行操作,包括DeepFake、Face2Face、FaceSwap、NeuralTextures。在测试部分评估了使用四个数据集的FaceX-Ray的泛化能力。这四个数据集包括:FaceForensics++、Deepfakedetection、DeepfakeDetectionChallenge、celeb-DF。泛化能力评估首先使用与Xception相同的训练集和训练策略来评估FaceX-Ray检测模型。为了得到准确的FaceX-Ray图像,以真实图像为背景,以换脸图像为前景,给出一对真假图像。为了公平比较,还给出了二进制类的结果。结果如下图所示:泛化能力评估,在未知人脸变化检测中,只使用分类器会导致性能下降。此外,泛化能力也得到了提升,提升主要来自两部分:1.提出检测FaceX-Ray而不是manipulation-specificartifacts。2.从真实图像中构建大量训练样本。结果表明,仅使用自监督数据也可以达到很高的检测精度。未知数据集的benchmark结果是从最近发布的大规模数据集上测试出来的,然后从AUC、AP和EER三个方面给出结果。如下图所示,框架优于基线。如果使用其他面部交换图像,即使使用与测试集不同的分布,性能也会提高。下图给出了各种类型的换脸图像的视觉示例。通过计算假人脸和真实图像之间的差异,然后将其转换为灰度图,归一化后得到基本事实。如下图所示,预测FaceX-Ray更能反映事实。将算法预测的融合边界与当前工作进行比较。最近的一些相关工作也注意到了泛化问题,并试图在一定程度上解决它。FWA还采用自我监督的方法从真实图像中创建负样本。然而,它的目标只是描述仅存在于DeepFake生成的视频中的面部扭曲伪影。Table3~Table5为图例,请自动忽略Table6上表中的其他工作试图学习固有表示,同时MTDS学习检测和定位。经过对比,FaceX-ray已经超越了现有的SOTA。所提出框架的分析自监督数据生成中数据增强的总体目标是提供大量不同类型的混合图像,使模型具有检测各种篡改图像的能力。在这一部分中,作者研究了两个重要的增强策略:a)掩模变形,旨在为FaceX-Ray的形状带来更大的变化;b)颜色校正,以产生更逼真的混合图像。这两种策略对于生成多样化和高精度的数据样本至关重要,这也有助于网络训练。此外,在自监督数据生成过程中,采用了阶段混合方法,使用不同类型的混合来构建测试数据并评估模型,同时使用alpha混合来构建训练数据。结果如下图所示。OneMoreThingFaceX-Ray对“半合成”图像有奇效,但它也有两个局限性。首先是对于纯合成图像,FaceX-Ray无法克服它们,因为无法有效识别标记。这就是之前所说的:“这种方法依赖于混合步骤,因此可能不适合完全合成的图像”。第二个限制是,如果有人专门为这个算法训练了一个对抗样本,那么FaceX-Ray也有可能失败。此外,与其他换脸检测技术一样,该技术对图像分辨率敏感。如果图像分辨率低,FaceX-Ray检测率也会低。左:郭柏宁。右图:陈东针对这项研究,AI科技评论还采访了微软亚洲研究院执行副院长郭柏宁和微软亚洲研究院高级研究员陈东。Q:完全合成图像无法准确识别对抗样本FaceX-Ray,如何解决?答:我们还在研究,打算在背景细节的检测上下功夫,因为合成的图片一般都会对背景做一些粗略的处理。另一种思路是通过对比真假图片来训练算法,因为一般名人或者其他人脸图片都有唯一的属性ID,利用这个唯一的属性ID作为数据训练也可以改进算法。Q:FaceX-Ray可以识别修图工具修改后的人脸照片吗?答:FaceX-Ray的工作重点不是判断它是否是原始图像,而是在“真”和“假”之间进行衡量。毕竟,假视频和图片对社会的负面影响更大。Q:算法的实现情况如何?什么时候可以集成到应用程序中?答:我们的算法突破是刚刚取得的进展,具体应用落地还需要一段时间。