This repository contains the code and trained models of our work "IG-SLAM: Instant Gaussian SLAM", ECCV'24 NeuSLAM
by Furkan Aykut Sarıkamış, A. Aydın Alatan
Department of Electrical and Electronics Engineering, Middle East Technical University
Contributions:
-
We present IG-SLAM, an efficient dense RGB SLAM system that performs at high frame rates, offering scalability and robustness even in challenging conditions.
-
A novel 3D reconstruction algorithm that accounts for depth uncertainty, making the 3D reconstruction robust to noise.
-
A training procedure to make dense depth supervision for the mapping process as efficient as possible.
System Overview
IG-SLAM consists of two main parts: tracking and mapping.
Please cite as:
@article{sarikamis2024ig,
title={Ig-slam: Instant gaussian slam},
author={Sarikamis, F Aykut and Alatan, A Aydin},
journal={arXiv preprint arXiv:2408.01126},
year={2024}
}You may need to install GLM library.
sudo apt-get install libglm-devYou can create an anaconda environment called igslam.
git clone --recursive https://github.com/Liouvi/IG-SLAM.git
conda env create -f environment.yml
conda activate igslam
python setup.py install
You may need to close visualization to improve reconstruction results
For example:
configs/Replica/replica_mono.yaml
inherit_from: configs/Replica/base_config.yaml
verbose: False
dataset: 'replica'
mode: mono
stride: 1
only_tracking: False
vis: False
Set vis variable as intended.
bash scripts/download_replica.sh
python run.py --config configs/Replica/office0_mono.yaml
bash scripts/download_tum.sh
python run.py --config configs/tum/fr1_desk.yaml
Please follow the data downloading procedure on ScanNet website, and extract color/depth frames from the .sens file using this code.
datasets
└── ScanNet
└── scans
└── scene0000_00
└── frames
├── color
│ ├── 0.jpg
│ ├── 1.jpg
│ ├── ...
│ └── ...
├── depth
│ ├── 0.png
│ ├── 1.png
│ ├── ...
│ └── ...
├── intrinsic
└── pose
├── 0.txt
├── 1.txt
├── ...
└── ...
Once the data is set up properly, you can run:
python run.py --config configs/ScanNet/scene0000_mono.yamlbash scripts/download_euroc.shThe GT trajectory can be downloaded from GO-SLAM's Drive Google Drive.
DATAROOT
└── EuRoC
└── MH_01_easy
└── mav0
├── cam0
├── cam1
├── imu0
├── leica0
├── state_groundtruth_estimate0
└── body.yaml
└── MH_01_easy.txt
Then you can run:
python run.py --config configs/EuRoC/mh_01_easy.yamlFor questions, please send an email to aykut.sarikamis@metu.edu.tr
This project would not be possible without excellent works including GO-SLAM, NeRF-SLAM, MonoGS, and DROID-SLAM.


