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,同时保持接近实时吞吐量。
图 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)评价指标上的性能分别高于最新方法.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 个网格单元为:
其中 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]。