HashNeRF-pytorch  by yashbhalgat

PyTorch implementation of Instant-NGP for AI research

Created 3 years ago
1,020 stars

Top 36.7% on SourcePulse

GitHubView on GitHub
Project Summary

This repository provides a pure PyTorch implementation of NVIDIA's Instant Neural Graphics Primitives (Instant-NGP), specifically focusing on the multi-resolution hash encoding technique for faster Neural Radiance Field (NeRF) training. It aims to enable AI researchers to experiment with and build upon this accelerated NeRF method.

How It Works

The project leverages a multi-resolution hash encoding scheme, inspired by Instant-NGP, to represent scene geometry and appearance. This approach uses hash tables to efficiently map spatial coordinates to neural network weights, allowing for rapid convergence and high-quality renderings. The implementation is built upon an existing NeRF-pytorch codebase, integrating the hash encoding for performance gains.

Quick Start & Requirements

  • Install: pip install -r requirements.txt (after cloning)
  • Prerequisites: Python 3.x, PyTorch, CUDA-enabled GPU (tested on 1050Ti), nerf-synthetic dataset.
  • Training: python run_nerf.py --config configs/chair.txt --finest_res 512 --log2_hashmap_size 19 --lrate 0.01 --lrate_decay 10
  • Dataset: Download nerf-synthetic from Google Drive.
  • Docs: https://nvlabs.github.io/instant-ngp/

Highlighted Details

  • Claims up to 100x faster NeRF training compared to vanilla NeRF.
  • Supports Total Variation Loss for smoother embeddings and sparsity-inducing loss on ray weights.
  • Includes support for training on the ScanNet dataset.

Maintenance & Community

  • The project is maintained by Yash Bhalgat.
  • No specific community links (Discord/Slack) or roadmap are provided in the README.

Licensing & Compatibility

  • The repository does not explicitly state a license. The underlying NeRF-pytorch is MIT licensed. The NVIDIA paper is available under a permissive license.

Limitations & Caveats

The project is a pure PyTorch implementation and may not achieve the same performance as the C++/CUDA-based original. TODO items include voxel pruning and accelerated ray tracing, indicating ongoing development.

Health Check
Last Commit

1 year ago

Responsiveness

1+ week

Pull Requests (30d)
0
Issues (30d)
0
Star History
5 stars in the last 30 days

Explore Similar Projects

Starred by Guy Gur-Ari Guy Gur-Ari(Cofounder of Augment), Stas Bekman Stas Bekman(Author of "Machine Learning Engineering Open Book"; Research Engineer at Snowflake), and
1 more.

pytorch_image_classification by hysts

0%
1k
PyTorch image classification for various datasets (CIFAR, MNIST, ImageNet)
Created 7 years ago
Updated 3 years ago
Feedback? Help us improve.