点云配准的端到端深度神经网络:ICCV2019论文解读
阅读原文时间:2021年09月20日阅读:3

点云配准的端到端深度神经网络:ICCV2019论文解读

DeepVCP: An End-to-End Deep Neural Network for Point Cloud Registration

论文链接:

http://openaccess.thecvf.com/content_ICCV_2019/papers/Lu_DeepVCP_An_End-to-End_Deep_Neural_Network_for_Point_Cloud_Registration_ICCV_2019_paper.pdf

摘要

本文提出了一种新的基于端到端学习的三维点云配准框架DeepVCP,其配准精度可与现有的最新几何方法相媲美。与通常需要RANSAC过程的其他基于关键点的方法不同,本文使用不同的深度神经网络结构来建立端到端的可训练网络。本文的关键点检测器通过这种端到端的结构进行训练,使系统能够避免动态对象的干扰,充分利用静止对象上的显著特征,从而实现高鲁棒性。与其在现有的点之间寻找对应的点,关键的贡献在于本文创新性地基于一组候选点之间的学习匹配概率生成它们,从而提高了配准的准确性。本文使用KITTI数据集和Apollo SouthBay数据集全面验证了本文的方法的有效性。结果表明,本文的方法与目前最先进的基于几何的方法相比,具有相当的配准精度和运行效率,但对不精确的初始姿态具有更高的鲁棒性。包括详细的消融和可视化分析,以进一步说明本文网络的行为和见解。该方法具有配准误差小、鲁棒性强的特点,对依赖点云配准的实际应用具有一定的吸引力。

1.       Introduction

在这篇题为“DeepVCP”(虚拟对应点)的工作中,本文提出了一种基于端到端学习的方法来精确对齐两个不同的点云。DeepVCP这个名字准确地抓住了虚拟对应点生成步骤的重要性,这是本文方法中提出的关键创新设计之一。本文的框架的概述如图1所示。本文首先使用最新的点云特征提取网络PointNet++[31]从源点云和目标点云中提取每个点的语义特征。它们被期望具有一定的语义,以使本文的网络能够避免动态对象,并关注那些有利于配准的稳定和独特的特征。为了进一步实现这一目标,本文在源点云中选择对配准任务最重要的关键点,利用点加权层通过学习过程为提取的特征分配匹配权重。为了解决点云的局部稀疏性问题,提出了一种基于特征描述子提取过程的点云生成方法。本文相信这是提高配准精度的关键贡献。最后,除了利用源关键点与生成的对应点之间的L1距离作为损失外,本文还提出了通过自适应地合并关键点权重并使用TensorFlow中新引入的SVD算子执行一次优化迭代来构造另一个对应点。关键点和这个新生成的对应点之间的L1距离再次被用作另一个损失。与第一个仅使用局部相似性的损失不同,这个新引入的损失在局部关键点之间建立了统一的几何约束。通过端到端的闭环训练,DNNs可以很好地进行泛化,选择最佳的关键点进行配准。

总之,本文的主要贡献是:

•据本文所知,本文的工作是第一个基于端到端学习的点云配准框架,其结果与以前的原始几何状态相当。

•本文的基于学习的关键点检测、新的对应点生成方法以及融合了局部相似性和全局几何约束的损失函数,在基于学习的配准任务中实现了高精度。

•使用KITTI[13]和Apollo SouthBay[25]数据集进行严格的测试和详细的融合分析,以充分证明所提出方法的有效性。

2.       Related Work

F.Pomerleau等人的调查工作。[29]对传统点云配准算法的发展进行了很好的概述。[3,37,26,39,44]是其中的代表作。对这些方法的全部文献的讨论超出了本工作的范围。尝试使用基于学习的方法首先替换经典点云配准管道中的每个单独组件。S、 Salti等人。[35]建议使用预先定义的描述符将三维关键点检测问题表述为二进制分类问题,并尝试学习随机森林[4]分类,该分类能够找到适合匹配的适当关键点。M、 Khoury等人。[21]提出首先将输入的非结构化点云参数化为球面直方图,然后训练一个深度网络将这些高维球面直方图映射到欧氏空间的低维描述符。

在关键点检测和描述符学习方法方面,与本文的建议最接近的工作是[46]。它没有构建端到端的配准框架,而是着重于关键点和描述符的联合学习,以最大限度地提高点云对之间的局部差异性和相似性。G、 Georgakis等人。[14] 解决了RGB-D数据的类似问题。深度图像由改进的快速R-CNN结构处理,用于联合keypoint检测和描述符估计。尽管方法各不相同,但它们都侧重于表现关键点的局部显著性和相似性。在关键点选择过程中,由于缺乏端到端框架中引入的全局几何约束,忽略了真实场景中的内容感知。              因此,在这些方法中不能拒绝场景中动态对象上的关键点。

最近的一些工作[49,11,7,1]提出利用DNNs学习3D描述子,并试图解决3D场景的识别和再定位问题,其中获取准确的局部匹配结果不是目的。为了实现这一目标,配准登记仍然需要采用国际比较项目的方法。M、 Velas等人。[41]将三维激光雷达数据编码为专门为多光束机械激光雷达设计的二维表示。CNNs被用来作为一个分类或回归问题来推断6自由度姿态。在此基础上建立了IMU辅助的激光测距系统。本文的方法直接处理原始的无序点云,并将其设计为一个通用的点云配准解决方案。

3.       Method

本节详细描述了如图2所示设计的拟议网络的体系结构。

3.1.  Deep Feature Extraction

本文的网络输入包括源点云和目标点云、预测(先验)变换和仅在训练阶段需要的地面真位姿。第一步是从点云中提取特征描述符。在提出的方法中,本文使用一个深神经网络层来提取特征描述符,即特征提取(FE)层。如图2所示,本文将源点云(表示为N1×4张量)送入铁层。输出是表示提取的局部特征的N1×32张量。本文在这里使用的FE层是PointNet++[31],这是一个解决在网络体系结构中使用无序点问题的创新性工作。本文还考虑在未来尝试旋转不变的3D描述符[6,16,23]。这些局部特征具有一定的语义意义。结合下一步将要引入的加权层,本文期望本文的端到端网络能够避免来自动态对象的干扰,并提供精确的配准估计。在第4.4节中,本文将可视化选定的关键点,并演示如何成功避免动态对象。

3.2.  Point Weighting

受3DFeatNet[46]中注意层的启发,本文设计了一个点加权层来学习端到端框架中每个点的显著性。理想情况下,静态对象上具有不变和不同特征的点应分配更高的权重。如图2所示,将源点云的N1×32局部特征输入点权层。加权层由3层全连接层的多层感知器(MLP)和top k操作组成。前两个完全连接的层使用批处理规范化和ReLU激活函数,最后一层省略规范化并应用softplus激活函数。通过top k算子选择最重要的N个点作为关键点,并在后续过程中使用它们的学习权重。本文的方法与3DFeatNet[46]有几个不同之处。首先,注意层中使用的特征是从局部补丁中提取的,而本文的特征是直接从点云中提取的语义特征。本文从编码器-解码器类型的网络(PointNet++[31])中学习到了更大的接收字段。此外,本文的加权层不输出1D的旋转角度来确定特征方向,因为本文在下一节的特征嵌入层的设计使用了对称和各向同性的网络结构。

3.3.  Deep Feature Embedding

从源点云中提取N个关键点后,寻找目标点云中的对应点进行最终配准。为了达到这一目的,本文需要一个更详细的特征描述,能够更好地表示它们的几何特征。因此,本文在它们的邻域点上应用深度特征嵌入(DFE)层来提取这些局部特征。本文使用的DFE层是一个mini PointNet[30,7,25]结构。具体来说,本文在每个关键点的特定半径d内收集K个相邻点。如果相邻点少于K个,本文只需复制它们。对于所有相邻点,本文使用它们的局部坐标并通过搜索半径d将它们规范化。然后,本文将第3.1节中提取的FE特征与相邻点的局部坐标和LiDAR反射强度连接起来作为DFE层的输入。迷你点网由三层全连接层的多层感知器(MLP)和一个maxpooling层组成,用于聚合和获取特征描述符。如图2所示,DFE层的输入是一个N×K×36矢量,它是指邻域中每个点的局部坐标、强度和32维有限元特征描述。DFE层的输出也是一个32维向量。在第4.3节中,本文展示了DFE层的有效性,以及它如何帮助显著提高配准精度。

3.4.  Corresponding Point Generation

输出是一个N×C×32张量。与[25]类似,那些表示从源和目标提取的DFE特征描述符的张量被输入到三层3D CNNs中,然后进行softmax操作,如图2所示。三维CNNs可以学习到源特征和目标特征之间的相似距离度量,更重要的是,它可以平滑(正则化)匹配体并抑制匹配噪声。使用softmax操作将匹配成本转换为概率。

3.5.   Loss

其中α是平衡因子。在第4.3节中,本文展示了损失设计的有效性。实验结果表明,采用L1损耗时,收敛速度更快,精度更高。值得注意的是,在训练期间,估计的对应关键点yi实际上是作为估计的变换(R,T)一起不断更新的。当网络收敛时,估计出的相应关键点与地面真实值无限制地接近。有趣的是,这个训练过程实际上与经典的ICP算法非常相似。而网络只需要一次迭代就可以找到最优对应的关键点,然后在推理过程中对变换进行估计,这是非常有价值的。

3.6.  Dataset Specific Refinement

此外,本文还发现,KITTI和Apollo-SouthBay数据集具有一些特征,可以用来进一步提高配准精度。补充材料中介绍了使用许多不同数据集的实验结果。这种特定的网络复制方法不适用于这些数据集。由于来自Velodyne HDL64的点云在z方向上分布在一个相对狭窄的区域内,因此限制z方向的关键点通常与其他两个不同,例如地平面上的点。这会导致z、横滚和俯仰方向的配准精度下降。为了解决这个问题,本文实际上复制了整个网络结构,如图2所示,并以级联模式使用网络的两个副本。后网络使用来自前网络的估计变换作为输入,但在后者的CPG步骤中,仅用z方向的1D-one采样替换3D cnn。两个网络共享同一个FE层,因为本文不想两次提取FE特征。这提高了z、roll和pitch的估计精度。

4.       Experiments

KITTI Dataset

本文以30帧的间隔对输入源的激光雷达扫描进行采样,并在距离它5米的范围内枚举其注册目标。数据集中的原始点云包含约108000个点/帧。本文将原始点云用于ICP、G-ICP、AA-ICP、NDT和3DFeat网等方法。为了使CPD的计算时间不难处理,本文使用0.1m大小的体素对点云进行了降采样,平均留下约50000个点。所有方法的运行时间统计如图3所示。对于本文提出的方法,本文评估了两个版本。一个是基础版本,表示为“本文的基础”,它可以同时推断所有自由度x、y、z、横摇、俯仰和偏航。另一个是本文在第3.6节中讨论的网络复制的改进版本,称为“本文的复制”。所有方法的角度和平移误差见表1。可以看出,对于KITTI数据集,DeepVCP在大多数基于几何的方法(如AA-ICP、NDT-P2D)中达到了可比的配准精度,但其性能略低于G-ICP和ICP,尤其是在角度误差方面。较低的最大角误差和平移误差表明,该方法具有良好的鲁棒性和稳定性,在大点云配准任务中具有显著提高系统整体性能的潜力。

Apollo-SouthBay Dataset

在阿波罗南湾数据集中,本文以100帧间隔采样,并再次枚举5米距离内的目标。每个单独方法的所有其他参数设置都与KITTI数据集相同。角度和平移误差见表2。对于Apollo SouthBay数据集,包括本文的方法在内的大多数方法都有性能改进,这可能是由于该数据集提供了更好的地面真实姿势。与其他传统方法相比,本文采用重复设计的系统达到了次优的平均平移精度和可比的角度精度。此外,最小最大平移误差证明了本文提出的基于学习的方法具有良好的鲁棒性和稳定性。

Run-time Analysis

本文使用GTX 1080 Ti GPU、Core i7-9700K CPU和16GB内存评估框架的运行时性能,如图3所示。对于在第3.6节中的重复设计中注册帧对,本文的网络的端到端推理总时间约为2秒。请注意,DeepVCP比其他基于学习的方法3DFeat Net[46]快得多,因为本文只提取64个关键点,而不是1024个,并且不依赖RANSAC过程。

Deep Feature Embedding

强度相连接来构造网络输入。现在,本文通过进行以下实验来更深入地了解这一设计选择:

i) LLF-DFE:仅使用局部坐标和强度;

ii)FEF-DFE:仅使用FE特性;

iii)FEF:丢弃DFE层。

FE特性直接用作CPG层的输入。在目标点云中,网格体素中心的有限元特征被插值。可以看出,DFE层对该任务至关重要,因为如果没有DFE层,性能会严重下降,如表3所示。LLF-DFE和FEF-DFE提供了竞争性的结果,而本文的设计提供了最佳的性能。              本文使用GTX 1080 Ti GPU、Core i7-9700K CPU和16GB内存评估框架的运行时性能,如图3所示。对于在第3.6节中的重复设计中注册帧对,本文的网络的端到端推理总时间约为2秒。请注意,DeepVCP比其他基于学习的方法3DFeat Net[46]快得多,因为本文只提取64个关键点,而不是1024个,并且不依赖RANSAC过程。

Corresponding Points Generation

为了证明CPG的有效性,本文考虑到预测的变换,直接在目标点云中的现有点中寻找最佳对应点。具体来说,对于每个源关键点,选择目标邻域特征空间中相似度得分最高的点作为对应点。结果表明,利用本文提出的损失函数,它无法收敛。原因可能是正负样本比例极不平衡。

在第3.5节中,本文建议使用两个损失的组合来整合全局几何信息,并引入平衡因子α。为了证明使用这两种损失的必要性,本文从0.0到1.0的范围内抽取了11个α值,并观察了配准精度。在图4中,本文发现0.0和1.0的平衡因子显然会产生较大的角度和平移平均误差。这清楚地证明了组合损失函数设计的有效性。同样有趣的是,它对0.1-0.9之间的α产生类似的精度。本文认为这可能是由于深层神经网络强大的泛化能力。网络中的参数可以很好地推广到采用0.0或1.0以外的任何α值。因此,本文在所有实验中使用0.6。

Visualization of Keypoints

在第3.1节中,本文建议使用PointNet++[31]提取语义特征,并使用MLP网络结构对其进行加权。本文希望本文的端到端框架能够智能地学习选择在静止物体(如交通杆、树干)上唯一且稳定的关键点,但避免在动态物体(如行人、汽车)上选择关键点。除此之外,本文在第3.6节中复制了本文的网络。带有3D CNNs-CPG层的前端网络有望找到有意义的关键点,这些关键点在所有六个自由度上都有很好的约束。而具有1D CNN的后置网络在z、横滚和俯仰方向都很好。在图5中,将检测到的关键点与真实场景中的相机照片和激光雷达扫描进行比较。粉红色和灰色的关键点分别由前网络和后网络检测。本文观察到,关键点的分布符合本文的期望,因为粉色的关键点大多出现在具有显著特征的物体上,如树干和杆子,而灰色的则大多出现在地面上。即使在有很多汽车或公共汽车的场景中,也没有检测到关键点。这表明,本文的端到端框架能够检测出有利于点云注册任务的关键点。

Visualization of CPG Distribution

第3.4节中的CPG层估计每个关键点与其候选对应点的匹配相似概率。图6用9个固定的z值在x和y维度上显示了估计的概率。在左侧和右侧,黑色和粉色点分别是源点云的关键点和目标中生成的关键点。可见,检测到的关键点非常明显,匹配概率集中分布。

5.       Conclusions

本文已经为点云注册任务提供了一个端到端的框架。本文网络中新颖的设计使本文的基于学习的系统达到了与最先进的几何方法相当的配准精度。结果表明,本文的网络能够自动学习哪些特征对注册任务有利,从而产生异常值拒绝能力。与ICP及其变体相比,它得益于深层特征,对不准确的初始姿势更为稳健。基于在最先进的深度学习框架中,GPU加速具有良好的运行效率,不比普通的几何方法差。相信本文的方法是有吸引力的,并有很大的应用潜力。在这项工作的进一步扩展中,本文将探索如何在更广泛的应用场景中使用更多的LiDAR模型来提高训练模型的泛化能力。