机器之心报道

作者:思源

计算机视觉顶会 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,新模型把换脸图打回原形相关推荐

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

    本文转载自机器之心(公众号ID:almosthuman2014),未经许可请勿二次转载. 计算机视觉顶会 CVPR 2020 接收结果已公布,6656 篇有效投稿中录取了 1470 篇论文,录取率约为 ...

  2. 【CVPR 2020】弱监督怎样做图像分类?上交大提出自组织记忆网络

    点击上方"视学算法",选择"星标"公众号 重磅干货,第一时间送达 本文转载自机器之心 近日,计算机视觉顶会 CVPR 2020 接收论文结果公布,从 6656 ...

  3. 关于Python3.9,看这张16岁高中生做的「新特性必知图」就够了

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI Python3.9,「千呼万唤始出来」. 先来速看下此次发布版本的重点. 新语法特性: PEP 584,为 dict 增加合并运算符. PE ...

  4. 关于 Python3.9,看这张 16 岁高中生做的「新特性必知图」就够了

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI Python3.9,「千呼万唤始出来」. 先来速看下此次发布版本的重点. 新语法特性: PEP 584,为 dict 增加合并运算符. PE ...

  5. [CVPR 2020] RandLA-Net:大场景三维点云语义分割新框架(已开源)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文由知乎作者Qingyong Hu授权转载,不得擅自二次转载.原文链接:https://zhuanl ...

  6. CVPR 2020 oral 首次提出VPSnet用于分割界新问题-视频全景分割

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 论文题目:Video Panoptic Segmentation 论文下载: http://opena ...

  7. CVPR 2020 论文开源项目一页看尽,附代码论文

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI CVPR 2020中选论文放榜后,最新开源项目合集也来了. 本届CPVR共接收6656篇论文,中选1470篇,"中标率" ...

  8. CVPR 2020论文开源项目一页看尽,附代码论文

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI CVPR 2020中选论文放榜后,最新开源项目合集也来了. 本届CPVR共接收6656篇论文,中选1470篇,"中标率" ...

  9. CVPR 2020 | 旷视研究院探究优化场景文字识别的「词汇依赖」问题

    IEEE国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 大会官方论文结果公布 ...

最新文章

  1. 保护眼睛设置.txt
  2. linux 下 storm环境搭建,Storm在Ubuntu环境下的单机部署
  3. 《转》安卓P 刘海屏的适配
  4. PWA 即将终结应用程序商店!
  5. 消息队列与rabbitMQ的各种问题
  6. 模拟串口收发数据Configure Virtual Serial Port Driver(VSPD)
  7. 数学建模(6)典型相关性分析
  8. 关于Flash闪存的扇区、块、页
  9. 用泰勒展开式计算sin(x)的值
  10. 大话微服务:(二)对于业务如何划分微服务,即微服务的颗粒度,又称业务边界
  11. Android 4.0.4系统下实现apk的静默安装和启动
  12. 程序设计之学生宿舍管理系统
  13. LabVIEW编程LabVIEW开发 十六进制转换ASCII例程与相关资料
  14. Hadoop安装及部署
  15. 为什么group by后面不能使用列的别名
  16. 伪原创视频的处理技巧
  17. Linux如何打开cp2k,centos7安装并行版cp2k6.1-POPT
  18. 医学图像切片的三维重建matlab仿真
  19. 蓝色简约大气公司简介企业介绍产品宣传ppt模板
  20. java什么是抽象思维_什么是抽象思维,抽象思维有多重要

热门文章

  1. Matlab编程与数据类型 -- M文件的编辑和存储
  2. MOG2 成员函数参数设定
  3. 利用 createTrackbar 进行二值化
  4. 如何读取Excel表格中不同sheet表的同一位置单元格数据,并绘制条形图呢?
  5. 写代码时发现......还得是 SpringBoot !一篇拿下
  6. 被Python「苦虐」的日子太惨了!
  7. 企业数字化转型,AI平台能力建设是关键
  8. 知识图谱实体链接是什么?一份“由浅入深”的综述
  9. ​哪些开发问题最让程序员“头秃”?我们分析了Stack Overflow的11000个问题
  10. 天哪!我的十一假期被AI操控了