需先有 3D Gaussian Splatting 重建好的模型目录才能压缩;PyTorch 扩展要求 C++ 编译器与 CUDA SDK 12 版本兼容;Windows 上需先设置 DISTUTILS_USE_SDK=1。
git clone https://github.com/KeKsBoTer/c3dgs
conda env create --file environment.yml
conda activate c3dgs
python compress.py --model_path <model_folder> --data_device "cuda" --output_vq <output_folder>README 未明确给出显存数值;压缩脚本需指定 --data_device "cuda",渲染面向轻量 GPU,需 CUDA SDK 12 编译 PyTorch 扩展。
压缩 3D Gaussian Splatting 表示,降低显存占用并加速新视角合成渲染
压缩 3D 高斯泼溅模型,减少存储占用并加速新视角合成渲染,适合在资源受限设备上部署 3DGS 场景。
核心能力
- 用敏感度感知向量聚类压缩方向颜色与高斯参数
- 量化感知训练学习低比特率码本
- 真实场景压缩率最高 31x 且视觉质量轻微下降
- 压缩表示可在轻量 GPU 上用硬件光栅化渲染
- 提供 npz2ply 脚本转回 PLY 供 SIBR Viewer 打开
容易踩的坑
暂无 release 数据(可能没有发版,或尚未同步)。
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Compressed 3D Gaussian Splatting for Accelerated Novel View Synthesis
Webpage | arXiv
Abstract
Recently, high-fidelity scene reconstruction with an optimized 3D Gaussian splat representation has been introduced for novel view synthesis from sparse image sets. Making such representations suitable for applications like network streaming and rendering on low-power devices requires significantly reduced memory consumption as well as improved rendering efficiency. We propose a compressed 3D Gaussian splat representation that utilizes sensitivity-aware vector clustering with quantization-aware training to compress directional colors and Gaussian parameters. The learned codebooks have low bitrates and achieve a compression rate of up to 31x on real-world scenes with only minimal degradation of visual quality. We demonstrate that the compressed splat representation can be efficiently rendered with hardware rasterization on lightweight GPUs at up to 4x higher framerates than reported via an optimized GPU compute pipeline. Extensive experiments across multiple datasets demonstrate the robustness and rendering speed of the proposed approach.
Citation
If you find our work useful, please cite:
@misc{niedermayr2023compressed,
title={Compressed 3D Gaussian Splatting for Accelerated Novel View Synthesis},
author={Simon Niedermayr and Josef Stumpfegger and Rüdiger Westermann},
year={2023},
eprint={2401.02436},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
Installation
Requirements
- Conda (recommended for easy setup)
- C++ Compiler for PyTorch extensions
- CUDA SDK 12 for PyTorch extensions
- C++ Compiler and CUDA SDK must be compatible
Please refer to the original 3D Gaussian Splatting repository for more details about requirements.
Cloning the Repository
git clone https://github.com/KeKsBoTer/c3dgs
Setup
Our default, provided install method is based on Conda package and environment management:
SET DISTUTILS_USE_SDK=1 # Windows only
conda env create --file environment.yml
conda activate c3dgs
Running
To compress a scene reconstructed by 3D Gaussian Splatting, simply use:
python compress.py --model_path <model_folder> --data_device "cuda" --output_vq <output_folder>
Note: After the compression is complete the script will compute the metrics (PSNR, SSIM, LPIPS) for the test images.
Evaluation
For a more detailed evaluation and rendering run:
python render.py -m <path to compressed model> # Generate renderings
python metrics.py -m <path to compressed model> # Compute error metrics on renderings
Interactive Viewers
Our renderer supports direct rendering of the compressed files on many platforms with improved rendering speed. It can be found here.
Alternatively, you can convert the compressed .npz scene files back to .ply files and open them with the SIBR Viewer:
python npz2ply.py <npz_file> [--ply_file <PLY_FILE>]