Pillar-Base | 超越SECOND、PointPillar等一系列3D目标检测,PillarNet=Pillar王者

AI人工智能初学者

共 7342字,需浏览 15分钟

 ·

2022-10-09 10:59

实时和高性能的 3D 目标检测对于自动驾驶至关重要。最近表现最好的 3D 目标检测器主要依赖于基于点或基于 3D voxel 的卷积,这两种方法在板载部署中的计算效率都很低。相比之下,基于 pillar 的方法仅使用 2D 卷积,其消耗的计算资源较少,但在检测精度上远远落后于基于 voxel 的方法。

在本文中,通过研究基于 pillarvoxel 的检测器之间的主要性能差距,开发了一种实时和高性能的基于pillar的检测器,称为 PillarNetPillarNet 由一个用于有效pillar特征学习的强大编码器网络、一个用于空间语义特征融合的Neck网络和常用的检测头组成。仅使用 2D 卷积 PillarNet 可以灵活地选择 pillar 大小,并与经典的 2D CNN 主干网络兼容,例如 VGGNetResNet。此外,PillarNet 受益于设计的方向解耦 IoU 回归损失以及 IoU 感知预测分支。大规模 nuScenes 数据集和 Waymo 开放数据集的大量实验结果表明,所提出的 PillarNet 在有效性和效率方面优于最先进的 3D 检测器。

1、简介

随着使用深度神经网络在点云表示学习方面取得成功,基于 LiDAR 的 3D 目标检测最近取得了显著进展。然而,在大型基准数据集(例如 nuScenes DatasetWaymo Open Dataset)上表现最好的点云 3D 目标检测器需要大量的计算负载和大量的内存存储。因此,需要开发一种具有实时速度的性能最佳的 3D 检测器,用于自动驾驶汽车的车载部署。

现有的点云 3D 目标检测器主要使用基于 Grid 的点云表示,可以大致分为两类,即基于 3D Voxel 的方法和基于 2D pillar 的方法。这两组都采用经典的“编码器-Necj-Head”检测架构。基于Voxel的方法通常将输入点云划分为规则的 3D Voxel网格。然后使用具有稀疏 3D 卷积的编码器来学习跨多个级别的几何表示。在编码器之后,带有标准 2D CNNNeck模块在馈送到检测头之前融合了多尺度特征。相比之下,基于 pillar 的方法将 3D 点云投影到 BEV 平面上的 2D 伪图像,然后直接在基于 2D CNN 的特征金字塔网络(FPN)上构建Neck网络以融合多尺度特征。

对于基于Voxel的方法,由稀疏 3D CNN 提供支持的有效Voxel特征学习提供了良好的检测性能。然而,由于编码器内部的 3D 稀疏卷积,很难在 BEV 空间上聚合具有不同分辨率的多尺度特征。对于基于 pillar 的方法,与基于Voxel的对应物相比,用于 pillar 特征学习的光编码器产生的性能不令人满意。此外,小尺寸的伪图像和大的初始 pillar 进一步限制了检测性能。这是因为 pillar 越细,伪像越大,性能越好,但计算量越大。有趣的是,基于Voxelpillar 的方法都使用 BEV 空间上的聚合多尺度特征执行 3D 检测。

作者观察到以前基于 pillar 的方法没有强大的 pillar 特征编码,这是性能不满意的主要原因。此外,逐步下采样 pillar 尺度可以帮助解耦输出特征图大小和初始伪图像投影尺度。因此,设计了一种实时、高性能的基于 pillar 的 3D 检测方法,称为 PillarNet,它由用于分层深度 pillar 特征提取的编码器、用于多尺度特征融合的Neck模块以及常用的基于中心的检测头。

PillarNet 中,强大的编码器网络涉及 5 个阶段。阶段 1 到 4 遵循与传统 2D 检测网络(如 VGGResNet)相同的设置,但用其稀疏 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 显著推进了基于 pillar3D 检测器,并为进一步研究点云目标检测提供了新的思路。尽管它很简单,但 PillarNet 在两个大型自动驾驶基准测试中实现了最先进的性能并实时运行。

2、相关工作

2.1、Point Cloud 3D Object Detection

1、Point-based 3D object detectors

仅使用点云的 3D 目标检测主要可以概括为两类:基于 Point 的方法和基于 Grid 的方法。

基于 Point 的 3D 目标检测器。由开创性的 PointNet 提供支持,基于 Point 的方法直接处理不规则点云并预测 3D 边界框。

PointRCNN 直接从原始点云提出基于 Pointproposal 生成范例,然后通过设计一个 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 卷积对场景特征进行编码。为了解决通常用于大型室外空间的空VoxelSECOND 引入了 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 空间上提取点云特征,并有望无缝集成到现有的多模态框架中以实现高级性能。

3、本文方法

3.1 Preliminaries

基于网格的检测器在 BEV 空间上执行 3D 检测,包括基于 3D Voxel的检测器和基于 2D pillar的检测器。最近的基于Voxel的检测器遵循 SECOND 架构,改进了稀疏 3D CNN,以在开创性的 VoxelNet 上实现有效的Voxel特征编码。基于 Pillar 的检测器通常遵循开创性的 PointPillars 架构,仅使用 2D CNN 进行多尺度特征融合。首先重新审视这两个具有代表性的点云检测架构,这促使了构建所提出的 PillarNet 方法。

1、SECOND

SECOND 是一种典型的基于Voxel的单阶段目标检测器,它为后续基于Voxel的检测器使用专门的稀疏 3D 卷积奠定了基础。它将无序点云划分为规则的 3D Voxel,并在 BEV 空间上进行框预测。

整个 3D 检测架构包含3个基本部分:

  1. 编码器将输入的非空 Voxel 特征编码为 1×、2×、4× 和 8× 下采样的 3D 特征量;

  2. Neck 模块进一步将 BEV 空间上的编码器输出以自上而下的方式抽象为多个尺度;

  3. 检测头使用融合的多尺度 BEV 特征进行框分类和回归。

2、PointPillars

PointPillars 通过一个微小的 PointNet 在 X-Y 平面上投影原始点云,产生一个稀疏的 2D 伪图像。PointPillars 使用基于 2D CNN 的自顶向下网络来处理具有步长 1×、2× 和 4× 卷积块的伪图像,然后将多尺度特征连接起来用于检测头。

3、分析

尽管具有良好的运行时和内存效率,PointPillar 在性能上仍然远远落后于 SECOND。在稀疏 3D 卷积具有出色的点云学习表示能力的前提下,最近基于 pillar 的方法主要集中在探索从原始点或复杂的多尺度策略中进行细心的 pillar 特征提取。另一方面,这些方法具有不利的延迟,并且仍然大大低于其基于 3D Voxel的对应方法。

或者,通过将基于Grid的检测器视为基于 BEV 的检测器来采取不同的观点,并重新审视整个点云学习架构发现基于pillar的方法的性能瓶颈主要在于用于空间特征学习的稀疏编码器网络和用于充分空间语义特征融合的有效Neck模块。

具体来说,PointPillars 直接应用特征金字塔网络在投影的密集 2D 伪图像上融合多尺度特征,缺少 SECOND 中用于有效 pillar 特征编码的稀疏编码器网络。另一方面,PointPillars 将最终输出特征图的大小与初始投影pillar尺度相结合,随着 pillar 尺度变细,整个计算和内存成本急剧增加。

为了解决上述问题,本文方法支持 BEV 空间上的“encoder-neck-head”检测架构,以提高基于pillar的方法的性能。具体来说,探讨了编码器和Neck网络的显著差异和各自的功能:

  • SECOND 中重新设计编码器,将稀疏 3D 卷积替换为其稀疏 2D 卷积对应操作,用于原始点云的无损pillar特征

  • 通过继承稀疏编码器输出的稀疏空间特征和低分辨率特征图中的高级语义特征抽象,将Neck模块制定为空间语义特征融合

最后,使用相对较重量级的稀疏编码器网络来构建 PillarNet,用于分层pillar特征学习和轻量级的Neck模块,用于充分的空间语义特征融合。

3.2、PillarNet Design for 3D Object Detection

在本小节中将介绍 PillarNet 设计的详细结构。图 3 中的整体架构由三个组件组成:用于深度pillar特征提取的编码器、用于空间语义特征聚合的Neck模块和 3D 检测头。通过常用的基于中心的检测头,作者展示了 PillarNet 的灵活性和可扩展性。

1、编码器网络设计

编码器网络旨在从投影的稀疏 2D pillar特征中分层提取深度稀疏 pillar 特征,其中从 1 到 4 的可拆卸阶段使用稀疏 2D CNN 逐步下采样稀疏 pillar 特征。与 PointPillars 相比,设计的编码器有两个优点:

  1. 稀疏编码器网络可以在基于图像的 2D 目标检测上取得进展,例如 VGGNetResNet。用于pillar特征学习的简单编码器可以大大提高 3D 检测性能。

  2. 分层下采样结构使得PillarNet可以巧妙地操作不同pillar尺寸的稀疏pillar特征,从而缓解了之前基于pillar的方法中耦合pillar尺寸的限制。

构建的 PillarNet 具有不同的主干,PilllarNet-vgg/18/34,具有与 VGGNet / ResNet-18 / ResNet-34 相似的复杂性。详细的网络配置可以在论文的补充材料中找到。

2、Neck设计

FPN 一样,Neck模块旨在融合用于主流检测头部(即锚框或锚点)的高级抽象语义特征和低级细粒度空间特征。额外的 16× 下采样密集特征图使用一组密集的 2D CNN 进一步抽象高级语义特征,以丰富大目标的感受野并为基于中心的检测头填充目标中心定位的特征。设置来自稀疏编码器网络的空间特征,从 SECOND 的初始设计开始,有两种可选的Neck设计用于空间语义特征融合:

(1) SECOND 的朴素设计Neck-v1(图4(A))应用自顶向下的网络生成多尺度特征,并将多尺度密集特征图连接起来作为最终输出。

(2) 激进的设计Neck-v2(图4(B))考虑了来自额外16×下采样密集特征图的High-Level语义特征和来自使用一组卷积层的稀疏编码器网络的Low-Level空间特征之间的充分信息交换。

(3) 本文设计的Neck-v3(图4(C))通过一组卷积层进一步丰富了16×下采样密集特征图上的High-Level语义特征,并将Low-Level语义特征与另一组卷积层融合以实现鲁棒特征提取。

3.3、Orientation-Decoupled IoU Regression Loss

通常,IoU 度量与预测的 3D 框的定位质量和分类精度高度相关。以前的方法表明,使用 3D IoU 质量重新加权分类并监督框回归可以实现更好的定位精度。

对于分类分支,遵循之前的方法并使用 IoU-rectification 方案将 IoU 信息合并到置信度分数中。后处理阶段的 IoU-Aware 修正函数可以表述为:

其中 S 表示分类分数,WIoUIoU 分数。是一个超参数。为了预测 IoU 分数,使用 L1 loss 来监督 IoU 回归,其中预测的 3D 框和GT框之间的目标 3D IoU 分数 W 由

对于回归分支,最近的方法将 GIoU 损失或 DIoU 损失从 2D 检测扩展到 3D 检测。然而,3D IoU 计算减慢了训练过程。此外,IoU 相关回归的耦合方向可能会对训练过程产生负面影响。

图 5 显示了这样一个例子。给定一个典型的 2D 边界框 [x, y, l, w, θ] = [0, 0, 3.9, 1.6, 0],x 和 y 位置存在方向与中心偏差或宽度比例的交叉效应偏差框与真实框之间的 IoU 度量优化期间的长度和长度大小如下:

  • 中心偏差对方向回归的影响。如果BBox中心偏离很远,训练阶段很容易陷入局部最优。见图5(A)中的红色曲线。

  • 尺寸变化对方向回归的影响。如果BBox大小发生很大变化,训练阶段就会进入optimization plateau。参见图 5(B) 中的红色区域。

  • 方向偏差对中心和尺寸回归的影响。即使方向偏差很大,优化方向也保持一致。

因此,通过将方向 θ 与相互耦合的7个参数 (x,y,z,w,l,h,θ) 解耦,提出了另一种与方向解耦 IoU 相关的回归损失。

具体来说,分别从 IoU 损失、GIoU 损失和 DIoU 损失扩展了 IoU 回归损失: (OD-IoU/OD-GIoU/OD-DIoU)。

3.4、Overall Loss Function

接下来,将Focal Loss应用于 Headtmap 分类 ,将 L1 损失应用于定位偏移 、z 轴位置 、3D 对象大小 和方向 。整体损失联合优化如下:

其中损失权重λ是根据经验设置的参数。

4、实验

5、参考

[1].PillarNet: Real-Time and High-Performance Pillar-based 3D Object Detection.

6、推荐阅读

超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!

必备技能 | YOLOv6中的用Channel-wise Distillation进行的量化感知训练来自哪里?

Light-YOLOv5 | SepViT + BiFPN + SIoU成就更轻更快更优秀的 YOLOv5 改进算法

长按扫描下方二维码添加小助手并加入交流群,群里博士大佬云集,每日讨论话题有目标检测、语义分割、超分辨率、模型部署、数学基础知识、算法面试题分享的等等内容,当然也少不了搬砖人的扯犊子

长按扫描下方二维码添加小助手。

可以一起讨论遇到的问题

声明:转载请说明出处

扫描下方二维码关注【集智书童】公众号,获取更多实践项目源码和论文解读,非常期待你我的相遇,让我们以梦为马,砥砺前行!

浏览 604
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报