This is a simplified implementation of NeRF, without hierarchical sampling. The code is equipped with a tensorboard setup, and scripts to train a NeRF model and generate a set of novel views with the camera rotating on a spherical dome.
nerf_rgb_website.mov
The video was generated by a model trained on 25 images, for 10000 iterations (takes around 30 min).
//: <> (This drive [link](https://drive.google.com/drive/folders/1upzp3VQQSBWM8U182LmzmxcpjQ-Ou4wb?usp=share_link has all the other NeRF videos for the CSE 274 project, including the phase optic experiment videos.)
git clone https://github.com/UCSD-Comp-Imaging/NeRF_CT
cd NeRF_CT
pip install -r requirements.txt
Install training data for lego scene . Refer to NeRF for other datasets.
bash download_data.sh
Modify the yaml file (for ex. lego.yaml) in configs/
folder. The default lego yaml file fields are self explanatory.
python3 train.py --config configs/lego.yaml
To start the tensorboard, open another terminal and run
tensorboard --logdir=logs/
To render novel views, in the test section of the yaml file, set animation=True
to render the video as shown in the example.
python3 test.py --config configs/lego.yaml
- [ x ] Hierarchical Sampling
- Support for LLF data
- Integrate ColMap for training on real datasets
- Versioning the packages in requirements