Robbyant/lingbot-map
[ECCV 2026 Best Paper Award Candidate] LingBot-Map: Geometric Context Transformer for Streaming 3D Reconstruction
LingBot‑Map:用于流式重建的前馈3D基础模型
是什么
LingBot‑Map 是一个研究级的前馈神经网络,能够在视频流式传输过程中从视频(或图像文件夹)重建3D场景。它整合了NeRF风格管道中通常分开的三个思想:
- 几何-上下文Transformer – 一种联合推理相机位姿、密集几何和长距离漂移的Transformer。作者通过三种机制实现:锚点上下文、位姿参考窗口 和 轨迹记忆。
- 分页KV缓存注意力(通过FlashInfer库) – 使模型能够保持过去帧的紧凑记忆,即使处理数万帧,推理速度仍保持快速(518×378图像下约20 fps)。
- 流式优先设计 – 模型仅通过一次前向传播运行;没有迭代优化循环反复访问早期帧。
结果是,可实时在浏览器中可视化3D点云重建,或离线渲染为视频。
谁会用到它
- 需要从移动摄像头实时进行场景映射的 机器人/AR开发者。
- 想将流式重建方法与经典优化驱动的SLAM或NeRF管道进行比较的 研究人员。
- 希望将长视频 walkthrough 转换为3D点云而无需重型后期处理的 内容创作者。
快速开始(来自README)
- 创建conda环境,并安装项目推荐的精确PyTorch版本(torch 2.8.0 + CUDA 12.8)。版本很重要,因为NVIDIA Kaolin渲染轮子是为此版本构建的。
- 安装包
pip install -e . - (可选)安装FlashInfer – 这将提供快速的分页KV缓存。跳过它则代码会回退到PyTorch的原生SDPA注意力。
- 从HuggingFace或ModelScope链接下载检查点(例如
robbyant/lingbot-map)。 - 在提供的场景之一上运行演示:
在python demo.py --model_path /path/to/lingbot-map.pt \ --image_folder example/courthouse --mask_skyhttp://localhost:8080打开Visor查看器,显示实时点云重建。
主要功能(如README所述)
| 功能 | 作用 | 如何启用/调整 |
|---|---|---|
| 几何上下文Transformer | 统一坐标定位、密集几何线索和漂移校正。 | 内部处理;只需选择一个检查点。 |
| 分页KV缓存(FlashInfer) | 仅在内存中保留选定的关键帧,支持超过10,000帧的流以约20 fps运行。 | --keyframe_interval N(每N帧存储一次)。使用 --backend flashinfer 以获得最佳速度。 |
| 窗口化推理 | 当序列超过训练范围(约320帧)时,滑动固定大小的内存窗口。 | --mode windowed --window_size 128 --overlap_keyframes 8。 |
| 天空遮罩 | 使用ONNX天空分割模型移除天空点,改善户外重建。 | 安装 onnxruntime 并添加 --mask_sky(模型自动下载)。 |
| 相机位姿优化 | 迭代优化每帧位姿;默认4次迭代。 | 为提升速度可减少为 --camera_num_iterations 1。 |
| 离线渲染管道 | 为非常长的视频生成无头MP4格式的重建点云。 | 运行 demo_render/batch_demo.py 并使用YAML配置或显式标志。 |
| 可视化选项 | 点大小、置信度阈值、下采样、端口等。 | 使用 --point_size、--conf_threshold 等标志。 |
项目中的示例用例
- 室内漫游:25,000帧(13分钟)使用滑动窗口设置离线渲染。
- 动态序列(Droid-W):展示模型处理移动物体;演示了天空遮罩和stride-2采样。
- 闭环轨迹:一个闭环场景,模型可在无显式优化的情况下闭合回路。
安装时需注意的细节
- 离线渲染器使用的预编译Kaolin轮子需要 精确的PyTorch 2.8.0 + CUDA 12.8 构建。使用更新的PyTorch可用于交互式演示,但需从源码构建Kaolin。
- FlashInfer 是纯Python包,首次使用时会JIT编译CUDA内核;首次运行可能需要几秒钟。
- 天空遮罩模型(
skyseg.onnx)会自动从HuggingFace下载;请确保网络连接或手动放置文件。 - 对于GPU内存受限的机器,可:
- 使用
--offload_to_cpu(默认)将每帧预测移出GPU。 - 减少
--num_scale_frames(默认8)以缩小初始激活峰值。
- 使用
更多信息获取途径
- 论文(会议版本) – 链接在README顶部的徽章中。
- 技术报告(arXiv) – 提供完整的算法细节。
- 项目网站 – 包含额外视频和基准测试。
- 评估脚本 – 位于
benchmark/目录,支持KITTI、牛津尖塔等数据集。
TL;DR
LingBot‑Map 是一个以流式优先的3D重建Transformer,支持实时运行,通过分页KV缓存支持极长视频流,并附带演示脚本、预训练检查点和离线渲染器。它是AI驱动3D重建领域的一个真实研究项目。
相关
- 项目
- 项目
- 项目
- 项目