AdR-Gaussian: Accelerating Gaussian Splatting with Adaptive Radius
Xinzhe Wang, Ran Yi, Lizhuang Ma
TL;DR
This work tackles the rendering bottlenecks of 3D Gaussian Splatting by addressing serial culling and per-pixel load imbalance in the rasterization pipeline. It introduces AdR-Gaussian, which combines lossless early culling in Preprocess via adaptive-radius and axis-aligned bounding box (AABB) methods with a load-balancing scheme for pixel-parallel rendering. The approach yields an average speedup of 3.1x (310%) over the baseline across three datasets, with high-end results such as ~590 FPS on Mip-NeRF360 scenes on a single RTX 3090, while maintaining or improving rendering quality. The method is complementary to existing 3DGS acceleration techniques and can be combined with pruning strategies to further enhance performance without sacrificing quality.
Abstract
3D Gaussian Splatting (3DGS) is a recent explicit 3D representation that has achieved high-quality reconstruction and real-time rendering of complex scenes. However, the rasterization pipeline still suffers from unnecessary overhead resulting from avoidable serial Gaussian culling, and uneven load due to the distinct number of Gaussian to be rendered across pixels, which hinders wider promotion and application of 3DGS. In order to accelerate Gaussian splatting, we propose AdR-Gaussian, which moves part of serial culling in Render stage into the earlier Preprocess stage to enable parallel culling, employing adaptive radius to narrow the rendering pixel range for each Gaussian, and introduces a load balancing method to minimize thread waiting time during the pixel-parallel rendering. Our contributions are threefold, achieving a rendering speed of 310% while maintaining equivalent or even better quality than the state-of-the-art. Firstly, we propose to early cull Gaussian-Tile pairs of low splatting opacity based on an adaptive radius in the Gaussian-parallel Preprocess stage, which reduces the number of affected tile through the Gaussian bounding circle, thus reducing unnecessary overhead and achieving faster rendering speed. Secondly, we further propose early culling based on axis-aligned bounding box for Gaussian splatting, which achieves a more significant reduction in ineffective expenses by accurately calculating the Gaussian size in the 2D directions. Thirdly, we propose a balancing algorithm for pixel thread load, which compresses the information of heavy-load pixels to reduce thread waiting time, and enhance information of light-load pixels to hedge against rendering quality loss. Experiments on three datasets demonstrate that our algorithm can significantly improve the Gaussian Splatting rendering speed.
