Yansong Xu · Junlin Li · Wei Zhang · Siyu Chen · Shengyong Zhang · Yuquan Leng∗ · Weijia Zhou∗
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.
- NVIDIA GPU with CUDA 11.8 support
- Conda package manager
-
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
bash download_replica.sh
# Modify the directory structure
python reorganize_replica.py ./dataset/Replica bash download_tum.shbash replica_unlimit.shbash tum_unlimit.sh-
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
python -W ignore fgs_slam.py --rerun_viewerWe extend our gratitude to the following projects and their contributors for their foundational work and inspiration: