# SLAM-Former
**Repository Path**: davidhan008/SLAM-Former
## Basic Information
- **Project Name**: SLAM-Former
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: BSD-3-Clause
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-08-21
- **Last Updated**: 2026-08-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
SLAM-Former: Putting SLAM into One Transformer

[Yijun Yuan](https://jarrome.github.io), [Zhuoguang Chen](https://zgchen33.github.io), [Kenan Li](https://connorkevin.github.io), [Weibang Wang](https://William-Wang-1009.github.io), [Minghui Qin](), [Zhijian Fang](), [Weicheng Zheng](https://wczheng.github.io/), [Hang Zhao](https://hangzhaomit.github.io)
IIIS, Tsinghua University
**ECCV 2026**
```bibtex
@article{slam-former,
title={SLAM-Former: Putting SLAM into One Transformer},
author={Yijun Yuan, Zhuoguang Chen, Kenan Li, Weibang Wang, Minghui Qin, Zhijian Fang, Weicheng Zheng, and Hang Zhao},
journal={arXiv preprint arXiv:2509.16909},
year={2025}
}
```
### Updates
* [Aug 8, 2026] We release another SLAM Transformer: [SLAMFormer-∞ ](https://tsinghua-mars-lab.github.io/SLAMFormer-Infinity/). Some awesome blog can help you read: [here](https://mp.weixin.qq.com/s/XSvOMV33E0aTCVm_j8Vnxw).
* [June 18, 2026] SLAM-Former was accepted to ECCV 2026.
* [May 11, 2026] Added two ConvHead checkpoint variants. `V1.1.pth` is recommended with `--target_size 518`; `V1.1-long.pth` is recommended with `--target_size 224`. `V1.1-long.pth` is trained with scaled sequence lengths and supports longer-sequence inference. ConvHead mainly fixes the grid artifact issue. Thanks to Pi3X for the insight.
* [Mar 11, 2026] Released training code. See the [training branch](https://github.com/Tsinghua-MARS-Lab/SLAM-Former/tree/training) for details.
* [Mar 4, 2026] Released SLAM code with KV pruning available.
* [Feb 26, 2026] Provides the training data.
* [Sep 24, 2025] Some good blogs can help you read SLAM-Former: [here](https://mp.weixin.qq.com/s/si5EVD1y-1kahadYCx0h8A) and [here](https://zhuanlan.zhihu.com/p/1954116490354721029).
* [Sep 23, 2025] Preprint release.
### Getting Started
#### 1. Clone SLAM-Former
```bash
git clone https://github.com/Tsinghua-MARS-Lab/SLAM-Former.git
cd SLAM-Former
```
#### 2. Create conda environment
```bash
conda create -n SLAM-Former python=3.11
conda activate SLAM-Former
```
#### 3. Install requirements
```bash
pip install -r requirements.txt
pip install -e .
```
### Running SLAM Demo
Download checkpoint: [v1](https://huggingface.co/Jarrome/SLAM-Former/resolve/main/518/checkpoint-10.pth.model)
Prepare a folder containing your image sequence, then run:
```bash
python slam/demo.py \
--ckpt_path .ckpt/checkpoint-10.pth.model \
--image_folder /path/to/your/images/ \
--output_dir ./output/result \
--target_size 518 \
--retention_ratio 0.5
```
For evaluation, please use 100% kv: ```--retention_ratio 1```. See [issue #15](https://github.com/Tsinghua-MARS-Lab/SLAM-Former/issues/15) for details.
### Visualization
**Real-time visualization** during inference: add `--vis` to the command above. The 3D reconstruction process can be viewed interactively in [Rerun](https://rerun.io/). This mode is intended for local machines with a desktop session; it is not recommended on remote servers because it depends on launching an interactive viewer during inference.
**Static visualization** of saved results: first run `slam/demo.py` without `--vis` to save `final.ply`, `final_traj.txt`, and `final_pc/`, then start the browser-based viewer:
```bash
python slam/visualize_results.py \
--result_dir /path/to/output_dir \
--port 8080
```
The static viewer serves an HTTP page at `http://localhost:8080`. This mode is recommended for remote servers: forward the port to your local machine, then open the forwarded URL in your browser.
```bash
ssh -L 8080:localhost:8080 user@remote-server
```
### Training Data
* **Links:**
* [Hugging Face](https://huggingface.co/datasets/KevinConnorLee/SLF/tree/main) (ARKitScenes, MVS-Synth, ScanNet, ScanNet++, Blended-MVS, MegaDepth)
* [Hugging Face](https://huggingface.co/datasets/KevinConnorLee/preprocessed_Hypersim/tree/main) (Hypersim)
### Checkpoint List
* [v1](https://huggingface.co/Jarrome/SLAM-Former) — recommended to use `--target_size 518` for inference.
* [V1.1.pth](https://huggingface.co/Jarrome/SLAM-Former/blob/main/518/V1.1.pth) — ConvHead checkpoint, recommended to use `--target_size 518` for inference.
* [V1.1-long.pth](https://huggingface.co/Jarrome/SLAM-Former/blob/main/224/V1.1-long.pth) — ConvHead checkpoint, recommended to use `--target_size 224` for inference; trained with scaled sequence lengths to support longer-sequence inference.
## License
This project adopts a dual-licensing strategy:
| Component | License | Commercial Use |
| :--- | :--- | :--- |
| **Code** | [BSD 3-Clause](LICENSE) | **Permitted** |
| **Model Weights** (checkpoints) | [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/) | **Strictly Non-Commercial** |