Skip to content

Official PyTorch implementation of SynergyNeRF: "Synergistic Integration of Coordinate Network and Tensorial Feature for Improving NeRFs from Sparse Inputs (ICML2024)"

Notifications You must be signed in to change notification settings

MingyuKim87/SynergyNeRF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SynergyNeRF

[ArXiv] [Project]

Official PyTorch implementation of SynergyNeRF, as presented in our paper:

Synergistic Integration of Coordinate Network and Tensorial Feature for Improving Neural Radiance Fields from Sparse Inputs (ICML2024)
Mingyu Kim1, Jun-Seong Kim2, Se-Young Yun1† and Jin-Hwa Kim3†
1KAIST AI, 2POSTECH EE, 3NAVER AI Lab.
( indicates corresponding authors)

Update

  • Training code.
  • Inference code.
  • Datasets.

News

Environment Setup

# create conda environment
conda create --name SynergyNeRF python=3.9

# activate env
conda activate SynergyNeRF

# install pytorch >= 1.12 (e.g cu116)
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116

# install packages
pip install -r requirements.txt

This implementation utilizes the code bases of TensoRF and HexPlane.

Dataset

For static NeRFs, this implementation utilizes NeRF Synthetic and TankandTemples.

# NeRF Synthetic: download and extract nerf_synthetic.zip
cd SynergyNeRF_3D
mkdir data
cd data
unzip nerf_synthetic.zip 

# tankandtemples: download and extract TankAndTemple.zip
unzip TankAndTemple.zip 

For dynamic NeRFs, this implementation utilizes D-NeRF Dataset.

# D-NeRF dataset: download and extract data.zip
cd SynergyNeRF_4D
mkdir data
cd data
unzip data.zip 

Quick Start

We provide training scripts based on config files.
First, we illustrate training static NeRFs for nerf_synthetic and tankandtemples.
To run this code on GPUs with 24GB of VRAM, you should use the configuration files located in config/SynergyNeRF/revised_cfg/.
If you want to run the code as described in the original paper,
please use the configuration files found in config/SynergyNeRF_disentangled/official/.

# training nerf_synthetic
cd SynergyNeRF_3D 
# scenes : {chair, drums, ficus, lego, hotdog, materials, mic, ship}
python main.py --config=config/SynergyNeRF/revised_cfg/8_views/{scene}.yaml

# training tankandtemples
# scenes : {barn, caterpillar, family, truck}
python main.py --config=config/SynergyNeRF/tankandtemples_cfgs/{scene}.yaml

Second, we illustrate training dynamic NeRFs for the D-NeRF dataset.

# training nerf_synthetic
cd SynergyNeRF_4D 
# scenes : {bouncingballs, hellwarrior, hook, jumpingjacks, lego, mutant, standup, trex}
python main.py --config=config/SynergyNeRF/official/{scene}.yaml

Bibliography

@InProceedings{kim2024synergistic,
  author    = {Kim, Mingyu and Kim, Jun Seong and Yun, Se Young and Kim, Jin Hwa},  
  title     = {Synergistic Integration of Coordinate Network and Tensorial Feature for Improving NeRFs from Sparse Inputs},  
  booktitle = {Proceedings of the 41th International Conference on Machine Learning},
  year      = {2024},
  series    = {Proceedings of Machine Learning Research},
  publisher = {PMLR},  
}

Acknowledgement

This work was supported by Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korea government(MSIT) [No.2022-0-00641, XVoice: Multi-Modal Voice Meta Learning]. A portion of this work was carried out during an internship at NAVER AI Lab. We also extend our gratitude to ACTNOVA for providing the computational resources required.

About

Official PyTorch implementation of SynergyNeRF: "Synergistic Integration of Coordinate Network and Tensorial Feature for Improving NeRFs from Sparse Inputs (ICML2024)"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages