LightGaussian: Unbounded 3D Gaussian Compression with 15x Reduction and 200+ FPS
Overview
LightGaussian is a revolutionary project that introduces an advanced method for compressing 3D data. The project's main achievement is enabling significant data reduction—up to 15 times smaller—while maintaining high-quality outputs and achieving performance speeds of over 200 frames per second (FPS). LightGaussian is particularly valuable for applications where 3D data processing speed and storage efficiency are paramount.
Key Features
Compression Techniques
LightGaussian employs three primary techniques to minimize the size of 3D Gaussian datasets:
-
Prune & Recovery: This method involves removing unnecessary elements from an already trained 3D Gaussian dataset and then refining the remaining data to ensure quality. The process reduces dataset size to about 35% of the original while maintaining comparable quality levels.
-
SH Distillation: This technique distills a trained dataset into a more compact form while preserving its essential features. It allows users to manage complex 3D data more efficiently.
-
VecTree Quantization: After pruning and distilling the dataset, VecTree Quantization further compresses the data, transforming it into a highly efficient and usable format. This step is crucial for maximizing data storage savings.
Installation and Setup
LightGaussian is built upon the framework of gaussian-splatting. Users can set up the project locally by following these steps:
-
Clone the repository directly from GitHub and enter the project directory:
git clone --recursive https://github.com/VITA-Group/LightGaussian.git cd LightGaussian
-
Set up the environment using conda:
conda env create --file environment.yml conda activate lightgaussian
The project makes use of datasets such as MipNeRF360 and Tank & Temple, which are generously provided by the paper's authors.
Rendering
LightGaussian allows for rendering compressed 3D data along a set trajectory. By default, an elliptical path is used, but users can modify this to other shapes like spirals. The rendering process is straightforward and includes additional options after compression stages, such as Vectree Quantization.
Practical Application and Example
To demonstrate its practical application, an example checkpoint for a room scene is available, showcasing the effectiveness of pruning, distillation, and quantization processes. This example includes:
point_cloud.ply
: The compressed and processed 3D Gaussian data.extreme_saving
: Files from VecTree Quantization.imp_score.npz
: Global significance scores used in the quantization phase.
Future Developments
The project team continues to enhance LightGaussian, as evidenced by their planned updates, including the release of a comprehensive docker image to streamline installation and deployment.
Acknowledgements
The LightGaussian team extends their gratitude to Yueyu Hu from NYU for his instrumental contributions to the project's development.
Conclusion
LightGaussian exemplifies cutting-edge advancement in 3D data compression, offering significant efficiency improvements without sacrificing quality. It stands out as a robust solution for modern challenges in 3D applications, flexible enough to cater to various user needs while remaining accessible through its open-source infrastructure. Users and developers interested in leveraging or expanding on this work are encouraged to explore the project's resources and consider implementing LightGaussian in their own endeavors.