VideoSfM: Exploiting Temporal Structure for Video-Based Structure-from-Motion¶
会议: ECCV 2026
论文: ECCV 官方页面
代码: https://github.com/cvg/vidmap
领域: 几何匹配与定位
关键词: 运动恢复结构, 视觉SLAM, 视频时序结构, 稠密特征匹配, 单目度量深度先验
一句话总结¶
VidMap(VideoSfM)结合 SLAM 的时序约束与全局 SfM 的非因果全局优化,通过视频感知的稠密特征轨迹追踪、时序与回环观测的溯源分离、以及注入单目度量深度先验的全局定位与平差,实现了对长时非受控未知内参视频高精度、抗漂移的度量级三维重建。
研究背景与动机¶
从消费级手机、可穿戴设备或自主机器人采集的任意非受控视频中自动恢复相机内参和度量位姿,是具身导航与大模型三维场景理解的核心基础。然而,传统的三维重建方案面临着两难困境:视觉 SLAM 系统以实时因果(causal)和增量方式工作,必须在仅掌握历史信息的条件下立即对当前帧做出不可逆的位姿决策,不仅极度依赖高精度的初始内参标定,且在遇到快速旋转、前向退化运动或瞬时无纹理遮挡时极易发生跟踪丢失,早期引入的微小漂移也会随时间不可逆地累积放大。
与此相对,离线 Structure-from-Motion(SfM)采用非因果全局优化,在建立全图约束后再解算位姿,能够最优初始化并联合优化内参。但经典 SfM 将视频直接视作无序图像集合(unordered image collection),完全丢弃了视频天然的时序连续性。这种对时序来源的盲目性导致其在面对视觉对称性(visual symmetries)和重复纹理时,极易因图像检索的假阳性回环发生严重视觉混淆(visual aliasing);同时因无法按运动动态自适应抽取关键帧,在处理超长视频流时计算开销巨大。端到端深度学习位姿预测模型虽然鲁棒且无需几何优化,但受限于显存上下文窗口,在长序列上缺乏长程一致性和几何几何精度。
因此,视频三维重建的核心矛盾在于:既需要利用时序连续性提供的高重叠度与局部无歧义追踪,又不能陷入实时因果 SLAM 的漂移固化陷阱;既需要全局 SfM 的全局初始化和无向回环校正,又必须防止假阳性回环污染全局轨迹。本文切入角度是将视频时序结构作为一等公民引入全局 SfM 框架,非因果地调度视频时序追踪,并引入单目度量深度先验破除尺度不确定性与几何退化。核心 idea:将视频帧分为时序跟踪边与回环边显式标注数据溯源(provenance),通过稠密光流链条与多流协方差自适应修正长轨迹漂移,并在全局旋转平均和全局定位中对不同溯源采用区分性鲁棒损失函数并注入单目度量深度与尺度因子联合优化。
方法详解¶
整体框架¶
VidMap 的完整流水线由两个核心阶段构成:视频感知特征提取与跟踪(Video-Aware Extraction)和溯源感知全局建图(Provenance-Aware Global Mapping)。整个系统遵循非因果原则,在观察完整视频序列后才统一做出最终几何决策。输入为任意未知内参的连续视频帧序列,输出为关键帧度量位姿 \(T_i \in \mathrm{SE}(3)\)、自标定相机内参 \(K_i\) 以及场景稀疏 3D 点云 \(X\)。
在特征提取阶段,系统首先基于粗粒度稠密匹配的光流位移自适应抽取运动关键帧,并在每个关键帧上利用单目模型提取度量深度先验与初始焦距估计;接着使用高分辨率稠密匹配沿着连续关键帧窗口向前传播,利用多流协方差自适应修正时序漂移;同时利用全局检索匹配远距回环候选,但严格隔离时序边与回环边的数据溯源。在全局建图阶段,系统依次进行相机内参初始化、溯源感知旋转平均、引入度量深度先验的全局定位(GP),最后通过联合优化位姿、结构、内参和每帧深度尺度因子的全局光束法平差(BA)收敛至全局最优解。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入未受控视频帧序列"] --> B["运动自适应关键帧检测<br/>基于粗匹配光流位移自适应触发"]
B --> C["单目度量深度与内参先验提取<br/>GeoCalib焦距与单目深度图提取"]
C --> D["时序稠密特征追踪与多流漂移校正<br/>稠密warp传播与协方差最小路径选择"]
D --> E["溯源分离回环检测与轨迹构建<br/>MegaLoc检索+软链接LC观测标记"]
E --> F["溯源感知旋转平均<br/>时序边Huber+回环边Cauchy损失"]
F --> G["度量深度联合全局定位 GP<br/>射线方向+单目对数深度+每帧尺度优化"]
G --> H["联合全参数全局光束法平差 BA<br/>姿态+3D点+内参+深度尺度因子优化"]
H --> I["输出度量相机轨迹与稠密/稀疏三维点云"]
关键设计¶
1. 运动自适应关键帧检测:打破固定时间间隔采样
针对视频中普遍存在的静止停留或剧烈运动带来的帧冗余与大位移问题,本文摒弃传统的固定跨帧抽样,设计了一种基于场景运动位移自适应触发的关键帧选择策略。系统利用粗尺度稠密匹配器(如 RoMA 粗级网络)快速估计相邻连续帧之间的粗糙 warp 场与确定性置信度图,从当前关键帧采样稀疏特征点并向前追踪。当因遮挡造成丢失或累积位移超过设定阈值的特征点比例超过预设容限时,立即触发新的关键帧生成。这种策略既避免了相机静止时的无效计算与窄基线退化,又保证了高速大视差运动下的追踪连续性。
2. 多流时序漂移校正与协方差传播:长轨迹误差最小化路径
传统 SfM 的离散特征匹配在低纹理区域极易丢失,而稠密光流级联跟踪则会引入逐帧漂移。本文借助高分辨率稠密匹配器,为每个新选定的关键帧 \(K_i\) 不仅计算与紧邻前一帧 \(K_{i-1}\) 的稠密对应,还计算滑动窗口内至多 \(W=9\) 帧先前关键帧的直接稠密跨帧匹配。每步稠密传播均输出像素级定位协方差 \(\Sigma_{(i-n)\to i} \in \mathbb{R}^{2\times 2}\)。由于高斯误差模型下的方差具有可加性,沿时序级联累积的协方差为 \(\Sigma_i^{\text{seq}} = \Sigma_{i-1}^{\text{seq}} + \Sigma_{(i-1)\to i}\),而从任意先前锚点 \(K_{i-n}\) 直连的路径协方差为 \(\Sigma_{(i-n)i} = \Sigma_{i-n}^{\text{seq}} + \Sigma_{(i-n)\to i}\)。系统通过选取使迹最小的锚点 \(n^* = \arg\min_n \mathrm{tr}(\Sigma_{(i-n)i})\),并在其与时序估计的马氏距离小于阈值时采纳直连预测,否则保留时序估计。这一机制有效压制了长时追踪中的漂移,同时鲁棒地剔除了因视线遮挡或重复图案导致的直连假阳性跳跃。
3. 溯源分离的轨迹构建与旋转平均:防御视觉混淆破坏
在经典全局 SfM(如 GLOMAP)中,回环闭合产生的特征匹配会通过传递性(transitivity)直接与已有轨迹合并成同一条 3D 点观测轨,一旦场景中存在对称建筑、重复走廊或相似家具,假阳性回环就会把空间完全分离的两个物体强行焊死在一起,造成灾难性轨迹坍塌。VidMap 严格限定 3D 轨迹仅由时序匹配边串联构建;当 MegaLoc 检索并在几何检验后建立回环闭合观测时,绝不通过传递性强行合并时序轨迹,而是将其作为附加的软约束观测并赋予标签 \(l_{ik} = \text{lc}\),与时序观测 \(l_{ik} = \text{seq}\) 区分。在随后的全局旋转平均阶段,对相对旋转残差施加溯源区分的鲁棒损失函数:对高可信的时序边施加凸性更好的 Huber 损失,而对潜在存在视觉对称混淆的回环边施加强抑制的 Cauchy 损失: $$ \min_{{R_i}} \sum_{(i, j) \in \mathcal{E}} \rho_{l_{ij}}\left( |\log(R_j^\top \tilde{R}_{ij} R_i)| \right) $$ 这一设计使得即使回环闭合中渗入了假阳性关联,优化过程也能将其迅速压制为离群点,保留主干时序轨迹的几何正确性。
4. 注入单目度量深度与尺度因子的全局定位与平差:克服退化运动与尺度漂移
纯多视几何在纯前向直线运动、弱视差或纯旋转等退化位形下极难稳定解算位姿,且单目重建天然缺失真实绝对尺度。VidMap 将单目深度模型(如 Depth Anything v3)提取的先验深度 \(m_{ik}\) 与不确定度 \(\sigma_{ik}\) 引入全局定位(GP)与光束法平差(BA)中,为每个关键帧 \(i\) 引入可优化的单目深度尺度因子 \(s_i\)。在全局定位中,固定全局旋转 \(\{R_i\}\),联合求解相机中心 \(\{c_i\}\)、3D点坐标 \(\{X_k\}\) 和尺度因子 \(\{s_i\}\): $$ E_{\text{GP}} = \sum_{(i,k)} \left[ \rho_{l_{ik}}^{\text{bearing}}\left( e_{ik}^{\text{GP}} \right) + \rho^{\text{depth}}\left( r_{ik}^{\text{depth}} \right) \right] + \sum_{i} \rho^{\text{scale}}\left( r_i^{\text{scale}} \right) $$ 其中,空间方向残差 \(e_{ik}^{\text{GP}} = v_{ik} - d_{ik}(X_k - c_i)\) 惩罚光线方向偏差并以像素协方差投影的 3D 方差 \(\Sigma_{v_{ik}} = J_i \Sigma_{ik} J_i^\top\) 加权;对数深度残差比较优化后相机坐标系深度 \(z_{ik} = \mathbf{e}_3^\top R_i (X_k - c_i)\) 与缩放后预测值 \(s_i \cdot m_{ik}\): $$ r_{ik}^{\text{depth}} = \begin{cases} \log\left(\dfrac{z_{ik}}{s_i \cdot m_{ik}}\right), & z_{ik} > 0 \[6pt] z_{ik} - s_i \cdot m_{ik}, & z_{ik} \le 0 \end{cases} $$ 尺度正则项 \(r_i^{\text{scale}} = \log s_i\) 约束尺度因子偏离,并在后续全局 BA 中联合微调相机内参、位姿、3D 点与各帧尺度 \(s_i\)。这使系统即使在单目相机大范围无纹理前向运动中也能保持极高的度量尺度一致性。
损失函数 / 训练策略¶
VidMap 整体作为几何优化框架,前端 matcher 与深度先验采用预训练模型(如 RoMA v2、Depth Anything 3、GeoCalib、MegaLoc),离线重建过程不涉及反向传播训练,而是在非线性最小二乘优化中采用了受 Graduated Non-Convexity (GNC) 启发的退火策略:在全局定位与光束法平差过程中,鲁棒核函数的尺度参数随迭代轮数逐步收紧;同时通过双视角相对位姿正向投影检验单目深度与几何估计的比例一致性,对显著超标的深度残差动态切换为重罚 Cauchy 损失,确保异常深度观测不会扭曲全局收敛。
实验关键数据¶
主实验¶
论文在极具挑战性的大尺度室内 AR 数据集 LaMAR(包含复杂手机运动轨迹与严重视觉混淆)和灾难搜救机器人与手持数据集 CroCoDL 上进行了严格评测,报告基于局部时间滑动窗口的平移误差曲线下面积(Window-AUC, %,阈值自适应为窗口尺寸的 5%,数值越高越好)。
表格 1:LaMAR 数据集位姿精度对比(Window-AUC,%)
| 方法 | 类别 | 内参设置 | 10 m | 25 m | 50 m | 100 m | full |
|---|---|---|---|---|---|---|---|
| LoGeR | 深度模型 | 未知内参 | 65.9 | 64.5 | 60.3 | 60.1 | 59.8 |
| VGGT-SLAM2 | 深度SLAM | 未知内参 | 74.0 | 69.2 | 60.3 | 49.4 | 56.9 |
| Lingbot-Map | 深度模型 | 未知内参 | 74.2 | 75.0 | 70.1 | 64.7 | 63.0 |
| DA3-Long | 深度模型 | 未知内参 | 86.7 | 86.7 | 84.6 | 78.1 | 76.5 |
| GLOMAP-LG | 全局SfM | 未知内参 | 76.4 | 69.4 | 60.1 | 53.6 | 62.3 |
| GLOMAP-RoMA | 全局SfM | 未知内参 | 71.0 | 66.0 | 58.4 | 46.7 | 59.4 |
| ViPE | 深度SLAM | 未知内参 | 86.6 | 83.8 | 80.2 | 78.1 | 76.6 |
| VidMap (本文) | 混合全局SfM | 未知内参 | 91.9 | 92.3 | 89.9 | 89.3 | 88.5 |
| DPV-SLAM | 学习SLAM | 已知内参 | 53.1 | 39.0 | 25.1 | 14.9 | 38.2 |
| DROID-W | 学习SLAM | 已知内参 | 88.0 | 84.7 | 80.2 | 79.5 | 76.2 |
| MP-SfM | 增量SfM | 已知内参 | 88.6 | 83.7 | 74.5 | 60.2 | 60.6 |
| GLOMAP-LG | 全局SfM | 已知内参 | 77.3 | 70.4 | 61.6 | 48.4 | 63.0 |
| ViPE | 深度SLAM | 已知内参 | 87.3 | 84.9 | 80.4 | 79.5 | 78.8 |
| VidMap (本文) | 混合全局SfM | 已知内参 | 93.2 | 93.0 | 90.5 | 89.9 | 89.7 |
表格 2:CroCoDL 灾难现场跨设备数据集精度对比(Window-AUC,%)
| 方法 | 内参设置 | 手机 10m | 手机 50m | 手机 full | 机器人 10m | 机器人 50m | 机器人 full |
|---|---|---|---|---|---|---|---|
| DA3-Long | 未知内参 | 86.2 | 88.5 | 88.9 | 79.5 | 82.0 | 78.3 |
| GLOMAP-LG | 未知内参 | 77.8 | 60.0 | 76.4 | 10.2 | 10.3 | 19.2 |
| ViPE | 未知内参 | 66.7 | 68.6 | 71.4 | 59.5 | 66.2 | 71.0 |
| VidMap (本文) | 未知内参 | 94.0 | 95.3 | 95.5 | 91.4 | 82.5 | 80.3 |
| DPV-SLAM | 已知内参 | 19.8 | 14.9 | 31.8 | 66.1 | 73.0 | 77.0 |
| DROID-W | 已知内参 | 71.8 | 67.9 | 72.7 | 71.9 | 71.0 | 67.8 |
| GLOMAP-LG | 已知内参 | 73.9 | 62.0 | 72.2 | 42.7 | 34.1 | 42.4 |
| ViPE | 已知内参 | 70.0 | 71.0 | 74.3 | 62.1 | 68.9 | 72.2 |
| VidMap (本文) | 已知内参 | 94.7 | 96.3 | 96.6 | 91.5 | 80.6 | 78.2 |
消融实验¶
论文在 LaMAR 和 ETH3D-SLAM 上对核心模块进行了消融评测,定量检验单目深度先验和时序溯源机制的贡献。
表格 3:核心模块消融实验(LaMAR 与 ETH3D-SLAM 数据集)
| 消融配置 | LaMAR 10m | LaMAR 50m | LaMAR 100m | LaMAR full | ETH3D 5cm | ETH3D 10cm | ETH3D 1m |
|---|---|---|---|---|---|---|---|
| VidMap (完整模型) | 91.9 | 89.9 | 89.3 | 88.5 | 51.4 | 68.3 | 94.0 |
| 深度先验消融 | |||||||
| No depth in GP(GP中去掉深度) | 67.6 | 24.9 | 13.6 | 37.7 | 50.5 | 66.5 | 91.9 |
| No depth in BA(BA中去掉深度) | 91.5 | 88.0 | 86.5 | 85.5 | 44.5 | 60.6 | 91.9 |
| No scale optimization(不优化尺度) | 69.3 | 25.6 | 13.9 | 39.7 | 50.2 | 65.9 | 92.4 |
| No metric scale(无度量先验优化纯相对尺度) | 90.2 | 81.9 | 71.7 | 74.1 | 52.2 | 68.8 | 94.0 |
| 时序结构消融 | |||||||
| No loop closure edges(去掉回环边,纯时序) | 90.8 | 87.6 | 86.6 | 85.5 | 32.9 | 77.5 | 85.9 |
| No provenance losses(不作溯源区分损失) | 88.4 | 80.2 | 77.0 | 79.9 | 50.6 | 87.1 | 91.5 |
关键发现¶
- 度量深度在全局定位中起决定性生死作用:在 LaMAR 长距离轨迹中,如果去掉全局定位中的深度残差(No depth in GP),100m 窗口的 AUC 从 89.3% 断崖式跌落至 13.6%(全序列从 88.5% 跌至 37.7%)。这是因为前向运动与窄基线导致多视几何求解极易产生深度崩溃,唯有深度先验能锚定尺度与初始几何。
- 时序溯源分离是免疫视觉混淆的护城河:如果不做溯源区分(No provenance losses,将回环边与时序边同等对待),LaMAR 的 100m 窗口 AUC 掉了 12.3%(从 89.3% 降至 77.0%),证实了对称场景中回环误匹配会直接破坏全局几何结构。
- 未知内参自标定精度逼近真值:在 LaMAR 上,未知内参下的 VidMap 全序列 AUC 达到 88.5%,与已知真值内参下的 89.7% 仅差 1.2 个百分点,充分验证了基于 GeoCalib 联合视角图标定的可靠性。
亮点与洞察¶
- 溯源感知(Provenance-Aware)的数据关联理念:经典 SfM 的传递性特征合并会把误报回环不可逆地嵌入共视图,而 SLAM 的回环仅做位姿图修正。VidMap 提出将回环匹配作为“软挂载”观测并打上来源标签,在优化核函数上实施不对称防护,既享受了全局闭环的漂移消除,又保持了时序轨迹的独立完整。
- 单目深度与多视几何的软约束协同:不同于前人方法要么完全信任单目深度、要么固定尺度因子的做法,VidMap 在全局定位和全局平差中同时优化相机位姿与每帧深度尺度因子 \(s_i\),将度量单目模型作为灵活的几何正则项而非硬性约束,实现了弱视差退化下的几何解耦。
- 非因果调度赋予视频重建最优化优势:证明了视频处理不必局限于流式因果架构;在离线或云端批处理场景下,将时序连续性与全局多遍扫描(粗匹配选帧、高分辨率细化、多流漂移校正、全局优化)结合,精度显著超越了目前的端到端或增量式架构。
局限与展望¶
- 作者承认的局限:尽管 VidMap 显著超越了纯视觉单目基线,但其纯几何与学习先验的组合在绝对度量精度上尚未达到硬件级视觉惯性导航系统(VINS / VIO)的刚性容差;超长序列累积的微弱漂移消除仍具挑战。
- 环境与动态假设:系统假设场景基本处于静态环境,面对画面中大比例移动行人或动态车辆时,光流链条与单目深度会引入伪动噪点,未来需要显式结合动态目标分割掩码进行联合过滤。
- 计算时间与显存:稠密匹配与全局优化计算开销仍高于轻量级实时 SLAM,未来可通过分块层次化优化(hierarchical submapping)进一步扩展至数万帧超长无人机或车载巡检视频。
相关工作与启发¶
- vs GLOMAP: GLOMAP 是无序图像的全局 SfM 代表作,但在处理长视频时既无法利用时序连续性,又极易在重复纹理中因传递性并轨导致全局解崩溃;VidMap 继承其全局定位主干,但重构了时序跟踪链条、溯源区分核函数与单目深度尺度联合优化,攻克了视频输入场景。
- vs DROID-SLAM / DPV-SLAM: DROID-SLAM 等端到端深度学习 SLAM 依赖因果增量滑窗和局部光流迭代,在遇到大场景长闭环时难以撤回早期因窄基线造成的错误位姿;VidMap 采用离线非因果全局定位,具备更强的抗早期局部陷入能力。
- vs MP-SfM: MP-SfM 在增量 SfM 中引入单目先验,但尺度因子在重建后即被固定,且增量重建时间复杂度高;VidMap 则在全局定位与 BA 中持续将每帧尺度因子 \(s_i\) 与几何位姿联合优化,计算更加高效且自洽。
评分¶
- 新颖性: ⭐⭐⭐⭐☆ 巧妙将 SLAM 的时序约束和数据溯源思想嫁接到全局 SfM,并结合多流光流校正与单目度量深度优化。
- 实验充分度: ⭐⭐⭐⭐⭐ 在 LaMAR、CroCoDL、ETH3D、EuRoC 四个极具挑战性的基准上对比了 10 余种代表性基线,且包含极详尽的消融与运行时分析。
- 写作质量: ⭐⭐⭐⭐⭐ 逻辑严密,图文对照极清晰,问题剖析透彻,数学形式表述非常规范。
- 价值: ⭐⭐⭐⭐⭐ 为非受控、任意未知相机长视频的三维重建提供了高鲁棒、度量尺度的开源新基准,极大推动了具身智能与大模型三维数据构建。