PAPER DEEP DIVE
UniSim-SLAM:统一 Sim(3) 优化的前馈式 SLAM
几何基础模型(DUSt3R、VGGT 等)让 SLAM 第一次可以前馈推理,但它们的预测强依赖输入视角配置:同一帧图像与不同共视帧一起推理会得到不同的尺度与位姿,长序列串接时几何不一致与轨迹漂移由此而来。UniSim-SLAM 把经典 SLAM 的「前端里程计 + 后端优化」架构搬到前馈模型上——前端跑轻量两视关键帧跟踪保证低延迟,后端周期性做多视子图精化补充约束,再用一张统一的 Sim(3) 多层因子图把定义在异质局部坐标系、尺度互不一致的预测联合优化:图中包含时间序的视-视里程计边、带深度统计尺度锚定的视-子图桥接边,以及子图间的连接与尺度约束。在 TUM RGB-D 与 7-Scenes 上,未标定设置下的轨迹误差分别比此前最好结果降低 38.5% 与 45.9%。已被 ECCV 2026 接收。
论文元信息
| 项目 | 内容 |
|---|---|
| 标题 | UniSim-SLAM: Feed-Forward SLAM with Unified Sim(3) Optimization(UniSim-SLAM:统一 Sim(3) 优化的前馈式 SLAM) |
| 作者 | Inha Lee、Dongjae Jeong、Junhee Lee、Kyungdon Joo(通讯作者)——韩国蔚山科学技术院 UNIST |
| arXiv | 2608.01706v1(2026-08-03,cs.CV),已被 ECCV 2026 接收 |
| 代码 | 尚未开源。官方仓库 vision3d-lab/UniSim-SLAM 已建(README 标注 “comming soon”,截至 2026-09 尚无实现代码);项目主页 vision3d-lab.github.io/unisim-slam 同样标注 “Code Coming soon”,本页记录为待发布状态 |
| 基准 | TUM RGB-D、7-Scenes(使用 Brachmann 等修订后的真值位姿)、Replica |
| 前端骨干 | VGGT(默认,两视与多视共用同一模型);可替换为低延迟的 STA |
一句话总结
把经典 SLAM 的「前端里程计 + 后端优化」架构搬到前馈几何基础模型上:两视推理负责低延迟逐帧跟踪,多视子图负责富约束纠偏,二者产生的异质局部坐标系预测被统一塞进一张 $Sim(3)$ 多层因子图里联合优化,在无内参标定设置下把 TUM RGB-D 轨迹误差降到 0.032 m(比此前最好结果低 38.5%)、7-Scenes 降到 0.020 m(低 45.9%)。
图1:论文 teaser。(a) 两视推理延迟低但几何约束少;(b) 多视子图推理几何丰富但必须先攒够帧、延迟高;(c) UniSim-SLAM 用两视前端 + 多视子图后端,并在统一的 $Sim(3)$ 因子图中联合优化两者。
研究背景与动机
DUSt3R、VGGT 这类几何基础模型让 SLAM 第一次可以「前馈」地做:给定若干张未标定图像,网络一次前向就吐出稠密深度图和相对位姿,不需要手工特征匹配,也不需要逐序列的重优化。于是一批新系统把这种能力接到 SLAM 管线上——MASt3R-SLAM 用两视模型做实时稠密单目 SLAM,ViSTA-SLAM 用对称两视关联前端配 $Sim(3)$ 位姿图后端,VGGT-SLAM 则增量构建 VGGT 子图并在 $SL(4)$ 流形上优化 15 自由度的投影变换来处理无标定带来的歧义。
但作者指出一个被普遍忽视的结构性麻烦:前馈模型的几何估计是条件于输入视角配置的。同一张图像,和不同的共视帧放在一起推理,估出来的尺度和位姿会不一样。这意味着长序列上把一次次前馈输出「串」起来时,串的是若干个定义在各自局部坐标系、尺度互不一致的局部重建,几何不一致与轨迹漂移由此而来。全局轨迹必须通过把这些配置相关的局部重建逐个对齐才能得到——两视方法用相互约束对齐成对重建,多视方法靠在重叠区域估计变换来配准子图。
除了这种配置依赖的不一致,只用单一推理范式还会撞上一个根本性的权衡(图1)。多视推理约束丰富,但必须攒够固定数量的帧(一个子图)才能推理,逐帧更新不现实;而且仅靠子图之间关系做精化,需要相邻子图有重叠才能把修正沿轨迹传播开——一旦没有重叠,几何修正就传不出去,全局一致性受限。反过来,两视推理轻量、来一帧就能算,延迟低且天然保持时间连通性,但约束太少,随时间累积漂移,撑不起长时程的全局一致性。
作者的破题思路是回头看经典 SLAM:ORB-SLAM、LSD-SLAM、Kimera、DSO 这些系统早就用「前端轻量两视里程计 + 间歇性全局一致精化后端」化解过同一个效率—一致性权衡。前端两视的时间连贯性保证了图的连通,后端多视子图提供了丰富的几何约束。问题是现有前馈方法要么只做成对两视对齐,要么只做子图间配准,各干各的;而把两种预测朴素地拼在一起并不平凡——它们身处异质的局部坐标系,尺度和参考帧都不一致,必须要有一套新的因子图表述才能在单一框架里联合优化。
由此得到本文的核心洞见:不同前馈推理范式产出的几何预测,可以被解释为居住在异质局部坐标系中、彼此互补的约束,因此必须在一张统一的 $Sim(3)$ 因子图里联合优化。两视推理提供轻量、稠密连接的时间约束支撑低延迟跟踪,多视推理产出几何一致的子图来锚定场景全局结构;$Sim(3)$ 流形天然容纳旋转、平移与尺度歧义,正好是承载这两类约束的舞台。
预备知识:Sim(3) 与前馈几何模型
$Sim(3)$ 是三维相似变换群,一个元素同时编码尺度 $s\in\mathbb{R}^{+}$、旋转 $R\in SO(3)$ 和平移 $t\in\mathbb{R}^{3}$,以 $4\times4$ 齐次矩阵表示。相比只含刚体变换的 $SE(3)$,它多出的那一维尺度正是无标定单目场景所必需的:单目重建的绝对尺度不可观测,前馈模型每次输出的深度也只能确定到相差一个尺度因子。本文所有位姿变量与残差都定义在 $Sim(3)$ 及其李代数 $\mathfrak{sim}(3)$ 上,残差用对数映射 $\log(\cdot)$ 拉到李代数里做最小二乘。
系统里有两类前馈推理。两视推理 $f_{\text{2v}}$ 接收相邻关键帧对,输出两张深度图和一个相对变换;多视推理 $f_{\mathrm{mv}}$ 接收一段连续关键帧窗口,输出窗口内每帧的子图局部深度与位姿。两者用的是同一个几何基础模型(默认 VGGT),只是输入的视角数不同、运行线程不同——作者特意用不同记号 $f_{\text{2v}}$/$f_{\mathrm{mv}}$ 来强调后端是异步执行的。
方法详解
图2:总体框架。同一个前馈模型分别产出用于跟踪的两视位姿/深度与用于局部几何的多视子图预测;这些预测被整合进一张带多种边类型的统一 $Sim(3)$ 因子图,联合优化全局关键帧位姿与子图位姿。
1. 前端:关键帧上的两视跟踪
前端承担低延迟与时间一致性两件事。对每一对时间相邻的关键帧 $(I_{i},I_{j})$($j=i+1$),把图像对喂给前馈模型得到两视估计:
$$\{\hat{D}^{\text{2v}}_{i},\hat{D}^{\text{2v}}_{j},\hat{T}^{\text{2v}}_{ij}\}=f_{\text{2v}}(I_{i},I_{j})$$
其中 $\hat{D}^{\text{2v}}$ 是预测深度图,$\hat{T}^{\mathrm{2v}}_{ij}\in Sim(3)$ 是从 $I_i$ 到 $I_j$ 的相对变换,其尺度分量初始化为 1。这些深度图后面还有用——它们是子图集成时估计尺度锚点的原料。
要从这些相对测量拼出全局轨迹,先定义全局参考帧:第一个关键帧 $I_0$ 就是全局坐标系原点。随后在线地顺序复合两视相对变换来初始化全局位姿:
$$T_{j}=T_{i}\hat{T}^{\mathrm{2v}}_{ij}$$
这一步看似朴素,却隐式定义了位姿图的时间边并维持其连通性——即使子图之间毫无重叠,图也不会断。得到的轨迹只是初值,后续由后端的多视子图约束精化。
2. 后端:多视子图集成
后端的任务是纠正全局关键帧位姿 $\{T_i\}$ 中累积的漂移。攒够一定数量的连续关键帧后,在第 $m$ 个子图对应的连续窗口 $\mathcal{W}_{m}\subset\{1,\dots,N\}$ 上做一次多视推理:
$$\{\hat{D}^{\mathrm{mv}}_{mi},\hat{T}^{\mathrm{mv}}_{mi}\}_{i\in\mathcal{W}_{m}}=f_{\mathrm{mv}}(\mathcal{I}_{m})$$
$\hat{T}^{\mathrm{mv}}_{mi}\in Sim(3)$ 是 $I_i$ 在第 $m$ 个子图局部坐标系下的位姿(尺度同样初始化为 1),子图原点取窗口中心那一帧。要把这块局部重建接进全局轨迹,作者引入子图位姿 $S_{m}\in Sim(3)$,它把第 $m$ 个子图坐标系变换到全局系,于是有一致性关系:
$$T_{i}\approx S_{m}\hat{T}^{\text{mv}}_{mi}$$
这里有个容易被跳过的关键点:因为多视预测依赖视角集合,同一个关键帧在不同子图里会带着不同的尺度和位姿出现,所以子图局部位姿绝不能当成全局一致的测量直接用,必须显式引入 $\{S_m\}$ 这层变量。
联合优化前要先给 $S_m$ 一个初值。设 $I_i$ 是子图 $m$ 的原点关键帧(此时 $\hat{T}^{\mathrm{mv}}_{mi}=\mathbf{I}$),其两视推理得到的全局位姿为
$$T_{i}=\begin{bmatrix}s_{i}R_{i}&t_{i}\\ \mathbf{0}^{\top}&1\end{bmatrix}$$
为消解两视与多视预测之间的相对尺度歧义,作者用深度统计量估计相对尺度 $s^{\mathrm{rel}}_{mi}=\mathrm{median}(\hat{D}^{\mathrm{mv}}_{mi}/\hat{D}^{\mathrm{2v}}_{i})$——逐像素求比值再取中位数,对深度图的局部误差天然鲁棒。由于多视预测是单位尺度表达的,子图初始尺度取 $s_{m}^{(0)}=s_{i}/s^{\mathrm{rel}}_{mi}$,于是
$$S_{m}^{(0)}=\begin{bmatrix}s_{m}^{(0)}R_{i}&\dfrac{t_{i}}{s^{\mathrm{rel}}_{mi}}\\ \mathbf{0}^{\top}&1\end{bmatrix}$$
平移用同一个相对因子缩放,是为了保持全局系与子图系之间相似变换的结构完整。这个初始化把子图尺度一致地嵌入全局轨迹,随后 $\{T_i\}$ 与 $\{S_m\}$ 一起进联合优化。
但只在初始化时施加单一相对尺度约束是不够的:一旦两视与多视约束同时生效,一个子图内部就并存着多条 $Sim(3)$ 关系——每个关键帧挂着全局位姿 $T_i$,子图本身又有自己的 $S_m$。这正是催生多层因子图表述的动机。
3. 统一 Sim(3) 位姿图:三类边、五个残差
图3:多层因子图的结构(论文 Fig.3)。节点分两层——全局关键帧位姿 $\{T_i\}$ 与子图位姿 $\{S_m\}$;边分三类——时间边、视到子图边、子图到子图边。
统一图 $\mathcal{G}=(\mathcal{V},\mathcal{E})$ 的节点集由全局位姿节点与子图位姿节点组成:
$$\mathcal{V}=\mathcal{V}_{T}\cup\mathcal{V}_{S},\quad\mathcal{V}_{T}=\{T_{i}\in Sim(3)\},\quad\mathcal{V}_{S}=\{S_{m}\in Sim(3)\}$$
边集分解为三个层级:
$$\mathcal{E}=\mathcal{E}^{\mathrm{temp}}\;\cup\;\mathcal{E}^{\mathrm{v2s}}\;\cup\;\mathcal{E}^{\mathrm{s2s}}$$
视到视边(时间边)。$\mathcal{E}^{\mathrm{temp}}=\{(i,j)\mid j=i+1\}$,每条边对应一对时间相邻关键帧,施加约束 $T_{i}^{-1}T_{j}\approx\hat{T}^{\mathrm{2v}}_{ij}$。李代数 $\mathfrak{sim}(3)$ 中的残差为
$$\mathbf{e}^{\mathrm{2v}}_{ij}=\log\left((\hat{T}^{\mathrm{2v}}_{ij})^{-1}(T_{i}^{-1}T_{j})\right)$$
它的作用不只是局部一致性:这些边构成了全局连通的时间骨架,当子图稀疏或彼此不重叠时,正是靠它们把高层约束的修正传播到整条轨迹上。
视到子图边。$\mathcal{E}^{\mathrm{v2s}}=\{(m,i)\mid i\in\mathcal{W}_{m}\}$,把全局位姿节点 $T_i$ 和它所属的子图位姿节点 $S_m$ 连起来。每条边带两个互补残差。其一是位姿对齐(桥接)残差:
$$\mathbf{e}^{\mathrm{br}}_{mi}=\log\left((\hat{T}^{\mathrm{mv}}_{mi})^{-1}S_{m}^{-1}T_{i}\right)$$
桥接边把子图局部预测对齐全局轨迹,纠正窗口 $\mathcal{W}_m$ 内部的漂移;当关键帧被多个子图共享时,这种耦合还会通过共同的全局位姿节点隐式对齐重叠子图。但光有位姿对齐并不约束全局轨迹与子图坐标系之间的相对尺度,于是有第二个残差——用逐视深度统计量做的尺度锚定:
$$\mathbf{e}^{\mathrm{anch}}_{mi}=\log s_{i}-\log s_{m}-\log\left(\mathrm{median}(\hat{D}^{\mathrm{mv}}_{mi}/\hat{D}^{\mathrm{2v}}_{i})\right)$$
它在对数尺度空间里工作,把相对尺度钉在深度比的中位数上,阻止尺度不一致跨子图扩散。
子图到子图边。视到子图边虽然能让子图之间通过全局视节点间接对齐,但这种耦合可以被「挪动中间视节点」补偿掉——存在退化解。为强制子图坐标系之间严格一致,作者对窗口重叠的子图直接连边:$\mathcal{E}^{\mathrm{s2s}}=\{(m,n)\mid\mathcal{W}_{m}\cap\mathcal{W}_{n}\neq\emptyset\}$,记共享关键帧集合为 $\mathcal{V}_{mn}=\mathcal{W}_{m}\cap\mathcal{W}_{n}$。对每个共享帧 $i$,两个子图各自给出独立的局部位姿预测,几何一致性要求从两个子图坐标系变换过来得到同一个全局位姿,即绑定(tie)残差:
$$\mathbf{e}^{\mathrm{tie}}_{mni}=\log\left((S_{m}\hat{T}^{\mathrm{mv}}_{mi})^{-1}(S_{n}\hat{T}^{\mathrm{mv}}_{ni})\right)$$
再加一条子图间尺度一致性残差。先对每个共享帧估逐视相对尺度 $\hat{s}_{mn,i}=\mathrm{median}(\hat{D}^{\mathrm{mv}}_{mi}/\hat{D}^{\mathrm{mv}}_{ni})$,再在共享视上聚合 $\hat{s}_{mn}=\mathrm{median}_{i\in\mathcal{V}_{mn}}\hat{s}_{mn,i}$,于是
$$\mathbf{e}^{\mathrm{sc}}_{mn}=\log s_{n}-\log s_{m}-\log\hat{s}_{mn}$$
用像素对齐深度预测的统计量来估子图间相对尺度,既鲁棒又不需要额外的特征匹配。绑定与尺度约束共同防止独立估计的子图之间发生漂移。
4. 优化目标与求解
把五类残差汇成一个非线性最小二乘问题,在 $Sim(3)$ 流形上联合优化 $\{T_i\}$ 与 $\{S_m\}$:
$$\underset{\{T_{i}\},\{S_{m}\}}{\arg\min}\;\sum_{(i,j)\in\mathcal{E}^{\mathrm{temp}}}\rho\left(\left\|\mathbf{e}^{2v}_{ij}\right\|\right)+\sum_{(m,i)\in\mathcal{E}^{\mathrm{v2s}}}\Big(\rho\left(\left\|\mathbf{e}^{\mathrm{br}}_{mi}\right\|\right)+\rho\left(\left\|\mathbf{e}^{\mathrm{anch}}_{mi}\right\|\right)\Big)+\sum_{(m,n)\in\mathcal{E}^{\mathrm{s2s}}}\Big(\sum_{i\in\mathcal{V}_{mn}}\rho\left(\left\|\mathbf{e}^{\mathrm{tie}}_{mni}\right\|\right)+\rho\left(\left\|\mathbf{e}^{\mathrm{sc}}_{mn}\right\|\right)\Big)$$
$\rho(\cdot)$ 是 Huber 损失,用于压制前馈模型偶发的离群预测;求解器是在李代数 $\mathfrak{sim}(3)$ 上跑的 Levenberg–Marquardt。所有实验用一组固定的残差权重:
$$(w^{\text{2v}},w^{\text{br}},w^{\text{anch}},w^{\text{sc}},w^{\text{tie}})=(1.0,1.0,50.0,50.0,0.2)$$
这个权重配比很能说明作者的设计取向:两个尺度相关约束($w^{\text{anch}}$、$w^{\text{sc}}$)被放到 50 倍,因为尺度一致性是无标定前馈 SLAM 最容易崩的地方;而绑定约束只给 0.2——优化在整合局部子图预测时优先信任视到子图边,而不是直接的子图到子图对齐。附录 A1 的权重消融证实了这个取向:把尺度权重从 50 降到 1,7-Scenes 平均 ATE 从 0.020 退化到 0.025;把绑定权重从 0.2 抬到 2.0,则退化到 0.022。
flowchart TD IN["Image stream"] --> KF["Keyframe sampling
stride 5 (7-Scenes) / 3 (TUM)"] KF --> F2V["Frontend thread: f_2v
two-view depth + relative Sim(3)"] F2V --> COMP["Sequential composition
T_j = T_i * T_hat^2v_ij"] COMP --> INIT["Global keyframe poses T_i
(initial estimate)"] KF --> ACC{"14 new keyframes
accumulated?"} ACC -->|yes| FMV["Backend thread: f_mv
multi-view submap, w=16, phi=2"] FMV --> DSTAT["Depth-statistic relative scale
s_rel = median(D_mv / D_2v)"] DSTAT --> SMINIT["Submap pose init S_m^(0)"] INIT --> GRAPH["Unified Sim(3) factor graph"] SMINIT --> GRAPH GRAPH --> E1["E_temp: e_2v (w=1.0)"] GRAPH --> E2["E_v2s: e_br (w=1.0) + e_anch (w=50)"] GRAPH --> E3["E_s2s: e_tie (w=0.2) + e_sc (w=50)"] E1 --> LM["Huber + Levenberg-Marquardt
on sim(3)"] E2 --> LM E3 --> LM SALAD["SALAD retrieval
+ VGGT geometric verification"] --> LOOP["Joint loop submap"] LOOP --> GRAPH LM --> OUT["Refined T_i and S_m
global trajectory + dense map"] OUT -.->|"async, non-blocking"| F2V
5. 回环检测
长期漂移靠回环模块兜底,做法沿用 VGGT-SLAM 的思路但接进了新的图。回环候选用 SALAD 提取的全局图像描述子检索:对每个查询关键帧取最相似的历史关键帧,只有相似度超过预设阈值才接受为候选。随后做几何验证以排除「看着像但几何上说不通」的匹配——把查询帧与检索帧交给 VGGT 估计相对几何,若相对平移大得不合理或两视视场重叠不足,就拒绝该候选。
通过验证后,作者在匹配的两个关键帧周围构造一个联合回环子图:把以查询帧和匹配帧为中心的两个多视集合聚合起来做一次多视推理,产生的预测作为额外约束插入统一 $Sim(3)$ 位姿图,从而把整条轨迹拉回一致。值得注意的是,回环在这套框架里不是一个特殊分支——它只是「再造一个子图节点」,走的还是同一套边与残差。
6. 前后端异步执行
前端与后端跑在独立线程上,互不阻塞。前端对每个到来的关键帧做两视估计,在 7-Scenes 上约 25 FPS;后端只在累积了足够多新关键帧后才触发(默认配置下攒到 14 个新关键帧启动一次)。这种异步设计带来一个实用的自由度:$f^{\text{2v}}$ 与 $f^{\mathrm{mv}}$ 不必是同一个模型,因为全局轨迹是靠基于深度与位姿的 $Sim(3)$ 优化精化的,前端可以换成低延迟替代方案。作者据此测了一个异构配置「Ours + STA」:前端用 STA、后端保留 VGGT,虽然引入了额外的 $Sim(3)$ 不一致,整体仍优于现有方法。
实验结果
1. 相机轨迹:无标定设置的全面领先
评测指标是经 $Sim(3)$ 对齐后的绝对轨迹误差 RMSE(ATE),用 evo 工具计算。TUM RGB-D 上,UniSim-SLAM 在无标定组取得 0.032 m 的平均 ATE,而同组此前最好的 ViSTA-SLAM 是 0.052 m、VGGT-SLAM 0.061 m、MASt3R-SLAM* 0.060 m;相对最好结果降低 38.5%。更能说明问题的是它与有标定方法的距离:GO-SLAM 0.035、DROID-SLAM 0.038、MASt3R-SLAM 0.030——一个不用内参的系统已经打到需要内参的系统的水平线上。
| 方法 | 标定 | 360 | desk | desk2 | floor | plant | room | rpy | teddy | xyz | Avg |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ORB-SLAM3 | Calib. | × | 0.017 | 0.210 | × | 0.034 | × | × | × | 0.009 | N/A |
| GO-SLAM | Calib. | 0.089 | 0.016 | 0.028 | 0.025 | 0.026 | 0.052 | 0.019 | 0.048 | 0.010 | 0.035 |
| DROID-SLAM | Calib. | 0.111 | 0.018 | 0.042 | 0.021 | 0.016 | 0.049 | 0.026 | 0.048 | 0.012 | 0.038 |
| MASt3R-SLAM | Calib. | 0.049 | 0.016 | 0.024 | 0.025 | 0.020 | 0.061 | 0.027 | 0.041 | 0.009 | 0.030 |
| CUT3R | UnCalib. | 0.174 | 0.592 | 0.546 | 0.662 | 0.467 | 0.911 | 0.051 | 0.845 | 0.129 | 0.486 |
| SLAM3R | UnCalib. | 0.211 | 0.861 | 0.967 | 0.790 | 0.755 | 1.013 | 0.063 | 0.986 | 0.185 | 0.648 |
| MASt3R-SLAM* | UnCalib. | 0.070 | 0.032 | 0.055 | 0.056 | 0.035 | 0.118 | 0.041 | 0.116 | 0.020 | 0.060 |
| VGGT-SLAM | UnCalib. | 0.063 | 0.031 | 0.048 | 0.152 | 0.023 | 0.133 | 0.038 | 0.039 | 0.020 | 0.061 |
| ViSTA-SLAM | UnCalib. | 0.104 | 0.030 | 0.030 | 0.070 | 0.052 | 0.067 | 0.023 | 0.080 | 0.015 | 0.052 |
| UniSim-SLAM | UnCalib. | 0.067 | 0.018 | 0.022 | 0.034 | 0.029 | 0.056 | 0.021 | 0.031 | 0.013 | 0.032 |
表1:TUM RGB-D 轨迹结果(ATE RMSE [m],越低越好)。「×」表示未能产出有效轨迹。ORB-SLAM3 在 9 条序列里有 5 条失败,故无平均值。
作者特别点了 floor 序列:这个场景以平面结构为主,可供尺度恢复的几何线索很少,前馈预测极易尺度漂移,而 UniSim-SLAM 把它从 ViSTA-SLAM 的 0.070、VGGT-SLAM 的 0.152 压到 0.034,说明多层因子图确实靠联合优化视与子图约束稳住了尺度。7-Scenes 上趋势一致:chess 序列深度变化大、相机到物体距离变化剧烈,正是暴露前馈模型对输入视角配置敏感的地方,UniSim-SLAM 拿到 0.017,而 VGGT-SLAM 是 0.039、MASt3R-SLAM 0.090。
| 方法 | 标定 | chess | fire | heads | office | pumpkin | kitchen | stairs | Avg. |
|---|---|---|---|---|---|---|---|---|---|
| DROID-SLAM | Calib. | 0.018 | 0.027 | 0.021 | 0.041 | 0.025 | 0.016 | 0.017 | 0.024 |
| MASt3R-SLAM | Calib. | 0.082 | 0.030 | 0.024 | 0.052 | 0.050 | 0.044 | 0.027 | 0.044 |
| CUT3R | UnCalib. | 0.514 | 0.110 | 0.197 | 0.430 | 0.346 | 0.202 | 0.385 | 0.312 |
| SLAM3R | UnCalib. | 0.131 | 0.044 | 0.040 | 0.058 | 0.100 | 0.064 | 0.116 | 0.079 |
| MASt3R-SLAM | UnCalib. | 0.090 | 0.058 | 0.039 | 0.072 | 0.084 | 0.062 | 0.071 | 0.068 |
| VGGT-SLAM | UnCalib. | 0.039 | 0.024 | 0.041 | 0.032 | 0.050 | 0.034 | 0.042 | 0.037 |
| ViSTA-SLAM | UnCalib. | 0.075 | 0.035 | 0.030 | 0.064 | 0.065 | 0.041 | 0.036 | 0.049 |
| UniSim-SLAM | UnCalib. | 0.017 | 0.018 | 0.026 | 0.024 | 0.022 | 0.016 | 0.019 | 0.020 |
表2:7-Scenes 轨迹结果(ATE RMSE [m])。UniSim-SLAM 在全部 7 条序列上都是无标定组最好,且平均 0.020 优于所有有标定方法(DROID-SLAM 0.024、MASt3R-SLAM 0.044),相对此前最好的 VGGT-SLAM 降低 45.9%。
图4:7-Scenes 上的轨迹定性对比。UniSim-SLAM 的轨迹与真值贴合度明显高于其它前馈方法,尤其在深度变化剧烈的 chess 序列。
附录还把评测扩到了 Replica:8 条序列平均 ATE 0.029 m,对比 MASt3R-SLAM* 0.072、VGGT-SLAM 0.042、ViSTA-SLAM 0.108。ViSTA-SLAM 在 office1 上飙到 0.193 这类失败案例,在 UniSim-SLAM 这里是 0.018。
2. 三维重建:精度与 Chamfer 双降
重建用优化后的全局位姿 $\{T_i\}$ 配多视深度 $\hat{D}^{\mathrm{mv}}$、内参与置信度图,按 VGGT-SLAM 的做法丢掉置信度最低的 25% 的点。这里有个评测上的诚实处理:因为框架产出的是重叠子图,直接把所有点堆起来会因为点密度升高而人为改善 Completeness 指标,所以作者对每个视只用置信度最高的那个子图的深度图。
| 方法 | 标定 | Acc. ↓ | Comp. ↓ | Chamfer ↓ |
|---|---|---|---|---|
| DROID-SLAM | Calib. | 0.111 | 0.049 | 0.080 |
| MASt3R-SLAM | Calib. | 0.064 | 0.068 | 0.066 |
| Spann3R @5 | Calib. | 0.095 | 0.041 | 0.068 |
| SLAM3R | Calib. | 0.069 | 0.153 | 0.111 |
| MASt3R-SLAM | UnCalib. | 0.054 | 0.048 | 0.051 |
| VGGT-SLAM | UnCalib. | 0.039 | 0.051 | 0.045 |
| ViSTA-SLAM | UnCalib. | 0.041 | 0.056 | 0.049 |
| UniSim-SLAM | UnCalib. | 0.035 | 0.046 | 0.041 |
表3:7-Scenes 重建误差(Accuracy / Completeness / Chamfer,越低越好)。UniSim-SLAM 三项全部最优,Accuracy 与 Chamfer 甚至优于所有有标定方法。
图5:7-Scenes 与 TUM RGB-D 上的重建结果,红框为细节放大视图。
3. 延迟:用 197 ms 换 0.020 m
作者把延迟定义为「从收到最少必需输入帧到前端产出位姿估计」的时间。这张表最能体现论文标题里那个权衡是怎么被化解的:VGGT-SLAM 精度尚可但延迟高达 3410 ms,纯两视的 ViSTA-SLAM 只要 35 ms 却拿到 0.049 m 的误差;UniSim-SLAM 用 197 ms 换来 0.020 m。而把前端换成低延迟 STA 的异构版本「Ours + STA」更极端——35 ms 延迟 + 0.027 m 精度,在与 ViSTA-SLAM 完全相同的延迟预算下把误差降低了 45%。
| 方法 | 前端骨干 | 延迟 [ms] ↓ | ATE ↓ |
|---|---|---|---|
| MASt3R-SLAM | MASt3R | 90 | 0.068 |
| VGGT-SLAM | VGGT | 3410 | 0.037 |
| ViSTA-SLAM | STA | 35 | 0.049 |
| Ours + STA | STA | 35 | 0.027 |
| Ours | VGGT | 197 | 0.020 |
表4:7-Scenes 上的延迟与精度对比。延迟越高不一定越准——VGGT-SLAM 花了 17 倍时间,精度反而不如 197 ms 的 UniSim-SLAM。
| 阶段 | 两视推理(前端) | 子图节点初始化 | 描述子提取 | 图构建 | 优化 | 多视推理(后端) |
|---|---|---|---|---|---|---|
| 延迟 [ms] | 197 | 167 | 16 | 36 | 645 | 933 |
表5:各阶段耗时分解(附录 Table A6)。后端的多视推理(933 ms)与图优化(645 ms)才是真正的大头,但它们跑在独立线程、每 14 个新关键帧才触发一次,因此不计入前端跟踪延迟。
4. 消融:每条边都在干活
消融在 7-Scenes 上做,并刻意分成「子图重叠 $\phi=2$」与「完全不重叠 $\phi=0$」两档——后者正是论文反复强调的多视方法失效场景。
| 配置 | w/o Backend | w/o LC | w/o $\mathbf{e}^{\text{2v}}$ | w/o $\mathbf{e}^{\mathrm{anch}}$ | w/o $\mathbf{e}^{\mathrm{br}}$ | w/o $\mathbf{e}^{\mathrm{tie}}$ | w/o $\mathbf{e}^{\mathrm{sc}}$ | Ours (full) |
|---|---|---|---|---|---|---|---|---|
| $\phi=0$ | 0.124 | 0.061 | 0.101 | 0.083 | 0.116 | 0.040 | 0.048 | 0.032 |
| $\phi=2$ | 0.124 | 0.037 | 0.021 | 0.020 | 0.063 | 0.027 | 0.031 | 0.020 |
表6:7-Scenes 平均 ATE 的消融(越低越好)。LC = 回环闭合。
三个结论值得单独拎出来。第一,后端本身就是主要增益来源:去掉后端(只剩前端跟踪)平均 0.124,完整系统 0.020,差了六倍多。第二,桥接边 $\mathbf{e}^{\mathrm{br}}$ 是最关键的一条:去掉它在 $\phi=2$ 时退化到 0.063(三倍以上),$\phi=0$ 时 0.116,几乎退回到 tracking-only 的水平——这与附录 A2 的解释吻合:移除视到子图边等于把子图从全局轨迹上断开,全局位姿节点不再被子图预测约束,系统行为退化成一个没有后端精化的纯跟踪系统。第三,不重叠时时间边的作用被放大:$\phi=0$ 下去掉 $\mathbf{e}^{\text{2v}}$ 从 0.032 恶化到 0.101,而 $\phi=2$ 下只是 0.020→0.021 的微小变化。子图没有重叠时,时间骨架是修正得以跨轨迹传播的唯一通道。
另外,即使完全关掉回环闭合($\phi=2$ 时 0.037),系统仍与现有 SOTA 相当,说明这张图本身就产生了全局一致的优化,回环只是锦上添花。
| 子图大小 $w$ | $\phi=1$ | $\phi=2$ | $\phi=4$ | $\phi=8$ |
|---|---|---|---|---|
| 4 | 0.043 | 0.041 | – | – |
| 8 | 0.035 | 0.035 | 0.035 | – |
| 16 | 0.031 | 0.032 | 0.031 | 0.030 |
| 32 | 0.033 | 0.032 | 0.034 | 0.033 |
表7:TUM RGB-D 上子图大小 $w$ 与重叠 $\phi$ 的超参扫描(ATE RMSE [m])。
重叠只给 1 帧($\phi=1$)时,子图对齐完全依赖单个多视局部位姿估计,有优化不稳定的风险,所以默认取 $\phi=2$——用最小开销换鲁棒性。子图大小则是个折中:更大的子图改善局部多视估计,但会减少图中的子图节点数量、削弱全局约束,所以 $w=32$ 并不比 $w=16$ 更好。
图6:有无位姿图优化(PGO)的定性对比(论文 Fig.A1)。红框标出被位姿图优化纠正的错位区域。
5. 尺度锚定的鲁棒性
既然整套方法把 50 倍权重压在深度统计量估出来的尺度上,一个自然的质疑是:深度图有噪声时这个锚点还稳吗?作者做了受控实验,分别对用于尺度估计和用于几何的深度注入不同标准差 $\sigma$ 的噪声。
| 扰动目标 | 深度噪声 $\sigma$ | 7-Scenes 平均 ATE |
|---|---|---|
| 尺度(scale) | 0.15 | 0.045 |
| 0.1 | 0.041 | |
| 0.05 | 0.026 | |
| 0 | 0.020 | |
| 深度(depth) | 0.3 | 0.021 |
| 0.2 | 0.021 | |
| 0.1 | 0.020 | |
| 0 | 0.020 |
表8:深度统计尺度估计的鲁棒性(附录 Table A3)。噪声直接打在尺度估计上时退化明显($\sigma=0.15$ 时 0.020→0.045),但打在稠密深度上几乎无影响($\sigma=0.3$ 仍 0.021)。
这个不对称很说明问题:中位数统计量对稠密深度图上的随机噪声几乎免疫——毕竟是对成千上万个像素比值取中位数;但如果噪声恰好作用在参与尺度估计的那部分深度上,锚点就会被系统性带偏。这也解释了为什么作者要把 $w^{\text{anch}}$、$w^{\text{sc}}$ 设成 50:尺度约束必须强,但它的质量上限由深度比的可靠性决定。
局限性
作者自述:延迟仍高于专用两视管线。UniSim-SLAM 的 197 ms 跟踪延迟虽然远低于 VGGT-SLAM 的 3410 ms,但比 MASt3R-SLAM(90 ms)和 ViSTA-SLAM(35 ms)都高。作者把原因归到前端骨干 VGGT 的模型体积大、且是通用型设计。换句话说,精度—效率的权衡被缓解了而非消除;对延迟预算极紧的应用,只能退到「Ours + STA」那个 35 ms 的异构配置,代价是精度从 0.020 掉到 0.027,并且会继承 STA 系 SLAM 在 chess、plant 这类困难序列上的固有弱点。
作者自述:后端开销并不轻。表5 的分解显示单次后端处理要多视推理 933 ms 加图优化 645 ms,再加子图节点初始化 167 ms。这些虽然被异步线程挡住了、不阻塞前端,但意味着后端精化在算力受限的嵌入式平台上能不能跟上关键帧产生速度是个现实问题——论文没有给出后端积压(backlog)时的行为分析。
读者视角补充:其一,不重叠子图场景下精度明显打折——$\phi=0$ 时平均 ATE 是 0.032,而 $\phi=2$ 是 0.020,退化 60%。论文把「即使无重叠也能靠时间边传播修正」当作卖点,但从数字看,方法仍然显著受益于子图重叠,纯无重叠场景(例如快速转向或长距离直行)的表现只是「可用」而非「优秀」。其二,稠密重建只在 7-Scenes 上评了,TUM RGB-D 只给了定性图;而 TUM 的 floor、room 等大平面场景恰恰是尺度最难恢复的地方,重建质量在那里到底如何并不清楚。其三,尺度锚定依赖两视与多视深度的可比性,如果换用异构前后端(STA + VGGT),两个模型的深度约定与尺度偏置不同,$\mathrm{median}(\hat{D}^{\mathrm{mv}}/\hat{D}^{\text{2v}})$ 的统计意义会被削弱——论文只在位姿精度层面验证了异构配置,没有单独分析异构下的尺度锚定质量。其四,代码未开源,上述所有数字目前无法复现验证。其五,回环检测依赖 SALAD 描述子的检索阈值与 VGGT 的几何验证,论文没有报告回环的查全/查准率,也没分析感知混淆(perceptual aliasing)场景下的误回环风险。
总结与展望
这篇论文的贡献不在提出新的几何基础模型,而在于给「怎么把前馈模型的输出组织成一个 SLAM 系统」这个问题提供了一个干净的答案:承认前馈预测是配置依赖的、异质的、尺度不一致的,然后不要试图把它们强行统一到某一个坐标系里,而是在 $Sim(3)$ 上建一张多层因子图,让不同类型的预测以不同权重、不同层级的约束共存并联合优化。这个视角的迁移性很强——它解释了为什么经典 SLAM 的前后端分工在前馈时代依然成立,也给出了「为什么朴素拼接会失败」的具体原因(退化解:子图对齐可以被中间视节点的位移补偿掉,所以必须有直接的子图到子图边)。
工程上最值得记住的两个数字是:把尺度约束权重提到 50 倍带来的稳定性,以及在完全相同 35 ms 延迟预算下用多层因子图把 ViSTA-SLAM 的 0.049 m 打到 0.027 m。后者说明这套图优化是可以直接嫁接到现有低延迟两视系统上的后端增强件,而不必整体换系统。下一步的自然方向是把后端的多视推理与图优化开销压下来(933 + 645 ms 是当前瓶颈),以及在动态场景、大尺度户外序列和嵌入式算力上验证——这些都是当前评测集(室内静态、几千帧量级)没有覆盖的。
金句
前馈模型给出的从来不是「一个答案」,而是「许多个各自成立、彼此尺度不合的局部答案」——SLAM 的工作不是挑出最好的那个,而是给它们一张能同时成立的图。



