Better Gaussian Splatting in Julia GaussianSplatting.jl 2.0, a Julia package for 3D Gaussian splatting, adds multi-GPU backend support (AMD, NVIDIA, MacBook), a multithreaded UI, MCMC densification, depth and geometry supervision, and a sky dome feature. The update improves user experience with live loss plots and progress bars, and enhances reconstruction quality through optional depth priors and normal-based regularization. Better Gaussian Splatting in Julia GaussianSplatting.jl https://github.com/JuliaNeuralGraphics/GaussianSplatting.jl 2.0 release brings notable quality of life improvements and new capabilities. Same code, multiple GPU backends Written entirely in Julia it supports following GPU backends: - AMD GPU AMDGPU.jl - NVIDIA GPU CUDA.jl - MacBook GPU Metal.jl This is achieved with KernelAbstractions.jl https://github.com/JuliaGPU/KernelAbstractions.jl that allows writing a single kernel that get's compiled to a specific target. Multithreaded UI To avoid freezing the app during heavy work such as JIT compilation of GPU kernels, dataset loading, etc. the app is now split into two threads: - Frontend: handles the UI, performs OpenGL rendering, dispatches commands to the backend. - Backend: performs Gaussian Splatting rendering, training, dataset loading, etc. In this way, the UI always stays responsive and user can interact with it, even if there are long-standing jobs in the background. It also shows progress bars that something is happening with tips, instead of becoming frozen like before. UI/UX itself got a big update and is now displays loss plots live during training along with all hyperparameters. Markov Chain Monte Carlo Strategy Besides default cloning and splitting densification strategy, we now support MCMC https://arxiv.org/abs/2404.09591 3D Gaussian Splatting as Markov Chain Monte Carlo densification strategy. It allows precise control of the number of Gaussians in the scene and generally relies less on having a good initialization. Users can select MCMC during dataset loading or in the code with: Trainer rasterizer, gaussians, dataset, opt params; strategy=MCMCStrategy ; kwargs... , Depth & Geometry Supervision To improve reconstructed geometry, we can provide depth priors using off-the-shelf depth estimation models. Depth images should be part of the dataset, under