GaussianSplatting.jl

Gaussian Splatting algorithm in Julia language
Author JuliaNeuralGraphics
Popularity
24 Stars
Updated Last
3 Months Ago
Started In
January 2024

GaussianSplatting.jl

3D Gaussian Splatting for Real-Time Radiance Field Rendering in Julia

bicycle.mp4

Requirements

  • Julia 1.10.
  • AMD GPU (ROCm) or Nvidia (CUDA) capable machine.

Usage

  1. Install GaussianSplatting.jl package:
] add https://github.com/JuliaNeuralGraphics/GaussianSplatting.jl.git
  • AMD GPU:
  1. Add necessary packages: ] add AMDGPU

  2. Run:

julia> using AMDGPU, GaussianSplatting

julia> GaussianSplatting.gui("path-to-colmap-dataset-directory"; scale=1)
  • Nvidia GPU:
  1. Add necessary packages: ] add CUDA, cuDNN

  2. Run:

julia> using CUDA, cuDNN, GaussianSplatting

julia> GaussianSplatting.gui("path-to-colmap-dataset-directory"; scale=1)

GPU selection

  • AMD GPU:

    julia> using Flux
    
    julia> Flux.gpu_backend!("AMDGPU")

    Additionally, set soft & hard memory limit to help Julia GC:

    julia> AMDGPU.soft_memory_limit!("80 %")
    
    julia> AMDGPU.hard_memory_limit!("80 %")
  • Nvidia GPU:

    julia> using Flux
    
    julia> Flux.gpu_backend!("CUDA")

Datasets

Download one of the reference datasets from the MIP-NeRF-360: https://jonbarron.info/mipnerf360/