Skip to content

[SIGGRAPH ASIA'25] EGG-Fusion: Efficient 3D Reconstruction with Geometry-aware Gaussian Surfel on the Fly

License

Notifications You must be signed in to change notification settings

panxkun/eggfusion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EGG-Fusion: Efficient 3D Reconstruction with Geometry-aware Gaussian Surfel on the Fly

arXiv Paper Project Page Apache License 2.0

This repository contains the implementation of following paper:

EGG-Fusion: Efficient 3D Reconstruction with Geometry-aware Gaussian Surfel on the Fly
SIGGRAPH ASIA 2025, HongKong
Xiaokun Pan1, Zhenzhe Li1, Zhichao Ye2, Hongjia Zhai1, Guofeng Zhang1
1 State Key Lab of CAD&CG, Zhejiang University 2SenseTime Research
(Corresponding authors: Guofeng Zhang and Zhichao Ye)

Teaser

Overview

Overview

EGG-Fusion is a real-time 3D reconstruction system leverages geometry-aware Gaussian surfels for real-time dense mapping and tracking. Currently, the repository only contains the code for core system, and it will be gradually updated and improved in the near future:

  • Code of System Implementation
  • Realtime Visualzation
  • Evaluation Scripts
  • Online Mode for RGB-D Sensor

Installation

Prerequisites

We have tested the code on:

  • Ubuntu 20.04
  • Python 3.9
  • PyTorch 2.5.1+cu121

Clone Repository

git clone --recursive https://github.com/panxkun/eggfusion.git

Install Dependencies

conda create -n eggfusion python=3.9
conda activate eggfusion
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt

Build Submodules

  • Build cuda extension for dense tracking
cd src/utils/cuda
pip install --no-build-isolation .
  • Build cuda extension for diff-gaussian-surfel
cd submodules/diff-gaussian-surfels
pip install --no-build-isolation .
  • Build ORB-SLAM2 dependencies
./submodules/orb-slam-deps/build_orb.sh

please refer to this link for more details if you occured problem while installing.

Datasets

Directory Structure

Place your datasets in the datasets/ folder:

Show dataset directory structure
datasets/
├── replica/
├── tum/
├── scannetpp/
    ├── 39f36da05b
    ├── 8b5caf3398
    ├── f34d532901
    └── 8b5caf3398

In this data structure, replica/ and tum/ contains the same scenes as used in SplaTAM.

Supported Datasets

  1. Replica: High-quality synthetic RGB-D sequences. Download from Replica
  2. TUM RGB-D: Real-world RGB-D benchmark sequences. Download from TUM
  3. ScanNet++: Large-scale indoor RGB-D dataset. Download from ScanNet

Quick Start

Basic Usage

# Run on Replica dataset as an example
python main.py --config configs/replica/office0.yaml

Online Mode

Currently, we test this mode on the Azure Kinect dataset. Please refer to Azure Kinect documentation for setup. If you want to configure other RGB-D cameras, you can setup the camera driver and override the RGBDDataset class in the dataloader.

Note: This part of the code is not yet fully organized. We recommend using the Azure Kinect for online mode as it provides high-quality depth data and is well-supported.

Acknowledgments

This project is built upon several open-source projects and libraries. We thank the authors for their contributions:

License

EGG-Fusion is licensed under the Apache License - see the LICENSE file for details.

Citation

If you found this code/work to be useful in your own research, please considering citing the following:

@inproceedings{pan2025egg,
  title={EGG-Fusion: Efficient 3D Reconstruction with Geometry-aware Gaussian Surfel on the Fly},
  author={Pan, Xiaokun and Li, Zhenzhe and Ye, Zhichao and Zhai, Hongjia and Zhang, Guofeng},
  booktitle={Proceedings of the SIGGRAPH Asia 2025 Conference Papers},
  pages={1--12},
  year={2025}
}

About

[SIGGRAPH ASIA'25] EGG-Fusion: Efficient 3D Reconstruction with Geometry-aware Gaussian Surfel on the Fly

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published