增强现实系列—Map-Relative Pose Regression for Visual Re-Localization

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中一起航行,共同成长,探索技术的无限可能。

🚀 探索专栏:学步_技术的首页 —— 持续学习,不断进步,让学习成为我们共同的习惯,让总结成为我们前进的动力。

🔍 技术导航:

  • 人工智能:深入探讨人工智能领域核心技术。
  • 自动驾驶:分享自动驾驶领域核心技术和实战经验。
  • 环境配置:分享Linux环境下相关技术领域环境配置所遇到的问题解决经验。
  • 图像生成:分享图像生成领域核心技术和实战经验。
  • 虚拟现实技术:分享虚拟现实技术领域核心技术和实战经验。

🌈 非常期待在这个数字世界里与您相遇,一起学习、探讨、成长。不要忘了订阅本专栏,让我们的技术之旅不再孤单!

💖💖💖 ✨✨ 欢迎关注和订阅,一起开启技术探索之旅! ✨✨

文章目录

  • 1. 背景介绍
        • 我们的主要贡献总结如下:
  • 2. 方法
    • 2.1 架构概述
    • 2.2 相对地图姿态回归架构
      • 2.2.1 动态位置编码
      • 2.2.2 深层 Transformer 的再注意机制
      • 2.2.3 姿态回归头
    • 2.3 损失函数
    • 2.4 (可选)微调姿态回归器
  • 3. 实验
    • 3.1 实现细节
    • 3.2 定量评估
    • 3.3 消融实验
  • 4. 结论

1. 背景介绍

姿态回归网络预测查询图像相对于已知环境的相机姿态。在这类方法中,绝对姿态回归(APR)最近在位置误差范围达到几厘米级的精度方面显示出令人鼓舞的准确性。APR 网络将场景几何信息隐式地编码在其权重中。为了达到高精度,它们需要大量的训练数据,这些数据实际上只能通过耗时数天的新视图合成来创建。对于每个新场景,这一过程都必须反复进行。

我们提出了一种新的姿态回归方法,称为 相对于地图的姿态回归(map-relative pose regression, marepo),能够以与场景无关的方式满足姿态回归网络对数据的需求。我们将姿态回归器与特定场景的地图表示进行条件化,从而使其姿态预测相对于场景地图。这使我们能够在数百个场景中训练姿态回归器,以学习场景特定地图表示和相机姿态之间的通用关系。
在这里插入图片描述
我们的相对地图姿态回归器可以立即应用于新的地图表示,或者通过几分钟的微调以达到最高的准确性。我们的方法在两个公共数据集(室内和室外)上远远优于之前的姿态回归方法。代码已公开:https://nianticlabs.github.io/marepo。

如今,神经网络几乎已经征服了计算机视觉的各个领域,但仍有一个任务它们尚难以解决:视觉重定位。那么,什么是视觉重定位呢?给定一组映射图像及其在公共坐标系中表达的姿态,构建场景表示。随后,给定一个查询图像,估计其相对于场景的姿态,即位置和方向。

视觉重定位的成功方法依赖于预测图像与场景的对应关系,可以通过匹配 [8, 21, 38–40, 42, 57] 或直接回归 [4–6, 14, 56] 来实现,然后使用传统且稳健的算法,如 PnP [18] 和 RANSAC [17],来解决姿态。

从不同的角度看,基于姿态回归的方法 [12, 25, 32, 46] 尝试不借助传统姿态求解,使用单个前馈神经网络从单张图像中推断姿态。映射数据被视为训练集,摄像机的外部参数用于监督。总体而言,姿态回归方法有两种类型,但与基于对应关系的方法相比,它们在准确性方面存在不足。

绝对姿态回归(APR) 方法 [7, 24, 25] 为每个独立场景训练专用的姿态回归器,能够预测相机相对于特定场景的姿态。虽然场景坐标空间可以隐式编码到神经网络的权重中,但绝对姿态回归器在姿态估计的准确性上较低,主要是因为每个场景通常可用的训练数据有限,并且难以对未见过的视角进行泛化 [43]。

相对姿态回归 是姿态回归方法的另一种类型 [10, 16, 26, 51, 54]。回归器被训练用于预测两个图像之间的相对姿态。在典型的推理场景中,回归器被应用于由未见的查询图像和映射集中某一图像(通常通过最近邻匹配选择)构成的图像对;然后,预测的相对姿态可以与映射图像的已知姿态相结合,得出绝对查询姿态。这些方法可以在大量与场景无关的数据上进行训练,但其准确性仍然有限:两个图像之间的度量姿态只能大致预测 [2]。

针对这些局限性,我们提出了一种新的绝对姿态回归形式:相对地图姿态回归(marepo)。我们将特定场景的表示(对每个目标场景的尺度-度量参考空间进行编码)与通用、场景无关的绝对姿态回归网络相结合。具体来说,我们利用快速训练的场景坐标回归模型作为场景表示,预先训练一个姿态回归网络,使其学习场景坐标预测与相应相机姿态之间的关系。这种通用关系允许我们在数百个不同场景中训练姿态回归器,有效解决绝对姿态回归模型因训练数据有限而产生的问题。此外,由于在定位时我们的姿态回归器以特定场景的地图表示为条件,它能够预测准确的尺度-度量姿态,与相对姿态回归器不同。

我们的实验表明,marepo 是一种姿态回归网络,其准确性可与基于结构的重定位方法相媲美(例如 [6]),并且远远超过所有其他单帧绝对姿态回归方法(见图1)。我们的与场景无关的姿态回归器可以立即应用于每个新的场景表示,或(可选地)通过几分钟的微调以获得最佳精度。

我们的主要贡献总结如下:
  1. 我们提出了 marepo,一种新的绝对姿态回归方法,它将通用且与场景无关的相对地图姿态回归与场景特定的度量表示相结合。我们展示了该网络可以在之前未见过的图像上执行端到端推理,并且由于场景特定组件中所编码的强大且明确的3D几何知识,能够直接估计准确的、绝对的、度量的姿态。

  2. 我们引入了一种基于 Transformer 的网络架构,能够处理查询图像中的2D位置与之前映射场景参考系统中的对应3D坐标之间的密集对应关系,并估计捕获查询图像的相机姿态。我们进一步展示了应用于查询图像2D位置的动态位置编码如何通过在 Transformer 输入中编码相机内参,显著提高方法性能。

2. 方法

当前流行的姿态回归方法主要基于端到端的神经网络方法,可以表示为 P ^ = F ( I ) \hat{P} = F(I) P^=F(I),即通过将输入图像 I I I 提供给网络 F F F,直接预测出相机姿态 P ^ \hat{P} P^。这种方法的优点是概念简单,推理速度非常高效。然而,典型的绝对姿态回归(APR)网络的前向过程主要依赖于图像和特征上的2D操作,未能利用任何3D几何推理,因此与最新的几何方法相比,其性能不足。本文提出了首个具备显式3D几何推理的相对地图姿态回归方法(map-relative pose regression),在保持与其他姿态回归方法相同的实时效率和端到端简洁性的同时,能够回归出准确的相机姿态。

在本节的剩余部分,我们将首先概述我们用于执行姿态回归的基于 Transformer 的网络架构(第 3.1 节);然后描述我们提出的方法的主要组件和核心理念(第 3.2 节);接着,解释训练期间优化的损失函数(第 3.3 节);最后,我们展示如何在几分钟内对与场景无关的姿态回归 Transformer 进行针对特定测试场景的微调,从而在与未微调的回归器相比时进一步提高方法的性能(第 3.4 节)。

2.1 架构概述

我们方法的主要架构由两个部分组成:(1)一个基于 CNN 的场景几何预测网络 G G G,它将输入图像中的像素映射到 3D 场景坐标;(2)一个基于 Transformer 的相对地图姿态回归器 M \mathcal{M} M,它根据给定的场景坐标估计相机姿态。理想情况下,网络 G G G 旨在将每个输入图像与特定场景的 3D 信息相关联,因此每当方法处理新的场景时,都需要对其进行训练。相对而言,姿态回归器 M \mathcal{M} M 是一个与场景无关的模块,经过大量数据训练后,可以泛化到未见过的地图。
在这里插入图片描述
我们在图2中展示了所提出的网络架构。给定来自场景 S S S 的图像 I I I,我们将其输入到模型中,输出一个姿态 P ^ \hat{P} P^。整个过程可以表述为:

P ^ = M ( H ^ , K ) = M ( G S ( I ) , K ) , \hat{P} = \mathcal{M}(\hat{H}, K) = \mathcal{M}(\mathcal{G}_S(I), K), P^=M(H^,K)=M(GS(I),K),

其中 H ^ = G S ( I ) \hat{H} = \mathcal{G}_S(I) H^=GS(I) 表示由 G G G 预测的图像到场景坐标( G G G 是针对场景 S S S 专门训练的), K ∈ R 3 × 3 K \in \mathbb{R}^{3 \times 3} KR3×3 是与输入图像关联的相机内参矩阵。这一公式使得该方法与标准绝对姿态回归(APR)类似,因为它通过神经网络的前馈传递生成姿态,同时也类似于场景坐标回归(SCR),因为场景几何预测网络直接从每个输入图像回归出 3D 坐标。

与标准 APR 不同的是,我们的方法在图像和场景之间的关联上具有完整的几何推理能力;与 SCR 方法不同的是,它不需要传统的、非确定性的 RANSAC 阶段来推断姿态。理论上,任何能够从输入图像预测 3D 场景坐标的算法都可以作为 G G G 的候选者,因为我们用于执行姿态回归的 Transformer M \mathcal{M} M 不依赖于前置组件。

在下一节中,我们将重点详细说明相对地图姿态回归网络 M \mathcal{M} M

2.2 相对地图姿态回归架构

为了实现鲁棒且与场景无关的相对地图姿态回归,我们精心设计了如图3所示的简单而有效的架构。该模块的主要组件包括:(a) 一种新颖的动态位置编码,用于增加输入场景坐标的维度,并将其空间位置嵌入到输入图像中,同时考虑捕获该帧的相机内参;(b) 若干多层自注意力 Transformer 块;最后 © 一个基于 MLP 的姿态回归头。给定场景坐标图 H ^ \hat{H} H^(由 G S G_S GS 预测)和相应的相机内参矩阵 K K K,网络能够直接估计 6-DoF(六自由度)的度量相机姿态。我们将在以下小节中详细介绍每个组件的设计。
在这里插入图片描述

2.2.1 动态位置编码

与许多用于高级任务的视觉 Transformer(ViTs)不同 [9, 15, 50],这些 Transformer 通常被条件化以直接处理输入的 RGB 图像(或更高维的特征),我们的 Transformer 设计用于解释与现实世界物理紧密相关的准确 3D 几何信息。相机捕获的帧内容与其内参严格关联;因此,我们提出使用一个以每个独立传感器为条件的位置信息编码,使我们能够以通用的方式(即独立于相机校准参数)训练主要的 Transformer 块。

我们的位置编码方案融合了两个不同的组件:(1) 一个相机感知的 2D 位置嵌入,将每个预测的场景坐标与其对应的像素位置相关联;(2) 一个 3D 位置嵌入,将实际的 3D 场景坐标值嵌入到一个高频域。

相机感知的 2D 位置嵌入:我们受 LoFTR [50] 的位置嵌入启发,但整合了来自相机内参的信息来生成输入到网络的高频分量。具体而言,对于输入图像中的每个像素坐标 ( u , v ) (u, v) (u,v),我们首先计算从相机中心出发并穿过该像素的3D射线的 ( x , y ) (x, y) (x,y) 分量(忽略 z z z 分量);然后对该射线的方向分量应用来自 [50] 的位置嵌入。这生成了高频/高维嵌入,使 Transformer 能够将输入 3D 坐标(由 G S G_S GS 预测并在特定场景坐标系统中定义)与从当前相机位置发出的 3D 射线相关联,从而有助于回归相机相对于场景坐标系原点的姿态。形式化地,我们定义相机感知的 2D 位置嵌入为:

[
\mathcal{P} \mathcal{E}{2D}(u, v)^i :=
\left {
\begin{array}{ll}
\sin(\omega_k \cdot X
{\text{ray}}(u)), & i = 4k \
\cos(\omega_k \cdot X_{\text{ray}}(u)), & i = 4k + 1 \
\sin(\omega_k \cdot Y_{\text{ray}}(v)), & i = 4k + 2 \
\cos(\omega_k \cdot Y_{\text{ray}}(v)), & i = 4k + 3
\end{array}
\right.
]

其中, ω k = 1 1000 0 2 k / d \omega_k = \frac{1}{10000^{2k/d}} ωk=100002k/d1 是针对 d 维特征所定义的频带,在该维度上应用位置编码, i i i 是当前特征索引, X ray X_{\text{ray}} Xray Y ray Y_{\text{ray}} Yray 是穿过 ( u , v ) (u, v) (u,v) 的射线的 X X X Y Y Y 分量:

[
\begin{aligned}
X_{\text{ray}}(u) &= \lambda \frac{u - c_x - \varepsilon}{f_x}, \
Y_{\text{ray}}(v) &= \lambda \frac{v - c_y - \varepsilon}{f_y},
\end{aligned}
]

其中, f x / y f_x/y fx/y c x / y c_x/y cx/y 对应于输入帧的相机内参, ε = 0.5 \varepsilon = 0.5 ε=0.5 用于实现图像中心的零均值, λ = 400 \lambda = 400 λ=400 是一个用于保持最终嵌入合理数值量级的启发式常数。

3D 位置嵌入:我们使用 3D 位置嵌入将 G S G_S GS 预测的场景坐标 p ∈ R 3 p \in \mathbb{R}^3 pR3 映射到高频/高维空间,受 [31] 启发:

[
\begin{aligned}
\mathcal{P}\mathcal{E}{3D}§ = \operatorname{Conv}{3(2m+1)}^{d}
\left[p, \sin(2^{0}\pi p), \cos(2^{0}\pi p), \ldots, \sin(2^{m-1} \pi p), \cos(2^{m-1} \pi p) \right].
\end{aligned}
]

在这里,除了将 3D 坐标映射到 3(2m + 1) 维空间的正弦嵌入外,我们还应用了一个进一步的 1 × 1 卷积 C o n v d 6 m + 3 Conv_d^{6m+3} Convd6m+3,以确保 P E 2 D \mathcal{P} \mathcal{E}_{2D} PE2D P E 3 D \mathcal{P} \mathcal{E}_{3D} PE3D 具有相同的通道数。

融合位置嵌入:最后,在将它们传递到 Transformer 之前,我们融合 2D 和 3D 嵌入:

[
\mathcal{P}\mathcal{E}f = \mathcal{P}\mathcal{E}{3D} + \mathcal{P}\mathcal{E}_{2D}.
]

2.2.2 深层 Transformer 的再注意机制

如图3左侧所示,我们的相对地图姿态回归架构的核心由12个自注意力 Transformer 组成,排列为三个块,每个块包含四个 Transformer。在我们的实现中,我们使用 Linear Transformers [22],因为它们将每一层的计算复杂度从输入长度的平方降低到线性(即场景坐标图的分辨率)。

由于动态位置编码仅在网络开始时被输入,我们发现随着网络深度的增加,信息流会变得越来越弱。为了解决这个问题,我们引入了所谓的“再注意机制”(Re-Attention),在每四个块之间引入残差连接。实验表明,这种做法相当有效,不仅使网络更快收敛,还提升了网络的泛化能力。

2.2.3 姿态回归头

marepo 架构的最后一个组件是姿态回归头。它的结构非常简单:首先,通过一个由三个 1×1 卷积层组成的残差块,随后进行全局平均池化,生成一个单一的嵌入来表示整个输入场景坐标图。然后将此嵌入输入到一个小型 MLP(3 层),直接输出一个 10 维的相机姿态表示。姿态表示随后可以被解压为平移和旋转:平移通过四维齐次坐标表示(受 [6] 启发);旋转被编码为一个 6 维向量,表示坐标系的两个未归一化轴,之后通过归一化和叉积来形成完整的旋转矩阵,如 [58] 所示。

2.3 损失函数

上面描述的相对地图姿态回归器架构可以直接为每个图像输出一个度量姿态 P ^ \hat{P} P^(由 3 × 3 旋转矩阵 R ^ \hat{R} R^ 和一个平移向量 t ^ \hat{t} t^ 组成)。为了训练这个系统,我们使用了在 [2] 中提出的标准 L1 姿态回归损失,定义如下:

[
\mathcal{L}_{\hat{P}} = |\hat{R} - R|_1 + |\hat{\mathbf{t}} - \mathbf{t}|_1.
]

实验中我们发现,在回归器的中间层添加监督对整体性能有益。因此,在训练期间,我们还在每四个自注意力 Transformer 块后应用姿态回归头(见图3右侧)并计算辅助损失 L P 0 ^ \mathcal{L}_{\hat{P0}} LP0^ L P 1 ^ \mathcal{L}_{\hat{P1}} LP1^,如上所述。因此,我们在训练期间优化的总体损失为:

[
\mathcal{L} = \mathcal{L}{\hat{P0}} + \mathcal{L}{\hat{P1}} + \mathcal{L}_{\hat{P}},
]

在推理期间,我们只使用最后的输出姿态 P ^ \hat{P} P^

2.4 (可选)微调姿态回归器

如前所述,所提出的相对地图姿态回归器由两个主要组件组成:一个初始的场景特定网络 G S G_S GS,能够为每个像素预测度量场景坐标(在我们的实现中,我们使用一个可在几分钟内为每个场景训练的现成场景坐标回归架构 [6]);以及一个与场景无关的回归器 M \mathcal{M} M,利用场景坐标中编码的几何信息来预测相机姿态。后者事先在大量数据上训练,并且可以直接用于每个新的目标场景。

我们发现,与传统的端到端图像到姿态协议训练数小时或数天的其他 APR 方法相比,这种混合方法效果非常好。然而,我们还研究了是否对基于 Transformer 的回归器进行场景特定的微调阶段可以进一步提升方法性能。在这种方案中,对于每个新评估的场景,在训练完场景特定坐标回归器 G S G_S GS 后,我们对姿态回归器 M \mathcal{M} M 进行微调,使用与第 3.3 节相同的损失。在下一节中,我们将展示只需对每个新场景在训练数据集上进行两次遍历(通常需要1到10分钟,取决于帧数),我们的方法就能够进一步提高其相对于基于姿态回归的方法已经达到的最先进性能。

值得注意的是,最后的微调步骤在我们的方法中是完全可选的:预训练的 M \mathcal{M} M 已经能够根据几何网络模块 G S G_S GS 预测的 3D 场景坐标,准确预测相机姿态。

3. 实验

3.1 实现细节

在本节中,我们详细介绍训练 marepo 网络的过程。首先描述训练数据的生成,然后描述架构配置。

训练数据生成:在我们的实现中,我们采用了 [6] 提出的加速坐标编码架构和训练协议作为 G G G,用于为训练数据集中的每个场景 S S S 训练场景特定的几何预测网络 G S G_S GS,因为这可以快速训练场景特定的坐标回归网络(每个新场景约需 5 分钟)。为了训练 M \mathcal{M} M,我们使用来自 Map-Free Dataset [2] 的 450 个场景(编号为 0 到 459,排除 200-209)。数据集中每个图像都由数据集作者通过 SfM [44] 计算得到了相应的真实相机姿态。该数据集包括约 50 万帧,每个场景包含扫描一个小型室外位置的图像。每个扫描的帧被分为映射和查询,约有 500 个映射帧和 500 个查询帧。在实际操作中,我们使用每个场景及其两个分割的帧训练了 900 个场景特定的坐标回归器 G S G_S GS。鉴于该方法的高效扩展能力,我们能够通过将每个 G S G_S GS 应用于其对应扫描的未见分割的帧,生成大量图像像素与场景坐标之间的 2D-3D 对应关系。我们在生成对应关系期间使用数据增强,对每个帧处理 16 个变体。具体而言,我们对图像应用最多 15° 的随机旋转,将每个帧缩放至其原始分辨率的 0.67 至 1.5 倍,并最终进行随机裁剪。我们将预处理输出的场景坐标图连同其对应的旋转后有效像素的掩码、增强的相机内参和相机姿态一起保存。这构成了用于训练相对地图姿态回归器 M \mathcal{M} M 的固定数据集。

此外,我们通过随机抖动场景坐标(±1m)和旋转它们(最多 180°)来在线执行数据增强,以进一步提高数据多样性。请注意,随机抖动是针对整张图像应用的,即输入帧的所有场景坐标都通过相同的变换进行扰动。我们这样做是为了避免过拟合,确保网络 M \mathcal{M} M 学习的是相对于场景坐标的姿态,而不是每个帧的绝对姿态。

网络配置:场景特定网络 G S G_S GS 处理短边为 480 像素长的图像,并输出 8 倍小分辨率的密集场景坐标图。相对地图姿态回归器 M \mathcal{M} M 基于一系列线性注意力 Transformer 块 [50] 构建,具有 d model = 256 d_{\text{model}} = 256 dmodel=256 h = 8 h = 8 h=8 个并行注意力层。对于 3D 位置嵌入,我们审慎选择 m = 5 m = 5 m=5 个频带,因为输入可能存在噪声。

训练和硬件细节:我们使用 8 个 NVIDIA V100 GPU,批次大小为 64 来训练 M \mathcal{M} M。我们使用 AdamW [28] 优化器,学习率在 3e−4 到 2e−3 之间,采用 1-cycle 调度器 [49]。模型训练大约需要 10 天,迭代 150 个 epoch。推理时,我们的整个模型,包括场景特定网络 G S G_S GS 和相对地图姿态回归器 M \mathcal{M} M,仅需一块 GPU,能够以实时的吞吐量估计相机姿态,正如在表2中所示。

3.2 定量评估

接下来,我们在两个公共数据集上展示 marepo 的性能:一个室内场景数据集,一个室外场景数据集。我们展示了所提出的相对地图姿态回归模块 M \mathcal{M} M 能够在场景特定几何预测网络 G S G_S GS 为其提供每个场景的 2D-3D 对应关系的情况下,将预测泛化到以前未见过的场景。

7-Scenes 数据集:首先,我们在 Microsoft 7-Scenes 数据集 [19, 48] 上评估我们的方法,这是一个室内重定位数据集,为每个场景提供最多 7000 张映射图像。每个场景覆盖有限的面积(1m³ 至 18m³);尽管如此,之前的 APR 方法需要数十小时甚至几天 [32] 来训练模型以实现重定位。在实际场景中,这种情况并不理想,因为场景的外观可能已在此期间发生变化,导致训练的 APR 过时。相比之下,marepo 对每个新场景仅需几分钟(≈ 5 分钟)即可生成针对目标环境调优的几何预测网络 G S G_S GS。我们在表1中将我们的方法与之前的姿态回归方法进行比较,显示 marepo 不仅是一种部分场景无关的方法,享有所有基于 APR 方法中最快的映射时间,而且在平均性能(中位误差)方面还提高了约 50%。我们还展示了经过微调的变体 marepoS 的性能,除了训练场景特定的 G S G_S GS 场景坐标预测器外,我们还使用映射帧对 M \mathcal{M} M 回归器运行两个 epoch 的微调(见第3.4节)。微调模型 marepoS 在平均性能方面进一步提高,训练时间仅需额外 1.5∼10 分钟,成为唯一能够达到与目前最佳 3D 几何方法类似准确度的单帧姿态回归方法,同时在所需计算资源方面更高效。
在这里插入图片描述
Wayspots 数据集:我们进一步在 Wayspots 数据集 [2, 6] 上评估了我们的方法,该数据集展示了当前几何方法仍难以处理的室外场景。数据集包含对 10 个不同区域的扫描,提供了由视觉惯性测程系统 [1, 20] 提供的真实姿态。在表2中,我们展示了我们提出的 marepo 及其微调变体 marepoS 在每个场景的映射帧上与两种 APR 方法的比较;同时还与两种场景坐标回归方法进行比较:DSAC* [4] 和 Wayspots 上的当前最先进方法 ACE [6]。marepo 显著优于以前的 APR 方法,例如 PoseNet [25] 和 MS-Transformers [47],后者平均需要数小时的训练时间,并且与几何方法相比具有更高的性能。我们首次展示了一种依赖于几何先验的端到端图像到姿态回归方法,其性能与依赖于稳健求解器来估计相机姿态的方法相当。更具体地说,marepo 仅需五分钟即可训练一个将感兴趣位置编码到 G S G_S GS 场景特定坐标回归器权重中的网络,并且(可选地)大约一分钟来微调相对地图回归器 M \mathcal{M} M(因为 Wayspots 扫描的帧数比上面的 7-Scenes 场景少得多)。在推理时,marepo(或其微调变体)可以以约 56 帧每秒的速度进行推理,使其不仅准确而且与其他方法相比非常高效。
在这里插入图片描述

3.3 消融实验

在以下内容中,我们提供对设计方法时所采用设计选择的额外见解。

架构消融:我们进行了几次控制实验以证明架构设计的合理性。注意,对于本小节的实验,我们仅训练基于 Transformer 的姿态回归器 50 个 epoch,而不是主要实验中的 150 个。这使我们能够在大约两天内完成每次实验,同时不影响消融实验中结果的相对排名。在第一个实验中(见表3),我们训练了一个较小的 Transformer M \mathcal{M} M d model = 128 d_{\text{model}} = 128 dmodel=128),并逐渐移除再注意(Re-Attention)和动态位置编码组件,以评估它们对 Wayspots 数据集性能的影响。姿态准确性显示为 5cm/5° 和 10cm/5° 误差范围内重新定位的帧的百分比。表格显示了在没有所提组件的情况下,性能的一致性下降。
在这里插入图片描述
接下来,我们通过在表4中使用不同数量的 Transformer 块和 d model d_{\text{model}} dmodel 维度来展示不同模型配置的影响。我们还尝试了更大规模的模型( d model = 512 d_{\text{model}} = 512 dmodel=512,16/20 个 Transformer 块),但发现它们需要更多的 GPU 资源和时间。因此,考虑性能与时间权衡,我们不建议使用这些模型。
在这里插入图片描述
每场景训练:提出的姿态回归器组件 M \mathcal{M} M 被设计为与场景无关,并在大量数据上进行训练。然而,我们仍然感兴趣评估它在单个场景中进行专用训练时的性能,类似于现有的 APR 方法。我们进行了两个实验,使用 Wayspots 数据集中的映射序列训练场景特定模型,如表5所示。首先,模型从头开始训练,即场景几何回归器 G S G_S GS 和相对地图姿态回归器 M \mathcal{M} M 被作为单个实体进行训练,类似于 PoseNet [25]。结果显示性能非常差,这可能是由于模型无法学习场景的显式 3D 几何关系。对于第二个变体,我们假设提供了预训练的 G S G_S GS,然后为每个场景从头开始训练 M \mathcal{M} M。我们看到结果与其他 APR 方法(如 PoseNet [25] 或 MST [47],参见表2)相当;但该训练方法的性能仍远不及完整的 marepo 模型,其中 M \mathcal{M} M 在大型数据集上进行训练,以预测真正通用且与场景无关的相对地图姿态。
在这里插入图片描述

4. 结论

总之,我们的论文引入了 marepo,这是一种在姿态回归中的新方法,结合了与场景无关的姿态回归网络的优势以及快速训练的场景特定度量表示所提供的强大几何先验。该方法解决了以前 APR 技术的局限性,在预测跨不同场景的准确尺度度量姿态方面提供了可扩展性和精确度。我们在两个数据集上展示了 marepo 的卓越准确性及其相较于现有 APR 方法对新场景的快速适应能力。此外,我们还展示了将基于 Transformer 的网络架构与动态位置编码相结合,确保了对不同相机参数的鲁棒性,从而确立了 marepo 作为基于回归的视觉重定位的多功能且高效的解决方案。

🌟 在这篇博文的旅程中,感谢您的陪伴与阅读。如果内容对您有所启发或帮助,请不要吝啬您的点赞 👍🏻,这是对我最大的鼓励和支持。

📚 本人虽致力于提供准确且深入的技术分享,但学识有限,难免会有疏漏之处。如有不足或错误,恳请各位业界同仁在评论区留下宝贵意见,您的批评指正是我不断进步的动力!😄😄😄

💖💖💖 如果您发现这篇博文对您的研究或工作有所裨益,请不吝点赞、收藏,或分享给更多需要的朋友,让知识的力量传播得更远。

🔥🔥🔥 “Stay Hungry, Stay Foolish” —— 求知的道路永无止境,让我们保持渴望与初心,面对挑战,勇往直前。无论前路多么漫长,只要我们坚持不懈,终将抵达目的地。🌙🌙🌙

👋🏻 在此,我也邀请您加入我的技术交流社区,共同探讨、学习和成长。让我们携手并进,共创辉煌!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/147546.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

基于JAVA+SpringBoot+Vue的社区智慧养老监护管理平台

基于JAVASpringBootVue的社区智慧养老监护管理平台 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接&#x1…

科研绘图系列:R语言多个AUC曲线图(multiple AUC curves)

文章目录 介绍加载R包导入数据数据预处理画图输出结果组图系统信息介绍 多个ROC曲线在同一张图上可以直观地展示和比较不同模型或方法的性能。这种图通常被称为ROC曲线图,它通过比较不同模型的ROC曲线下的面积(AUC)大小来比较模型的优劣。AUC值越大,模型的诊断或预测效果越…

前后端跨域问题及其在ThinkPHP中的解决方案

在现代Web开发中,前后端分离的架构越来越普遍,但这也带来了跨域问题。跨域指的是在一个域下的网页试图请求另一个域的资源,浏览器出于安全考虑会限制这种行为。本文将探讨如何在ThinkPHP中解决跨域问题。 #### 1. 什么是跨域? 跨…

一个皮肤科医生长痘的的自救

内服 复方锌铁钙口服液 丹参瞳胶囊 盐酸米诺环素胶囊 (每天一次) 内服 外用: 克林霉素甲硝搽剂 (泛红的痘痘) 人表皮生长因子(痘印)氢醌软膏 (点阵激光留下的色沉 早晚一次) 至少用两个月【痤疮|痘痘用药 一个皮肤科医生的自救】https://www.bilibili.com/video/BV1zu41…

算法题之每日温度

每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入…

java计算机毕设课设—企业车辆管理系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—企业车辆管理系统(附源码、文章、相关截图、部署视频) 企业车辆管理系统通过计算机,能够直接“透视”车辆使用情况,数据计算自动完成,尽量减少人工干预,可…

Java项目实战II基于Java+Spring Boot+MySQL的植物健康系统(开发文档+源码+数据库)

目录 目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着…

实战指南:深度剖析Servlet+JSP+JDBC技术栈下的用户CRUD操作

本博客总结基于MVC(JSPServletJDBC)操作用户信息的CRUD(增删改查功能)的完整小项目。包括图片上传和回显,模糊查询,过滤器的登录校验和设置全局字符集以及监听器统计在线用户人数等额外功能,因为代码较多,我…

UnLua实现继承

一、在蓝图中实现继承 1、创建父类,并绑定Lua脚本 2、创建子类蓝图,如果先创建的子类,可以修改父类继承 注意,提示选择继承父类的接口! 二、在Lua中实现继承 1、在父类Lua脚本中实现函数 BP_CharacterBase.lua func…

构建数字化生态系统:打造数字化转型中开放协作平台的最佳实践和关键实施技巧

在数字化转型浪潮中,企业如何确保成功实施至关重要。除了技术上的革新,企业还必须在战略执行、架构优化以及合规性管理等方面掌握最佳实践。随着云计算、大数据、人工智能等新兴技术的迅速发展,企业通过正确的实施技巧不仅能提升业务效率&…

Qemu开发ARM篇-3、qemu运行uboot演示

文章目录 1、运行uboot2、qemu常用命令 在上一篇Qemu开发ARM篇-2、uboot交叉编译文章中,我们搭建了交叉编译工具链,并成功进行了uboot的交叉编译,在该篇中,我们将演示如何利用qemu运行上一篇中交叉编译的uboot程序。 1、运行uboo…

计算机毕业设计之:基于微信小程序的学生考勤系统的设计与实现(源码+文档+讲解)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

Redis——redispluspls库hash及zset类型相关接口使用

文章目录 hash类型相关接口hset和hgethexistshdelhkeys 和 hvalshmset和hmget zset类型相关接口zadd和zrangezcard 和 zremzscore和zrank hash类型相关接口 hset和hget std::cout<<"hset 和 hget"<<std::endl;redis.flushall();redis.hset("key&qu…

Java 分布式锁:原理与实践

在分布式系统中&#xff0c;多个节点同时操作共享资源的情况非常普遍。为了保证数据的一致性&#xff0c;分布式锁 应运而生。分布式锁 是一种跨多个服务器的互斥锁&#xff0c;用于协调分布式环境下的资源访问。 本文将介绍 Java 实现分布式锁 的几种常见方式&#xff0c;并结…

OpenAI API: How to catch all 5xx errors in Python?

题意&#xff1a;OpenAI API&#xff1a;如何在 Python 中捕获所有 5xx 错误&#xff1f; 问题背景&#xff1a; I want to catch all 5xx errors (e.g., 500) that OpenAI API sends so that I can retry before giving up and reporting an exception. 我想捕获 OpenAI API…

浙大数据结构:05-树8 File Transfer

数据结构MOOC PTA习题 这道题考察并查集的操作&#xff0c;合并以及找根结点 机翻&#xff1a; 1、条件准备 node是数组存放1-N结点的根节点的&#xff0c;n为总结点数 #include <iostream> using namespace std;const int N 1e4 5; int node[N]; int n; 先初始化…

<<编码>> 第 16 章 存储器组织(3)--3-8 译码器 示例电路

3-8 译码器 info::操作说明 “写入” 开关先断开(Q 为低电平, 表示不写入) S2-S1-S0 设置一个二进制数, 选中 Q0~Q7 其中一个作为 Q 的输出 “数据输入” 端置入要保存的数(0或1) 闭合 “写入” 开关, 对应的一位锁存器中的 W 为高电平, 表示可以写入, “数据输入” 的值最终…

嵌入式常用GUI介绍

目录 前言一、GuiLite二、LVGL三、SimpleGUI四、MiniGUI五、emWin六、TouchGFX七、uGUI八、GFX九、Embedded Wizard十、CrankSoftware十一、PEG Graphics Software十二、Guiliani十三、MPLAB Harmony Graphics Suite 前言 图形用户界面&#xff08;Graphical User Interface&am…

关系数据库设计之Armstrong公理详解

~犬&#x1f4f0;余~ “我欲贱而贵&#xff0c;愚而智&#xff0c;贫而富&#xff0c;可乎&#xff1f; 曰&#xff1a;其唯学乎” 一、Armstrong公理简介 Armstrong公理是一组在关系数据库理论中用于推导属性依赖的基本规则。这些公理是以著名计算机科学家威廉阿姆斯特朗&…

优化内存工具 | RAM Saver Pro v24.9 便携版

RAM Saver是一款专业的RAM优化工具&#xff0c;旨在提高计算机的性能和运行速度。它通过多种优化技术&#xff0c;如内存碎片整理、CPU和主板缓存效率提升、恢复内存等&#xff0c;为应用程序提供更多的内存资源&#xff0c;从而使系统运行更加流畅。适合所有需要优化内存使用和…