内容简介:机器之心报道作者
机器之心报道
作者 :思源
计算机视觉顶会 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 训练一个新换脸模型,我们的算法也有可能被攻击到。 换脸与换脸检测是矛与盾的关系,两者相互促进与发展。 」
本 文为机器之心报道, 转载请联系本公众号获得授权 。
以上所述就是小编给大家介绍的《CVPR 2020 | 给Deepfake 假脸做 X-Ray,新模型把换脸图打回原形》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 能量视角下的GAN模型(三):生成模型=能量模型
- 提高模型准确率:组合模型
- JVM内存模型 与 JMM内存模型
- Golang并发模型:轻松入门流水线模型
- C++11 中的内存模型(上):内存模型基础
- 机器学习中的判别式模型和生成式模型
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JSON 在线解析
在线 JSON 格式化工具
Markdown 在线编辑器
Markdown 在线编辑器