首页 > 技术文章 > 阅读笔记--[CVPR2021] Panoptic-PolarNet: Proposal-free LiDAR Point Cloud Panoptic Segmentation

yesman9527 2021-07-13 23:04 原文

Abstract

  • 全景分割的目的是在单一训练体系结构中统一实例分割和语义分割。论文中提出了一个快速和稳健的LiDAR点云全景分割框架(Panoptic-PolarNet)。
  • 文中使用了极坐标鸟瞰图(BEV)表示在单个推理网络中学习语义分割和类无关的实例聚类,这样能够避免城市街道场景中实例之间的遮挡问题。
  • 为了提高网络的可学习性,作者还提出了一种改进的实例扩充技术和一种新的对抗性点云剪枝方法。

Introduction

  • 根据定义,全景分割要求我们为 Thing类中的点同时标识类标签和实例id,并且只为 Stuff 类中的点标识类标签。
  • 2D图像全景分割面临两个主要问题。首先,基于提议的方法在每个单独的对象提议中独立地划分实例。这种方法需要额外的结构修改,以补偿提案中重物碰撞的影响。其次,语义分割和实例分割通常在两个独立的预测头中处理,以便为每个任务定制专用网络的设计。然而,这可能不可避免地引入潜在的冲突或冗余信息,因为这两个任务显然具有共同的特征。在无提议方法中,在实例头中学习的特征与类标签有显著的相关性。这两种情况最终都会导致推理效率低下。
  • 考虑到速度的限制,无提案方法自然似乎是更有利的选择,因为在2D的情况下,它们被证明在计算时间上表现更好。因此,从主干语义预测网络开始,第一个目标是将其与网络集成,用于类无关的实例聚类。
  • Panoptic-PolarNet在离散化的BEV图上同时学习语义和实例特征,因此,我们遵循polarinet的主干网络设计来生成3D语义预测,并在其上使用受panopic-DeepLab启发的轻量级2D实例头。然后通过大多数投票融合来自语义和实例头的预测,以创建最终的全景分割。

Contribution

  • 考虑到LiDAR数据的特殊性质和应用,提出了Panoptic-PolarNet,以构建一个无提议LiDAR全景分割网络,可以有效地在语义分割的基础上对实例进行聚类。
  • 与现有的全景分割网络不同,现有的全景分割网络通常使用两个完全独立的解码模块进行语义和实例分割,并依赖一个注意力模块来连接学习到的信息,Panoptic-PolarNet在它们之间共享解码层,允许在特征提取级别进行早期融合。这种早期融合策略有两个实质性的影响:(1)它减少了网络之间的冗余,从而提高了计算效率;(2)尽管计算量较小,但增加了PQ(Panoptic Quality)度量。
  • 与现有的基于建议的全景分割方法存在类和实例预测重叠的问题相比,提出了一种无建议的设计,并在没有包围框标注的情况下训练实例头,从而避免了类预测的冲突。
  • 介绍了两种新颖的点云数据增强方法,可应用于任何其他激光雷达分割网络。
  • 实验表明,提出的方法优于Semantickitti和Nuscenes数据集的strong baselines,具有较小和近实时延迟。
1
图1 SemanticKITTI Panoptic质量与单帧推断延迟。绿线标志着LIDAR扫描仪的采样率,其旋转在10帧持久性。我们提出的Panoptic-Pararnet在速度和PQ中优于其他基线。

Panoptic-PolarNet

​ Panoptic-Pararnet由以下四个组件组成:(1)将原始点云数据编码为固定尺寸的2D极性BEV表示,(2)共享编码器解码器骨干网,(3)两个独立的语义和实例分割头,(4)一个融合步骤,使上述预测合并到一个最终的Panoptic分段结果中。

2
图2 Panoptic-PolarNet框架。首先将具有K维特征的原始点云数据编码成极坐标BEV图上固定大小的表示。然后,使用单backbone的encoder-decoder网络来生成语义预测、中心热图和偏移回归。最后,通过基于投票的融合合并这些输出,以产生全景分割结果。

Preliminary

  • 给定一组点\(P=\{(x,y,z,r)_n|n \in \{1,2,...,N\}\}\),其中\((x,y,z)\)是相对于LiDAR扫描仪参考系的3D坐标,r是反射强度,和一组类标签\(C_{GT}=\{l_n|n \in \{1,...,N\}\}\)
  • LiDAR点云语义分割任务旨在为\(P\)预测一组唯一的类标签\(C_p\),使之与\(C_{GT}\)的差异最小化。全景分割任务将这个问题扩展到要求属于不同实例的点在一些thing类中具有不同的标签,例如汽车、自行车和人,剩下的类是stuff类,不需要详细的分离,并且在所有点之间共享相同的标签。

Polar BEV encoder

  • 为了处理包含随机大小的点的点云,需要通过投影和量化来创建固定大小的表示。
  • 使用BEV有两个主要原因:首先,BEV提供了计算成本和准确性之间的权衡,使我们能够使用更有效的2D卷积网络来处理数据;其次,由于在城市场景中,物体很少沿着z轴重叠,根据经验,BEV是物体检测的最佳投影。
  • 使用极坐标而不是传统的笛卡尔坐标来表示点,以平衡不同范围内的点分布。极坐标使神经网络更有可能在靠近传感器的位置学习辨别特征,并最小化量化造成的信息损失。
  • 采用了PolarNet的原始极坐标BEV编码器设计。具体地说,首先对一个点云数据\(P \in \Bbb R^{N×K}\)基于其在极坐标BEV图中的位置进行分组为\(P' \in \Bbb R^{(H×W×N^*)×K}\)。其中K是输入特征的维数H和W是BEV地图的网格尺寸,\(N^*\)是每个BEV网格中的点数。
  • 接下来,通过仅包含MLP的PointNet编码此点云。然后,在每个BEV网格处施加max-pooling层以创建固定尺寸表示\(M\in \Bbb R^{H×W×C}\),其中C是特征通道。

Semantic Segmentation

  • 将LIDAR点云数据编码为特征矩阵M后,使用4个编码层和4个解码层的uNet作为backbone网络。
  • 与通常使用两个完全单独的解码模块用于语义和实例分段的其他Panoptic分割网络不同,文中的网络共享它们之间的前三个解码层。
  • 语义头在每个像素\(C_p \in \Bbb Z^{Z×H×W}\)处产生多个预测,在后面再将其重新装入3D体素以沿Z轴以不同高度分离标签。

Panoptic Segmentation

  • 2D图像全景分割中的一个大问题是当碰撞发生时难以有效地分离实例,例如两个人站在一起。基于两个假设,我们假设可以在LiDAR数据中规避这一挑战。首先,物体在三维空间中很少碰撞,其次,城市场景的激光雷达点云中的大多数 thing 类对象在从三维空间投影到XY平面时仍然是可分离的。

  • 遵循Panoptic-DeepLab中的实例头设计来预测每个BEV像素的中心热图和到对象中心的偏移。具有相同最近中心的像素被分组在一起。与其他基于proposal的方法相比,这种自底向上的设计只提供了与类无关的实例分组。这允许我们避免类预测和训练实例头的冲突,而无需边界框注释。

  • 在训练阶段,通过围绕每个实例质心的2D高斯分布对ground-truth中心图进行编码。对于BEV图中的每个像素 p ,其热图为:

    \[H_p = max_i exp(-\frac{(p-c_i)^2}{2\sigma^2}) \]

    其中,\(c_i\)是极坐标BEV中一个实例的质心。

  • 为了合并三维语义分割和2D实例分组预测,提出了如图2所示的融合步骤。首先,在非最大抑制之后,从热图预测中选择前k个中心。接下来,使用语义分割预测来创建前景mask,其中在一个BEV像素处检测到至少一个thing类。然后,前景中的像素根据到k个中心之一的最小距离 \(d(p,c_i)=\lVert p+offset(p)-c_i \rVert_2\) 来将前景中的像素分组在一起。最后根据语义分割概率\(P(v): L_i = argmax \sum_{v \in G_i} P(v)\) 使用多数投票为BEV中的每个组\(G_i\)分配语义分割头部中的thing类预测唯一的实例标签L。

Augmenting Panoptic-PolarNet

Instance augmentation

实例增强旨在增加数据的方差,而不改变实例点的投影属性。将其总结为以下三个步骤:

  • 实例过采样:从整个训练集中随机选择5个实例,并将其粘贴到当前的训练扫描中。每个类被选中的概率与其点分布比的倒数成正比。导入的点保留与其源中相同的相对坐标和反射值。
  • 实例全局增强:这里的目标是找到一个变换来改变实例在XY平面上的位置,而不改变其在传感器上的投影。保留投影的需要将变换缩小到中心的旋转或通过中心的特定视图平面上的反射。将这两个转换应用于每个实例,每个转换有20%的概率。
  • 实例局部增强:对每个实例应用小的独立平移和旋转,作为测量噪声。从正态分布\(N(0,0.25)\)中采样平移\(\Delta x, \Delta y, \Delta z\),从均匀分布\(U(-20/π,+20/π)\)中采样旋转角\(\Delta \theta\)

Point cloud self-adversarial pruning

  • 点云自对抗性修剪的思路是通过网络本身寻找最有影响力的点。这些点可能是噪声点或关键特征点。通过在训练过程中省略这些点,我们强制网络从整个点云中学习更多的一般特征,而不是过度拟合到一些特定的几何模式中。
  • 更具体地说,我们对每批输入数据使用两个前向-后向循环。我们使用梯度来选择第一个前向-后向循环中那些高影响力的点,并将改变的数据馈送到第二个前向-后向循环,以在省略那些点之后更新网络权重。我们将梯度方差视为费希尔信息矩阵的对角线,它表示输入对全景损失的重要性。

Visibility feature

  • 在训练期间,在实例数据增加的同时,在极坐标中有效地计算每个体素的可见性。将可见性特征与极坐标BEV编码器生成的特征表示连接起来,然后在实现中将其馈送到主干网络中。

Experiment

3

推荐阅读