Skip to content

MachinePerceptionLab/VTGaussian-SLAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VTGaussian-SLAM: RGBD SLAM for Large Scale Scenes with Splatting View-Tied 3D Gaussians

Pengchong Hu · Zhizhong Han

ICML 2025

Table of Contents
  1. Installation
  2. Dataset
  3. Run
  4. Evaluation
  5. Acknowledgement
  6. Citation

Installation

Please install all dependencies by following the instructions here. You can use anaconda and pip to finish the installation easily. We tested VTGaussian-SLAM on RTX 3090 and RTX 4090 GPUs with Python 3.10, Torch 1.12.1, and CUDA=11.6.

You can build a conda environment called vtgaussian-slam following the instructions below.

git clone https://github.com/MachinePerceptionLab/VTGaussian-SLAM.git
cd VTGaussian-SLAM

conda create -n vtgaussian-slam python=3.10
conda activate vtgaussian-slam
conda install -c "nvidia/label/cuda-11.6.0" cuda-toolkit
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge
pip install -r requirements.txt

Dataset

DATAROOT is ./data by default. Please change the input_folder path in the scene-specific config files if datasets are stored somewhere else on your machine.

Replica

Please download the Replica dataset generated by the authors of iMAP into ./data/Replica folder. Please cite iMAP if you use the dataset.

bash bash_scripts/download_replica.sh # Released by authors of NICE-SLAM

TUM-RGBD

bash bash_scripts/download_tum.sh

ScanNet

Please follow the data downloading procedure on ScanNet website, and extract color/depth frames from the .sens file using this code.

[Directory structure of ScanNet (click to expand)]

DATAROOT is ./data by default. If a sequence (sceneXXXX_XX) is stored in other places, please change the basedir path in the config file.

  DATAROOT
  └── scannet
      └── scene0000_00
          ├── color
          │   ├── 0.jpg
          │   ├── 1.jpg
          │   ├── ...
          │   └── ...
          ├── depth
          │   ├── 0.png
          │   ├── 1.png
          │   ├── ...
          │   └── ...
          ├── intrinsic
          └── pose
              ├── 0.txt
              ├── 1.txt
              ├── ...
              └── ...

ScanNet++

Please follow the data downloading and image undistortion procedure on the ScanNet++ website. Additionally, for undistorting the DSLR depth images, we use a variant of the official ScanNet++ processing code from SplaTAM.

Run

Replica

To run VTGaussian-SLAM on the room0 scene, please use the following command:

python src/vtgaussian_slam.py configs/replica/room0.py

TUM-RGBD

To run VTGaussian-SLAM on the freiburg1_desk scene, please use the following command:

python src/vtgaussian_slam.py configs/tum/fr1_config.py

ScanNet

To run VTGaussian-SLAM on the scene0000_00 scene, please use the following command:

python src/vtgaussian_slam.py configs/scannet/scene00_config.py

ScanNet++

To run VTGaussian-SLAM on the 2e74812d00 scene, please use the following command:

python src/vtgaussian_slam.py configs/scannetpp/2e_config.py

Evaluation

When running VTGaussian-SLAM using the above commands, we can get the final evaluation results in rendering and tracking. If you want to evaluate it with the saved params_ls.npy, you can set the eval_mode in the scene-specific config files to True and run the above commands again.

Acknowledgement

This project was partially supported by an NVIDIA academic award and a Richard Barber research award.

We adapt codes from some awesome repositories, including 3D Gaussian Splatting, GradSLAM & ConceptFusion, SplaTAM, and Gaussian-SLAM. Thanks for making the code available and for prompt responses to our inquiries regarding the details of their methods.

Citation

If you find our code or paper useful, please cite

@InProceedings{Hu2025VTGSSLAM,
                title = {VTGaussian-SLAM: RGBD SLAM for Large Scale Scenes with Splatting View-Tied 3D Gaussians},
                author = {Hu, Pengchong and Han, Zhizhong},
                booktitle = {Proceedings of the 42nd International Conference on Machine Learning},
                year = {2025}
}

About

[ICML'25] VTGaussian-SLAM: RGBD SLAM for Large Scale Scenes with Splatting View-Tied 3D Gaussians

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •