ml-hugs

apple-aiml-research活跃维护

HUGS 用高斯泼溅从单目视频重建可动画的人体三维模型,能同时还原人体和场景,方便做数字人渲染。

Official repository of HUGS: Human Gaussian Splats (CVPR 2024)

暂无版本416star51fork同步于 2026-11-07 07:30 UTC

怎么上手

由 README 提炼,执行前请确认
git clone --recursive [email protected]:apple/ml-hugs.git
source scripts/conda_setup.sh
硬件要求按 README 说明

README 仅说明在 Ubuntu 22.04.3 与 CUDA 11.7 兼容 GPU 上测试过,未给出具体显存要求与 GPU 型号

需要 CUDA
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

从单段视频重建背景场景与可动画人体的高斯泼溅参考实现

HUGS 用高斯泼溅从单目视频重建可动画的人体三维模型,能同时还原人体和场景,方便做数字人渲染。

核心能力

  • 联合优化人体与场景高斯,也支持仅人体或仅场景训练
  • 用 Triplane+MLP 建模可动画的人体表示
  • 提供 NeuMan 数据集与预训练模型下载脚本
  • 用 PSNR、SSIM、LPIPS 评估预训练模型
  • 支持用 AMASS 动作数据渲染新姿态

容易踩的坑

需自行注册 SMPL 官网下载 SMPL v1.1.0 与 smpl_uv.obj 并放入 data/smpl/;训练前需下载 NeuMan 数据集和预训练模型,或运行 scripts/prepare_data_models.sh;渲染新姿态还需额外下载 AMASS 的 SFU 与 MPI_mosh 子集;多次运行结果与预训练模型存在随机性差异

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    HUGS: Human Gaussian Splats

    This repository is a reference implementation for HUGS. HUGS reconstructs both the background scene and an animatable human from a single video using neural radiance fields.

    [Paper] | [Project Page]

    HUGS: Human Gaussian Splats,
    Muhammed Kocabas, Jen-Hao Rick Chang, James Gabriel, Oncel Tuzel, Anurag Ranjan
    IEEE Computer Vision and Pattern Recognition (CVPR) 2024

    Getting Started

    We tested our system with Ubuntu 22.04.3 using a CUDA 11.7 compatible GPU.

    • Clone our repo:
    git clone --recursive [email protected]:apple/ml-hugs.git
    
    • Run the setup script to create a conda environment and install the required packages.
    source scripts/conda_setup.sh
    

    Preparing the datasets and models

    Datasets

    • Download the SMPL neutral body model

      • Register to SMPL website.

      • Download v1.1.0 and SMPL UV obj file from the download page.

      • Extract the files and rename basicModel_neutral_lbs_10_207_0_v1.0.0.pkl to SMPL_NEUTRAL.pkl.

      • Put the files into ./data/smpl/ folder with the following structure:

        data/smpl/
        ├── SMPL_NEUTRAL.pkl
        └── smpl_uv.obj
        
    • Download NeuMan dataset and pretrained models:

      Alternately, run the following script to set up data and pretrained models.

      source scripts/prepare_data_models.sh
      
    • Download AMASS dataset for novel animation rendering:

      • AMASS dataset is used for rendering novel poses.
      • We used SFU mocap(SMPL+H G) and MPI_mosh (SMPL+H G) subsets, please download from AMASS.
      • Put the downloaded mocap data in to ./data/ folder.

    After following the above steps, you should obtain a folder structure similar to this:

    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
    

    Training

    To train HUGS on NeuMan dataset, there are three different modes you can choose from: 1. joint human and scene 2. human only, 3. scene only.

    1. Joint human and scene training

      This is the original HUGS setup where jointly optimize human Gaussians and scene Gaussians.

      python main.py --cfg_file cfg_files/release/neuman/hugs_human_scene.yaml dataset.seq=lab
      
    2. Human only training

      This mode only optimizes the Triplane+MLP model introduced in HUGS.

      python main.py --cfg_file cfg_files/release/neuman/hugs_human.yaml dataset.seq=lab
      
    3. Scene only training

      This setup is identical to original 3DGS paper. Here we provide the script to run it on the NeuMan dataset

      python main.py --cfg_file cfg_files/release/neuman/hugs_scene.yaml dataset.seq=lab
      

    cfg_files/release directory contains the final configuration files we used to train HUGS. Please refer to the config.py file to see different config parameters and their meanings.

    Note: Expect to see slight differences compared to the pretrained models. This is due to the inherent randomness in the rendering process, which makes achieving deterministic results across multiple runs challenging, even when proper seeding is applied. So it is expected to obtain results slightly different than what is reported in the paper.

    Evaluation and Animation

    Here we show how to perform evaluation with the pretrained models on the NeuMan dataset.

    python scripts/evaluate.py -o <<path to the output directory>>
    

    This command will print out the PSNR, SSIM, and LPIPS metrics for a given pretrained model.

    Citation

    @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

    The code is released under the LICENSE terms.