






https://github.com/user-attachments/assets/fe39e095-af2c-4ec9-b68d-a8ba97e505ab
🗺️ 遇见 LingBot-Map!我们构建了一个用于流式3D重建的前馈3D基础模型!🏗️🌍
LingBot-Map 专注于:
- 几何上下文变换器:通过锚点上下文、姿态参考窗口和轨迹记忆,在单一流式框架内统一坐标定位、密集几何线索和长距离漂移校正。
- 高效流式推理:采用分页KV缓存注意力的前馈架构,在超过10,000帧的长序列上,以约20 FPS的速度稳定推理518×378分辨率。
- 最先进的重建技术:与现有的流式和基于迭代优化的方法相比,在多样化基准测试中表现卓越。
⚙️ 快速开始
安装
1. 创建 conda 环境
bash
conda create -n lingbot-map python=3.10 -y
conda activate lingbot-map
2. 安装 PyTorch (CUDA 12.8)
bash
pip install torch==2.9.1 torchvision==0.24.1 --index-url https://download.pytorch.org/whl/cu128
对于其他CUDA版本,请参阅PyTorch入门指南。
3. 安装lingbot-map
bash
pip install -e .
4. 安装 FlashInfer(推荐)
FlashInfer 提供分页 KV 缓存注意力机制,可实现高效的流式推理:
bash
# CUDA 12.8 + PyTorch 2.9
pip install flashinfer-python -i https://flashinfer.ai/whl/cu128/torch2.9/
对于其他CUDA/PyTorch版本组合,请参阅FlashInfer安装指南。
如果未安装FlashInfer,模型将通过
--use_sdpa参数回退到SDPA(PyTorch原生注意力机制)。
5. 可视化依赖项(可选)
bash
pip install -e ".[vis]"
📦 模型下载
| 模型名称 | Huggingface 仓库 | ModelScope 仓库 | 描述 |
|---|---|---|---|
| lingbot-map | robbyant/lingbot-map | Robbyant/lingbot-map | 基础模型检查点 (4.63 GB) |
🎬 演示
从图像进行流式推理
bash
python demo.py --model_path /path/to/checkpoint.pt \
--image_folder /path/to/images/
视频流式推理
bash
python demo.py --model_path /path/to/checkpoint.pt \
--video_path video.mp4 --fps 10
关键帧间隔流式处理
使用 --keyframe_interval 参数,通过仅保留每第N帧作为关键帧来减少KV缓存内存。非关键帧仍会生成预测,但不会被存储在缓存中。此功能适用于超过320帧的长序列。
bash
python demo.py --model_path /path/to/checkpoint.pt \
--image_folder /path/to/images/ --keyframe_interval 6
窗口化推理(针对长序列,>3000帧)
bash
python demo.py --model_path /path/to/checkpoint.pt \
--video_path video.mp4 --fps 10 \
--mode windowed --window_size 64
Sky Masking
Sky Masking采用ONNX天空分割模型,从重建的点云中过滤掉天空点,从而提升户外场景的可视化质量。
配置:
bash
# Install onnxruntime (required)
pip install onnxruntime # CPU
# or
pip install onnxruntime-gpu # GPU (faster for large image sets)
天空分割模型 (skyseg.onnx) 将在首次使用时从 HuggingFace 自动下载。
用法:
bash
python demo.py --model_path /path/to/checkpoint.pt \
--image_folder /path/to/images/ --mask_sky
Sky Masks缓存在 <image_folder>_sky_masks/ 文件夹中,以便后续运行时跳过重新生成步骤。
未启用 FlashInfer(使用 SDPA 后备方案)
bash
python demo.py --model_path /path/to/checkpoint.pt \
--image_folder /path/to/images/ --use_sdpa
📜 许可证
本项目采用 Apache 2.0 许可证发布。详见 LICENSE 文件。
📖 引用
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}
}
✨ 致谢
我们感谢Shangzhan Zhang, Jianyuan Wang, Yudong Jin, Christian Rupprecht和Xun Cao提供的宝贵讨论与支持。
本工作基于多个优秀的开源项目构建: