| --- |
| license: apache-2.0 |
| pipeline_tag: image-to-3d |
| --- |
| |
| <div align="center"> |
| <img src="assets/teaser.png" width="100%"> |
|
|
| <h1>LingBot-Map: Geometric Context Transformer for Streaming 3D Reconstruction</h1> |
|
|
| Robbyant Team |
|
|
| </div> |
|
|
| <div align="center"> |
|
|
| [](https://huggingface.co/papers/2604.14141) |
| [](lingbot-map_paper.pdf) |
| [](https://technology.robbyant.com/lingbot-map) |
| [](https://huggingface.co/robbyant/lingbot-map) |
| [](https://www.modelscope.cn/models/Robbyant/lingbot-map) |
| [](LICENSE.txt) |
|
|
| </div> |
|
|
| https://github.com/user-attachments/assets/fe39e095-af2c-4ec9-b68d-a8ba97e505ab |
|
|
| ----- |
|
|
| ### πΊοΈ Meet LingBot-Map! We've built a feed-forward 3D foundation model for streaming 3D reconstruction! ποΈπ |
|
|
| LingBot-Map is a feed-forward 3D foundation model for reconstructing scenes from streaming data, built upon a geometric context transformer (GCT) architecture. |
|
|
| Key features include: |
| - **Geometric Context Transformer**: Architecturally unifies coordinate grounding, dense geometric cues, and long-range drift correction within a single streaming framework through anchor context, pose-reference window, and trajectory memory. |
| - **High-Efficiency Streaming Inference**: A feed-forward architecture with paged KV cache attention, enabling stable inference at ~20 FPS on 518Γ378 resolution over long sequences exceeding 10,000 frames. |
| - **State-of-the-Art Reconstruction**: Superior performance on diverse benchmarks compared to both existing streaming and iterative optimization-based approaches. |
|
|
| --- |
|
|
| # βοΈ Quick Start |
|
|
| ## Installation |
|
|
| **1. Create conda environment** |
|
|
| ```bash |
| conda create -n lingbot-map python=3.10 -y |
| conda activate lingbot-map |
| ``` |
|
|
| **2. Install PyTorch (CUDA 12.8)** |
|
|
| ```bash |
| pip install torch==2.9.1 torchvision==0.24.1 --index-url https://download.pytorch.org/whl/cu128 |
| ``` |
|
|
| **3. Install lingbot-map** |
|
|
| ```bash |
| pip install -e . |
| ``` |
|
|
| **4. Install FlashInfer (recommended)** |
|
|
| FlashInfer provides paged KV cache attention for efficient streaming inference: |
|
|
| ```bash |
| # CUDA 12.8 + PyTorch 2.9 |
| pip install flashinfer-python -i https://flashinfer.ai/whl/cu128/torch2.9/ |
| ``` |
|
|
| # π¬ Demo |
|
|
| ### Streaming Inference from Images |
|
|
| ```bash |
| python demo.py --model_path /path/to/checkpoint.pt \ |
| --image_folder /path/to/images/ |
| ``` |
|
|
| ### Streaming Inference from Video |
|
|
| ```bash |
| python demo.py --model_path /path/to/checkpoint.pt \ |
| --video_path video.mp4 --fps 10 |
| ``` |
|
|
| ### Streaming with Keyframe Interval |
|
|
| Use `--keyframe_interval` to reduce KV cache memory by only keeping every N-th frame as a keyframe. |
|
|
| ```bash |
| python demo.py --model_path /path/to/checkpoint.pt \ |
| --image_folder /path/to/images/ --keyframe_interval 6 |
| ``` |
|
|
| ### Sky Masking |
|
|
| Sky masking filters out sky points from the reconstructed point cloud. |
|
|
| **Setup:** |
|
|
| ```bash |
| pip install onnxruntime |
| ``` |
|
|
| **Usage:** |
|
|
| ```bash |
| python demo.py --model_path /path/to/checkpoint.pt \ |
| --image_folder /path/to/images/ --mask_sky |
| ``` |
|
|
| # π License |
|
|
| This project is released under the Apache License 2.0. See [LICENSE](LICENSE.txt) file for details. |
|
|
| # π Citation |
|
|
| ```bibtex |
| @article{chen2026geometric, |
| title={Geometric Context Transformer for Streaming 3D Reconstruction}, |
| author={Chen, Lin-Zhuo and Gao, Jian and Chen, Yihang and Cheng, Ka Leong and Sun, Yipengjing and Hu, Liangxiao and Xue, Nan and Zhu, Xing and Shen, Yujun and Yao, Yao and Xu, Yinghao}, |
| journal={arXiv preprint arXiv:2604.14141}, |
| year={2026} |
| } |
| ``` |
|
|
| # β¨ Acknowledgments |
|
|
| This work builds upon several open-source projects: |
| - [VGGT](https://github.com/facebookresearch/vggt) |
| - [DINOv2](https://github.com/facebookresearch/dinov2) |
| - [Flashinfer](https://github.com/flashinfer-ai/flashinfer) |