三层几何上下文让万帧流式3D重建跑到20FPS、ATE 5.37

LingBot-Map: Geometric Context Transformer for Streaming 3D Reconstruction

Lin-Zhuo Chen, Jian Gao, Shangzhan Zhang, Yihang Chen, Ka Leong Cheng, Yipengjing Sun, Liangxiao Hu, Nan Xue, Xing Zhu, Yujun Shen, Yao Yao, Yinghao Xu

cs.CV

2026-04-16

LingBot-Map把SLAM的锚点、局部窗口和轨迹记忆写成可学习注意力,518×378大约20FPS。Oxford Spires稀疏设置ATE 5.37,低于离线对照DA3的12.87,稠密3840帧只升到5.60。

这篇在解决什么

VGGT、Depth Anything 3 这类前馈 3D 基础模型,一次前向就能吐出相机位姿和稠密点图,但默认是离线的:整段视频都得在手里,双向注意力吃全集。搬到流式,现有两条路都别扭。CUT3R 把历史压进循环状态,几何先验忘得快;StreamVGGT、Stream3R 用因果注意力几乎把全部历史 cache 住,显存和算力随帧数线性涨。VGGT-SLAM 这类混合系统把关键帧和位姿图交给手工启发式,迭代优化也很难实时。

真问题是流式状态该记住什么,不是记住多少。一万帧不能把每帧图像 token 全留下,也不能把历史压成一团糊。

方法

LingBot-Map 把经典 SLAM 的三类上下文写成可学习注意力 Geometric Context Attention(GCA)。

骨干是 DINOv2-Large,24 层帧内注意力与 GCA 交替;相机头出绝对位姿,深度头出深度图。训练分两段:先用全局注意力在 2–24 视图上打几何先验(64 卡约 160K 步、约 21500 GPU 小时),再换成 GCA,视图从 24 线性加到 320。推理默认 Direct 模式,FlashInfer 的 paged KV cache,518×378 大约 20 FPS;超过约 3000 帧改 VO 模式,窗口之间做 Sim(3) 对齐。

结果

Oxford Spires 稀疏 320 帧:

方法类型AUC@15ATE
DA3离线49.8412.87
VIPE优化45.3510.52
CUT3R在线5.9818.16
LingBot-Map在线63.225.37

稠密 3840 帧,ATE 从 5.37 只涨到 5.60;CUT3R 从 18.16 涨到 32.47。ETH3D / 7-Scenes / Tanks and Temples 的 ATE 分别是 0.43 / 0.08 / 0.21。点云 F1:ETH3D 86.80(Wint3R 77.28),7-Scenes 82.38,NRGBD 65.10。Sintel ATE 0.10,KITTI 24.12,对照 VGGT-Long 是 0.17 和 31.89。

消融里 Video RoPE 对 ATE 贡献最大(7.46→5.98)。窗口 64 对比全因果注意力:20.29 FPS vs 11.87,显存 13.28 GB vs 36.06 GB,ATE 还更好(5.98 vs 6.60)。H800 上 k=64、n=8 时 20 FPS,RTX 4090 上 12 FPS。

为什么重要

这是把 SLAM 的状态拆分直接写进 Transformer 注意力掩码,而不是在外面挂 BA。对机器人、AR、需要边走边建图的系统,前馈、每帧代价近似恒定、还能跑过万帧,比「先离线重建再对齐」更接近能上的方案。它也说明流式 3D 基础模型的瓶颈不在再堆一层全局注意力,而在该丢掉哪些图像 token。

训练很贵:两阶段合计大约三周、64 卡。这是基础模型级投入,不是即插即用的小模块。

局限与存疑

论文自己写了三条。没有显式回环检测,重访旧区域时漂移只能靠轨迹记忆软纠正。没有测试时优化,难场景没有 BA 兜底。Direct 模式大约 3000 帧后质量下滑,更长序列要切 VO,窗口边界的 Sim(3) 对齐会再叠一层漂移。

优化方法的局部平移仍更准:VIPE 的 RPE-trans 是 0.43,LingBot-Map 是 0.93。KITTI ATE 24.12 在城市尺度上绝对值不小,只是对照更差。动态物体、畸变相机、LiDAR/IMU 都还在未来工作里。消融只在 TartanGround 上做,每个配置约 3840 GPU 小时,没在 Oxford 上拆过组件。

术语

原文与代码

社区讨论

相关论文

全部论文解读