2D-3D配准技术【LCD:Learned Cross-Domain Descriptors for 2D-3D Matching】

一、相关链接

论文链接: LCD: Learned Cross-Domain Descriptors for 2D-3D Matching
代码链接1: https://github.com/hkust-vgd/lcd.git
代码链接2: 镜像

二、论文阅读

Abstract

在这项工作中,我们提出了一种新的方法来学习二维图像和三维点云匹配的局部跨域描述符。我们提出的方法是一个双自动编码器神经网络,它将二维和三维输入映射到一个共享的潜在空间表示中。我们表明,共享嵌入中的局部跨域描述符比从二维和三维域的个体训练中获得的描述符更具鉴别性。为了方便训练过程,我们通过从公开的RGB-D场景中收集≈140万个具有不同光照条件和设置的2D-3D对应,建立了一个新的数据集。我们的描述符在三个主要的实验中进行了评估:二维-三维匹配、跨域检索和稀疏到密集的深度估计。实验结果证实了该方法的鲁棒性,以及它不仅在解决跨域任务方面,而且在能够推广到解决唯一的二维和三维任务方面的竞争性能。

解读

  • "Learned Cross-Domain Descriptors for 2D-3D
    Matching"是一种深度学习方法,用于解决2D(二维)图像和3D(三维)模型之间的对应点检测问题。它特别关注于跨领域的特征描述符学习,即从2D图像数据中学到的特征表示可以有效地应用于3D模型,反之亦然。

Introduction

计算机视觉任务,如结构从运动,视觉内容检索,需要来自二维和三维域的鲁棒描述符。这些描述符,在它们自己的领域中,可以由低级别的特征构造出来,例如,颜色、边等。在图像匹配中,计算机视觉中一项众所周知的任务,已经提出了一些手工制作的局部描述符,如SIFT(Lowe 2004)、SURF(Bay、图特拉尔和Van Gool 2006)。随着深度学习的出现,许多鲁棒的二维描述符可以使用深度神经网络自动学习(Simo-Serra等人,2015年;Kumar等人,2016年)。这些学习过的描述符显示了它们的健壮性和优势。在三维域中也可以观察到同样的现象。例如,手工制作的3D描述符,如FPFH(鲁素、布洛多和比茨2009)、肖、汤巴里、萨尔蒂和迪斯蒂法诺2010年)以及基于深度学习的描述符(曾等2017)已被用于许多3D任务,如3D注册(崔、周和科尔顿2015年;周、朴和科尔顿2016年)和运动结构(哈特利和齐瑟曼2003年)。

虽然2D和3D描述符已经广泛可用,但发现这些表征之间的关联是一项具有挑战性的任务。它还缺乏一个描述符,可以捕获两个领域的特性,并为跨域任务进行定制,例如,2D到3D内容检索。一般来说,二维和三维表示之间有很大的差异。二维数据中的数据,即图像,可以简单地用规则的网格来表示。同时,三维数据可以用网格、体积或点云来表示,并通过一个由物理和光学定律控制的图像形成模型来获得。即使最近出现了深度学习,这些问题仍然保持不变:在二维域上学习的特征可能不适用于3D空间,反之亦然。

在这项工作中,我们试图通过提出一种新的方法来学习二维和三维描述符,来弥补二维和三维描述符之间的差距。我们特别作出了以下贡献:

1 一种新的学习跨域描述符(LCD),学习使用双自动编码器架构和三重损失。我们的设置强制二维和三维自动编码器在共享潜在空间表示中的跨域描述符。这种共享的潜在空间不仅为2D-3D匹配提供了一个公共空间,而且还提高了单域设置中的描述符性能。
2 一个新的公共数据集,≈140万的二维三维对应,用于训练和评估跨域描述符匹配。我们基于SceneNN(Hua等人2016)和3DMatch(Zeng等人2017)建立了我们的数据集。
3 用于验证我们的跨域描述符的鲁棒性的应用程序。具体来说,我们将描述符应用于解决唯一的2D(图像匹配)和唯一的3D任务(3D配准),然后应用于2D-3D内容检索任务(2D-3D位置识别)。实验结果表明,我们的描述符在所有任务中提供了与其他最新技术先进的方法相当的性能,即使它不是专门为这些特定的任务而定制的。

Related work

本地描述符是许多应用程序的关键组成部分,如localization、registration、Structure-from-Motion、Simultaneous Localization and Mapping、 and pose estimation。一般来说,二维描述符是从图像的二维局部斑块中获得的,而三维描述符通常是从三维点云中计算出来的。一般来说,二维描述符是从图像的二维局部斑块中获得的,而三维描述符通常是从三维点云中计算出来的。

二维描述符: 图像描述符,都是完全手工制作的和部分学习,在计算机视觉的早期已经得到了很好的研究。最近,深度学习已被应用于二维描述符的端到端学习。在图像匹配中,学习到的描述符对手工描述符具有鲁棒性。例如,(Zagoruyko和科莫odakis2015)和(Han et al. 2015)提出了一种暹罗架构来学习给定的一对图像补丁之间的相似性得分。然而,这些方法的计算成本很高,因为图像补丁需要成对地传递到网络中。为了使解决方案易于处理,在(Simo-Serra et al. 2015;Tian,Fan,和Wu 2017)中,描述符使用相同的暹罗架构进行学习,但使用欧几里德距离进行匹配。这使得学习到的描述符可以直接替代传统的手工描述符,并且可以在匹配中有效地完成最近邻查询。我们的工作是建立在这个想法之上的,但我们学习的是一个跨域的2D-3D描述符。

最近,三连体网络(balntaetal.2017)被引入,以三个图像补丁作为学习描述符的输入。这些网络表明,在三重损失的情况下学习(施罗夫、卡列尼琴科和菲尔宾2015;赫尔曼斯、拜尔和莱比2017)导致了更好的嵌入空间。(Mishchuk等人,2017年;Keller等人,2018年)。特征检测器和描述符的联合学习由(Yi et al. 2016)。一般来说,所有这些工作都以图像补丁作为输入,并学习一个二维描述符的特征空间。相比之下,我们的工作旨在学习二维和三维描述符的共享潜在空间。除了利用度量学习之外,我们还利用自动编码器来学习一个更有区别的空间。

三维描述符: 与2D描述符不同,点云的3D描述符,如PFH(Rusu等人2008)、FPFH(Rusu、Blodow和Beetz 2009)和SHOT(Tombari、Salti和Di Stefano 2010),没有达到相同的健壮性和成熟度水平。这些方法要么需要稳定的表面,要么需要足够的点密度。深度学习的解决方案也被提出来解决这些问题。例如,3DMatch(Zeng et al. 2017)使用体素化补丁来计算卷积中的三维局部描述符,以注册RGB-D扫描。(Dewan,Caselitz和Burgard 2018)还在3D体素上应用卷积来学习激光雷达扫描的局部描述符。然而,这种结构不能直接用于点云,因为它们的不规则输入结构禁用卷积。为了解决这个问题,(Khoury,Zhou,Koltun2017)提出通过深度学习来减少手工制作的点云描述符维数,以实现有效匹配。

最近,PointNet(Qi et al. 2017)推出了第一个可以直接操作点云的深度神经网络。该网络随后成为多个基于点的网络的主干(Deng,Birdal和Ilic 2018b;2018a;Yew和Lee 2018)。特别是,PPFNet(Deng,Birdal和Ilic 2018b)使用点对特征来学习局部点云描述符以进行配准。3DFeat-Net(Yew和Lee 2018)提出了一种弱监督的方法,以学习户外数据仅使用GPS/INS标签的局部描述符。PPF-FoldNet(Deng,Birdal和Ilic 2018a)利用自动编码器以无监督的方式学习点云描述符。点云上的其他深度学习描述符包括关键点网络(苏瓦雅纳肯等人2018年)、USIP(李和李2019年)和点NetVLAD(安吉丽娜·尤和海·李2018年)。这些方法解决了三维关键点检测和基于激光雷达的位置识别的问题,因此,被设计为只匹配三维结构。另一方面,我们的工作以统一的方式处理2D图像补丁和3D点云。

二维-三维跨域描述符: (Li et al. 2015)提出了一种三维形状和图像的联合全局嵌入方法来解决检索任务。三维嵌入首先是手工构建的,图像嵌入被学习,以坚持三维嵌入。相反,我们的网络联合学习局部描述符的二维和三维嵌入。(Xing et al. 2018)提出了一个被称为3DTNet的网络,它同时接收2D和3D局部补丁作为输入。而3DTNet仅设计用于三维匹配,该网络以二维特征作为辅助信息,使三维特征更具鉴别性。其他一些工作也建立了二维和三维之间的联系,用于特定的应用,如物体姿态估计(林、皮尔西亚瓦什和托拉尔巴2013;肖、罗素和托拉尔巴2012)和三维形状估计(海和拉曼南2012)。最近,(Feng et al. 2019)提出了一种深度网络来匹配二维和三维斑块,用于户外定位。 我们的工作与此方法的不同之处在于,我们的目标不是学习特定于应用的描述符,而是用于广义二维-三维匹配的跨域描述符,我们的实验证明,可以用于各种任务。

Learned cross-domain descriptors (LCD)

Problem definition

寻找在图像patch和点云patch上执行2D-3D匹配的稳健描述符的问题可以表述如下:
在这里插入图片描述
需要注意的是,虽然图像数据是有结构的,其中的像素必须保持有序,但点云体积是无序坐标的集合。对于N个点的点云,数据集中有 N ! 种可能的排列方式。然而,由于点云的结构保持不变,因此其顺序是无关紧要的。
在这里插入图片描述
对于每一对2D-3D对应关系(I,P),它们的映射尽可能地相似。
在这里插入图片描述
一个距离函数F和两个描述符dI,dP∈D,如果I和P表示相同的底层几何,那么F(dI,dP)< m,其中m是一个预定义的边界。
在这里插入图片描述

Network architecture

受自动编码器在描述符构建中的成功应用(Deng,Birdal和Ilic 2018a)的启发,我们提出了一种新的双自动编码器架构来学习描述符。我们的模型是一个双分支的网络体系结构,其中一个分支编码三维特征,而另一个分支编码二维特征。然后使用三重损失联合优化两个分支,加强两个分支生成的嵌入的相似性以及二维/三维重建损失。我们的网络架构如图1所示。
在这里插入图片描述
图1:我们提出的网络由一个二维自动编码器和三维自动编码器组成。输入的图像和点云数据分别用光度测量和倒角损失进行重建。重构损失保证了嵌入中的特征具有区别性和代表性。二维嵌入dI和三维嵌入dP之间的相似性进一步被三重态损失正则化。图示: fc用于全连接,conv/反conv(内核大小、输出昏暗、步幅、填充)分别用于卷积和反卷积。每个卷积和反卷积之后都有一个ReLU激活和一个批归一化。

解释

  • LCD采用基于双分支自编码器的架构,通过三个损失进行训练。其中两个损失分别用于训练每个分支。一个分支被训练为将输入图像patch编码成向量embeddings,而另一个自编码器对输入点云patch执行相同的操作。最终,采用三元损失以最小化两个分支之间的差异,使得生成的embeddings在2D和3D数据之间共享相似性。

对于二维分支,我们的二维自动编码器输入一个大小为64×64的彩色图像patch,并通过一系列与ReLU激活进行卷积处理,以提取图像特征。对于二维解码器,我们使用一系列与ReLU的转置卷积来重建图像补丁。对于三维分支,我们采用著名的PointNet架构(Qi et al. 2017),采用一系列全连接层,然后最大池来计算全局特征。为了重建彩色点云,我们使用了另一系列全连接的层,它输出一个大小为N×6的彩色点云。为了强制共享表示,两个自动编码器通过优化三重损失,这两个自动编码器被绑定在它们的瓶颈之间。最后的训练损失结合了光度损失、倒角损失和三联体损失如下。

解释

  • 2D分支
    2D分支能够将输入图像数据编码成具有固定大小的embeddings,该过程在编码器中完成。它接受大小为64 × 64的图像patch作为输入,通过一系列的2D卷积操作并使用ReLU激活进行前向传播。在最后,一个全连接层将计算得到的特征映射转换为大小为D的单维向量,然后进行L2归一化。为了解码生成的embeddings并获取原始图像,向量被输入到一个解码器架构中,通过一系列的反卷积操作并使用ReLU进行数据传播。
  • 点云自编码器
    点云自编码器具有类似的行为。点云描述符是通过PointNet架构创建的,该架构将输入的3D数据转化为大小为D的1D向量。原始点云可以通过解码器中的全连接层进行恢复。

光度损失: 二维自动编码器损耗由光度损耗定义,光度损耗是输入的二维补丁 I I I与重构的patch I ˉ \bar{I} Iˉ之间的均方误差:
在这里插入图片描述
其中 I i I_i Ii I ˉ i \bar{I}_i Iˉi分别表示输入和重建图像块中的第i个像素。

倒角损失: 为了优化三维自动编码器网络,我们需要计算输入点集 P P P和重构点集 P ˉ \bar{P} Pˉ之间的距离。我们通过众所周知的倒角距离来测量这个距离:
在这里插入图片描述
三元组损失: 为了加强由二维和三维分支生成的embeddings的相似性,即一个二维图像补丁及其相应的三维结构应该具有相似的embeddings,我们采用了三元组损失函数。这种损失使锚与正点之间的距离最小化,同时使锚与负点之间的距离最大化。接下来(Hermans,Beyer和Leibe 2017),我们执行在线批处理最硬的负挖掘,可以提高训练和测试性能。三元组损失函数可以写成如下:
在这里插入图片描述
**培训损失:**总之,用于训练我们的网络的损失函数被定义为:
在这里插入图片描述
其中,α、β和γ是强调训练过程中每个子网络在训练过程中的重要性的权重。我们在我们的实现中设置了α = β = γ = 1。

所提出的体系结构有几个优点。首先,二维和三维分支捕获了二维和三维域中的重要特征。当这些分支被联合训练时,域不变特征将被学习并集成到嵌入中。其次,在体系结构中使用自动编码器,可以在二维和三维域之间对描述符进行转换,如我们的实验中所示。

解释
在这里插入图片描述
在这里插入图片描述
关于2D-3D配准中的Triplet Loss
参考: Triplet Loss

Implementation details

我们的网络需要一个二维-三维对应的数据集来训练。据我们所知,目前还没有这样的公开数据集。因此,我们通过利用来自RGB-D扫描的几个3D数据集的可用性,建立了一个新的2D-3D对应数据集。在这项工作中,我们使用了来自SceneNN(Hua等人2016)和3DMatch(Zeng等人2017)的数据。SceneNN是一个由手持RGB-D传感器扫描的细粒度注释。3DMatch数据集是来自不同作品的现有RGB-D场景的集合(格洛克等人2013年;肖、欧文斯和托拉尔巴2013年;瓦伦丁等人2016年;戴等人2017年;亨利等人2013年;哈伯和芬克豪瑟2017年)。我们遵循来自(Zeng et al. 2017)和(华、川和杨2018)的相同的列车和测试分割。我们的训练数据集包括110个RGB-D扫描,其中56个场景来自SceneNN,54个场景来自3个DMatch。我们实验中提出的模型都是在同一个数据集上训练的。

二维-三维对应数据生成如下。给定一个从三维点云中随机采样的三维点,我们从不同的扫描视图中提取一组3Dpatch。为了找到一个2D-3D对应,对于每个3Dpatch,我们将其3D位置重新投影到所有RGB-D帧中,其中点位于相机挫折中,考虑到遮挡。然后,我们在重新投影的点周围提取相应的局部二维patch。我们总共收集了1,465,082个2D-3D对应,具有不同的光照条件和设置。

我们的网络是用PyTorch实现的。该网络使用SGD优化器进行训练,学习速率设置为0.01。我们在一个配备了NVIDIA V100gpu和256 GB内存的集群上训练我们的网络。训练我们的网络大约需要17个小时,在250个时代后停止。

Experiments

在本节中,我们将评估我们提出的在广泛的应用程序下的跨域描述符,这表明学习到的描述符可以同时在二维和三维域上工作。我们还探讨了输出特征维数D对描述符性能的影响。在我们的实验中,我们使用D∈{64,128,256}进行训练和测试,在结果中表示为LCD-D*。

  • 我们评估了二维描述符在图像匹配任务上的性能。
  • 然后,我们演示了我们的三维描述符在全局注册问题中的能力。
  • 我们的跨域描述符还支持独特的应用程序,如二维-三维位置识别和稀疏密集的深度估计。

2D image matching

为了评估不同基线上的性能,我们在不同的帧差值下对图像对进行采样: 10、20和30。超级点是一个端到端关键点检测器和描述符网络。由于我们只对描述符的性能感兴趣,为了给出一个公平的比较,我们对所有描述符使用由超级点提取的相同关键点。两个图像之间的匹配是通过找到最近的描述符来完成的。我们使用精度作为我们的评估指标,即真实匹配的数量超过预测匹配的数量。表1显示了我们的描述符与其他方法相比的性能。总的来说,我们的方法远远优于其他传统的手工描述符,并且与其他基于学习的方法,即超级点相比,具有良好的性能。图2提供了一个二维匹配可视化的示例。可以看出,我们的描述符通过更多正确的匹配提供了更强的性能。

3D global registration

为了演示我们的描述符的实际使用,我们将它与RANSAC结合起来,用于三维全局注册任务。从扫描中得到两个三维片段,我们对片段进行均匀的降采样以获得关键点对于每一个兴趣点,我们通过在附近的30厘米内取点来形成一个局部斑块。然后计算所有这些关键点的三维描述符 。我们匹配这两组关键点,最近邻搜索并使用RANSAC来估计最终的刚性变换。

我们使用3DMatch基准测试(Zeng et al. 2017)来评估我们的描述符的三维匹配性能,其中包含8个用于测试的场景。3DMatch已经提供了从连续的深度帧中融合出来的测试片段。然而,这些片段缺乏颜色信息,这是我们的描述符所必需的,所以我们修改了管道,以生成另一个带有颜色的版本。

2D-3D place recognition

我们进一步评估了我们的局部跨域描述符。与以往单域位置识别的工作不同(Torii等人,2015;阿兰德杰洛维奇等人,2016),我们的任务是在给定查询二维图像的数据库中找到相应的三维几何子图。我们只假设给出了原始的几何图形,而没有额外的几何图形在相机定位问题中常见的相关图像描述符和/或相机信息(Zeisl、Sattler和波粉2015;Sattler等人,2015年)。随着3D数据可用性的增加,这种2D-3D位置识别变得实用,因为它允许使用互联网照片在3D中定位一个位置。据我们所知,之前还没有关于解决这个跨领域问题的报告。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值