CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL)
PointASNL: Robust Point Clouds Processing Using Nonlocal Neural Networks With Adaptive Sampling
论文地址:
代码地址: https: //github.com/yanx27/PointASNL
摘要
原始点云数据通过从三维传感器获取或重建算法不可避免地包含异常值或噪声。本文提出了一种新的用于点云处理的端到端网络,称为PointASNL,能有效地处理有噪声的点云。该方法的关键部分是自适应采样(AS)模块。首先从最远点采样(FPS)对初始采样点周围的邻域进行加权,然后自适应调整整个点云之外的采样点。AS模块不仅有利于点云的特征学习,而且可以减轻离群点的偏差效应。为了进一步捕获采样点的邻域和长程相关性,在非局部运算的启发下,提出了一个局部非局部(L-NL)模块。这种L-NL模块使学习过程对噪声不敏感。大量的实验验证了方法在点云处理任务中的鲁棒性和优越性,无论合成数据、室内数据和室外数据有无噪声。具体地说,PointASNL在所有数据集上实现了最先进的分类和分割任务的鲁棒性能,并且在考虑噪声的实际室外SemanticKITTI数据集上显著优于以前的方法。
随着3D传感器的普及,对于将获得更多原始3D数据,例如RGB-D数据、激光雷达数据和MEMS数据[44]。将点云视为三维数据的基本代表,理解点云在各种应用中引起了广泛的关注,例如,自动驾驶[29],机器人技术[37],以及地点识别[23]。在这里,点云有两个组件:
与二维图像不同,稀疏性和无序性使健壮的点云处理成为一项具有挑战性的任务。此外,从这些三维传感器获得的原始数据或重建算法不可避免地包含离群值或现实世界中的噪音。在这项工作中,提出了一个新颖的端到端网络健壮的点云处理,名为PointASNL,能有效地处理含有噪声或离群点的点云。建议的PointASNL主要包括两个通用模块:自适应采样(AS)模块和localnonlocal(L-NL)模块。AS模块用于调整采样点的坐标和特征L-NL模块用于捕获邻居和远程数据采样点的相关性。与二维图像的情况不同,传统的卷积操作不能直接作用于非结构化点云数据。因此,目前大多数的方法通常使用采样从原点选择点的方法用于进行局部特征学习的云。其中采样算法,最远点采样(FPS)[25],泊松圆盘抽样(PDS)[11]和甘贝尔子集抽样(GSS)[48]在先前的工作中提出。然而,作为最具代表性的一种,FPS植根于欧几里得距离,这是任务相关的和离群值敏感。PDS是一种预定义的均匀采样方法无法以数据驱动的方式解决上述问题。GSS公司仅从高维嵌入执行采样而忽略了点的空间分布。此外,这些方法的共同关键问题是采样点仅限于原始点的一个子集云。因此,如图1的左侧所示,假设一个离群点被抽样,会影响下游过程不可避免。
为了克服上述问题,建议可微自适应采样(AS)模块用于调整初始采样点的坐标(例如,从FPS)通过数据驱动的方式。这种坐标调整有助于拟合内在几何子流形和进一步的移位更正原始点云之外的点而不使用离群值的影响。因此,AS模块不仅可以受益点特征学习,同时也改进了模型对噪声的鲁棒性。为了进一步提高性能学习过程对噪声不敏感,提出了一种局部非局部的方法NL-L近距离捕获模块(NL)采样点的相关性。潜在的原因是,目前,最吸引人的方法是特征学习就是在每个局部组周围进行查询采样点,然后构造基于学习[30,42,50,14]或定义类似卷积的运算[12,47,8,3,44,34](将表示为局部点电池)。
然而,这样的点局部单元只考虑局部相邻区域的信息交互通过层次结构获取全局上下文,这通常导致自下而上的特征学习。受到启发的通过非本地网络的成功[41],创新性地设计了L-NL模块,其中的关键部件是点非局部单元。尤其是非局部单元允许计算采样点作为整个点云,而不是仅仅在一个有限的邻居内范围。通过学习到的长依赖关系L-NL模块可以提供更精确的信息,使系统具有更强的鲁棒性点云处理。如右侧所示图1,虽然取样点在发动机下部L-NL模块仍然可以学习具有不同噪声分布的其发动机的特征。
主要贡献如下:1)提出了一个稳健点云的端到端模型处理,PointASNL,可以有效缓解影响离群值或噪声;2)与建议的自适应采样(AS)模块,点ASNL可自适应调整初始采样点的坐标,使更适合具有内在几何的特征学习并且对于噪声异常更为稳健;3)进一步设计在所提出的局部非局部(L-NL)模块中加入了一个点非局部单元,增强了点局部的特征学习能力细胞。关于分类和分割的广泛实验任务验证了方法的健壮性。
2.相关工作基于体积和基于投影的方法。
考虑到点云的稀疏性和内存消耗,直接体素化不是很有效点云,然后使用三维卷积进行特征提取学习。各种后续改进方法例如,高效的时空卷积MinkowskiNet[5],计算有效子流形稀疏卷积[7],和基于Oc树的神经网络O-CNN[39]和OctNet[27]。这样的方法大大改进了计算效率,从而导致点云作为输入,无需采样和优越的容量。还有其基于网格的方法使用传统的卷积运算,例如,将三维数据投影到多视图二维图像[32]和晶格空间[31]。然而这些方法的卷积运算缺乏捕捉非局部几何特征。基于点的学习方法。PointNet[24]是先锋直接处理稀疏和非结构化点云,通过使用点态多层感知最大池操作。PointNet++[25]进一步适用k-NN分组后接最大限度地收集区域信息。因为聚集在一起地方特色简单到最大的激活,区域性信息尚未得到充分利用。
最近,很多已经为有效的本地特性聚合做出了努力。PointCNN[20]将相邻点转换为规范点顺序,使传统的卷积可以正常角色。Point2Sequence[21]使用注意力机制收集不同地区的信息。方法[47,44,11,22,30,40]直接使用关系式在社区和地方中心之间学习动态卷积重量,其中ECC[30]和RS-CNN[22]使用特别定义的6-D和10-D向量作为边缘关系,PCCN[40]和PointConv[44]投射了相对位置一个卷积重量的两点。A-CNN网[16]使用环卷积对具有不同与本地中心点和PointWeb的距离[50]进一步连接局部区域中的每个点对以获得更具代表性的区域特色。不过,这些方法只关注局部特征聚合,获取全局特征从局部特征到层
次结构的上下文。另一方面,还有各种各样的作品从局部特征的全局上下文。A-SCN[46]使用一种聚集全局特征的全局注意机制但缺乏当地信息的支持取得良好效果。DGCNN[42]提出了EdgeConv生成边缘特征和在特征空间中搜索邻域的模块。LPD Net[23]进一步扩展了DGCNN空间邻域和特征邻域聚合。然而,特征空间中的邻域并不具有代表性以及空间感受野网络逐渐变得混乱无层次结构。异常值去除和抽样策略。异常值和噪声通常存在于原始点云数据中。以前的健壮用于去除离群值的统计方法[1]受到非平凡的参数调整或需要额外的信息[43]。
提出了各种数据驱动方法[9,26]对于离群值移除,首先丢弃一些离群值,然后然后将噪波点投影到干净的曲面上。然而,这些方法无法固有地合并健壮的点云特征以联合学习的方式去除离群值进行学习。打开另一方面,基于深度学习的点云处理方法通常是采样点,以减少计算量消费。然而,大多数抽样方法都是有限的由噪声敏感度而非数据驱动[25,11],或者不考虑空间分布[48]。所以网络[19]使用了一个无监督的神经网络,比如说自组织地图(SOM),利用点云。然后使用PointNet++[25]对较小的采样“节点”。但是,这样的网不属于在线自适应采样。在局部假设下标签一致性,有些作品使用的几何中心体素网格统一表示采样点[34,30],忽略了点分布影响的差异。不过,这些方法对噪声和无法学习采样点的空间分布同一时间。
3. Our Method
3.1.自适应采样(AS)模块
最远点采样(FPS)广泛应用于许多领域点云框架,因为可以生成一个相对统一的采样点。因此,邻居可以尽可能多的输入点云。尽管如此,FPS主要有两个问题:(1)非常敏感对于离群点,这使得在处理时非常不稳定使用真实的点云数据。(2) 取样点来自FPS必须是原始点云的子集,这使得如果在采集过程中会出现遮挡和丢失错误。
3.2.本地非本地(L-NL)模块
在L-NL模块中,有两个单元:局部点(PL)单元和点非局部(PNL)单元。特别是cell可以是任何吸引人的算法(例如PointNet++[25],PointConv[44]),并且PNL cell创新性地考虑采样点与整点的相关性多尺度云。因此,语境学习通过结合局部和全局信息(见图2(b))。
3.3.PointASNL
在每一层中将两个部分结合起来,可以实现分类和分割任务的体系结构。对于分类,设计了一个三层网络并在两个级别上向下采样输入点。特别地,前两层采样512和124个点。第三个层将前两层的全局特征与最大池,其中新功能完全由分别连接层、dropout和softmax层。批处理规范化层和ReLU函数是用于每层。此外,跳过连接[10]是用于前两层。对于分段(参见图4),每个编码器层与分类中的设置类似,但网络有更深的结构(1024-256-64-16)。在解码器部分,使用3-最近插值[25]获得上采样特征也可以使用L-NL块进行更好的特征学习。此外,跳过连接被用来传递特征在编码器和解码器。
4. Experiment
在各种任务上评估PointASNL,包括合成数据集,大型室内外场景分割数据集。在所有的实验中,实现了在一个GTX 1080Ti GPU上使用Tensorflow的型号。