点云3D目标检测的性能取决于有效地表示原始点、基于网格的Voxel或Pillar。最近的两阶段3D检测器通常采用point-voxel-based R-CNN范式,即,第一阶段求助于基于三维Voxel的主干,用于基于鸟瞰图(BEV)表示的3D proposal生成,第二阶段通过中间点表示对其进行细化。它们的主要机制涉及利用中间关键点从转换的BEV表示中恢复实质性3D结构上下文。
然而,熟练的point-voxel特征交互使整个检测管道更加复杂和计算密集。在本文中采取了不同的观点——基于Pillar的BEV表示具有足够的能力来保存3D结构。鉴于基于BEV的感知的最新进展,作者设计了一种概念上简单但有效的两阶段3D检测架构,名为Pillar R-CNN。在密集BEV特征图的基础上,Pillar R-CNN可以轻松地引入特征金字塔架构,以生成各种尺度的3D proposal,并采用简单的2D R-CNN风格检测头进行框的细化。
Pillar R-CNN在大型Waymo Open数据集上与最先进的3D检测器相比表现优异,同时额外成本很低。应该强调的是,由于高效优雅的Pillar R-CNN架构,现在可以对涉及自动驾驶的应用进行BEV感知的进一步探索。
1、简介
点云3D目标检测在机器人和自动驾驶的3D场景理解中起着至关重要的作用。然而,与基于图像的2D检测相比,基于LiDAR的3D检测仍然难以应对点云的稀疏和不规则性质。在本文中提出了Pillar R-CNN,这是一种基于Pillar的点云表示的Faster R-CNN类架构,可以从2D检测领域的进步中获益。
基于LiDAR的3D检测的性能取决于点云上的表示学习。深度卷积特征骨干包括基于点的或基于网格的表示。当前最先进的方法主要应用单阶段检测器来产生特定于类的proposal,并需要抽象的逐点特征来进行进一步的框细化。
通常,PV-RCNN通过从原始点引入精确定位的关键点来扩展SECOND,以保存重要的3D结构信息。引入Voxel set集抽象(VSA),以多尺度三维体素特征上下文丰富每个关键点。通过RoI网格池化从关键点进一步提取每个3D RoI特征,以进行长方体细化。尽管检测精度不错,但关键点的无序存储导致了昂贵的计算开销。
Voxel R-CNN认为,粗糙的3D体素也可以提供足够的检测精度。体素RoI池化从3D稀疏特征体积中提取3D RoI特征。3D体素的规则性有助于搜索附近的体素特征,而其粗粒度牺牲了检测精度,特别是对于小目标。
此外,将上采样的3D体素点作为过渡关键点,以缓解体素粒度过粗的问题。此外,最近的工作提出了RoI网格池化模块的变体,以处理中间关键点的稀疏性和点密度变化问题。
简而言之,高性能的两阶段3D检测框架在很大程度上依赖于基于3D体素的主干来生成基于BEV的3D proposal,然后恢复3D结构上下文,以基于点级特征进行进一步的框细化。然而,基于点体素的检测范式及其相关的基于点的集合操作使整个3D检测流水线复杂化,并需要额外的努力来提高效率。
基于BEV的感知的最新进展证明了BEV表示在高性能3D目标检测中的潜力。Pillar作为点云上BEV表示的一种典型表现形式,可以提供足够的3D结构信息,并可以容易地集成成熟的2D检测领域的进展。
在这项工作中,为了实现这一目标仅采用基于Pillar 的点云表示,并试图提高其准确性。作者首先认为,具有适当粒度的Pillar也可以为长方体细化提供重要的3D结构。因此,提出了一个令人惊讶的灵活和有效的两阶段框架,名为Pillar R-CNN,该框架将FPN与区域建议网络(RPN)集成起来,用于在不同尺度下生成特定类别的3D proposal,然后裁剪2D密集池化特征图,以在单个可管理尺度下进行进一步的方框重新定义。
具体而言,使用基于Pillar的特征主干以及稀疏和密集卷积的混合来计算一次前向通过中的分层特征图。为了抵消小目标上的精度降低,作者设计了一个横向连接层,通过加密稀疏Pillar来构建基于Pillar的金字塔主干,如FPN。然而,这太困难和复杂,无法用于基于三维体素的特征主干。
表3显示,将FPN结合到RPN中会产生更好的针对小目标的类特定Proposal。此外,遵循RoIAlign裁剪密集池化图以细化3D Proposals。在这里,池化图是由另一个横向连接层以可管理的分辨率在要素层次结构上构建的。此外,单尺度池化是类不可知的,并且对目标尺度变化具有鲁棒性。这与Faster R-CNN上常用的FPN略有不同。
如表2所示,尽管在4倍下采样的2D特征图(即0.4m的Pillar尺寸)上细化了3D Proposals,但所提出的Pillar R-CNN在大规模Waymo开放数据集上实现了与先前最先进的两阶段方法相当的检测精度。
这项工作的主要贡献源于Pillar R-CNN在概念上简单而有效的设计,它展示了点云上基于Pillar的BEV表示的强大建模能力。Pillar R-CNN的令人印象深刻的实验结果也证实了作者的观点:两阶段方法中的中间点级表示对于高性能3D目标检测并不重要,具有适当Pillar粒度的BEV表示也可以为该任务提供足够的3D结构。
在没有花里胡哨技巧的情况下,Pillar R-CNN通过基于Pillar的BEV表示,弥合了基于LiDAR的3D检测和基于图像的2D检测之间的领域差距。尽管仅用Pillar R-CNN在点云上演示了BEV表示,但作者认为所呈现的结果同样适用于基于BEV的检测器。
2、相关方法
2.1、两阶段2D图像目标检测
代表性的两阶段2D目标检测方法采用概念上简单但有效的范例。
- 第一阶段称为区域建议网络(RPN),通过以类无关的方式在所有位置上滑动窗口,生成感兴趣区域(RoI);
- 第二阶段通过RoIPool或RoIAlign裁剪RoI特征,然后进行Proposals特定分类和边界框回归。
特征金字塔网络作为一个基本的组件,可以构建金字塔多层特征图,在所有尺度上保持高级语义特征。本文提出的3D检测方法与FPN和RoI池化具有相同的思想,但利用特定领域的技术来解决2D BEV空间上稀疏和不规则点云的问题。
2.2、单阶段点云3D目标检测
单阶段3D检测方法主要可分为3个流派,即基于点的、基于体素的和基于Pillar的。基于点的单阶段检测器直接从原始点云学习逐点特征,其中集合抽象通过设置不同的搜索半径来实现灵活的感受野。
3DSSD引入了用于点下采样的F-FPS,并首先仅使用编码器网络执行3D检测。基于点的方法直接消耗点云,然而,学习能力不足和无序存储成为主要瓶颈。基于体素的单阶段检测器通常首先将点云栅格化为三维体素网格,以通过三维密集或稀疏卷积进行处理,用于几何特征学习。这些基于体素的方法可以提供优异的检测性能,同时计算/内存开销随着所使用的体素化分辨率呈立方体增长。
基于Pillar的单阶段检测器进一步将3D体素简化为2D Pillar,由2D卷积处理,为嵌入式部署铺平了道路。PointPillars首先将输入点云编码为规则的Pillar,并利用简单的自顶向下网络进行最终的3D检测。最新的PillarNet深入分析了基于体素和基于Pillar的方法在架构组件方面的巨大性能差距,并提出了“编码器Neck”管道,以实现更好的精度/速度权衡。此外,深入研究了基于Pillar的点云表示,以提高PillarNet上的检测精度。
2.3、两阶段点云3D目标检测
两阶段3D检测方法通常建立在生成特定于类的3D Proposals的单阶段方法之上,但侧重于基于代价高昂的点集抽象操作的特定于Proposals的特征提取,以进行框重新细化。
PointRCNN首先应用PointNet++作为自底向上3D Proposals生成的特征主干,并提出了一种新的点云区域池化,用于3D长方体细化。类似地,STD从原始点云生成基于点的Proposals,但提出了一个新的PointsPool层,以引入voxel表示,用于紧凑的RoI特征提取。Fast Point R-CNN引入了基于体素的主干,用于生成高质量的3D Proposals,并应用了基于注意力的PointNet池化模块进行框细化。PV-RCNN首先集成了基于点和体素的特征学习方案,其中,作为中间关键点的一小组原始点用多尺度3D体素特征来丰富,并且通过RoI网格池化提取3D RoI特征以进行框的细化。
Voxel R-CNN将精确的关键点替换为具有更好记忆位置的粗体素中心点,以便于搜索附近的体素特征。利用类似UNet的主干来生成3D Proposals和目标内部分位置预测,然后设计一种新颖的RoI感知点云池化模块,用于精确框细化。
最近的Pyramid R-CNN和PDV设计了RoI网格池化的变体,以解决点云的稀疏性和不均匀分布,从而提高检测精度。性能最好的基于点体素的3D检测器依赖于基于体素的主干来生成基于BEV的3D Proposals,但为了进一步细化,需要使用中间点级表示。
本文不同的是,作者将点云转换为规则的Pillars,并仅在BEV表示上进行3D Proposals生成和长方体细化,而不使用中间关键点。
3、准备工作
3.1、回顾
当前最先进的两阶段3D目标检测方法如图1所示,通常使用基于点体素的特征学习方案来生成基于BEV的3D Proposals,然后在3D空间中进行点级框细化。在这两个阶段中,有效的关键点表示都起着主要作用。
开创性的PV-RCNN通过最远点采样(FPS)对原始点云进行子采样,作为中间关键点,并采用基于点的集合操作进行点体素交互。尽管PV-RCNN具有令人印象深刻的检测精度,但其点采样和邻居搜索过程耗时。
Voxel R-CNN认为,粗糙的3D体素而不是原始点的精确定位足以在大目标上进行精确定位。Voxel RCNN将稀疏但规则的三维体视为一组非空体素中心点,并利用加速的PointNet模块在精度和效率之间实现新的平衡。
采用了类似UNet的架构,用于更精细的体素点,并为小目标获得了更多的利润。最新的工作试图解决中间关键点的稀疏性和点密度变化问题,以提高检测精度。
总之,典型的基于点体素的3D检测器将点云转换为规则网格,用于基于BEV的3D Proposals生成,并取决于关键点的粒度,以便进一步细化框。这不可避免地加剧了检测系统的复杂性。
从基于BEV的感知的角度来看,作者希望设计一个紧凑的R-CNN Head,在简单的Pillar上,以实现框的细化。通过仔细观察基于三维体素的检测器,作者观察到,它们将三维特征体积转换为密集检测头的BEV表示。仅仅是鸟瞰图(BEV)表示仍然可以提供足够的3D结构信息。
为了确认观点的正确性,作者构建了具有可管理粒度的合理池化特征图,并为每个3D Proposals裁剪该2D密集图,以进行3D RoI细化。此外,令人鼓舞的结果是BEV表示可以携带足够的3D结构信息,而无需通过点级表示来恢复该上下文。
3.2、两阶段2D和3D检测之间的域差距
与2D不同,其中输入图像是2D密集图,点云的固有稀疏性和不规则性使其在方法上偏离了2D检测领域。主要差距可以是两阶段框架中基于3D点/体素的点云表示和过渡关键点。由于这一差距,2D检测的最新进展不能容易地应用于基于LiDAR的3D检测。
例如,作为2D检测中的基本组件,特征金字塔网络(FPN)尚未被当前基于LiDAR的3D检测成功使用。基于Pillar的3D检测的最新进展通过在2D检测到3D检测中引入成熟的主干(如VGGNet和ResNet),部分弥补了这一差距,并取得了成功。
沿着这一研究方向,作者的目标是通过开发一种2D R-CNN型检测器,用于基于激光雷达的3D检测,从而缩小畴隙。所提出的Pillar R-CNN将基本FPN与RPN适当集成,用于小目标检测,并裁剪二维密集池化特征图,如RoIPool或RoIAlign,用于进一步的框细化,而无需使用过渡关键点表示。