# DropGaussian_release
**Repository Path**: jiumao-admin/DropGaussian_release
## Basic Information
- **Project Name**: DropGaussian_release
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-01-07
- **Last Updated**: 2026-01-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
DropGaussian: Structural Regularization
for Sparse-view Gaussian Splatting
Official Pytorch implementation [**"DropGaussian: Structural Regularization for Sparse-view Gaussian Splatting"**](https://openaccess.thecvf.com/content/CVPR2025/papers/Park_DropGaussian_Structural_Regularization_for_Sparse-view_Gaussian_Splatting_CVPR_2025_paper.pdf)
[Hyunwoo Park](https://github.com/HWP97?tab=repositories), [Gun Ryu](https://github.com/jerry-ryu), and [Wonjun Kim](https://sites.google.com/view/dcvl) (Corresponding Author)
๐ธ***IEEE/CVF International Conference on Computer Vision and Pattern Recognition (CVPR)***, Jun. 2025.๐ธ
[](https://youtu.be/EU6rPxXFV5k)


[ Training pipeline ]
## :eyes: Overview
We propose a simple yet powerful regularization technique, **DropGaussian**, for neural rendering with sparse input views.
By randomly eliminating Gaussians during the training process, DropGaussian gives the opportunity for the remaining Gaussians to be more visible with larger gradients, which make them to meaningfully contribute to the optimization process of 3DGS.
This is fairly desirable to alleviate the overfitting problem occurring in sparse-view conditions.
We provide:
- ๐ **Minimal plug-and-play code snippet** for quick integration
- โ
**Full implementation** of DropGaussian
## ๐ Quick Snippet
Here's a minimal example of how to use `DropGaussian` in your training loop:
```python
import torch
# (Assume the rest of the 3DGS pipeline is already set up)
# Create initial compensation factor (1 for each Gaussian)
compensation = torch.ones(opacity.shape[0], dtype=torch.float32, device="cuda")
# Apply DropGaussian with compensation
drop_rate = 0.1
d = torch.nn.Dropout(p=drop_rate)
compensation = d(compensation)
# Apply to opacity
opacity = opacity * compensation[:, None]
```
## โ
Full implementation
### ๐ฆ Installation
We provide an installation using Conda package and environment management:
```
git clone https://github.com/DCVL-3D/DropGaussian_release
cd DropGaussian_release
conda env create --file environment.yaml
conda activate DropGaussian
```
**Note:** This Conda environment assumes that **CUDA 12.1** is already installed on your system.
### ๐๏ธ Data Preparation
In the data preparation stage, we first reconstruct sparse-view inputs using **Structure-from-Motion (SfM)** with the provided camera poses from the datasets. Then, we perform dense stereo matching using COLMAPโs `patch_match_stereo` function, followed by `stereo_fusion` to generate the dense stereo point cloud.
Setup Instructions
```bash
mkdir dataset
cd dataset
# Download LLFF dataset
gdown 16VnMcF1KJYxN9QId6TClMsZRahHNMW5g
# Generate sparse point cloud using COLMAP (limited views) for LLFF
python tools/colmap_llff.py
# Download MipNeRF-360 dataset
wget http://storage.googleapis.com/gresearch/refraw360/360_v2.zip
unzip -d mipnerf360 360_v2.zip
# Generate sparse point cloud using COLMAP (limited views) for MipNeRF-360
python tools/colmap_360.py
```
We also provide preprocessed sparse and dense point clouds for convenience.
You can download them via the link below:
๐ [Download Preprocessed Point Clouds](https://drive.google.com/drive/folders/1P3I9m_HU0jF50qwxIIhXhegOVk-kihdI?usp=sharing)
### ๐งช Training
#### ๐น LLFF Dataset
To train on a single LLFF scene, use the following command:
```
python train.py -s ${DATASET_PATH} -m ${OUTPUT_PATH} --eval -r 8 --n_views {3 or 6 or 9}
```
To train and evaluate on **all LLFF scenes**, simply run the script below:
```
bash scripts/train_llff.sh
```
#### ๐น MipNeRF-360 Dataset
To train on a single MipNeRF-360 scene, use the following command:
```
python train.py -s ${DATASET_PATH} -m ${OUTPUT_PATH} --eval -r 8 --n_views {12 or 24}
```
To train and evaluate on **all MipNeRF-360 scenes**, simply run the script below:
```
bash scripts/train_mipnerf360.sh
```
### ๐ฌ Rendering & Evaluation
You can perform **rendering and evaluation in a single step** using the following command:
#### ๐น LLFF Dataset
```
python render.py -s -m ${MODEL_PATH} --eval -r 8
```
#### ๐น MipNeRF-360 Dataset
```
python render.py -s -m ${MODEL_PATH} --eval -r 8
```
## License
This project is licensed under the **Apache License 2.0**, with the exception of certain components derived from the [Gaussian Splatting](https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/) project.
- **Apache License 2.0**: All original code written for DropGaussian is released under the Apache 2.0 license. See [LICENSE](./LICENSE).
- **Non-commercial License (Inria & MPII)**: Some parts of the code are based on Gaussian Splatting, which is licensed for **non-commercial research use only**. See [LICENSE_GAUSSIAN_SPLATTING.md](./LICENSE_GAUSSIAN_SPLATTING.md) for full terms.
Please ensure that you comply with both licenses when using this repository.
## Acknowledgments
This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (RS-2023-NR076462) and Institute of Information Communications Technology Planning Evaluation (IITP) grant funded by the Korea government (MSIT) (No. 2018-0-00207, RS-2018-II180207, Immersive Media Research Laboratory).
Our implementation and experiments are built on top of open-source GitHub repositories. We thank all the authors who made their code public, which tremendously accelerates our project progress. If you find these works helpful, please consider citing them as well.
[GraphDeco-INRIA/gaussian-splatting](https://github.com/graphdeco-inria/gaussian-splatting)
[VITA-Group/FSGS](https://github.com/VITA-Group/FSGS)
## Citation
If you find our work useful for your project, please consider citing the following paper.
```
@inproceedings{park2025dropgaussian,
title={Dropgaussian: Structural regularization for sparse-view gaussian splatting},
author={Park, Hyunwoo and Ryu, Gun and Kim, Wonjun},
booktitle={Proceedings of the Computer Vision and Pattern Recognition Conference},
pages={21600--21609},
year={2025}
}
```