Animatable Gaussians: Learning Pose-dependent Gaussian Maps for High-fidelity Human Avatar Modeling

摘要

任务:从RGB视频中建模可动画化的人类角色(animatable human avatars)。

目前的工作一般采用基于MLP的NeRF表示3D人物,但是对于MLP来说,回归依赖于姿势的服装细节是很困难的。本文引入了Animatable Gaussians,一种新的avatar表示,用2D CNNs和3D Gaussian Splatting来创建avatar。为了把3D Gaussians和animatable avatar联系起来,从输入视频中学习参数化模板,然后在前后两个canonical Gaussian maps的模板上进行参数化,其中,每个像素表示一个3D Gaussian。学到的模板可以适用于服装,例如裙子之类较宽松的衣服。模板引导的2D参数化使基于StyleGAN的CNN能学到依赖于姿势的服装动态细节。另外,本文提出了一个姿势投影策略,达到更好的泛化性。

结果:该方法能创造出高度动态的、真实的、具有泛化性的可动画化角色。

简介

显式的3D表达(mesh和点云)需要稠密重建的mesh才能得到较好的人物几何,在稀疏视角、基于视频的人物建模上的应用有限。NeRF出现之后,很多研究者将3D人物表示成pose-conditioned NeRF,但是这种隐式表示需要基于坐标的MLP对一个连续场进行回归,而MLP会产生低频偏差(low-frequency spectral bias)。后来有许多工作用纹理特征或structured local NeRFs增强avatar的表示,但都无法取得满意的结果。

3D Gaussian Splatting是一种高效且显式的基于点的表示(explicit point-based representation)。相比于隐式表达,explicit point-based representation可以在2D maps上进行参数化,因此可以使用更强大的2D网络建模。

本文提出的Animatable Gaussians用2D CNNs和3D Gaussian Splatting来创建avatar。首先,为了解决服装(包括长裙)建模的难题,作者从视频中重建一个参数化模板(parametric template),通过扩散蒙皮权重(skinning weights)继承SMPL的参数。这样做的好处是可以根据模板的运动使3D Gaussians动画化,同时避免在标准Gaussians中的密度控制,确保在接下来的2D参数化中保持3D Gaussians的时间一致结构(temporally consistent structure)。

为了与2D网络兼容,有必要将3D模板参数化到2D map上。然而,将具有任意拓扑结构的模板展开到统一而连续的UV空间仍然具有挑战性。考虑到正反视图几乎覆盖整个标准人体,我们通过将标准模板在两个视图中进行正交投影来实现参数化。在每个视图中,我们将模板掩码内的每个像素定义为一个3D Gaussian,由其位置、协方差、不透明度和颜色属性表示,从而产生两个正反Gaussian map。同样,考虑到运动姿势,我们获得两个posed position map,作为姿势条件(pose condition)。这样的模板引导参数化使得能够通过基于StyleGAN的条件生成器StyleUNet从姿势条件中预测依赖于姿势的高斯图。

可动画化角色在新姿势上的泛化还没有得到广泛探讨。由于基于学习的角色建模具有数据驱动的特性,对于分布之外的姿势,直接推广显然会产生令人不满意的结果。本文提出使用主成分分析(PCA)将由position map表示的驱动信号投影到PCA空间中,促使在训练姿势的分布内进行合理的插值。

方法

pipeline

Alt text

给定一个角色的多视角RGB视频 & 对应每帧姿势和共享形状的SMPL-X registration,目标是创建一个栩栩如生的可动画化角色。Pipeline分成两步:

  1. 学习参数化模板:首先,从输入视频中选择一个近似A姿势的帧。为了关联canonical space和posed space,将SMPL顶点上的蒙皮权重沿着表面法线扩散到整个权重体(weight volume)$W$中,预计算canonical space中的蒙皮权重。对于posed space中的每个点,可以通过查找根(root finding)来找到canonical space中的对应点

Alt text

其中LBS是linear blend skinning(线性混合蒙皮)函数,将canonical point $x_c$变换到SMPL pose $\Theta$中$x_p$的位置。得到的canonical space中的对应点将输入MLP,查询SDF和颜色,然后进行体渲染,通过比较RGB图像和ground truth来优化canonical fields。最后,用Marching Cubes从canonical SDF field中提取几何模板,从预计算的weight volume中得到每个顶点的蒙皮权重,得到最终的可变形参数化模板。

Alt text

  1. 学习姿势相关的Gaussian map:给定一个驱动姿势,我们首先通过LBS将模板变形到posed space,并将变形后的顶点坐标作为canonical模板的顶点颜色,通过正交投影渲染到canonical的正面和背面视图,得到两个posed position map。position map作为pose condition,通过StyleUNet(用StyleGAN-based CNN替换NeRF的MLP,更好地建模高频动态)转换成正面和背面的Gaussian map。

Alt text

其中$V$是view direction map,用来建模依赖视角的变化,影响输出的Gaussian map的颜色属性。然后从模板掩码中提取有效的3D Gaussians。为了渲染驱动姿势下的角色,通过LBS将canonical 3D Gaussians变形到posed space。最后,通过可微分的splatting光栅化将posed 3D Gaussians渲染到目标视角。

实验

Alt text

对比

Alt text

3DV

Stochastic Multi-Person 3D Motion Forecasting (ICLR 2023 Spotlight) «
Prev «
» Gaussian Head Avatar
» Next