A Hierarchical 3D Gaussian Representation for Real-Time Rendering of Very Large Datasets
<|reference_start|>A Hierarchical 3D Gaussian Representation for Real-Time Rendering of Very Large Datasets: Novel view synthesis has seen major advances in recent years, with 3D Gaussian splatting offering an excellent level of visual quality, fast training and real-time rendering. However, the resources needed for training and rendering inevitably limit the size of the captured scenes that can be represented with good visual quality. We introduce a hierarchy of 3D Gaussians that preserves visual quality for very large scenes, while offering an efficient Level-of-Detail (LOD) solution for efficient rendering of distant content with effective level selection and smooth transitions between levels.We introduce a divide-and-conquer approach that allows us to train very large scenes in independent chunks. We consolidate the chunks into a hierarchy that can be optimized to further improve visual quality of Gaussians merged into intermediate nodes. Very large captures typically have sparse coverage of the scene, presenting many challenges to the original 3D Gaussian splatting training method; we adapt and regularize training to account for these issues. We present a complete solution, that enables real-time rendering of very large scenes and can adapt to available resources thanks to our LOD method. We show results for captured scenes with up to tens of thousands of images with a simple and affordable rig, covering trajectories of up to several kilometers and lasting up to one hour. Project Page: https://repo-sam.inria.fr/fungraph/hierarchical-3d-gaussians/<|reference_end|>
@article{kerbl2024a,
    title={A Hierarchical 3D Gaussian Representation for Real-Time Rendering of
  Very Large Datasets},
    author={Bernhard Kerbl, Andr'eas Meuleman, Georgios Kopanas, Michael Wimmer,
  Alexandre Lanvin, George Drettakis},
    journal={ACM Transactions on Graphics, 43(4), July 2024},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.12080},
    primaryClass={cs.CV cs.GR}
}