EG-HumanNeRF
September 9, 2026 · View on GitHub
Efficient generalizable human NeRF utilizing human prior for sparse view
Zhaorong Wang · Yoshihiro Kanamori · Yuki Endo
Computational Visual Media, 12(2), 355–379, 2026
EG-HumanNeRF synthesizes novel human views from sparse calibrated images and a fitted body prior. It combines body-guided sparse feature aggregation and ray sampling with image-space refinement, without fitting a separate NeRF for each test subject.

Interactive rendering
THuman2.0, rendered at 512 × 512 on an RTX A6000. Watch the video · Run the viewer
Installation
Requirements: Linux, an NVIDIA GPU, CUDA 11.8, GCC/G++ 9, Git, Make and uv. The environment uses Python 3.10 and PyTorch 2.4.1. The default build targets RTX A6000 (compute capability 8.6).
Run from the repository root, replacing the CUDA toolkit path:
uv run --no-project python scripts/bootstrap_cuda.py --cuda-home /path/to/cuda-11.8 --with-zju
source .cache/activate_cuda.fish
Omit --with-zju for THuman only. For a different GPU architecture, set --arch to its compute capability. Use uv run --no-sync with the prepared environment. See environment details for native dependencies and runtime setup.
Data and checkpoints
The model uses prepared THuman2.0 or ZJU-MoCap data, fitted body assets and a matching checkpoint. See data preparation for the required layout and official dataset access links. Raw-dataset preprocessing is not included; checkpoint download links are not yet available.
Install the separately distributed body-model code as described in data preparation.
Register resources already available on your machine:
uv run --no-sync python scripts/prepare_resources.py \
--thuman-root /path/to/prepared/thuman2 \
--body-resources /path/to/body_resources \
--templates /path/to/mesh_templates \
--checkpoint /path/to/thu_fullsrdf.ckpt
Datasets and body assets are linked; checkpoints are copied into models/. ZJU setup and checkpoint identities are documented in data preparation.
Inference
Select one available GPU; the examples use GPU 0.
nvidia-smi
CUDA_VISIBLE_DEVICES=0 uv run --no-sync python -m eghumannerf infer \
--checkpoint models/thu_fullsrdf.ckpt --subjects 401 --limit-val-batches 1 \
--output outputs/inference
View the input images, predictions, ground truth and side-by-side comparisons in outputs/inference/renders/. Use a new output directory for each run.
Training
Train on one subject for a short run:
CUDA_VISIBLE_DEVICES=0 uv run --no-sync python -m eghumannerf train \
--train-subjects 0 --subjects 401 --max-steps 10 --limit-val-batches 1 \
--output outputs/train
Remove --train-subjects to use the configured training split and set --max-steps to the desired training length. Usage covers pretrained initialization, checkpoint restoration and logging.
Evaluation
CUDA_VISIBLE_DEVICES=0 uv run --no-sync python -m eghumannerf evaluate \
--checkpoint models/thu_fullsrdf.ckpt --output outputs/thuman_eval
CUDA_VISIBLE_DEVICES=0 uv run --no-sync python -m eghumannerf evaluate \
--experiment zju_val --checkpoint models/zju_nodepth.ckpt \
--output outputs/zju_eval
The commands evaluate the configured splits and save per-image metrics and renderings. See usage for output files, metric regions and the interactive result viewer.
Documentation
- Data and checkpoints
- Environment
- Training, evaluation and visualization
- Code architecture
- Known issues
- Interactive rendering and benchmarking
Release TODO
- Publish pretrained checkpoints.
License
Original code is licensed under CC BY-NC 4.0 for non-commercial use. Third-party code, datasets and body-model assets retain their respective licenses; see third-party notices.
Acknowledgments and citation
This project builds on VolRecon and other open-source components. See third-party notices for attribution and license information.
@article{wang2026eghumannerf,
title = {EG-HumanNeRF: Efficient generalizable human NeRF utilizing human prior for sparse view},
author = {Wang, Zhaorong and Kanamori, Yoshihiro and Endo, Yuki},
journal = {Computational Visual Media},
volume = {12},
number = {2},
pages = {355--379},
year = {2026},
doi = {10.26599/CVM.2025.9450508}
}
