




















分析日期:2026-07-05
LingBot-Map 是由蚂蚁集团旗下具身智能公司"蚂蚁灵波科技"(Robbyant Team)开源的一个前馈式 3D 基础模型,专为流式(Streaming)3D 场景重建而设计。它基于 Geometric Context Transformer(GCT)架构,仅需一颗普通 RGB 摄像头,即可在视频采集过程中实时完成相机位姿估计与场景三维点云重建,无需激光雷达或复杂硬件 [1]。论文发表于 arXiv:2604.14141 [2]。
传统 SLAM 系统依赖手工设计的特征匹配和迭代优化,而 LingBot-Map 采用纯前馈架构,输入图像即可直接输出 3D 点云和相机位姿,无需任何后优化或测试时训练 [3]。
| 项目 | 详情 |
|---|---|
| 项目名称 | LingBot-Map |
| 项目地址 | https://github.com/Robbyant/lingbot-map |
| 项目官网 | https://technology.robbyant.com/lingbot-map |
| 论文地址 | https://arxiv.org/abs/2604.14141 |
| HuggingFace 模型 | https://huggingface.co/robbyant/lingbot-map |
| ModelScope 模型 | https://www.modelscope.cn/models/Robbyant/lingbot-map |
| 作者 | Robbyant Team(蚂蚁灵波科技),核心作者 Lin-Zhuo Chen、Jian Gao、Yihang Chen、Yao Yao、Yinghao Xu 等 |
| Stars | 8,700+(截至 2026 年 7 月) |
| 当前版本 | v0.1.0 |
| 开源协议 | Apache License 2.0 |
| 主要语言 | Python(深度学习框架基于 PyTorch) |
| 首次发布 | 2026 年 4 月 15 日(论文首次提交 arXiv),2026 年 4 月 16 日正式开源 |
项目官网提供了多个场景的交互式 3D 点云重建 Demo,包括:
GitHub README 中展示了多个场景的并排对比视频(输入视频 vs 输出点云),包括 courthouse、university、loop、oxford 等示例场景 [4]。
GCA 是 LingBot-Map 的核心技术创新,它维护三种互补的几何上下文,在统一注意力框架内端到端学习 [2]:
| 上下文类型 | 作用 | 设计理念 |
|---|---|---|
| Anchor Context | 为坐标和尺度接地提供参考帧 | 类似 SLAM 中的参考关键帧 |
| Pose-Reference Window | 保留最近 N 帧的稠密视觉特征,用于精确局部几何估计 | 类似 SLAM 中的局部窗口 |
| Trajectory Memory | 将完整观测历史压缩为紧凑的逐帧 token,用于全局一致性和漂移校正 | 类似 SLAM 中的全局地图 |
这三种上下文的设计灵感来自传统 SLAM 中"参考帧 + 局部窗口 + 全局地图"的三层空间上下文原则,但 LingBot-Map 首次将其以端到端可学习的注意力机制实现在 Transformer 架构中 [3]。
摒弃传统 SLAM 的迭代优化范式,采用纯前馈架构,输入图像即可直接输出 3D 点云和相机位姿。推理速度约 ~20 FPS,无需任何后优化或测试时训练 [3]。
集成 FlashInfer 库实现分页 KV 缓存机制,支持 10,000+ 帧超长序列下的稳定推理,内存和计算量几乎恒定,不会随序列长度增长而爆炸 [4]。
采用渐进式训练 + 上下文并行(Context Parallelism)+ 相对损失函数,实现大规模长序列的稳定训练 [3]。
| 对比维度 | LingBot-Map | CUT3R | StreamVGGT/Stream3R | LoGeR/Scal3R/ZipMap |
|---|---|---|---|---|
| 架构 | GCT(三种几何上下文) | RNN 循环状态 | 因果注意力 + 缓存 | 滑动窗口 + TTT |
| 状态管理 | 结构化选择(学习哪些信息保留) | 激进压缩,易遗忘 | 保留几乎全部历史,冗余 | 测试时训练更新参数 |
| 长序列 | 10,000+ 帧,恒定内存 | 易状态遗忘 | 内存/计算量快速增长 | 需要测试时参数更新 |
| 推理速度 | ~20 FPS | — | — | 有额外计算开销 |
| 是否需要后优化 | 否 | 否 | 否 | 需要 TTT |
在 9 个基准数据集(ETH3D、7-Scenes、TUM RGB-D、Neural RGB-D、Oxford Spires、KITTI、VBR、DROID-W、Tanks and Temples)上均取得优于现有流式方法和迭代优化方法的性能 [4]。
| 项目 | 要求 |
|---|---|
| GPU | 支持 CUDA 的 NVIDIA GPU,推荐显存 >= 8GB(处理长序列建议 >= 16GB) |
| 输入设备 | 普通 RGB 摄像头或视频文件 |
| 存储 | 模型权重约 4.63 GB |
| 平台 | 支持状态 |
|---|---|
| Linux | 完整支持(推荐,主要测试平台) |
| Windows | 理论上支持,需 CUDA 环境 |
| 依赖 | 版本要求 |
|---|---|
| Python | >= 3.10(推荐 3.10) |
| PyTorch | 2.8.0 或 2.9.1(推荐 CUDA 12.8) |
| torchvision | 0.23.0(PyTorch 2.8)或 0.24.1(PyTorch 2.9) |
| FlashInfer | 推荐安装(Paged KV Cache 加速) |
| 核心依赖 | Pillow、opencv-python、tqdm、scipy、einops、safetensors、huggingface_hub |
| 可视化依赖(可选) | viser、trimesh、matplotlib、onnxruntime、requests |
| 渲染依赖(可选) | open3d、pyyaml、kaolin、ffmpeg |
提供 3 个模型版本:
| 模型 | 说明 |
|---|---|
lingbot-map-long |
推荐,适合长序列和大场景 |
lingbot-map |
平衡版,通用场景 |
lingbot-map-stage1 |
第一阶段训练检查点,可加载到 VGGT 模型中进行双向推理 |
# 1. 创建环境
conda create -n lingbot-map python=3.10 -y
conda activate lingbot-map
# 2. 安装 PyTorch
pip install torch==2.9.1 torchvision==0.24.1 --index-url https://download.pytorch.org/whl/cu128
# 3. 安装 LingBot-Map
git clone https://github.com/Robbyant/lingbot-map.git
cd lingbot-map
pip install -e .
# 4. 安装 FlashInfer(推荐,Paged KV Cache 加速)
pip install flashinfer-python -i https://flashinfer.ai/whl/cu128/torch2.9/
# 5. 可视化依赖(可选)
pip install -e ".[vis]"
# 6. 运行 Demo
python demo.py
lingbot-map/
├── lingbot_map/ # 核心代码包
│ ├── models/ # 模型定义
│ │ ├── gct_stream.py # 流式推理模型(GCTStream)
│ │ ├── gct_stream_window.py # 窗口化推理模型(GCTStreamWindow)
│ │ └── gct_base.py # GCT 基础模块
│ ├── utils/ # 工具函数
│ │ ├── pose_enc.py # 位姿编解码(pose_encoding_to_extri_intri)
│ │ ├── geometry.py # 几何运算(SE3 逆变换、闭式逆等)
│ │ └── load_fn.py # 图像加载与预处理
│ ├── vis/ # 可视化模块(基于 viser 的 3D 点云查看器)
│ └── ...
├── benchmark/ # 评估基准框架
│ ├── configs/ # 配置文件(数据集、方法、基准配置)
│ ├── datasets/ # 数据集适配器
│ │ ├── eth3d.py # ETH3D 数据集
│ │ ├── kitti.py # KITTI 数据集
│ │ ├── oxford.py # Oxford Spires 数据集
│ │ ├── tum.py # TUM RGB-D 数据集
│ │ └── ... # 其他 6 个数据集适配器
│ ├── prepare.py # 数据准备
│ ├── run.py # 运行推理
│ ├── evaluate.py # 评估指标计算(ATE/RPE/深度图/点云)
│ └── viewer.py # 3D 结果查看器
├── demo_render/ # 离线渲染管线
│ ├── batch_demo.py # 批量离线渲染入口
│ ├── render_cuda_ext/ # CUDA 扩展
│ │ ├── voxelization.py # 体素化(Morton 编码)
│ │ └── frustum_culling.py # 视锥剔除
│ └── config/ # 渲染配置
├── preprocess/ # 数据预处理脚本
│ └── oxford.py # Oxford Spires 数据集预处理
├── scripts/ # 辅助脚本
├── example/ # 示例场景
│ ├── courthouse/ # 法院场景
│ ├── university/ # 大学场景
│ ├── loop/ # 回环场景
│ └── oxford/ # 牛津场景
├── assets/ # 资源文件
├── demo.py # 交互式演示入口
├── gct_profile.py # 性能分析工具
├── pyproject.toml # 项目配置
├── lingbot-map_paper.pdf # 论文 PDF
└── README.md # 项目文档
lingbot_map/models/)包含 GCTStream(流式模式)和 GCTStreamWindow(窗口模式)两个主要模型类。模型基于 DINOv2 作为图像编码器(ViT backbone),通过交替的 Frame Attention 和 Geometric Context Attention 层处理图像特征,最终由任务特定的头部(Camera Head、Depth Head、Point Head)预测相机位姿和深度图 [4]。
核心设计要点:
benchmark/)完整的评估基准框架,支持 10 个数据集的全流程评估:
prepare(数据准备) → run(运行推理) → evaluate(评估指标计算) → report(生成报告)
支持多种评估方式:轨迹评估(ATE/RPE)、相机位姿 AUC、深度图指标、点云指标等。
demo_render/)用于超长序列(如 25,000 帧、13 分钟室内漫游)的批量渲染。包含 CUDA 扩展(体素 Morton 编码、视锥剔除),使用 NVIDIA Kaolin 进行渲染。
lingbot_map/vis/)基于 viser 的 3D 点云交互式查看器,支持实时可视化重建结果、相机轨迹、点云渲染。
demo.py)# 模型构建 - 支持流式和窗口两种模式
if getattr(args, "mode", "streaming") == "windowed":
from lingbot_map.models.gct_stream_window import GCTStream
else:
from lingbot_map.models.gct_stream import GCTStream
model = GCTStream(
img_size=args.image_size, # 图像尺寸 518
patch_size=args.patch_size, # Patch 大小 14
enable_3d_rope=args.enable_3d_rope, # 3D 旋转位置编码
max_frame_num=args.max_frame_num, # 最大帧数 1024
kv_cache_sliding_window=args.kv_cache_sliding_window, # KV 缓存滑动窗口
kv_cache_scale_frames=args.num_scale_frames, # 双向缩放帧数
use_sdpa=args.use_sdpa, # 是否使用 SDPA 回退
camera_num_iterations=args.camera_num_iterations, # 相机头迭代次数
)
模型支持流式模式和窗口模式两种推理方式,通过 max_frame_num 控制最大帧数,kv_cache_sliding_window 实现 Paged KV Cache 以支持超长序列。
demo.py)# 流式推理
with torch.no_grad(), torch.amp.autocast("cuda", dtype=dtype):
if args.mode == "streaming":
# 流式模式:逐帧或逐批输入,维持 KV 缓存
predictions = model.inference_streaming(
images,
num_scale_frames=args.num_scale_frames,
keyframe_interval=args.keyframe_interval,
output_device=output_device,
)
else: # windowed
# 窗口模式:分段处理长序列
predictions = model.inference_windowed(
images,
window_size=args.window_size,
overlap_size=args.overlap_size,
num_scale_frames=args.num_scale_frames,
output_device=output_device,
)
# 后处理:将位姿编码转换为外参矩阵(c2w)
extrinsic, intrinsic = pose_encoding_to_extri_intri(
predictions["pose_enc"], images.shape[-2:]
)
# w2c -> c2w 转换(世界坐标系到相机坐标系的逆变换)
extrinsic_4x4 = closed_form_inverse_se3_general(extrinsic_4x4)
流式推理维持 KV 缓存,支持逐帧实时处理;窗口模式将长序列分段处理,窗口间有重叠以保证连续。后处理将模型输出的位姿编码转换为标准的外参矩阵。
# 伪代码:GCA 的三种上下文注意力机制
class GeometricContextAttention:
def forward(self, current_frame_features, kv_cache):
# 1. Anchor Context:从 kv_cache 中检索参考帧
anchor_features = kv_cache.get_anchor_frames()
# 2. Pose-Reference Window:保留最近 N 帧的稠密特征
window_features = kv_cache.get_recent_frames(window_size=N)
# 3. Trajectory Memory:压缩的历史轨迹 token
trajectory_tokens = kv_cache.get_trajectory_memory()
# 在统一注意力框架内融合三种上下文
# 通过端到端学习的注意力权重自适应选择
output = unified_attention(
query=current_frame_features,
keys=[anchor_features, window_features, trajectory_tokens],
values=[anchor_features, window_features, trajectory_tokens],
)
return output
GCA 是 LingBot-Map 的核心创新。三种上下文分别对应传统 SLAM 中的参考帧、局部窗口和全局地图,通过端到端学习自动决定每个时刻应该关注哪些历史信息,实现了结构化状态管理 [3]。
lingbot_map/utils/pose_enc.py)def pose_encoding_to_extri_intri(pose_enc, image_shape):
"""
将模型输出的位姿编码转换为相机外参和内参矩阵
Args:
pose_enc: 模型输出的位姿编码张量
image_shape: 输入图像的 (H, W)
Returns:
extrinsic: 相机外参矩阵 (B, 4, 4),世界到相机变换
intrinsic: 相机内参矩阵 (B, 3, 3)
"""
# 解码位姿编码为旋转和平移
R, t = decode_pose_encoding(pose_enc)
# 构建 4x4 外参矩阵
extrinsic = build_extrinsic_matrix(R, t)
# 根据图像尺寸计算内参(焦距等)
intrinsic = compute_intrinsic_from_shape(image_shape)
return extrinsic, intrinsic
位姿编解码模块负责将模型输出的紧凑位姿表示转换为标准的相机外参/内参矩阵,是连接模型输出和下游应用的关键桥梁。
| 场景 | 说明 |
|---|---|
| 室内移动机器人建图与导航 | 机器人搭载摄像头实时采集视频流,实时生成稠密 3D 点云地图,即使在纹理缺失或光照突变场景下也能保持稳定建图 [5] |
| 文化遗产快速数字化存档 | 工作人员手持手机/相机围绕古迹拍摄视频,即可快速生成高保真 3D 点云模型,极大降低数字化门槛 [5] |
| 自动驾驶实时场景感知 | 利用车载摄像头作为输入,以 ~20 FPS 实时输出稠密 3D 结构,作为激光雷达的有效补充 [5] |
| AR/VR 空间计算 | 实时构建用户周围环境的三维地图,为增强现实应用提供空间锚定 |
| 无人机航拍 3D 建模 | 航拍视频流实时重建大范围场景(项目官网展示有航拍场景 Demo) |
| 具身智能机器人感知 | 为机器人提供实时 3D 环境理解能力,支撑导航、抓取等任务 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。