MinJunKang / SHERF

SHERF learns a Generalizable Human NeRF to animate 3D humans from a single image.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SHERF: Generalizable Human NeRF from a Single Image

Shoukang Hu*1Fangzhou Hong*1Liang Pan1  Haiyi Mei2Lei Yang2Ziwei Liu1
1S-Lab, Nanyang Technological University  2Sensetime Research
*Equal Contribution  Corresponding Author
ICCV 2023

SHERF learns a Generalizable Human NeRF to animate 3D humans from a single image.

Figure 1. SHERF is a single image-based generalizable Human NeRF. With just one inference pass on a single image, SHERF reconstructs Human NeRF in the canonical space which can be driven and rendered for novel view and pose synthesis.

📖 For more visual results, go checkout our project page

This repository will contain the official implementation of SHERF: Generalizable Human NeRF from a Single Image.

📣 Updates

[08/2023] Training and inference codes for RenderPeople, THuman, HuMMan and ZJU-Mocap are released.

🖥️ Requirements

NVIDIA GPUs are required for this project. We recommend using anaconda to manage the python environments.

    conda create --name sherf python=3.8
    conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch
    conda install -c fvcore -c iopath -c conda-forge fvcore iopath
    conda install pytorch3d -c pytorch3d
    pip install -r requirements.txt
    conda activate sherf

Set up Dataset

RenderPeople Dataset

We are preparing the rendered multi-view images of RenderPeople dataset and will release it soon.

THuman Dataset

Please follow instructions of MPS-NeRF and DeepHuman to download the THuman dataset.

HuMMan Dataset

Please follow instructions of HuMMan-Recon to download the HuMMan dataset.

ZJU-Mocap dataset

Please follow instructions of Neural Body to download the ZJU-Mocap dataset.

Train SHERF

cd sherf

Register and download SMPL models here. Put the downloaded models in the folder smpl_models. Only the neutral one is needed. The folder structure should look like

./
├── ...
└── assets/
    ├── SMPL_NEUTRAL.pkl

Training code with RenderPeople dataset

bash train_renderpeople_512x512.sh

Training code with THuman dataset

bash train_THuman_512x512.sh

Training code with HuMMan dataset

bash train_HuMMan_640x360.sh

Training code with ZJU_MoCap dataset

bash train_zju_mocap_512x512.sh

If you hope to evaluate the trained checkpoints, please add --test_flag True --resume CHECKPOINT.

🤟 Citation

If you find the codes of this work or the associated ReSynth dataset helpful to your research, please consider citing:

@article{hu2023sherf,
  title={SHERF: Generalizable Human NeRF from a Single Image},
  author={Hu, Shoukang and Hong, Fangzhou and Pan, Liang and Mei, Haiyi and Yang, Lei and Liu, Ziwei},
  journal={arXiv preprint arXiv:2303.12791},
  year={2023}
}

🗞️ License

Distributed under the S-Lab License. See LICENSE for more information.

🙌 Acknowledgements

This study is supported by the Ministry of Education, Singapore, under its MOE AcRF Tier 2 (MOE-T2EP20221-0012), NTU NAP, and under the RIE2020 Industry Alignment Fund – Industry Collaboration Projects (IAF-ICP) Funding Initiative, as well as cash and in-kind contribution from the industry partner(s).

This project is built on source codes shared by EG3D, MPS-NeRF and Neural Body.

About

SHERF learns a Generalizable Human NeRF to animate 3D humans from a single image.

License:Other


Languages

Language:Python 84.7%Language:Cuda 11.4%Language:C++ 3.7%Language:Shell 0.2%