[CVPR-24] HUGS: Human Gaussian Splats

  • 本文提出一种新的数字人表征Human Gaussian Splats (HUGS),可以实现新姿态和新视角生成;
  • 本文提出一种新的前向形变模块(forward deformation module),在标定空间基于Gaussians表征数字人,并基于LBS学习如何驱动数字人;
  • HUGS从50-100帧单目视频中创建数字人,经过30分钟训练,可在高分辨率下实现60FPS渲染;
  • HUGS在NeuMan、ZJU-Mocap数据集上实现sota重建质量。

方法

Prelimiaries

  • SMPL是一种人体先验模型,可实现人体形状和姿态控制。
  • 形式上,SMPL定义了静止姿态(例如,T-Pose)下的人体网格(\bar{T}, F)。其中,\bar{T} \in \mathbb{R}^{n_v \times 3}n_v个顶点,F \in \mathbb{N}^{n_t \times 3}n_t个具有固定拓扑关系的三角面片。给定形状系数\beta \in \mathbb{R}^{|\beta|}和姿态系数\theta \in \mathbb{R}^{3n_k + 3},SMPL在静止姿态下将顶点转换为某种形状下的坐标:T_S(\beta, \theta) = \bar{T} + B_S(\beta) + B_P(\theta)。其中,T_S(\beta, \theta)表示某种形状下的顶点坐标,B_S(\beta) \in \mathbb{R}^{n_v \times 3}B_P(\theta) \in \mathbb{R}^{n_v \times 3}表示形状和姿态导致的位移偏差。
  • SMPL使用n_k个预定义关节点和对应Linear Blend Skinning (LBS),驱动人体网格到特定姿态。LBS系数W \in \mathbb{R}^{n_k \times n_v}由SMPL定义。给定静止姿态下的第i个顶点p_i \in \mathbb{R}^3和关节点配置(世界坐标下的旋转和位移矩阵)G=[G_1, ..., G_{n_k}],其中G_k \in SE(3),根据姿态形变后的顶点坐标为v_i = (\sum^{n_k}_{k=1} W_{k, i}G_k)p_i,其中W_{k, i} \in \mathbb{R}表示第k个关节点对第i个顶点的LBS权重。

Human Gaussian Splats

给定T张图片和对应的相机位姿,HUGS首先使用4DHumans估计SMPL的姿态系数\theta_1, ..., \theta_T和形状系数\beta。本文通过3D Gaussians表征人体,并使用学习到的LBS系数驱动Gaussians。通过训练,本文输出Gaussian的位置、旋转、缩放、颜色和LBS系数。整体框架如下图所示:

HUGS通过一个triplane F \in \mathbb{R}^{3 \times h \times w \times d}和三个MLPs构造标定空间下的人体。

渲染

  • 首先根据第i个Human Gaussians的中心点坐标\mu_i,从triplane中插值得到特征f^i
  • 使用外观MLP D_A预测RGB颜色和不透明度;
  • 使用几何MLP D_G预测中心位置残差\Delta {\mu_i},旋转矩阵R_i和缩放系数S_i
  • 使用形变MLP D_D预测LBS权重W_i \in \mathbb{R}^{n_k}
  • 最终,基于WG变化Human Gaussians,与Scene Gaussians一起渲染为图片。

优化

  • 优化参数包括Gaussians中心位置\mu,triplane和三个MLPs。
  • 渲染图像和GT计算\mathcal{L}_1损失,SSIM损失\mathcal{L}_{ssim}和感知损失\mathcal{L}_{vgg}。本文同时渲染仅有人像的图片,并同样适用上述损失做监督。
  • 对学习到的LBS权重施加约束,让LBS权重与SMPL的原始LBS权重尽可能保持接近。具体来说,对任意Gaussians,本文检索其最近的k=6个SMPL顶点,使用距离为权重的加权平均得到监督LBS系数\hat{W}。约束损失为\mathcal{L}_{LBS} = ||W-\hat{W}||^2_F
  • HUGS的整体损失为:

  • 其中\lambda_1=0.8, \lambda_2=0.2, \lambda_3=1.0, \lambda_4=1000。使用Adam优化器,学习率为10^{-3}和cosing lr schedule

初始化

  • Gaussians中心\mu初始化在静止姿态下的SMPL顶点;
  • 预训练feature triplane和MLPs,让他们输出RGB颜色为[0.5, 0.5, 0.5],不透明度o=0.1,位置偏移量\Delta\mu=0,让旋转矩阵对齐顶点向量,放缩系数是平均变长,LBS权重与SMPL顶点权重一致。预训练需要5000轮(在3090Ti GPU上仅需1分钟)。
  • HUGS将SMPL上采样得到n_v=110,210个顶点和n_t = 220, 416个面片。
  • 优化过程中,每600iter基于梯度和不透明度做clone, split和prune。完整优化为12K轮,在3090Ti GPU上大约30分钟。
  • 最终每个数字人平均由200K个Gaussians表征。

实验

  • 数据集:NeuMan Dataset、ZJU-MoCap Dataset;
  • 比较方法:定性分析(Vid2Avatar、NeuMan),定量分析(NeRF-T、HyperNeRF、NeuMan、Vid2Avatar)
  • 量化指标:PSNR、SSIM和LPIPS

定量与定性分析

消融实验

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值