README.md

November 27, 2025 · View on GitHub

Distilled-3DGS: Distilled 3D Gaussian Splatting

1The University of Manchester  2Vision, Graphics, and X Group, Great Bay University
3Sun Yat-Sen University

arXiv Project Page

Overview figure

TL;DR: We present Distilled-3DGS, a simple yet effective knowledge distillation framework that achieves competitive performance in both rendering quality and storage efficiency.

⚡ Updates

⭐ Abstract

3D Gaussian Splatting (3DGS) has exhibited remarkable efficacy in novel view synthesis (NVS). However, it suffers from a significant drawback: achieving high-fidelity rendering typically necessitates a large number of 3D Gaussians, resulting in substantial memory consumption and storage requirements. To address this challenge, we propose the first knowledge distillation framework for 3DGS, featuring various teacher models, including vanilla 3DGS, noise-augmented variants, and dropout-regularized versions. The outputs of these teachers are aggregated to guide the optimization of a lightweight student model. To distill the hidden geometric structure, we propose a structural similarity loss to boost the consistency of spatial geometric distributions between the student and teacher model. Through comprehensive quantitative and qualitative evaluations across diverse datasets, the proposed Distilled-3DGS—a simple yet effective framework without bells and whistles—achieves promising results in both rendering quality and storage efficiency compared to state-of-the-art methods.

⭐ Pipeline

Pipeline figure
Our method consists of two stages. First, a standard teacher model G_std is trained, along with two variants: G_perb with random perturbation and G_drop with random dropout. Then, a pruned student model is supervised by the outputs of these teachers. Additionally, a spatial distribution distillation strategy is introduced to help the student learn structural patterns from the teachers.

1. Setup

This code has been tested with Python 3.10, PyTorch 2.0.1, CUDA 11.8.

  • Clone the repository
git clone https://github.com/lt-xiang/Distilled-3DGS.git
cd Distilled-3DGS
  • Setup Python environment
# Create and activate conda environment
conda create -n DistilledGS python=3.10 -y
conda activate DistilledGS

# Install PyTorch (CUDA 11.8)
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118

# Install project dependencies
pip install -r requirements.txt

2. Dataset

  1. Download datasets:
  1. Generate depth maps

a. Clone Depth Anything v2:

git clone https://github.com/DepthAnything/Depth-Anything-V2.git

b. Download weights from Depth-Anything-V2-Large and place under Depth-Anything-V2/checkpoints/:

c. Generate depth maps:

python Depth-Anything-V2/run.py \
  --encoder vitl \
  --pred-only \
  --grayscale \
  --img-path <path_to_input_images> \
  --outdir <output_path>

d. Generate depth_params.json:

python utils/make_depth_scale.py \
  --base_dir <path_to_colmap> \
  --depths_dir <path_to_generated_depths>

3. Model

Run the following scripts for training and evaluation:

# Mip-NeRF 360 (indoor)
bash run_mip360_in.sh

# Mip-NeRF 360 (outdoor)
bash run_mip360_out.sh

# Tanks & Temples
bash run_tnt.sh

# Deep Blending (DB)
bash run_db.sh

Using the Mip-NeRF 360 bonsai scene as an example, we first train three different teacher models. Then, outputs from these teachers are used to supervise the student model.

# 1) Train (teachers + student)
python train.py \
  --source_path <dataset_path> \
  --model_path <model_path> \
  --resolution 2 \
  --eval \
  --imp_metric indoor \
  --iterations 30000 \
  --num_models 4  # 0,1,2 are teacher models; 3 is the student model.

# 2) Render with the student model
python render.py \
  --source_path <dataset_path> \
  --model_path <model_path> \
  --skip_train \
  --iteration 30000 \
  --itrain 3  # student model index

# 3) Evaluation
python metrics.py --model_path <model_path>

Acknowledgement

Special thanks to the following awesome projects!

Citation

@article{Xiang2025Distilled3DGaussianSplatting,
  title   = {Distilled-3DGS: Distilled 3D Gaussian Splatting},
  author  = {Lintao Xiang and Xinkai Chen and Jianhuang Lai and Guangcong Wang},
  journal = {arXiv},
  year    = {2025},
  eprint  = {2508.14037},
  archivePrefix = {arXiv},
  primaryClass   = {cs.CV}
}