CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)

CVPR 2020 | RandLA-Net:大场景三维点云语义分割新框架(已开源)

    • Authors
    • (一) Abstract
    • (二) Introduction
    • (三) Related Work
    • (四) RandLA-Net
        • 4.1. Overview
        • 4.2. The quest for efficient sampling
        • 4.3. Local Feature Aggregation
        • 4.4. Implementation
    • (五) Experiments
        • 5.1 Efficiency of Random Sampling
        • 5.2 Efficiency of RandLA-Net
        • 5.3. Semantic Segmentation on Benchmarks
        • 5.4. Ablation Study
    • (六) Conclusion

论文链接: https://arxiv.org/abs/1911.11236
TensorFlow代码: https://github.com/QingyongHu/RandLA-Net
效果图:

Authors

在这里插入图片描述

(一) Abstract

  • 研究了大规模3D点云的有效语义分割问题。通过依赖昂贵的采样技术或计算繁琐的预处理/后处理步骤,大多数现有方法只能在小规模的点云上进行训练和操作。
  • 介绍了RandLA-Net,这是一种高效且轻量级的神经体系结构,可以直接推断大规模点云的每点语义。
  • 方法的关键是使用随机点采样而不是更复杂的点选择方法。尽管计算和存储效率显着提高,但随机采样可能会偶然丢弃关键特征。为了克服这个问题,引入了一种新颖的局部特征聚合模块,以逐步增加每个3D点的接收场,从而有效保留几何细节。
  • RandLA-Net可以单遍处理100万个点,其速度比现有方法快200倍
  • RandLA-Net在两个大型基准Semantic3D和SemanticKITTI上明显超越了最新的语义分割方法。

(二) Introduction

  • 大规模3D点云的有效语义分割是实时智能系统(如自动驾驶和增强现实)的基本和必不可少的功能。
  • 一个关键的挑战是,深度传感器获取的原始点云通常是不规则采样,无结构且无序的。尽管深度卷积网络在结构化2D计算机视觉任务中显示出出色的性能,但它们不能直接应用于这种类型的非结构化数据。
  • 最近,开拓性的工作PointNet成为直接处理3D点云的有前途的方法。它使用共享的多层感知器(MLP),这是计算有效的方法,但无法捕获每个点的更广泛的上下文信息。
  • 为了学习更丰富的局部结构,随后又迅速引入了许多专用的神经模块。这些模块通常可归类为:1)neighbouring feature pooling,2)graph message passing,3)kernel-based convolution,以及4) attention-based aggregation
  • 尽管这些方法在对象识别和语义分割方面取得了令人印象深刻的结果,但几乎所有方法都限于极小的3D点云(例如4k点或1×1米块),并且不能直接扩展到较大的点云(例如数百万)点和最大200×200米)。

此限制的原因有三点:

  • 1)这些网络中常用的点采样方法在计算上或内存效率低下。例如,最广泛使用的最远点采样[38]花费200秒以上的时间对100万个点中的10%进行采样。
  • 2)大多数现有的本地特征学习者通常依靠计算昂贵的内核化或图形构造,从而无法处理大量点。
  • 3)对于通常由数百个对象组成的大规模点云,由于其有限的接收场大小,现有的局部特征学习器要么无法捕获复杂结构,要么效率低下。

近期的一些工作已开始解决直接处理大规模点云的任务:

  • SPG [23]在应用神经网络学习每个超点语义之前,将大点云作为超图进行了预处理。
  • FCPN [39]和PCT [7]都结合了体素化和点级网络来处理大量点云。尽管它们实现了不错的分割精度,但预处理和体素化步骤的计算量太大,无法部署在实时应用程序中。
  • 在本文中,设计了一种内存有效且计算效率高的神经体系结构,该体系结构能够在一次通过中直接处理大规模3D点云,而无需任何前/后处理步骤,例如体素化,块划分或图形处理加工。

但是,此任务极具挑战性,因为它需要:

  • 1)一种内存和计算效率高的采样方法,以逐步对大规模点云进行下采样,以适应当前GPU的限制;
  • 2)一个有效的局部特征学习器,以逐步提高接收能力保留复杂几何结构的字段大小。

为此,这篇论文首先系统地证明了随机采样是深度神经网络有效处理大规模点云的关键因素。

  • 但是,随机采样会丢弃关键的语义信息,尤其是对于具有低点密度的对象而言。
  • 为了应对随机采样的潜在有害影响,提出了一种新的高效的局部特征聚合模块,以在逐渐变小的点集上捕获复杂的局部结构。
  • 在现有的采样方法中,最远的点采样和逆密度采样是小规模点云最常用的方法。由于点采样是这些网络中的基本步骤,将在4.2节中研究不同方法的相对优点,既可以通过检查它们的计算复杂度,也可以通过经验来测量它们的内存消耗和处理时间。
  • 由此可见,常用的采样方法限制了向大点云的扩展,并成为实时处理的重要瓶颈。但是,我们认为随机抽样是大规模点云处理的最合适组件,因为它快速且可有效扩展。
  • 随机抽样并不是没有代价的,因为突出的点特征可能会被偶然丢弃,而且它不能直接用于现有的网络而不会导致性能损失。
  • 为了解决这个问题,在第4.3节中设计了一个新的本地特征聚合模块,通过逐步增加每个神经层的接受场大小,能够有效地学习复杂的局部结构。
  • 对于每个3D点,首先引入局部空间编码(LocSE)单元以显式保留局部几何结构。
  • 其次,利用attentive pooling来自动保留有用的本地功能。
  • 第三,将多个LocSE单元和attentive pooling堆叠为膨胀的残差块,从而大大增加了每个点的有效接收场。
  • 请注意,所有这些神经组件都实现为共享MLP,因此具有显着的内存和计算效率。

总的来说,基于简单随机抽样和有效的局部特征聚合器的原理,称为RandLA-Net的高效神经体系结构不仅比大规模点云上的现有方法快200倍,而且还超越了传统方法。 Semantic3D [16]和SemanticKITTI [3]基准上的最新语义分割方法。图1显示了方法的定性结果。

     CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第1张图片

论文主要贡献是:

  • 分析和比较现有的采样方法,将随机采样确定为在大规模点云上高效学习的最合适组件。
  • 提出了一个有效的局部特征聚合模块,通过逐步增加每个点的接收场来自动保留复杂的局部结构。
  • 证明了在基线之上的显着内存和计算增益,并且在多个大型基准上都超过了最新的语义分割方法。

(三) Related Work

为了从3D点云中提取特征,传统方法通常是手动 hand-craft 特征。最近的基于学习的方法主要包括此处概述的基于投影的,基于体素的和基于点的方案。

(1)基于投影和体素的网络。 为了利用2D CNNs的成功,许多工作将3D点云投影/展平到2D图像上,以解决对象检测的任务。但是,在投影过程中会丢失许多几何细节。或者,可以将点云体素化为3D网格,然后应用强大的3D CNNs。尽管它们在语义分割和对象检测方面取得了领先的成果,但它们的主要局限性是计算量大,特别是在处理大规模点云时。

(2)基于点的网络。 受PointNet / PointNet ++ 的启发,许多最新著作引入了复杂的神经模块来学习每点的局部特征。这些模块通常可分类为1)neighbouring feature pooling,2)graph message passing,3)kernel-based convolution 和 4) attention-based aggregation。尽管这些网络在小点云上已显示出令人鼓舞的结果,但是由于它们的高计算和内存成本,它们中的大多数不能直接扩展到大型方案。

(3)学习大规模点云。 SPG 将大点云作为超级图进行预处理,以学习每个超点语义。最近的FCPN 和PCT 将基于体素的网络和基于点的网络都应用于处理大量的点云。但是,图分区和体素化在计算上都是昂贵的。相反,我们高效的RandLA-Net可进行端到端的训练,而无需任何其他的前/后处理步骤。

与它们相比,RandLA-Net在四种方面有所区别:

  • 1)它仅依赖于网络内的随机采样,因此需要更少的内存和计算量;
  • 2)所提出的局部特征聚合器可以通过明确考虑局部空间关系和点特征来获得连续更大的接收场,从而对于学习复杂的局部模式更加有效和健壮;
  • 3)整个网络仅由共享的MLP组成,而不依赖于任何昂贵的操作(如图形构建和内核化),因此对于大规模点云而言,效率极高。
  • 4)RandLA-Net可进行端到端的培训,而无需任何其他的前/后处理步骤。

(四) RandLA-Net

4.1. Overview

  • 如图2所示,给定一个大规模的点云,其中有数百万个跨度达数百米的点,要使用深度神经网络对其进行处理,不可避免地需要在每个神经层中逐步有效地对这些点进行降采样,而又不会丢失有用的点功能。
  • 在RandLA-Net中,使用简单快速的随机抽样方法来大大降低点密度,同时应用经过设计的本地功能聚合器以保留突出的功能。这使整个网络都能在效率和有效性之间取得良好的平衡。

      CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第2张图片

4.2. The quest for efficient sampling

现有的点采样方法可以大致分为启发式方法和基于学习的方法。但是,仍然没有适合大型点云的标准采样策略。因此,分析和比较它们的相对优缺点和复杂性如下。

4.2.1 Heuristic Sampling

Farthest Point Sampling(FPS)

为了从具有 N N N个点的大规模点云 P P P中采样 K K K个点,FPS返回度量空间 ( p 1 . . . p k . . . p K ) \left ( p_{1}...p_{k}...p_{K}\right ) (p1...pk...pK)的重新排序,使得每个 p k p_{k} pk离第一个 k − 1 k-1 k1点最远的点。 FPS被广泛用于小点集的语义分割。

  • 尽管它可以很好地覆盖整个点集,但其计算复杂度为 O ( N 2 ) O(N^{2}) O(N2)
  • 对于大规模点云 ( N ∼ 1 0 6 ) (N\sim 10^{6}) (N106),FPS最多需要200秒才能在单个GPU上处理。这表明FPS不适合大规模点云。

Inverse Density Importance Sampling (IDIS):

要从 N N N个点中采样 K K K个点,IDIS根据每个点的密度对所有 N N N个点重新排序,然后选择顶部的 K K K个点[15]。

  • 它的计算复杂度约为 O ( N ) O(N) O(N)
  • 根据经验,处理 1 0 6 10^{6} 106点需要10秒。与FPS相比,IDIS效率更高,但对异常值也更敏感。但是,对于在实时系统中使用它仍然太慢。

Random Sampling(RS):

随机采样从原始N个点中统一选择K个点。它的计算复杂度为 O ( 1 ) O(1) O(1),与输入点的总数无关,即它是恒定时间的,因此具有固有的可扩展性。与FPS和IDIS相比,无论输入点云的规模如何,随机抽样都具有最高的计算效率。处理 1 0 6 10^{6} 106点仅需0.004s。

4.2.2 Learning-based Sampling

Generator-based Sampling (GS):

GS学会生成一小组小点,以近似表示原始的大小组。但是,通常使用FPS以便在推理阶段将生成的子集与原始集进行匹配,从而导致额外的计算。最多需要1200秒才能采样 1 0 6 10^{6} 106点的10%。

Continuous Relaxation based Sampling (CRS):

CRS方法使用重新参数化技巧将采样操作放宽到连续域以进行端到端训练。特别地,基于整个点云的加权和来学习每个采样点。当对所有新点同时进行一次矩阵乘法采样时,会产生一个较大的权值矩阵,导致无法负担的内存开销。估计需要超过300GB的内存占用来采样 1 0 6 10^{6} 106个点中的10%。

Policy Gradient based Sampling (PGS):

PGS将采样操作表述为马尔可夫决策过程。它依次学习对每个点进行采样的概率。但是,由于大规模点云的探索空间很大,因此学习概率具有较高的方差。要对 1 0 6 10^6 106个点中的10%进行采样,勘探空间为 C 1 0 6 1 0 5 C_{10^{6}}^{10^{5}} C106105,并且不太可能学习有效的采样策略。根据经验,如果将PGS用于大点云,则网络难以收敛。

总体而言:FPS,IDIS和GS在计算上过于昂贵,无法应用于大型点云。 CRS方法的内存占用过多,PGS很难学习。相比之下,随机采样具有以下两个优点:

  • 由于对输入点的总数不可知,因此其计算效率非常高;
  • 不需要额外的存储空间即可进行计算。

因此,可以得出结论:

与所有现有替代方法相比,随机采样是迄今为止最适合处理大规模点云的方法。但是,随机采样可能会导致许多有用的点特征丢失。为了克服它,本篇论文提出了一个强大的局部特征聚合模块,如下面第4.3节所述。

4.3. Local Feature Aggregation

如图3所示,局部特征聚合模块并行地应用于每个3D点,它由三个神经单元组成:1)局部空间编码(LocSE),2)attentive pooling 3 )dilated residual block(扩张的残差块)。
CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第3张图片
4.3.1 Local Spatial Encoding

给定点云P以及每个点的特征(例如原始RGB或中间学习的特征),此局部空间编码单元会明确嵌入所有相邻点的x-y-z坐标,从而使相应的点特征始终知道其相对位置空间位置。这使LocSE单元可以显式观察局部几何图案,从而最终使整个网络受益,而有效地学习复杂的局部结构。特别地,该单元包括以下步骤:

Finding Neighbouring Points. 对于 i t h i^{th} ith点,首先通过简单的K紧邻(KNN)算法收集其相邻点以提高效率。注意,KNN基于逐点欧几里得距离。

Relative Point Position Encoding. 对于中心点 p i p_i pi的每个最近的 K K K个点 { p i 1 . . . p i k . . . p i K } \left \{p_{i}^{1}...p_{i}^{k}...p_{i}^{K}\right \} {pi1...pik...piK},我们明确编码相对点位置,如下所示:

  • p i p_{i} pi p i k p_{i}^{k} pik是点的x-y-z位置
  • ⊕是串联操作
  • || ·||计算相邻点和中心点之间的欧几里得距离。
  • 看起来 r i k r_{i}^{k} rik是根据冗余点位置信息进行编码的。有趣的是,这倾向于帮助网络学习局部特征并在实践中获得良好的性能。

Point Feature Augmentation. 对于每个相邻点 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_{i}^{k}} fik^

最终,LocSE单元的输出是一组新的相邻要素 F i ^ = { f i 1 ^ . . . f i k ^ . . . f i K ^ } \hat{F_{i}}=\left \{\hat{f_{i}^{1}}...\hat{f_{i}^{k}}...\hat{f_{i}^{K}}\right \} Fi^={fi1^...fik^...fiK^},它明确地编码了中心点 p i p_{i} pi的局部几何结构。注意到,最近的工作也使用点位置来改进语义分割。然而,这些位置用于学习点得分,而LocSE明确编码了相对位置以增强相邻点的特征。

附录:C. Addition al Ablation Studies on LocSE

在第3.3节中,我们根据以下公式对相对点位置进行编码:

我们将进一步研究框架中不同空间信息的影响。特别是,我们对LocSE进行了以下更广泛的实验:

  • 仅编码点的坐标 p i p_i pi
  • 仅相邻点 p i k p_i^k pik的坐标进行编码。
  • p i p_i pi和相邻点 p i k p_i^k pik的坐标进行编码。
  • 编码 p i p_i pi和相邻点 p i k p_i^k pik的坐标,欧氏距离 ∥ p i − p i k ∥ \left \| p_{i}-p_{i}^{k}\right \| pipik
  • 编码 p i p_i pi和相邻点 p i k p_i^k pik的坐标和相对位置 p i − p i k p_{i}-p_{i}^{k} pipik的坐标。
CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第4张图片

表6比较了所有消融网络的mIoU得分。我们可以看到:

      1)对所有空间信息进行显式编码可产生最佳的mIoU性能。
      2)相对位置 p i − p i k p_{i}-p_{i}^{k} pipik在此组件中起着重要作用,主要是因为相对点位置使网络能够了解局部几何图案。
      3)仅编码点位置 p i p_i pi或者 p i k p_i^k pik不太可能改善性能,由于未明确编码相对的局部几何图案。

4.3.2 Attentive Pooling

该神经单元用于汇总邻近点特征 F i ^ \hat{F_{i}} Fi^的集合。现有论文通常使用最大/平均池来硬集成相邻特征,从而导致大部分信息丢失。相比之下,网络转向强大的注意力机制来自动学习重要的本地特征。 Attentive Pooling单元包括以下步骤。

Computing Attention Scores.

给定一组局部特征 F i ^ = { f i 1 ^ . . . f i k ^ . . . f i K ^ } \hat{F_{i}}=\left \{\hat{f_{i}^{1}}...\hat{f_{i}^{k}}...\hat{f_{i}^{K}}\right \} Fi^={fi1^...fik^...fiK^},设计了一个共享函数g()来为每个功能学习唯一的注意力得分。基本上,函数g()包含一个共享MLP,后跟softmax。它的正式定义如下:

其中W是共享MLP的可学习权重.

Weighted Summation.

学到的注意力分数可以看作是自动选择重要特征的softmask。正式地,这些特征的加权总和如下:
CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第5张图片
总而言之,在给定输入点云P的情况下,对于 i t h i^{th} ith p i p_i pi,LocSE和Attentive Pooling单元学会聚合其 K K K个最近点的几何图案和特征,并最终生成信息量丰富的特征向量 f i k ^ \hat{f_{i}^{k}} fik^

附录:Visualization of Attention Scores

  • 为了更好地理解attentive pooling,希望可视化学习到的注意力得分。
  • 但是,由于attentive pooling在相对较小的本地点集(即K = 16)上进行操作,因此很难识别有意义的这样小的局部区域的形状。
  • 或者,我们在每层中可视化在Equation2中定义的学习注意权重矩阵W。
  • 如图8所示,注意力权重在第一个编码层中具有较大的值,然后在随后的层中逐渐变得平滑且稳定。
  • 表明,注意力集中在开始时倾向于选择突出或关键点特征。在对点云进行大幅下采样之后,attentive pooling层倾向于保留大多数这些点特征。

      CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第6张图片

4.3.3 Dilated Residual Block(膨胀残留块)

  • 由于将要对大的点云进行实质性的下采样,因此希望显着增加每个点的接收场,从而即使某些点被丢弃,输入点云的几何细节也更有可能被保留。
  • 如图3所示,将多个LocSE和Attentive Pooling单元通过a skip connection堆叠在一起,作为扩张的残差块。
  • 为了进一步说明扩张残差块的功能,图4显示了红色3D点在第一次LocSE / Attentive Pooling操作之后观察到 K K K个相邻点,然后在第二次之后能够从最多 K 2 K^2 K2个相邻点(即two-hop neighbourhood )接收信息。这是扩大接受域并通过特征传播扩大有效邻域的cheap方法。
  • 从理论上讲,堆叠的单位越多,此block的作用范围就越大,越强大。
  • 但是,更多的单元将不可避免地牺牲整体计算效率。
  • 另外,整个网络很可能会过度配合。
  • 在RandLA-Net中,简单地堆叠了两组LocSE和Attentive Pooling作为标准残差块,在效率和效果之间取得了令人满意的平衡。
    CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第7张图片

总体而言:

  • 局部特征聚合模块旨在通过明确考虑相邻的几何形状并显着增加接收场来有效保留复杂的局部结构。
  • 该模块仅由前馈MLP组成,因此计算效率高。

附录:D. Additional Ablation Studies on Dilated Residual Block

在RandLA-Net中,将两个LocSE和Attentive Pooling单元堆叠为标准的dilated residual block,以逐渐增加接收场。为了进一步评估the dilated residual block中聚合单元的数量如何影响整个网络,进行了以下两组实验。

  • 仅使用一个LocSE单元和attentive pooling就可以简化dilated residual block。
  • 再添加一个LocSE单元和attentive pooling,即三个聚合单元链接在一起。
    CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第8张图片

表7显示了在SemanticKITTI [3]数据集的验证划分上,不同消融网络的mIoU分数。可以看出:

  • 由于有限的接收场,在Residual Block中只有一个聚集单元会导致分割性能的显着下降。
  • 每个块中的三个聚合单元不能提高预期的准确性。这是因为明显增加的接收场和大量的可训练参数趋于过拟合。

4.4. Implementation

  • 通过堆叠多个局部特征聚合模块和随机采样层来实现RandLA-Net。

  • 将Adam优化器与默认参数一起使用。初始学习率设置为0.01,并在每个时期后降低5%。最近点的数量 K K K设置为16。

  • 为了并行训练RandLA-Net,从每个点云中采样固定数量的点(〜 1 0 6 10^6 106)作为输入。

  • 在测试过程中,整个原始点云将送到我们的网络中,以推断每个点的语义,而无需任何预处理/后处理。

  • 所有实验均在NVIDIA RTX2080Ti GPU上进行。

附录: B. Details of the Network Architecture
CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第9张图片

  • 图7显示了RandLANet的详细架构。
  • 该网络遵循具有跳跃连接的广泛使用的编码器-解码器体系结构。
  • 首先将输入点云馈送到共享的MLP层以提取每个点的特征。
  • 然后使用四个编码和解码层来学习每个点的特征。
  • 最后,使用三个完全连接的层和一个dropout层来预测每个点的语义标签。每个部分的详细信息如下:

Network Input:

输入是一个大型的点云,大小为 N × d i n N×d_{in} N×din(为简单起见,将批处理尺寸删除),其中 N N N是点数, d i n d_{in} din是每个输入点的特征维。

  • 对于S3DIS 和Semantic3D 数据集,每个点都由其3D坐标和颜色信息(即x-y-z-R-G-B)表示,
  • 而SemanticKITTI [3]数据集的每个点仅由3D坐标表示。

Encoding Layers:

  • 网络中使用了四个编码层,以逐渐减小点云的大小并增加每点特征的尺寸。
  • 每个编码层都包含一个局部特征聚合模块(第4.3节)和一个随机采样操作(第4.2节)。
  • 点云以四倍的抽取比率进行下采样。特别是,每层之后仅保留25%的点,即(N→N/4→N/6→N/64→N /256)。
  • 同时,逐点特征维逐渐增加每一层以保留更多信息,即(8→32→128→256→512)。

Decoding Layers:

  • 在上述编码层之后使用四个解码层。
  • 对于解码器中的每一层,我们首先使用KNN算法为每个查询点找到一个最近的相邻点,
  • 然后通过最近邻插值对点特征集进行上采样。
  • 接下来,将经过上采样的特征图与通过skip连接对图层进行编码而生成的中间特征图进行级联,之后将共享的MLP应用于级联特征图。

Final Semantic Prediction:

每个点的最终语义标签是通过三个共享的全连接层(N,64)→(N,32)→(N,nclass)和a dropout layer获得的。dropout ratio 为0.5。

Network Output:

RandLA-Net的输出是所有点的预测语义,大小为 N × n c l a s s N×n_{class} N×nclass,其中 n c l a s s n_{class} nclass是类的数量。

(五) Experiments

5.1 Efficiency of Random Sampling

在本节中,根据经验评估现有采样方法(包括FPS,IDIS,RS,GS,CRS和PGS)的效率,进行以下4组实验。

  • Group 1. 给定一个小规模的点云(约 1 0 3 10^3 103个点),使用每种采样方法逐步对其进行下采样。
  • 具体来说,点云是通过五个步骤进行下采样,在单个GPU上的每个步骤中仅保留25%的点,即四倍抽取率
  • 这意味着最后只剩下约 ( 1 / 4 ) 5 × 1 0 3 (1/4)^{5}×10^{3} (1/4)5×103点。
  • 这种下采样策略模拟了PointNet ++ 中使用的过程。
  • 对于每种采样方法,总结其时间和内存消耗以进行比较。
  • Group 2/3/4. 点的总数逐渐增加,即分别达到约$ 1 0 4 10^4 104, 1 0 5 10^5 105点和 1 0 6 10^6 106点。使用与第1组相同的五个采样步骤。

Analysis.

      CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第10张图片

图5比较了每种采样方法处理不同比例的点云的总时间和内存消耗。

图释:

  • 对于小规模的点云(〜 1 0 3 10^3 103),所有采样方法往往具有相似的时间和内存消耗,并且不太可能招致沉重的或有限的计算负担。
  • 对于大规模点云(〜 1 0 6 10^6 106),FPS / IDIS / GS / CRS / PGS既费时又费钱。

相比之下,随机采样总体上具有更高的时间和存储效率。大多数现有网络只能在小块点云上进行优化,主要是因为它们依赖于昂贵的采样方法。因此,在RandLA-Net中使用了有效的随机抽样策略。

5.2 Efficiency of RandLA-Net

在本节中,系统地评估RandLA-Net在真实世界大规模点云上进行语义分割的整体效率。

  • 在SemanticKITTI [3]数据集上评估RandLA-Net,获得序列08上网络的总时间消耗,序列08总共有4071帧点云。还评估了同一数据集上近期代表性作品[37、38、29、23、48]的时间消耗。对于公平地比较一下,将每次扫描的相同数量的点(即81920)输入到每个神经网络中。
  • 评估了RandLA-Net和基准的内存消耗
  • 报告了每个网络的总参数,测量了每个网络可以在一次传递中作为输入来推断每个点语义的3D点的最大数量。
  • 所有实验都是在同一台计算机上使用AMD 3700X @ 3.6GHz CPU和NVIDIA RTX2080Ti GPU进行的。

Analysis.
      CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第11张图片
表1定量显示了不同方法的总时间和内存消耗。可以看出:

  • 1)SPG 具有最少的网络参数,但是由于昂贵的几何划分和超图构造步骤,花费了最长的时间来处理点云。
  • 2)PointNet ++ 和PointCNN 在计算上也很昂贵,主要是因为FPS采样操作;
  • 3)由于其内存效率低下,PointNet 和KPConv 无法一次通过超大规模的点云(例如 1 0 6 10^6 106个点)。
  • 4)由于简单的随机采样以及高效的基于MLP的局部特征聚合器,RandLA-Net花费了最短的时间(转换为每秒23帧)来推断每个大规模点云(最多 1 0 6 10^6 106个点)的语义标签)。

5.3. Semantic Segmentation on Benchmarks

在本节中,在三个大型公共数据集上评估我们的RandLA-Net的语义分段:Semantic3D ,SemanticKITTI 和S3DIS 。

5.3.1 Evaluation on Semantic3D.

  • Semantic3D数据集包含15个用于训练的点云和15个用于在线测试的点云。
  • 每个点云最多可包含108个点,在现实世界3D空间中覆盖的范围最大为160×240×30米。
  • 原始3D点属于8类,包含3D坐标,RGB信息和强度。仅使用3D坐标和颜色信息来训练和测试RandLANet。
  • 所有类别的联合平均交集(mIoU)和总精度(OA)均用作标准度量。
  • 为了公平比较,只包括最近发布的强基准的结果[4,46,47,40,63,50,23]和当前最先进的方法KPConv [48]。

表2列出了不同方法的定量结果。
CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第12张图片

  • 就mIoU和OA而言,RandLA-Net明显优于所有现有方法。
  • 值得注意的是,RandLANet在八种类别中的六种上也表现出色,除了低植被和扫描伪影外。

附录:F. Additional Results on Semantic3D

RandLA-Net在Semantic3D [16]数据集上的定性结果(reduced-8)如图9所示。
CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第13张图片

5.3.2 Evaluation on SemanticKITTI.

SemanticKITTI 由43552个密集注释的LIDAR scans组成,属于21个序列。

  • 每次扫描都是一个具有约 1 0 5 10^5 105个点的大规模点云,在3D空间中跨度高达160×160×20米。
  • 序列00〜07和09〜10(19130scans)用于训练,
  • 序列08(4071scans)进行验证,
  • 序列11-21(20351scans)进行在线测试。
  • 原始3D点仅具有3D坐标,而没有颜色信息。
  • 超过19个类别的mIoU分数用作标准指标。

表3显示了RandLANet与两个最新方法系列的定量比较:

  • 1)基于点的方法[37、23、43、38、45]
  • 2)基于投影的方法[52、53、3],

CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第14张图片
CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第15张图片
图6显示RandLA-Net在验证拆分上的一些定性结果。

图释:

  • RandLA-Net大大超越了所有基于点的方法[37、23、43、38、45],也优于所有基于投影的方法[52、53、3],但不明显,这主要是因为DarkNet [3]在小对象类别(例如交通标志)上获得了更好的结果。
  • 但是,RandLA-Net的网络参数比DarkNet [3]少得多,并且计算效率更高,因为它不需要投影前和投影后处理的复杂步骤。

附录:G. Additional Results on SemanticKITTI

  • 图10显示了RandLANet在SemanticKITTI验证集中的定性结果。
  • 红色框显示故障案例。可以看出,属于其他车辆的点很可能会被误分类为汽车,这主要是因为没有颜色的局部点云很难在两个相似的类之间进行区分。
  • 此外,由于数据集中的点分布极不平衡,植被点数是摩托车手的7000倍,我们的方法在自行车,摩托车,自行车和摩托车等少数少数群体中往往会失败。

CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第16张图片

5.3.3 Evaluation on S3DIS.

S3DIS数据集包含271个房间,分别属于6个大区域。每个点云都是具有密集3D点的中型单人间(〜20×15×5米)。

  • 为了评估RandLA-Net的语义分割,实验中使用了标准的6倍交叉验证。
  • 比较了总共13个类别的平均IoU(mIoU),平均类别准确性(mAcc)和总体准确性(OA)。
CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第17张图片

如表4所示,RandLA-Net与最新方法相比,具有同等或更好的性能。

  • 大多数这些基准[38、29、64、63、51、6]倾向于使用复杂但昂贵的操作或采样来优化点云小块(例如1×1米)上的网络,并且相对较小的房间按照自己的喜好分成小块。
  • 相比之下,RandLA-Net将整个房间作为输入,并且能够通过一次有效地推断每个点的语义。

附录:H. Additional Results on S3DIS

在表8中报告了在S3DIS上RandLA-Net的详细6倍交叉验证结果。图11显示了更多定性结果。
CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第18张图片
CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第19张图片

5.4. Ablation Study

本小节,对本地特征聚合模块进行了以下消融研究。所有消融网络都在序列00〜07和09〜10上训练,并在SemanticKITTI数据集的序列08上进行测试。

(1) Removing local spatial encoding (LocSE). 该单元使每个3D点能够明确观察其局部几何形状。删除locSE之后,将局部点要素直接输入到后续的attentive pooling中。

(2∼4) Replacing attentive pooling by max/mean/sum pooling. The attentive pooling unit 学习自动组合所有局部点的功能。相比之下,the widely used max/mean/sum poolings 往往很难选择或组合特征,因此它们的性能可能欠佳。

(5) Simplifying the dilated residual block. (简化膨胀的残差块。)

  • 膨胀后的残差块堆叠了多个LocSE单元和attentive poolings,从而大大扩大了每个3Dpoint的感受野。
  • 通过简化此块,仅使用一个LocSE单元,并在每层上使用attentive pooling,即,不会像原始RandLA-Net那样链接多个块。
CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)_第20张图片

表5比较了所有消融网络的mIoU得分。可以看到:

  • 1)最大的影响是chained spatial embedding和attentive pooling blocks引起的。在图4中突出显示了这一点,该图显示了如何使用两个链接的块使信息从更广泛的邻域传播,即大约 K 2 K^2 K2个点而不是 K K K个点。这对于随机采样尤其重要,因为随机采样不能保证保留特定的集合点。
  • 2)删除局部空间编码单元显示出对性能的下一个最大影响,表明该模块对于有效学习局部和相对几何环境是必不可少的。
  • 3)删除the attention module无法有效保留有用的功能,因此会降低性能。

从消融研究中,可以看到拟议中的神经单元如何相互补充以达到最新性能。

(六) Conclusion

  • 在本文中,证明了通过使用轻量级网络体系结构可以有效地分割大规模点云。
  • 与大多数当前依赖昂贵采样策略的方法相反,在框架中使用随机采样来显着减少内存占用和计算成本。
  • 引入了本地特征聚合模块,以有效地保护来自广泛领域的有用特征。
  • 在多个基准上进行的广泛实验证明了方法的高效率和最新性能。

你可能感兴趣的:(三维点云)