├── README.md
└── imgs
├── 4DGSSLAM.gif
└── teaser.png
/README.md:
--------------------------------------------------------------------------------
1 | [comment]: <> (# 4D Gaussian Splatting SLAM)
2 |
3 |
4 |
5 |
6 |
7 |
4D Gaussian Splatting SLAM
8 |
9 |
10 |
11 | Yanyan Li ·
12 | Youxu Fang ·
13 | Zunjie Zhu ·
14 | Kunyi Li ·
15 | Yong Ding ·
16 | Federico Tombari
17 |
18 |
19 |
20 |
21 |
22 |
23 | [comment]: <> ( PAPER
)
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | # 1.Installation
43 |
44 |
45 | ```
46 | git clone https://github.com/yanyan-li/4DGS-SLAM.git
47 | cd 4DGS-SLAM
48 | ```
49 |
50 | Setup the environment.
51 | ```
52 | conda create -n 4dgs-slam python=3.8
53 | conda activate 4dgs-slam
54 | # CUDA 11.7
55 | pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
56 | pip install -r requirements.txt
57 | ```
58 |
59 | The simple-knn and diff-gaussian-rasterization libraries use the ones provided by MonoGS.
60 | ```
61 | pip install submodules/simple-knn
62 | pip install submodules/diff-gaussian-rasterization
63 | ```
64 |
65 | Use torch-batch-svd speed up (Optional)
66 | ```
67 | git clone https://github.com/KinglittleQ/torch-batch-svd
68 | cd torch-batch-svd
69 | python setup.py install
70 | ```
71 |
72 | # 2.Pretrained Models
73 |
74 | Download YOLOv9e-seg
75 | ```bash
76 | cd 4DGS-SLAM/pretrained
77 | wget https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov9e-seg.pt
78 | ```
79 | Or download it directly from https://docs.ultralytics.com/models/yolov9/
80 |
81 | Download RAFT
82 |
83 | The model **raft-things.pth** used in this system can be obtained directly from https://drive.google.com/drive/folders/1sWDsfuZ3Up38EUQt7-JDTT1HcGHuJgvT
84 |
85 |
86 | # 3.Datasets
87 |
88 | ### TUM-RGBD dataset
89 | ```bash
90 | bash scripts/download_tum_dynamic.sh
91 | ```
92 |
93 | ### BONN dataset
94 |
95 | # 4.Testing
96 |
97 | ### Dynamic rendering
98 | ```bash
99 | python slam.py --config configs/rgbd/tum/fr3_sitting.yaml --eval --dynamic
100 | ```
101 | ### Adjust the frequency for image saving
102 | ```bash
103 | python slam.py --config configs/rgbd/tum/fr3_sitting.yaml --eval --dynamic --interval 50
104 | ```
105 |
106 |
107 |
108 | # 5.Acknowledgement
109 | This work incorporates many open-source codes. We extend our gratitude to the authors of the software.
110 | - [MonoGS](https://github.com/muskie82/MonoGS)
111 | - [3D Gaussian Splatting](https://github.com/graphdeco-inria/gaussian-splatting)
112 | - [GeoGaussian](https://github.com/yanyan-li/GeoGaussian)
113 | - [SC-GS](https://github.com/CVMI-Lab/SC-GS)
114 | - [Open3D](https://github.com/isl-org/Open3D)
115 |
116 |
117 | # 6.License
118 |
119 |
120 |
121 | # 7.Citation
122 | If you find this code/work useful for your own research, please consider citing:
123 | ```
124 | @article{li20254d,
125 | title={4{D} {G}aussian {S}platting {SLAM}},
126 | author={Li, Yanyan and Fang, Youxu and Zhu, Zunjie and Li, Kunyi and Ding, Yong and Tombari, Federico},
127 | journal={arXiv preprint arXiv:2503.16710},
128 | year={2025}
129 | }
130 | ```
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
--------------------------------------------------------------------------------
/imgs/4DGSSLAM.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanyan-li/4DGS-SLAM/5f0fb8b1c0bc90fcb1508d08c2438fedbd4f7262/imgs/4DGSSLAM.gif
--------------------------------------------------------------------------------
/imgs/teaser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yanyan-li/4DGS-SLAM/5f0fb8b1c0bc90fcb1508d08c2438fedbd4f7262/imgs/teaser.png
--------------------------------------------------------------------------------