如何实现面向三维点云的信息丰富的旋转不变特征

描述

神经网络

论文题目:SpinNet: Learning a General Surface Descriptor for 3D Point Cloud Registration

作者:Sheng Ao, Qingyong Hu, Bo Yang, Andrew Markham, Yulan Guo

和二维图像匹配类似,三维点云匹配中,实现能够在两个扫描帧之间共享的鲁棒局部特征也是一直以来十分棘手的问题。这项任务的挑战性在于:1)不同的扫描帧通常具有不同的视角,2)原始3D扫描通常是不完整的、具有较多噪声且点密度明显不同的。针对这项任务,已经有许多传统的方法被提出来,例如经典的SHOT,ISS等。但是尽管它们在高质量的3D点云上取得了令人鼓舞的结果,但它们不能推广到高噪声和大规模实际3D点云。最近,基于深度神经网络的点云匹配方法取得了出色的成果。然而,它们有两个主要限制。第一,其中许多方法,如D3Feat和FCGF,依赖于基于核的点卷积或子流形稀疏卷积来提取每个点的特征,导致学得的点局部特征对旋转敏感。因此,当应用于具有强烈旋转变化的新型3D扫描帧时,它们的性能会急剧下降。第二,虽然最近一些方法引入了旋转不变的点描述符,但它们只是将手工特征或外部局部参考坐标系集成到神经网络中,从根本上限制了网络的表示能力。这篇论文则是致力实现用于三维点云匹配的信息丰富的旋转不变特征。该网络明显满足三个重要特性:1)它具有旋转不变性,能从不同旋转角度的3D扫描中学习一致的局部特征;2)它描述性强。本质上,它保留了突出的局部特征,即使在噪声、表面不完整或点密度不同时也能实现;3)它不包括任何手工设计的特征。这个工作将极大的促进三维点云的相关研究,提高对旋转变换的鲁棒性。

1 摘要

从点云配准和重建等下游任务来看,提取鲁棒且普适的3D局部特征至关重要。现有的基于学习的局部描述符要么对旋转变换敏感,要么依赖于经典手工制作的特征,既不具有普适性也不具有代表性。本文引入了一种新的、概念上简单的神经结构,称为SpinNet,以提取旋转不变但足够信息丰富从而实现精确配准的局部特征。首先引入了一个空间点变形器将输入的局部表面映射到一个精心设计的圆柱空间中,从而实现SO(2)等变表示的端到端优化。然后利用强大的基于点和3D圆柱卷积神经网络层的神经特征提取器来实现紧凑且具有代表性的描述符以用于匹配。在室内外数据集上进行的大量实验证明SpinNet显著优于现有的最新技术。更为重要的是,在不同传感器模态的未见场景中具有最佳的泛化能力。

贡献

我们提出了一个新的神经特征学习器用于3D表面匹配。它具有旋转不变性、代表性和在看不见的情况下具有卓越的泛化能力。

通过将转换后的3D表面规则化成圆柱体,我们引入了强大的3D圆柱卷积来学习丰富和通用的特征。

我们进行了大量实验和消融研究,证明了我们方法的显著泛化能力。

2 方法

2.1 问题陈述

给定两个部分重叠的点云和。点云配准的任务是找到最优刚性变换,以及点对应关系来对齐成对的片段,最终恢复完整的场景。点对应关系需要满足:

其中表示旋转矩阵,表示平移向量, 是残差误差。在实践中,由于这个问题的非凸性,同时找到对应关系和估计变换是不可行的。但是,如果可以确定具有一对一对应关系的点子集和,则配准问题可以简化为以下L2距离的最小化问题:

神经网络

其中是成功匹配到的对应关系数,是一个置换矩阵,其元素满足如果中的第个点对应于中的第个点,则,否则为0。

我们提出了一种新的表面特征学习器SpinNet,它是一个映射函数,其中如果和 确实是正确匹配的,则等于任意刚性变换(如旋转和平移)下的。特别地,我们的特征学习器主要由空间点形变器和神经元特征提取器组成。

2.2 空间点形变器

这个模块旨在将输入的3D表面空间转换为柱形体,在克服旋转变化的同时不丢失局部关键信息。如图2所示,它包括四个组成部分,如下所述。

基于参考坐标系进行对齐

给定局部表面中的特定点,我们首先从其半径为的邻域点集中估计一个朝向观察方向的参考轴。然后使用旋转矩阵将与Z轴对齐。与可能存在歧义和不稳定的外部局部参考坐标系相比,我们估计出来的在旋转变化方面更加鲁棒和稳定。随后,将邻域点集转换为。为了实现平移不变性,我们进一步将标准化到中心点,即。因此,获得的局部块已经与z轴对齐,剩下的旋转自由度完全留给XY平面。

球形体素化

这是本文的核心,在设计网络时需要引入一些几何知识先验实现一些归一化,来加速训练、实现泛化:

为了进一步消除XY平面上的旋转不变性,我们利用旋转鲁棒的球形表示。特别地,将块视为球体,并沿径向距离,仰角和方位角均匀地将其分成个体素。每个体素的中心点被表示为,其中, , 。然后,我们明确确定了每个体素中心点的一组邻域点。具体来说,我们使用半径查询找到以固定半径为基础的邻域点,其中神经网络。最后,我们随机采样并保留每个体素的个点,旨在实现并行计算的高效性。这个球形体素化步骤对于接下来的空间点变换至关重要。

欢迎关注微信公众号「3D视觉工坊」,加群/文章投稿/课程主讲,请加微信:dddvisiona,添加时请备注:加群/投稿/主讲申请

在XY平面上的变换

为了使每个球形体素在XY平面上具有旋转不变性,我们将每个体素主动绕Z轴旋转,将其中心与YZ平面对齐,其中旋转矩阵定义如下:

神经网络

这种操作消除了每个体素在XY平面上的一个旋转自由度,而不会丢失每个体素的任何局部几何信息。值得注意的是,现有的方法通常使用手工特征来实现旋转不变性,导致丰富的局部信息被丢失。独特的是,我们的简单策略可以保留这些信息。

圆柱体建模

一旦每个体素的局部几何被转换,进一步保留跨多个体素的较大空间结构就变得至关重要。这要求将所有体素的相对位置在整个框架中表示出来。为此,我们将球形体素重新组合成一个圆柱体。这有利于所提出的三维圆柱卷积网络,它保证了输入局部表面的等变性,并保留了多个体素的拓扑模式。具体来说,给定经过转换的球形体素,每个都有一组相邻点,我们将它们逻辑上投影到一个圆柱体积,表示为,如图2所示。

总之,对于给定的输入表面块,我们的空间点变换器将其Z轴明确地与参考轴对齐,并主动地对XY平面上的球形体素模式进行转换,并通过圆柱体建模进一步保留了拓扑表面结构。显然,该模块使所有表面几何保持完整,以供后续的神经特征提取器学习。

神经网络

2.3 神经特征提取器

此模块旨在使用强大的神经网络层从每个圆柱体素内的转换点中学习特征。如图3所示,它包含两个组件,具体讨论如下。

基于点的网络层

对于每个圆柱体素内的点,我们使用共享的MLP(多层感知器)和最大池化函数学习每个体素的初始特征。形式上,基于点的网络层定义为:

神经网络

其中是D维的学习特征,请注意,MLP权重在所有球形体素之间共享。最终,我们得到一组3D圆柱特征图。

三维圆柱卷积层

为了进一步学习多个体素之间的空间结构,我们提出了一种高效的3D圆柱卷积网络(3DCCN)。特别是,给定位于第层中第个圆柱特征图上位置的一个体素,我们的3DCCN定义如下:

神经网络

其中是径向维度上的卷积核大小,和分别是卷积核的高度和宽度,是可学习的参数。

与现有的卷积操作非常不同,我们提出的3DCCN在以下两个方面是新颖的。第一,由于圆柱特征图在整个圆柱体上是360度连续的,因此我们的3DCCN被设计为绕这些特征图进行卷积操作,即通过周期性边界从−180度到180度。因此,我们的3DCCN中不需要显式填充,但是在特征图边界处的3D CNN是必需的。第二, 与现有的3D流形稀疏卷积或核心点卷积相比,围绕360度体积的连续卷积使得所获取的特征图具有等变性,从而实现了最终的旋转不变性。在堆叠多个这些3DCCN层并进行最大池化之后,原始的圆柱特征图被压缩成了一个紧凑且具有代表性的特征向量。

神经网络

2.3 端到端应用细节

空间点形变器直接与神经元特征提取器相连,随后采用现有的对比损失进行端到端优化。广泛适用的批内最难样本抽样也被即时采用,以最大化最近的正负样本块之间的距离。我们基于PyTorch框架实现了SpinNet。使用默认参数的Adam优化器。初始学习率设置为0.001,并且每5个epoch衰减率为0.5。我们训练网络20个epoch,然后使用在验证集上表现最佳的模型进行测试。为了公平比较,我们在所有实验中保持相同的设置。所有实验在Intel Xeon CPU @2.30GHZ和NVIDIA RTX2080Ti GPU的平台上进行。

审核编辑 :李倩

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分