好的,这是您要求的英文文章的中文翻译,已按照规范处理为 Markdown 格式。
Robbyant lingbot-map
LingBot-Map: Geometric Context Transformer for Streaming 3D Reconstruction
Robbyant Team teaser.mp4
🗺️ 认识 LingBot-Map!我们构建了一个用于流式 3D 重建的前馈式 3D 基础模型!🏗️🌍
LingBot-Map 专注于:
- Geometric Context Transformer:在架构上,通过 anchor context、pose-reference window 和 trajectory memory,将坐标定位、密集几何线索和长程漂移校正统一在单个流式框架中。
- 高效流式推理:一种采用分页 KV 缓存注意力的前馈式架构,能够在 518×378 分辨率下,对超过 10,000 帧的长序列实现约 20 FPS 的稳定推理。
- 最先进的重建效果:与现有的流式方法和基于迭代优化的方法相比,在多种基准测试中均表现出卓越性能。
📑 目录
点击展开
📰 新闻
📋 待办事项
⚙️ 安装
📦 模型下载
🚀 快速开始
🎬 交互式演示 (demo.py)
- 尝试示例场景
- 使用关键帧间隔进行流式处理
- 窗口推理(适用于长序列,>3000帧)
- 天空遮罩
- 可视化选项
- 性能与内存
🎥 离线渲染管线 (demo_render/batch_demo.py)
📜 许可证
📖 引用
✨ 致谢
📰 新闻
- 2026-06-28 — 修复了一个 SDPA KV 缓存错误。现在 SDPA 后端在长序列上表现更好。我们仍推荐使用 FlashInfer 后端以获得最佳性能。
- 2026-05-25 — 📊 评估基准发布。我们发布了 KITTI 和 Oxford Spires 的评估脚本——请参阅
benchmark/目录下的流程,并在评估前运行preprocess/oxford.py来准备 Oxford Spires 数据。 - 2026-04-29 — 📹 长视频演示发布。我们发布了一个使用离线管线渲染的超长视频示例(约 25,000 帧,13 分钟室内漫游)——请参阅“工作示例”以了解命令、参数说明和渲染输出。
- 2026-04-27 — 🚀 LingBot-Map 加速。拉取最新的
main分支,并运行python demo.py --compile ...或python gct_profile.py --backend flashinfer --dtype bf16 --compile以在您的硬件上进行验证。 - 2026-04-24 — 修复了一个 FlashInfer KV 缓存错误,该错误导致当
--keyframe_interval > 1时,非关键帧被静默缓存。现在,当运行超过 320 帧时,您应该会看到更好的姿态和重建质量。
📋 待办事项
- ✅ 发布评估基准
- ✅ Oxford Spires 数据集
- ✅ KITTI 数据集
- ✅ VBR 数据集
- ✅ Droid-W 数据集
- ✅ TUM-D 数据集
- ✅ 7-scenes 数据集
- ✅ ETH3D 数据集
- ✅ Tanks and Temples 数据集
- ✅ NRGBD 数据集
- ✅ 发布演示脚本
- ✅ 室内长视频演示(特色室内漫游)
- ✅ 室外长视频演示
- ✅ LingBot-World 演示(工作示例)
- ✅ 航拍长视频演示
⚙️ 安装
- 创建 conda 环境
- 安装 PyTorch (CUDA 12.8)
conda create -n lingbot-map python=3.10 -y
conda activate lingbot-map
pip install torch==2.8.0 torchvision==0.23.0 --index-url https://download.pytorch.org/whl/cu128
PyTorch 2.8.0 是推荐版本,因为 NVIDIA Kaolin(批处理渲染管线所需)有针对 torch-2.8.0_cu128 的预编译 wheel。如果您只需要 demo.py,可以使用更新的 PyTorch,但批处理渲染器则需要从源码编译 Kaolin。对于其他 CUDA 版本,请参阅 PyTorch 入门指南。
- 安装 lingbot-map
- 安装 FlashInfer(推荐)
pip install -e .
FlashInfer 提供分页 KV 缓存注意力,用于高效的流式推理。它是一个纯 Python 包,在首次使用时通过 JIT 编译 CUDA 内核,因此单个 wheel 可以跨 CUDA/PyTorch 版本使用:
pip install --index-url https://pypi.org/simple flashinfer-python
--index-url https://pypi.org/simple 仅在您的默认 pip 索引是没有 flashinfer-python 的内部镜像时才需要。
(可选)为了加快首次使用速度,您还可以安装特定 CUDA 版本的 JIT 缓存:
pip install flashinfer-jit-cache -f https://flashinfer.ai/whl/cu128/flashinfer-jit-cache/
详情请参阅 FlashInfer 安装指南。
如果未安装 FlashInfer,模型将通过 --use_sdpa 回退到 SDPA(PyTorch 原生注意力)。
- 可视化依赖项(可选)
pip install -e ".[vis]"
📦 模型下载
| 模型名称 | Huggingface 仓库 | ModelScope 仓库 | 描述 | | :--- | :--- | :--- | :--- | | lingbot-map-long | robbyant/lingbot-map | Robbyant/lingbot-map | 更适合长序列和大规模场景。 | | lingbot-map | robbyant/lingbot-map | Robbyant/lingbot-map | 平衡检查点(论文、基准测试和离线演示中使用)——在短序列和长序列之间权衡综合性能。 | | lingbot-map-stage1 | robbyant/lingbot-map | Robbyant/lingbot-map | lingbot-map 的阶段一训练检查点——可以加载到 VGGT 模型中进行双向推理 (c2w)。 |
🚧 即将推出:我们正在训练一个支持更长序列的更强模型——敬请期待。
🚀 快速开始
安装完成后,使用一条命令运行您的第一个场景:
python demo.py --model_path /path/to/lingbot-map-long.pt \
--image_folder example/courthouse --mask_sky
这将启动一个交互式 viser 查看器,地址为 http://localhost:8080。请参阅下面的“交互式演示”以获取完整的场景和参数列表,或跳转到“离线渲染管线”以进行长序列批处理渲染。
🎬 交互式演示 (demo.py)
运行 demo.py 可通过基于浏览器的 viser 查看器(默认 http://localhost:8080)进行交互式 3D 可视化。
尝试示例场景
我们在 example/ 中提供了四个示例场景,您可以开箱即用: