单卡跑公里级轨迹,AMB3R-SLAM把VBR误差砍掉七成

AMB3R-SLAM: Kilometer-scale SLAM with Hierarchical Backend

Hengyi Wang, Lourdes Agapito

cs.CV, cs.RO

2026-09-17

UCL的AMB3R-SLAM用轻量前端加分层后端在单卡上跑超1万帧的公里级单目轨迹,VBR平均ATE从26.65米降到7.42米,动态场景不用特化,加激光雷达可到亚米。

这篇在解决什么

几何基础模型一次看几十张图、双向注意,重建质量高,但视觉 SLAM 要的是流式、低延迟、显存不随轨迹涨。因果注意和递归压缩能把速度拉平,局部精度和漂移对掉。AMB3R-VO 已经在一小撮活跃关键帧里做满双向注意,可它仍是里程计,没有全局约束,公里级必漂。

AMB3R-SLAM 把这条 VO 接到分层后端上:重叠子图修局部,稀疏长上下文补中程,回环收全局。刻意不做依赖「世界静止」的光束法平差,动态场景不用另开一条流水线。立体、RGB-D、激光雷达可以后接进来。

方法

前端用 80M 的 DA3-Small。每帧只拿锚点关键帧加最近两帧估位姿,尺度用鲁棒求解器。前端置信度给后端挑帧,后端结果再回头钉住前端,把局部漂移清掉。KITTI 上前端窗口内旋转误差 1.41、相对 ATE 4.43%,约 78 FPS。

后端每隔 Δ 帧建一张长度为 n 的稠密子图,Δ = n/3,所以每张图和邻居、隔一张的邻居都重叠,自然长出跨 2 条边。子图内按时间分组,只重建每组里置信最高的帧,中间位姿插值。大模型看这些上下文,子图中帧当参考。每隔 M 张子图再开一个覆盖 K 张子图的稀疏长窗口,抽出 |i−j|≥3 的 Sim(3) 边,置信和共视不够就丢掉。回环用 DBoW2 提案,基础模型联合重建加体素占用重叠做几何核验,旋转平移修正离谱的边直接滤掉。

位姿图在关键帧 Sim(3) 上优化。平移残差按边的基线白化,长边不会靠绝对米数压倒短边,Huber 压异常。立体和 RGB-D 把子图尺度钉到米制,图从 Sim(3) 收到 SE(3)。激光雷达用 ICP 当相对测量,回环先由基础模型给初值再 ICP,边权按内点 RMSE 平方反比。

结果

九个数据集,从桌面几米到 5 公里城市驾驶。

设置本方法此前线上最好
KITTI 单目平均 ATE13.11 mLoGeR 18.65 m
VBR 单目7.42 m(Ω 后端 7.15)LingBot-Map 26.65 m,降约 72%
Oxford Spires2.32 m(Ω 2.08)LoGeR 8.59 m,降约 73%
TUM RGB-D2.3 cmAMB3R-VO 3.2 cm
Bonn 动态1.3 cmWildGS-SLAM 2.3 cm
KITTI + 激光雷达0.95 mPIN-SLAM 1.22 m
VBR + 激光雷达0.36 mPIN-SLAM 0.81 m

室内 ETH3D 的 AUC@5 cm 从 ViPE 的 38.7% 到 44.0%。EuRoC 快无人机上 AUC@5 cm 20.3,离线 VidMap 只有 11.5。Bonn 八条动态序列全部第一,没有做运动分割。

RTX 4090 上单目 10.2–17.6 FPS,激光雷达 31.3–47.8 FPS,峰值显存 10–14 GB,不随序列变长。消融里去掉回环,VBR 全轨迹窗口 AUC 从 90.39% 掉到 42.02%;去掉长上下文,50–1000 米窗口变差;去掉白化全面退步。KITTI-01 这种高速公路、纹理少的 2.5 公里,单目仍 55.91 m,激光雷达收到 2.95 m。

为什么重要

这是把前馈几何模型从「能跑 VO」推到「能跑公里级 SLAM」的系统论文,数字幅度够大,不是微调几个厘米。对做机器人的人,单卡 10 FPS 加显存封顶是能装的配置;动态场景不用另训分割,省一条工程。激光雷达版本说明基础模型更适合当回环初值,不是取代 ICP。

局限与存疑

地图是点云,回环处会重影、重复表面,没有统一的紧致表面。多传感器只在图优化层接入,底层模型仍只吃 RGB。KITTI-01 单目仍然崩。Ω 后端在 Oxford 和 VBR 上更好,默认 DA3 巨模型不是处处最优。实时依赖窗口和采样超参,文中没有系统扫。没有和带闭环的传统视觉惯性系统在同一公里级设定下直接比功耗。

术语

原文与代码

社区讨论

相关论文

全部论文解读