HUGS: 人体高斯散射
这个代码仓库是HUGS的参考实现。HUGS使用神经辐射场从单个视频中重建背景场景和可动画的人体。
HUGS: 人体高斯散射,
Muhammed Kocabas, Jen-Hao Rick Chang, James Gabriel, Oncel Tuzel, Anurag Ranjan
IEEE计算机视觉与模式识别会议(CVPR) 2024
入门指南
我们使用Ubuntu 22.04.3和CUDA 11.7兼容的GPU测试了我们的系统。
- 克隆我们的仓库:
git clone --recursive git@github.com:apple/ml-hugs.git
- 运行安装脚本创建conda环境并安装所需的包。
source scripts/conda_setup.sh
准备数据集和模型
数据集
-
下载SMPL中性人体模型
-
下载NeuMan数据集和预训练模型:
或者,运行以下脚本来设置数据和预训练模型。
source scripts/prepare_data_models.sh
-
下载AMASS数据集用于新姿态渲染:
- AMASS数据集用于渲染新姿态。
- 我们使用了SFU mocap(SMPL+H G)和MPI_mosh (SMPL+H G)子集,请从AMASS下载。
- 将下载的mocap数据放入
./data/
文件夹。
完成上述步骤后,您应该得到类似这样的文件夹结构:
data/
├── smpl
│ ├── SMPL_FEMALE.pkl
│ ├── SMPL_MALE.pkl
│ ├── SMPL_NEUTRAL.pkl
│ ├── smpl_uv.obj
├── neuman
│ └── dataset
│ ├── bike
│ ├── citron
│ ├── jogging
│ ├── lab
│ ├── parkinglot
│ └── seattle
├── MPI_mosh
│ ├── 00008
│ ├── 00031
│ ├── ...
│ └── 50027
└── SFU
├── 0005
├── 0007
├── ...
└── 0018
训练
要在NeuMan数据集上训练HUGS,有三种不同的模式可供选择:1. 联合人体和场景 2. 仅人体 3. 仅场景。
-
联合人体和场景训练
这是原始HUGS设置,联合优化人体高斯和场景高斯。
python main.py --cfg_file cfg_files/release/neuman/hugs_human_scene.yaml dataset.seq=lab
-
仅人体训练
此模式仅优化HUGS中引入的Triplane+MLP模型。
python main.py --cfg_file cfg_files/release/neuman/hugs_human.yaml dataset.seq=lab
-
仅场景训练
此设置与原始3DGS论文相同。这里我们提供了在NeuMan数据集上运行它的脚本
python main.py --cfg_file cfg_files/release/neuman/hugs_scene.yaml dataset.seq=lab
cfg_files/release
目录包含我们用于训练HUGS的最终配置文件。请参考config.py文件以查看不同的配置参数及其含义。
注意:与预训练模型相比,预计会看到略微的差异。这是由于渲染过程中固有的随机性,即使应用了适当的种子,也难以在多次运行中获得确定性的结果。因此,预计获得的结果会与论文中报告的略有不同。
评估和动画
这里我们展示如何使用预训练模型在NeuMan数据集上进行评估。
python scripts/evaluate.py -o <<输出目录路径>>
此命令将打印给定预训练模型的PSNR、SSIM和LPIPS指标。
引用
@inproceedings{
kocabas2024hugs,
title={{HUGS}: Human Gaussian Splatting},
author={Kocabas, Muhammed and Chang, Jen-Hao Rick and Gabriel, James and Tuzel, Oncel and Ranjan, Anurag},
booktitle = {2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2024},
url={https://arxiv.org/abs/2311.17910}
}
许可证
代码根据LICENSE条款发布。