本文导读

本文主要介绍ICCV 2019的一篇文章,FSGAN:Subject Agnostic Face Swapping and Reenactment。

文章提出了一种基于对抗生成网络的换脸术,该方法可以对在训练中未曾见过的脸部图像对进行很好的处理,并且可以根据目标图像脸部区域的mask对源图像的脸部区域进行补全,比较好的解决了脸部遮挡问题。原文链接:https://arxiv.org/pdf/1908.05932.pdf

网络架构

整个FSGAN的架构可以分为3个部分:重演和分割模块,补全模块,融合模块;分别对应上图中的a、b、c部分。重演模块的作用是将源图片IsI_sIs​调整为目标图片ItI_tIt​的姿势;由于源图片IsI_sIs​和目标图片ItI_tIt​的脸部区域可能不一致,比如:头发遮挡等问题所导致,所以补全模块则是根据目标图片ItI_tIt​脸部区域的mask来补全源图片IsI_sIs​的脸部区域;在补全之后,两张图片的姿态,形状已经基本一致,但肤色和光照还有差异,最后的融合模块则是将补全后的人脸图片IcI_cIc​更好的融合到目标图片It中。

loss

由于换脸问题本质上还是一个重建问题,文章使用的两个基本loss也都是比较常见的重建损失和对抗损失。

重建损失

重建损失有两部分构成,perceptual loss和 L1 loss,分别捕获图片的高频细节和低频特征。


最终的重建损失则为

对抗损失

为了使得生成的图片更具有真实感,文章还结合多尺度鉴别器实现对抗损失

重演和分割模块

重演和分割模块包含两个网络:Gr和Gs。

Gs的功能很简单:输入一个3通道的图片,输出是其对应的3通道的分割模板,在后续流程中的人脸补全模块会使用到该分割模板。Gs所采用的损失函数为交叉损失熵以及逐像素的L1 loss

重演模块是一个不断迭代的过程,作者提取源图片IsI_sIs​和目标图片ItI_tIt​的欧拉角以及人脸关键点,在两个欧拉角和关键点中进行插值,进而得到中间关键点pjp_jpj​。将得到的中间关键点和人脸图片输入Gr,如此重复迭代,最终得到重演图片IrI_rIr​

在训练过程中,采用了一个逐步的重演损失,对每一次迭代的重演图片计算重建损失,避免了源图片IsI_sIs​和目标图片ItI_tIt​姿态差异过大带来的影响,这也是本文的贡献之一。

补全模块

在重演模块得到了源图片的最终重演图片IrI_rIr​以及对应的分割模板IsI_sIs​,在补全阶段,首先根据重演分割模板IsI_sIs​提取出IrI_rIr​中的脸部区域,即去除背景。将其和目标图片的分割模板StS_tSt​一起输送到补全网络Gc,结合下面的loss对面部进行补全

融合模块

根据作者所说,融合模块也是本文的两点之一。具体来说,作者想采用泊松融合的方式使得补全后的人脸IcI_cIc​能够更加自然的融合到目标图片ItI_tIt​中,但是他并没有直接采用泊松融合,而是构建了一个融合网络Gb,让其实现泊松融合。

这里为什么不直接采用传统的泊松融合?文中并没有明确的说明。相比于传统的泊松融合,这里仅多了一项对抗损失,或许这样做可以提高生产图片的真实感?也可能是为了构建一个全流程深度学习的网络?

总结

松融合,这里仅多了一项对抗损失,或许这样做可以提高生产图片的真实感?也可能是为了构建一个全流程深度学习的网络?

总结

总的来说,FSGAN在换脸方面的效果还是不错的。能够很好的保存源人脸的身份特征,同时将面部信息和表情信息均迁移到目标图像中。FSGAN中包含许多不同的子网络,适用于更普遍的换脸任务,但是作者并没有说明要如何训练这样一个大网络,不过可以借鉴该篇文章的思路,或者将其中的部分网络加以应用,也是可以得到不错的效果的。

专注于编程知识分享,包括但不限于数据结构、算法分析、集合框架、深度学习等领域知识。更多内容请关注微信公众号:旭说编程。

FSGAN:一种基于对抗生成网络的换脸术相关推荐

  1. 基于对抗生成网络的滚动轴承故障检测方法

    人工智能技术与咨询 点击蓝字 · 关注我们 来源:<人工智能与机器人研究> ,作者华丰 关键词: 不平衡工业时间序列:异常检测:生成对抗网络:滚动轴承数据 关注微信公众号:人工智能技术与咨 ...

  2. 基于对抗生成网络的图像转换技术【论文笔记】

    前两篇文章是对方法的改进,详细地论证了提出的方法的可行性和优越性.后两篇是应用型,针对一个特定的问题提出方法. Image-to-Image Translation with Conditional ...

  3. 一文读懂对抗生成网络的3种模型

    https://www.toutiao.com/i6635851641293636109/ 2018-12-17 14:53:28 基于对抗生成网络技术的在线工具edges2cats, 可以为简笔画涂 ...

  4. 悉尼大学陶大程:遗传对抗生成网络有效解决GAN两大痛点

    来源:新智元 本文共7372字,建议阅读10分钟. 本文为你整理了9月20日的AI WORLD 2018 世界人工智能峰会上陶大程教授的演讲内容. [ 导读 ]悉尼大学教授.澳大利亚科学院院士.优必选 ...

  5. 直播 | 顾险峰教授讲座:对抗生成网络的几何理论解释

    深度学习中的对抗生成网络GAN是复杂分布上无监督学习最具前景的方法之一.虽然在工程上对抗生成网络取得巨大成功,在理论上对于GAN的理解依然肤浅. 本期清华大数据"技术·前沿"系列讲 ...

  6. 报名 | 顾险峰教授讲座:对抗生成网络的几何理论解释

    深度学习中的对抗生成网络GAN是复杂分布上无监督学习最具前景的方法之一.虽然在工程上对抗生成网络取得巨大成功,在理论上对于GAN的理解依然肤浅. 本期清华大数据"技术·前沿"系列讲 ...

  7. GAN——对抗生成网络

    GAN的基本思想 作为现在最火的深度学习模型之一,GAN全称对抗生成网络,顾名思义是生成模型的一种,而他的训练则是处于一种对抗博弈状态中的.它使用两个神经网络,将一个神经网络与另一个神经网络进行对抗. ...

  8. 深度学习对抗生成网络--GAN

    导读:GAN的风暴席卷了整个深度学习圈子,任何任务似乎套上GAN的壳子,立马就变得高大上了起来.那么,GAN究竟是什么呢? 相关资料下载 加助教小姐姐的威信即可免费获取: 1. GAN的基本思想 GA ...

  9. 图像生成对抗生成网络gan_生成对抗网络(GAN)的直观介绍

    图像生成对抗生成网络gan by Thalles Silva 由Thalles Silva 暖身 (Warm up) Let's say there's a very cool party going ...

最新文章

  1. C6000系列DSP的内联函数
  2. unity 下一帧执行_理解Unity中的优化(三):协程(Coroutines)
  3. C/C++拾遗录--关于一个C语言小程序的分析
  4. 遇见好链接(我还并没有看)
  5. 如何查看Windows 10的具体版本号?
  6. Cesium 三角测量(水平距离,直线距离,高度差)
  7. 在excel表格中画斜线
  8. TDD实践之实用主义
  9. 数理统计基础-相关系数
  10. 简述使用计算机对会计工作的影响,会计电算化对会计工作的影响有哪些
  11. 写不出好的策划方案?大神手把手教你写策划
  12. 新能源汽车,车架号VIN码查询接口
  13. 移动互联网领域当前的主流技术及其社会需求调查报告
  14. 我是怎么在千氪上一天赚到5000氪金的?
  15. 讯飞离线语音命令词识别
  16. Matlab------如何控制matlab中的数据输出格式
  17. CSS设置文字自动换行
  18. C语言编程>第三周 ⑧ 打印出杨辉三角形(要求打印出10行)
  19. 中醫秘笈大公開---家家必備十良方
  20. C:L1-051 打折 (5分)

热门文章

  1. matlab中max函数的使用方法详细介绍(附matlab代码)
  2. 实现互联网思维的“独孤九剑”
  3. mysql数据转换英文_SqliteToMysql(数据库转换工具) V2.5 英文安装版
  4. 《学习笔记10》——JavaScript三目运算符的使用
  5. pytest基本应用(一)
  6. 不明觉厉的 CyclicBarrier
  7. 设计模式6大原则(5)-得墨忒耳
  8. Linux(Ubuntu 20.04 LTS)之shell使用基础教程
  9. TCP/IP网络编程之四书五经
  10. Linux中打开.xps文件的软件