导读:
本文引入了Motion DUSt3R (MonST3R),这是一种几何优先的动态场景方法,它以点图的形式直接估计几何形状。相比以前的工作,MonST3R具有如下关键优势:
- 增强的稳健性,特别是在具有挑战性的场景中;
- 与基于优化的方法相比,运行处理速度更快;
- 并且在视频深度估计、相机姿势估计和密集重建方面具有与专门技术相媲美的结果。 ©️【深蓝AI】编译
1. 摘要
从动态场景中估计几何形状(其中物体随时间移动和变形)仍然是计算机视觉的核心挑战。当前的方法通常依赖于多阶段系统处理或全局优化方法,将问题分解为深度和流量等子任务,导致系统复杂且容易出错。本文提出了Motion DUSt3R (MonST3R),这是一种新颖的几何优先方法,可直接从动态场景中估计每个时间步的几何形状。作者的主要见解是,通过简单地估计每个时间步的点图,可以有效地将DUSt3R的表示(以前仅用于静态场景)调整到动态场景。然而,这种方法带来了一个重大挑战:缺乏合适的训练数据,即带有深度标签的动态、摆拍视频。
但作者表明,通过将问题作为微调任务,确定几个合适的数据集,并对这些有限的数据进行针对性训练,还是能使模型能够处理动态场景,即使没有明确的运动表示。在此基础上,本文针对几个下游视频特定任务引入了新的优化,并在视频深度和相机姿态估计方面表现出色,在稳健性和效率方面优于以前的工作。此外,MonST3R在主要前馈4D重建方面同样表现出色。
2. 引言
尽管3D计算机视觉最近取得了进展,但从动态场景的视频中估计几何形状仍然是一项基本挑战。传统方法将问题分解为子问题,并通过全局优化或多阶段算法将它们结合起来进行动态场景重建。即使是最近的工作也经常采用基于优化的方法,给出从单目视频得出的中间估计值。
然而,这些多阶段方法通常很慢、很脆弱,并且每一步都容易出错。因此,如何从动态视频中进行端到端几何学习提出了重大挑战,尤其需要合适的特征来表示相机运动、多个物体运动和几何变形的复杂性,以及带注释的训练数据集。虽然先前的方法以运动和几何的结合为中心,但由于缺乏带注释的训练数据,运动通常很难直接监督。相反,本文探索仅使用几何来表示动态场景,灵感来自最近的工作DUSt3R。
对于静态场景,DUSt3R引入了一种直接回归场景几何的新范式。给定一对图像,DUSt3R生成一个点图表示 - 将每个图像中的每个像素与估计的3D位置(即xyz)相关联,并在第一帧的相机坐标系中对齐这对点图。对于多帧,DUSt3R将成对的估计值累积到全局点云中,并使用它来解决许多标准3D任务,例如单帧深度、多帧深度或相机内在和外在。
本文利用DUSt3R的点图表示来直接估计动态场景的几何形状。作者的关键见解是:可以按时间步长估计点图,并且在同一相机坐标系中表示它们对于动态场景仍然具有概念意义。如图1所示,动态场景的估计点图显示为点云,其中动态对象根据其移动方式出现在多个位置。可以通过基于静态场景元素对齐点图对来实现多帧对齐。此设置是DUSt3R对动态场景的概括,允许使用相同的网络和原始权重作为起点。
一个显然的问题是DUSt3R是否已经可以有效地处理带有移动物体的视频数据。但如图2所示,作者发现DUSt3R训练数据分布存在两个重大限制。首先,由于训练数据仅包含静态场景,因此DUSt3R无法正确对齐场景中的点图和移动物体;它通常依赖移动的前景物体进行对齐,导致静态背景元素的对齐不正确。其次,由于训练数据主要由建筑物和背景组成,因此DUSt3R有时无法正确估计前景物体的几何形状(无论其运动如何),并将它们置于背景中。原则上,这两个问题都源于训练和测试时间之间的域不匹配,可以通过重新训练网络来解决。
然而,这种对具有深度的动态姿势数据的要求带来了挑战,主要是因为它的稀缺性。现有方法(例如COLMAP)通常难以处理复杂的相机轨迹或高度动态的场景,因此很难生成用于训练的伪地面真实数据。为了解决这一限制,本文确定了几个具有作者算法所需属性的小规模数据集。本文的主要发现是,我们成功地调整DUSt3R来处理动态场景,方法是确定适当的训练策略,旨在最大限度地利用这些有限的数据并对其进行微调。然后,作者使用这些点图为特定于视频的任务引入了几种新的优化方法,并展示了视频深度和相机姿势估计的强大性能,以及主要前馈4D重建的良好结果。
3. 相关工作
3.1 运动结构和视觉SLAM
给定一组2D图像,运动结构或视觉SLAM估计场景的3D结构,同时定位相机。然而,这些方法难以处理具有移动物体的动态场景,这违反了极线约束。为了解决这个问题,最近的方法探索了深度、相机位姿和残余运动的联合估计,并可选择使用运动分割来利用静止部分的极线约束。自监督方法通过自监督代理任务学习这些任务。Casual-SAM在测试时通过联合估计相机位姿和运动掩码来微调深度网络。Robust-CVD在给定动态物体的光流和二元掩码的情况下联合优化深度和相机位姿。本文的方法直接估计点图表示中动态场景的3D结构,而无需耗时的测试时间微调。
3.2 静态3D重建的表示
基于学习的方法通过从训练数据集中学习强大的3D先验来重建物体或场景的静态3D几何形状。常用的输出表示包括点云、网格、体素、隐式表示等。DUSt3R引入了用于场景级3D重建的点图表示。给定两张输入图像,该模型在第一帧的相机坐标系中输出两张图像中每个像素的3D点。该模型隐式推断相机内在特性、相对相机位姿和双视图几何,因此可以输出具有学习到的强3D先验的对齐点云。但是,该方法仅针对静态场景。MonST3R共享DUSt3R的点图表示,但针对具有动态对象的场景。
3.3 基于学习的视觉里程计
基于学习的视觉里程计取代了基于几何的方法的手工设计部分,并且能够进行大规模训练,即使在移动物体的情况下也能更好地泛化。基于轨迹的方法估计视频序列中的长期轨迹,对其动态和静态运动进行分类,然后通过捆绑调整定位相机。联合估计方法还推断出移动物体遮罩或光流对移动物体具有鲁棒性,同时在训练期间需要它们的标注。相比之下,本文的方法直接通过点图表示输出动态场景几何形状,然后定位相机。
3.4 单目和视频深度估计
最近的深度学习工作以零样本性能为目标,结合大规模训练与合成数据集表现出对不同领域的强大泛化能力。然而,对于视频,这些方法由于仅处理单个帧和不变的训练目标而受到闪烁(附近估计之间的时间不一致)的影响。早期的视频深度估计方法通过在每个输入视频的测试时微调深度模型(有时是运动模型)来提高时间一致性。两种最近的方法试图使用生成先验来改进视频深度估计。然而,Chronodepth仍然受到基于窗口的推理的影响,而DepthCrafter产生的是尺度/移位不变的深度,这不适合许多3D应用。
3.5 4D重建
同时方法引入了动态场景的4D重建方法。给定单目视频和预先计算的估计值(例如,2D运动轨迹、深度、相机内在函数和位姿等),这些方法通过对具有变形场的3DGS函数进行测试时优化在4D空间中重建输入视频,从而促进空间和时间上的新颖视图合成。作者的方法与这些方法正交,并以前馈方式从视频中估计几何形状。本文的估计值可以用作这些方法的初始化或中间信号。
4. 方法
4.1 背景
模型架构:
本文的架构基于DUSt3R,这是一种基于ViT的架构,以自监督的方式在跨视图完成任务上进行了预训练。首先将两个输入图像分别馈送到共享编码器。随后的基于Transformer的解码器使用交叉注意处理输入特征。然后,解码器末端的两个独立头部输出第一帧和第二帧的点图,这些点图在第一帧的坐标中对齐。
带掩码的基线方法:
虽然DUSt3R是为静态场景设计的,但作者利用动态元素的知识分析了它在动态场景中的适用性。使用地面实况移动掩码,作者通过在图像和标记级别进行推理时掩蔽动态对象来调整DUSt3R,用图像中的黑色像素替换动态区域,用掩码标记替换相应的标记。然而,这种方法会导致位姿估计性能下降,可能是因为黑色像素和掩码标记相对于训练而言不在分布范围内。这促使作者在这项工作中解决这些问题。
4.2 动态训练
主要思想:
虽然DUSt3R主要关注静态场景,但所提出的MonST3R可以随时间估计动态场景的几何形状。图1显示了由点云组成的视觉示例,其中动态对象根据其移动方式出现在不同的位置。与DUSt3R类似,对于时间 t t t的单个图像 I t I^t It,MonST3R还预测点图 X t ∈ R H × W × 3 X^t \in R^{H \times W \times 3} Xt∈RH×W×3。对于一对图像 I t I^t It和 I t ′ I^{t'} It′,本文采用DUSt3R全局优化部分中使用的符号。网络预测两个相应的点图 X t ; t ← t ′ X^{t;t \leftarrow t' } Xt;t←t′和 X t ′ ; t ← t ′ X^{t';t \leftarrow t' } Xt′;t←t′,以及置信度图 C t ; t ← t ′ C^{t;t \leftarrow t' } Ct;t←t′和 C t ′ ; t ← t ′ C^{t';t \leftarrow t' } Ct′;t←t′上标中的第一个元素 t t t表示点图对应的帧, t ← t ′ t \leftarrow t' t←t′表示网络在 t t t时接收两个帧,并且点图 t ′ t' t′位于在 t t t时的相机坐标系中。与DUSt3R的主要区别在于MonST3R中的每个点图都与单个时间点相关。
训练数据集:
将动态场景建模为按时间步长的点图的一个关键挑战在于缺乏合适的训练数据,这需要同步注释输入图像、相机位姿和深度。获取现实世界动态场景的准确相机位姿尤其具有挑战性,通常依赖于传感器测量或通过运动结构 (SfM) 进行后处理,同时过滤掉移动物体。因此,作者主要利用合成数据集,其中可以在渲染过程中轻松提取准确的相机姿势和深度。
对于本文的动态微调,作者确定了四个大型视频数据集:三个合成数据集PointOdyssey、TartanAir和 Spring,以及现实世界的Waymo数据集,如表1所示。这些数据集包含各种室内/室外场景、动态物体、相机运动以及相机位姿和深度的标签。
PointOdyssey和Spring都是合成渲染的场景,带有铰接式动态物体;
TartanAir由合成渲染的不同场景的无人机飞越组成,没有动态物体;
Waymo是一个用LiDAR 标记的真实世界驾驶数据集。
在训练期间,本文对数据集进行非对称采样,以将额外的权重放在PointOdyssey(更动态、更清晰的物体)上,将较少的权重放在TartanAir(场景多样性好但静态)和Waymo(高度专业化的领域)上。图像被下采样,使得它们的最大尺寸为512。
训练策略:
由于此数据集混合体的大小相对较小,作者采用了几种旨在最大限度提高数据效率的训练技术。首先,作者只微调网络的预测头和解码器,同时冻结编码器。该策略保留了CroCo特征中的几何知识,并应减少微调所需的数据量。其次,作者通过对时间步长从1到9的两帧进行采样,为每个视频创建训练对。采样概率随步长线性增加,选择步长9的概率是步长1的两倍。这为作者提供了更大的相机和场景运动多样性,并且更重视更大的运动。第三,作者利用视野增强技术,使用具有各种图像尺度的中心裁剪。这鼓励模型跨不同的相机内在特性进行推广,即使这种变化在训练视频中相对不常见。
4.3 下游应用
内在参数和相对姿态估计:
由于内在参数是根据其自身相机框架 X t ; t ← t ′ X^{t;t \leftarrow t' } Xt;t←t′中的点图估计的,因此DUSt3R中列出的假设和计算仍然有效,作者只需要求解焦距 f t f^t ft即可获得相机内在参数 K t K^t Kt。
为了估计相对位姿 P = [ R ∣ T ] P=[R|T] P=[R∣T],其中 R R R和 T T T分别表示相机的旋转和平移,动态物体违反了使用极线矩阵或Procrustes对齐所需的几个假设。相反,作者使用RANSAC和PnP。对于大多数场景,大多数像素都是静态的,随机点样本将更加强调静态元素,并且可以使用内点稳健地估计相对姿势。
置信静态区域:
本文可以通过将估计的光流与仅将相机从 t t t到 t ′ t' t′的运动应用于 t t t处的点图而产生的流场进行比较,推断出帧 t t t、 t ′ t' t′中的静态区域。对于几何形状已被正确估计且为静态的像素,这两个流场应该一致。给定一对帧 I t I^t It和 I t ′ I^{t'} It′,我们首先计算两组点图 X t ; t ← t ′ X^{t;t \leftarrow t'} Xt;t←t′、 X t ′ ; t ← t ′ X^{t';t \leftarrow t'} Xt′;t←t′和 X t ; t ′ ← t X^{t;t' \leftarrow t } Xt;t′←t、 X t ′ ; t ′ ← t X^{t';t' \leftarrow t } Xt′;t