Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Wuuu3511/Sparse2DGS

Repository files navigation

Sparse2DGS: Geometry-Prioritized Gaussian Splatting for Surface Reconstruction from Sparse Views

Jiang Wu · Rui Li · Yu Zhu · Rong Guo · Jinqiu Sun · Yanning Zhang

Northwestern Polytechnical University

CVPR 2025

arXiv

☁ Introduction

This paper proposes Sparse2DGS, a Gaussian Splatting method tailored for surface reconstruction from sparse input views. Traditional methods relying on dense views and SfM points struggle under sparse-view conditions. While learning-based MVS methods can produce dense 3D points, directly combining them with Gaussian Splatting results in suboptimal performance due to the ill-posed nature of the geometry. Sparse2DGS addresses this by introducing geometry-prioritized enhancement schemes to enable robust geometric learning even in challenging sparse settings.

⛏ Installation

conda create -n sparse2dgs python=3.8 # use python 3.8
conda activate sparse2dgs
pip install -r requirements.txt

We perform feature splatting by simply adjusting the number of rendering channels in the original “diff_surfel_rasterization”.

python -m pip install setuptools==69.5.1
pip install submodules/diff-surfel-rasterization
pip install submodules/simple-knn

⏳ Sparse View Reconstruction on DTU Dataset

⚽️ Running Step

dtu_sp
 ├── scan
 │     ├── images
 │     ├── sparse
 │     └── cam_0023.txt
 |     └── ...
 ...

We use the unsupervised CLMVSNet to provide MVS priors. Before running, you need download the pre-trained weights and set the dataset and weight paths in MVS/config.yaml.

  • Set the dtu_path in scripts/train_all.py, and run the script to train the model on multiple GPUs.
python ./scripts/train_all.py
  • Use the following command to render the mesh of each scene:
python ./scripts/render_all.py

💻 Evaluation

For evaluation, first download the DTU ground truth, which includes the reference point clouds, and the 2DGS data, which contains scene masks and transformation matrices. Then set the corresponding paths in scripts/eval_dtu.py.

python ./scripts/eval_dtu.py --skip_training --skip_rendering

📰 Citation

Please cite our paper if you use the code in this repository:

@article{wu2025sparse2dgs,
  title={Sparse2DGS: Geometry-Prioritized Gaussian Splatting for Surface Reconstruction from Sparse Views},
  author={Wu, Jiang and Li, Rui and Zhu, Yu and Guo, Rong and Sun, Jinqiu and Zhang, Yanning},
  journal={arXiv preprint arXiv:2504.20378},
  year={2025}
}

📨 Acknowledgments

This code is based on 2DGS and CLMVSNet, and we sincerely thank the authors‘ contributions.

About

[CVPR2025]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published