CenterPoint是一种基于中心的三维物体检测与跟踪框架。主要内容包括:
-
问题背景:三维物体检测在自动驾驶等领域具有重要应用,但传统的基于三维框的表示方法存在方向不确定性和计算复杂度高等问题。
-
方法介绍:
-
中心点表示:将三维物体表示为点,简化了物体的检测和跟踪。
-
CenterPoint框架:包括两阶段检测器,第一阶段使用关键点检测器找到物体中心并回归其他属性(如尺寸、方向、速度),第二阶段使用额外的点特征进行细化。
-
跟踪方法:通过预测物体在连续帧之间的相对偏移(速度),进行最近点匹配来实现跟踪。
-
-
实验结果:
-
在Waymo和nuScenes数据集上,CenterPoint在三维检测和跟踪任务中均达到了最先进的性能。
-
与传统的基于锚点的方法相比,基于中心点的方法在检测精度和计算效率上均有显著提升。
-
两阶段细化模块进一步提高了检测精度,且计算开销较小。
-
-
主要贡献:
-
提出了一种简单、高效且有效的三维物体检测与跟踪框架。
-
在多个基准数据集上验证了方法的优越性。
-
代码和预训练模型已公开,便于进一步研究和应用。
-
CenterPoint通过将三维物体表示为点,简化了检测和跟踪过程,并在多个数据集上取得了优异的性能。这里是对CenterPoint论文的阅读学习记录,感兴趣的话可以参考一些,如果需要阅读原文,可以看这里,如下所示:
摘要
三维物体通常在点云中表示为三维框。这种表示模仿了经过充分研究的基于图像的二维边界框检测,但带来了额外的挑战。三维世界中的物体没有特定的方向,基于框的检测器在枚举所有方向或将轴对齐的边界框拟合到旋转物体时存在困难。在本文中,我们提出将三维物体表示、检测和跟踪为点。我们的框架CenterPoint首先使用关键点检测器检测物体的中心,并回归到其他属性,包括三维尺寸、三维方向和速度。在第二阶段,它使用物体上的额外点特征来细化这些估计。在CenterPoint中,三维物体跟踪简化为贪婪的最近点匹配。由此产生的检测和跟踪算法简单、高效且有效。CenterPoint在nuScenes基准测试中实现了最先进的性能,单模型的3D检测和跟踪分别达到了65.5 NDS和63.8 AMOTA。在Waymo开放数据集上,CenterPoint大幅优于之前所有单模型方法,并在所有仅使用激光雷达的提交中排名第一。代码和预训练模型在这里,如下所示:
1 引言
强大的三维感知是许多最先进的驾驶系统的核心要素[1, 50]。与经过充分研究的二维检测问题相比,点云上的三维检测带来了一系列有趣的挑战:首先,点云是稀疏的,三维空间中的大多数区域都没有测量值[23]。其次,生成的输出是一个三维框,通常与任何全局坐标系都不对齐。第三,三维物体具有各种大小、形状和长宽比,例如在交通领域,自行车接近平面,公交车和豪华轿车细长,行人高大。这些二维和三维检测之间的显著差异使得两个领域之间的思想转移更加困难[45, 47, 60]。关键在于,轴对齐的二维框[16, 17]是自由形式三维物体的糟糕代理。一种解决方案可能是为每个物体方向分类不同的模板(锚点)[58, 59],但这不必要地增加了计算负担,并可能引入大量潜在的误报检测。我们认为,连接二维和三维领域的主要挑战在于物体的表示。
图1:我们提出了一种基于中心的框架来表示、检测和跟踪物体。之前的基于锚点的方法使用相对于自车坐标的轴对齐锚点。当车辆在直路上行驶时,基于锚点和基于中心点的方法都能准确检测物体(顶部)。然而,在安全关键的左转过程中(底部),基于锚点的方法在将轴对齐的边界框拟合到旋转物体时存在困难。我们的基于中心点的模型通过旋转不变的点准确检测物体。最好以彩色查看。
在本文中,我们展示了如何将物体表示为点(图1)极大地简化了三维识别。我们的两阶段三维检测器CenterPoint使用关键点检测器[64]找到物体的中心及其属性,并在第二阶段细化所有估计。具体来说,CenterPoint使用标准的基于激光雷达的骨干网络,即VoxelNet[56, 66]或PointPillars[28],来构建输入点云的表示。然后将其展平为俯视图,并使用标准基于图像的关键点检测器来找到物体中心[64]。对于每个检测到的中心,它从中心位置的点特征回归到所有其他物体属性,如三维尺寸、方向和速度。此外,我们使用一个轻量级的第二阶段来细化物体位置。该第二阶段在估计的三维边界框的每个面上提取点特征。它恢复了由于步幅和有限感受野而丢失的局部几何信息,并在几乎没有成本的情况下带来了显著的性能提升。
基于中心的表示有几个关键优势:首先,与边界框不同,点没有内在方向。这大大减少了物体检测器的搜索空间,同时允许骨干网络学习物体的旋转不变性和相对旋转的旋转等变性。其次,基于中心的表示简化了下游任务,如跟踪。如果物体是点,轨迹是空间和时间中的路径。CenterPoint预测物体在连续帧之间的相对偏移(速度),然后通过贪婪的最近点匹配将它们链接起来。第三,基于点的特征提取使我们能够设计一个有效的两阶段细化模块,其速度远快于之前的方法[44, 45, 46]。
我们在两个流行的大数据集上测试了我们的模型:Waymo开放数据集[48]和nuScenes数据集[6]。我们展示了从框表示到基于中心的表示的简单切换在不同骨干网络上带来了3-4 mAP的3D检测提升[68, 67, 26, 26]。两阶段细化进一步带来了额外的2 mAP提升,计算开销很小(<10%)。我们最好的单模型在Waymo上实现了71.8和66.4的2级mAPH,分别用于车辆和行人检测,在nuScenes上实现了58.0 mAP和65.5 NDS,在两个数据集上均优于所有已发表的方法。值得注意的是,在NeurIPS 2020 nuScenes 3D检测挑战赛中,CenterPoint被前三名中的三支队伍采用。对于3D跟踪,我们的模型在nuScenes上达到了63.8 AMOTA,比之前的最新技术水平高出8.8 AMOTA。在Waymo 3D跟踪基准测试中,我们的模型分别实现了59.4和56.6的2级MOTA,分别用于车辆和行人跟踪,比之前的方法高出最多50%。我们的端到端3D检测和跟踪系统接近实时运行,在Waymo上为11 FPS,在nuScenes上为16 FPS。
2 相关工作
二维物体检测 从图像输入预测轴对齐的边界框。RCNN系列[17, 21, 16, 43]找到类别无关的边界框候选,然后对其进行分类和细化。YOLO[42]、SSD[33]和RetinaNet[32]直接找到类别特定的框候选,跳过后续的分类和细化。基于中心点的检测器,例如CenterNet[64]或CenterTrack[63],直接检测隐含的物体中心点,无需候选框。许多三维物体检测器[60, 47, 20, 45]从这些二维物体检测器演变而来。我们认为,与轴对齐的框相比,基于中心的表示[64, 63]更适合三维应用。
三维物体检测 旨在预测三维旋转边界框[39, 51, 61, 15, 60, 28, 31]。它们与二维检测器在输入编码器上有所不同。Vote3Deep[12]利用特征中心投票[51]在等间距的三维体素上高效处理稀疏的三维点云。VoxelNet[66]在每个体素内使用PointNet[40]生成统一的特征表示,从中使用三维稀疏卷积[18]和二维卷积的头生成检测结果。SECOND[56]简化了VoxelNet并加速了三维稀疏卷积。PIXOR[57]将所有点投影到具有三维占用和点强度信息的二维特征图上,以去除昂贵的三维卷积。PointPillars[28]用柱表示替换所有体素计算,每个地图位置有一个细长的单体素,提高了骨干网络的效率。MVF[65]和Pillar-od[52]结合多个视图特征,学习更有效的柱表示。我们的贡献集中在输出表示上,并与任何三维编码器兼容并能改进它们。
VoteNet[38]通过点特征采样和分组的投票聚类检测物体。相比之下,我们直接通过中心点的特征回归到三维边界框,无需投票。Wong等人[55]和Chen等人[8]在物体中心区域使用类似的多点表示(即点锚点)并回归到其他属性。我们为每个物体使用一个正单元格,并使用关键点估计损失。
两阶段三维物体检测 最近的工作考虑直接将RCNN风格的两维检测器应用于三维领域[9, 61, 44, 45, 46, 41]。大多数方法在三维空间中使用RoIPool[43]或RoIAlign[21]聚合RoI特定的特征,使用基于PointNet的点[45]或体素[44]特征提取器。这些方法从三维激光雷达测量(点和体素)中提取区域特征,导致由于大量点而运行时间过长。相反,我们从中间特征图中提取五个表面中心点的稀疏特征。这使得我们的第二阶段非常高效且保持有效。
三维物体跟踪 许多二维跟踪算法[54, 27, 2, 4]可以直接跟踪三维物体。然而,基于三维卡尔曼滤波器的专用三维跟踪器[53, 10]仍然具有优势,因为它们更好地利用了场景中的三维运动。在这里,我们采用了一种更简单的方法,遵循CenterTrack[63]。我们使用速度估计和基于点的检测来跟踪多个帧中的物体中心。这种跟踪器比专用三维跟踪器[10, 53]更快且更准确。
3 预备知识
在测试时,检测器生成K个热图和密集的类别无关回归图。热图中的每个局部最大值(峰值)对应一个物体,置信度与峰值处的热图值成正比。对于每个检测到的物体,检测器从回归图中检索相应峰值位置的所有回归值。根据应用领域,可能需要非极大值抑制(NMS)。
现代三维物体检测器[20, 56, 28, 66]使用三维编码器将点云量化为规则的箱子。基于点的网络[40]然后为箱子内的所有点提取特征。三维编码器然后将这些特征池化为其主要特征表示。大多数计算发生在仅在这些量化和池化特征表示上操作的骨干网络中。骨干网络的输出是一个俯视图特征图,宽度为W,长度为L,具有F个通道,在俯视图参考系中。宽度和高度直接关系到单个体素箱的分辨率和骨干网络的步幅。常见的骨干网络包括VoxelNet[66, 56]和PointPillars[28]。
使用俯视图特征图M,检测头,通常是一个一阶段[32]或两阶段[43]边界框检测器,然后从该俯视图特征图上的预定义锚点生成物体检测。由于三维边界框具有各种大小和方向,基于锚点的三维检测器在将轴对齐的二维框拟合到三维物体时存在困难。此外,在训练期间,之前基于锚点的三维检测器依赖于二维框IoU进行目标分配[44, 56],这为不同类别或不同数据集选择正/负阈值带来了不必要的负担。在下一节中,我们将展示如何基于点表示构建一个原则性的三维物体检测和跟踪模型。我们引入了一个新颖的基于中心的检测头,但依赖于现有的三维骨干网络(VoxelNet或PointPillars)。
4 CenterPoint
图2展示了CenterPoint模型的整体框架。设为三维骨干网络的输出。CenterPoint的第一阶段预测类别特定的热图、物体大小、子体素位置细化、旋转和速度。所有输出都是密集预测。
中心热图头 中心头的目标是生成任何检测到的物体中心的热图峰值。该头生成一个K通道热图,每个通道对应一个K类。在训练期间,它针对注释边界框的三维中心投影到俯视图生成的二维高斯分布。我们使用焦点损失[64, 29]。在俯视图中,物体比图像中稀疏。在俯视图中,距离是绝对的,而图像视图通过透视扭曲它们。考虑一个道路场景,在俯视图中,车辆占据的区域很小,但在图像视图中,几个大物体可能占据大部分屏幕。此外,透视投影中深度维度的压缩自然地将物体中心放置在图像视图中更靠近彼此。遵循CenterNet的标准监督会导致非常稀疏的监督信号,其中大多数位置被视为背景。为了抵消这一点,我们增加了目标热图Y的正监督,通过在每个地面真值物体中心渲染更大的高斯峰值。具体来说,我们将高斯半径设置为σ=max(f(wl),τ),其中τ=2是最小允许的高斯半径,f是CornerNet[29]中定义的半径函数。通过这种方式,CenterPoint保持了基于中心的目标准则的简单性;模型从附近的像素获得更密集的监督。
回归头 我们在物体的中心特征处存储几个物体属性:子体素位置细化、地面高度
、三维尺寸
和偏航角旋转
。子体素位置细化oo减少了由于体素化和骨干网络步幅引入的量化误差。地面高度hghg有助于在三维中定位物体,并添加了俯视图投影移除的缺失高度信息。方向预测使用偏航角的正弦和余弦作为连续回归目标。结合框大小,这些回归头提供了三维边界框的完整状态信息。每个输出使用其自己的头。在训练期间,仅在地面真值中心处使用L1回归损失进行监督。我们回归到对数大小以更好地处理各种形状的框。在推理时,我们通过在每个物体的峰值位置索引到密集回归头输出来提取所有属性。
图2:CenterPoint框架的概述。我们依赖于一个标准的三维骨干网络,从激光雷达点云中提取俯视图特征表示。然后,一个二维CNN架构的检测头找到物体中心,并使用中心特征回归完整的三维边界框。这个框预测用于提取估计的三维边界框每个面上的三维中心点特征,这些特征通过MLP传递,以预测IoU引导的置信度分数和框回归细化。最好以彩色查看。
速度头和跟踪 为了跟踪物体,我们学习预测每个检测到的物体的二维速度估计作为额外的回归输出。速度估计是特殊的,因为它需要两个输入地图视图,当前和前一时间步。它预测当前帧和过去帧之间的物体位置差异。与其他回归目标一样,速度估计也在当前时间步的地面真值物体位置处使用L1损失进行监督。
在推理时,我们使用这个偏移量以贪婪的方式将当前检测与过去的检测关联起来。具体来说,我们将当前帧中的物体中心投影回前一帧,通过应用负速度估计,然后通过最近距离匹配将它们与跟踪的物体匹配。遵循SORT[4],我们将未匹配的轨迹保留最多T=3帧,然后再删除它们。我们使用每个未匹配轨迹的最后已知速度估计更新它们。详见补充材料中的跟踪算法图。
CenterPoint将所有热图和回归损失结合在一个共同的目标中,并联合优化它们。它简化和改进了之前基于锚点的三维检测器(见实验)。然而,物体的所有属性目前都是从物体的中心特征推断出来的,这可能不包含足够的信息来进行准确的物体定位。例如,在自动驾驶中,传感器通常只看到物体的侧面,而不是其中心。接下来,我们通过使用一个轻量级的点特征提取器改进CenterPoint。
两阶段CenterPoint
我们使用不变的CenterPoint作为第一阶段。第二阶段从骨干网络的输出中提取额外的点特征。我们为预测边界框的每个面提取一个点特征。注意,边界框中心、顶部和底部面中心都投影到俯视图中的同一点。因此,我们只考虑四个向外面的面以及预测的物体中心。对于每个点,我们使用双线性插值从骨干网络的俯视图输出M中提取特征。接下来,我们将提取的点特征连接并通过一个MLP传递。第二阶段在第一阶段CenterPoint的预测结果之上预测类别无关的置信度分数和框细化。
对于类别无关的置信度分数预测,我们遵循[26, 30, 44, 46]并使用由框的3D IoU引导的分数目标I:
对于框回归,模型在第一阶段提议的基础上预测一个细化,我们使用L1损失训练模型。我们的两阶段CenterPoint简化和加速了之前使用昂贵的基于PointNet的特征提取器和RoIAlign操作的两阶段三维检测器[44, 45]。
架构
所有第一阶段输出共享一个3×3卷积层、批量归一化[25]和ReLU。每个输出然后使用两个3×3卷积的分支,中间有批量归一化和ReLU。我们的第二阶段使用一个共享的两层MLP,带有批量归一化、ReLU和丢弃率0.3的丢弃[22],随后是两个分支的三个全连接层,一个用于置信度分数,一个用于框回归预测。
5 实验
我们在Waymo开放数据集和nuScenes数据集上评估CenterPoint。我们使用两个三维编码器实现CenterPoint:VoxelNet[56, 66, 67]和PointPillars[28],分别称为CenterPoint-Voxel和CenterPoint-Pillar。
Waymo开放数据集 Waymo开放数据集[48]包含798个训练序列和202个验证序列,用于车辆和行人。点云由64线激光雷达捕获,每0.1秒产生约18万个激光雷达点。官方的三维检测评估指标包括标准的三维边界框平均精度(mAP)和由航向准确性加权的mAP(mAPH)。mAP和mAPH基于车辆0.7和行人0.5的IoU阈值。对于三维跟踪,官方指标是多物体跟踪准确性(MOTA)和多物体跟踪精度(MOTP)[3]。官方评估工具包还提供了两个难度级别的性能分解:LEVEL_1用于包含超过五个激光雷达点的框,LEVEL_2用于至少包含一个激光雷达点的框。
我们的Waymo模型使用X和Y轴的检测范围为[-75.2m, 75.2m],Z轴的检测范围为[-2m, 4m]。CenterPoint-Voxel使用(0.1m, 0.1m, 0.15m)的体素大小,遵循PV-RCNN[44],而CenterPoint-Pillar使用(0.32m, 0.32m)的网格大小。
nuScenes数据集 nuScenes[6]包含1000个驾驶序列,其中700、150和150个序列分别用于训练、验证和测试。每个序列大约20秒长,激光雷达频率为20 FPS。该数据集提供每个激光雷达帧的校准车辆姿态信息,但仅每十帧(0.5秒)提供框注释。nuScenes使用32线激光雷达,每帧产生约3万个点。总共有28k、6k和6k个注释帧用于训练、验证和测试。注释包括10个类,具有长尾分布。官方评估指标是类别的平均值。对于三维检测,主要指标是平均精度(mAP)[13]和nuScenes检测分数(NDS)。mAP使用鸟瞰图中心距离<0.5m、1m、2m、4m,而不是标准的框重叠。NDS是mAP和其他属性指标(包括平移、尺度、方向、速度和其他框属性[6])的加权平均值。在我们的测试集提交后,nuScenes团队添加了一个新的神经规划指标(PKL)[37]。PKL指标基于规划器的路线(使用三维检测)与地面真值轨迹的KL散度,测量三维物体检测对下游自动驾驶任务的影响。因此,我们还报告了所有在测试集上评估的方法的PKL指标。
对于nuScenes的实验,我们将检测范围设置为X和Y轴的[-51.2m, 51.2m],Z轴的[-5m, 3m]。CenterPoint-Voxel使用(0.1m, 0.1m, 0.2m)的体素大小,CenterPoint-Pillars使用(0.2m, 0.2m)的网格。
训练和推理 我们使用与之前工作[44, 67]相同的网络设计和训练计划。详见补充材料中的详细超参数。在两阶段CenterPoint的训练过程中,我们随机采样128个框,正负比为1:1[43],从第一阶段的预测中。如果提议框与地面真值注释重叠至少0.55 IoU[44],则为正。在推理时,我们在非极大值抑制(NMS)后对前500个预测运行第二阶段。推理时间在Intel Core i7 CPU和Titan RTX GPU上测量。
主要结果
三维检测 我们首先在Waymo和nuScenes的测试集上展示我们的三维检测结果。两个结果都使用单个CenterPoint-Voxel模型。表1和表2总结了我们的结果。在Waymo测试集上,我们的模型在车辆检测上达到了71.8级2 mAPH,在行人检测上达到了66.4级2 mAPH,比之前的方法分别高出7.1% mAPH和10.6% mAPH。在nuScenes(表2)上,我们的模型比去年的挑战获胜者CBGS[67]多尺度输入和多模型集成高出5.2% mAP和2.2% NDS。我们的模型也更快,如下所示。最好的单模型在Waymo上实现了71.8和66.4级2 mAPH,分别用于车辆和行人检测,在nuScenes上实现了58.0 mAP和65.5 NDS,在两个数据集上均优于所有已发表的方法。值得注意的是,在NeurIPS 2020 nuScenes 3D检测挑战赛中,CenterPoint被前三名中的三支队伍采用。对于三维跟踪,我们的模型在nuScenes上达到了63.8 AMOTA,比之前的最新技术水平高出8.8 AMOTA。在Waymo 3D跟踪基准测试中,我们的模型分别实现了59.4和56.6级2 MOTA,分别用于车辆和行人跟踪,比之前的方法高出最多50%。我们的端到端三维检测和跟踪系统接近实时运行,在Waymo上为11 FPS,在nuScenes上为16 FPS。
表1:Waymo测试集上三维检测的最先进方法比较。我们展示了1级和2级基准的mAP和mAPH
表2:nuScenes测试集上三维检测的最先进方法比较。我们展示了nuScenes检测分数(NDS)和平均精度(mAP)
表3:Waymo测试集上三维跟踪的最先进方法比较。我们展示了MOTA和MOTP。↑表示越高越好,↓表示越低越好
表4:nuScenes测试集上三维跟踪的最先进方法比较。我们展示了AMOTA、误报数(FP)、漏报数(FN)、ID切换数(IDS)和每个类别的AMOTA。↑表示越高越好,↓表示越低越好
表5:Waymo验证集上基于锚点和基于中心点方法的三维检测比较。我们展示了每个类别和平均的2级mAPH
表6:nuScenes验证集上基于锚点和基于中心点方法的三维检测比较。我们展示了平均精度(mAP)和nuScenes检测分数(NDS)
消融研究
基于中心与基于锚点 我们首先比较了基于中心的一阶段检测器与其基于锚点的对应物[28, 56, 67]。在Waymo上,我们遵循最先进的PV-RCNN[44]设置锚点超参数:我们在每个位置使用两个锚点,分别为0°和90°;正/负IoU阈值设置为车辆的0.55/0.4和行人的0.5/0.35。在nuScenes上,我们遵循去年的挑战获胜者CBGS[67]的锚点分配策略。所有其他参数与我们的CenterPoint模型相同。
如表5所示,在Waymo数据集上,从锚点切换到我们的中心点分别在VoxelNet和PointPillars编码器上带来了4.3 mAPH和4.5 mAPH的改进。在nuScenes(表6)上,CenterPoint在不同骨干网络上改进了基于锚点的对应物3.8-4.1 mAP和1.1-1.8 NDS。为了理解改进来自哪里,我们进一步展示了Waymo验证集上基于物体大小和方向角度的不同子集的性能分解。
表7:基于锚点和基于中心点方法在检测不同航向角物体时的比较。旋转角度的范围及其对应物体部分列在第2行和第3行。我们展示了Waymo验证集上两种方法的2级mAPH
表8:基于锚点和基于中心点方法在不同大小物体上的性能影响。我们展示了不同大小范围(小33%,中33%,大33%)物体的每个类别的2级mAPH
表9:在Waymo验证集上比较使用单阶段、两阶段(带三维中心特征)和两阶段(带三维中心和表面中心特征)的VoxelNet和PointPillars编码器的三维2级mAPH
表10:两阶段细化模块中不同特征组件的消融研究。VSA代表体素集抽象,是PV-RCNN[44]中使用的特征聚合方法。RBF使用径向基函数插值三个最近的邻居。我们使用Waymo验证集上的2级mAPH比较鸟瞰图和三维体素特征
我们首先根据其航向角度将地面真值实例分为三个区间:0°到15°、15°到30°和30°到45°。这种划分测试了检测器对严重旋转框的检测性能,这对自动驾驶的安全部署至关重要。我们还根据大小将数据集分为三个部分:小、中和大,每个部分包含总体地面真值框的三分之一。
表7和表8总结了结果。我们的基于中心的检测器在框旋转或偏离平均框大小时表现远好于基于锚点的基线,展示了模型在检测物体时的旋转和大小不变性。这些结果令人信服地突显了使用基于点的三维物体表示的优势。
一阶段与两阶段 在表9中,我们展示了使用二维CNN特征的单阶段和两阶段CenterPoint模型在Waymo验证上的比较。使用多个中心特征的两阶段细化对两个三维编码器都带来了很大的准确性提升,开销很小(6ms-7ms)。我们还与RoIAlign进行了比较,后者在RoI中密集采样6×6个点[44, 46],我们的基于中心的特征聚合实现了相当的性能,但更快且更简单。
图3:CenterPoint在Waymo验证集上的定性结果示例。我们展示了原始点云(蓝色)、检测到的物体(绿色边界框)以及边界框内的激光雷达点(红色)。最好在屏幕上查看
体素量化限制了两阶段CenterPoint对PointPillars行人检测的改进,因为行人通常只占据模型输入中的1个像素。
在我们的实验中,两阶段细化并没有在nuScenes上带来单阶段CenterPoint模型的改进。我们认为原因是nuScenes数据集使用32线激光雷达,每帧产生约3万个激光雷达点,约为Waymo数据集点数的六分之一,这限制了两阶段细化的潜在改进。之前的方法如PointRCNN[45]和PV-RCNN[44]也观察到了类似的结果。
表11:Waymo验证集上三维检测的最先进方法比较
表12:nuScenes验证集上三维跟踪的消融研究。我们展示了不同检测器和跟踪器的组合。CenterPoint-*是我们的检测器。Point是我们提出的跟踪器。M-KF是基于马氏距离的卡尔曼滤波器的缩写,如去年的挑战获胜者Chiu等人[10]所使用。Ttrack表示跟踪时间,Ttot表示检测和跟踪的总时间
不同特征组件的影响 在我们的两阶段CenterPoint模型中,我们仅使用来自二维CNN特征图的特征。然而,之前的方法提出也利用体素特征进行第二阶段细化[44, 46]。在这里,我们与两个体素特征提取基线进行了比较:
体素集抽象 PV-RCNN[44]提出了体素集抽象(VSA)模块,扩展了PointNet++[41],从三维体素特征中聚合点特征。
径向基函数(RBF)插值 PointNet++[41]和SA-SSD[20]使用径向基函数从三个最近的非空三维特征体中聚合网格点特征。
对于这两个基线,我们使用官方实现将鸟瞰图特征与体素特征结合。表10总结了结果。它显示鸟瞰图特征足以实现良好的性能,同时比文献[44, 41, 20]中使用的体素特征更高效。
为了与未在Waymo测试上评估的先前工作进行比较,我们还在表11中报告了Waymo验证分割上的结果。我们的模型在所有已发表的方法中大幅领先,特别是在具有挑战性的行人类别(+18.6 mAPH)的2级数据集上,其中框仅包含一个激光雷达点。
三维跟踪 表12显示了nuScenes验证上的三维跟踪消融实验。我们与去年的挑战获胜者Chiu等人[10]进行了比较,后者使用基于马氏距离的卡尔曼滤波器来关联CBGS[67]的检测结果。我们将评估分解为检测器和跟踪器,以进行严格的比较。给定相同的检测物体,使用我们简单的基于速度的最近点距离匹配优于基于卡尔曼滤波器的马氏距离匹配[10]3.7 AMOTA(第1行与第3行,第2行与第4行)。改进有两个来源:1)我们使用学习的点速度对物体运动进行建模,而不是使用卡尔曼滤波器对三维边界框动态进行建模;2)我们通过中心点距离而不是框状态的马氏距离或三维边界框IoU来匹配物体。更重要的是,我们的跟踪是一个简单的最近邻匹配,没有任何隐藏状态计算。这节省了三维卡尔曼滤波器[10]的计算开销(73ms vs. 1ms)。
6 结论
我们提出了一个基于中心的框架,用于从激光雷达点云中同时进行三维物体检测和跟踪。我们的方法使用标准的三维点云编码器和头部的几个卷积层来生成鸟瞰图热图和其他密集回归输出。检测是一个简单的局部峰值提取和细化,跟踪是一个最近距离匹配。CenterPoint简单、接近实时,并在Waymo和nuScenes基准测试中实现了最先进的性能。
附录A 跟踪算法
附录B 实现细节
我们的实现基于CBGS[67]的开源代码1。CBGS提供了nuScenes上的PointPillars[28]和VoxelNet[66]的实现。对于Waymo实验,我们使用与VoxelNet相同的架构,并按照数据集的参考实现2将PointPillars[28]的输出步幅增加到1。
Footnote 1: https://github.com/poodarchu/bet3D
Footnote 2: lingvo/lingvo/tasks/car at master · tensorflow/lingvo · GitHub
在nuScenes中的一种常见做法[6, 49, 60, 67]是将未注释帧的激光雷达点转换并合并到其后的注释帧中。这会产生更密集的点云,并实现更合理的速度估计。我们在所有nuScenes实验中遵循这一做法。
表13:nuScenes测试集上三维检测的最先进方法比较。我们展示了NDS、mAP和每个类别的mAP。缩写:施工车辆(CV)、行人(Ped)、摩托车(Motor)和交通锥(TC)
表14:nuScenes验证集上三维检测的消融研究
对于数据增强,我们使用沿X和Y轴的随机翻转,以及从[0.95,1.05]中随机缩放因子进行全局缩放。我们使用nuScenes[67]的[-π/8,π/8]和Waymo[44]的[-π/4,π/4]之间的随机全局旋转。我们还使用nuScenes上的地面真值采样[56]来处理长尾类别分布,将一个帧中的注释框内的点复制并粘贴到另一个帧中。
对于nuScenes数据集,我们遵循CBGS[67]使用AdamW[34]优化器进行优化,采用one-cycle学习率策略[19],最大学习率为1e-3,权重衰减为0.01,动量为0.85到0.95。我们在4个V100 GPU上以批量大小16训练模型20个epoch。
我们对Waymo模型使用相同的学习率3e-3,并按照PV-RCNN[44]训练模型30个epoch。为了在大规模Waymo数据集上节省计算,我们对各种消融研究使用第二阶段细化模块对模型进行6个epoch的微调。所有消融实验都在此相同设置下进行。
对于nuScenes测试集提交,我们使用0.075m×0.075m的输入网格大小,并在检测头中添加两个单独的可变形卷积层[11],以学习分类和回归的不同特征。这提高了CenterPoint-Voxel在nuScenes验证上的性能,从64.8 NDS提高到65.4 NDS。对于nuScenes跟踪基准测试,我们提交了最佳的CenterPoint-Voxel模型,并进行翻转测试,在nuScenes验证上获得了66.5 AMOTA的结果。
附录C nuScenes各类别性能
我们在表13中展示了与最先进方法的各类别比较。
附录D nuScenes检测挑战
作为一个通用框架,CenterPoint与当代方法互补,并被NeurIPS 2020 nuScenes检测挑战赛前三名中的三支队伍使用。在本节中,我们描述了我们获胜提交的细节,该提交显著改进了2019年挑战获胜者CBGS[67],提高了14.3 mAP和8.1 NDS。我们在表14中报告了一些改进的结果。我们使用PointPainting[49]为每个激光雷达点注释图像级实例分割结果,该结果由在nuimages5上训练的Cascade RCNN模型生成。这提高了NDS从65.4到68.0。然后,我们进行了两次测试时增强,包括双翻转测试和绕偏航轴的点云旋转。具体来说,我们使用[0°,±6.25°,±12.5°,±25°]进行偏航旋转。这些测试时增强将NDS从68.0提高到70.3。最后,我们使用输入网格大小在[0.05m,0.05m]到[0.15m,0.15m]之间的五个模型进行集成,并过滤掉预测中点数为零的结果,这在我们最好的nuScenes验证结果中,mAP为68.2,NDS为71.7。
Footnote 5: 从https://github.com/open-mmlab/mmdetection3d/tree/master/configs/nuimages获取