点云 3D 目标检测 - CenterPoint: Center-based 3D Object Detection and Tracking - 基于中心的3D目标检测与跟踪(CVPR 2021)

  • 摘要
  • 1. 导言
  • 2. 相关工作
  • 3. 准备工作
  • 4. CenterPoint
  • 4.1 两阶段 CenterPoint
  • 4.2 体系结构
  • 5. 实验
  • 5.1 主要结果
  • 5.2 消融研究
  • 6. 结论
  • References
  • A. 跟踪算法
  • B. 实施详细信息
  • C. nuScene跨类性能
  • D. nuScenes检测挑战


声明:此翻译仅为个人学习记录

文章信息

摘要

  三维目标通常表示为点云中的三维长方体。这种表示模拟了经过充分研究的基于图像的2D边界框检测,但存在额外的挑战。三维世界中的目标不遵循任何特定的方向,基于框的检测器很难枚举所有方向或将轴对齐的边界框拟合到旋转的目标。在本文中,我们建议将3D目标表示、检测和跟踪为点。我们的框架CenterPoint首先使用关键点检测器检测目标的中心,然后回归到其他属性,包括3D大小、3D方向和速度。在第二阶段,它使用目标上的其他点特征来细化这些估计。在CenterPoint中,3D目标跟踪简化为贪婪的最近点匹配。所得到的检测和跟踪算法简单、高效且有效。CenterPoint在nuScenes基准上实现了最先进的3D检测和跟踪性能,单个模型的NDS为65.5,AMOTA为63.8。在Waymo开放数据集上,CenterPoint大大超过了之前所有的单一模型方法,在所有仅提交激光雷达的数据中排名第一。代码和预训练模型可在https://github.com/tianweiy/CenterPoint。

1. 导言

  强大的3D感知能力是许多最先进的驾驶系统的核心要素[1,50]。与研究得很好的2D检测问题相比,点云上的3D检测提供了一系列有趣的挑战:首先,点云是稀疏的,3D空间的大部分区域都没有测量[23]。第二,生成的输出是一个三维长方体,通常与任何全局坐标系都不对齐。第三,3D物体的尺寸、形状和纵横比范围广泛,例如,在交通领域,自行车接近平面,公共汽车和豪华轿车加长,行人高大。2D和3D检测之间的这些显著差异使得两个领域之间的思想传递更加困难[45,47,60]。其关键在于,轴对齐的2D框[16,17]是自由形式3D目标的拙劣代理。一种解决方案可能是为每个目标方向分类不同的模板(锚点)[58,59],但这不必要地增加了计算负担,并可能引入大量潜在的假阳性检测。我们认为,连接2D和3D域的主要潜在挑战在于目标的这种表示。

3d 点云 体素 mesh 3d点云检测_3d 点云 体素 mesh

图1. 我们提出了一个基于中心的框架来表示、检测和跟踪目标。先前基于锚的方法使用相对于自我车辆坐标的轴对齐锚。当车辆在直线道路上行驶时,基于锚点的方法和基于中心的方法都能够准确地检测物体(顶部)。然而,在安全关键左转(底部)期间,基于锚点的方法很难将轴对齐的边界框拟合到旋转的目标。我们的基于中心的模型通过旋转不变的点精确地检测目标。最佳颜色。

  在本文中,我们展示了如何将目标表示为点(图1)极大地简化了3D识别。我们的两级3D探测器CenterPoint使用关键点探测器[64]找到物体的中心及其属性,第二阶段对所有估计进行细化。具体而言,CenterPoint使用基于标准激光雷达的主干网络,即VoxelNet[56,66]或PointPillars[28],来构建输入点云的表示。然后,它将该表示展平为俯视图视图,并使用基于标准图像的关键点检测器来查找目标中心[64]。对于每个检测到的中心,它将从中心位置的点特征回归到所有其他目标属性,例如3D大小、方向和速度。此外,我们使用轻加权的第二阶段来细化目标位置。该第二阶段提取估计目标3D边界框的每个面的3D中心处的点特征。它恢复了由于跨步和有限的感受野而丢失的局部几何信息,并以较小的成本带来可观的性能提升。

  基于中心的表示有几个关键优点:首先,与边界框不同,点没有固有的方向。这大大减少了物体检测器的搜索空间,同时允许主干学习物体的旋转不变性及其相对旋转的旋转等变性。其次,基于中心的表示简化了诸如跟踪之类的下游任务。如果目标是点,则轨迹是空间和时间中的路径。CenterPoint预测连续帧之间目标的相对偏移(速度),然后贪婪地链接起来。第三,基于点的特征提取使我们能够设计一个有效的两阶段细化模块,该模块比以前的方法快得多[44–46]。

  我们在两个流行的大型数据集上测试了我们的模型:Waymo开放数据集[48]和nuScenes数据集[6]。我们表明,从盒表示到基于中心的表示的简单切换在不同主干下产生了3-4mAP的3D检测增加[28,56,66,67]。两级优化进一步带来额外的2mAP提升,计算开销较小(<10%)。我们最好的单一模型在Waymo上实现了71.8和66.4 level 2 mAPH的车辆和行人检测,在nuScenes上实现了58.0 mAP和65.5 NDS,在两个数据集上都优于所有已发布的方法。值得注意的是,在NeurIPS 2020 nuScenes 3D检测挑战赛中,在前4名获奖作品中有3名采用CenterPoint。对于3D跟踪,我们的模型在nuScenes上的性能为63.8 AMOTA,比现有技术高出8.8 AMOTA。在Waymo 3D跟踪基准上,我们的模型在车辆和行人跟踪方面分别达到59.4和56.6的 level 2 MOTA,超过了以前的方法高达50%。我们的端到端3D检测和跟踪系统几乎实时运行,Waymo上有11 FPS,nuScenes上有16 FPS。

2. 相关工作

2D目标检测从图像输入预测轴对齐边界框。RCNN家族[16,17,21,43]找到一个类别不可知的边界框候选,然后对其进行分类和细化。YOLO[42]、SSD[33]和RetinaNet[32]直接找到一个特定类别的框候选,避免了后续的分类和细化工作。基于中心的检测器,例如CenterNet[64]或CenterTrack[63],直接检测隐式目标中心点,而不需要候选框。许多3D物体检测器[20,45,47,60]是从这些2D目标检测器演变而来的。我们认为,与轴对齐框相比,基于中心的表示[63,64]更适合3D应用。

3D目标检测旨在预测三维旋转边界框[15,28,31,39,56,60,61]。它们与输入编码器上的2D检测器不同。Vote3Deep[12]利用以特征为中心的投票[51]来有效地处理等距3D体素上的稀疏3D点云。VoxelNet[66]使用每个体素内的PointNet[40]来生成统一的特征表示,从具有3D稀疏卷积[18]和2D卷积的头部中产生检测。SECOND[56]简化了VoxelNet并加快了稀疏3D卷积。PIXOR[57]将所有点投影到具有3D占用率和点强度信息的2D特征图上,以去除昂贵的3D卷积。PointPillars[28]用柱表示代替了所有体素计算,即每个地图位置的单个高细长体素,提高了主干效率。MVF[65]和支柱od[52]结合了多个视图特征,以学习更有效的支柱表示。我们的贡献集中在输出表示上,并与任何3D编码器兼容,可以改进它们。

  VoteNet[38]通过使用点特征采样和分组的投票聚类来检测目标。相反,我们通过中心点的特征直接回归到3D边界框,而无需投票。Wong等人[55]和Chen等人[8]在目标中心区域使用了类似的多点表示(即点锚),并回归到其他属性。我们为每个目标使用单个正单元,并使用关键点估计损失。

两阶段3D目标检测。最近的工作考虑将RCNN型2D检测器直接应用于3D域[9,44–46,61]。他们中的大多数使用基于PointNet的点[45]或体素[44]特征提取器,应用RoIPool[43]或RoIAlign[21]来聚合3D空间中的RoI特定特征。这些方法从3D激光雷达测量(点和体素)中提取区域特征,由于大量点,导致运行时间过长。相反,我们从中间特征图中提取5个表面中心点的稀疏特征。这使得我们的第二阶段非常高效,并保持有效。

3D目标跟踪。许多2D跟踪算法[2,4,27,54]很容易地开箱即用的跟踪3D目标。然而,基于3D卡尔曼滤波器[10,53]的专用3D跟踪器仍然具有优势,因为它们更好地利用场景中的三维运动。在这里,我们采用了一种更简单的方法,遵循CenterTrack[63]。我们使用速度估计和基于点的检测来跟踪多帧中的目标中心。该跟踪器比专用3D跟踪器更快、更准确[10,53]。

3. 准备工作

2D CenterNet[64]将目标检测重新表述为关键点估计。它获取输入图像并预测K类中每个类的w×h热图3d 点云 体素 mesh 3d点云检测_3D_02。输出热图中的每个局部最大值(即,其值大于其8个相邻值的像素)对应于检测到的目标的中心。为了检索2D长方体,CenterNet回归到所有类别之间共享的大小图3d 点云 体素 mesh 3d点云检测_目标检测_03。对于每个检测目标,尺寸图将其宽度和高度存储在中心位置。CenterNet架构使用标准的全卷积图像主干,并在顶部添加了密集的预测头。在训练期间,CenterNet学习在每个类ci∈{1…K}的每个注释目标中心qi处使用渲染的高斯核来预测热图,并在注释边界框的中心回归到目标大小S。为了弥补主干架构跨越带来的量化误差,CenterNet还回归到局部偏移量3d 点云 体素 mesh 3d点云检测_目标检测_04

  在测试时,检测器生成K个热图和密集类不可知回归图。热图中的每个局部最大值(峰值)对应于一个目标,置信度与峰值处的热图值成比例。对于每个检测到的目标,检测器从相应峰值位置的回归图中检索所有回归值。根据应用领域的不同,非最大抑制(NMS)是可以担保的。

3D检测 设P={(x,y,z,r)i}是3D位置(x,y,z)和反射率r测量的无序点云。3D目标检测旨在从该点云预测鸟瞰图中的一组3D目标边界框B={bk}。每个边界框b=(u,v,d,w,l,h,α),由相对于物体地面的中心位置(u,v,d)、3D尺寸(w,l,h)和偏航α表示的旋转组成。在不失一般性的情况下,我们使用传感器位于(0,0,0)且偏航=0的以自我为中心的坐标系。

3d 点云 体素 mesh 3d点云检测_3d 点云 体素 mesh_05。宽度和高度都与单个体素箱的分辨率和主干网络的步幅直接相关。常见的主干包括VoxelNet[56,66]和PointPillars[28]。

  对于地图视图特征地图M,检测头(最常见的是一个[32]或两个[43]边界框检测器)然后从锚定在该头顶特征地图上的一些预定义边界框中产生目标检测。由于3D边界框具有各种尺寸和方向,基于锚点的3D检测器很难将轴对齐的2D框适配到3D目标。此外,在训练期间,先前基于锚的3D检测器依赖于2D Box IoU进行目标分配[44,56],这为选择不同类别或不同数据集的正/负阈值带来了不必要的负担。在下一节中,我们将展示如何基于点表示构建原则性的3D目标检测和跟踪模型。我们引入了一种新型的基于中心的检测头,但依赖于现有的3D主干(VoxelNet或PointPillars)。

4. CenterPoint

3d 点云 体素 mesh 3d点云检测_3d 点云 体素 mesh_06是3D主干的输出。CenterPoint的第一阶段预测类特定热图、目标大小、子体素位置细化、旋转和速度。所有输出都是密集预测。

中央热图头。中心头的目标是在任何检测到的目标的中心位置产生热图峰值。该头部产生K通道热图3d 点云 体素 mesh 3d点云检测_点云_07,每个K类一个通道。在训练过程中,它将标注边界框的3D中心投影到地图视图中,生成2D高斯图像。我们使用焦点损失[29,64]。自顶向下地图视图中的目标比图像中的目标更稀疏。在地图视图中,距离是绝对的,而图像视图通过透视来扭曲它们。考虑一个道路场景,在地图视图中,车辆占据的区域很小,但在图像视图中,一些大型目标可能占据大部分屏幕。此外,透视投影中深度维度的压缩自然会使目标中心在图像视图中彼此更接近。遵循CenterNet的标准监管[64]导致非常稀疏的监管信号,其中大多数位置被视为背景。为了抵消这一点,我们通过放大在每个真值目标中心呈现的高斯峰值来增加对目标热图Y的积极监督。具体而言,我们将高斯半径设置为σ=max(f(wl),τ),其中τ=2是最小允许高斯半径,f是CornerNet[29]中定义的半径函数。这样,CenterPoint保持了基于中心的目标分配的简单性;该模型从附近像素获得更密集的监督。

回归头。我们在目标的中心特征处存储了几个目标属性:亚体素位置细化o∈R2,地上高度hg∈R,3D大小s∈R3,偏航旋转角(sin(α),cos(α))∈R2。子体素位置细化减少了主干网络的体素化和跨步产生的量化误差。离地高度hg有助于在3D中定位目标,并添加地图视图投影删除的缺失高程信息。方位预测使用偏航角的正弦和余弦作为连续回归目标。结合框大小,这些回归头提供3D边界框的完整状态信息。每个输出都使用自己的头。在训练时,仅使用L1回归损失来监督真值中心。我们回归到对数大小,以更好地处理各种形状的盒子。在推断时,我们通过索引每个目标峰值位置的密集回归头输出来提取所有属性。

速度头和跟踪。为了通过时间跟踪目标,我们学习预测每个检测到的目标的二维速度估计v∈R2,作为额外的回归输出。速度估计是特殊的,因为它需要两个输入地图视图,即当前和上一个时间步长。它预测当前帧和过去帧之间目标位置的差异。与其他回归目标一样,速度估计也使用当前时间步长处地面真实物体位置处的L1损失进行监督。

3d 点云 体素 mesh 3d点云检测_目标检测_08

图2. CenterPoint框架概述。我们依赖于从激光雷达点云中提取地图视图特征表示的标准3D主干。然后,2D CNN架构检测头找到目标中心,并使用中心特征回归到完整的3D边界框。该框预测用于提取估计的3D边界框的每个面的3D中心处的点特征,这些点特征被传递到MLP以预测IoU引导的置信度分数和框回归细化。最佳颜色。

  在推断时,我们使用这个偏移以贪婪的方式将当前检测与过去的检测相关联。具体来说,我们将当前帧中的目标中心投影回前一帧,方法是应用负速度估计,然后通过最近距离匹配将它们与跟踪的目标匹配。在SORT[4]之后,我们将不匹配的轨迹保留到T=3帧,然后再删除它们。我们用最后一次已知的速度估计来更新每个不匹配的轨迹。详细的跟踪算法图见附录。

  CenterPoint将所有热图和回归损失结合在一个共同目标中,并共同优化它们。它简化并改进了以前基于锚的3D探测器(见实验)。然而,当前从目标的中心特征推断出目标的所有属性,该中心特征可能不包含用于精确目标定位的足够信息。例如,在自动驾驶中,传感器通常只看到物体的侧面,而看不到物体的中心。接下来,我们通过使用具有轻量级点特征提取器的第二个细化阶段来改进CenterPoint。

4.1 两阶段 CenterPoint

  我们使用未更改的CenterPoint作为第一阶段。第二阶段从主干的输出中提取额外的点特征。我们从预测边界框的每个面的3D中心提取一个点特征。请注意,边界框中心、顶面中心和底面中心都投影到地图视图中的同一点。因此,我们只考虑四个朝外的长方体面以及预测的目标中心。对于每个点,我们使用双线性插值从主干地图视图输出M中提取一个特征。接下来,我们连接提取的点特征并将其传递给MLP。第二阶段在一阶段CenterPoint预测结果的基础上预测类别不可知的置信度分数和方框细化。

  对于类别不可知的置信度分数预测,我们遵循[26,30,44,46],并使用由盒子的3D IoU引导的分数目标I和相应的真值边界框:

3d 点云 体素 mesh 3d点云检测_目标检测_09


其中IoUt是第t个提议框和真值之间的IoU。使用二进制交叉熵损失来监督训练:

3d 点云 体素 mesh 3d点云检测_3D_10


其中它是预测的置信分数。在推断过程中,我们直接使用来自第一阶段CenterPoint的类别预测,并将最终置信度分数计算为两个分数的几何平均值3d 点云 体素 mesh 3d点云检测_点云_11,其中,3d 点云 体素 mesh 3d点云检测_3d 点云 体素 mesh_12是目标t的最终预测置信度,3d 点云 体素 mesh 3d点云检测_深度学习_133d 点云 体素 mesh 3d点云检测_深度学习_14分别为目标t的第一阶段和第二阶段置信度。

  对于框回归,模型预测在第一阶段建议的基础上进行改进,我们用L1损失训练模型。我们的两阶段CenterPoint简化并加速了以前使用昂贵的基于PointNet的特征提取器和RoIAlign操作的两阶段3D检测器[44,45]。

4.2 体系结构

  所有第一阶段输出共享第一个3×3卷积层、批归一化[25]和ReLU。然后,每个输出使用由批处理范数和ReLU分隔的两个3×3卷积的各自分支。我们的第二阶段使用共享的两层MLP,具有批次范数ReLU和Dropout[22],下降率为0.3,然后是三个完全连接层的两个分支,一个用于置信度得分,一个用来框回归预测。

5. 实验

  我们在Waymo开放数据集和nuScenes数据集上评估CenterPoint。我们使用两个3D编码器实现CenterPoint:VoxelNet[56,66,67]和PointPillars[28],分别称为CenterPoint-Voxel和CenterPoint-Pillar。

Waymo开放数据集。Waymo开放数据集[48]包含车辆和行人的798个训练序列和202个验证序列。点云由64线激光雷达捕获,每0.1s产生约180k个激光雷达点。官方3D检测评估指标包括标准3D边界框平均精度(mAP)和按航向精度加权的mAP(mAPH)。mAP和mAPH基于车辆的IoU阈值0.7和行人的IoU阈值0.5。对于3D跟踪,官方标准是多目标跟踪精度(MOTA)和多目标跟踪精确度(MOTP)[3]。官方评估工具包还提供了两个难度级别的性能细分:1级用于超过五个激光雷达点的框,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线激光雷达,每帧产生大约30k个点。总共有28k、6k、6k个带注释的框架分别用于训练、验证和测试。注释包括10个具有长尾分布的类。官方评估指标是类别间的平均值。对于3D检测,主要指标是平均精度(mAP)[13]和nuScenes检测分数(NDS)。mAP使用了小于0.5米、1米、2米、4米的鸟瞰中心距离,而不是标准的框重叠。NDS是mAP和其他属性度量的加权平均值,包括平移、缩放、方向、速度和其他框属性[6]。在我们提交测试集后,nuScenes团队添加了一个新的神经规划度量(PKL)[37]。PKL度量基于规划师路线的KL偏差(使用3D检测)和真值轨迹,测量3D目标检测对下游自动驾驶任务的影响。因此,我们还报告了测试集上评估的所有方法的PKL度量。

  对于3D跟踪,nuScenes使用AMOTA[53],它惩罚ID切换、假阳性和假阴性,并在各种召回阈值之间进行平均。

  对于nuScene上的实验,我们将X轴和Y轴的检测范围设置为[-51.2m,51.2m],Z轴的检测距离设置为[-5m,3m]。CenterPoint-Voxel使用(0.1m、0.1m、0.2m)体素大小,CenterPoint-Pillar使用(0.2m、0.2mm)网格。

训练和推理。我们使用与先前工作相同的网络设计和训练计划[44,67]。有关详细的超参数,请参阅补充。在两阶段CenterPoint的训练过程中,我们从第一阶段预测中随机抽取128个具有1:1正负比的框[43]。如果提案与真值注释重叠,且至少有0.55 IoU[44],则该提案是阳性的。在推理过程中,我们对非最大抑制(NMS)之后的前500个预测运行第二阶段。推理时间在Intel Core i7 CPU和Titan RTX GPU上测量。

5.1 主要结果

3D检测 我们首先在Waymo和nuScene的测试集上展示我们的3D检测结果。两个结果都使用单个CenterPoint-Voxel模型。表1和表2总结了我们的结果。在Waymo测试集上,我们的模型实现了71.8 level 2 mAPH的车辆检测和66.4 level 2 mAPH值的行人检测,超过了以前的方法7.1%的车辆mAPH和10.6%的行人mAPH。在nuScenes(表2)上,我们的模型在多尺度输入和多模型集成方面以5.2%mAP和2.2%NDS的表现优于去年挑战赛冠军CBGS[67]。如后所示,我们的模型也快得多。补充材料中包含了分类明细。我们的模型在所有类别中表现出一致的性能改进,并在小类别(交通锥为+5.6 mAP)和极端纵横比类别(自行车为+6.4 mAP,建筑车辆为+7.0 mAP)中表现出更显著的改进。更重要的是,我们的模型在神经平面度量(PKL)(组织者在提交排行榜后评估的隐藏度量)下显著优于所有其他提交的模型。这突出了我们框架的泛化能力。

3d 点云 体素 mesh 3d点云检测_3d 点云 体素 mesh_15

表1. Waymo测试集3D检测的最新对比。我们显示了level 1和level 2基准的mAP和mAPH。

3d 点云 体素 mesh 3d点云检测_3D_16

表2. nuScenes测试集上3D检测的最新比较。我们显示了nuScenes检测分数(NDS)和平均精度(mAP)。

3d 点云 体素 mesh 3d点云检测_3d 点云 体素 mesh_17

表3. Waymo测试集3D跟踪的最新对比。我们展示了MOTA和MOTP。↑ 是为了更高更好↓ 是为了更低更好。

3d 点云 体素 mesh 3d点云检测_点云_18

表4. nuScene测试集上3D跟踪的最新比较。我们显示了AMOTA、假阳性(FP)、假阴性(FN)、id开关(IDS)的数量以及每个类别的AMOTA。↑ 是为了更高更好↓ 是为了更低更好。

3d 点云 体素 mesh 3d点云检测_3d 点云 体素 mesh_19

表5. Waymo验证集中基于锚点和基于中心的3D检测方法的比较。我们显示了每类和平均level 2 mAPH。

3d 点云 体素 mesh 3d点云检测_深度学习_20

表6. 基于锚和基于中心的nuScene验证集3D检测方法的比较。我们显示了平均精度(mAP)和nuScenes检测分数(NDS)。

3D跟踪 表3显示了CenterPoint在Waymo测试集上的跟踪性能。第4节中描述的基于速度的最近距离匹配显著优于Waymo论文[48]中的官方跟踪基线,该论文使用基于卡尔曼滤波器的跟踪器[53]。我们观察到车辆和行人跟踪的MOTA分别提高了19.4和18.9。在nuScene(表4)上,我们的框架比上一个挑战获胜者Chiu等人[10]的表现要好8.8 AMOTA。值得注意的是,我们的跟踪不需要单独的运动模型,并且在可忽略的时间内运行,即在检测之上1毫秒。

5.2 消融研究

Center-based vs Anchor-based。我们首先将我们的基于中心的单阶段检测器与其基于锚的对应检测器进行比较[28,56,67]。在Waymo上,我们遵循最先进的PV-RCNN[44]设置锚超参数:我们在每个位置使用两个锚,分别为0°和90°;车辆的正/负IoU阈值设置为0.55/0.4,行人为0.5/0.35。在nuScenes上,我们遵循上一个挑战获胜者CBGS的锚点分配策略[67]。所有其他参数与我们的CenterPoint模型相同。

3d 点云 体素 mesh 3d点云检测_目标检测_21

表7. 用于检测不同航向角物体的基于锚和基于中心的方法之间的比较。第2行和第3行列出了旋转角度的范围及其对应的目标部分。我们在Waymo验证集中显示了两种方法的LEVEL 2 mAPH。

3d 点云 体素 mesh 3d点云检测_目标检测_22

表8. 目标大小对基于锚点和基于中心的方法性能的影响。我们显示了不同大小范围的目标的每类LEVEL 2 mAPH:小33%、中33%和大33%

3d 点云 体素 mesh 3d点云检测_3D_23

表9. 比较VoxelNet和PointPillars编码器的3D LEVEL 2 mAPH,在Waymo验证集中,使用单阶段、两阶段和两阶段具有3D中心特征,以及两阶段具有三维中心和表面中心特征。

3d 点云 体素 mesh 3d点云检测_点云_24

表10. 两阶段细化模块不同特征组件的消融研究。VSA代表体素集抽象,是PV-RCNN中使用的特征聚合方法[44]。RBF使用径向基函数插值3个最近的邻居。我们使用Waymo验证集上的LEVEL 2 mAPH比较鸟瞰图和3D体素特征。

  如表5所示,在Waymo数据集上,只需从锚点切换到我们的中心,VoxelNet和PointPillars编码器的性能分别提高了4.3mAPH和4.5mAPH。在nuScenes(表6)上,CenterPoint在不同主干上提高了基于锚的对应物3.8-4.1mAP和1.1-1.8 NDS。为了了解改进的来源,我们进一步显示了Waymo验证集上基于目标大小和方向角度的不同子集的性能细分。

  我们首先根据航向角将真值情况分为三个仓:0°至15°、15°至30°和30°至45°。该分配测试探测器检测旋转严重的框的性能,这对自动驾驶的安全部署至关重要。我们还将数据集分为三个部分:小、中、大,每个部分包含1/3的总体真值框。

  表7和表8总结了结果。当长方体旋转或偏离平均长方体大小时,我们的基于中心的检测器比基于锚的基线性能要好得多,这证明了模型在检测目标时捕捉旋转和大小不变性的能力。这些结果令人信服地突出了使用基于点的3D目标表示的优势。

一阶段vs两阶段。在表9中,我们展示了在Waymo验证集中使用2D CNN特征的单阶段和两阶段CenterPoint模型之间的比较。具有多个中心特征的两阶段优化以较小的开销(6ms-7ms)大大提高了两个3D编码器的精度。我们还与RoIAlign(其在RoI[44,46]中密集地采样6×6个点)进行了比较,我们基于中心的特征聚合实现了类似的性能,但更快更简单。

  体素量化限制了两阶段CenterPoint对使用PointPillar进行行人检测的改进,因为行人通常只停留在模型输入中的1个像素中。

  在我们的实验中,两阶段细化并没有带来对nuScene上的单阶段CenterPoint模型的改进。我们认为,原因是nuScenes数据集使用32线激光雷达,每帧产生约30k个激光雷达点,约为Waymo数据集中点数量的1/6,这限制了两阶段细化的潜在改进。在之前的两阶段方法中,如PointRCNN[45]和PV-RCNN[44],也观察到了类似的结果。

不同特征组件的效果。在我们的两阶段CenterPoint模型中,我们只使用2D CNN特征地图中的特征。然而,先前的方法建议也利用体素特征进行第二阶段细化[44,46]。这里,我们比较了两个体素特征提取基线:

体素集抽象。PV-RCNN[44]提出了体素集合抽象(VSA)模块,该模块扩展了PointNet++[41]的集合抽象层,以在固定半径球中聚集体素特征。

3d 点云 体素 mesh 3d点云检测_深度学习_25

图3. Waymo验证集的CenterPoint定性结果示例。我们以蓝色显示原始点云,以绿色边界框显示检测到的目标,以红色显示边界框内的激光雷达点。最好在屏幕上查看。

3d 点云 体素 mesh 3d点云检测_深度学习_26

表11. Waymo验证集3D检测的最新对比。

3d 点云 体素 mesh 3d点云检测_3d 点云 体素 mesh_27

表12. nuScenes验证集3D跟踪的消融研究。我们展示了不同探测器和跟踪器的组合。CenterPoint-*是我们的探测器。点是我们建议的跟踪器。M-KF是基于Mahalanobis距离的卡尔曼滤波器的缩写,正如上次挑战赛冠军Chiu等人所使用的[10]。Ttrack表示跟踪时间,Ttot表示检测和跟踪的总时间。

径向基函数(RBF)插值。PointNet++[41]和SA-SSD[20]使用径向基函数来聚合三个最近的非空3D特征体积的网格点特征。

  对于这两个基线,我们使用其官方实现将鸟瞰图特征与体素特征相结合。表10总结了结果。它表明,与文献[20,41,44]中使用的体素特征相比,鸟瞰图特征足以获得良好的性能,同时效率更高。

  为了与未对Waymo测试集进行评估的先前工作进行比较,我们还在表11中报告了Waymo验证集划分的结果。我们的模型在很大程度上优于所有已发布的方法,特别是对于level 2数据集的具有挑战性的行人类(+18.6 mAPH),其中框只包含一个激光雷达点。

3D跟踪。表12显示了nuScenes验证集的3D跟踪消融实验。我们与去年的挑战获胜者Chiu等人[10]进行了比较,其使用基于mahalanobis距离的卡尔曼滤波器来关联CBGS的检测结果[67]。我们将评估分解为检测器和跟踪器,以使比较严格。给定相同的检测目标,使用我们的基于简单速度的最近点距离匹配比基于卡尔曼滤波器的Mahalanobis距离匹配[10]的性能要好3.7 AMOTA(第1行对第3行,第2行对第4行)。有两个改进的来源:1)我们用学习点速度来建模物体运动,而不是用卡尔曼滤波器来建模三维边界框动态;2) 我们通过中心点距离来匹配目标,而不是通过框状态的Mahalanobis距离或3D边界框IoU。更重要的是,我们的跟踪是一个简单的最近邻匹配,没有任何隐藏状态计算。这节省了3D卡尔曼滤波器的计算开销[10](73ms vs.1ms)。

6. 结论

  我们提出了一种基于中心的框架,用于从激光雷达点云同时检测和跟踪3D目标。我们的方法使用标准3D点云编码器,头部有几个卷积层,以生成鸟瞰热图和其他密集回归输出。检测是一种简单的局部峰值提取和细化,而跟踪是一种最近距离匹配。CenterPoint简单、接近实时,在Waymo和nuScenes基准测试中实现了最先进的性能。

References

[1] Mayank Bansal, Alex Krizhevsky, and Abhijit Ogale. Chauffeurnet: Learning to drive by imitating the best and synthesizing the worst. RSS, 2019. 1
[2] Philipp Bergmann, Tim Meinhardt, and Laura Leal-Taixe. Tracking without bells and whistles. ICCV, 2019. 2
[3] Keni Bernardin, Alexander Elbs, and Rainer Stiefelhagen. Multiple object tracking performance metrics and evaluation in a smart room environment. Citeseer. 5
[4] Alex Bewley, Zongyuan Ge, Lionel Ott, Fabio Ramos, and Ben Upcroft. Simple online and realtime tracking. ICIP, 2016. 2, 4
[5] Alex Bewley, Pei Sun, Thomas Mensink, Dragomir Anguelov, and Cristian Sminchisescu. Range conditioned dilated convolutions for scale invariant 3d object detection. arXiv preprint arXiv:2005.09927, 2020. 6
[6] Holger Caesar, Varun Bankiti, Alex H. Lang, Sourabh Vora, Venice Erin Liong, Qiang Xu, Anush Krishnan, Yu Pan, Giancarlo Baldan, and Oscar Beijbom. nuscenes: A multimodal dataset for autonomous driving. CVPR, 2020. 2, 5, 11
[7] Qi Chen, Lin Sun, Ernest Cheung, Kui Jia, and Alan Yuille. Every view counts: Cross-view consistency in 3d object detection with hybrid-cylindrical-spherical voxelization. NeurIPS, 2020. 6, 8, 12
[8] Qi Chen, Lin Sun, Zhixin Wang, Kui Jia, and Alan Yuille. Object as hotspots: An anchor-free 3d object detection approach via firing of hotspots. ECCV, 2020. 2
[9] Yilun Chen, Shu Liu, Xiaoyong Shen, and Jiaya Jia. Fast point r-cnn. ICCV, 2019. 2
[10] Hsu-kuang Chiu, Antonio Prioletti, Jie Li, and Jeannette Bohg. Probabilistic 3d multi-object tracking for autonomous driving. arXiv:2001.05673, 2020. 2, 3, 6, 8
[11] Jifeng Dai, Haozhi Qi, Yuwen Xiong, Yi Li, Guodong Zhang, Han Hu, and Yichen Wei. Deformable convolutional networks. ICCV, 2017. 11
[12] Martin Engelcke, Dushyant Rao, Dominic Zeng Wang, Chi Hay Tong, and Ingmar Posner. Vote3deep: Fast object detection in 3d point clouds using efficient convolutional neural networks. ICRA, 2017. 2
[13] Mark Everingham, Luc Van Gool, Christopher KI Williams, John Winn, and Andrew Zisserman. The pascal visual object classes (voc) challenge. IJCV, 2010. 5
[14] Runzhou Ge, Zhuangzhuang Ding, Yihan Hu, Yu Wang, Sijia Chen, Li Huang, and Yuan Li. Afdet: Anchor free one stage 3d object detection. arXiv preprint arXiv:2006.12671, 2020. 8
[15] Andreas Geiger, Philip Lenz, and Raquel Urtasun. Are we ready for autonomous driving? the kitti vision benchmark suite. CVPR, 2012. 2
[16] Ross Girshick. Fast r-cnn. ICCV, 2015. 1, 2
[17] Ross Girshick, Jeff Donahue, Trevor Darrell, and Jitendra Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. CVPR, 2014. 1, 2
[18] Benjamin Graham, Martin Engelcke, and Laurens van der Maaten. 3d semantic segmentation with submanifold sparse convolutional networks. CVPR, 2018. 2
[19] Sylvain Gugger. The 1cycle policy. https://sgugger.github.io/the-1cycle-policy.html, 2018. 11
[20] Chenhang He, Hui Zeng, Jianqiang Huang, Xian-Sheng Hua, and Lei Zhang. Structure aware single-stage 3d object detection from point cloud. CVPR, 2020. 2, 3, 7, 8
[21] Kaiming He, Georgia Gkioxari, Piotr Doll´ar, and Ross Girshick. Mask r-cnn. ICCV, 2017. 2
[22] Geoffrey E Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, and Ruslan R Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors. JMLR, 2012. 5
[23] Peiyun Hu, Jason Ziglar, David Held, and Deva Ramanan. What you see is what you get: Exploiting visibility for 3d object detection. CVPR, 2020. 1, 6, 12
[24] Rui Huang, Wanyue Zhang, Abhijit Kundu, Caroline Pantofaru, David A Ross, Thomas Funkhouser, and Alireza Fathi. An lstm approach to temporal 3d object detection in lidar point clouds. ECCV, 2020. 8
[25] Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. ICML, 2015. 5
[26] Borui Jiang, Ruixuan Luo, Jiayuan Mao, Tete Xiao, and Yuning Jiang. Acquisition of localization confidence for accurate object detection. ECCV, 2018. 4
[27] H. Karunasekera, H. Wang, and H. Zhang. Multiple object tracking with attention to appearance, structure, motion and size. IEEE Access, 2019. 2
[28] Alex H. Lang, Sourabh Vora, Holger Caesar, Lubing Zhou, Jiong Yang, and Oscar Beijbom. Pointpillars: Fast encoders for object detection from point clouds. CVPR, 2019. 2, 3, 5, 6, 8, 11, 12
[29] Hei Law and Jia Deng. Cornernet: Detecting objects as paired keypoints. ECCV, 2018. 3
[30] Buyu Li, Wanli Ouyang, Lu Sheng, Xingyu Zeng, and Xiaogang Wang. Gs3d: An efficient 3d object detection framework for autonomous driving. CVPR, 2019. 4
[31] Ming Liang, Bin Yang, Yun Chen, Rui Hu, and Raquel Urtasun. Multi-task multi-sensor fusion for 3d object detection. CVPR, 2019. 2
[32] Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, and Piotr Dollar. Focal loss for dense object detection. ICCV, 2017. 2, 3
[33] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, and Alexander C Berg. Ssd: Single shot multibox detector. ECCV, 2016. 2
[34] Ilya Loshchilov and Frank Hutter. Decoupled weight decay regularization. ICLR, 2019. 11
[35] Mahyar Najibi, Guangda Lai, Abhijit Kundu, Zhichao Lu, Vivek Rathod, Thomas Funkhouser, Caroline Pantofaru, David Ross, Larry S Davis, and Alireza Fathi. Dops: Learning to detect 3d objects and predict their 3d shapes. CVPR, 2020. 8
[36] Jiquan Ngiam, Benjamin Caine, Wei Han, Brandon Yang, Yuning Chai, Pei Sun, Yin Zhou, Xi Yi, Ouais Alsharif, Patrick Nguyen, et al. Starnet: Targeted computation for object detection in point clouds. arXiv preprint arXiv:1908.11069, 2019. 6, 8
[37] Jonah Philion, Amlan Kar, and Sanja Fidler. Learning to evaluate perception models using planner-centric metrics. CVPR, 2020. 5
[38] Charles R. Qi, Or Litany, Kaiming He, and Leonidas Guibas. Deep hough voting for 3d object detection in point clouds. ICCV, 2019. 2
[39] Charles R Qi, Wei Liu, Chenxia Wu, Hao Su, and Leonidas J Guibas. Frustum pointnets for 3d object detection from rgb-d data. CVPR, 2018. 2
[40] Charles R Qi, Hao Su, Kaichun Mo, and Leonidas J Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. CVPR, 2017. 2, 3
[41] Charles Ruizhongtai Qi, Li Yi, Hao Su, and Leonidas J Guibas. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. In NeurIPS, 2017. 7, 8
[42] Joseph Redmon and Ali Farhadi. Yolo9000: better, faster, stronger. CVPR, 2017. 2
[43] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. NIPS, 2015. 2, 3, 5
[44] Shaoshuai Shi, Chaoxu Guo, Li Jiang, Zhe Wang, Jianping Shi, Xiaogang Wang, and Hongsheng Li. Pv-rcnn: Pointvoxel feature set abstraction for 3d object detection. CVPR, 2020. 2, 3, 4, 5, 6, 7, 8, 11
[45] Shaoshuai Shi, Xiaogang Wang, and Hongsheng Li. Pointrcnn: 3d object proposal generation and detection from point cloud. CVPR, 2019. 1, 2, 5, 7
[46] Shaoshuai Shi, Zhe Wang, Jianping Shi, Xiaogang Wang, and Hongsheng Li. From points to parts: 3d object detection from point cloud with part-aware and part-aggregation network. TPAMI, 2020. 2, 4, 7
[47] Martin Simony, Stefan Milzy, Karl Amendey, and HorstMichael Gross. Complex-yolo: An euler-region-proposal for real-time 3d object detection on point clouds. ECCV, 2018. 1, 2
[48] Pei Sun, Henrik Kretzschmar, Xerxes Dotiwalla, Aurelien Chouard, Vijaysai Patnaik, Paul Tsui, James Guo, Yin Zhou, Yuning Chai, Benjamin Caine, et al. Scalability in perception for autonomous driving: An open dataset benchmark. CVPR, 2020. 2, 5, 6
[49] Sourabh Vora, Alex H Lang, Bassam Helou, and Oscar Beijbom. Pointpainting: Sequential fusion for 3d object detection. CVPR, 2020. 6, 11, 12
[50] Dequan Wang, Coline Devin, Qi-Zhi Cai, Philipp Kr¨ahenb¨uhl, and Trevor Darrell. Monocular plan view networks for autonomous driving. IROS, 2019. 1
[51] Dominic Zeng Wang and Ingmar Posner. Voting for voting in online point cloud object detection. RSS, 2015. 2
[52] Yue Wang, Alireza Fathi, Abhijit Kundu, David Ross, Caroline Pantofaru, Tom Funkhouser, and Justin Solomon. Pillarbased object detection for autonomous driving. ECCV, 2020. 2, 8
[53] Xinshuo Weng and Kris Kitani. A Baseline for 3D MultiObject Tracking. IROS, 2020. 2, 3, 5, 6
[54] Nicolai Wojke, Alex Bewley, and Dietrich Paulus. Simple online and realtime tracking with a deep association metric. ICIP, 2017. 2
[55] Kelvin Wong, Shenlong Wang, Mengye Ren, Ming Liang, and Raquel Urtasun. Identifying unknown instances for autonomous driving. CORL, 2019. 2
[56] Yan Yan, Yuxing Mao, and Bo Li. Second: Sparsely embedded convolutional detection. Sensors, 2018. 2, 3, 5, 6, 11
[57] Bin Yang, Wenjie Luo, and Raquel Urtasun. Pixor: Real-time 3d object detection from point clouds. CVPR, 2018. 2
[58] Xue Yang, Qingqing Liu, Junchi Yan, Ang Li, Zhiqiang Zhang, and Gang Yu. R3det: Refined single-stage detector with feature refinement for rotating object. arXiv:1908.05612, 2019. 1
[59] Xue Yang, Jirui Yang, Junchi Yan, Yue Zhang, Tengfei Zhang, Zhi Guo, Xian Sun, and Kun Fu. Scrdet: Towards more robust detection for small, cluttered and rotated objects. ICCV, 2019. 1
[60] Zetong Yang, Yanan Sun, Shu Liu, and Jiaya Jia. 3dssd: Point-based 3d single stage object detector. CVPR, 2020. 1, 2, 11
[61] Zetong Yang, Yanan Sun, Shu Liu, Xiaoyong Shen, and Jiaya Jia. Std: Sparse-to-dense 3d object detector for point cloud. ICCV, 2019. 2
[62] Junbo Yin, Jianbing Shen, Chenye Guan, Dingfu Zhou, and Ruigang Yang. Lidar-based online 3d video object detection with graph-based message passing and spatiotemporal transformer attention. CVPR, 2020. 6, 12
[63] Xingyi Zhou, Vladlen Koltun, and Philipp Kr¨ahenb¨uhl. Tracking objects as points. ECCV, 2020. 2, 3
[64] Xingyi Zhou, Dequan Wang, and Philipp Kr¨ahenb¨uhl. Objects as points. arXiv:1904.07850, 2019. 2, 3
[65] Yin Zhou, Pei Sun, Yu Zhang, Dragomir Anguelov, Jiyang Gao, Tom Ouyang, James Guo, Jiquan Ngiam, and Vijay Vasudevan. End-to-end multi-view fusion for 3d object detection in lidar point clouds. CORL, 2019. 2, 8
[66] Yin Zhou and Oncel Tuzel. Voxelnet: End-to-end learning for point cloud based 3d object detection. CVPR, 2018. 2, 3, 5, 11
[67] Benjin Zhu, Zhengkai Jiang, Xiangxin Zhou, Zeming Li, and Gang Yu. Class-balanced grouping and sampling for point cloud 3d object detection. arXiv:1908.09492, 2019. 2, 5, 6, 7, 8, 11, 12
[68] Xinge Zhu, Yuexin Ma, Tai Wang, Yan Xu, Jianping Shi, and Dahua Lin. Ssn: Shape signature networks for multi-class object detection from point clouds. ECCV, 2020. 6, 12

A. 跟踪算法

3d 点云 体素 mesh 3d点云检测_3D_28

B. 实施详细信息

  我们的实现基于CBGS的开源代码[67](https://github.com/poodarchu/Det3D)。CBGS在nuScene上提供了PointPillars[28]和VoxelNet[66]的实现。对于Waymo实验,我们对VoxelNet使用相同的架构,并根据数据集的参考实现(https://github.com/tensorflow/lingvo/tree/master/lingvo/tasks/car)将PointPillars[28]的输出步长增加到1。

  nuScenes中的一个常见做法[6,49,60,67]是将未注释帧的激光雷达点转换并合并到其下一个注释帧中。这会产生更密集的点云,并实现更合理的速度估计。我们在所有nuScene实验中都遵循这种做法。

  对于数据增强,我们使用沿X轴和Y轴的随机翻转,并使用[0.95,1.05]的随机因子进行全局缩放。我们使用nuScenes[67]的[-π/8,π/8]和Waymo[44]的[-π/4,π/4]之间的随机全局旋转。我们还使用nuScene上的真值采样[56]来处理长尾类分布,该分布将注释框内的点从一帧复制并粘贴到另一帧。

  对于nuScenes数据集,我们遵循CBGS[67],使用AdamW[34]优化器和单周期学习率策略[19]优化模型,最大学习率为1e-3,权重衰减为0.01,动量为0.85至0.95。我们在4个V100 GPU上对批量大小为16的模型进行了20个epochs 的训练。

  除了学习率为3e-3之外,我们对Waymo模型使用相同的训练计划,并且我们在PV-RCNN之后对模型进行了30个epochs 的训练[44]。为了节省大规模Waymo数据集上的计算,我们使用各种消融研究的第二阶段细化模块对6个epochs 的模型进行了微调。所有消融实验都在相同的环境中进行。

  对于nuScene测试集提交,我们使用0.075m×0.075m的输入网格大小,并在检测头中添加两个单独的可变形卷积层[11],以学习分类和回归的不同特征。这将CenterPoint体素在nuScene验证上的性能从64.8 NDS提高到65.4 NDS。对于nuScenes跟踪基准,我们提交了带有翻转测试的最佳CenterPoint-Voxel模型,其结果为nuScene验证集结果为66.5 AMOTA。

C. nuScene跨类性能

  我们在表13中显示了与最先进方法的每类比较。

3d 点云 体素 mesh 3d点云检测_3d 点云 体素 mesh_29

表13. nuScenes测试集上3D检测的最新比较。我们显示了每个类的NDS、mAP和mAP。缩写:建筑车辆(CV)、行人(Ped)、摩托车(Motor)和交通锥(TC)。

3d 点云 体素 mesh 3d点云检测_3d 点云 体素 mesh_30

表14. nuScene验证集3D检测的消融研究。

D. nuScenes检测挑战

  作为一个通用框架,CenterPoint是当代方法的补充,在NeurIPS 2020 nuScenes检测挑战中,前4名中的三名使用了它。在本节中,我们详细介绍了我们的获奖申请,该申请将2019年挑战赛冠军CBGS[67]显著提高了14.3 mAP和8.1 NDS。我们在表14中报告了一些改进的结果。我们使用PointPainting[49],用基于图像的实例分割结果对每个激光雷达点进行注释,该结果由在nuImages(https://github.com/open-mmlab/mmdetection3d/tree/master/configs/nuimages)上训练的级联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验证集中产生了最好的结果,具有68.2mAP和71.7NDS。