重新定义自动驾驶的动态视觉?谷歌提出几何优先的动态场景方法MonST3R

server/2024/10/17 23:17:40/

导读:

本文引入了Motion DUSt3R (MonST3R),这是一种几何优先的动态场景方法,它以点图的形式直接估计几何形状。相比以前的工作,MonST3R具有如下关键优势:

  • 增强的稳健性,特别是在具有挑战性的场景中;
  • 与基于优化的方法相比,运行处理速度更快;
  • 并且在视频深度估计、相机姿势估计和密集重建方面具有与专门技术相媲美的结果。 ©️【深蓝AI】编译

1. 摘要

从动态场景中估计几何形状(其中物体随时间移动和变形)仍然是计算机视觉的核心挑战。当前的方法通常依赖于多阶段系统处理或全局优化方法,将问题分解为深度和流量等子任务,导致系统复杂且容易出错。本文提出了Motion DUSt3R (MonST3R),这是一种新颖的几何优先方法,可直接从动态场景中估计每个时间步的几何形状。作者的主要见解是,通过简单地估计每个时间步的点图,可以有效地将DUSt3R的表示(以前仅用于静态场景)调整到动态场景。然而,这种方法带来了一个重大挑战:缺乏合适的训练数据,即带有深度标签的动态、摆拍视频。

但作者表明,通过将问题作为微调任务,确定几个合适的数据集,并对这些有限的数据进行针对性训练,还是能使模型能够处理动态场景,即使没有明确的运动表示。在此基础上,本文针对几个下游视频特定任务引入了新的优化,并在视频深度和相机姿态估计方面表现出色,在稳健性和效率方面优于以前的工作。此外,MonST3R在主要前馈4D重建方面同样表现出色。

图1|MonST3R以主要前馈的方式处理动态视频,以生成随时间变化的动态点云,以及每帧相机姿势和内在参数©️【深蓝AI】编译

2. 引言

图2|DUSt3R在动态场景中的局限性©️【深蓝AI】编译

尽管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 动态训练

表1|训练数据集©️【深蓝AI】编译

主要思想:

虽然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} XtRH×W×3。对于一对图像 I t I^t It I t ′ I^{t'} It,本文采用DUSt3R全局优化部分中使用的符号。网络预测两个相应的点图 X t ; t ← t ′ X^{t;t \leftarrow t' } Xt;tt X t ′ ; t ← t ′ X^{t';t \leftarrow t' } Xt;tt,以及置信度图 C t ; t ← t ′ C^{t;t \leftarrow t' } Ct;tt C t ′ ; t ← t ′ C^{t';t \leftarrow t' } Ct;tt上标中的第一个元素 t t t表示点图对应的帧, t ← t ′ t \leftarrow t' tt表示网络在 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;tt中的点图估计的,因此DUSt3R中列出的假设和计算仍然有效,作者只需要求解焦距 f t f^t ft即可获得相机内在参数 K t K^t Kt

为了估计相对位姿 P = [ R ∣ T ] P=[R|T] P=[RT],其中 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;tt X t ′ ; t ← t ′ X^{t';t \leftarrow t'} Xt;tt X t ; t ′ ← t X^{t;t' \leftarrow t } Xt;tt X t ′ ; t ′ ← t X^{t';t' \leftarrow t } Xt;tt。然后,我们使用这些点图求解每个帧的相机本征( K t K^t Kt K t ′ K^{t'} Kt)以及从 t t t t ′ t' t的相对相机姿势, P t ← t ′ = [ R t ← t ′ ∣ T t ← t ′ ] P^{t \leftarrow t'} = [R^{t \leftarrow t'}| T^{t \leftarrow t'}] Ptt=[RttTtt]如上所述。然后,我们计算由相机运动引起的光流场 F c a m t ← t ′ F^{t \leftarrow t'}_{cam} Fcamtt,通过反向投影3D中的每个像素,应用相对相机运动,并投影回图像坐标,

F c a m t ← t ′ = π ( D t ; t ← t ′ K t ′ R t ← t ′ K t − 1 x ^ + K t T t ← t ′ ) − x ( 1 ) F^{t \leftarrow t'}_{cam} = \pi(D^{t;t \leftarrow t'}K^{t'}R^{t \leftarrow t'}K^{t -1} \hat{x} + K^{t} T^{t \leftarrow t'}) -x\qquad(1) Fcamtt=π(Dt;ttKtRttKt1x^+KtTtt)x(1)

其中 x x x是像素坐标矩阵, x ^ \hat x x^是齐次坐标中的 x x x π ( ⋅ ) \pi( \cdot ) π()是投影操作 ( x , y , z ) → ( x / z , y / z ) (x,y,z) \rightarrow(x/z, y/z) (x,y,z)(x/z,y/z) D t ; t ← t ′ D^{t;t \leftarrow t' } Dt;tt是从点图 X t ; t ← t ′ X^{t;t \leftarrow t' } Xt;tt中提取的估计深度。然后作者将其与通过现成的光流方法计算的光流(即 F e s t t ← t ′ F^{t \leftarrow t'}_{est} Festtt)进行比较,并通过简单的阈值推断静态掩码 S t → t ′ S^{t \rightarrow t'} Stt

S t → t ′ = [ α ≥ ∣ ∣ F c a m t → t ′ − F e s t t → t ′ ∣ ∣ L 1 ] ( 2 ) S^{t \rightarrow t'} = [\alpha \ge||F^{t \rightarrow t'}_{cam}-F^{t \rightarrow t'}_{est}||_{L1}]\qquad(2) Stt=[α∣∣FcamttFestttL1](2)

阈值为 α \alpha α ∣ ∣ ⋅ ∣ ∣ L 1 || \cdot||_{L1} ∣∣L1表示平滑L1范数, [ ⋅ ] [ \cdot ] []表示Iverson括号。这个静态掩码既是潜在输出,也将用于以后的全局姿势优化。

图3|动态全局点云和相机姿态估计©️【深蓝AI】编译

4.4 动态全局点云和相机位姿

即使是短视频也包含许多帧(例如,24 fps的5秒视频有120帧),因此从视频中的成对点图估计中提取单个动态点云并非易事。在这里,本文详细介绍了利用成对模型和视频固有时间结构同时求解全局动态点云和相机姿势的步骤。

视频图:

对于全局对齐,DUSt3R从所有成对帧构建连接图,这个过程对于视频来说成本过高。相反,如图3左侧所示,作者使用滑动时间窗口处理视频,大大减少了所需的计算量。具体而言,给定视频 V = [ I 0 , … , I N ] V=[I^0, \dots,I^N] V=[I0,,IN],作者在大小为 w , W t = ( a , b ) ∣ a , b ∈ [ t , … , t + w ] , a ≠ b w,W^t={(a,b) | a,b \in [t,\dots,t+w], a \neq b} w,Wt=(a,b)a,b[t,,t+w],a=b并且对于所有有效窗口 W W W计算时间戳。为了进一步缩短运行时间,他们还应用了步幅采样。

动态全局点云和姿势优化:

主要目标是将所有成对的点图预测(例如, X t ; t ← t ′ , X t ′ ; t ← t ′ X^{t;t \leftarrow t' },X^{t';t \leftarrow t' } Xt;tt,Xt;tt)累积到同一个全局坐标系中,以生成世界坐标点图 X t ∈ R H × W × 3 X^t \in R^{H \times W \times 3} XtRH×W×3。为此,如图3所示,作者使用DUSt3R的对齐损失并添加两个视频特定损失项:相机轨迹平滑度和流投影。

作者首先使用相机参数 P t = [ R t ∣ T t ] , K t P^t=[R^t|T^t],K^t Pt=[RtTt],Kt和每帧深度图 D t D^t Dt重新参数化全局点图,因为 X i , j t : = P t − 1 h ( K t − 1 [ i D i , j t ; j D i , j t ; D i , j t ] ) X^t_{i,j}:=P^{t-1}h({K^t}^{-1}[iD^t_{i,j};jD^t_{i,j};D^t_{i,j}]) Xi,jt:=Pt1h(Kt1[iDi,jt;jDi,jt;Di,jt]),其中 ( i , j ) (i,j) (i,j)表示像素坐标, h ( ) h() h()表示同质映射。它允许我们直接在相机参数上定义损失。为了简化函数参数的符号,作者使用 X t X^t Xt作为 P t , D t , K t P^t,D^t,K^t Pt,Dt,Kt的快捷方式。

首先,作者使用DUSt3R中的对齐项,旨在找到一个单一的刚性变换 P t ; e P^{t;e} Pt;e将每个成对估计与世界坐标点图对齐,因为 X t ; t ← t ′ X^{t;t \leftarrow t' } Xt;tt X t ′ ; t ← t ′ X^{t';t \leftarrow t' } Xt;tt都在同一个相机坐标系中:

L a l i g n ( X , σ , P W ) = ∑ W i ∈ W ∑ e ∈ W i ∑ t ∈ e ∣ ∣ C t ; e ⋅ ( X t − σ e P t ; e X t ; e ) ∣ ∣ 1 ( 3 ) L_{align}(X, \sigma, P_W) = \sum_{W^i\in W} \sum_{e\in W^i} \sum_{t\in e} || C^{t;e} \cdot(X^t - \sigma^e P^{t;e}X^{t;e})||_1\qquad(3) Lalign(X,σ,PW)=WiWeWite∣∣Ct;e(XtσePt;eXt;e)1(3)

其中 σ e \sigma^e σe是成对比例因子。为了简化符号,使用有向边 e = ( t , t ′ ) e=(t, t') e=(t,t) t ← t ′ t \leftarrow t' tt互换使用。

本文使用相机轨迹平滑度损失来鼓励平滑的相机运动,方法是惩罚附近时间步长中相机旋转和平移的较大变化:

L s m o o t h ( X ) = ∑ t = 0 N ( ∣ ∣ R t T R t + 1 ∣ ∣ f + ∣ ∣ R t T ( T t + 1 − T t ) ∣ ∣ 2 ) ( 4 ) L_{smooth}(X) = \sum^N_{t=0}(||{R^t}^T R^{t+1}||_f+||{R^t}^T (T^{t+1}-T_t)||_2)\qquad(4) Lsmooth(X)=t=0N(∣∣RtTRt+1f+∣∣RtT(Tt+1Tt)2)(4)

其中Frobenius范数 ∣ ∣ ⋅ ∣ ∣ f || \cdot ||_f ∣∣f用于旋转差异,L2范数 ∣ ∣ ⋅ ∣ ∣ 2 || \cdot ||_2 ∣∣2用于平移差异, I I I是单位矩阵。

本文还使用流投影损失来鼓励全局点图和相机姿势与实际帧的置信静态区域的估计流保持一致。更准确地说,给定两个帧 t t t t ′ t' t,使用它们的全局点图、相机外部参数和内部参数,通过获取全局点图 X t X^t Xt来计算流场,假设场景是静态的,然后将相机从 t t t移动到 t ′ t' t。作者将这个值表示为 F c a m g l o b a l ; t → t ′ F^{global;t \rightarrow t'}_{cam} Fcamglobal;tt,类似于上面置信静态区域计算中定义的术语。然后,可以使用它接近估计的流量 F e s t t ← t ′ F^{t \leftarrow t'}_{est} Festtt,在置信静态的区域中 S g l o b a l ; t → t ′ S^{global;t \rightarrow t'} Sglobal;tt根据全局参数:

L l o w ( X ) = ∑ w i ∈ W ∑ t → t ′ ∈ W i ∣ ∣ S g l o b a l ; t → t ′ ⋅ ( F c a m g l o b a l ; t → t ′ − F e s t t → t ′ ) ∣ ∣ 1 ( 5 ) L_{low}(X)= \sum_{w^i \in W} \sum_{t \rightarrow t' \in W^i}||S^{global;t \rightarrow t'} \cdot (F^{global;t \rightarrow t'}_{cam}-F^{t \rightarrow t'}_{est})||_1\qquad(5) Llow(X)=wiWttWi∣∣Sglobal;tt(Fcamglobal;ttFesttt)1(5)

其中 ⋅ \cdot 表示元素乘法。请注意,置信静态掩码使用成对预测值(点图和相对姿势)初始化。在优化过程中,作者使用全局点图和相机参数来计算Fglobalcam并更新置信静态掩码。

本文的动态全局点云和相机姿势的完整优化是:

X ^ = a r g X , P W , σ m i n L a l i g n ( X , σ , P W ) + w s m o o t h L s m o o t h ( X ) + w f l o w L f l o w ( X ) ( 6 ) \hat{X}= arg_{X, P_W, \sigma}min L_{align}(X, \sigma, P_W)+w_{smooth}L_{smooth}(X)+w_{flow}L_{flow}(X)\qquad(6) X^=argX,PW,σminLalign(X,σ,PW)+wsmoothLsmooth(X)+wflowLflow(X)(6)

其中 w s m o o t h w_{smooth} wsmooth w f l o w w_{flow} wflow是超参数。注意,基于上述重新参数化, X ^ \hat X X^包括 D ^ \hat D D^ P ^ \hat P P^ K ^ \hat K K^的所有信息。

视频深度:

现在可以轻松获得时间一致的视频深度,传统上将其作为独立问题解决。由于本文的全局点图由相机姿势和每帧深度图 D ^ \hat D D^参数化,因此只需返回 D ^ \hat D D^即可给出视频深度。

5. 实验

MonST3R在动态场景的单目视频上运行,并联合优化视频深度和相机姿势。作者将性能与专门为每个子任务(即深度估计和相机姿势估计)设计的方法以及单目深度方法进行比较。

5.1 实验细节

训练和推理:

作者对DUSt3R的ViT-Base解码器和DPT头进行了25个epoch的微调,每个epoch使用20,000个采样图像对。作者使用AdamW优化器,学习率为 5 × 1 0 − 5 5 \times 10^{-5} 5×105,每个GPU的小批量大小为 4 4 4。在2× RTX 6000 48GB GPU上进行训练需要一天时间。对于 w = 9 w=9 w=9和步幅为2(约600对)的60帧视频进行推理大约需要30秒。

全局优化:

对于全局优化方程(6),作者将每个权重的超参数设置为 w s m o o t h = 0.01 w_{smooth}=0.01 wsmooth=0.01 w f l o w = 0.01 w_{flow}=0.01 wflow=0.01。当姿势大致对齐时,本文仅在平均值低于20时启用流量损失。如果每像素流量损失高于50,则在优化期间更新运动掩码。本文使用Adam优化器进行300次迭代,学习率为0.01,在单个RTX 6000 GPU上处理60帧视频大约需要1分钟。

5.2 单帧视频深度估计

基线:

作者将他们的方法与视频深度方法NVDS 、ChronoDepth和并行工作DepthCrafter以及单帧深度方法Depth-Anything-V2和Marigold进行了比较。

表2|视觉深度验证©️【深蓝AI】编译

作者还与视频深度和位姿联合估计方法CasualSAM进行了比较,它们解决了与作者相同的问题。这种比较尤其重要,因为联合估计比仅估计深度更具挑战性。值得注意的是,CasualSAM依赖于大量优化,而作者的方法以前馈方式运行,仅进行轻量级优化。

表3|单帧深度验证©️【深蓝AI】编译

基准和指标:

与DepthCrafter类似,作者在KITTI、Sintel和Bonn基准数据集上评估视频深度,涵盖动态和静态、室内和室外以及真实和合成数据。对于单目/单帧深度估计,作者还在NYU-v2上进行评估。作者的评估指标包括绝对相对误差(Abs Rel)和内点百分比 σ < 1.25 \sigma<1.25 σ<1.25,遵循惯例,所有方法都输出尺度和/或移位不变的深度估计。对于视频深度评估,作者按照每个序列对齐单个尺度和/或移位因子,而单帧评估采用每帧中值缩放。正如所证明的那样,移位在场景的3D几何中尤为重要,并且预测起来很重要。

结论:

如表2所示,MonST3R取得了有竞争力甚至更好的结果,甚至优于DepthCrafter等专门的视频深度估计技术。此外,MonST3R在仅尺度归一化方面明显优于DepthCrafter。如表3所示,即使针对动态场景的视频进行了微调,单帧深度估计的性能仍然与原始DUSt3R模型具有竞争力。

5.3 相机位姿估计

基线:

本文不仅与直接竞争对手(即CasualSAM和Robust-CVD)进行比较,还与一系列基于学习的动态场景视觉里程计方法进行比较,例如DROIDSLAM 、Particle-SfM、DPVO和LEAP-VO。值得注意的是,几种方法(例如DROID-SLAM、DPVO和LEAPVO)需要地面真实相机固有作为输入,而ParticleSfM是一种基于优化的方法。

表4|相机位姿估计验证©️【深蓝AI】编译

基准和指标:

作者在Sintel和TUMdynamics(遵循CasualSAM)和ScanNet(遵循ParticleSfM)上评估这些方法,以测试对静态场景的泛化。在Sintel上,作者遵循相同的评估协议,该协议排除了静态场景或具有完全直线相机运动的场景,从而总共得到14个序列。对于TUM-dynamics和ScanNet,作者以时间步长3对前90帧进行采样以节省计算。在对地面实况进行Sim(3)Umeyama对齐后,绝对平移误差(ATE)、相对平移误差(RPE trans)和相对旋转误差(RPE rot)。

结论:

在表4中,MonST3R在联合深度和姿势估计方面取得了最佳准确率,并且即使不使用地面实况相机内在函数,其表现也与仅姿势方法相当。作者的方法还可以很好地推广到静态场景(即ScanNet),甚至比DUSt3R也有所改进,这证明了作者的设计对于视频输入的有效性。

表5|消融实验结果对比©️【深蓝AI】编译

5.4 联合稠密重建和位姿估计

图4定性地比较了作者的方法与CasualSAM和DUSt3R在视频序列上的联合密集重建和DAVIS上的姿势估计。对于每个视频序列,作者将与估计的相机姿势对齐的叠加点云可视化,显示为具有不同视点的两行,以便更好地进行可视化。如图2所示,DUSt3R难以估计移动前景物体的正确几何形状,导致联合相机姿势估计和密集重建失败。CasualSAM可以可靠地估计相机轨迹,但有时无法为前景物体生成正确的几何估计。MonST3R输出可靠的相机轨迹和视频序列中整个场景的重建。

5.5 消融实验

表5展示了一项消融研究,分析了本文方法中的设计选择的影响,包括训练数据集的选择、微调策略和用于动态点云优化的新型损失函数。本文的分析表明:

1)所有数据集都有助于提高相机姿势估计性能;

2)仅对解码器和头部进行微调优于替代策略;

3)提出的损失函数增强了姿势估计,对视频深度精度的影响小。

虽然MonST3R代表了直接从视频以及相机姿势和视频深度估计动态几何形状的有希望的一步,但仍然存在局限性。虽然作者的方法与以前的方法不同,理论上可以处理动态相机内在函数,但作者发现,在实践中,这需要仔细的超参数调整或手动约束。与许多深度学习方法一样,MonST3R难以应对分布外的输入,例如开阔的田野。扩展训练集是使MonST3R对野外视频更具鲁棒性的关键方向。

图4|定性结果对比©️【深蓝AI】编译

6. 总结

本文提出了MonST3R,可以直接估计动态场景的几何形状并提取相机姿势和视频深度等下游信息。MonST3R利用每个时间步长的点图作为动态场景的强大表示。尽管在相对较小的训练数据集上进行了微调,但MonST3R在下游任务上取得了令人印象深刻的成果,甚至超越了最先进的专业技术。©️【深蓝AI】

Ref:
MonST3R: A Simple Approach for Estimating Geometry in the Presence of Motion
编译|匡吉
审核|Los

第二届线下自主机器人研讨会(ARTS)即将召开👇
第二届ARTS报名入口即详情须知
第二届ARTS奖学金通知
ARTS 2024 学术辩论通知抢“鲜”发布


http://www.ppmy.cn/server/132611.html

相关文章

JavaScript前端开发技术

JavaScript前端开发技术 引言 JavaScript&#xff08;简称JS&#xff09;是一种广泛使用的脚本语言&#xff0c;特别在前端开发领域&#xff0c;它几乎成为了网页开发的标配。从简单的表单验证到复杂的单页应用&#xff08;SPA&#xff09;&#xff0c;JavaScript都扮演着不可…

2024ideaUI切换和svn与git的切换

2024的UI实在很不舒服&#xff0c;隐藏了很多按键&#xff1b; 第一步&#xff1a; 视图 -》 外观 -》 工具栏选出来&#xff1b; 结果出来&#xff1a; 运行的按键和设置的按钮 第二步 点击设置的按钮&#xff0c;选择最后一个&#xff0c;重启就行 结果 舒服&#xff01; s…

代码随想录训练营Day30 | 491.递增子序列 | 46.全排列 | 47.全排列 II

学习文档&#xff1a;代码随想录 (programmercarl.com) 学习视频&#xff1a;代码随想录算法公开课 | 最强算法公开课 | 代码随想录 (programmercarl.com) Leetcode 491. 非递减子序列 题目描述 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列…

jenkins中的allure和email问题梳理

一、allure相关 1、我安装了jenkins之后需要再安装allure吗&#xff1f;在jenkins插件中心直接安装allure 1.Allure Jenkins Plugin 只是一个集成插件&#xff0c;它要求你在 Jenkins 服务器上安装 Allure 命令行工具&#xff08;Allure Commandline&#xff09;来实际生成报…

【Linux】解答:为什么创建目录文件,硬链接数是2;创建普通文件时,硬链接数是1?(超详细图文)

前言 大家好吖&#xff0c;欢迎来到 YY 滴Linux系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Lin…

TongWeb跨域问题处理

这里写自定义目录标题 现象排查思路 现象 f12控制台报错Access to XMLHttpRequest at ‘xxx’ from origin ‘xxxx’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is pr…

人工智能和机器学习之线性代数(二)

人工智能和机器学习之线性代数(二) 本文Linear Algebra 101 for AI/ML – Part 2将通过介绍向量的点积(dot Product)、Embedding及其在相似性搜索中的应用来建立这些基础知识。 将学习Embedding&#xff0c;Embedding是表示概念、对象和想法的特殊类型的向量。Embedding在整个…

Java常问面试题——选择题和问答题

一、选择题 1、ArrayList list new ArrayList(20);语句中的 list 集合大小扩充了几次&#xff08;A&#xff09; A.0 B.1 C.2 D.3 2、如果去掉了 main 方法的 static 修饰符会怎样&#xff08;B&#xff09; A.程序无法翻译 B.程序能正常编译&#xff0c;运行时或抛出No…