首页 > 其他分享 >论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling

时间:2023-10-22 11:07:29浏览次数:57  
标签:采样 Segmentation Scale Semantic 特征 RandLA 点云 Net 我们

Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling

用随机抽样法学习大规模点云的语义分割

摘要

我们研究了大规模三维点云的有效语义分割问题。由于依赖昂贵的采样技术或计算量大的前/后处理步骤,大多数现有的方法只能在小规模的点云上进行训练和操作。在本文中,我们介绍了RandLA-Net,这是一个高效和轻量级的神经结构,可以直接推断出大规模点云的语义。我们的方法的关键是使用随机点采样,而不是更复杂的点选择方法。尽管计算和内存效率非常高,但随机抽样可能会偶然丢弃关键特征。为了克服这个问题,我们引入了一个新的局部特征聚合模块,逐步增加每个三维点的感受野,从而有效地保留了几何细节。比较实验表明,我们的RandLA-Net可以一次性处理100万个点,比现有方法快200倍。此外,在五个大规模的点云数据集上的广泛实验,包括Semantic3D、SemanticKITTI、Toronto3D、NPM3D和S3DIS,证明了我们的RandLA-Net的最先进的语义分割性能。

1 引言

大规模三维点云的有效语义分割是实时智能系统(如自动驾驶和增强现实)的基本和必要能力。一个关键的挑战是,由深度传感器获取的原始点云通常是不规则的采样、非结构化和无序的。尽管深度卷积网络在结构化的二维计算机视觉任务中表现出优异的性能,但它们不能直接应用于这种类型的非结构化数据。

最近,开创性的工作PointNet[4]已经成为直接处理三维点云的一种有希望的方法。它使用共享的多层感知器(MLPs)学习每个点的特征。这在计算上是高效的,但不能为每个点捕捉更广泛的背景信息。为了学习更丰富的局部结构,许多专门的神经模块随后被迅速引入。这些模块一般可以分为以下几类。1)相邻特征池[1],[5],[6],[7],[8],2)图信息传递[9],[10],[11],[12],[13],[14],[15],[16] 。3)基于核的卷积[17]、[18]、[19]、[20]、[21]、[22]、[23]、[24]、[25]、[26]、[27],以及4)基于注意力的聚合[28]、[29]、[30]、[31]。尽管这些方法在物体识别和语义分割方面取得了令人印象深刻的结果,但它们中的大多数仅限于极小的三维点云(如4k点或1 1米的块),如果没有块分割等预处理步骤,就不能直接扩展到较大的点云(如数百万点和高达200 200米)。造成这种限制的原因有三个方面。1)这些网络常用的点取样方法要么计算昂贵,要么内存效率低。例如,广泛采用的最远点采样法[1]需要200多秒才能对100万个点的10%进行采样。2)大多数现有的局部特征学习器通常依赖于计算成本高的核化或图形构造,因此无法处理大量的点。3)对于通常由数百个物体组成的大规模点云,现有的局部特征学习器要么无法捕捉到复杂的结构,要么由于其有限的接受域规模而无法有效地捕捉到复杂的结构。

最近有一些工作开始解决直接处理大规模点云的任务。SPG[2]在应用神经网络学习每个超级点的语义之前,将大型点云预处理为超级图。然而,预处理步骤的计算量太大,无法在实时应用中部署。FCPN[32]和PCT[33]都结合了体素化和点级网络来处理大规模的点云。然而,它们仍然将点云分割成小块进行学习,导致整体性能不理想。

在本文中,我们的目标是设计一个内存和计算效率高的神经架构,它能够直接一次性处理大规模的三维点云,而不需要诸如体素化、块分割或图构建等前/后处理步骤。然而,这项任务是极具挑战性的,因为它需要 1)一个内存和计算效率高的采样方法,逐步降低大规模点云的采样,以适应当前GPU的限制;2)一个有效的局部特征学习器,逐步增加感受野的大小,以保留复杂的几何结构。为此,我们首先系统地证明,随机抽样是深度神经网络有效处理大规模点云的一个关键因素。然而,随机抽样可能会丢弃关键信息,特别是对于具有稀疏点的物体。为了应对随机抽样的潜在不利影响,我们提出了一个新的、高效的局部特征聚合模块,以捕捉逐渐变小的点集上的复杂局部结构。

在现有的取样方法中,最远的点取样和反密度取样是最经常用于小规模点云的方法[1], [7], [19], [34], [35]。由于点取样是这些网络中的一个基本步骤,我们在第3.2节中研究了不同方法的相对优点,我们看到常用的取样方法限制了对大型点云的扩展,并成为实时处理的一个重要瓶颈。然而,我们认为随机抽样是一种更适合大规模点云处理的策略,因为它速度快,扩展效率高。随机抽样并不是没有代价的,因为突出的点特征可能会被偶然放弃,而且它不能直接用于现有的网络而不产生性能上的损失。为了克服这个问题,我们在第3.3节中设计了一个新的局部特征聚合模块,它能够通过逐步增加每个神经层的感受野大小,有效地学习复杂的局部结构。特别是,对于每个三维点,我们首先引入一个局部空间编码(LocSE)单元来明确地保留局部几何结构。第二,我们利用周到的集合来自动保留有用的局部特征。第三,我们将多个LocSE单元和关注性集合堆叠起来,作为一个扩张的剩余块,大大增加了每个点的有效感受野。请注意,所有这些神经组件都是作为共享的MLPs实现的,因此具有明显的内存和计算效率。

总的来说,由于建立在简单的随机抽样和有效的局部特征聚合器的基础上,我们的高效神经架构,即RandLA-Net,不仅在大规模点云上比现有方法快200倍,而且在Semantic3D[36]、SemanticKITTI[3]和Toronto-3D[37]基准上超过了最先进的语义分割方法。图1显示了我们方法的定性结果。我们的主要贡献是:

我们分析和比较了现有的取样方法,确定随机取样是在大规模点云上有效学习的一个合适的组成部分。

我们提出了一个有效的局部特征聚合模块,通过逐步增加每个点的感受野来保留复杂的局部结构。

我们展示了比基线更明显的内存和计算收益,并在多个大规模基准上超过了最先进的语义分割方法。

这项工作的初步版本已经发表在[38],我们的代码可以在https://github.com/ QingyongHu/RandLA-Net上找到。

2 相关工作

为了从三维点云中提取特征,传统的方法通常依赖于手工制作的特征[43], [44], [45], [46]。最近基于学习的方法[4], [47], [48]主要包括基于投影、基于体素和基于点的方案,在此概述一下。

(1) 投影和基于体素的网络。为了利用二维CNN的成功,许多工作[49], [50], [51], [52]将三维点云投影/平铺到二维图像上以解决物体检测的任务。然而,在投影过程中,几何细节可能会丢失。例如,常用的鸟瞰式投影会因为遮挡而丢掉一些点。另外,其他一些方法[53]、[54]、[55]、[56]、[57]使用球面投影将LiDAR点云转换为原始测距图像而不丢掉点。然而,这些方法在实践中通常存在模糊的CNN输出和量化误差[53]。点云也可以被体素化为密集的三维网格,然后用强大的三维CNN处理[58], [59], [60]。然而,如果需要较高的体素网格分辨率,它们的内存消耗和计算时间是非常大的。这个问题可以用Octree[61]或稀疏张量[62]、[63]来缓解,但这些先进的数据结构和复杂的操作并不总是容易被现有的工具支持,特别是在GPU上。

基于点的网络。受PointNet/PointNet ++ [1], [4]的启发,最近的许多工作引入了复杂的神经模块来学习每点的局部特征。这些模块一般可分为:1)相邻特征池[5],[6],[7],[8],2)图信息传递[9],[10],[11],[12],[13],[14] 。[15], [64], 3)基于核的卷积[17], [18], [19], [20], [21], [22], [23], [24], [65], 和4)基于注意的聚合[28], [29], [30], [31] 。尽管这些网络在小型点云上显示了有希望的结果,但由于其高计算和内存成本,它们中的大多数不能直接扩展到大型场景。与它们相比,我们提出的RandLA-Net有三个方面的区别。1)它只依赖于网络内的随机抽样,因此需要的内存和计算量要少得多;2)所提出的局部特征聚合器可以通过明确考虑局部空间关系和点特征来获得连续更大的感受野,因此对于学习复杂的局部模式更加有效和稳健;3)整个网络只由共享的MLP加上简单的随机抽样组成,因此对于大规模点云来说是高效的。

(2) 大规模点云的学习。SPG[2]将大型点云预处理为超点图,以学习每个超点语义。然而,几何分割和超点图的构建在计算上都很昂贵。最近的FCPN[32]和PCT[33]同时应用基于体素和基于点的网络来处理大规模的点云。TangentConv[66]基于点是从局部欧几里得表面采样的假设,首先将局部表面投影到切平面上,然后对投影的几何体进行操作。尽管能够处理大规模的点云,但它需要一个相对繁重的预处理步骤来计算法线。相比之下,我们的RandLA-Net是可以端到端训练的,不需要额外的昂贵操作。

(3) 三维点云的抽样方法。现有的点取样方法[1]、[19]、[34]、[35]、[40]、[41]可以大致分为启发式和基于学习的方法。最远点取样[1], [34]是近期工作中最常用的启发式取样策略。它从整个点集中迭代地抽取与剩余子集最远的点。Groh等人[35]使用反密度重要性子抽样(IDIS)来保留密度较低的点。Hermosilla等人[67]利用泊松磁盘采样(PDS)来实现采样点的均匀分布。对于基于学习的方法,Yang等人[30]引入了Gumbel子集采样,这是一种端到端的可学习和任务无关的采样方法,以获得下游任务的更好性能。Dovrat等人[40]提出了一个生成器网络,直接生成一个点集来接近原始点集。然而,正如第3.2节和表1所评价的那样,所有这些方法要么无效,要么计算量很大。

3 提出的方法

3.1 概述

如图2所示,给定一个有数百万个点的大规模点云,这些点可能跨越数百米,用深度神经网络来处理它,不可避免地需要在每个神经层中对这些点进行逐步和有效的降采样,而不丢失有用的点特征。在我们的RandLA-Net中,我们建议使用简单快速的随机采样方法来大大降低点的密度,同时应用精心设计的局部特征聚合器来保留突出的特征。这使得整个网络在效率和效果之间实现了一个很好的权衡。

3.2 对高效采样的追求

为了确定处理大规模点云的最合适方法,我们对不同的采样方法进行了经验分析和比较。特别是,常用的采样策略的相对优点和复杂性见表1。

总的来说,FPS、IDIS和GS的计算成本太高,无法应用于大规模点云。CRS方法的内存占用过大,PGS则很难学习。PDS相对较快,但性能较差,如消融研究中所示。相比之下,随机抽样有以下两个优点。1)它的计算效率非常高,因为它与输入点的总数无关,2)它不需要额外的内存来计算。因此,我们认为随机抽样比其他方法更适合于有效处理大规模的点云。然而,随机抽样可能会导致许多有用的点的特征被放弃。为了克服这个问题,我们提出了一个强大的局部特征聚合模块,在下一节中介绍。

3.3 局部特征聚合

如图3所示,我们的局部特征聚合模块平行地应用于每个三维点,它由三个神经单元组成:1)局部空间编码(LocSE),2)entive pooling,和3)扩张的残余块。

(1) 局部空间编码

给定一个点云P和每个点的特征(如原始RGB,或中间学习的特征),这个局部空间编码单元明确地嵌入所有相邻点的x-y-z坐标,这样,相应的点特征总是知道它们的相对空间位置。这使得LocSE单元能够明确地观察到局部的几何模式,从而最终有利于整个网络有效地学习复杂的局部结构。具体来说,这个单元包括以下步骤。

寻找相邻的点。对于第1个点,为了提高效率,首先通过简单的K-近邻(KNN)算法收集其相邻的点。KNN是基于点与点之间的欧几里得距离。

相对点的位置编码。对于每一个中心点的最近的K个点,我们明确地将相对点位置编码如下:

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_数据集

其中论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_点云_02论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_数据集_03是点的绝对x-y-z位置,||.||是连接操作,计算相邻点和中心点之间的欧氏距离。看来,论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_数据集_04是由冗余的点位置编码的。有趣的是,这往往有助于网络学习局部特征,在实践中获得良好的性能。

点特征的增强。对于每个相邻的点论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_数据集_03,编码的相对点位置论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_数据集_04与它相应的点特征论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_局部特征_07相连接,得到一个增强的特征向量论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_局部特征_08。为简单起见,我们在实现中保持特征向量论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_数据集_04论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_局部特征_07具有相同的尺寸,但它们是灵活的,可以有不同的尺寸。

最终,LocSE单元的输出是一组新的相邻特征

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_点云_11

,它明确地编码了中心点的局部几何结构。我们注意到,最近的工作[68]也使用点位置来改善语义分割。然而,在[68]中,位置被用来学习点的分数,而我们的LocSE明确地编码了相对位置以增强邻近点的特征。

(2) Attentive Pooling

这个神经单元被用来聚合相邻点特征集论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_局部特征_12。现有的工作[1], [34]通常使用最大/平均池化来硬集成相邻的特征,导致大部分的信息被丢失。相比之下,我们求助于强大的注意力机制来自动学习重要的局部特征。特别是,受[69]的启发,我们的注意集合单元包括以下步骤。

计算注意力分数。给出一组局部特征

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_局部特征_13

,我们设计一个共享函数g(),为每个特征学习一个独特的注意力分数。从本质上讲,该函数由一个共享的MLP和softmax组成。它的正式定义如下:

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_数据集_14

其中W是一个共享MLP的可学习权重。加权求和。学习到的注意力分数可以被看作是一个自动选择重要特征的软面具。形式上,这些特征的加权求和如下:

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_局部特征_15

其中是元素级的乘积。综上所述,给定输入点云P,对于第i个点,我们的LocSE和Attentive Pooling单元学习汇总其最近的K个点的几何图形和特征,并最终生成一个信息丰富的特征向量。

(3) 扩张的残余块

由于大的点云将被大幅降频,因此最好能大幅增加每个点的感受野,这样即使有些点被放弃,输入点云的几何细节也更有可能被保留下来。如图3所示,受成功的ResNet[70]和有效的扩张网络[71]的启发,我们将多个LocSE和Attentive Pooling单元堆叠在一起,以实现点接收场的扩张,并增加一个跳跃连接来实现剩余学习。

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_点云_16

图3. 拟议的局部特征聚合模块。上图显示了提取特征的局部空间编码块,以及根据局部环境和几何形状对重要的相邻特征进行加权的周到的集合机制。底部面板显示了这些组件中的两个是如何串联在一起的,以增加感受野的大小,在一个残余块中。

为了进一步说明我们的扩张残差块的能力,图5显示,红色3D点在第一次LocSE/Attentive Pooling操作后观察到K个邻接点,然后在第二次操作后能够接收多达论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_局部特征_17个邻接点的信息,即其两跳邻接点。这是一种通过特征传播来扩张感受野和扩大有效邻域的廉价方法。理论上,我们堆叠的单元越多,这个区块就越强大,因为它的覆盖范围变得越来越大。然而,更多的单元将不可避免地牺牲整体计算效率。此外,整个网络很可能会过度拟合。在我们的RandLANet中,我们简单地将两套LocSE和Attentive Pooling作为标准的残差块进行堆叠,在效率和效果之间取得了令人满意的平衡。

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_点云_18

图5. 扩张的残余区块的说明,它大大增加了每个点的感受野(虚线圈),彩色的点代表聚集的特征。L:局部空间编码,A:注意集合。

总的来说,我们的局部特征聚合模块旨在通过明确考虑相邻的几何形状和显著增加的感受野来有效地保留复杂的局部结构。此外,该模块仅由前馈MLP组成,因此在计算上是高效的。

3.4 网络结构

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_数据集_19

图4. 我们的RandLA-Net的详细结构。论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_点云_20分别代表点的数量和特征维度。FC:全连接层,LFA:局部特征聚合,RS:随机抽样,MLP:共享多层感知器,US。上采样, DP: 丢弃。

图4显示了RandLA-Net的详细结构,它堆叠了多个局部特征聚合模块和随机采样层。该网络遵循广泛使用的编码器-解码器结构,并带有跳转连接。输入的点云首先被送入一个共享的MLP层以提取每个点的特征。然后,四个编码和解码层被用来学习每个点的特征。最后,三个全连接层和一个剔除层被用来预测每个点的语义标签。请注意,我们的RandLA-Net可以通过改变层数、特征通道和调整采样率来扩大和加深。然而,更大的模型需要额外的计算,而且可能更容易导致过拟合。每个组件的细节如下。

网络输入。输入是一个大规模的点云,其大小为

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_点云_21

(为简单起见放弃了批处理维度),其中

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_数据集_22

是输入点的总数,

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_数据集_23

是每个输入点的特征维度。对于S3DIS[72]和Semantic3D[36]数据集,每个点都由其三维坐标和颜色信息(即x-y-z-R-GB)表示,而SemanticKITTI[3]数据集的每个点只由三维坐标表示。

编码层。我们的网络中使用了四个编码层,以逐步减少点云的大小,增加每点的特征尺寸。每个编码层由一个局部特征聚合模块(第3.3节)和一个随机采样操作(第3.2节)组成。点云以四倍的抽取率进行下采样。特别是,每层之后只保留25%的点特征,即,

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_局部特征_24

。同时,为了保留更多的信息,每层的点特征维度逐渐增加,即:.

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_点云_25

解码层。编码层之后有四个解码层。对于解码器中的每一层,我们采用最近邻插值的方法来提高效率和简便性。特别是,每个编码层中的所有下采样点的坐标都在时间上被储存起来以备参考。对于解码层中的每个查询点,我们使用KNN算法,从上一层的点中找到最近的邻接点。最近的点的特征被复制到目标点上。随后,上采样的特征图与编码层产生的中间特征图通过跳跃连接进行串联,之后将共享MLP应用于串联的特征向量。

最终语义预测。每个点的最终语义标签是通过三个共享的全连接层

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_点云_26

和一个剔除层,剔除率为0.5。网络输出。RandLA-Net的输出是所有点的预测语义,其大小为

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_点云_27

,其中论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_数据集_28为类的数量。

3.5 实施

我们对所有五个大型开放数据集使用相同的网络架构,即Semantic3D[36]、SemanticKITTI[3]、Toronto-3D[37]、NPM3D[73]、S3DIS[72]。采用默认参数的Adam优化器[74]。初始学习率被设置为0.01,并在每个历时后减少5%。该网络被训练了100个历时。我们在基于nanoflann1软件包的框架中实现了KNN搜索,它利用高效的KD-Tree数据结构进行快速搜索和查询。此外,我们还使用OpenMP来实现更好的并行化,最近点的数量K被设定为16。对于几个极其庞大的数据集,如Semantic3D[36],它在一个点云中有超过106个甚至108个点,我们裁剪子云来输入我们的RandLA-Net。在训练期间,我们从每个点云中抽取固定数量的点(105个)作为并行化的输入。在测试过程中,我们反复推断几个有重叠的子云,最终覆盖所有的三维点。由于许多点已经被推断了不止一次,我们遵循[23]使用一个简单的投票方案以获得更好的性能。为了缓解类不平衡的问题,我们使用加权交叉熵作为损失函数。特别是,每个类别的权重是由其在训练分割中的反频率决定的。在训练过程中,我们不使用任何明确的数据增强技术,如旋转、缩放和翻译。请注意,我们在每个编码层的随机下采样可以被视为隐性数据增强。所有实验都在NVIDIA RTX2080Ti GPU上进行。

4 实验

我们首先在第4.1节中评估了现有采样方法的效率,并在第4.2节中比较了我们的RandLA-Net与现有网络的效率。其次,我们在第4.3节中对多个基准进行了广泛的实验,以比较语义分割的情况。最后,在第4.4节中介绍了我们的消融研究。

4.1 随机抽样的效率

在这一节中,我们实证评估了现有抽样方法的效率,包括FPS、IDIS、PDS、RS、GS、CRS和PGS,这些方法已经在第3.2节中讨论过。特别是,我们进行了以下4组实验。

第1组:给定一个小规模的点云(103个点),我们使用每个采样方法来逐步降低采样。具体来说,点云被下采样五步,每步只保留25%的点,在单个GPU上,即四倍的抽取率。这意味着,最后只剩下5103个点。这种下采样策略模仿了PointNet++[1]中使用的程序。对于每一种取样方法,我们将其时间和内存消耗量相加以进行比较。

第2/3/4组。点的总数向大规模增加,即分别为104;105和106点左右。我们使用与第一组相同的五个采样步骤。

分析。图6比较了每种采样方法处理不同尺度的点云的总时间和内存消耗。可以看出。1)对于小规模的点云(103),所有的取样方法往往具有相似的时间和内存消耗,不太可能产生沉重或限制性的计算负担。2)对于大规模的点云(106),FPS/IDIS/PDS/GS/CRS/PGS在大规模计算中要么非常耗时,要么内存成本高。相比之下,随机抽样的时间和内存效率总体上更高。这一结果清楚地表明,大多数现有的网络[1]、[7]、[19]、[30]、[34]、[68]只能在小块的点云上进行优化,主要是因为它们依赖昂贵的采样方法。受此启发,我们在RandLA-Net中使用了高效的随机采样策略。

4.2 RandLA-Net的效率

在这一节中,我们系统地评估了我们的RandLA-Net在现实世界大规模点云上进行语义分割的整体效率。特别是,我们在SemanticKITTI[3]数据集上评估了RandLA-Net,显示了每个组件的详细运行时间。我们还评估了最近在同一数据集上的代表性作品[1]、[2]、[4]的时间消耗。为了进行公平的比较,我们将序列中相同数量的点(即12 81920,批次大小为12)送入每个神经网络。

此外,我们还评估了RandLA-Net和基线的内存消耗。特别是,我们报告了每个网络在推理过程中使用相同输入点云的峰值内存(GPU)。请注意,所有的实验都是在同一台机器上进行的,该机器有一个AMD 3700X @3.6GHz的CPU和一个NVIDIA RTX2080Ti GPU。

分析。表2定量地显示了不同方法的总时间和内存消耗。可以看出,1)SPG[2]的GPU内存消耗最低,但由于昂贵的几何分区和超图构建步骤,处理点云的时间最长;2)PointNet++[1]的计算成本也很高,主要是因为FPS采样操作;3)PointNet[4]由于其内存效率低,无法一次性获取极大规模的点云(例如106点)。4)由于简单的随机抽样和高效的基于MLP的局部特征聚合器,我们的RandLA-Net需要大约0.5秒来推断具有近100万点(12 81920点)的大规模点云的语义标签。

4.3 基准上的语义分割

本节中,我们对我们的RandLA-Net在多个大规模公共数据集上的语义分割进行了评估:室外Semantic3D[36]、SemanticKITTI[3]、Toronto- 3D[37]、NPM3D[73]和室内S3DIS[72]。为了进行公平的比较,我们按照KPConv[23]的做法,在开始时使用网格采样策略对整个输入点云进行预处理。事实上,这很可能会降低点的密度,并有助于提高每个三维点的实际感受野。

(1) 对Semantic3D的评估

Semantic3D数据集[36]包括15个用于训练的点云和15个用于在线测试的点云。每个点云有多达108个点,在现实世界的三维空间中覆盖多达160 240 30米。原始的三维点属于8类,包含三维坐标、RGB信息和强度。我们只使用三维坐标和颜色信息来训练和测试我们的RandLA-Net。所有类别的总体精度(OA)和平均交叉点(mIoU)被用作评估指标。为了公平比较,我们只包括最近发表的强基线[2]、[8]、[12]、[23]、[75]、[76]、[77]、[78]和目前最先进的方法RGNet[79]的结果。

表3列出了不同方法在减少的8个测试集上取得的定量结果。RandLA-Net在mIoU和OA方面都明显优于所有现有的方法。值得注意的是,RandLA-Net在8个类别中的6个类别上也取得了优异的表现,除了低植被和扫描伪影。我们还在表4中报告了语义8类子集的结果。请注意,与Reduce-8子集相比,semantic-8子集多了10个点,而且类别不平衡性更强,因此它更具挑战性。我们的RandLA-Net在总体准确度方面也取得了最好的表现,但在mIoU性能方面排名第三,主要是因为ConvPoint [86]和SPGraph [2]在hard scape和scanning artifact上取得了更好的结果。图7显示了RandLA-Net在这个数据集上的定性结果。

(2) 对SemanticKITTI的评估

SemanticKITTI[3]包括43552个密集注释的激光雷达扫描,属于22个序列。每一个扫描是一个大规模的点云,有105个点,在三维空间中的跨度高达160 160 20米。官方称,序列00 07和09 10(19130次扫描)用于训练,序列08(4071次扫描)用于验证,而序列11 21(20351次扫描)用于在线测试。原始三维点只有三维坐标,没有颜色信息。19个类别的mIoU得分被用作标准指标。表3显示了我们的RandLANet与最近的两个系列方法的定量比较,即1)基于点的方法[1]、[2]、[4]、[17]、[66]和2)基于投影的方法[3]、[53]、[55]、[56]、[65],图8显示了RandLA-Net在验证分割上的一些定性的结果。可以看出,我们的RandLA-Net以很大的优势超过了所有基于点的方法[1]、[2]、[4]、[17]、[66],与第二好的方法相比,有15%的显著改善。我们的表现也超过了大多数基于投影的方法[3]、[55]、[56],但并不明显,主要是因为SqueezeSegV3[57]在小物体类别(如摩托车手)上取得了更好的结果。然而,与基于投影的方法相比,我们的RandLA-Net更轻,参数更少。

(3) 对多伦多-3D的评估

多伦多-3D数据集[37]由移动激光系统(MLS)获取的7830万个点组成,覆盖了大约1KM的城市户外三维空间。按照[37],L002部分用于测试,其余三个部分用于训练。8个类别的OA和mIoU被用来作为评价指标。

表6报告了我们的RandLA-Net与最近发表的几个基线[1]、[9]、[23]、[37]、[87]、[88]取得的定量结果,图9显示了定性结果。注意,为了公平比较,只有每个点的三维坐标被送入网络[37]。可以看出,我们的RandLA-Net在这个数据集的mIoU方面取得了最好的结果,将以前最先进的MS-TGNet[37]从70.50%提高到77.71%。

我们注意到,道路标识是所有方法中最难识别的。这主要是因为道路标记的纯几何图案不容易与它的邻近区域区分开来。特别是,只给定点的三维坐标,几乎不可能区分路标和道路,如图9所示。这就促使我们将点的外观包括在内,以进一步提高准确性。我们简单地用三维坐标和颜色信息作为输入来训练我们的RandLA-Net。如表6最后一行所示,道路标识的IoU得分已经明显提高了22%,表明外观在这种困难情况下的重要性。

(4) 对NPM3D的评估

NPM3D数据集[73]是一个大规模和高质量的城市点云数据集。与Toronto-3D数据集类似,NPM3D数据集也由在两个城市获得的约2KM的MLS点云组成。总共10个类别的平均IU(mIoU)被用作主要评价指标。

表7定量显示了我们的RandLA-Net和现有的基线[23], [77], [83], [86], [90], [91]所取得的结果。在这个数据集中,只有每个点的三维坐标是可用的。由于垃圾桶和行人这两个少数类别的得分相对较低,我们的RandLA-Net取得了78.5%的平均IoU得分,排在最新的LightConvPoint[83]和KPConv[23]之后。主要是垃圾桶和行人的点特征在我们的RandLA-Net中很可能被随机丢弃,因为这两个类别只有极少的点被扫描。

(5) 对S3DIS的评估

S3DIS数据集[72]由271个房间组成,属于6个大区。每个点云是一个中等大小的单间( 20 15 5米),具有密集的三维点。为了评估我们的RandLA-Net的语义分割,我们在实验中使用了标准的6倍交叉验证法。我们比较了总共13个类的平均IoU(mIoU)、平均类准确率(mAcc)和总体准确率(OA)。

表8定量比较了我们的RandLA-Net与现有基线在该数据集上的表现。我们的RandLA-Net实现了与最先进的方法相同或更好的性能。请注意,这些基线[1]、[7]、[8]、[9]、[34]、[95]大多倾向于使用复杂但昂贵的操作或抽样来优化小块(如1 1米)点云上的网络,而相对较小的房间则有利于它们被划分为小块。相比之下,RandLA-Net能够把整个房间作为输入,并在一次就能有效地推断出每点的语义。

4.4 消减研究

由于在第4.1节中充分研究了随机抽样的影响,我们对我们的局部特征聚合模块进行了以下消减研究。所有消减的网络都是在序列00 07和09 10上训练的,并在SemanticKITTI数据集[3]的序列08上测试。

4.4.1 RandLA-Net框架的消融

由于我们的RandLA-Net堆叠了多个关键组件。LocSE、Attentive Pooling和Dilated Residual Block,因此我们进行了以下5项消融研究,以证明每个组件的有效性。

(1) 移除局部空间编码(LocSE)。这个单元使每个三维点能够明确地观察其局部几何形状。去除locSE后,我们直接将局部点的特征送入随后的attentive pooling。

(2~4)用最大/平均/总和池代替贴心池。贴心的池化单元学会了自动结合所有的局部点特征。相比之下,广泛使用的最大/平均/总和池往往是硬性选择或组合特征,因此其性能可能是次优的。

(6) 简化扩张的残余区块。扩张的残差块堆叠了多个LocSE单元和注意集合,大大扩张了每个三维点的感受野。通过简化这个块,我们每层只使用一个LocSE单元和关注池,也就是说,我们没有像原来的RandLA-Net那样将多个块连锁起来。

表9比较了所有消融的网络的MIOU分数。从中我们可以看出。1)最大的影响是由去除连锁的空间嵌入和周到的集合块造成的。这一点在图5中得到了强调,它显示了使用两个链式块可以使信息从更广泛的邻域传播,即大约K2个点,而不是只有K个点。这对于随机抽样尤其关键,因为它不能保证保留一组特定的点。2)去除局部空间编码单元对性能的影响次之,表明该模块对于有效学习局部和相对几何背景是必要的。3)去除注意力模块后,由于不能有效地保留有用的特征而降低了性能。从这个消融研究中,我们可以看到所提出的神经单元是如何相互补充以达到我们最先进的性能。

4.4.2 LocSE的消减

正如第3.3节所设计的,我们的LocSE组件基于以下公式编码相对点的位置:

论文阅读:Learning Semantic Segmentation of Large-Scale Point Clouds With Random Sampling_点云_29

我们进一步研究不同空间信息对我们框架的影响。特别是,我们对LocSE进行了以下8个消减实验:

(1-4)分别只对点、相邻点进行编码,只对相对位置进行编码,只对欧几里得距离进行编码。

(5) 对点及其邻接点进行编码。

(6) 编码点、邻接点,以及它们的相对位置。

(7) 对点、邻接点以及它们的欧氏距离进行编码。

(8) 仅对相对位置以及它们的欧氏距离进行编码。

表10比较了我们的网络与LocSE的不同设计的mIoU得分。我们可以看到 1) 明确编码所有的空间信息会导致最高的mIoU分数。2) 相对位置在LocSE组件中起着重要的作用,主要是因为相对点位置使网络能够意识到本地的几何模式。3)只对点位置,或欧氏距离进行编码是次优的,因为只对单个点位置和距离进行编码对捕捉局部几何模式的信息量较小。

4.4.3 扩增残余区块的消融

如图3所示,我们将两组LocSE和Attentive Pooling单元叠加为标准的扩增残余区块,以逐渐增加感受野。为了进一步评估我们的扩张剩余区块中的聚集单元的数量对整个网络的影响,我们又进行了以下两个消融性实验。

(1) 只使用一组LocSE和周到的集合。在这种情况下,每个三维点的感受野会变小。

(2) 使用三组LocSE和注意力集中的集合。感受野会呈指数级增长。

表11显示了我们的RandLA-Net的mIoU得分,每个扩张的残余块中有不同数量的聚集单元。可以看出。1)在扩张的残余区块中只有一组LocSE和entive pooling会导致mIoU分数的明显下降,这是由于接受场有限。2)三组LocSE和注意集合并没有像预期的那样提高准确性。这是因为明显增加的感受野和大量的可训练参数往往会被过度拟合。

4.4.4 抽样方法的消减

我们进行了额外的实验来评估我们的框架在采用第3.2节中讨论的不同抽样策略时的分割性能。实验设置与第4.4.1节中相同。如表12所示,所有的结果都是在SemanticKITTI数据集和S3DIS数据集(5区)的验证集(即08号序列)上分别取得的。

可以看出,当使用随机抽样、最远点抽样或基于政策梯度的抽样时,我们的框架的分割性能是可比的,这表明我们的局部特征聚合模块确实有效,并且可以适应其他抽样方法。需要注意的是,当使用反密度重要性抽样时,性能明显下降,主要是因为所选的点的密度较低,在实践中往往是离群值和噪声。

4.5 分析点的邻居

在我们的RandLA-Net中,我们使用简单的KNN来寻找固定数量的邻居点来提取每个三维点的局部模式。直观地说,KNN中K的选择可能会影响整体性能。此外,如果点的密度发生变化,KNN搜索的邻接点的空间范围也会发生变化,使得它无法为每个点维持一个几何上一致的邻接点[89]。另外,邻接点可以在一个固定的球形半径内被查询,保证了局部边界的一致性。在这一节中,我们将深入研究点邻域搜索,评估K的选择并比较KNN与半径查询。

4.5.1 KNN中K的选择

从直觉上讲,K越大,可以学到的局部几何模式越复杂,所需的计算量也越大。我们进行了7组实验,K从4到64不等。评估设置和协议与第4.4节中使用的相同。

图10a显示了在KNN中不同的K的选择下,分割性能的变化。可以看出,当邻接点的数量K从4增加到16时,网络取得了明显的收益(mIoU score: 46 ! 57%),此后,鉴于K的大小较大,平均IoU score逐渐下降。这表明:1)由于感受野有限,很小的邻接点集合无助于网络学习有用的点局部特征;2)极大的邻接点集合也不可能提高精度,因为学习到的复杂的局部特征往往过度适应训练实例,而且不具有普遍性。

4.5.2 KNN与球面邻接

为了进一步研究邻接查询机制对性能的影响,我们在RandLA-Net中用球面半径查询代替了KNN,而没有修改任何其他组件。同样地,我们也进行了7组实验,将第一个编码层的半径从0.1逐渐增加到0.7,然后在每个采样层之后将半径增加一倍。为了公平的比较和更好的并行化,我们在每个球形邻域中一致选择K ¼ 16个邻域点。这是通过遵循PointNet++[1]来实现的,在每个邻域点集内进行降样或填充。

如图10b所示,当第一层的半径设置为0.6米时,网络实现了最佳性能,平均IoU得分为55.08%。这比使用KNN的最佳模型略低(55.08%对57.11%),表明我们的框架能够适应KNN可能造成的空间不一致问题。主要是因为我们的LocSE单元的注意集合机制倾向于自动学习所有相邻点的不同权重,而且所有点的空间位置已经被隐含考虑。

4.5.3 邻近点的关注度分数

在邻近点被KNN选中后,它们的特征被关注度集合起来,如图3所示。为了研究这些特征是如何被有效整合的,我们在本节中对所学到的注意力分数进行了可视化分析。如图11所示,对于一个特定的中心点,它的16个邻接点的学习注意力得分在第一个编码层中往往是相似的,而它的新的16个邻接点的学习注意力得分在随后的各层中则有很大的不同。实际上,这是因为第一层的邻接点很可能是相似的,而且信息量相同,因此它们的学习注意力分数也是相似的。在大规模的点云被大幅降采样和逐步聚合后,保留的点特征往往是高度紧凑的,并具有不同的语义背景。因此,那些与中心点没有相似语义的邻接点的注意分数往往为零,而最相似的邻接点往往有较高的注意分数。

5 讨论

我们的RandLA-Net在大规模三维点云的语义分割中取得了优异的性能,但它也有局限性。首先,用于搜索点邻域的KNN并不是线性扩展的。这对于处理极大规模的点云(例如,>106个点)来说是一个主要的计算瓶颈。一个可能的解决方案是利用点-体素表示法[48], [96],搜索每个体素内的邻居而不是整个点云。另外,随机抽样和KNN可以由KDTree或OcTree的K随机路径选择代替。在这种情况下,KNN可以在采样过程中被有效地检索。第二,我们的框架中使用的随机抽样集中在观察点上,不能在一些遗漏/排除的区域产生潜在的有趣信息。因此,生成新的随机点集以学习更好的局部模式将是有趣的。最后,结合随机抽样的效率和高级点卷积的有效性[23], [23], [34]也是值得进一步研究的。

6 结论

在本文中,我们证明了通过使用一个轻量级的网络结构来有效地分割大规模点云是可能的。与目前大多数依赖于昂贵的采样策略的方法相比,我们在我们的框架中使用随机采样,以显著减少内存占用和计算成本。我们还引入了一个本地特征聚合模块,以有效地保留来自广泛邻域的有用特征。在多个基准上进行的广泛实验证明了我们的方法的高效率和最先进的性能。通过借鉴最近的工作[97]和实时动态点云处理[98],将我们的框架扩展到大规模点云的端到端三维实例分割上将是很有趣的。


标签:采样,Segmentation,Scale,Semantic,特征,RandLA,点云,Net,我们
From: https://blog.51cto.com/u_16234088/7974103

相关文章

  • 论文阅读:SceneEncoder: Scene-Aware Semantic Segmentation of Point Clouds with A L
    SceneEncoder:Scene-AwareSemanticSegmentationofPointClouds withALearnableSceneDescriptorSceneEncoder:用可学习的场景描述符对点云进行场景感知的语义分割摘要除了局部特征,全局信息在语义分割中起着至关重要的作用,而最近的工作通常不能明确地提取有意义的全局信息......
  • swin transformer v1.0环境配置训练(mmsegmentation/pascalvoc数据集)
    本文选用mmlab的mmsegmentationv1.1.0的语义分割为例。吨吨吨弟弟123554###1.配置环境要求官网中的最低要求为cuda10.2+以及pytorch1.8+.......
  • 论文阅读:A_Multi-Granularity_Scene_Segmentation_Network_for_Human-Robot_Collabora
    A_Multi-Granularity_Scene_Segmentation_Network_for_Human-Robot_Collaboration_Environment_Perception用于人与机器人协作环境感知的多颗粒度场景分割网络摘要人机协作(Human-robotcollaboration,HRC)被认为是未来以人为中心的智能制造的一种有前途的范式,以满足蓬勃发展的大......
  • 论文阅读:Few-Shot Point Cloud Semantic Segmentation via Contrastive Self-Supervis
    Few-ShotPointCloudSemanticSegmentationvia ContrastiveSelf-SupervisionandMulti-ResolutionAttention基于对比自我监督和多分辨率注意力的小样本点云语义分割摘要本文提出了一种适用于现实世界应用的有效的小样本点云语义分割方法。现有的点云小样本分割方法在很大程......
  • 论文:Very deep convolutional networks for large-scale image recognition-VGG
    论文名:Verydeepconvolutionalnetworksforlarge-scaleimagerecognition"用于大规模图像识别的深度卷积网络"了解VGG模型研究问题:研究方法:主要结论:模型:问题:行文结构梳理:......
  • 虹科产品丨HK-TrueNAS SCALE可使用公共云存储
    HK-TrueNASSCALE用户现在可以用AWS、Azure和GCP的一小部分成本获得公共云存储。提供NAS软件的虹科iXsystems公司正在与StorJ合作,利用StorJ的分散式云存储提供全球分布式存储(GDS)服务,作为主要公共云的低成本替代品。该云有超过13,000个活动节点,可存储390亿个对象,耐用性达......
  • 论文精读:用于少样本图像识别的语义提示(Semantic Prompt for Few-Shot Image Recogniti
    原文连接:SemanticPromptforFew-ShotImageRecognitionAbstract在小样本学习中(Few-shotLearning,FSL)中,有通过利用额外的语义信息,如类名的文本Embedding,通过将语义原型与视觉原型相结合来解决样本稀少的问题。但这种方法可能会遇到稀有样本中学到噪声特征导致收益有限。在这......
  • 【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infr
    WangH,ZhouL,WangL.Missdetectionvs.falsealarm:Adversariallearningforsmallobjectsegmentationininfraredimages[C]//ProceedingsoftheIEEE/CVFInternationalConferenceonComputerVision.2019:8509-8518.论文试图解决什么问题?解决红外小目标的目标......
  • Semantic Kernel .NET SDK 的 v1.0.0 Beta1 发布
    介绍SemanticKernel(SK)是一个开源的将大型语言模型(LLM)与流行的编程语言相结合的SDK,Microsoft将SemanticKernel(简称SK)称为轻量级SDK,结合了OpenAI,AzureOpenAI和HuggingFace等AILLM的集成。它使开发人员能够通过编排AI组件并将其与现有代码集成来创建AI应用。SDK提供对J......
  • [abc306h/ex] Balance Scale
    Ex-BalanceScale考虑只有>和<的情况,相当于给每条边定向,当且仅当成环时不合法,那么方案数就是\(DAG\)的方案数对于=,就是将两个点合并然后对于一般的求\(n\)个点的\(DAG\)的方案数为\(\sum_{i=1}^n(-1)^{i+1}C_n^i2^{i\times(n-i)}\)(枚举入度为\(0\)的点的数量,然后设入度为\(0......