Skip to content

hebing-sjtu/SurfSplat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SurfSplat: Conquering Feedforward 2D Gaussian Splatting with Surface Continuity Priors

Bing He · Jingnan Gao · Yunuo Chen · Ning Cao · Gang Chen · Zhengxue Cheng · Li Song · Wenjun Zhang

ICLR 2026

arXiv Project Page Hugging Face

iclr2026_3110_subjective_comparison.mp4

🖼️ Methodology

SurfSplat, a feedforward framework based on 2D Gaussian Splatting (2DGS) primitive, which provides stronger anisotropy and higher geometric precision. By incorporating a surface continuity prior and a forced alpha blending strategy, SurfSplat reconstructs coherent geometry together with faithful textures.


📅 Roadmap

  • [✅] Release arXiv preprint.
  • [✅] Launch project website.
  • [✅] Release training code.
  • [✅] Release inference code and checkpoints.
  • Release preprocessed scannet dataset.
  • Release mesh extraction code.

Repository

First clone the repository.

# Clone this repo
git clone https://github.com/hebing-sjtu/SurfSplat.git --recursive
# or
git clone https://github.com/hebing-sjtu/SurfSplat.git
git submodule update --init --recursive

Installation

Our code is developed using PyTorch 2.4.0, CUDA 12.4, and Python 3.10.

We recommend setting up a virtual environment using either conda or venv before installation:

# conda
conda create -y -n surfsplat python=3.10
conda activate surfsplat

# or venv
# python -m venv /path/to/venv/surfsplat
# source /path/to/venv/surfsplat/bin/activate

# installation
pip install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt

# install rasterization
cd submodules/rasterization
pip install .
cd ...

Model Zoo

Our pre-trained models are hosted on Hugging Face 🤗.


Datasets

Train & Test

For RealEstate10K and ACID datasets, we primarily follow pixelSplat. dcharatan kindly provide the preprocessed RealEstate10K and ACID datasets

Test only

For DTU dataset, we follow MVSplat. donydchen kindly provide the preprocessed DTU dataset

For DL3DV dataset, we follow DepthSplat. We will provided preprocessed dataset for test.

For Scannet dataset, We will provided preprocessed dataset for test.


Training

  • Before training, you need to download the pre-trained UniMatch and Depth Anything V2 weights, and set up your wandb account (in particular, by setting wandb.entity=YOUR_ACCOUNT) for logging.
wget https://s3.eu-central-1.amazonaws.com/avg-projects/unimatch/pretrained/gmflow-scale1-things-e9887eda.pth -P pretrained
wget https://huggingface.co/depth-anything/Depth-Anything-V2-Small/resolve/main/depth_anything_v2_vits.pth -P pretrained

Evaluation


Camera Conventions

The camera intrinsic matrices are normalized, with the first row divided by the image width and the second row divided by the image height.

The camera extrinsic matrices follow the OpenCV convention for camera-to-world transformation (+X right, +Y down, +Z pointing into the screen).


✒️ Citation

If you find our work helpful, please consider citing:

@inproceedings{he2026surfsplat,
  title={SurfSplat: Conquering Feedforward 2D Gaussian Splatting with Surface Continuity Priors},
  author={Bing He and Jingnan Gao and Yunuo Chen and Ning Cao and Gang Chen and Zhengxue Cheng and Li Song and Wenjun Zhang},
  booktitle={The Fourteenth International Conference on Learning Representations},
  year={2026}
}

About

[2026'ICLR] Official Code for SurfSplat

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors