[CVPR2022]ImFace: A Nonlinear 3D Morphable Face Model with Implicit Neural Representations

标题:ImFace: A Nonlinear 3D Morphable Face Model with Implicit Neural Representations

链接:https://arxiv.org/pdf/2203.14510

本文的主要目的是为3D人脸模型创建一套基于SDF的非线性隐式表示,这有助于帮我们摆脱线性3DMM的局限性(比如网格密度有限导致不够精细,又比如线性表达无法囊括一些比较特殊的人脸及表情)。和别的隐式表示一样,输入模型的只有一个点,输出的是对应的SDF值,整个模型就可以想象成一个表示人脸的场,我们输入一个点就给我们一点信息,当输入点足够多的时候自然就能获得最终的3D重建结果了。而如何解析我们输入的这个点便是模型的重中之重,本文便将这个流程分为了三个部分:表情形变,身份形变和模板空间。通过对表情和身份的解耦来增强模型的表达能力和可控性。

模型结构

如上图所示,模型分为了三个大块,分别对应了表情形变,身份形变和模板空间。

Mini-Nets

先说说所有模块的组成部分,mini-nets。可以看到每个mini-Nets都有两个输入,一个是landmark,一个是查询点。其中landmark是由Landmark-Net基于身份/表情标签预测出来的。作者的说法是landmark的作用是将面部分柔性分割为不同的语意块(事实上作者就是使用每个landmark减去输入的查询点,然后将得到的一组相对坐标全部输入一个个独立的mininet),然后再对每个语意块分别预测对应点的值。最后再使用一个融合网络(fusion network)对这些点做个加权(可以看做),从而得到最终的融合值。

表情形变:Expression Mini-Nets

这一部分的目的就是学习一个形变场,对输入的目标空间(即我们想要重建的对象)中的点找到在身份基准空间中的对应点,其中会接受一个随机变量,用于表示表情变化,可以看做表情标签。这一步可以看做是去除原始人脸的表情信息。

身份形变:Identity Mini-Nets

这一部分的目的也是学习一个形变场,对于输入的身份基准空间中的点找到在模板基准空间中的对应点,也会接受一个随机变量,用于表示身份变化,可以看做身份标签。另外,这里还会预测一个额外的偏移量,用于进一步修正模板空间中预测出的SDF值(因为模板空间毕竟只有一个,所以有的特殊情况的确难以预测)。这一步可以看做进一步去除人脸中的身份信息,从而将原始人脸与模板人脸的点一一对应,用于查询对应SDF量。

模板空间:Template Mini-Nets

这一部分的目的是学习人脸模板的隐式表达,对于输入的模板基准空间中的点查询出对应的SDF值。这里倒是不会接受随机变量,但是会接受一个基于所有人的平均landmark,用于拟合模板形状。

损失函数

重建损失:最小化预测出的SDF值与真实值(扫描结果)的差距

Eikonal损失:对梯度的一种约束,要求梯度的二阶导等于一,可以保证形变空间的合理性

嵌入损失:对表情和身份变量的约束,保证他们都符合高斯分布

landmark生成损失:用于训练landmark net

landmark一致性损失:将对应的landmark输入形变空间,与重新预测出的landmark做对比,保证点到点的一致性

残差损失:保证身份形变网络预测出的偏移量不要太大,以免降低其他部分的表达能力。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值