DynaGSLAM: Real-Time Gaussian-Splatting SLAM for Online Rendering, Tracking, Motion Predictions of Moving Objects in Dynamic Scenes
Runfa Blark Li1,2
·
Mahdi Shaghaghi2
·
Keito Suzuki1
·
Xinshuang Liu1
·
Varun Moparthi1
·
Bang Du1
·
Walker Curtis2
·
Martin Renschler2
·
Ki Myung Brian Lee1
·
Nikolay Atanasov1
·
Truong Nguyen1
1UC San Diego 2Qualcomm XR Advanced Technology
WACV 2026
Robust rendering for moving objects compared to SOTA GS SLAM works that could handle statics scenes.
Clone the repository first:
git clone --recursive https://github.com/BlarkLee/DynaGSLAM_official.git
DynaGSLAM has been tested on python 3.9, CUDA=12.4, pytorch=2.6.0. The simplest way to install all dependences is to use anaconda and pip in the following steps:
conda env create -f environment.yamlOur environment is built upon RTG-SLAM, please refer to their helpful solutions first if running into any environmental issues.
We use TUM and BONN dataset. Download the dataset sequences from OMD, TUM Dataset and Bonn Dataset, and form the dataset directory as below:
|-- data
|-- OMD
|--swinging_4_unconstrained
|-- TUM_RGBD
|-- rgbd_dataset_freiburg3_walking_xyz
|-- rgbd_dataset_freiburg3_walking_static
|-- rgbd_dataset_freiburg3_walking_rpy
|-- rgbd_dataset_freiburg3_walking_halfsphere
|-- Bonn_RGBD
|-- rgbd_bonn_balloon
|-- rgbd_bonn_balloon2
|-- rgbd_bonn_person_tracking
|-- rgbd_bonn_person_tracking2
Download the optical flow checkpoints RAFT and segmentation checkpoints SAM2, and put the checkpoints under the directory:
|-- SLAM
|-- multiprocess
|-- motion_models
|-- raft-things.pth
|-- sam2.1_hiera_base_plus.pt
|-- sam2.1_hiera_large.pt
|-- sam2.1_hiera_small.pt
|-- sam2.1_hiera_tiny.pt
Change the directory of source_path and save_path of configs/.yaml. Our work focuses on the novel mapping part of SLAM, we use DynoSAM to estimate the poses, please refer to DynoSAM to generate the poses. The source path should contain RGBD and pose sequences to load, and for the sequences in TUM dataset, run:
python slam.py --config ./configs/tum/fr3_walking_xyz.yaml
For other sequences:
python slam.py --config ./configs/tum/fr3_walking_static.yaml
or
python slam.py --config ./configs/tum/fr3_walking_rpy.yaml
or
python slam.py --config ./configs/tum/fr3_walking_halfsphere.yaml
For the sequences in BONN dataset, run:
python slam.py --config ./configs/bonn/balloon.yaml
For other sequences:
python slam.py --config ./configs/bonn/balloon2.yaml
or
python slam.py --config ./configs/bonn/person_tracking.yaml
or
python slam.py --config ./configs/bonn/person_tracking2.yaml
For the sequences in OMD dataset, run:
python slam.py --config ./configs/omd/swinging_4_unconstrained.yaml
We use 3DGS code from the original 3DGS and RTG-SLAM, and localization from DynoSAM. We appreciate the contribution of these previous works.
If you find our work useful for your research, please cite
@misc{dynagslam,
title={DynaGSLAM: Real-Time Gaussian-Splatting SLAM for Online Rendering, Tracking, Motion Predictions of Moving Objects in Dynamic Scenes},
author={Runfa Blark Li and Mahdi Shaghaghi and Keito Suzuki and Xinshuang Liu and Varun Moparthi and Bang Du and Walker Curtis and Martin Renschler and Ki Myung Brian Lee and Nikolay Atanasov and Truong Nguyen},
year={2025},
eprint={2503.11979},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2503.11979},
}
or
@inproceedings{dynagslam,
author = {Li, Runfa Blark and Shaghaghi, Mahdi and Suzuki, Keito and Liu, Xinshuang and Moparthi, Varun and Du, Bang and Curtis, Walker and Renschler, Martin and Lee, K. M. Brian and Atanasov, Nikolay and Nguyen, Truong},
title = {DynaGSLAM: Real-Time Gaussian-Splatting SLAM for Online Rendering, Tracking, Motion Predictions of Moving Objects in Dynamic Scenes},
booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV)},
year = {2026},
}
