├── .gitignore
├── README.md
└── media
├── 7scenes_office.mp4
├── 7scenes_office.png
├── 7scenes_redkitchen.mp4
├── 7scenes_redkitchen.png
├── architecture.png
├── bf_apt1.mp4
├── bf_apt1.png
├── bf_office0.mp4
├── bf_office0.png
├── o3d_eg.gif
├── rerun_eg.gif
├── scannet_0000.mp4
├── scannet_0000.png
├── scannet_0054.mp4
├── scannet_0054.png
├── teaser.gif
├── teaser.png
├── tumrgbd_floor.mp4
├── tumrgbd_floor.png
├── tumrgbd_room.mp4
├── tumrgbd_room.png
├── vista_logo.png
└── vista_slam.mp4
/.gitignore:
--------------------------------------------------------------------------------
1 | data
2 | checkpoints
3 | results
4 | stuffs
5 | recon
6 | visualization
7 | replica_gt
8 | tmp
9 |
10 | # Byte-compiled / optimized / DLL files
11 | __pycache__/
12 | *.py[cod]
13 | *$py.class
14 |
15 | # C extensions
16 | *.so
17 |
18 | # Distribution / packaging
19 | .Python
20 | build/
21 | develop-eggs/
22 | dist/
23 | downloads/
24 | eggs/
25 | .eggs/
26 | lib/
27 | lib64/
28 | parts/
29 | sdist/
30 | var/
31 | wheels/
32 | pip-wheel-metadata/
33 | share/python-wheels/
34 | *.egg-info/
35 | .installed.cfg
36 | *.egg
37 | MANIFEST
38 |
39 | # PyInstaller
40 | # Usually these files are written by a python script from a template
41 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
42 | *.manifest
43 | *.spec
44 |
45 | # Installer logs
46 | pip-log.txt
47 | pip-delete-this-directory.txt
48 |
49 | # Unit test / coverage reports
50 | htmlcov/
51 | .tox/
52 | .nox/
53 | .coverage
54 | .coverage.*
55 | .cache
56 | nosetests.xml
57 | coverage.xml
58 | *.cover
59 | *.py,cover
60 | .hypothesis/
61 | .pytest_cache/
62 |
63 | # Translations
64 | *.mo
65 | *.pot
66 |
67 | # Django stuff:
68 | *.log
69 | local_settings.py
70 | db.sqlite3
71 | db.sqlite3-journal
72 |
73 | # Flask stuff:
74 | instance/
75 | .webassets-cache
76 |
77 | # Scrapy stuff:
78 | .scrapy
79 |
80 | # Sphinx documentation
81 | docs/_build/
82 |
83 | # PyBuilder
84 | target/
85 |
86 | # Jupyter Notebook
87 | .ipynb_checkpoints
88 |
89 | # IPython
90 | profile_default/
91 | ipython_config.py
92 |
93 | # pyenv
94 | .python-version
95 |
96 | # pipenv
97 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
98 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
99 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
100 | # install all needed dependencies.
101 | #Pipfile.lock
102 |
103 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow
104 | __pypackages__/
105 |
106 | # Celery stuff
107 | celerybeat-schedule
108 | celerybeat.pid
109 |
110 | # SageMath parsed files
111 | *.sage.py
112 |
113 | # Environments
114 | .env
115 | .venv
116 | env/
117 | venv/
118 | ENV/
119 | env.bak/
120 | venv.bak/
121 |
122 | # Spyder project settings
123 | .spyderproject
124 | .spyproject
125 |
126 | # Rope project settings
127 | .ropeproject
128 |
129 | # mkdocs documentation
130 | /site
131 |
132 | # mypy
133 | .mypy_cache/
134 | .dmypy.json
135 | dmypy.json
136 |
137 | # Pyre type checker
138 | .pyre/
139 |
140 | ORBvoc.txt
141 | frontend_sta_weights.pth
142 |
143 | *.code-workspace
144 |
145 | preprocessing/slurm_scripts
146 | slam3r/slam/test
147 | test
148 |
149 | exp_figures
150 | test*.py
151 |
152 | preprocessing
153 | pretrains
154 | output
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | ### The full codebase will be released soon ...
3 | ---
4 |
5 |
6 |
7 |
8 |
9 | ViSTA-SLAM: Visual SLAM with Symmetric Two-view Association
10 |
11 |
12 |
13 |
14 | Ganlin Zhang1,2
15 | ·
16 | Shenhan Qian1,2
17 | ·
18 | Xi Wang1,2,3
19 | ·
20 | Daniel Cremers1,2
21 |
22 |
23 | 1 TU Munich, 2 MCML, 3 ETH Zurich
24 |
25 |
26 |
27 |
28 |
29 | ViSTA-SLAM is a real-time monocular dense SLAM pipeline that combines a Symmetric Two-view Association (STA) frontend with Sim(3) pose graph optimization and loop closure, enabling accurate camera trajectories and high-quality 3D scene reconstruction from RGB inputs.
30 |
31 |
32 | ### Online visualization
33 |
34 |
35 |
36 |
37 | ### Pose graph and final results visualization
38 |
39 |
40 |
41 |
42 |
192 |
193 |
194 | ## Citation
195 |
196 | If you find our code or paper useful, please cite
197 | ```bibtex
198 | @misc{zhang2025vistaslam,
199 | title={{ViSTA-SLAM}: Visual {SLAM} with Symmetric Two-view Association},
200 | author={Ganlin Zhang and Shenhan Qian and Xi Wang and Daniel Cremers},
201 | year={2025},
202 | eprint={2509.01584},
203 | archivePrefix={arXiv},
204 | primaryClass={cs.CV},
205 | url={https://arxiv.org/abs/2509.01584},
206 | }
207 | ```
208 | ## Contact
209 | Contact [Ganlin Zhang](mailto:ganlin.zhang@tum.de) for questions, comments and reporting bugs.
210 |
--------------------------------------------------------------------------------
/media/7scenes_office.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/7scenes_office.mp4
--------------------------------------------------------------------------------
/media/7scenes_office.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/7scenes_office.png
--------------------------------------------------------------------------------
/media/7scenes_redkitchen.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/7scenes_redkitchen.mp4
--------------------------------------------------------------------------------
/media/7scenes_redkitchen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/7scenes_redkitchen.png
--------------------------------------------------------------------------------
/media/architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/architecture.png
--------------------------------------------------------------------------------
/media/bf_apt1.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/bf_apt1.mp4
--------------------------------------------------------------------------------
/media/bf_apt1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/bf_apt1.png
--------------------------------------------------------------------------------
/media/bf_office0.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/bf_office0.mp4
--------------------------------------------------------------------------------
/media/bf_office0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/bf_office0.png
--------------------------------------------------------------------------------
/media/o3d_eg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/o3d_eg.gif
--------------------------------------------------------------------------------
/media/rerun_eg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/rerun_eg.gif
--------------------------------------------------------------------------------
/media/scannet_0000.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/scannet_0000.mp4
--------------------------------------------------------------------------------
/media/scannet_0000.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/scannet_0000.png
--------------------------------------------------------------------------------
/media/scannet_0054.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/scannet_0054.mp4
--------------------------------------------------------------------------------
/media/scannet_0054.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/scannet_0054.png
--------------------------------------------------------------------------------
/media/teaser.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/teaser.gif
--------------------------------------------------------------------------------
/media/teaser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/teaser.png
--------------------------------------------------------------------------------
/media/tumrgbd_floor.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/tumrgbd_floor.mp4
--------------------------------------------------------------------------------
/media/tumrgbd_floor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/tumrgbd_floor.png
--------------------------------------------------------------------------------
/media/tumrgbd_room.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/tumrgbd_room.mp4
--------------------------------------------------------------------------------
/media/tumrgbd_room.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/tumrgbd_room.png
--------------------------------------------------------------------------------
/media/vista_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/vista_logo.png
--------------------------------------------------------------------------------
/media/vista_slam.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhangganlin/vista-slam/7d43ca22218f9d80053b81cd5516bd1a75573a3e/media/vista_slam.mp4
--------------------------------------------------------------------------------