思源作者

CVPR 2020 | 给Deepfake 假脸做 X-Ray,新模型把换脸图打回原形

计算机视觉顶会 CVPR 2020 接收结果已公布,6656 篇有效投稿中录取了 1470 篇论文,录取率约为 22%。本文介绍了微软亚洲研究院的研究者被 CVPR 2020 接收的一篇论文,其提出给换脸图像做「X-Ray」,检测图像是否是合成图片,并指出合成的边界,兼备了识别和解释两种特性。

换脸,是滥用深度学习的结果之一。之前我们对视频还是比较信服的,而自从 Deepfakes、FaceSwap 等应用开源以后,我们能自己生成各种换脸视频,网络上也开始流传层出不穷的「假视频」。

自 2019 年以来,我们采取了很多方式来封杀换脸应用,弗吉尼亚州 7 月将 Deepfake 滥用列入非法范畴、推特 11 月发布首个反 Deepfake 策略、谷歌 10 月发布 FaceForensics 基准数据集以反对假视频。

然而,尽管有了应对措施,换脸算法也在不断改进,我们很难有一个通用的算法能检测不同模型生成的合成图。

人脸变换中的两种模式,我们常见的是第二种,将目标人脸的各种姿态表情都迁移到原来的人脸中。

我们有不同的算法生成换脸图像,甚至以后会有越来越多的新算法生成更生动的换脸视频。但目前主流的检测方法是,在真实图像与伪造图像上训练一个二分类模型,希望它能判别出来。如果训练数据都是 Deepfakes 生成的,那么显然它不太能判断 FaceSwap 生成的伪造图像。

因此,我们需要从另一个角度,看看生成换脸图像都经过什么步骤,有没有可能找到一种通用方法。

换个角度,考虑轮廓

微软亚洲研究院常务副院长郭百宁表示:「现在我们提出了一个方法,它既不需要了解换脸后的图像数据,也不需要知道换脸算法,就能对图像做『X-Ray』,鉴别出是否换脸,以及指出换脸的边界。」

论文地址:https://arxiv.org/pdf/1912.13458.pdf

所以新模型 Face X-Ray 具有两大属性:能泛化到未知换脸算法、能提供可解释的换脸边界。要获得这样的优良属性,诀窍就藏在换脸算法的一般过程中。如下所示,大多数换脸算法可以分为检测、修改以及融合三部分。与之前的研究不同,Face X-Ray 希望检测第三阶段产生的误差。

换脸模型的典型过程,之前的研究都在检测换脸带来的误差,而 Face X-Ray 希望检测到融合的边界。

读者可能会疑惑,DL 真的能识别融合过程中的缺陷吗?郭百宁博士表示,在图像采集过程中,每一张图像都有其独特的特征,它们可能来源于拍摄硬件,或者处理软件。只要不是一体生成的图像,它们在融合的过程中都会留下线索,这些线索人眼看不到,但深度学习能捕获。

下图展示了图像噪声分析与误差水平分析,我们可以发现,真实图像展现出一致地噪声模式,而换脸明显会有所不同。

其中 a 为真脸,b 为合成图像,中间列为噪声分析,右侧一列是误差水平分析。

郭百宁博士说:「一般我们在探索、做研究的时候都要提出一些大胆的想法,另一方面我们也在思考这个想法到底靠不靠谱,有没有证据来支持它。而噪声分析与误差水平分析,正好就是 Face X-Ray 具有优良效果的证据。」

这些观察都表明,模型确实有潜力发现融合过程中产生的缺陷。现在,我们可以想象一下,对于每一张输入图像,Face X-Ray 会计算一张灰度图,如果模型检测出换脸的痕迹,它就会在灰度图上画出边界,如果模型检测不出痕迹,那么灰度图就是空的。

Face X-Ray 会识别换脸图像融合的边界,如果是真实图像,则不反馈边界。

怎样学习换脸边界?

基本思想已经很明确了,那么具体怎样做才能使 Face X-Ray 学习各种换脸边界,而不用管换脸模型与数据集到底是什么?在论文中,研究者表示,如果我们在生成换脸时同时生成它的边界,那么使用换脸后的图像与合成脸的边界,模型就能自行学习到判别知识。

沿着这种思路,Face X-Ray 只需要采用真实人脸,就能完成训练。具体来说,研究者通过三个步骤生成 Face X-Ray 图像:
  • 给定一张真实图像,找到另一张真实图像以替换掉前一张真实图像需要改变的地方;

  • 生成一个 Mask 以界定修改的区域;

  • 融合背景与目标图像。

整个训练样本的生成过程可以表示为:

给定真实人脸 I_B,找另一张真实人脸 I_F 以表示 I_B 的变换结果,与此同时生成换脸区域。

对于第一步,研究者会使用人脸特征点作为匹配标准,从其余图像/视频中根据欧氏距离找一组样本,然后从这组样本中随机找一张作为换脸后的「脸部」。

在第二步,初始的 Mask 定义为人脸特征点的凸包。因为面部变换并不一定总是集中在面部的主要部分,例如只改变嘴部位置。因此,研究者采用随机形变以构建更合理与真实的 Mask 区域,且 Mask 区域最后会采用高斯模糊以平滑边缘。

第三步给定面部图像 I_F 与背景 Mask I_B,模型就能通过如下方程 1 获得融合结果。而最终的 Mask 也能通过另一个方程提炼出融合的边界。值得注意的是,研究者针对 I_F 应用了色彩校正技术,以匹配背景图像的色彩风格。

如下方程 1 所示,M 为灰度值从 0 到 1 的 Mask,其越接近 1,融合图像就更多采用的是 I_F 部分的面部图像,即目标人脸图像。

泛化优异的 Face X-Ray

在论文的实验部分,我们可以看到 Face X-Ray 具有非常优秀的泛化性能,不论是什么样的算法生成的换脸图,它都有非常不错的效果。

下面的实验图表很明显地证实了这一点,研究者采用 FaceForensics++中的基准数据集作为训练与测试集,Xception 是之前最优的二分类换脸检测模型。

因为 FaceForensics 基准数据集有四种换脸算法合成,即 DeepFakes (DF)、Face2Face (F2F) 、 FaceSwap (FS) 和 NeuralTextures (NT),研究者将它们拆分为四种训练与测试集,并最后在 FaceForensics++基准上做测试。

此外,因为 Face X-Ray 这种只需真实图像的模型非常容易获取数据,因此研究者基于真实图像构建了一组混合图像,并表示为 BI。

如下所示为主要的实验结果,例如第一行表示 Xception 在 DeepFakes 生成的数据集上做训练,然后在 DeepFakes 及其它模型生成的换脸图上做测试。

可以看出来,Xception 这类二分类模型的泛化效果并不好,如果它在 DeepFakes 数据集上做训练,那么在 FaceSwap 数据集上的效果就不好,甚至等价于随机猜测。这表明它们对换脸算法及数据集不具有鲁棒性,只要稍微修改一下,检测算法的效果就会降低很多。

相比而言,Face X-Ray 就稳健很多,即使不在对应的数据集上训练,不知道换脸算法是什么,它的准确率也都在 95% 以上。

当然,并没有完美的换脸检测模型。微软亚洲研究院高级研究员陈栋博士说:「如果图像是整体合成,那么 Face X-Ray 是难以检测出来的;如果针对 Face X-Ray 训练一个新换脸模型,我们的算法也有可能被攻击到。换脸与换脸检测是矛与盾的关系,两者相互促进与发展。」
入门DeepFakeCVPR 2020
2
相关数据
微软亚洲研究院机构

微软亚洲研究院于1998年在北京成立,是微软公司在亚太地区设立的基础及应用研究机构,也是微软在美国本土以外规模最大的一个研究院。微软亚洲研究院从事自然用户界面、智能多媒体、大数据与知识挖掘、人工智能、云和边缘计算、计算机科学基础等领域的研究,致力于推动计算机科学前沿发展,着眼下一代革命性技术的创新,助力微软实现长远发展战略。通过与微软产品部门紧密合作,微软亚洲研究院将众多创新技术转移到了微软的核心产品中,如Office、Windows、Azure、Bing、Visual Studio、Xbox Kinect以及小冰、Cortana和Microsoft Translator等人工智能产品。

https://www.msra.cn/
微软机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

推荐文章
暂无评论
暂无评论~