3D Gaussian splatting (3DGS) is an appealing implementation of novel view synthesis, with fast training and render times compared to related methods. However, per-frame sorting and front-to-back alpha compositing lead to a significant decline in performance for scenes with a high
...
3D Gaussian splatting (3DGS) is an appealing implementation of novel view synthesis, with fast training and render times compared to related methods. However, per-frame sorting and front-to-back alpha compositing lead to a significant decline in performance for scenes with a high number of Gaussians. In particular, the alpha compositing step in the original implementation inefficiently handles overdraw. Therefore, dense clusters of Gaussians observed at a distance significantly increase frame times.
In this thesis, we propose a stochastic rendering approach that significantly improves performance in large scenes, by integrating principles from stochastic transparency and compute-based point cloud rendering. Each frame, we first compute a weight for each Gaussian based on its screen footprint and opacity. These weights are then used to construct an alias table on the GPU. We then splat points, each sampled from a Gaussian selected in proportion to its weight using the alias table, onto an interleaved depth-and-color buffer. By using an atomic operation, we ensure that the points closest to the camera are kept without sorting. To construct the final image, we average multiple samples per pixel, obtained across multiple point cloud passes. Although our approach introduces noise at low sample counts and minor artifacts due to the independent and identically distributed nature of the sampling, these effects can be mitigated using temporal anti-aliasing and rejection sampling respectively.
Our evaluations indicate that the render time of our method depends primarily on the density of Gaussians near the camera, rather than the total number in the scene. This allows our method to efficiently handle large-scale scenes.