实时和高性能的 3D 目标检测对于自动驾驶至关重要。最近表现最好的 3D 目标检测器主要依赖于基于点或基于 3D voxel 的卷积,这两种方法在板载部署中的计算效率都很低。相比之下,基于
pillar
的方法仅使用 2D 卷积,其消耗的计算资源较少,但在检测精度上远远落后于基于voxel
的方法。在本文中,通过研究基于
pillar
和voxel
的检测器之间的主要性能差距,开发了一种实时和高性能的基于pillar
的检测器,称为PillarNet
。PillarNet
由一个用于有效pillar
特征学习的强大编码器网络、一个用于空间语义特征融合的Neck网络和常用的检测头组成。仅使用 2D 卷积PillarNet
可以灵活地选择pillar
大小,并与经典的 2D CNN 主干网络兼容,例如VGGNet
和ResNet
。此外,PillarNet
受益于设计的方向解耦IoU
回归损失以及IoU
感知预测分支。大规模nuScenes
数据集和Waymo
开放数据集的大量实验结果表明,所提出的PillarNet
在有效性和效率方面优于最先进的 3D 检测器。
1、简介
随着使用深度神经网络在点云表示学习方面取得成功,基于 LiDAR
的 3D 目标检测最近取得了显著进展。然而,在大型基准数据集(例如 nuScenes Dataset
和 Waymo Open Dataset
)上表现最好的点云 3D 目标检测器需要大量的计算负载和大量的内存存储。因此,需要开发一种具有实时速度的性能最佳的 3D 检测器,用于自动驾驶汽车的车载部署。
现有的点云 3D 目标检测器主要使用基于 Grid
的点云表示,可以大致分为两类,即基于 3D Voxel
的方法和基于 2D pillar
的方法。这两组都采用经典的“编码器-Necj-Head”检测架构。基于Voxel
的方法通常将输入点云划分为规则的 3D Voxel
网格。然后使用具有稀疏 3D 卷积的编码器来学习跨多个级别的几何表示。在编码器之后,带有标准 2D CNN
的Neck
模块在馈送到检测头之前融合了多尺度特征。相比之下,基于 pillar
的方法将 3D 点云投影到 BEV 平面上的 2D 伪图像,然后直接在基于 2D CNN
的特征金字塔网络(FPN
)上构建Neck
网络以融合多尺度特征。
对于基于Voxel
的方法,由稀疏 3D CNN
提供支持的有效Voxel
特征学习提供了良好的检测性能。然而,由于编码器内部的 3D 稀疏卷积,很难在 BEV 空间上聚合具有不同分辨率的多尺度特征。对于基于 pillar
的方法,与基于Voxel
的对应物相比,用于 pillar
特征学习的光编码器产生的性能不令人满意。此外,小尺寸的伪图像和大的初始 pillar
进一步限制了检测性能。这是因为 pillar
越细,伪像越大,性能越好,但计算量越大。有趣的是,基于Voxel
和 pillar
的方法都使用 BEV 空间上的聚合多尺度特征执行 3D 检测。
作者观察到以前基于 pillar
的方法没有强大的 pillar
特征编码,这是性能不满意的主要原因。此外,逐步下采样 pillar
尺度可以帮助解耦输出特征图大小和初始伪图像投影尺度。因此,设计了一种实时、高性能的基于 pillar
的 3D 检测方法,称为 PillarNet
,它由用于分层深度 pillar
特征提取的编码器、用于多尺度特征融合的Neck
模块以及常用的基于中心的检测头。
在 PillarNet
中,强大的编码器网络涉及 5 个阶段。阶段 1 到 4 遵循与传统 2D 检测网络(如 VGG
和 ResNet
)相同的设置,但用其稀疏 CNN
代替 2D
卷积以节省资源。具有标准 2D
卷积的第 5 阶段拥有更大的感受野,并将语义特征提供给以下Neck
网络。Neck
网络通过堆叠卷积层在来自编码器阶段 5 的进一步丰富的高级语义特征和来自编码器阶段 4 的低级空间特征之间交换足够的信息。用于调整先前基于 pillar
的硬平衡 pillar
大小方法,PillarNet
通过巧妙地分离所选 pillar
尺度的相应编码器阶段提供了一种有效的解决方案。例如,为了适应 8 倍 pillar
大小的输入(nuScenes 数据集中为 0.075 * 8m),可以简单地移除 1×、2× 和 4× 下采样编码器阶段。
如图 1 所示,具有不同配置的 PillarNet
,即 PillarNet-vgg/18/34
,仅使用 2D
卷积就为基于点云的 3D
目标检测提供了可扩展性和灵活性。PillarNet
显著推进了基于 pillar
的 3D
检测器,并为进一步研究点云目标检测提供了新的思路。尽管它很简单,但 PillarNet
在两个大型自动驾驶基准测试中实现了最先进的性能并实时运行。
2、相关工作
2.1、Point Cloud 3D Object Detection
1、Point-based 3D object detectors
仅使用点云的 3D 目标检测主要可以概括为两类:基于 Point
的方法和基于 Grid
的方法。
基于 Point
的 3D 目标检测器。由开创性的 PointNet
提供支持,基于 Point
的方法直接处理不规则点云并预测 3D 边界框。
PointRCNN
直接从原始点云提出基于 Point
的 proposal
生成范例,然后通过设计一个 RoI
池化操作来优化每个 proposal
。
STD
将每个 proposal
中的点特征转换为紧凑的Voxel
表示,用于 RoI
特征提取。
3DSSD
作为单阶段 3D 目标检测器,引入 F-FPS
作为现有 D-FPS
的补充,具有集合抽象操作,有利于回归和分类。
这些基于 Point
的方法自然地保留了准确的点位置,并通过基于半径的局部特征聚合实现了灵活的感受野。然而,这些方法将 90% 的运行时间用于组织不规则的点数据而不是提取特征,并且不适合处理大规模点云。
2、Grid-based 3D object detectors
基于Grid
的 3D 目标检测器。大多数现有方法将稀疏和不规则的点云离散成规则的网格,包括 3D Voxel
和 2D pillar
,然后利用 2D/3D CNN 执行 3D 目标检测。开创性的 VoxelNet
将点云划分为 3D Voxel
,并使用 3D 卷积对场景特征进行编码。为了解决通常用于大型室外空间的空Voxel
,SECOND
引入了 3D 稀疏卷积来加速 VoxelNet
并提高检测精度。到目前为止,基于 3D Voxel
的方法主导着大多数 3D 检测基准。长期以来,即使使用稀疏的 3D 卷积,也很难在 3D 体素的精细分辨率和相关资源成本之间取得平衡。
PointPillars
在地平面上使用 2D Voxel
化和基于 PointNet
的每柱特征提取器。它可以利用二维卷积以有限的成本部署在嵌入式系统上。MVF 在将原始点投影到 2D 伪图像之前利用多视图特征来增强逐点信息。HVNet 在逐点级别融合不同尺度的pillar
特征,以实现良好的准确度和高推理速度。HVPR
巧妙地保持了基于pillar
的检测的效率,同时隐含地利用了基于Voxel
的特征学习机制以获得更好的性能。然而,当前基于 Pillar
的进步集中在复杂的 Pillar 特征投影或多尺度聚合策略上,以缩小相对于基于Voxel
的同类产品的巨大性能差距。相比之下,借助强大的骨干网络来解决上述问题并提高 3D 检测性能。
2.2、Multi-sensor based 3D Object Detection
大多数方法期望来自多个传感器的互补信息,例如相机图像和激光雷达,以实现高性能的 3D 对象检测。MV3D
设计 3D 对象锚点,并从 BEV 表示中生成建议,并使用来自 LiDAR
和相机的特征对其进行细化。相反,AVOD
在提案生成阶段融合了这些特征,并提供了更好的检测结果。ContFuse
学习将图像特征与点云特征融合到 BEV
空间中。MMF
通过代理任务(包括 RGB 图像的深度补全和点云的地面估计)努力实现 LiDAR-Camera
特征融合。3D-CVF
解决了 BEV
域中跨视图空间特征融合的多传感器配准问题。几乎所有这些多模态框架都依赖中间 BEV 表示来执行 3D 对象检测。我们的方法在 BEV 空间上提取点云特征,并有望无缝集成到现有的多模态框架中以实现高级性能。