GSCodec Studio is an open-source framework for Gaussian Splats Compression, including static and dynamic splats representation, reconstruction and compression. It is bulit upon an open-source 3D Gaussian Splatting library gsplat, and extended to support 1) dynamic splats representation, 2) training-time compression simulation, 3) more test-time compression strategies.
June 5, 2025: The paper about this framework has been released on arXiv.
Please first clone the repository and cd to the root directory.
git clone --recursive https://git.mpeg.expert/MPEG/Explorations/GSC/gsc-software/gscodec_studio.git
cd GSCodec_StudioIf you are interested in MPEG GSC Video Anchor, please check out related repository:
git checkout MPEG152_video_anchor_1f_vidSet up conda environment.
# Make a conda environment
conda create --name gscodec_studio python=3.10
conda activate gscodec_studioPlease install Pytorch first. Then, you can install the gsplat library extended with more compression features from source code. In this way it will build the CUDA code during installation.
pip install .If you want to do further development based on this framework, you use following command to install Python packages in editable mode.
pip install -e . # (develop)Preparations
Same as gsplat, we need to install some extra dependencies and download the relevant datasets before the evaluation.
cd examples
pip install -r requirements.txt
# download mipnerf_360 benchmark data
python datasets/download_dataset.pyYou can download the Tanks and Temples dataset and Deep Blending dataset used in original 3DGS via this link and place these datasets under 'data' folder.
# place other dataset, e.g Tanks and Temples dataset, under 'data' folder
ln -s /xxxx/Dataset/tandt data/tandt We also use third-party library, 'python-fpnge', to accelerate image saving operations during the experiment for now. We also use third-party library, 'gridencoder', to facilitate hash encoding.
cd ..
pip install third_party/python-fpnge-master
pip install third_party/gridencoderIf you are interested in post-training compression, you also need to install library for vector quantization and plas sorting, before running scripts.
# refer to https://github.com/DeMoriarty/TorchPQ?tab=readme-ov-file#install to see how to install TorchPQ
# install original implementation of PLAS
pip install git+https://github.com/fraunhoferhhi/PLAS.gitIf you are interested in MPEG GSC activities, you can find related descriptions in this file. This covers how to run Video-based anchor, how to perform pre and post-processing of Gaussian Splats, and how to conduct Quality Assessment after completing compression experiments.
We provide a script that enables more memory-efficient Gaussian splats while maintaining high visual quality, such as representing the Truck scene with only about 8MB of storage. The script includes 1) the static splats training with compression simulation, 2) the compression of trained static splats, and 3) the metric evaluation of uncompressed and compressed static splats.
# Tanks and Temples dataset
bash benchmarks/compression/final_exp/mcmc_tt_sim.shFirst, please follow the dataset preprocessing instruction described in this file for training data prepration.
Next, run the script for dynamic gaussian splats training and compression.
cd examples
bash benchmarks/dyngs/dyngs.shIf you finsh the training of dynamic splats, then you can use the script to extract static gaussian splats stored at discrte timesteps in ".ply" file
cd examples
bash benchmarks/dyngs/export_plys.shIf you want to directly read and render splats exported as PLY files, you can use the following script. Note: You need to modify the PLY file path in the scripts.
cd examples
bash benchmarks/load_ply_and_render.shThis project is developed by the following contributors:
- Sicheng Li: jasonlisicheng@zju.edu.cn
- Chengzhen Wu: chengzhenwu@zju.edu.cn
- Zhiwei Zhu: zhuzhiwei21@zju.edu.cn
If you have any questions about this project, please feel free to contact us.
This project is bulit on gsplat. We thank all contributors from gsplat for building such a great open-source project.