This is an implementation of the Paper PlenOctrees for Real-time Rendering of Neural Radiance Fields. Not only the code provides the implementation of the NeRF-SH,but also provides the conversion code from NeRF-SH to PlenOctree. You can use the code to generate the .npz file so as to run the C++ renderer by the PlenOctrees for Real-time Rendering of Neural Radiance Fields. And the conversion code is in the tools/PlenOctrees.ipynb. The results by our code is shown in the But before using the code, you must train the NeRF-SH model. If you don't want to train the model, please contact the mail:[email protected].
The implementation of dataloader is from the Multi-view Neural Human Rendering (NHR). So the datasets format should be the same as theNHR.
To train the code:
cd tools && python train_net.py <gpu id>
And you can run the tools/PlenOctrees.ipynb to generate the .npz file which can run the C++ renderer by the PlenOctrees for Real-time Rendering of Neural Radiance Fields.
We provide a trained model about NeRF-SH. And The trained model about scene lego is stored in here. And you can also download the lego3.npz generated by the tools/PlenOctrees.ipynb.
- yacs (Yet Another Configuration System)
- PyTorch (An open source deep learning platform)
- ignite (High-level library to help with training neural networks in PyTorch)
If you have any questions, you can contact [email protected].
@inproceedings{yu2021plenoctrees,
title={PlenOctrees for Real-time Rendering of Neural Radiance Fields},
author={Alex Yu and Ruilong Li and Matthew Tancik and Hao Li and Ren Ng and Angjoo Kanazawa},
year={2021},
booktitle={arXiv},
}