CVPR2023 | PillarNeXt:重新思考激光雷达点云中3D目标检测的网络设计

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

今天自动驾驶之心分享3D目标检测的最新进展PillarNeXt,针对pillar、voxel等结构模型做了充分验证,简单的网络也够也能实现较高性能!如果您有相关工作需要分享,请在文末联系我们!

作者 | 汽车人

编辑 | 自动驾驶之心

>>点击进入→自动驾驶之心【3D目标检测】技术交流群

原文PillarNeXt: Rethinking Network Designs for 3D Object Detection in LiDAR Point Clouds

笔者的一些思路和看法

3D检测任务模型,一直集中在大模型设计优化,如何降低计算参数,保持模型性能,仍然未有很全面的研究,这篇论文在pillar、voxel等结构模型上做了充分验证,简单的网络也够也能实现较高性能!

为什么提出PillarNeXt?

为了处理稀疏和非结构化的原始点云,基于激光雷达的三维目标检测研究主要集中在设计用于细粒度几何建模的专用局部点聚合器上。本文从分配计算资源的角度重新审视了局部点聚合器,发现考虑到准确性和延迟,最简单的基于pillar的模型表现得出奇地好。大量实验表明,本文基于Pillar的网络在架构和训练方面具有非常好的设计,在Waymo Open Dataset和nuScenes这两个流行的基准测试上具有最先进的性能。这次Research挑战了人们的普遍直觉,即详细的几何建模对于实现3D目标检测的高性能至关重要。

激光雷达点云中的3D目标检测是自动驾驶系统中的一项重要任务,因为它为后续的车载模块提供了关键信息,从感知、预测到规划,专门设计了用于应对该领域点云的复杂网络。由于点云的稀疏性和不规则性,现有的大多数工作都采用基于网格的方法,将点云转换为规则网格,如pillar、体素和range视图,从而可以应用规则算子。然而,人们普遍认为,基于网格的方法(特别是对于pillar)不可避免地会导致信息丢失,导致较差的结果,尤其是对于小目标(例如行人)。最近的研究提出了细粒度几何建模的混合设计,以结合基于点和网格的表示。本文将上述所有算子命名为局部点聚合器,因为它们旨在聚合特定邻域中的点特征。论文观察到,当前3D目标检测的主流是为点云开发更专业的算子,而网络架构几乎没有被探索。大多数现有作品仍然建立在SECOND或PointPillars原始建筑之上,这些建筑缺乏现代化的设计。

同时,在一个密切相关的领域,图像中的2D目标检测取得了显著进展,这在很大程度上可以归功于架构和训练的进步。其中,强大的骨干、有效的Neck(例如,BiFPN和YOLOF)和改进的训练策略尤其值得注意。因此,二维目标检测的研究重点与三维目标检测有很大不同。根据上述观察结果,作者重新思考了激光雷达点云中3D物体检测的重点,重新审视了设计3D对象检测模型时的两个基本问题:局部点聚合器和网络架构。

首先,论文从一个新的角度,即计算预算来比较局部点聚合器,细粒度聚合器通常比粗粒度聚合器需要更多的计算资源。例如,基于体素的聚合器采用3D卷积,这需要更多的网络参数,并且运行速度比2D卷积慢得多。这就提出了一个问题,即如何有效地分配计算预算或网络容量。应该把资源花在细粒度结构上还是分配它们变成粗糙的网格?如图1所示,当在可比预算和增强策略下进行训练时,更简单的基于pillar的模型可以实现与基于体素的模型相比优越或不相上下的性能,即使对于行人等小目标也是如此,同时显着优于基于多视图融合的模型。这对实际性能增益和细粒度局部3D结构的必要性提出了挑战。本文的发现也与最近在一般点云分析方面的工作一致,表明不同的局部点聚合器在强大的网络下表现相似!

e8f21620dd737c58f19e2e7734f4c6ee.png

其次,对于网络架构,本文的目标不是为点云提出任何特定于领域的设计,相反,从2D目标检测的成功中进行了最小的调整,并表明它们优于大多数具有点云专用架构的网络。例如,适当地扩大感受野会带来显著的改善;与以前依赖于多尺度特征融合的工作不同,作者表明,在最终阶段,具有足够感受野的单个尺度可以获得更好的性能,这些有希望的结果表明,3D目标检测可以继承2D领域的成功经验!

根据上述发现,本文提出了一个基于支柱的网络,称为PillarNeXt,它在两个流行的基准上得出了最先进的结果。论文的方法简单而有效,具有很强的可扩展性和可推广性,通过调整网络参数的数量,开发了一系列在检测精度和推理延迟之间具有不同权衡的网络,这些网络可用于自动驾驶中的车载和非车载应用,主要贡献可总结如下:

(1) 这是第一项从计算预算分配的角度比较不同局部点聚合器(pillar、体素和多视点融合)的工作。这次发现挑战了人们的普遍看法,表明与体素相比,pillar可以实现相当的3D mAP和更好的BEV mAP,并且在3D和BEV mAP中都显著优于多视图融合。

(2) 受2D检测成功的启发,发现扩大感受野对3D目标检测至关重要,通过最小的自适应,本文的检测器优于现有的点云设计方法。

(3) 论文的网络经过适当的训练,在两个大型基准测试中取得了优异的结果。希望本文的模型和相关发现能够成为该社区未来研究的有力和可扩展的基线。

代码和模型将在:https://github.com/qcraftai/pillarnext上公布!

领域相关的一些工作

基于激光雷达的三维目标检测:根据局部点聚合器,现有的方法可以大致分为基于点、网格和混合的表示。作为一种基于点的方法,PointRCNN使用[28]生成提案,然后通过RoI池化对每个proposal进行细化。然而,在这种方法中进行相邻点聚合极其昂贵,因此在自动驾驶中处理大规模点云是不可行的。另一方面,基于网格的方法将点云离散为结构化网格,其中可以应用2D或3D卷积。VoxelNet将3D空间划分为体素,并聚集每个体素内的点特征,然后使用密集的3D卷积进行上下文建模。SECOND通过引入稀疏3D卷积来提高效率,PointPillars将点云组织为垂直列,并采用2D卷积。另一种基于网格的表示是range视图,它也可以通过2D卷积进行有效处理。多视图融合方法利用了基于pillar/体素和range视图的表示,尽管效率很高,但人们普遍直观地认为,基于网格的方法会导致细粒度的信息丢失。因此,提出了将点特征合并到网格表示中的混合方法,本文转而关注基本的网络架构和相关的训练,并表明细粒度的局部几何建模被高估了。

特征融合和感受野:多尺度特征融合始于以自上而下的方式聚合层次特征的特征金字塔网络(FPN),将高级语义与低级空间线索相结合被广泛用于2D目标检测。PANet进一步指出自下而上的融合也很重要,两者都通过直接相加特征图来进行融合。BiFPN表明,不同尺度的特征贡献不相等,并采用可学习的权重来调整重要性。感受野作为特征融合的一个相关因素,在二维检测和分割中也得到了广泛的研究和验证,ASPP对具有多个有效感受野的特征进行采样。TridentNet应用具有不同膨胀因子的三个卷积,使感受野范围与物体尺度范围相匹配。YOLOF中也引入了类似的策略,即使用扩张的膨胀卷积来扩大感受野,同时保持原始感受野!

尽管这些关于特征融合和感受野的技术已经在2D领域被广泛采用,但它们在3D领域几乎没有被讨论。该领域的大多数现有网络仍然遵循或基于VoxelNet的架构进行修改,本文的目标是将最新的设计集成到3D目标检测网络中。

模型缩放:这一方面在图像领域已经得到了很好的研究,包括分类、检测和分割任务。可以观察到,共同增加深度、宽度和分辨率可以提高精度。EfficientNet提出了一种用于分类的复合缩放规则,该规则后来扩展到目标检测。人们普遍认为,模型容量会影响模型性能,因此,不同方法的比较应考虑模型容量,以便得出合理的结论。据本文所知,只有一项工作[40]研究3D目标检测中的模型缩放,它缩放SECOND的深度、宽度和分辨率,以找到每个组件的重要性。然而,它只关注单一类型的模型,而本文在广泛的模型尺度上系统地比较了在类似计算预算下的不同局部点聚合器。

ede76f9b0cf7932295fb94293849bf5e.png

由于运行时效率接近2D目标检测,本文将重点放在基于网格的模型上。基于网格的网络通常由(i)将原始点云转换为结构化特征图的网格编码器组成,(ii)用于一般特征提取的主干,(iii)用于多尺度特征融合的Neck,以及(iv)用于特定任务输出的检测头,现有网络通常将所有这些组件耦合在一起。本节将它们解耦,并简要回顾每个部分!

网格编码

网格编码器用于将点云离散化为结构化网格,然后将每个网格内的点转换并聚合为初步特征表示,本文针对以下三种网格编码器。

Pillar:基于Pillar的网格编码器将点排列在垂直列中,并应用多层感知器(MLP),然后进行最大池化,以提取支柱特征,这些特征被表示为伪图像。

Voxel:与pillar类似,基于体素的网格编码器在体素中组织点并获得相应的特征。与Pillar相比,体素编码器保留了沿高度维度的细节。

多视图融合(MVF):基于MVF的网格编码器结合了基于Pillar/体素和距离视图的表示。

backbone和neck

主干基于网格编码器提取的初步特征进行进一步的特征提取。为了进行公平的比较,本文使用ResNet-18作为主干,因为它在以前的工作中很常用。论文使用基于pillar或MVF的编码器在主干中使用稀疏2D卷积,使用基于体素的编码器在骨干中使用稀疏3D卷积。然后可以利用neck来聚集来自主干的特征,以扩大感受野并融合多尺度上下文。然而,与图像相比,如何设计有效的neck用于点云中的目标检测还没有得到很好的探索。本文的目标是通过将2D目标检测的先进neck设计集成到3D目标检测的模型架构中来缩小这一差距,例如使用改进的多级特征融合的BiFPN或使用在单个特征级别上具有多个扩展率的卷积的ASPP!

Detection Head

在SECOND和PointPillars的开创性工作中,使用基于anchor的检测头来预先定义头部输入特征图上每个位置的轴对齐anchor。取而代之的是,CenterPoint通过其中心点来表示每个目标,并预测中心度热图,其中在每个中心位置实现边界框的回归由于其简单性和卓越的性能,我们在所有网络中都采用了基于中心的检测头。本文在head中展示了一组简单的修改,如特征上采样、多分组和IoU分支,显著提高了性能。

实验

本节将会从介绍实验设置开始,包括数据集和实现细节,然后对3D目标检测模型中的每个组件进行全面的网络设计研究。最后,在两个流行的基准上与最先进的方法进行了广泛的比较。

作者在两个大型自动驾驶基准上进行了实验:Waymo开放数据集(WOD)和nuScenes。WOD由798个用于训练的序列(160K帧)和202个用于验证的序列(40K帧)组成,这些序列是用5个10Hz的激光雷达捕获的。根据官方协议,使用平均精度(AP)和按航向加权的平均精度(APH)作为评估指标。将表现分为两个难度级别,L1和L2,前者评估至少有5分的目标,后者涵盖所有至少有一分的目标。论文将车辆、行人和骑自行车的IoU阈值设置为0.7、0.5和0.5。除了3D AP/APH,还报告了BEV下的结果,nuScenes包含1000个场景,每个场景大约20秒,由32束激光雷达以20Hz拍摄。注释在2Hz的关键帧上可用,遵循官方评估指标,在平均精度(mAP)和nuScenes检测分数(NDS)下对10多个类别进行平均,后者是mAP以及ATE、ASE、AOE、AVE和AAE的加权平均值,用于分别测量平移、尺度、方向、速度和属性相关的误差。

所有模型都是通过使用AdamW作为优化器,对于WOD,检测范围水平设置为[76.8m,76.8m],垂直设置为[-2m,4m]。pillar大小在x/y轴上为0.075米(对于基于体素的pillar,在z轴上为0.15米)。对于基于MVF的模型,保持相同的pillar尺寸,并使用[1.8◦, 0.2m],用于圆柱形视图中的偏航角和z轴。论文对每个模型进行12个epoch训练,并将3帧作为输入。推理时,对车辆、行人和骑自行车的人使用0.7、0.2和0.25的非最大抑制(NMS)阈值。对于nuScenes,以10帧作为输入,并将检测范围设置为水平[50.4m,50.4m]和垂直[-5m,3m](基于体素的z轴0.2m)。对所有类使用0.2的NMS阈值,其它设置与WOD相同。

网络设计实验

论文进行了广泛的研究,以分析和了解每个单独网络设计的贡献。首先评估了网格编码器的影响,并展示了neck模块的重要性,然后研究了分辨率的影响,最后逐一总结了组件,以显示改进路线图!

论文首先评估了介绍的三种具有代表性的网格编码器,即pillar、体素和MVF。尽管这三种编码器已经被提出很长时间了,但在相同的网络架构和网格分辨率下,它们从未被公平地比较过。这里用稀疏的ResNet-18作为backbone来测试其有效性和效率。作者缩放主干的宽度,获得了一系列从微小、小型、基础到大型的网络,即Pillar/Voxel/MVF-T/S/B/L。表1列出了每个模型的通道和参数编号、FLOP和延迟。注意,没有Voxel-T,因为基于体素的模型的FLOP要高得多,最小的模型从与Pillar-S类似的计算成本开始。

2d4f790f835761af3b6178b690c7f1a9.png

对于表1中的第一组,在通常采用的常规训练计划(即12个epoch)下比较了不同模型规模的三种网格编码器。从表中可以看出,在BEV APH下,pillar编码器在车辆上表现良好,在行人上表现相当,同时延迟显著较低。表8中关于nuScenes的每类比较进一步支持了这一结论。请注意,从BEV的角度来看,行人通常只带几个pillar,然而,pillar编码器足以实现卓越或同等的性能,包括小目标。

然而,pillar编码器在3D APH下仍然落后,为了进一步研究造成这一差距的原因,通过将训练计划扩展到36个epoch来增强模型,增加了IoU回归损失,并在多组检测头中加入了IoU得分分支(如图2所示)。将在这种增强策略下训练的模型称为Pillar/Voxel/MVF+,与表1的第二组相比,pillar模型在3D APH下实现了与车辆上的体素模型相当甚至更好的结果,同时运行速度相当快。论文假设,在没有显式高度建模的情况下,基于pillar的网络需要精细的设计,如更长的训练,才能完全收敛,这挑战了pillar编码器丢失高度信息的普遍看法,并表明细粒度的局部几何建模可能没有必要。

bf4b6df5d69f3be9bb523b813788c652.png

这种反直觉的结果促使我们重新思考如何有效地分配3D目标检测网络的计算资源。基于pillar的模型仅在BEV空间中分配资源,而基于体素和MVF的方法也沿着高度维度进行计算。在比较这些方法时,以前的工作没有考虑到计算预算,在本文的实验中,在类似的FLOP下,将计算分配到高度维度是没有好处的。我们得出的结论是,将所有FLOP投资于BEV领域不仅更高效,而且更有效,如图1、表1和表8所示!

c32d32a0f6b859e3263ba3e5e038a44c.png

实验还揭示了训练的重要性,大多数先前的工作通常采用定期或短期的训练计划进行比较,这可能会导致不同的结论。作者在图3中展示了基于pillar和体素的网络的学习行为。有趣的是,发现pillar模型与BEV APH中的体素模型相比收敛。而对于3D APH,pillar模型的收敛速度比体素模型慢得多。然而,当训练持续足够的时期时,这种差距会缩小,这表明先前方法报告的pillar和体素之间的3D APH性能差距部分是由它们的不同收敛速度造成的,而不是体素中更细粒度的几何建模!

Neck实验说明

在之前的研究中,不同的局部点聚合器可能对最终结果并不重要。作者展示了对网络架构的简单升级可以极大地提高性能。特别是neck模块设计,这在3D目标检测中还没有得到很好的探索。该领域的大多数当前网络都依赖于多尺度融合,该融合将不同阶段的特征图采样到相同的分辨率,然后将它们连接起来。如何设计neck模块来进行更有效的特征聚合在2D目标检测中得到了广泛的研究,但在3D目标物体检测中尚未采用大多数先进的技术。本文首先集成了两种流行的设计,即FPN和BiFPN。如表2的第一组所示,观察到,在最新的PillarNet工作中,提高了2.38%。

5f76e2893155da27e29342212be15b57.png

使用多尺度特征的一个主要目标是处理目标尺度的巨大变化。然而,BEV空间中的3D目标并不存在这样的问题,这促使我们重新思考3D目标检测是否需要多尺度表示,因此,本文研究了三个单尺度neck模块。基线是使用未经下采样或上采样的残差块的neck,由于感受野有限,其性能较差。在YOLOF中,有人认为,当感受野与物体大小匹配时,2D检测器表现更好。受这一观察结果的启发,作者在YOLOF中应用了扩张块,以扩大感受野,并在车辆上产生更好的性能。论文还与ASPP block集成,与PillarNet中使用的neck相比,在车辆上获得了高达2.45%的改善。上述所有设计在行人上都达到了可比的性能,这些比较共同表明,多尺度特征可能不是必要的,相反,扩大感受野起着关键作用。

研究一些解决方法

直观地说,较小的网格大小保留了更多细粒度的信息,但需要更高的计算成本。下采样可以有效地降低成本,但会降低性能。通过改变主干和头head的网格大小和特征采样率,论文对不同的网格和特征分辨率进行了实验。如表3所示,如果输出特征分辨率是固定的(0.3),则使用大的网格尺寸(0.075至0.3)不会影响诸如车辆之类的大物体的性能,但会降低诸如行人之类的小物体的精度。对输出特征分辨率(0.3到0.6)进行下采样会损害这两个类别的性能。然而,如果简单地在检测头中提供上采样层,可以获得显著的改进,尤其是对于小物体,这表明细粒度信息可能已经被编码在下采样的特征图中,并且简单的上采样层可以有效地恢复细节!

cf4d00695158bdeba6e621c0ecf405fb.png

总结

论文将PillarNeXt-B与WOD验证集上公布的结果进行了比较。作为一种常见的做法,分别列出了使用单个和多个框架的方法。为了完整性,作者还将其与具有长期时间建模的方法进行了比较,模型经过了36个epoch的训练,并增加了褪色的复制和粘贴数据。如表4所示,单阶段模型优于许多两阶段方法。同样值得注意的是,与具有复杂时间建模和细粒度几何建模的方法相比,基于pillar的方法在没有显式时间建模的情况下,甚至对行人等小物体实现了更好的结果。这清楚地验证了网络设计在基本架构和适当训练方面的重要性,除了3D结果外,还在表5中报告了BEV指标!BEV在自动驾驶中被广泛使用,因为下游任务自然是在BEV的空间中进行。有趣的是,本文的单帧模型已经优于许多多帧方法。与采用整个序列(约200帧)进行细化的方法3DAL相比,本文的3帧模型实现了更好的性能,这再次验证了论文简洁的单级网络的有效性。

在表6中,进一步展示了本文在WOD测试集上的结果,以评估方法的泛化能力。没有使用任何TTA或模型集成,PillarNeXt-B也优于最先进的方法。

178dde495aa887ae8807e06b4228f588.png

最后,将PillarNeXt-B与最先进的nuScenes方法进行了比较。模型使用常用的重采样CBGS和复制粘贴数据增强进行了20个epoch的训练。在表7中报告了验证集的结果,方法实现了68.8%的NDS和62.5%的mAP的优异性能,这表明了所提出的模型在不同数据集上的非凡可推广性。值得注意的是,除了PillarNet18之外,所有高性能方法都是基于体素的。本文的基于pillar的模型在mAP方面大大优于领先的基于体素和多视图的方法。为了进一步分析,作者还将其与完全相同设置下的基于体素的模型(voxel-B)进行了比较,PillarNeXt-B可获得更高的NDS和相当的mAP。特别是,对于表8中的每类性能,与Voxel-B相比,PillarNeXt-B在行人和交通锥中实现了同等或更高的结果,这进一步验证了基于pillar的模型在精确检测小目标方面可以非常有效。

参考

[1] PillarNeXt: Rethinking Network Designs for 3D Object Detection in LiDAR Point Clouds.CVPR2023

(一)视频课程来了!

自动驾驶之心为大家汇集了毫米波雷达视觉融合、高精地图、BEV感知、传感器标定、传感器部署、自动驾驶协同感知、语义分割、自动驾驶仿真、L4感知、决策规划、轨迹预测等多个方向学习视频,欢迎大家自取(扫码进入学习)

5e266f73d14b226b4a85e2e6d060c2ae.png

(扫码学习最新视频)

视频官网:www.zdjszx.com

(二)国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、Occpuancy、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

c3c147cf6bd00b6b112f001b0fc05f47.jpeg

(三)【自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

38f319e38e8050f239a736dee80c5fe6.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值