3D Object Detection From Point Cloud with Part-Aware And Part-Aggregation Network

说明:

3D目标检测道路上的一个初学者,希望记录下学习的每一个过程,文章仅是自己对学习内容的总结。

获取原文链接

摘要

本文将之前的工作--PointRCNN扩展到一个新颖而强大的基于点云的3D目标检测框架部分感知(part-aware)和聚合(aggregation)神经网络(Part-A2 Net)。
整个框架由部件感知和部件聚合阶段组成。
首先,部件感知阶段首次利用源自3D地面实况盒子的免费部件监督,以同时预测高质量的3D提案和准确的物体内部件位置。同一提案中预测的目标内部件的位置由我们新设计的RoI感知点云池模块组成,从而产生有效的表示以编码每个3D提案的几何特定特征。
其次,部件几何阶段学习通过探索合并的物体内部件的位置的空间关系来重新评分box并优化box的位置。
数据集:KITTI

引言

点云的3D目标检测面临巨大的挑战:
  • irregular data format

  • large search space of 6 Degrees-of-Freedom(DOF)

一些one-stage目标检测器将3D空间划分为常规的3D体素,并应用3D CNN或3D稀疏卷积来提取3D特征,最后压缩为鸟瞰图以进行3D目标检测。
这些作品没有充分利用3D框注释中的所有可用信息来提高3D检测的性能。
本文提出的两阶段框架直接在3D点云上运行,并通过从训练数据中充分探索信息丰富的3D框注释来实现最先进的3D检测性能。
在这里插入图片描述
与2D图像中的物体检测不同,自动驾驶场景中的3D物体自然而然的被带注释的3D边界框很好地隔开,这意味着带3D框注释的训练数据自动提供免费的语义掩码,甚至是3D真实地面边界框中每个前景点的相对位置(如Fig1)。
使用真实地面2D边界框将为物体内的每个像素生成不准确且嘈杂的物体内部件位置。
这些3D物体内部件位置意味着3D物体的3D点分布,且信息丰富,免费获得,但从未在3D物体检测中探索过。

Stage-one
网络学习前景点分割并估计所有前景点的物体部件位置(如Fig1),其中分割掩码和地面实况部件位置注释直接从地面真实3D框注释生成。
此外,他还从原始点云生成3D提案,同时进行前景分割和部件估计。
采用了两种策略--Anchor-based 和Anchor-free用于3D提案生成以处理不同的场景。
Anchor-free:相对轻量级且内存效率更高,通过分割前景点并同时从预测的前景点生成3D提案,在自下而上的方案中直接生成3D边界框。
Anchor-based:以更多的内存和计算成本实现更高的召回率。从下采样的鸟瞰图生成3D提案,并在每个空间位置使用预定义的3D anchor boxes。

Stage-two
3D提案中的信息需要通过某些赤化操作进行汇总,以进行下面box重新评分和位置细化。
PointRCNN中的点云池化策略会导致不确定的表示,因为对不同的提案最终可能会池化为同一组点,从而失去对提案的几何信息进行编码的能力。
为此,提出了一种新颖的ROI感知点云池化操作,将来自非空体素和空体素的所有信息都保留在提案中,以消除先前点云池化策略的歧义。

框架

在这里插入图片描述
3D物体检测的ground -truth boxes不仅由于3D物体在3D场景中自然分离而自动提供精确的分割掩码,而且还暗示了ground-truth boxes内每个前景3D点的相对位置。
这是因为同一类的前景物体通常具有相似的3D形状和点分布。
本文倾向于使用免费的3D物体内部件位置标签和分割标签作为额外的监督,以便在第一阶段学习更好的3D特征。

1.Part-Aware 3D Proposal Generation
部件感知网络,旨在通过学习估计前景点的属性物体部件位置从点云中提取判别特征,因为这些部件位置通过指示3D物体表面点的相对位置来隐式编码3D物体的形状。
此外还生成3D提案。

(1)Point-wise Feature Learning via Sparse Convolution
为了分割前景点并估计其在物体内部件的位置,首先需要学习用于描述原始点云的判别点特种证。
采用encoder-decoder network进行学习更有效。
具体来说,将3D空间体素化为规则体素,并通过堆叠稀疏卷积和稀疏反卷积来提取每个非空体素的特征,其中,每个体素的初始特征简单地计算为LiDAR坐标系中每个提速内点坐标的平均值。
(2)Estimation of Foreground Points and Intra-Object
分割掩码帮助网络区分前景点和背景点,而物体内部件位置为神经网络识别和检测3D物体提供了丰富的信息。
将每个前景点的物体内部件位置公式化为其在所属的3D ground-truth boxes中的相对位置。(如Fig4)
在这里插入图片描述
在encoder-decoder主干网的输出特征后面附加两个分支,用于分割前景点并预测其对象内部件的位置。两个分支都利用sigmoid函数作为生成输出的最后一个非线性函数。
前景点的分割得分表示预测的物体内部件位置的置信度,因为物体内部件位置仅在训练阶段在前景点上定义和学习。
由于在大型户外场景中,前景点的数量一般比背景点的数量小得多,因此采用focal loss来计算分割损失以处理类不平衡问题。

(3)3D Proposal Generation From Point Cloud
为了聚合预测的物体内部件的位置和学习的逐点3D特征,以提高第二阶段3D目标检测的性能,需要生成3D提案以对属于同一个物体的前景点进行分组。
Anchor-free:
在稀疏卷积主干的解码器上附加了一个额外的分支,以从预测为前景的每个点生成3D提案。
但是,如果算法直接从每个前景点估计物体的中心位置,则回归目标将在很大的范围内变化,例如:对于目标拐角处的前景点,其与物体中心的相对偏移量远大于物体侧面前景点的偏移量。
为了解决回归目标大变化范围的问题,提出了基于bin的中心回归损失。
在这里插入图片描述

将每个前景点的周围鸟瞰区域分成沿X轴和Y轴的一系列离散bin,方法是将每个轴的搜索范围S划分成长度均匀的bin,对X和Y进行具有交叉熵损失的基于bin的分类。为了在分配到每个X-Ybin之后优化小的定位,还会估计一个小残差。
因此,X轴和Y轴的总体回归损失由箱体分类损失和分类箱内的残差回归损失组成。
由于提出的自下而上的提案生成策略是Anchor-free的,因此他没有box定位的初始值。因此,直接将原始2π划分成具有bin大小w的离散bins,并计算bin分类目标。
此方法不仅充分探索了点云中的3D信息,用于3D提案生成,而且还通过将3D提案限制为仅由前景点生成,避免了在3D空间中使用大量预定义3D锚框。
Anchor-based:
基于稀疏卷积的编码器采用形状为MNH的体素化点云,并产生8倍X轴和Y轴的下采样2D鸟瞰图特征,其中H/16,16表示特征体积沿Z轴进行16倍下采样,D是每个编码特征体素的特征维数,“*D”表示将不同高度的每个x-y鸟瞰位置的特征连接起来,以获得一维特征向量。
然后,将一个区域提案网络(RPN)头附加到上面的鸟瞰图中,用于使用预定义的3D锚点和3D提案。
总结:
Anchor-free通常是轻量级且内存效率高,对于多分类任务效率更明显,Anchor-based通过使用每个类的预定义锚点覆盖整个鸟瞰图特征图,实现了略高的召回率,但具有更多的参数并需要更多的GPU内存。

2.ROI-aware Point Cloud Feature Pooling
目标是通过聚合部件信息和学习的同一位置内所有点的逐点特征来进行box评分和提案细化
分为两部分内容:首先介绍规范变换,以减少不同3D提案的旋转和位置变化的影响,然后提出ROI感知点云特征池化模块,以消除先前点云池化操作的不确定性,并对3D提案的位置特征特征进行编码以进行box细化。
将属于每个方案的集合点转换为相应三维方案的各个规范坐标系。一个3D提案的标准坐标系表示(1)原点位于长方体提案的中心;(2) 局部X0和Y 0轴大致平行于地平面,X0指向提案头部方向,另一Y 0轴垂直于X0;(3) Z0轴与全局坐标系的轴保持相同。
虽然这种转换大大消除了不同3D提案的许多旋转和位置变化,并提高了特征学习的效率,但可能会导致遮挡信息的丢失。
在这里插入图片描述
如Fig6,相同的池化点出现不同的提案,会导致歧义。
因此提出ROI感知点云池模块,将每个3D提案均匀划分为具有固定空间形状的规则体素。
其中Lx;Ly;Lz是3D提案的每个维度中的池分辨率的整数超参数(例如,我们的框架中采用了14),与不同的3D提案大小无关。
提出的ROI-aware点云赤化模块使用相同的局部空间编码不同的3D提案,其中每个体素编码3D提案中响应固定网格的特征。这种特定位置的特征池化可以更好地捕捉3D提案的几何图形,并为后续box评分和位置优化提供有效的表示。

3.Stage-two;Part Location Aggregation for Confidence Prediction and 3D Box Refinement
通过考虑预测的物体内部件位置的空间分布和从第一阶段开始的3D长方体中学习到的逐点部件特征,合理的做法是将提案中的所有信息聚合起来,以便对box提案进行评分和细化。
Fusion of Predicted Part Locations and Semantic Part Features
如Fig2,采用所提出的RoI-aware点云池模块来获得每个3D方案的鉴别特征。
这里使用平均池来汇集预测的物体内部件位置F1,以获得提案的每个体素的代表性预测部件位置,而我们使用最大池来汇集语义部件特征F2。
Sparse Convolution for Part Information Aggregation
对于每个3D提案,需要从该提案的所有内部空间位置聚合特征,以实现文件的box评分和细化。
堆叠几个核大小为3的3D稀疏卷积层,以便随着感受野的增加聚合提案的所有部件特征。在稀疏卷积层之间插入了一个核大小为2步长也为2的稀疏最大池化,以将特征体积的采样降低到7,从而节省计算成本和参数。
最后,将其矢量化为一个特征向量(空体素保持为0),并将其馈送到两个分支中,用于box评分和位置优化。
与将合并的三维特征直接矢量化为特征向量的普通方法相比,基于稀疏卷积的部件聚合策略通过从局部到全局特征聚合,可以有效的学习预测部件位置的空间分布。稀疏卷积策略还通过节省大量计算、参数和GPU内存来实现更大的池化。
3D IOU Guided Box Scoring
对于第二阶段的box评分分支,将3D提案与其对应的地面真实box之间的3D IOU标准化,作为提案质量评估的软标签。

4.overall Loss
整个的网络是端到端可训练的,总体损失函数由part-aware损失和part-agregation损失组成。
5.Implementation Details
设计了一个类似于UNet的体系结构,用于在获得的稀疏提速上通过3D稀疏卷积和反卷积学习逐点特征表示。空间分辨率通过步长2的三个稀疏卷积进行8倍下采样,每个稀疏卷积后面跟着几个子流形稀疏卷积(如Fig7),还设计了一个基于稀疏操作的上采样块,用于细化融合特征。
在这里插入图片描述
6.Pros and Cons
优点:(1)提出的方法首次引入了对象内部部件位置的学习,以提高点云三维目标检测的性能,其中,预测的对象内部件位置有效地编码了三维对象的点分布,以利于三维对象检测。(2) 提出的RoI-aware特征池模块消除了先前点云池操作的模糊性,并将稀疏点特征转换为常规体素特征,以编码3D提案的位置特定几何和语义特征,有效地桥接了提案生成网络和提案细化网络,并获得了较高的检测精度。(3) 此外,部件位置的学习过程也可用于其他任务,以学习更具辨别力的点特征,如点云实例分割。提出的RoI-aware池模块还可以灵活地用于将点特征从基于点的网络(如PointNet++)转换为稀疏体素特征,这些特征可以由更高效的稀疏卷积网络处理。
缺点:由于方法旨在实现自主驾驶场景中的高性能三维目标检测,因此方法的某些部分无法很好地应用于室内场景中的三维目标检测。这是因为室内场景中的三维边界框可能相互重叠(例如桌子下的椅子),因此室内场景的三维边界框标注无法提供准确的逐点分割标签。此外,有些类别的方向没有很好地定义(例如圆桌),因此我们无法生成提案的对象内部件位置的准确标签。
然而,提出的无锚方案生成策略在室内场景的3D方案生成方面仍然显示出巨大的潜力,因为室内对象并不总是停留在地面上,并且我们的无锚方案避免在整个3D空间中设置3D锚。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学一点@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值