README.md
June 26, 2025 · View on GitHub
🌟 FGS-SLAM: Fourier-based Gaussian Splatting for Real-time SLAM with Sparse and Dense Map Fusion
IROS 2025 (Oral Presentation)
Yansong Xu · Junlin Li · Wei Zhang · Siyu Chen · Shengyong Zhang · Yuquan Leng∗ · Weijia Zhou∗
📌 Overview
FGS-SLAM is an advanced real-time SLAM system that combines Fourier-based Gaussian Splatting with sparse and dense map fusion for high-performance 3D reconstruction and localization.
🛠️ Installation
Prerequisites
- NVIDIA GPU with CUDA 11.8 support
- Conda package manager
Step-by-Step Setup
-
Clone the repository:
git clone https://github.com/3DV-Coder/FGS-SLAM.git --recursive cd FGS-SLAM -
Create conda environment:
conda create -n fgsslam python==3.9 conda activate fgsslam -
Install PyTorch:
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia -
Install requirements:
pip install -r requirements.txt conda install -c conda-forge python-pcl -
Install submodules:
pip install submodules/diff-gaussian-rasterization pip install submodules/simple-knn cd submodules/fast_gicp mkdir -p build && cd build cmake .. && make cd .. python setup.py install --user
📂 Datasets
Replica Dataset
bash download_replica.sh
# Modify the directory structure
python reorganize_replica.py ./dataset/Replica
TUM-RGBD Dataset
bash download_tum.sh
🚀 Quick Start
Running on Replica Dataset
bash replica_unlimit.sh
Running on TUM-RGBD Dataset
bash tum_unlimit.sh
👀 Interactive Viewers
SIBR Viewers (High-Quality Rendering)
-
Install dependencies:
sudo apt install -y libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev -
Build the viewer:
cd SIBR_viewers cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release # add -G Ninja to build faster cmake --build build -j24 --target install -
Run the system:
python -W ignore fgs_slam.py --dataset_path dataset/Replica/office0 --verbose -
In another terminal:
cd SIBR_viewers ./install/bin/SIBR_remoteGaussian_app --rendering-size 1280 720
Rerun.io Viewer (Real-Time Visualization)
python -W ignore fgs_slam.py --rerun_viewer
🙏 Acknowledgements
We extend our gratitude to the following projects and their contributors for their foundational work and inspiration: