0
点赞
收藏
分享

微信扫一扫

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络


文章目录

  • ​​Cylindrical and Asymmetrical 3D Convolution Networks for LiDAR Segmentation​​
  • ​​做了什么​​
  • ​​Cylinder3D​​
  • ​​整体框架及其组件​​
  • ​​圆柱体划分( Cylindrical Partition)​​
  • ​​不对称 3D卷积网络(Asym-CNN)​​
  • ​​基于维度分解的上下文建模(DDCM)​​
  • ​​逐点细化模块(PR)​​
  • ​​目标函数​​
  • ​​实验结果​​

Cylindrical and Asymmetrical 3D Convolution Networks for LiDAR Segmentation

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_3d

​​https://arxiv.org/abs/2011.10033​​

做了什么

对于室外驾驶场景中大规模LiDAR点云分割,常用的方法是将点云投影到二维空间,再通过2D卷积对其进行处理。这样做虽然有不错的表现,但它丢弃了点云的三维拓扑和几何关系信息。一种减少这种信息丢失的方法是对点云使用立方体划分的体素化再通过3D卷积对其进行处理,但这种方法得到的改善相当有限,因为室外点云还具有稀疏性和密度不均匀性。这篇论文提出了Cylinder3D:

  • 针对点云的稀疏性和密度不均匀性,对点云进行圆柱体划分的体素化
  • 使用不对称的3D卷积网络来生成体素级输出
  • 引入逐点细化模块,减少了因体素化带来的标签干扰

Cylinder3D在SemanticKITTI和nuScenes点云分割数据集上的表现达到当时的第一,并且能很好地推广到LiDAR全景分割和三维检测的任务中。

Cylinder3D

整体框架及其组件

Cylinder3D的整体框架如图:

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_深度学习_02

有四个主要组件:

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_点云_03

包括不对称残差模块(A)、不对称下样本块(AD)、不对称上采样模块(AU)和基于维度分解的上下文建模(DDCM)。

LiDAR点云首先输入MLP,得到点特征。然后根据柱面划分( Cylindrical Partition)对点特征进行重新分配得到圆柱特性(Cylindrical Features)。最后对圆柱特征使用非对称的3D卷积网络(Asymmetrical 3D Convolution Network,Asym-CNN)和基于维度分解的上下文建模(DDCM)来生成体素输出,并引入一个逐点细化模块(Point-wise Refinement Module,PR)来细化这些输出。

圆柱体划分( Cylindrical Partition)

圆柱体划分的流程如图:

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_卷积网络_04


图片来源:https://arxiv.org/pdf/2109.05441.pdf

首先,将点从笛卡尔坐标系转换到圆柱坐标系。这个步骤将点转换为,这需要计算半径(点在x-y平面上投影与原点的距离)和方位角(自轴到轴的角度)。进而在三个维度上执行圆柱体划分。
在此基础上,对MLP得到的逐点特征根据对应坐标进行重新分配,然后对各个单元使用max-pooling得到圆柱体特征。

经过以上步骤,从0度展开圆柱体即可得到三维圆柱体表示,其中表示特征维数,表示半径、方位角和高度。后续的非对称3D卷积网络将在此表示上执行。

远离原点的区域的点更稀疏。而在圆柱坐标中,区域越远,单元格越大。这使得圆柱体划分比立方体划分得到的点分布更均匀:

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_3d_15

下图显示了两种划分方法随着距离增加非空单元格的比例。可以看到,圆柱体划分相比于立方体划分非空比例更高,且随着距离增加越明显:

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_点云_16

此外,不同于将点投影到二维视图的方法,圆柱体划分一定程度上保持了点云的三维拓扑和几何关系信息。

不对称 3D卷积网络(Asym-CNN)

不对称残差块(Asymmetrical Residual Block)

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_深度学习_17

受​​ACNet​​的启发,Cylinder3D使用了不对称3D卷积构造残差块。以Car 和Motorcycle为例,下图展示了作用于圆柱体素的不对称残差块中的3D卷积:

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_网络_18

不对称的残差块很好地匹配目标(汽车、卡车、公共汽车、摩托车等立方体物体)的点分布,也节省了计算量和内存开销。

Cylinder3D用不对称残差块设计下采样块和上采样块:

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_点云_19

并将多个采样块和下采样块叠加,构建三维卷积网络:

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_深度学习_20

基于维度分解的上下文建模(DDCM)

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_点云_21

DDCM使用三个秩为1的低秩卷积核提取特征,然后聚合在一起,最终得到的综合特征。

逐点细化模块(PR)

体素化方法(包括基于立方体划分和基于圆柱体划分的方法)为每个单元预测一个标签,这虽然有效地探索大范围点云,但不可避免地将不同类别的点被划分为同一个单元,从而导致信息丢失。

下图统计了不同标记编码方法的效果:

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_点云_23

其中多数编码(majority encoding)表示使用单元内点的大多数类别作为单元标签,少数编码(minority encoding)表示使用少数类别作为单元标签。理想情况下,点云在划分之后各个点的标签应不变,即与原始标签点的mIoU应为100%。但可以观察到,多数编码和少数编码都无法达到100%的mIoU。

所以,Cylinder3D引入了逐点细化(point-wise refinement)模块来缓解编码带来的标签干扰。

首先根据逆点-体素映射表将圆柱体素特征投影回各个点(同一体素单元内的点将被分配到相同的特征)。然后,将三维卷积网络前后的点特征融合在一起并输入逐点细化模块以细化输出。

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_网络_24

目标函数

最终目标函数包括逐体素损失和逐点损失

为加权交叉熵损失weighted cross-entropy loss 加 lovasz(洛瓦兹)-softmax。而只有加权交叉熵损失。

对于训练后的推断,使用的是逐点细化模块的输出。

实验结果

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_网络_30

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_3d_31


【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_网络_32

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_深度学习_33

【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_3d_34


【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络_深度学习_35


举报

相关推荐

3D,点云拼接

3D,点云分割,不要割个寂寞

0 条评论