前言
1. 为什么要做这个研究? 目前的语义分割模型由于其计算复杂度和内存占用量无法直接移植到大规模点云上,RandLA-Net主要研究大规模3D点云的高效语义分割问题。 2. 实验方法是什么样的? 文章首先探究了随机抽样在大规模3D点云上的计算速度和内存消耗方面的优势,由于随机采样可能会丢失关键特征点,所以作者设计了一个局部特征聚合模块,使用扩展的残差块将单个关键点的感受野经过2次扩展后能够接受
K
2
K^2
K2个邻居点的特征。 3. 得到了什么结果? RandLA-Net在三个公开数据集室外Semantic3D和SemanticKITTI,以及室内S3DIS上进行了实验,均取得了不错的效果。 感想:对于小规模数据集如ModelNet40、ShapeNet上,使用随机抽样是不必要的,也如作者所说适合用在大规模点云上。另外,通过扩展的残差块来扩展每个中心点的感受野或许比较有用。
摘要
本文主要研究大规模3D点云的高效语义分割问题。大多数现有方法受限于开销昂贵的采样技术或计算量大的预处理/后处理步骤,只能运行于小规模点云。本文提出的RandLA-Net是一种高效且轻量级的神经架构,用于直接推断大规模点云的点语义。RandLA-Net的关键在于使用随机点采样,而不是更复杂的点选择方法。这样做计算和存储的效率会非常高,但随机采样可能会偶然丢弃关键特征。为了克服这一点,作者引入了一个新的局部特征聚合模块来逐步增强每个3D点的感受野,从而有效保留几何细节。大量实验表明,RandLA-Net可以在一次处理100万个点,比现有方法快200倍。此外,RandLA-Net在两个大规模基准Semantic3D和SemanticKITTI上明显超过了最先进的语义分割方法。
1.介绍
目前针对大规模点云的识别和分割存在以下限制:
- 点采样方法或计算昂贵,或内存不足。例如,广泛使用的最远点采样需要超过200秒才能对100万个点中的10%进行采样。
- 大多数现有的局部特征学习器通常依赖于计算昂贵的内核化或图构造,因此无法处理大量的点。
- 对于通常由数百个目标组成的大规模点云,由于感受野的大小有限,现有的局部特征学习器要么无法捕获复杂结构,要么效率低下。
本文设计了一个内存和计算效率高的神经网络架构,能够直接处理大规模的三维点云,而不需要任何预处理或后处理步骤,如体素化、块划分或图构造。该任务需要:
- 一个内存和计算高效的抽样方法来降采样大规模点云。
- 一个有效的局部特征学习器来增加感受野的大小,保留复杂的几何结构。
为此,作者首先系统的证明了随机采样是深层神经网络有效处理大规模点云的关键。然而,随机采样会丢弃关键信息,特别是对于点稀疏的对象。为了消除随机抽样潜在的不利影响,作者提出了一种新的有效的局部特征聚合模块,以捕获越来越小的点集上的复杂局部结构。
- 对于每个3D点,作者引入一个局部空间编码(LocSE)单元,明确地保留局部几何结构;
- 其次,利用注意力池化来自动保留有用的本地特征;
- 将多个LocSE单元和注意力池化堆叠成一个扩张的残差块,大大增加了每个点的有效感受野。
其中,所有的神经组件都是作为共享mlp实现的,因此具有显著的内存和计算效率。这里的共享mlp实际上就是使用Conv1d或Conv2d来替代mlp,大大减少了计算参数。 基于简单随机采样和有效的局部特征聚合器,RandLA-Net在大规模点云上比现有方法快200倍,而且在Semantic3D和SemanticKITTI基准测试上也超越了最先进的语义分割方法。 主要贡献在:
- 作者分析比较了现有的采样方法,认为随机采样是大规模点云上最适合的有效学习方法。
- 作者提出了一种有效的局部特征聚合模块,通过逐步增加每个点的感受野来保持复杂的局部结构。
- 作者在baseline上展示了显著的内存和计算增益,并在多个大规模基准上超越了最先进的语义分割方法。
2.相关工作
从3D点云中提取特征,最近的基于学习的方法主要包括基于投影的、基于体素的和基于点的方案。
- 基于投影和体素的网络。主要为了利用2D CNN的成功,问题在于几何细节可能会丢失,计算量大。
- 基于点的网络。局部特征学习方法大致可分为:邻近特征池化、图信息传递、基于核的卷积和基于注意力的聚合。这些网络在小点云上得到了很好的结果,但由于高昂的计算和内存成本,无法直接扩展到大型场景。与它们相比,RandLA-Net有三个特点:
- 它只依赖于网络内部的随机抽样,因此需要更少的内存和计算量;
- 提出的局部特征聚合器通过显式考虑局部空间关系和点特征,可以获得连续较大的感受野,从而对复杂的局部模型学习更加有效和鲁棒;
- 整个网络仅由共享的mlp组成,而不依赖于任何昂贵的操作,如图构造和核化,因此对于大规模点云非常高效。
- 大规模点云学习。RandLA-Net是端到端可训练的,不需要额外的前/后处理步骤。
3.RandLA-Net
3.1. Overview
大规模点云包含了数百万的点,跨度达数百米,因此需要在模型中逐步高效地向下采样这些点,并保留有用的点特征。在RandLA-Net中,作者使用简单快速的随机抽样方法来降低点密度,同时使用局部特征聚合器来保留突出的特征。这使得网络在效率和性能之间实现了较好的平衡。
3.2. The quest for efficient sampling
现有的点采样方法大致可分为启发式方法和基于学习的方法,目前还没有适合大规模点云的标准采样策略。以下是对各种采样方法的相对优点和复杂性的分析比较。 (1)启发式采样
- 最远点采样(FPS):广泛用于小点集的语义分割,能够较好的覆盖整个点集,计算复杂度为
O
(
N
2
)
O(N^2)
O(N2)。对于大规模点云
(
1
0
6
)
(10^6)
(106),FPS在单个GPU上的处理时间高达200秒,这说明FPS并不适合大规模点云。
- 反密度重要性抽样(IDIS):根据每个点的密度对所有点重新排序,选取最上面的K个点,计算复杂度为
O
(
N
)
O(N)
O(N),效率更高,对异常值也更敏感。处理
1
0
6
10^6
106个点大于需要10秒,在实时系统中任然太慢。
- 随机采样(RS):随机抽样从原始N个点中均匀选取K个点,计算复杂度是
O
(
1
)
O(1)
O(1)。与输入点的总数无关,也就是说,RS方法是常数时间,因此具有内在的可伸缩性。与FPS和IDIS相比,无论输入点云的规模如何,随机采样的计算效率最高。处理
1
0
6
10^6
106只需要0.004秒。
(2)基于学习的采样
- 基于生成器的采样(GS):GS学习生成一个小点集,以近似表示原始大点集。然而,在推理阶段,为了将生成的子集与原始集进行匹配,通常会使用FPS,导致额外的计算。在实验中,采样
1
0
6
10^6
106个点中的10%需要1200秒。
- 基于连续松弛的采样(CRS):CRS方法使用重参数化技巧将采样操作松弛到一个连续域,进行端到端训练。具体来说,每个采样点都是基于整个点云的加权和来学习的。当用一次矩阵乘法同时采样所有新点时,会产生一个较大的权矩阵,导致难以承受的存储成本。例如,估计要占用超过300gb的内存才能采样
1
0
6
10^6
106个点的10%。
- 基于政策梯度的抽样(PGS): PGS将抽样操作定义为马尔可夫决策过程。它顺序地学习一个概率分布来采样点。但是,当点云较大时,由于探索空间非常大,学习概率方差很大。例如,对
1
0
6
10^6
106分的10%进行抽样,探索空间为
C
1
0
6
1
0
5
C^{10^5}_{10^6}
C106105?,不太可能学习到有效的抽样策略。作者的经验发现,如果PGS用于大的点云,网络很难收敛。
总体而言,FPS、IDIS和GS在计算上过于昂贵,无法应用于大规模的点云。CRS方法占用过多的内存,而PGS很难学习。相比之下,随机抽样有以下两个优点:
- 显著的计算效率,因为它与输入点的总数无关;
- 不需要额外的内存来进行计算。
因此,与所有现有的替代方案相比,随机采样是迄今为止处理大规模点云最合适的方法。然而,随机抽样可能会导致许多有用的点特征被丢弃。为了克服这个问题,作者提出了一个强大的局部特性聚合模块。
3.3. Local Feature Aggregation
如图3所示,局部特征聚合模块并行应用于每个三维点,由三个神经单元组成:局部空间编码(LocSE)、注意力池化、扩张残块。 (1) Local Spatial Encoding 给定点云集
P
\mathcal{P}
P,局部空间编码单元显示嵌入所有相邻点的xyz坐标,这样相应的点特征总是知道它们的相对空间位置。这使得LocSE单元可以明确观察到局部几何图案,从而有利于整个网络学习复杂的局部结构。LocSE单元包含以下步骤:
- 发现邻近点。为了提高效率,首先采用简单的KNN算法对第一个点的邻近点进行收集。KNN是基于点方向的欧氏距离。
- 相对点位置编码。对于中心点
p
i
p_i
pi?邻近的K个点
{
p
i
1
,
p
i
2
,
.
.
.
,
p
i
K
}
\{p_i^1,p_i^2,...,p_i^K\}
{pi1?,pi2?,...,piK?},显式编码相对点位置如下:
对于某中心点的每个邻近点,将中心点的xyz坐标、该邻近点的xyz坐标,相邻点和中心点的坐标差,相邻点和中心点的欧氏距离拼接起来再通过MLP得到特征
r
i
k
r_i^k
rik?。 - 点特征增强。对于每个相邻点
p
i
k
p_i^k
pik?,将编码后的相对点位置
r
i
k
r_i^k
rik?与其对应的点特征
f
i
k
f_i^k
fik?连接起来,得到增广特征
f
^
i
k
\hat{f}^k_i
f^?ik?。
这样,每个中心点经过LocSE单元的输出特征为
F
^
i
=
{
f
^
i
1
,
f
^
i
2
,
.
.
.
,
f
^
i
K
,
}
\hat{F}_i=\{\hat{f}^1_i,\hat{f}^2_i,..., \hat{f}^K_i,\}
F^i?={f^?i1?,f^?i2?,...,f^?iK?,}。 (2) Attentive Pooling 该神经单元用于聚合相邻点特征集
F
^
i
\hat{F}_i
F^i?。现有的研究通常使用max/mean pooling来硬整合相邻特征,导致大部分信息丢失。相反,作者转向强大的注意机制来自动学习重要的局部特征。attentive pooling单元由以下步骤组成。
- 计算注意力分数。给定一组局部特征
F
^
i
=
{
f
^
i
1
,
f
^
i
2
,
.
.
.
,
f
^
i
K
,
}
\hat{F}_i=\{\hat{f}^1_i,\hat{f}^2_i,..., \hat{f}^K_i,\}
F^i?={f^?i1?,f^?i2?,...,f^?iK?,},设计一个共享函数
g
(
)
g()
g()来学习每个特征的唯一注意力评分。基本上,函数
g
(
)
g()
g()由一个共享的MLP和softmax组成。其正式定义如下,其中W是共享MLP的可学习权值。
- 权重求和。学习到的注意力分数可以看作是一个自动选择重要特征的掩码。形式上,这些特征加权总结如下:
综上,给定输入点云P,对于第
i
i
i个中心点
p
i
p_i
pi?,LocSE和Attentive Pooling单元学习聚合其K个近邻点的几何模式和特征,并最终生成一个信息特征向量
f
~
i
\widetilde{f}_i
f
?i?。 (3) Dilated Residual Block 由于点云被大幅向下采样,因此需要增加每个点的感受野,这样输入点云的几何细节更有可能被保留。如图3所示,受成功的ResNet和有效的扩展网络的启发,作者将多个LocSE和注意力池化单元与一个跳过连接堆叠成一个扩展的残差块。 为了进一步说明扩张的残差块的能力,图4显示红色三维点在第一次LocSE/ attention Pooling操作后观察了K个邻近点,并在第二次操作后能够接收到
K
2
K^2
K2个邻近点的信息,即其两跳邻域。这是一种通过特征传播扩大感受野和扩展有效邻域的廉价方法。从理论上讲,堆叠的单位越多,这个扩展残差块就越强大,因为它的范围会变得越来越大。然而,更多的单元不可避免地会牺牲整体的计算效率。此外,整个网络可能会容易过拟合。RandLA-Net中将两组LocSE和Attentive Pooling堆叠起来作为标准残留块,在效率和有效性之间取得了令人满意的平衡。 总的来说,RandLA-Net的局部特征聚合模块通过明确考虑邻近几何信息和显著增加感受野来有效地保留复杂的局部结构。此外,该模块仅由前向MLP组成,计算效率高。
3.4. Implementation
作者通过叠加多个局部特征聚合模块和随机采样层来实现RandLA-Net。详细的架构在附录中给出。使用带有默认参数的Adam优化器。初始学习率设置为0.01,并在每个epoch之后降低5%。最近点K的个数设为16。为了并行训练RandLA-Net,我们从每个点云中采样固定数量的点(~
1
0
5
10^5
105)作为输入。在测试过程中,整个原始点云被输入到我们的网络中,以推断每个点的语义,而不需要进行几何或块划分等预处理/后处理。
4.实验
4.1. Efficiency of Random Sampling
**分析:**对于小规模点云(~
1
0
3
10^3
103),所有采样方法在时间和内存消耗上大致相等,不会产生沉重的计算负担;对于大规模点云(~
1
0
6
10^6
106),随机采样总体上具有更好的时间和存储效率。
4.2. Efficiency of RandLA-Net
作者在SemanticKITTI数据集上以计算速度、内存消耗和最大推测点数来表现RandLA-Net的效率。 分析: RandLA-Net可以使用最短的时间来推断大规模点云的语义标签。
4.3. Semantic Segmentation on Benchmarks
作者评估了RandLA-Net在三个大型公共数据集上的语义分割:室外Semantic3D和SemanticKITTI,以及室内S3DIS。采用各分类的平均交并比(mIOU)和总精度(OA) S3DIS 消融实验 从消融实验的情况来看,作者使用扩展的残差块来获取
K
2
K^2
K2个邻居点的信息,增大感受野,对于实验结果的提升很明显。
5.总结
在本文中,作者证明了使用轻量级网络架构来高效有效地分割大规模点云是可能的。与大多数依赖于昂贵的抽样策略的当前方法不同,作者在框架中使用随机抽样来显著减少内存占用和计算成本。此外,还引入了局部特征聚合模块,有效地保留了广泛邻域的有用特征。在多个基准测试上的广泛实验证明了RandLA-Net的高效率和最先进的性能。借鉴最近的工作,将作者的框架扩展到大规模点云上的端到端三维实例分割,以及实时动态点云处理,将是很有趣的。
|