tinynerf icon indicating copy to clipboard operation
tinynerf copied to clipboard

Fast and tiny NeRF implementation

tinynerf

Concise (<1000 locs) and fast implementation of several NeRF techniques. Currently it contains an implementation of vanilla NeRF, K-Planes and Cobafa, accelerated with a single CUDA kernel to compute the weights from 'NeRF equation'.

Features

  • [x] Vanilla NeRF, K-Planes and Cobafa
  • [x] Occupancy grid to accelerate training (based on Instant-NGP but with slightly different decaying method)
  • [x] Unbounded and AABB scenes
  • [x] Dynamic batches, each iteration process a constant number of samples by packing samples from each ray
  • [x] CUDA implementation of NeRF weights computation
  • [x] Reproduction of KPlanes results on synthetic dataset
  • [ ] Reproduction of Cobafa results on synthetic dataset
  • [ ] Proposal sampling
  • [x] COLMAP data loading
  • [ ] Appearance embedding

References

These repositories were useful learning resources :

  • https://github.com/KAIR-BAIR/nerfacc
  • https://github.com/apchenstu/TensoRF
  • https://github.com/sarafridov/K-Planes