Table of Contents
Please install all dependencies by following the instructions here. You can use anaconda and pip to finish the installation easily. We tested SGAD-SLAM on RTX 4090 GPUs with Python 3.9.21, Torch 2.0.0, and CUDA=11.8.
You can build a conda environment called sgadslam following the instructions below.
git clone https://github.com/MachinePerceptionLab/SGAD-SLAM.git
cd SGAD-SLAM
export CC=<gcc path>
export CXX=<g++ path>
conda create -n sgadslam python==3.9.21
conda activate sgadslam
conda install pip==24.3.1
pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt
conda install numpy-base=1.26.4
conda install faiss-gpu=1.8.0
# install PCL
pip install pcl
conda config --add channels conda-forge
conda install -c sirokujira python-pcl
conda install -c conda-forge cmake=3.25.0
conda install vtk
conda install -c conda-forge pcl=1.14.*
# install fast_gicp
cd submodules/fast_gicp
mkdir build
cd build
cmake ..
make
cd ..
python setup.py install --user
# install simple-knn
cd ../..
pip install submodules/simple-knnDATAROOT is ./dataset by default. Please change the input_folder path in the scene-specific config files if datasets are stored somewhere else on your machine.
Please download the Replica dataset generated by the authors of iMAP into ./dataset/Replica folder. Please cite iMAP if you use the dataset.
bash bash_scripts/download_replica.sh # Released by authors of NICE-SLAMbash bash_scripts/download_tum.shPlease 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 ./dataset by default. If a sequence (sceneXXXX_XX) is stored in other places, please change the basedir path in the config file.
DATAROOT
└── scannet
└── scans
└── scene0000_00
├── color
│ ├── 0.jpg
│ ├── 1.jpg
│ ├── ...
│ └── ...
├── depth
│ ├── 0.png
│ ├── 1.png
│ ├── ...
│ └── ...
├── intrinsic
└── pose
├── 0.txt
├── 1.txt
├── ...
└── ...
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.
To run SGAD-SLAM on Replica dataset, please use the following command:
bash scripts/replica.shTo run SGAD-SLAM on TUM-RGBD dataset, please use the following command:
bash scripts/tum.shTo run SGAD-SLAM on ScanNet dataset, please use the following command:
bash scripts/scannet.shTo run SGAD-SLAM on ScanNet++ dataset, please use the following command:
bash scripts/scannetpp.shWhen running SGAD-SLAM using the above commands, we can get the final evaluation results in rendering and tracking.
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, GS-ICP-SLAM, SplaTAM, LoopSplat, and Gaussian-SLAM. Thanks for making the code available and for prompt responses to our inquiries regarding the details of their methods.
If you find our code or paper useful, please cite
@InProceedings{Hu2026sgadslam,
title = {SGAD-SLAM: Splatting Gaussians at Adjusted Depth for Better Radiance Fields in RGBD SLAM},
author = {Hu, Pengchong and Han, Zhizhong},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
year = {2026}
}
}