[CVPR2022-oral]I M Avatar: Implicit Morphable Head Avatars from Videos

标题:I M Avatar: Implicit Morphable Head Avatars from Videos

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

简介

这篇文章做的是基于视频的迭代式3D人脸重建。文中结合了3DMM和隐式建模的思想,使得最终得到的3D人脸模型不仅非常真实,而且可以按照3DMM的方式进行编辑,最终生成的模型中可以看到完整的人头(包含口腔,牙齿,头发)。模型结构分为三个部分,每个部分都各用了一个占用场(occupancy field,和radiance field很像,文末会解释他们的区别),第一个部分用于将输入人脸变形到基准脸,第二个部分用于从基准脸中提取对应的几何信息,第三个部分用于提取对应的纹理信息。

模型结构

以下按照图中流程顺序挨个介绍各个模块

隐式变形(Implicit Morphing)

(注意,紫色框里左下角的x^i_c 和右下角的x^i_d写反了,估计是作者笔误)

这里输入的就是输入光线与平面相交的那个点x^i_d,输入形变(Deformation)网络后可以获得三个参数,这三个参数的物理意义和FLAME中完全一样,分别是表情基底,姿势基底和蒙皮权重。(表情基底和姿势基底在FLAME中是做PCA得到的)的到的这三个参数就确定了一组形变方式,因此可以通过LBS将形变场中的x^i_d投影到基准(canonical)场中的x^i_c。因此,这个隐式变形的模块就可以理解为通过FLAME的思想,以占用场为媒介构建出输入人脸到基准人脸的点到点的对应关系,从而我们就可以用基准脸来表示任意的输入人脸了(注意,由于是迭代优化,模型的输入只能是一个人的一段视频)。

几何网络(Geometry)

这就是用于表示基准脸的网络了,输入一个点,输出此点的占用值,所谓占用与否就是这个点在不在我们想要寻找的表面上。另外,为了避免面部特征解耦不充分,这里还输入了一个基于输入图像的语意码,用于引入FLAME以外的特征。

解析梯度(Analytical Gradient)

这个模块的目的是想要计算出输入点x_c的梯度,用于优化隐式表达空间。作者通过两个约束(输入点需要在隐空间中模型的表面,相机点到投射点的连线与射线方向是平行的)获得了这个梯度的解析解(说是解析梯度,但方程里的两个组成部分不还是模型反向传播回来的数值梯度么。。。)

纹理网络(Texture)

同几何网络,这是用于表示隐式表示模型纹理的网络,输入一个点,输出此点的颜色。

损失函数

颜色损失(RGB loss)

就是像素损失,把预测出来的颜色和真实颜色做个l1 loss即可,主要用于优化纹理部分

遮罩损失(mask loss)

这里是一个交叉熵损失,为的是判断输入点获得的占用值是否符合真实值,主要用于优化几何形状部分

3D先验损失(FLAME loss)

这是个可选的损失,意思就是直接使用FLAME的参数对隐式变形中的那三个值做约束,这样应该可以帮助模型快速拟合。

其他

占用场(occupancy field)和辐射场(radiance field)

初读此文的时候还以为这俩是同一个东西,但越看越不对劲,查了查也没人给出解释。最后在一篇论文中得到了答案(Generative Occupancy Fields for 3D Surface-Aware Image Synthesis)。目前文章还没读,但就我从abstract中获得的信息来看,占用场的梯度集中于表面,而辐射场的梯度分布于整个3D图形。因此,简单理解可以认为占用场仅仅是为了区分表面和非表面,而辐射场是希望了解整个空间中都有些什么东西。

因此,在占用场中发一条光线,那光线上只会有稀疏的几个点的占用值有不同,表示光线接触到了表面。而辐射场中发射一条光线会有非常多的不同密度信息传回来。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值