论文阅读- --DeepI2P:通过深度分类进行图像到点云配准

目前存在的问题:

  • 单模态配准具有局限性,多模态研究很少
  • 跨模态图像到点云配准问题是求解相机坐标系与点云之间的旋转矩阵R ∈ SO(3)和平移向量t ∈ R3。 这个问题很困难,因为由于缺乏点到像素的对应关系,无法使用 ICP、PnP 和捆绑调整 (BA) 算法等标准方法。 R3 空间中的点与 P2 空间中的图像几乎没有外观和几何相关性。

文章主要研究内容:

  • 图像和点云的多模态配准,分为两步
  • 分类神经网络旨在标记点云中每个点的投影是在相机视锥体之内还是之外。(网络由四部分组成:点云编码器、点云解码器、图像编码器和图像点云注意力融合。 )
  • 标记点随后被传递到逆相机投影求解器中以估计相对位姿

数据集:

Oxford,KITTI

1)点云Oxford是由激光雷达扫描仪累积超过100m的2D扫描构建 的,而KITTI点云是来自3D激光雷达的单次扫描 ,如图6所示。因此,KITTI中的遮挡效应很严重。 例如,在时间戳 tj 中捕获的图像看到的东西大部分是从时间戳 ti 的点云中被遮挡/未观察到的。 鉴于相机的视场(FoV)有限,跨模态配准变得极具挑战性,因为两种模态正在观察不同的场景内容。 2)KITTI中点云的垂直视场非常有限 ,这导致缺乏用于跨模态匹配的独特垂直结构。 地面上的大多数点都是无结构的,因此对于跨模式匹配没有用处。 3)"KITTI Odometry"是一个小型数据集,仅包含 20,409 个用于训练的点云,而 Oxford 数据集大 ∼ 6.4 倍,包含 130,078 个点云。 因此,我们在 KITTI 数据集中观察到严重的网络过度拟合,但在 Oxford 数据集中却没有。

基础知识:

2D激光雷达 仅与水平角分辨率有关,通常用于平面环境下的测量和检测。 3D激光雷达不仅与水平和垂直角度分辨率有关,还与激光发射器的线数有关,通常用于复杂的三维环境感知和建模。

涉及深度学习模型:PointNet、Attention、 最远点**采样(**FPS)、PointNet++、残差

论文翻译:

摘要:

本文介绍了 DeepI2P:一种图像和点云之间跨模态配准 的新方法。 给定在同一场景中不同位置捕获的图像(例如来自 RGB 相机)和一般点云(例如来自 3D 激光雷达扫描仪),我们的方法估计相机和激光雷达的坐标系之间的相对刚性变换。 由于两种模态缺乏外观和几何相关性,学习共同的特征描述符来建立配准的对应关系本质上是具有挑战性的。 (主要工作)我们通过将配准问题转换为分类和逆相机投影优化问题来规避这个困难。 分类神经网络旨在标记点云中每个点的投影是在相机平截头体之内还是之外。 这些标记点随后被传递到新颖的逆相机投影求解器中以估计相对位姿。 Oxford Robotcar 和 KITTI 数据集上的大量实验结果证明了我们方法的可行性。 我们的源代码位于

1. Introduction

图像到点云配准是指寻找刚性变换的过程,即将3D 点云的投影与图像对齐的旋转和平移。 这个过程相当于求位姿,即成像设备相对于3D点云参考系的外在参数 ; (它在计算机视觉、机器人、增强/虚拟现实等许多任务中有着广泛的应用。尽管解决配准问题的直接而简单的方法是使用来自相同模态的数据,即图像到图像和 点云到点云,这些相同模态的配准方法存在一些局限性 。 对于点云到点云配准,在操作期间在大型机器人和移动设备上安装昂贵且难以维护的激光雷达是不切实际且成本高昂的。 此外,基于特征的点云到点云配准[6,44,22,41]通常需要除了(x,y,z)点坐标之外还存储D维特征(D3),这增加了存储复杂度。 对于图像到图像的配准,需要付出细致的努力来执行 SfM [38, 37, 12] 并存储与重建的 3D 点相对应的图像特征描述符 [30, 23] 以进行特征匹配。 另外,图像特征会受到光照条件、季节变化等因素的影响,因此,在一个季节/时间获取的地图中存储的图像特征在季节/时间变化后就不可能再进行配准。)主要论述单一数据局限性

跨模态图像到点云配准可用于缓解相同模态配准方法中的上述问题。 具体来说,可以使用激光雷达一次获取基于 3D 点云的地图,然后可以使用从摄像机拍摄的图像来部署姿态估计,这些图像在大量机器人和移动设备上维护成本相对较低且成本较低。 此外,直接使用激光雷达获取的地图避免了 SfM 的麻烦,并且在很大程度上不受季节/光照变化的影响。 尽管跨模态图像到点云配准具有优势,但由于其固有的困难,目前的研究还很少。 (跨模态的优势)据我们所知**,2D3D-MatchNet [11] 是通用图像到点云配准的唯一先前工作。** 这项工作通过学习使用深度度量学习将基于图像的 SIFT [23] 与基于点云的 ISS [46] 关键点进行匹配来进行跨模式配准。 然而,由于两种模式的 SIFT 和 ISS 特征存在巨大差异,该方法的内点率较低。 (已有的研究方法

在本文中,我们提出了一种新的图像和点云的跨模态配准方法DeepI2P(研究方法优势没有明确的特征描述 符,如图1所示。 我们的方法需要较少的存储内存,即参考点云的0 (3N),因为我们不依赖于特征描述符来建立对应关系。 此外,相机捕获的图像可以直接利用,而不需要SfM 。 我们分两个阶段解决了图像到点云的跨模态配准问题。 (研究步骤)在第一阶 段,我们设计了一个双分支神经网络,将图像和点云作为输入,并为每个点输出一个标签,表明该点的投影是在图像视锥体内还是在图像视锥体外。第二阶段被表述为无约束连续优化问题。 目标是找到最佳的相机姿态,即相对于点云的参考框架进行刚性变换,使得标记为相机视锥体内的 3D 点正确投影到图像中。 标准求解器,如高斯-牛顿算法,可以用来解决我们的相机姿态优化问题。 在开源Oxford Robotcar和KITTI数据集上的大量实验结果表明了我们方法的可行性。

文的主要贡献如下

• 我们通过将问题转化为两阶段分类优化框架来规避学习跨模态特征描述符以进行配准的挑战性需求。

• 带有注意模块 的两分支神经网络可增强跨模态融合,旨在学习 3D 点是否位于相机视锥体内或之外的标签。

• 提出逆相机投影优化来求解具有3D 点的分类标签的相机位姿。

• 我们的方法和实验结果证明了可以通过深度分类实现跨模式配准的概念验证

2. Related Works

Image-to-Image Registration.由于缺乏深度信 息,图像到图像的配准 [34, 33] 是在 P2 空间中完成的。 这通常是计算投影变换或 SfM 的第一步。典型的方法通常基于特征匹配。 从源图像和目标图像中提取一组特征,例如 SIFT [23] 或 ORB [30]。 然后根据提取的特征建立对应关系,可用于使用束调整[37, 16]、透视n点求解器[12]等来求解旋转、平移。此类技术已应用于现代SLAM 系统[10,26,9]。 然而,此类方法基于图像模态中的特征描述符来建立对应关系,并且不适用于我们一般的图像到点云配准任务。

Point Cloud-to-Point Cloud Registration.3D 信息的可用性使得点云之间可以直接注册,而无需建立特征对应关系 。 ICP [2, 5]、NDT [3] 等方法在适当的初始猜测下工作良好,而 Go-ICP [40] 等全局优化方法无需初始化 要求即可工作。 这些方法广泛应用于基于点云的 SLAM 算法,如 LOAM [45]、Cartographer [18] 等。最近,数据驱动 的方法如 DeepICP [24]、DeepClosestPoint [39]、RPM-Net [42] 等也被广泛使用。 建议的。 尽管这些方法不需要特征对应,但它们仍然严重依赖相同模态的点结构的几何细节 才能很好地工作。 因此,这些方法不能应用于我们的跨模式注册任务。 另一组常见方法是基于两步特征的配准。 经典的点云特征检测器 [36, 46, 32, 8] 和描述符 [35, 31] 通常会受到噪声和杂波环境的影响。 最近,基于深度学习的特征检测器(如 USIP [22]、3DFeatNet [41])和描述符(如 3DMatch [44]、PPF-Net [7]、PPF-FoldNet [6]、PerfectMatch [15])已在以下方面表现出改进的性能: 基于云的注册。 与图像到图像配准类似,这些方法需要在跨模态配准中难以获得的特征描述符。

Image-to-Point Cloud Registration.据我们所知,2D3D-MatchNet [11] 是通用图像点云配准的唯一先前工作。 它使用 SIFT [23] 提取图像关键点,使用 ISS [46] 提取点云关键点。 关键点周围的图像和点云补丁被输入到类似Siamese 网络 的每个分支中,并使用三元组损失 进行训练以提取跨模态描述符。 推断,它是一个标准管道,由基于 RANSAC 的描述符匹配和 EPnP [20] 求解器组成。 尽管其实验设置大大简化,其中点云和图像是在附近的时间戳处捕获的,相对旋转几乎为零,但低内点率揭示了深度网络在截然不同的模态中学习共同特征的困难。 另一项工作 [43] 在图像和先前的激光雷达地图之间建立了 2D3D 线对应关系,但它们需要准确的初始化,例如来自 SLAM/里程计系统。 相比之下,一般的图像到点云配准,包括 2D3D-MatchNet [11] 和我们的 DeepI2P 不依赖于另一个精确的定位系统。 其他一些作品 [27, 4] 专注于图像到点云位置识别/检索,而不估计相对旋转和平移。

3Overview of DeepI2P

我们将图像表示为 I ∈ R3×W×H,其中 W 和 H 是图像的宽度和高度,点云表示为 P ={P1,P2,····,PN | Pn ∈ R3}。 跨模态图像到点云配准问题是求解相机坐标系与点云之间的旋转矩阵R ∈ SO(3)和平移向量t ∈ R3。 这个问题很困难,因为由于缺乏点到像素的对应关系,无法使用 ICP、PnP 和捆绑调整 (BA) 算法等标准方法。 与从 SfM 获得的点云不同,我们的点云是从点云扫描仪获得的,不包含任何基于图像的特征描述符。 建立跨模式点到像素对应关系并非易事。 这是因为 R3 空间中的点与 P2 空间中的图像几乎没有外观和几何相关性。 我们通过设计跨模态图像到点云配准方法来规避这个问题,该方法无需点到像素对应即可工作。为此,我们提出了一个两阶段的"视锥体分类+逆相机投影"管道。

第一阶段将点云中的每个点分类为相机视锥体内或之外。 我们将其称为视锥体分类,这可以通过第 4 节中所示的深度网络轻松完成。

在第二阶段,我们表明仅使用视锥体分类结果就足以解决相机和点云之间的位姿。 这就是5.1节中的逆相机投影问题。

在我们的补充材料中,我们提出了另一种跨模态注册方法**"网格分类+ PnP"** 作为我们实验比较的基线。 在网格分类中,图像被划分为更小的规则网格的镶嵌,我们预测每个 3D 点投影到的单元格。 然后可以通过将基于 RANSAC 的 PnP 应用于网格分类输出来解决姿态估计问题。

4. Classification

网络的输入是一对图像 I 和点云 P,输出是 P 的每点分类。有两个分类分支:视锥体分类和网格分类。 平截头体分类为每个点分配一个标签,Lc = {lc 1, lc 2, · · · , lc N},其中 lc n ∈ {0, 1}。 如果点 Pn 投影到图像 I 之外,则 lc n = 0,反之亦然。 有关我们基线中使用的网格分类分支的详细信息,请参阅补充材料。

4.1. Our Network Design

如图2所示,我们的每点分类网络由四部分组成:点云编码器、点云解码器、图像编码器和图像点云注意力融合。 点云编码器/解码器遵循SO-Net [21]和PointNet++ [29]的设计,而图像编码器是ResNet-34 [17]。 然后将分类点用于第 5.1 节中的逆相机投影优化,以求解未知的相机姿态。

  • 点云编码器 。 给定表示为 P ∈ R3×N 的输入点云,通过最远点采样( FPS)对一组节点 P(1) ∈ R3×M1 进行采样。 执行点到节点分组[21]以获得M1个点簇 。 每个簇由PointNet [28] 处理,分别得到长度为 C1 的 M1 个特征向量 ,即 P(1) ∈ RC1×M1 。 点到节点分组适应点的密度。 这对于激光雷达扫描的点云尤其有利,其中远距离点稀疏而近距离密集。 再次进行上述采样分组PointNet操作,得到另一组特征向量 P(2) ∈ RC2×M2 。 最后应用PointNet得到全局点云特征向量P(3) ∈ RC3×1。
  • Image-Point Cloud Attention Fusion.图像-点云注意力融合。分类的目标是确定一个点是否投影到图像平面(视锥体分类)以及它属于哪个区域(网格分类)。 因此,直观地说,分类需要融合两种模式的信息。 为此,我们设计了一个注意力融合模块来结合图像和点云信息。 Attention Fusion模块的输入由三部分组成:一组节点特征Patt(P(1)或P(2))、一组图像特征Iatt ∈ RCimg×Hatt×Watt(I(1)或I( 2)),以及全局图像特征向量I(3)。 如图2所示,图像全局特征与节点特征Patt堆叠并连接,并输入到共享MLP中以获得注意力分数Satt ∈ RHattWatt×M。 Satt 提供 M 个节点的图像特征 Iatt 的权重。 加权图像特征通过Iatt和Satt相乘得到。 加权图像特征现在可以与点云解码器中的节点特征连接。
  • Point Cloud Decoder.点云解码器 。解码器以图像和点云特征作为输入,输出每点的分类结果。 总的来说,它遵循PointNet++[29]的插值思想。 在解码器开始时,将全局图像特征 I(3) 和全局点云特征 P(3) 堆叠 M2 次,以便它们可以与节点特征 P(2) 和 Attention Fusion 输出 ~I 连接起来 (2)。 连接的 [I(3), ~I(2), P(3), P(2)] 由共享 MLP 处理以获得 M2 个特征向量,表示为 P~ (2) ∈ RC2×M2 。 我们进行插值以获得 P~ (2) (itp) ∈ RC2×M1 ,其中 M2 特征被上采样为 M1 ≥ M2 特征。 请注意,P(2) 和 ~P(2) 与节点坐标 P(2) ∈ R3×M2 相关联。 插值基于节点坐标 P(1) ∈ R3×M1 之间的 k 个最近邻,其中 M1 ≥ M2。 对于每个 C2 通道,插值表示为:

P(2) j 是 P(2) 中 P(1) i 的 k 个近邻之一。 通过串联共享 MLP 插值过程,我们得到 ~P(2) (itp) ∈ RC2×M1。 类似地,经过另一轮运算,我们得到~P(1) (itp) ∈ RC1×N。 最后,我们得到最终输出(2+HW/(32×32))×N,它可以重组为平截头体预测分数2×N和网格预测分数(HW/(32×32))×N。

4.2. Training Pipeline

截锥体标签的生成只是一个相机投影问题。 在训练过程中,我们给出相机内在矩阵 K ∈ R3×3 以及相机和点云之间的位姿 G ∈ SE(4)。 点 Pi ∈ R3 从点云坐标系到相机坐标系的 3D 变换由下式给出:

请注意,齐次坐标由波形符表示,例如,~P i 是 P i 的齐次表示。 像点的非齐次坐标为:

Frustum Classification对于给定的相机位姿 G,我们定义函数:

它将标签 1 分配给投影在图像内的点 Pi,否则分配 0。 现在,视锥体分类标签生成为 lc i = f(Pi; G,K,H,W),其中 G 在训练期间已知。 在 Oxford Robotcar 和 KITTI 数据集中,我们随机选择一对图像和原始点云(I,Praw),并根据 GPS/INS 读数计算相对姿态作为地面真实姿态 Gp c 。 我们在训练数据中使用指定间隔内的相对距离(I,Praw)。 然而,我们观察到两个数据集中的 Gp c 的旋转接近于零,因为用于收集数据的汽车大多进行纯平移。 为了避免过度拟合这种情况,我们将随机生成的旋转 Gr 应用于原始点云,以获得训练数据中的最终点云 P = GrPraw。 此外,地面真值姿态现在由 G = Gp cG−1 r 给出。 请注意,随机平移也可以包含在 Gr 中,但它对训练没有任何影响,因为网络是平移等变的。

Training Procedure.截头体分类训练过程总结为:

5. Pose Optimization

我们现在制定一种优化方法,利用视锥体分类结果来获取相机在点云参考系中的位姿。 请注意,我们在此步骤中不使用深度学习,因为相机投影模型的物理和几何结构已经确定。 形式上,位姿优化问题是求解 Gˆ ,给定点云 P、平截头体预测 Lˆ c = {ˆlc 1, · · · , ˆlc N}、ˆlc i ∈ {0, 1} 和相机内在矩阵 K。 在本节中,我们将描述逆相机投影求解器来求解 ^G。

5.1. Inverse Camera Projection

点的平截头体分类,即给定方程中定义的 G 的 Lc。 方程5是基于相机的前向投影。 逆相机投影问题则相反,即确定满足给定 ˆLc 的最优位姿 Gˆ。 它可以更正式地写为:

直观上,我们寻求找到最佳姿态 ^G,使得来自网络的标签 ^lc i = 1 的所有 3D 点都投影到图像中,反之亦然。 然而,在 SE(3) 空间中简单地搜索最佳姿态是很困难的。 为了缓解这个问题,我们将损失放宽为从点投影到图像边界(即 H ×W 矩形)的距离的函数。

Frustum Prediction Equals to 1

让我们考虑一个预测为 ^lc i = 1 的点 Pi。我们定义成本函数:

它对姿态 G 进行惩罚,该姿态 G 导致投影点 p i = [p xi , p yi ] (c.f. 方程 4) 落在图像宽度的边界之外。 具体来说,当 pxi 在图像宽度内时,成本为零,否则与沿图像 x 轴到最近边界的距离成负比。 成本 g(pyi ;H) 可以沿着图像 y 轴类似地定义。 此外,定义成本函数 h(·) 以避免 P i 落在相机后面的模糊性:

其中 α 是一个超参数,用于平衡 g(·) 和 h(·) 之间的权重。

Frustum Prediction Equals to 0.

现在我们考虑预测为 ^lc i = 0 的点 Pi。沿图像 x 轴定义的成本由下式给出:

当 pxi 沿着图像宽度落在边界之外时,它为负,否则与沿着图像 x 轴到最近边界的距离成正比。 类似地,可以定义沿 y 轴的类似成本 u(pyi ;H)。 此外,还有一个指标函数:

当 p i 在 H × W 图像之外或 P i 在相机后面(即 z i < 0)时,需要实现零成本的目标。

Cost Function.

最后,单点 Pi 的成本函数由下式给出:

p xi 、 p yi 、 zi 是 G 的函数,根据方程: 参见图2、3和4。图像高度H、宽度W和相机内在参数K是已知的。 现在方程中的优化问题。 6 变为:

这是一个典型的无约束最小二乘优化问题。 我们需要对未知变换矩阵进行适当的参数化,

其中 G ∈ SE(3)是过度参数化 ,可能会导致无约束连续优化出现问题。 为此,我们使用李代数表示 xi ∈ se(3) 来实现 G ∈ SE(3) 的最小参数化。 指数映射 G = expse(3)(xi) 将 se(3) → SE(3) 转换,而对数映射 ϋ = logSE(3)(G) 将 SE(3) → se(3) 转换。 与[10]类似,我们将se(3)串联运算符 ◦ : se(3) × se(3) → se(3) 定义为:

以及方程 12 中的成本函数可以通过适当的指数或对数映射修改重写为:

Gauss-Newton Optimization.

等式。 图15是一个典型的最小二乘优化问题,可以用高斯-牛顿法求解。 在使用当前解 Ψ(i) 进行迭代 i 期间,增量 δΨ(i) 通过高斯牛顿二阶近似估计

更新由 Σ(i+1) = δΣ(i) ◦ Σ(i) 给出。 最后,通过执行指数映射 ^G = expse(3)(ˆxi) 来解决逆相机投影问题。 我们的迭代优化的可视化如图 3 所示。

6. Experiments

我们的图像到点云配准方法使用 Oxford Robotcar [25] 和 KITTI [13] 数据集进行评估。

请注意,KITTI 点云来自单帧 3D 激光雷达扫描,而 Oxford 点云是超过 100m 的 2D 激光雷达扫描的累积。 因此,KITTI 中的点云存在严重遮挡、远距离测量稀疏等问题。

**逆相机投影。**我们提出的逆相机投影(参见第 5.1 节)中的初始猜测 G(0) 至关重要,因为方程的求解器为: 15是迭代方法。 为了缓解初始化问题,我们使用随机生成的初始化 G(0) 执行优化 60 次,并选择成本最低的解决方案。 此外,6DoF 搜索空间对于随机初始化来说太大。 我们通过利用我们的数据集来自地面车辆的事实来执行二维随机初始化来缓解这个问题。 具体来说,R(0) 被初始化为围绕上轴的随机旋转,t(0) 被初始化为 x-y 水平面中的随机平移。 我们的算法是用 Ceres [1] 实现的。

配准精度 在 Oxford 和 KITTI 数据集上,平截头体分类精度分别为 98% 和 94%。 然而,这些数字并不能直接转化为配准精度。 按照[22, 41]的实践,配准用两个标准进行评估:平均相对平移误差(RTE)和平均相对旋转误差(RRE)。 结果如表1和图4所示。网格Cls。 + PnP 是我们的"网格分类 + PnP"基线方法的结果(详细信息请参阅补充材料)。 RANSAC PnP 算法在没有任何约束的情况下优化了完整的 6-DoF Gˆ。 弗鲁斯。 克莱斯。 + 投资项目 代表我们的"Frustum分类+逆相机投影"方法的结果。 弗鲁斯之间的区别。 克莱斯。 + 投资项目 3D 和 Frus。 克莱斯。 + 投资项目 2D 是前者正在优化完整的 6-DoF G^ ,而后者将 ^G 限制为 3-DOF,即 x-y 水平面上的平移和绕上轴的旋转。 由于缺乏在相同设置下解决图像到点云配准问题的现有方法,我们进一步将 DeepI2P 与其他 4 种方法进行比较,这些方法在输入数据模态或配置方面可能比我们的方法具有不公平的优势。

1)直接回归使用深度网络直接回归相对姿势。 它由第 4 节中的点云编码器和图像编码器组成。全局点云特征和全局图像特征连接成单个向量并由直接回归 G^ 的 MLP 处理。 有关此方法的更多详细信息,请参阅补充材料。 表 1 显示我们的 DeepI2P 显着优于简单回归方法。

2)Monodepth2+USIP通过使用Monodepth2[14]从单个图像估计深度图,将跨模态配准问题转换为基于点云的配准问题。 使用激光雷达点云从MonoDepth2校准深度图的比例,即深度图的比例是完美的。 随后,利用 USIP [22] 估计深度图和点云之间的位姿。 这类似于相同模态的点云到点云配准。 尽管如此,表 1 表明这种方法表现不佳。 这可能是因为深度图不准确,并且 USIP 不能很好地概括深度图。

3)Monodepth2+GT-ICP获取绝对比例的深度图,方式与Monodepth2+USIP相同。 然而,它使用迭代最近点(ICP)[2, 5]来估计深度图和点云之间的位姿。 请注意,如果没有正确的初始化,ICP 就会失败,因此我们使用地面实况 (GT) 相对位姿进行初始化。 表 1 显示,与 Monodepth2+GT-ICP 相比,我们的 DeepI2P 实现了类似的 RTE 和更好的 RRE,尽管后者具有地面实况初始化的不公平优势,并且深度图已完美校准。

4)据我们所知,2D3D-MatchNet [11] 是跨模态图像到点云配准的唯一先前工作。 然而,在他们的实验设置中,相机和激光雷达之间的旋转几乎为零。 这是因为图像和点云是从时间上连续的时间戳中获取的,没有额外的增强。 相比之下,我们实验中的点云总是随机旋转的。 这意味着 2D3D-MatchNet 正在解决一个更容易的问题,但他们的结果比我们的差。

错误的分布。 配准RTE(m)和RRE(°)在Oxford和KITTI数据集上的分布如图4所示。可以看出,我们在Oxford上的表现优于KITTI。 具体来说,平移/旋转误差的众数在 Oxford 上为 ∼ 1.5m/3°,在 KITTI 上为 ∼ 2m/5°。 牛津的平移/旋转误差方差也较小。

RTE/RRE 的验收。 还有其他相同模态的方法可以解决 Oxford 和 KITTI 数据集上的配准问题,例如 USIP [22] 和 3DFeatNet [41] 提供了更好的 RTE 和 RRE。 这些方法仅适用于点云到点云数据,而不是图像到点云数据,因此不能与我们的方法直接比较。 此外,我们注意到表 1 中报告的 DeepI2P 的准确性足以满足非生命攸关的应用,例如室内和室外环境中移动设备的视锥体定位。

牛津 vs KITTI。 我们在 Oxford 上的表现优于 KITTI,原因如下:1)点云Oxford是由激光雷达扫描仪累积超过100m的2D扫描构建的,而KITTI点云是来自3D激光雷达的单次扫描,如图6所示。因此,KITTI中的遮挡效应很严重。 例如,在时间戳 tj 中捕获的图像看到的东西大部分是从时间戳 ti 的点云中被遮挡/未观察到的。 鉴于相机的视场(FoV)有限,跨模态配准变得极具挑战性,因为两种模态正在观察不同的场景内容。 2)KITTI中点云的垂直视场非常有限,这导致缺乏用于跨模态匹配的独特垂直结构。 地面上的大多数点都是无结构的,因此对于跨模式匹配没有用处。 3)"KITTI Odometry"是一个小型数据集,仅包含 20,409 个用于训练的点云,而 Oxford 数据集大 ∼ 6.4 倍,包含 130,078 个点云。 因此,我们在 KITTI 数据集中观察到严重的网络过度拟合,但在 Oxford 数据集中却没有。

6.3. Ablation Study6.3. 消融研究

我们的高斯牛顿和 Monodepth2+ICP 的初始化。 在2D配准设置中,有3个未知参数------旋转θ、平移tx、ty。 对于我们的方法,通过将预测的平截头体内点的平均偏航角与相机主轴对齐,可以轻松获得初始 θ。 因此,我们的60倍初始化只是为了二维搜索tx,ty。 相比之下,Monodepth2+ICP需要对θ、tx、ty进行三维搜索。 如表所示。 如图2所示,

我们的DeepI2P对初始化具有鲁棒性,而Monodepth2+ICP在60倍随机初始化方面表现较差。

图像内遮挡。 在 Oxford/Kitti 中,当平移较大时,例如,遮挡效应可能会很显着。 > 5m。 标签。 图 2 显示,当最大平移限制减小(15m→ 10m→ 5m)时,配准得到改善。

交叉注意力模块。 标签。 图 2 显示了没有交叉注意模块时配准精度的显着下降。

此外,我们还看到粗分类准确率从 98% 显着下降到 80%。 3D 点密度。 如表所示。 2,我们的配准精度随着点密度的降低而降低。 尽管如此,即使点密度下降到 1/4 (20480 → 5120),性能下降也是合理的。

6.4. 可视化

图 5 显示了我们的平截头体分类网络和基线网格分类网络的结果示例(请参阅补充材料)。 使用地面真实姿态 G 将点云投影到图像中。点的颜色表示平截头体或网格预测的正确性,如标题中所述。 这Oxford 中平截头体和网格分类的准确率分别约为 98% 和 51%,KITTI 中分别为 94% 和 39%。 KITTI 中的低分类精度导致跨模态配准时 RTE 和 RRE 较大。 视锥体分类和逆相机投影问题的 3D 可视化如图 6 所示。它说明了通过将相机视锥体与分类结果对齐来找到相机姿态的直觉。

7.结论

本文提出了一种图像和点云之间跨模态配准的方法。 具有挑战性的配准问题被转换为由深度网络解决的分类问题和由最小二乘优化解决的逆相机投影问题。 我们提出的分类优化框架的可行性通过 Oxford 和 KITTI 数据集进行了验证。

相关推荐
星语心愿.32 分钟前
D4——贪心练习
c++·算法·贪心算法
光头man32 分钟前
【八大排序(二)】希尔排序
算法·排序算法
深度学习lover34 分钟前
<项目代码>YOLO Visdrone航拍目标识别<目标检测>
python·yolo·目标检测·计算机视觉·visdrone航拍目标识别
武昌库里写JAVA41 分钟前
使用React Strict DOM改善React生态系统
数据结构·vue.js·spring boot·算法·课程设计
MorleyOlsen1 小时前
【Trick】解决服务器cuda报错——RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
运维·服务器·深度学习
创意锦囊1 小时前
随时随地编码,高效算法学习工具—E时代IDE
ide·学习·算法
stm 学习ing1 小时前
HDLBits训练3
c语言·经验分享·笔记·算法·fpga·eda·verilog hdl
single5941 小时前
【c++笔试强训】(第四十一篇)
java·c++·算法·深度优先·图论·牛客
yuanbenshidiaos1 小时前
C++-----函数与库
开发语言·c++·算法
清弦墨客1 小时前
【数据结构与算法】深度优先搜索:树与图的路径探寻之道
数据结构·python·算法·蓝桥杯·深度优先