Migrate from diff-gaussian-rasterizationΒΆ
gsplat is fully compatible with the official Gaussian Splatting CUDA backend diff-gaussian-rasterization.
In this fork of the official code base, we replace the rasterization backend from diff-gaussian-rasterization to gsplat with minimal changes (less than 100 lines in this commit), and get some improvements for free:
For example we get a 20% training speedup and a noticeable memory reduction, with slightly better performance:
Backend |
Training Time |
Memory |
SSIM |
PSNR |
LPIPS |
---|---|---|---|---|---|
diff-gaussian-rasterization |
482s |
9.11GB |
0.8237 |
26.11 |
0.166 |
gsplat |
398s |
8.78GB |
0.8366 |
26.18 |
0.163 |
Note the improvements will be much more significant on larger scenes. On top of that, there are more functionalities supported in gsplat, including batched rasterization, trade-off between memory and speed, sparse gradient etc.
Additionally, we also provide a wrapper function
rasterization_inria_wrapper()
on top of the diff-gaussian-rasterization, that
aligns with our API rasterization()
in v1.0.0.