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

本文导读

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

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

网络架构

在这里插入图片描述

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

loss

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

重建损失

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

在这里插入图片描述
在这里插入图片描述

最终的重建损失则为
在这里插入图片描述

对抗损失

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

在这里插入图片描述

重演和分割模块

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

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

在这里插入图片描述

重演模块是一个不断迭代的过程,作者提取源图片 I s I_s Is和目标图片 I t I_t It的欧拉角以及人脸关键点,在两个欧拉角和关键点中进行插值,进而得到中间关键点 p j p_j pj。将得到的中间关键点和人脸图片输入Gr,如此重复迭代,最终得到重演图片 I r I_r Ir

在这里插入图片描述

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

在这里插入图片描述

补全模块

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

在这里插入图片描述

融合模块

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

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

总结

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

总结

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

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

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

steven_moyu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值