- 本文提出一种新的数字人表征Human Gaussian Splats (HUGS),可以实现新姿态和新视角生成;
- 本文提出一种新的前向形变模块(forward deformation module),在标定空间基于Gaussians表征数字人,并基于LBS学习如何驱动数字人;
- HUGS从50-100帧单目视频中创建数字人,经过30分钟训练,可在高分辨率下实现60FPS渲染;
- HUGS在NeuMan、ZJU-Mocap数据集上实现sota重建质量。
方法
Prelimiaries
- SMPL是一种人体先验模型,可实现人体形状和姿态控制。
- 形式上,SMPL定义了静止姿态(例如,T-Pose)下的人体网格。其中,是个顶点,是个具有固定拓扑关系的三角面片。给定形状系数和姿态系数,SMPL在静止姿态下将顶点转换为某种形状下的坐标:。其中,表示某种形状下的顶点坐标,和表示形状和姿态导致的位移偏差。
- SMPL使用个预定义关节点和对应Linear Blend Skinning (LBS),驱动人体网格到特定姿态。LBS系数由SMPL定义。给定静止姿态下的第个顶点和关节点配置(世界坐标下的旋转和位移矩阵),其中,根据姿态形变后的顶点坐标为,其中表示第个关节点对第个顶点的LBS权重。
Human Gaussian Splats
给定T张图片和对应的相机位姿,HUGS首先使用4DHumans估计SMPL的姿态系数和形状系数。本文通过3D Gaussians表征人体,并使用学习到的LBS系数驱动Gaussians。通过训练,本文输出Gaussian的位置、旋转、缩放、颜色和LBS系数。整体框架如下图所示:
HUGS通过一个triplane 和三个MLPs构造标定空间下的人体。
渲染
- 首先根据第个Human Gaussians的中心点坐标,从triplane中插值得到特征。
- 使用外观MLP 预测RGB颜色和不透明度;
- 使用几何MLP 预测中心位置残差,旋转矩阵和缩放系数;
- 使用形变MLP 预测LBS权重。
- 最终,基于和变化Human Gaussians,与Scene Gaussians一起渲染为图片。
优化
- 优化参数包括Gaussians中心位置,triplane和三个MLPs。
- 渲染图像和GT计算损失,SSIM损失和感知损失。本文同时渲染仅有人像的图片,并同样适用上述损失做监督。
- 对学习到的LBS权重施加约束,让LBS权重与SMPL的原始LBS权重尽可能保持接近。具体来说,对任意Gaussians,本文检索其最近的个SMPL顶点,使用距离为权重的加权平均得到监督LBS系数。约束损失为。
- HUGS的整体损失为:
- 其中。使用Adam优化器,学习率为和cosing lr schedule
初始化
- Gaussians中心初始化在静止姿态下的SMPL顶点;
- 预训练feature triplane和MLPs,让他们输出RGB颜色为,不透明度,位置偏移量,让旋转矩阵对齐顶点向量,放缩系数是平均变长,LBS权重与SMPL顶点权重一致。预训练需要5000轮(在3090Ti GPU上仅需1分钟)。
- HUGS将SMPL上采样得到个顶点和个面片。
- 优化过程中,每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