前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Google/UC/Michigam University 联合提出 MegaSaM:融合多技术优势,重塑相机跟踪与深度估计 !

Google/UC/Michigam University 联合提出 MegaSaM:融合多技术优势,重塑相机跟踪与深度估计 !

作者头像
未来先知
发布2025-01-14 20:52:48
发布2025-01-14 20:52:48
1010
举报
文章被收录于专栏:未来先知未来先知

作者提出了一种系统,能够在动态场景的随意单目视频中实现准确、快速且稳健的相机参数和深度图估算。大多数传统的结构从运动和单目SLAM技术都假设输入视频主要包含静态场景,并具有大量的视差。 在缺乏这些条件的情况下,此类方法往往会生成错误的估计。近年来基于神经网络的方法试图克服这些挑战; 然而,这类方法要么计算成本高昂,要么在运行于具有不受控摄像机运动或未知视场的动态视频时表现脆弱。 作者展示了深度视觉SLAM框架的惊人效果:通过对训练和推理方案进行细致的修改,该系统可以扩展到复杂动态场景的真实世界视频中,包括摄像机路径未受约束的视频,以及几乎没有摄像机视差的视频。 在合成和真实视频上的广泛实验表明,与先前和同期的工作相比,作者的系统在相机姿态和深度估算方面具有更高的准确性和鲁棒性,并且运行时间更快或相当。 请参阅作者项目页面上的交互式结果:mega-sam.github.io。

1. Introduction

从一组图像中提取相机参数和场景几何结构是计算机视觉中的一个基本问题,通常被称为运动恢复结构(SfM)或同时定位与建图(SLAM)。尽管几十年的研究已经产生了适用于静止场景且具有大 Baseline 相机的成熟算法,但在处理在非受控环境中拍摄的手持相机捕捉的随意单目视频时,这些方法往往会失效[26, 78]。此类视频通常表现出有限的摄像机运动视差(例如,几乎静止或旋转相机),并且焦距范围广泛,并且常包含移动物体和场景动态变化。为了应对这些挑战,最近的研究主要集中在两种主要策略上:通过微调单目深度网络优化相机和场景几何结构,或者重构辐射场;或将来自单目视频的中间估计值(如深度、流场、长期轨迹和运动分割)结合到全局优化框架中。然而,当应用于包含长时间段、任意相机路径或复杂场景动态的不受约束视频时,这些方法往往是计算成本高昂或不够稳健的。

在本研究中,作者提出了MegaSaM,这是一个完整的端到端框架,用于从自然场景动态视频中实现准确、快速且鲁棒的相机跟踪和深度估计。作者的方法结合了多项先前工作的优点,取得了前所未有的高质量成果,如图1所示。特别是,作者重新审视并扩展了先前的深度视觉SLAM框架以进行相机跟踪。深度视觉SLAM系统,如DROID-SLAM [59],的一个显著特点是它们采用了可微分的bundle调整(BA)层,该层通过迭代更新场景几何结构和相机姿态变量,并通过相机和流监督从大量数据中学习中间预测。作者发现这样的学习层对于在更具挑战性的动态视频场景中实现准确且高效的相机姿态估计至关重要。在此基础上,作者的一项关键创新是将单目深度先验信息和运动概率图集成到一个可微分的SLAM框架中。

此外,作者分析了视频中结构和相机参数的可观测性,并引入了一种考虑不确定性全局BA方案,该方案在输入视频对相机参数约束不足时提高了系统的鲁棒性。作者还展示了如何在无需测试时网络微调的情况下,高效且准确地获得一致的视频深度。在合成数据集和真实世界数据集上的广泛评估表明,作者的系统在相机和深度估计准确性方面显著优于先前和同时期的 Baseline 系统,同时实现了可竞争或更优的运行时性能。

2. Related Work

SLAM和SfM用于从视频序列或无序图像集合中估计相机参数和三维场景结构。传统方法通常首先通过特征匹配或光度对齐[9, 10, 38]来估计图像之间的2D对应关系。然后,通过束调整(BA)[61]最小化再投影或光度一致性误差来优化三维点的位置和相机参数。

近年来,一些采用深度神经网络估计成对或长程对应关系的深度视觉SLAM和结构从运动系统已经涌现出来,用于重建辐射场[11, 33, 41]或全局三维点云[28, 66]。虽然这些方法能够实现精确的相机追踪和重建,但它们通常假设场景主要静态且帧间具有足够的相机 Baseline 。因此,在场景动态存在或相机视差有限的情况下,它们的表现可能会显著下降甚至完全失效。

近年来,一些研究工作与作者的目标相似,旨在解决这些限制问题。Robust-CVD [26] 和 CasualSAM [78] 通过优化空间变化样条或微调单目深度网络,共同估计动态视频中的相机参数和密集深度图。Particle-SfM [79] 和 LEAP-VO [6] 首先基于长距离轨迹推理移动物体的 Mask ,然后利用这些信息在协调整体调整中降低特征的贡献度。同时进行的工作 MonST3R [76] 采用来自 DuST3R [66] 的三维点云表示,并通过额外的对齐优化定位相机。作者提出的方法具有类似的理念,但实验证明,将可微结构光测景系统与底层动态场景的中间预测结果相结合可以显著提高性能。

单目深度估计。近年来,在大量合成和现实世界数据上训练深层神经网络的研究表明,单目深度预测在野外单张图像上的泛化能力很强。然而,这些基于单张图像的模型往往会在视频中产生时间上不一致的深度图。为了克服这个问题,先前的技术提出通过测试时优化[35, 77]对单目深度模型进行微调,或者使用 Transformer 或扩散模型直接预测视频深度[20, 53, 69]。作者的方法遵循了这一范式的精髓,但作者的结果显示,作者可以在不为每个视频进行昂贵的网络微调的情况下,实现更好的视频深度质量。

动态场景重建。近年来,有几项工作采用了时间变化的辐射场表示方法来进行动态场景重建和来自野外视频的新视角合成 [12, 27, 31, 32, 34, 39, 40, 64, 67, 70]。作者的研究与这些大多数技术都是独立的,因为大多数辐射场重建方法需要摄像机参数或视频深度图作为输入,而作者输出的结果可以作为这些系统的输入。

3. MegaSaM

给定一个未加约束的连续视频序列 ,作者的目标是在保留输入视频中摄像机和物体运动约束的情况下,估计摄像机姿态 和焦距 (如果未知),以及密集视频 。作者所设计的摄像机跟踪模块和视频深度估计模块分别基于先前的深度视觉SLAM(特别是DROID-SLAM [59])和因果结构与运动[78]框架。

在接下来的部分中,作者首先总结了一种针对具有足够相机运动视差的静止场景视频跟踪的深度视觉SLAM框架的关键组件(第3.1节)。然后介绍了该框架在训练和推理阶段的关键修改,这些修改使得对于不受约束的动态视频能够实现快速、稳健且准确的相机跟踪(第3.2节)。最后,作者演示了如何高效地估计给定估计的相机参数的一致视频深度(第3.3节)。

3.1. Deep visual SLAM formulation

深度视觉SLAM系统如DROID-SLAM [59]通过一个可微分的学习式联合调整(BA)层来迭代更新结构和运动参数。具体来说,在处理视频时,它们会跟踪两个状态变量:每帧低分辨率的视差图,以及相机姿态。这些变量在训练和推理阶段通过可微分的BA层进行迭代更新,该层基于由具有重叠视野的帧动态构建的图像对集进行操作。

此外,刚性运动对应的对应场还可以通过摄像机自身运动和视差通过多视图约束来推导得出。

其中 表示网格像素坐标, 表示透视投影算子, 是图像 和 之间的相对相机姿态,而 表示相机内参矩阵。

可微配准调整。DROID-SLAM 假设已知焦距,但在野外视频中焦距通常不是先验已知的。因此,作者通过迭代最小化当前由网络预测的流与从相机参数和视差派生的刚体运动流之间的加权重投影代价来优化相机姿态、焦距和视差:

其中权重为:

为了实现端到端的可微训练,作者使用 levenberg-marquardt 算法对式 2 进行优化:

其中, 是状态变量的参数更新, 是重投影残差关于参数的雅可比矩阵, 是一个对角矩阵,包含每对帧中的 。 是网络在每次BA迭代期间预测的一个阻尼因子。

由于每个成对再投影项(Eq. 2)中只包含一个视差变量,因此Eq. 4中的为对角矩阵。因此,作者可以通过Schur补技巧[61]高效地计算参数更新,从而实现端到端可微优化(fully differentiable BA更新)。

训练。流和不确定性预测是从一系列静态场景的合成视频序列中端到端训练得到的:

其中, 和 是损失项,用于对比BA层估计的相机参数和由ego-motion引起的流与相应的GT。

3.2. Scaling to in-the-wild dynamic videos

深度视觉SLAM在静态场景的视频和具有足够摄像机平移的视频上表现合理,但在处理动态内容的视频或限制视角差的视频时性能会下降,如图2第一列所示。为了克服这些问题,作者对原始的训练和推理Pipeline进行了关键的修改。首先,作者的模型预测目标运动图,这些图与流和不确定性一起学习,以在可微分的BA层中降低动态元素的影响权重。

其次,作者提出了将单目深度估计中的先验集成到训练和推理Pipeline中,并进行感知不确定性的全局BA,这两种方法都有助于解决具有挑战性的 casual 动态视频中的目标和摄像机运动混淆问题。作者的系统仅使用合成数据进行训练,但作者证明了它对真实世界视频的强大泛化能力。

3.2.1 Training

学习运动概率。回想第3.1节中的内容,对于每一对选定的图像 ,作者的模型在每次BA迭代中预测一个2D流 及其相关的置信度 ,并且这些预测是从静态场景的合成序列中监督出来的。为了使模型能够处理动态场景,作者可以直接使用带有相应GT监督的动态场景视频来训练模型的预测结果,希望在训练过程中,两幅图像之间的不确定性能够自动包含目标的运动信息。然而,作者发现这种简单的训练策略往往会由于可微BA层不稳定的行为而导致生成次优的结果。

相反,作者建议使用一个额外的网络来迭代预测物体运动概率图,该预测基于当前帧及其邻近关键帧集合。这个运动图特别用于根据多帧信息预测动态内容对应的像素。在每次BA迭代过程中,作者将成对的光流置信度与物体运动图结合,形成最终权重,如公式2所示:。

此外,作者设计了一种两阶段训练方案,通过混合静态和动态视频来训练模型,以有效学习二维光流以及运动概率图。在第一阶段自我运动预训练中,作者利用静态场景的合成数据(不包含动态视频数据)监督原始深度SLAM模型预测的光流和置信图(使用公式7中的损失),从而训练该模型有效地学习由自我运动引起的成对光流及其置信度。在第二阶段动态微调中,作者冻结的参数,并在合成的动态视频上微调,在每次迭代中将与作者预训练过的的特征进行条件约束,以预测运动概率图,并使用相机和交叉熵损失进行监督。

本阶段将学习场景动态与学习2D对应关系分离开来,从而为可微优化的BA框架带来了更稳定和有效的训练行为。作者发现在动态视频中生成准确相机估计结果时,这种训练方案至关重要,如作者的消融研究所示。作者在图3中可视化了学习到的运动概率图。

视差和相机初始化。DROID-SLAM 通过将其设置为常数值 1 来初始化视差 ,然而作者发现这种方法在具有有限摄像机 Baseline 和复杂场景动态的视频中无法进行准确的相机跟踪。受到近期研究工作 [31, 32, 34, 64] 的启发,在训练和推理阶段,作者采用数据驱动的方法通过整合单目深度先验来进行初始化。在训练过程中,作者使用 DepthAnything [71] 提供的视距,并结合每条训练序列的估计全局尺度和平移值来初始化 。对于每条训练序列,作者首先将前两个相机姿态初始化为 GT 值以消除量纲歧义,并通过随机扰动 GT 值的 25% 来初始化相机焦距。

3.2.2 Inference

作者的推理Pipeline由两个组件组成:(i) 前端模块通过帧选择后进行滑动窗口BA来注册关键帧。(ii) 后端模块通过对所有视频帧进行全局BA来细化估计值。在本小节中,作者描述了推理过程中的修改内容。

初始化与前端跟踪。类似于训练过程,作者将单目深度预测和焦距预测纳入推理pipeline中。

UniDepth模型还预测了每一帧的焦距;作者通过整个视频帧的中值估计来获得初始焦距估计,并在前端阶段固定。

为了初始化SLAM系统,作者累积具有充分相对运动的关键帧,直到作者拥有一个包含个活跃图像的集合。作者通过固定视差变量至对齐单目视差来进行相机运动唯一的束调整来初始化这些关键帧的相机姿态。初始化完成后,作者将逐步增加新的关键帧,移除旧的关键帧,并以滑动窗口的方式进行局部BA,其中每个关键帧的视差也被初始化为对齐单视差。在此阶段,BA代价函数包括重新投影误差和单深度正则化项:

不确定性感知的整体BA。后端模块首先对所有关键帧进行全局BA。然后,该模块执行姿态图优化以注册非关键帧的姿态。最后,后端模块通过整体BA对所有视频帧的相机轨迹进行全面细化。

这个设计提出了一个问题:作者是否应该(或何时应该)将来自式9的一维深度正则化加入全局束调整中?一方面,如果输入视频中有足够的摄像机 Baseline ,作者会发现一维深度正则化并非必需,因为问题已经得到了很好的约束,实际上一维深度带来的误差反而可能降低摄像机跟踪的准确性。另一方面,如果视频是由 Baseline 较小的旋转摄像机拍摄的,那么仅进行再投影的束调整而没有附加约束会导致退化的解,如图2第二列所示。

为了说明这一点,作者探讨了线性系统Eq. 4中的近似海森矩阵。正如Goli等人[14]所显示的,给定后验概率,作者可以使用拉普拉斯近似来估算变量的协方差,通过逆海森矩阵:,其中是参数的最大后验估计值,而表示估计变量的精神性不确定性[23]。由于当输入帧数量较大时完全海森矩阵的逆运算计算成本高昂,作者遵循Ritter等人[48]的方法,通过海森矩阵的对角线来近似。

直观地讲,当作者考虑公式2中的再投影误差时,估计变量的雅克比矩阵表示如果扰动这些变量,再投影误差会变化多少。因此,在扰动参数对再投影误差影响很小的情况下,不确定性较大。具体地,让作者考虑视差变量。在极端情况下,假设输入视频是由一个静止相机拍摄的。在这种情况下,随着视差变化,两两再投影误差不会发生变化,这意味着估计的视差具有较大的不确定性;也就是说,仅从视频本身无法观察到视差。作者通过图4可视化了估计归一化视差的空间不确定性:第一行显示了一个以旋转为主导运动的视频,而第二行显示的是由向前移动的相机拍摄的视频。从第三列的颜色条中可以看出,第一个例子中的视差不确定性范围要大得多。

这种不确定性量化为作者提供了衡量相机和视差参数可观测性的度量方法,使作者能够决定在哪里添加单目深度正则化(以及在什么情况下应关闭相机焦距优化)。

实际上,作者发现对于测试的所有视频来说,简单地检查归一化视差的中位数不确定性和归一化焦距长度的不确定性非常有效。特别地,在完成前端跟踪后,作者从所有关键帧形成视差海森矩阵,计算其对角线元素的中位数,以及共享焦距的海森矩阵元素。然后,基于视差海森矩阵的中位数设置单目深度正则化的权重。换句话说,当由于摄像机运动视差不足而导致摄像机姿态无法仅从输入视频中观测到时,作者启用单目深度正则化。此外,如果,作者禁用焦距优化,因为这一条件表明焦距很可能仅从输入中无法观测到。

3.3. Consistent depth optimization

可选地,在给定估计的相机参数的情况下,可以获取比估计的低分辨率视差变量更高分辨率且更准确和一致的视频深度。

特别是在此研究中,作者遵循CasualSAM [78]的方法,并对视频深度及其每帧aleatoric不确定性图进行了额外的一阶优化。作者的目标函数包括三个成本函数:

其中, 表示成对的二维流再投影损失, 是时间深度一致性损失,而 是尺度不变的单目深度先验损失。作者从一个现成的模块 [58] 中推导出原始帧分辨率下的二维光学流。

请注意,作者的设计与CasualSAM相比有几个不同之处:(i) 作者没有进行耗时的单目深度网络微调,而是构建并优化了一组变量来对输入视频中的视差和不确定性进行建模;(ii) 在优化过程中,作者固定了相机参数,而不是同时优化相机和深度;(iii) 作者采用了表面法线一致性损失和多尺度深度梯度匹配损失[29, 50]来替代CasualSAM中使用的深度先验损失[78]。作者发现这些修改使得优化过程更快,并且视频深度估计更为准确。读者可以在补充材料中获取更多关于损失函数和优化方案的详细信息。

4. Experiments

实施细节。在作者的两阶段训练方案中,首先作者在静态场景的合成数据上预训练模型,这些数据包括来自TartanAir [68] 的163个场景和来自静止Kubric [15] 的5000个视频片段。在第二阶段,作者使用Kubric [15] 提供的11000个动态视频片段对运动模块进行微调。每个训练示例包含一段7帧的视频序列。在训练过程中,作者设置了权重参数。使用Adam优化器 [24] 训练相机跟踪模块大约需要4天时间,使用8块Nvidia 80G A100显卡。在初始化和前端阶段,作者将单目深度正则化权重设置为。在后端阶段,作者设定了。对于一致的视频深度优化,作者设定了。作者的优化在Sintel的分辨率为的视频深度上的平均运行时间为1.3 FPS,但在视觉展示和评估时,作者使用的分辨率为。作者建议读者参阅补充材料以获得网络架构和其他训练/推理设置的更多信息。

Baseline 方法。作者将MegaSaM与近期的相机姿态估计算法在已校准(已知焦距)和未校准(未知焦距)视频上进行比较。ACE-Zero [3] 是一种基于场景坐标回归的最先进的相机定位方法,适用于静态场景。CasualSAM [78] 和 RoDynRF [34] 通过优化单目深度网络或instant-NGP [36] 共同估计相机参数和密集场景几何结构。

Particle-SfM [79] 和 LEAP-VO [6] 通过预测长时间轨迹中的运动分割来从动态视频中估计相机,然后使用这些信息在标准视觉里程计或SfM Pipeline 中遮挡移动目标。当前工作的MonST3R [76] 扩展了Dust3R [66],以便处理动态场景,并从输入帧对预测的全局3D点云中估计相机参数。为了评估深度准确性,作者将作者的输出与CasualSAM、MonST3R和VideoCrafter [20] 的输出进行比较。作者还为了完整性起见包括了DepthAnything-V2 [72] 的原始单目深度数据。作者在同一台机器上使用各自的开源实现,使用单个Nvidia A100 GPU运行上述所有 Baseline 方法。

4.1. Benchmarks and metrics

MPI 水手号数据集。MPI 水手号 [4] 数据集包括包含复杂物体运动和相机路径的动画视频序列。按照 CasualSAM [78] 的做法,作者在数据集中选择来自该数据集的 18 个序列进行评估,每个序列由 20 至 50 张图像组成。

DyCheck 数据集 [12] 最初用于评估新颖视图合成任务,包含了由手持相机拍摄的真实世界动态场景视频。每段视频包含 180 到 500 帧。作者使用了来自 Shape of Motion [64] 提供的精炼摄像机参数和传感器深度作为 Ground Truth。

在自然场景中。作者进一步在野外动态视频上进行了评估。具体而言,作者在 DynIBaR [32] 使用的 12 个野外视频上进行了对比实验。这些视频包含长时间跨度(100-600 帧)、不受控的摄像机路径以及复杂场景运动。作者通过实例分割 [17] 构建了 GT 运动 Mask ,其中手动指定了实例 ID,并在运行 COLMAP [51] 以获得可靠的摄像机参数之前使用它们来遮挡移动目标。

评价指标。作者使用标准误差指标来评估相机位姿估计:绝对平移误差(ATE)、相对平移误差(RTE)和相对旋转误差(RRE)。参考CasualSaM的做法,作者将地面truth相机轨迹归一化为单位长度,因为不同视频中的相机轨迹差异很大,具有更长轨迹的视频在计算出的指标中可能会有更大的影响。对于所有方法,作者通过Umeyama对齐[62]计算全局Sim(3)变换,使估计的相机路径与地面truth轨迹对齐。作者通过将每种方法的总运行时间除以输入帧数来报告平均运行时间。此外,作者比较了估计的视频深度质量与最近的 Baseline 方法,并采用标准深度指标:绝对相对误差、对数RMSE和Delta精度。作者遵循标准评估协议,排除距离超过100米的点。对于所有方法,作者通过全局尺度和平移估算将预测的视频深度与地面truth对齐。

4.2. Quantitative Comparisons

在三个基准上的相机姿态估计数值结果分别报告在表1、表2和表3中。作者的方法展示了显著的改进,并且在所有误差指标上均实现了最佳的相机跟踪准确性,同时在运行时间方面具有竞争力。值得注意的是,即使MonST3R [76] 使用了更近期的全局3D点云表示来处理动态场景,作者的方法在稳健性和准确性方面仍优于MonST3R。此外,作者在表4中报告了在Sintel和Dycheck上的深度预测结果。作者的深度估计指标再次在所有评价标准上显著优于其他 Baseline 方法。

4.3.Ablation study

作者进行了消融实验以验证相机跟踪和深度估计模块中主要设计选择的有效性。具体来说,作者使用不同的配置评估了相机跟踪结果:1) 原版Droid-SLAM [59],2) 不进行单目深度初始化(无mono-init.),3) 不预测物体运动图(无),4) 直接在动态视频上训练模型而不使用提出的两阶段训练方案(无2-stage train.),5) 在全局BA过程中始终开启单目深度正则化(无u-BA)。此外,作者还对视频深度估计中的两个主要设计决策进行了消融分析:1) 联合优化相机姿态和平面深度估计(无ft-pose),2) 使用CasualSAM的原始单目深度先验损失而非作者提出的(无新)。如表5所示,作者的完整系统在所有其他替代配置中表现最佳。

4.4. Qualitative Comparisons

图5展示了在三个基准上的定性比较,作者的方法和其他 Baseline 方法估计的相机轨迹在2D中的表现,并且作者估计的相机位置与GT最为接近。此外,在图6中,作者可视化并比较了作者方法和两种最近的基于优化的技术CasualSAM [78]及MonST3R [76]估计的视频深度。特别地,作者可视化了参考帧的深度图及其在整个视频中对应的深度切片。作者的方法再次产生更准确、更详细且时间上一致的视频深度。

最后,作者通过在DAVIS [42]中的具有挑战性的示例中可视化它们的估计相机和未投影的深度图,比较了不同方法在重建质量和摄像机跟踪质量上的差异。如图7所示,CasualSaM往往会生成失真的3D点云,而MonST3R错误地将旋转摄像机运动视为平移运动。相比之下,作者的方法能够为这类具有挑战性的输入产生更准确的摄像机轨迹并提供更为一致的几何结构。

5. Discussion and conclusion

局限性. 尽管作者的方法在多种野外视频中表现出色,但作者发现,在极具有挑战性的场景中,该方法可能会失败,这与先前工作的发现[78]相似。

例如,当移动物体占据整个图像时,或当系统没有可靠跟踪目标时,相机追踪会失败。请参见补充材料以查看失败案例。此外,作者的系统无法处理具有变化焦距或视频内强烈径向失真的视频。将当前视觉基础模型中的更好先验知识集成到 Pipeline 中是一个值得探索的未来研究方向。

参考

[0]. MegaSaM: Accurate, Fast, and Robust Structure and Motion from Casual Dynamic Videos .

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未来先知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Introduction
  • 2. Related Work
  • 3. MegaSaM
    • 3.1. Deep visual SLAM formulation
    • 3.2. Scaling to in-the-wild dynamic videos
      • 3.2.1 Training
      • 3.2.2 Inference
    • 3.3. Consistent depth optimization
  • 4. Experiments
    • 4.1. Benchmarks and metrics
    • 4.2. Quantitative Comparisons
    • 4.3.Ablation study
    • 4.4. Qualitative Comparisons
  • 5. Discussion and conclusion
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档