Seongbo Ha, Jiung Yeon, Hyeonwoo Yu
This repository is intended to substantiate the results reported in the paper. Additional features including visualization tools will be updated soon!
Install requirements
conda create -n gsicpslam python==3.9
conda activate gsicpslam
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia
pip install -r requirements.txtAlso, PCL is needed for fast-gicp submodule.
Install submodules
conda activate gsicpslam
pip install submodules/diff-gaussian-rasterization
pip install submodules/simple-knn
cd submodules/fast_gicp
mkdir build
cd build
cmake ..
make
cd ..
python setup.py install --user-
Replica
-
Download
bash download_replica.sh
-
Configure
Please modify the directory structure to ours.
The original structure
Replica - room0 - results (contain rgbd images) - frame000000.jpg - depth000000.jpg ... - traj.txt ...Our structure
Replica - room0 - images (contain rgb images) - frame000000.jpg ... - depth_images (contain depth images) - depth000000.jpg ... - traj.txt ...
-
-
TUM-RGBD
- Download
bash download_tum.sh
- Download
-
Custom Data
- Your custom dataset should have the following structure:
custom_dataset/ ├── rgb/ │ ├── frame000000.jpg │ ├── frame000001.jpg │ └── ... ├── depth/ │ ├── depth000000.png │ ├── depth000001.png │ └── ...
- Don't forget to add your config inside
GS_ICP_SLAM/configs/custom/your_config.txt, which should look similar to this:## camera parameters H W fx fy cx cy depth_scale depth_trunc dataset_type 0000 0000 0000 0000 0000 0000 0000 0000 custom
- Your custom dataset should have the following structure:
-
Limited to 30 FPS
# Replica bash replica.sh # TUM bash tum.sh
-
Unlimited tracking speed
# Replica bash replica_unlimit.sh # TUM bash tum_unlimit.sh
cd SIBR_viewers
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release
cmake --build build -j24 --target installRerun viewer shows the means of trackable Gaussians, and rendered image from reconstructed 3dgs map.
python -W ignore gs_icp_slam.py --rerun_viewerpython -W ignore gs_icp_slam.py --dataset_path dataset/Replica/office0 --verbose
# In other terminal
cd SIBR_viewers
./install/bin/SIBR_remoteGaussian_app --rendering-size 1280 720Please see the README.md in the docker_files folder.
Follow the steps below to create a fork of this repository on your GitHub account and clone it to your local machine.
- Navigate to the original repository: GS_ICP_SLAM.
- In the upper right corner of the page, click the Fork button.
- Select your GitHub account to create a copy of the repository in your account.
-
After forking, you will be redirected to your new repository (under your GitHub username). Copy the SSH URL (or HTTPS URL) from the repository page.
- SSH URL:
git@github.com:<your-username>/GS_ICP_SLAM.git - HTTPS URL:
https://github.com/<your-username>/GS_ICP_SLAM.git
- SSH URL:
-
Open your terminal (or command prompt) and run the following command to clone your forked repository to your local machine:
git clone git@github.com:<your-username>/GS_ICP_SLAM.git
- Change into the directory of the cloned repository:
cd GS_ICP_SLAM - Add the original repository as a remote:
git remote add upstream git@github.com:Lab-of-AI-and-Robotics/GS_ICP_SLAM.git
- Verify that the remotes are set correctly:
- Add the original repository as a remote:
You should see two remotes listed: origin (your fork) and upstream (the original repository).
git remote -v
To keep your fork synchronized with the original repository:
- Fetch updates from upstream:
git fetch upstream
- Merge changes into your local main branch:
git checkout main # or master, depending on the default branch name git merge upstream/main - Push changes to your fork:
git push origin main

