├── 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 |

Paper | Project Page

25 |
26 | 27 |

28 | 29 | teaser 30 | 31 | 32 | 33 | teaser 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 --------------------------------------------------------------------------------