PolarNet:在线激光雷达点云语义分割的改进网格表示

PolarNet:在线激光雷达点云语义分割的改进网格表示

论文 PolarNet: An Improved Grid Representation for
Online LiDAR Point Clouds Semantic Segmentation

代码github:https://github.com/edwardzhou130/PolarSeg

论文地址 https://arxiv.org/abs/2003.14032

摘要

由于自动驾驶系统对细粒度感知的需求,单扫描激光雷达在线语义分割的研究近年来有所增加。尽管出现了新的数据集和技术进步,但由于以下三个原因,它仍然具有挑战性:(1)在硬件有限的情况下需要近实时延迟;(2) 激光雷达点在空间上的分布不均匀甚至是长尾分布;(3)越来越多的极细粒度语义类。为了共同应对上述所有挑战,我们提出了一种新的特定于激光雷达的无最近邻分割算法——PolarNet。我们的极性鸟瞰图表示法没有使用常见的球形或鸟瞰图投影,而是在极坐标系中平衡网格单元上的点,从而间接地将分割网络的注意力与沿径向轴的点的长尾分布对齐。我们发现,我们的编码方案极大地提高了真实城市激光雷达单次扫描的三个截然不同的分割数据集中的mIoU,同时保持了接近实时的吞吐量。

PolarNet:在线激光雷达点云语义分割的改进网格表示_第1张图片

图 2. 我们的模型概述。 对于给定的 LiDAR 点云,我们首先使用它们的极坐标 BEV 将点量化为网格。 对于这些网格单元中的每一个,我们使用简化的无 KNN PointNet 将其中的点转换为固定长度的表示。 然后将该表示分配到其在环矩阵中的相应位置。 我们将矩阵输入到由环形卷积模块组成的环形CNN。 最后,CNN 输出一个量化的预测,我们将其解码到点域。

前言

过去十年里,激光雷达点云数据激增,尤其是在自动驾驶领域。
为了在各种下游应用中利用激光雷达点云,开发自动分析方法以理解数据至关重要。本文主要研究激光雷达点云的在线细粒度语义分割。与图像语义分割类似,该任务是为给定输入点云的每个点指定一个语义标签。

虽然有几个大型激光雷达点云数据集是公开的[9,29,42,3],但直到最近,由[1,10]提供的语义分割标签才能够匹配它们的尺度。大规模点云的发布和语义分割标签的准备工作之间的滞后表明,人类评分员在提供逐点标签方面面临的挑战,以及对激光雷达扫描自动和快速语义分割解决方案的需求。
我们考虑使用端到端深度神经网络的激光雷达点云的单扫描语义分割。然而,在研究网络体系结构或高级训练算法之前,我们首先关注网络的输入。什么构成了一次激光雷达点云扫描的良好输入表示?我们从几个相关领域得到启发来回答这个问题。
在图像分割中, perception field 感受野[39]是设计高性能CNN最主要的考虑因素之一。它决定了一个神经网络在将一个像素分类为一个语义类之前可以“感知”多少上下文。总的来说,较大的感知域可以提高性能。扩大卷积神经网络感知范围的技术包括扩张卷积[39,5],特征金字塔[17]等。

当谈到激光雷达点云时,我们推测感知场的大小和形状都很重要。如果我们从鸟瞰的角度观察激光雷达扫描,这些点被组织成不同半径的环形(参见。图2和图3)。因此,常规笛卡尔坐标将以不均匀的方式将点分布到网格单元中。靠近传感器的细胞必须每个细胞浓缩许多点,模糊这些点的细节。相比之下,远离传感器的每个细胞都包含非常稀疏的点,为神经网络标记此类细胞中的点提供了有限的线索。
为此,我们建议让CNN感知场通过极坐标网格分割激光雷达扫描来跟踪特殊的环形结构。事实证明,这种对神经网络输入表示的简单改变非常有效,大大提高了各种语义分割网络的性能。

为此,我们建议让CNN感知场通过极坐标网格分割激光雷达扫描来跟踪特殊的环形结构。事实证明,这种对神经网络输入表示的简单改变非常有效,大大提高了各种语义分割网络的性能。
然而,关于激光雷达扫描的现有研究未能追踪环形结构。Wu等人[36]通过将点球面投影到图像上,将点云分割问题转化为深度图分割问题。Zhang等人[41]手工制作了点云的鸟瞰图(BEV)表示,并用规则网格表示。Yang等人[38]使用类似的BEV表示法从激光雷达点云进行目标检测。
一方面,上述工作表明,将激光雷达扫描的BEV表示用于分割和检测是有希望的。然而,另一方面,我们认为他们没有充分利用BEV揭示的结构。我们从两个主要方面提升了普通BEV表示。一种是在激光雷达扫描中追踪环形结构的极坐标网格。另一个是我们学习每个网格单元的局部特征,而不是手工制作。

在pre-DL计算机视觉领域极坐标非常常见,但鉴于图像和特征矩阵基本上是笛卡尔坐标,极坐标在CNN中很少见。为了将极性BEV表示与2D CNN完全集成,我们首先重新设计了BEV量化方案。现在,我们不再根据XY平面上的笛卡尔坐标对点进行量化,而是根据自上而下的极坐标来分配点,如图3所示。极性BEV模拟BEV的圆形模式,增加稀疏度,使每个网格的点显著平衡近一个数量级(c.f.图4)。受Lang等人[16]的启发,我们学习了一个简化的pointnet,将每个网格中的点转换为固定长度的表示向量。
由于我们在极坐标中量化点,理想情况下,特征矩阵也应该在极坐标中。为了确保下游CNN中感知场的一致性,我们将这些特征向量排列到极坐标网格中,极坐标网格的最左边和最右边的列是相连的。
我们还修改了下游CNN,使其能够在极地网格上连续卷积。在获得离散预测(也是一个极坐标网格)后,我们将其映射回笛卡尔空间中的点,并评估其性能。我们的管道如图2所示。
我们在SemanticKITTI[1]、A2D2[10]和Paris-Lille-3D[26]数据集上验证了我们的方法。结果表明,我们的方法在平均交叉超过联合(mIoU)评估指标上的性能分别比最新方法高2.1%、4.5%和3.7%,其参数和MAC仅为mIoU的1/3。

我们的工作贡献总结如下:

我们提出了一种更合适的激光雷达扫描表示方法,该方法考虑了点的不平衡空间分布。
•我们展示的PolarNet网络使用我们的polar grid数据表示进行端到端培训,在公共基准上超过了最先进的方法,计算成本低,如图1所示。
•与其他表示法(如笛卡尔BEV)相比,我们使用极坐标网格对基于不同主干分割网络的语义分割性能进行了全面分析。

2.相关工作

2.1。点云应用和方法

大多数当前的点云应用集中于一般的点云,其中点密集分布在对象表面上,例如单个3D对象形状识别[34],室内点云分割[31,27],以及从点云重建室外场景[30]。尽管任务不同,但为了实现目标,他们必须解决一个类似的核心问题:如何从空间中不规则分布的点提取上下文信息,无论是局部的还是全局的。从聚合上下文信息的方法来看,主要有两种方法:参数化[34,32,15,13]和非参数化[22,23,27]。其他作品将点体素化,然后应用3D体积分割/检测算法[31]。后一种方法的代表性工作是著名的PointNet[22]算法。PointNet及其后继者[23]分别处理每个点,然后使用set函数聚合这些点之间的上下文信息。在基于图的方法[34,32,15]中,参数化方法更常见,其中点通过KNN建模为图,然后根据其图连通性进行卷积。

2.2. 激光雷达的应用和方法

尽管无论光照条件如何,LiDAR 传感器都能提供高精度的距离测量,但 LiDAR 生成的点云在空间上更加稀疏,这使得从中提取信息更具挑战性。 此外,通常使用 LiDAR 传感器的系统(例如自动驾驶车辆)中的处理资源通常是有限的,需要嵌入式硬件的实时性能。 为了解决这个问题,研究人员提出了 3D 数据的不同表示形式,可分为前视图和鸟瞰图 (BEV)。 尽管使用了 LiDAR 3D 点云的不同表示,但每个点都将点量化为场景的压缩 2D 快照,可由 2D 神经网络处理,从而避免昂贵的图形神经网络或 3D 操作。
前视图表示包括深度图像状和球面投影。 深度图或视锥体方法应用针孔相机模型将 3D 点云投影到 2D 图像网格上。 [21] 根据截锥体的聚类点,其中使用 3D 深度神经网络来识别对象。 在球面投影中,点被投影到 2D 球面网格上以进行密集表示。 SqueezeSeg [35] 和 SqueezeSegV2 [36] 使用球面投影来表示轻量级 2D 语义分割网络的点云,能够实现实时性能。 预测结果通过条件随机场 (CRF) 模型进一步平滑,然后重新投影回 3D 点云。 RangeNet++ [19] 将 SqueezeSeg 中 SqueezeNet 和 CRF 的骨干网络替换为 YOLOv3 [24] Darknet 和基于 GPU 的 K-最近邻搜索,以实现更好的分割结果。 作为比深度图更好的经验表示,BEV 从自上而下的角度表示点云而不会丢失任何比例和范围信息,并广泛用于 LiDAR 检测 [33、38、16、14、37],最近也用于分割 [41]。 PIXOR [38] 在将点云离散化为 BEV 表示后,将每个单元的特征编码为占用率和归一化反射率。 接下来,使用具有 2D 卷积层的神经网络进行 3D 对象检测。 PointPillars [16] 通过在 BEV 表示上添加一个 PointNet 模型来改进这个想法。

存在许多 LiDAR 对象检测数据集,例如 Waymo Open Dataset [29] 和 KITTI 3D 检测数据集 [9]。 相反,LiDAR 扫描语义分割数据集则比较少见。 据我们所知,到目前为止只有三个:Audi 数据集 [10]、Paris-Lille-3D [26] 和 Semantic KITTI 数据集 [1]。 其他点云分割数据集,例如 Semantic3D [11],不在在线 LiDAR 分割的范围内。 为语义分割算法开发注释 RGB 图像是一项艰巨的任务; 然而,为语义分割标注 LiDAR 数据的任务更加困难且不直观,这可能是 LiDAR 分割数据集如此少的原因。

2.3. 2D 语义分割

2D 语义分割网络是从全卷积网络 (FCN) [18] 演变而来的,近年来在各种基准测试中都表现出显着的改进。 与其他计算机视觉任务(例如姿势估计和对象检测)的成功类似,最有效的语义分割网络 [40] 采用编码器-解码器结构,其中首先减少 2D 图像特征图以提取高级上下文信息,然后 扩展以检索空间信息。 在这些网络中,DeepLab [4] 和 Unet [25] 是两个众所周知的成功代表,它们都旨在将多尺度上下文信息融合在一起。 DeepLab 及其继任者 [5, 6] 利用稀释卷积滤波器来增加接收场,而 Unet 添加跳过连接以直接连接不同级别的语义特征,并被证明在具有不规则和粗糙边缘的图像中更有效,例如医学 图片。

3. 方法

3.1 问题重述

给定 N 次 LiDAR 扫描的训练数据集 f(Pi; Li)ji = 1…Ng, Pi ∈ Rni×4 是包含 ni 个 LiDAR 点的第 i 个点集。 Pi的每一行由代表一个LiDAR点p的四个特征组成,即(x,y,z,reflection)。 (x, y, z) 是该点相对于扫描仪的笛卡尔坐标。 反射是返回激光束的强度。 Li ∈ Zni 包含 Pi 中每个点 pj 的对象标签。

我们的目标是学习一个由 θ 参数化的分割模型 f(·; θ),以使预测 f(Pi) 和 Li 之间的差异最小化。

3.2. 鸟瞰图分区

虽然点云扫描由对周围 3D 环境的分散观察组成,但凭经验,可以将其表示为场景的自上而下快照,并且信息损失最小。 [7] 提出将这种自上而下的正交投影直接输入到 2D 检测网络中,以检测 3D 点云中的对象。 它后来被用于点云分割[41]。 通过将 2D 自上而下的图像作为输入,网络输出具有相同维度形状的张量,其中每个空间位置编码沿该位置 z 轴的每个体素的类预测。 这种优雅的方法通过利用多年来对 2D CNN 的研究来加速分割过程。 它还避免了昂贵的 3D 分割和 3D 图操作。

BEV 的最初动机是用自上而下的图像来表示场景,以加速下游特定任务的 CNN。 基于多年设计 CNN 架构的经验,研究人员选择 BEV 表示来与自然图像的外观非常相似,以最大限度地利用为自然图像设计的下游 CNN。 因此,初始 BEV 表示创建了点云的自上而下的投影。 最近,初始 BEV 的变体尝试用丰富的不同高度 [38]、反射 [28] 甚至学习表示 [16] 对 BEV 中的每个像素进行编码。 然而,有一点没有改变:BEV 方法使用笛卡尔网格划分,如图 3(a) 所示。
网格是基本的图像表示,但它可能不是 BEV 的最佳表示。 BEV 是性能和精度之间的折衷方案。 通过观察 BEV 图像,我们立即注意到密集集中在中间网格单元和外围网格单元中的点完全是空的。 不均匀的划分不仅浪费计算能力,而且限制了中心网格单元的特征表示性。 此外,具有不同标签的点可能会分配给单个单元格。 次要点的预测将被输出中的大多数抑制,因为最终预测是在体素级别的。

3.3. Polar 鸟瞰图

我们如何解决这种不平衡? 基于 LiDAR 扫描自上而下视图中呈现的环状结构,我们展示了我们的 Polar 分区来替代图 3 中的笛卡尔分区。
我们不是在笛卡尔坐标系中量化点,而是首先以传感器的位置为原点计算每个点在 XY 平面上的方位角和半径。
然后,我们根据量化的方位角和半径将点分配给网格单元。
我们发现极地 BEV 的好处是双重的。 首先,它更均匀地分配了积分。 为了验证这一说法,我们计算了 SemanticKITTI 数据集 [1] 的验证拆分统计数据。 如图 4 所示,当单元靠近传感器时,每个极坐标网格单元的点数远少于笛卡尔 BEV 中的点。 这表明密集占据的网格的表示更精细。 在相同数量的网格单元下,传统 BEV 网格单元平均有 0:7 ± 3:2 点,而极地 BEV 网格单元平均有 0:7 ± 1:4 点。 标准差之间的差异表明,总体而言,这些点在极地 BEV 网格中分布更均匀。

极地 BEV 的第二个好处是更平衡的点分布减轻了预测器的负担。
由于我们将 2D 网络输出重塑为体素预测以进行点预测,因此不可避免地,一些具有不同 groundtruth 标签的点将被分配给相同的体素。 无论如何,其中一些都会被错误分类。 对于笛卡尔 BEV,平均而言,每个网格单元中 98.75% 的点共享相同的标签。 而这一数字在极地 BEV 中跃升至 99.3%。 这表明极地 BEV 中的点由于空间表示而较少受到错误分类。 考虑到小物体更有可能被体素中的多数标签所淹没,这 0.6% 的差异可能会对最终的 mIoU 产生更深远的影响。 为了进一步研究 mIoU 上限,我们将每个点的预测设置为其分配的体素的多数标签。 事实证明,笛卡尔 BEV 的 mIoU 在健全性检查中达到 97.3%。 极地BEV达到98.5%。 极地 BEV 的较高上限可能会提高下游模型的性能。

3.4. 学习极地网格而不是任意手工制作每个网格的特征,我们使用固定长度表示捕获每个网格中点的分布。 它是由一个可学习的简化 PointNet [22] h 和一个最大池化生成的。
该网络仅包含全连接层、批标准化和 ReLu 层。 i中的特征; 扫描中的第 j 个网格单元为:pic

其中 w 和 l 是量化大小。 px 和 py 是地图中点 p 的位置。 请注意,位置和量化大小可以是极坐标或笛卡尔坐标。 我们不量化沿 z 轴的输入点云。 与 [16] 类似,我们学习的表示表示网格的整个垂直列。
如果在极坐标系中学习表示,则特征矩阵的两侧将沿物理空间中的方位轴连接,如图 2 所示。
我们开发了一种离散卷积,我们称之为环卷积。 假设矩阵连接在半径轴的两端,环形卷积核将对矩阵进行卷积。 同时,位于对面的梯度可以通过这个环形卷积核传播回对面。 通过用 2D 网络中的环形卷积代替普通卷积,网络将能够端到端处理极坐标网格,而不会忽略其连通性。 这为模型提供了扩展的感受野。 由于它是一个 2D 神经网络,最终的预测也将是一个极坐标网格,其特征维度等于量化高度通道和类数的乘积。 然后,我们可以将预测重塑为 4D 矩阵,以得出基于体素的分割损失。
读者可能会注意到,如果将卷积替换为环形卷积,大多数 CNN 在技术上都能够处理极坐标网格。 我们将具有环形卷积的网络称为环形卷积神经网络,该网络经过训练可以处理极坐标网格。

实验

我们将在本节中介绍我们的实验设置、结果和消融研究。

体素化:

在分析了 SemanticKITTI、A2D2 和 Paris-Lille-3D 训练分割中点的空间分布后,我们分别将 Cartesian BEV 网格空间固定为 [x : ±50m; y:±50m; z : -3 ∼ 1:5m], [x : ±50m; y:±50m; z:-3∼9m]和[x:±15m; y:±15m; z:-3∼12m]和分别[距离:3∼50m; z : -3 ∼ 1:5m], [距离 : 0 ∼ 50m; z:-3∼9m]和[距离:0∼15m; z : -3 ∼ 12m] 对于我们的polar BEV,平均每次扫描包含超过 99% 的点。 超出此范围的点将分配给最近的 BEV 网格单元。 此外,我们将各自的网格大小设置为 [480; 360; 32],[320; 320; 32]和[320; 320; 32]。

你可能感兴趣的:(毕业设计三维点云,机器学习,深度学习,lstm)