干货!具有三维感知的换脸算法

点击蓝字

23c0f45e25ae2f05f635746c5feb1b22.jpeg

关注我们

AI TIME欢迎每一位AI爱好者的加入!

作者介绍

163845f64fba8d13537f5e31e7bcf640.png

李逸轩

上海交通大学2022级硕士研究生,研究兴趣主要是三维人脸生成

报告题目

具有三维感知的换脸算法

内容简介

AI换脸旨在将一张给定目标图片中的人脸五官替换成源图片中的另一个人,其在影视制作、隐私保护等领域有着广泛的应用。以往的换脸算法研究往往忽略了人脸的3D特性,仅以2D图像处理的角度生成单一视角下换脸结果。针对这一问题,本文提出了首个能生成多视角结果与几何形状的换脸框架3dSwap。具体来说,我们设计了一个伪多视角的优化方法,通过将输入的2D图片映射到3D生成模型的隐空间中来提取人脸几何与纹路先验;而后,我们提出使用一个参数自适应的插值模块直接在隐空间中获取对应换脸结果的隐码,有效地完成了身份信息的迁移。与现有方法相比,3dSwap在权威的高清人脸数据集CelebA-HQ上取得了最好的身份迁移准确性。

代码链接:https://lyx0208.github.io/3dSwap

01

Background

Face swapping

Face swapping,即换脸,它的问题定义是:给定两张人脸的图片,将其中一张人脸的五官迁移到另一张人脸上,并保留原图中五官以外的部分,例如脸型、肤色、发色等。这两张照片中提供五官的人脸照片,我们称之为source image,而被换脸的照片则称之为target image。

65a921fb61768905fb4ec4d9f3acb744.png

换脸算法是计算机视觉领域一个重要且历史悠久的研究方向,一些研究者在2000年左右便开始涉及这一方向。对于一张照片是否被换过脸的检测,我们称之为face forgery detection,也是计算机视觉领域一个热门的研究问题。

Existing face swapping approaches

现有的换脸算法大致可以分为两类:基于3D模型的换脸算法和基于对抗生成网络的换脸算法。早期的换脸算法都属于第一类,他们大多将输入的人脸照片fit到一个参数化的人脸模型(例如3DMM)上,再进行换脸。2014年,对抗生成网络被提出以后,研究者便将其引入到了换脸算法的领域中,并取得了较好成果。由于计算资源的限制,大多基于GAN的换脸算法生成的结果的分辨率都在256*256或512*512的分辨率,近期的一些工作将GAN反演(GAN inversion)与换脸相结合,利用能生成高分辨率人脸的预训练GAN模型来生成高清换脸结果。

93df1b62a36f9136549efd95a7a201e2.png

Problems of existing approaches

这两大类换脸算法中,基于3D模型的方法更多地考虑了人脸几何信息,但这些参数化人脸模型提供的脸部纹路较为有限,生成的换脸结果往往较为模糊。而基于GAN的方法由于仅从2D照片中提取特征,更多地考虑了人脸纹路信息而没有很好地利用几何先验,在一些输入照片人脸角度差异较大的情况下可能生成的结果不够理想。因此,我们思考是否可以设计一种换脸算法,同时考虑几何与纹路先验,这也是我们本篇文章的研究动机。

Challenges of 3D-aware face swapping task

但是想要实现一个3D-aware的换脸算法,我们需要解决以下两大挑战:

1)如何从单一视角的输入照片中同时提取几何与纹理先验?

2)如何利用这些先验来实现一个3D-aware的换脸?

02

Method

我们回到之前提出的两个问题上。首先是:如何从单一视角的输入照片中同时提取几何与纹理先验?针对这一问题,我们给出的解决方案是:设计一个3D GAN反演的框架,将输入的2D照片投影到3D-aware生成模型的隐空间中,并将得到的隐码作为先验信息。在设计这样一个3D GAN inversion的框架时,我们需要考虑到其与常规的2D GAN inversion的不同点。以下是2D GAN inversion和3D GAN inversion的表达形式,我们可以注意到其唯一的区别在于2D GAN模型是直接使用w来生成结果,而3D GAN的输入除了w之外还有相机参数p。

a870e4c3fb19a9f6020f074fdb3a77f5.png

这一问题最直接的解决方案就是使用大量的数据集,用同一个人不同视角的图片来训练我们的inversion网络,但是目前来看这样的数据集是稀有的。

Pseudo-multi-view train strategy

为解决这一问题,我们设计了一个伪多视角的训练框架来训练一个learning-based的3D GAN inversion模型。此外,我们额外采样了一个随机的相机参数d hat,并且合成了input x,在d hat下的重建结果x hat,作为输入图片在其他视角下的伪输入,并将这一输入再次送到E-G的结构中。

36198cd2e9389302ee5d0b07a2b3d44f.png

第二个问题:如何利用这些先验来实现一个3D-aware的换脸?我们的解决方案是:设计一个基于latent code的换脸算法计算对应换脸结果的隐码,并使用预训练好的3D GAN直接合成换脸结果。

990e9aa3cf74c09003f28ea5ec0cebd9.png

由于latent code包含了人脸所有的信息,而换脸的结果也是两个人脸的某一种中间状态,一个很直接的思路就是使用插值来获得对应换脸结果的隐码。而受之前提到style mixing的启发,较粗糙的style能控制脸部朝向、脸型、发型等high-level的特征,较精细的style控制发色等细节,而这些部分正是换脸中target image不需要被改变的部分,于是我们在插值的基础上将style mixing与插值相结合,保留target粗糙和精细的部分,只在代表五官的中间部分进行插值。插值的表达式为:

c7bd32c805c49bbcd03b274298899107.png

由于3D GAN使用NeRF的方式来渲染最终结果,其inversion质量与直接的2D生成不可避免的有一些差距,同时基于隐码插值的换脸思路还是在一定程度上会对非五官的区域造成一些影响。受pivot tuning inversion的启发,我们设计了一套联合参数优化的方法在测试时微调预训练EG3D的参数,同时增强inversion质量和face swapping的表现。

最后,在得到微调参数以及对应的换脸结果之后,我们就可以去合成任意视角下的换脸结果。下图是我们训练的流程图。

204e3b39fe5a53d4a4dd600b602961f0.png

03

Experiments

我们的实验数据集主要来自CelebA-HD,下面的实验结果可以证明我们的算法在很多具有挑战的条件设定下的性能。下图中,在性别、年龄、肤色、打光角度有很大差异的情况下,换脸的效果都很好,并且id similarity这一定量指标会比2D方法更好。

20baf8070f0fd8a510e4da90857e58fd.png

下图是与近些年效果较好的2D换脸方法的对比。结果显示,我们的方法在迁移之后与五官的相似性是最好的,能够较好地保留五官的细节。

a6c60151b907c01f4c7f8a965882af66.png

下图是多视角下的换脸结果,可以看到,不论是在源图片视角还是目标图片视角,我们都能很好地看到原图的五官特征,这说明我们的方法可以生成多视角的结果。

9445a96b07dfe5da7e7bd6bb3b21abeb.png

04

Ablation Study

Effectiveness of the learning-based 3D GAN Inversion

这里主要是证明基于学习的三维GAN反演的有效性,通过对比发现我们的方法在眼睛、眼镜的细节上表现更好,并且定量的指标也是更高的。

70cc10756fd0801555598ab57ec889c4.png

4b744f8a11811f3e04885d0e51916731.png

Effectiveness of Style Mixing

下图证明了style mixing的有效性。由第三列与第四列的对比可以看出,当使用style mixing时,目标图像能够更好地保留发色、肤色等特征。

818204d6dc1695ed7d97757166bd3769.png

05

Conclusion

我们提出了首个具有3D感知的换脸框架,它

(1)通过3D GAN反演从单视角图像中同时提取几何和纹路的人脸先验

(2)使用一种独特的基于隐码的换脸算法

(3)通过一个联合的参数优化弥补了2D生成和3D渲染的之间的效果差距。

整理:陈研

审核:李逸轩

点击“阅读原文”跳转到33:11可以查看回放哦!

往期精彩文章推荐

e31be0d91d4b39db3080faaec323c078.jpeg

记得关注我们呀!每天都有新知识!

 关于AI TIME 

AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。

迄今为止,AI TIME已经邀请了1100多位海内外讲者,举办了逾550场活动,超600万人次观看。

2346116a33031039de8d97510bd6a07f.png

我知道你

在看

~

c6c80cdf74b238effbc059fb1ad61b73.gif

点击 阅读原文 查看回放!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值