返回排行榜

yashbhalgat/HashNeRF-pytorch

Python

Pure PyTorch Implementation of NVIDIA paper on Instant Training of Neural Graphics primitives: https://nvlabs.github.io/instant-ngp/

nerfreal-time-renderingcomputer-graphicscomputer-visionneural-networksigned-distance-functionsartificial-intelligencemachine-learning3d-reconstructionefficient-traininghashing
Star 增长趋势
Star
1k
Forks
108
周增长
Issues
14
5001k
2023年1月2024年3月2025年5月2026年7月
制品库PyPIpip install hashnerf-pytorch
README

HashNeRF-pytorch

🌟 Update 🌟

Get answers to any questions about this repository using this HuggingFace Chatbot.


Instant-NGP recently introduced a Multi-resolution Hash Encoding for neural graphics primitives like NeRFs. The original NVIDIA implementation mainly in C++/CUDA, based on tiny-cuda-nn, can train NeRFs upto 100x faster!

This project is a pure PyTorch implementation of Instant-NGP, built with the purpose of enabling AI Researchers to play around and innovate further upon this method.

This project is built on top of the super-useful NeRF-pytorch implementation.

Convergence speed w.r.t. Vanilla NeRF

HashNeRF-pytorch (left) vs NeRF-pytorch (right):

https://user-images.githubusercontent.com/8559512/154065666-f2eb156c-333c-4de4-99aa-8aa15a9254de.mp4

After training for just 5k iterations (~10 minutes on a single 1050Ti), you start seeing a crisp chair rendering. :)

Instructions

Download the nerf-synthetic dataset from here: Google Drive.

To train a chair HashNeRF model:

python run_nerf.py --config configs/chair.txt --finest_res 512 --log2_hashmap_size 19 --lrate 0.01 --lrate_decay 10

To train for other objects like ficus/hotdog, replace configs/chair.txt with configs/{object}.txt:

hotdog_ficus

Extras

The code-base has additional support for:

  • Total Variation Loss for smoother embeddings (use --tv-loss-weight to enable)
  • Sparsity-inducing loss on the ray weights (use --sparse-loss-weight to enable)

ScanNet dataset support

The repo now supports training a NeRF model on a scene from the ScanNet dataset. I personally found setting up the ScanNet dataset to be a bit tricky. Please find some instructions/notes in ScanNet.md.

TODO:

  • Voxel pruning during training and/or inference
  • Accelerated ray tracing, early ray termination

Citation

Kudos to Thomas Müller and the NVIDIA team for this amazing work, that will greatly help accelerate Neural Graphics research:

@article{mueller2022instant,
    title = {Instant Neural Graphics Primitives with a Multiresolution Hash Encoding},
    author = {Thomas M\"uller and Alex Evans and Christoph Schied and Alexander Keller},
    journal = {arXiv:2201.05989},
    year = {2022},
    month = jan
}

Also, thanks to Yen-Chen Lin for the super-useful NeRF-pytorch:

@misc{lin2020nerfpytorch,
  title={NeRF-pytorch},
  author={Yen-Chen, Lin},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished={\url{https://github.com/yenchenlin/nerf-pytorch/}},
  year={2020}
}

If you find this project useful, please consider to cite:

@misc{bhalgat2022hashnerfpytorch,
  title={HashNeRF-pytorch},
  author={Yash Bhalgat},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished={\url{https://github.com/yashbhalgat/HashNeRF-pytorch/}},
  year={2022}
}

Star History

Star History Chart

相关仓库
NVlabs/instant-ngp

Instant neural graphics primitives: lightning fast NeRF and more

CudaOtherneural-networkmachine-learning
nvlabs.github.io/instant-ngp
17.5k2.1k
nerfstudio-project/nerfstudio

A collaboration friendly studio for NeRFs

PythonPyPIApache License 2.0nerfpytorch
docs.nerf.studio
11.8k1.7k
bmild/nerf

Code release for NeRF (Neural Radiance Fields)

Jupyter NotebookMIT Licensenerfneural-radiance-fields
tancik.com/nerf
10.9k1.4k
ashawkey/stable-dreamfusion

Text-to-3D & Image-to-3D & Mesh Exportation with NeRF + Diffusion.

PythonPyPIApache License 2.0text-to-3dgui
8.9k767
MrNeRF/awesome-3D-gaussian-splatting

Curated list of papers and resources focused on 3D Gaussian Splatting, intended to keep pace with the anticipated surge of research in the coming months.

HTMLMIT Licensegaussian-splattingnerf
8.8k536
lipku/LiveTalking

Real time interactive streaming digital human

PythonPyPIApache License 2.0digital-humannerf
livetalking.ai
8.5k1.4k
awesome-NeRF/awesome-NeRF

A curated list of awesome neural radiance fields papers

TeXMIT Licensenerf
6.8k599
NVlabs/tiny-cuda-nn

Lightning fast C++/CUDA neural network framework

C++Otherneural-networkdeep-learning
4.5k571
hku-mars/FAST-LIVO2

FAST-LIVO2: Fast, Direct LiDAR-Inertial-Visual Odometry

C++GNU General Public License v2.03d-reconstructioncolored-point-cloud
4.4k804
google-research/multinerf

A Code Release for Mip-NeRF 360, Ref-NeRF, and RawNeRF

PythonPyPIApache License 2.0nerfneural-radiance-fields
3.8k354
Anttwo/SuGaR

[CVPR 2024] Official PyTorch implementation of SuGaR: Surface-Aligned Gaussian Splatting for Efficient 3D Mesh Reconstruction and High-Quality Mesh Rendering

C++Other3d-gaussian-splatting3dgs
anttwo.github.io/sugar/
3.5k307
MaximeVandegar/Papers-in-100-Lines-of-Code

Implementation of papers in 100 lines of code.

PythonPyPIMIT Licensepythonresearch
2.8k255