[论文阅读]centerpoint——基于Center的三维目标检测与跟踪

centerpoint

基于Center的三维目标检测和跟踪
论文网址:centerpoint

centerpoint前向传播过程

1.输入:点云数据P
2.经过3D编码器(如VoxelNet或者PointPillars),生成俯视图特征图M
3.进入检测头,首先是一个可学习的3x3卷积层、BN层、ReLU激活函数
4.分支到两个头:
(1) 中心点heatmap头:进行几个卷积生成K个热力图,表示K类目标的中心点置信度
(2) 回归头:进行几个卷积,生成所有类别共享的回归目标,包括坐标回归、尺寸回归、高度回归、旋转回归等
5.对heatmap进行非极大抑制,找到峰值点作为检测到的目标中心
6.在每个目标中心的位置,从回归头结果中提取出坐标、尺寸、旋转等属性,形成3D检测框
7.进入两个阶段Refine模块:
(1) 从backbone特征图上采样5个点的特征,表示预测3D框的5个表面中心
(2) 将采样特征连接,经过MLP生成iou预测和框回归结果
(3) 更新检测框结果,形成最终输出

摘要

三维对象通常以点云中三维框的形式表示。这种表示模拟了经过充分研究的基于图像的二维边界框检测,但也带来了额外的挑战。三维世界中的对象没有特定的方向,基于框的检测器在枚举所有方向或拟合一个轴对齐的边界框到旋转对象上会遇到困难。(图像中的二维对象没有特定的方向,这里"方向"更准确的说法应该是"朝向"。图像中物体的朝向与相机视角有关,而三维物体的朝向是绝对的,与传感器无关。所以二维框检测也会面临旋转物体的匹配问题。
在三维空间中,将一个矩形边界框按XYZ轴对齐,这对表示任意朝向的三维物体来说是不够灵活的。传统的锚框检测器需要设置非常多的锚框以枚举各种可能的朝向组合,否则对旋转物体的拟合效果不佳。
)本文提出以点来表示、检测和跟踪三维对象。本文的框架CenterPoint,首先使用一个关键点检测器检测对象的中心,然后回归其他属性,包括三维大小、三维方向和速度。在第二阶段,它使用对象上的额外点特征来提炼这些估计。在CenterPoint中,三维目标跟踪简化为贪心最近点匹配。得到的检测和跟踪算法简单、高效且有效。

引言

强大的三维感知是许多最先进的驾驶系统的关键成分。与充分研究的二维检测问题相比,三维检测在点云上提供了一系列有趣的挑战:首先,点云是稀疏的,三维空间的大多数区域没有测量值。其次,结果是一个三维框,它通常与任何全局坐标框不对齐。第三,三维对象有各种大小、形状和宽高比的变化,例如,在交通领域,自行车几乎是平面的,公共汽车和豪华轿车拉长,行人高大。这些二维和三维检测之间明显的差异使得两者之间的想法转移更加困难。问题的关键在于对象的表示。
本文展示了如何将对象表示为点,大大简化了3D识别。 本文的两级3D检测器CenterPoint使用关键点检测器找到物体的中心和它们的属性,第二级细化所有估计。 具体地说,CenterPoint使用标准的基于激光雷达的骨干网络,即VoxelNet或PointPillars,来构建输入点云的表示。 然后,它将这种表示平展成一个overhead map-view,并使用一个标准的基于图像的关键点检测器来寻找目标中心。 对于每个检测到的中心,它从中心位置的点特征回归到所有其他对象属性,如3D大小、方向和速度。 此外,使用一个轻加权的第二阶段来细化目标位置。 第二阶段提取被估计对象的三维边界框的每个面的三维中心点特征。 它恢复了由于跨步和有限的感受野而丢失的局部几何信息,并以较小的代价带来了可观的性能提升。
基于center的表示有几个关键的优点:首先,与边界框不同,点没有内在的方向。 这极大地减少了目标检测器的搜索空间,同时允许主干学习目标的旋转不变性和相对旋转的旋转等效性。 其次,基于center的表示简化了跟踪等下游任务。 如果对象是点,那么轨迹就是空间和时间中的路径。 Centerpoint预测连续帧之间物体的相对偏移量(速度),然后贪婪地连接起来。 第三,基于点的特征提取使本文能够设计一个有效的两阶段精化模块,比以前的方法快得多。

related work

2D object detection:二维物体检测预测来自图像输入的轴对齐边界框。RCNN家族[Fast RCNN,Mask RCNN,Faster RCNN]找到与类别无关的候选边界框,然后对其进行分类和细化。YOLO、SSD 和RetinaNet 直接找到特定类别的候选框,跳过后续的分类和细化。基于中心的检测器,例如CenterNet 或CenterTrack ,直接检测隐式对象中心点,而不需要候选框。许多三维物体检测器[pointrcnn,Complex-yolo, 3dssd]从这些二维对象检测器演化而来。本文认为基于中心的表示更适合三维应用,而不是轴对齐框。
3D object detection:三维物体检测旨在从点云中预测三维旋转边界框[Pointpillars,Second,3dssd,std]。它们与二维检测器的不同之处在于输入编码器。Vote3Deep [2017]利用基于特征的投票[Voting for voting in online point cloud object detection]来高效处理均匀间隔的三维voxels上的稀疏三维点云。VoxelNet 在每个voxel内使用PointNet 生成统一的特征表示,然后头部使用三维稀疏卷积和二维卷积生成检测。SECOND 简化了VoxelNet并加速了稀疏三维卷积。Pixor 将所有点投影到具有三维占用率和点强度信息的二维特征图上,以消除昂贵的三维卷积。 PointPillars 用支柱表示替换了所有voxel计算,每个地图位置一个高耸细长的支柱,提高了骨干网络的效率。MVF 和Pillar-od 组合多个视图特征来学习更有效的支柱表示。本文的贡献关注输出表示,兼容任何三维编码器都可以改进。
VoteNet 通过投票聚类使用点特征采样和分组来检测物体。相比之下,本文直接回归到三维边界框,而不需要投票。[Identifying unknown instances for autonomous driving.]和[Object as hotspots]在对象中心区域使用了类似的多个点表示(即点锚),并回归到其他属性。本文对每个对象使用一个正样本,并使用关键点估计损失。
Two-stage 3D object detection:最近的工作考虑将RCNN风格的二维检测器直接应用于三维[Fast point rcnn,PV-RCNN,pointrcnn,from points to parts,std]。他们大多将RoIPool 或RoIAlign 应用于三维空间以聚合RoI特定的特征,使用基于pointnet的点[pointrcnn]或voxel [pv-rcnn]特征提取器。这些方法从三维激光雷达测量值(point和voxel)中提取区域特征,导致运行时间过高,因为大量的点。相反,本文从中间特征图中提取5个表面中心点的稀疏特征。这使本文的第二阶段非常高效且有效。
3D object tracking:许多二维跟踪算法[Tracking without bells and whistles,Simple online and realtime tracking,Multiple object tracking with attention to appearance, structure, motion and size,Simple online and realtime tracking with a deep association metric]就地跟踪三维对象。但是,基于三维卡尔曼过滤器的专用三维跟踪器[Probabilistic 3d multi-object tracking for autonomous driving.,A Baseline for 3D Multi-Object Tracking. ]仍然具有优势,因为它们能够更好地利用场景中的三维运动。本文采用一种更简单的方法,遵循CenterTrack 。本文使用速度估计以及多帧中的点检测来跟踪对象中心。与专用三维跟踪器相比,此跟踪器速度更快,准确性更高。

准备工作

2D CenterNet:2D CenterNet [Objects as points]将对象检测重新表述为关键点估计。它以输入图像为输入,并为每个K类预测一个w×h热力图ˆY∈[0,1]w×h×K。输出热力图中的每个局部最大值(即值大于其8邻居的像素)对应检测到的一个对象的中心。为了检索一个2D框,CenterNet回归到一个尺寸图ˆS∈Rw×h×2,该尺寸图在所有类别之间共享。对于每个检测对象,尺寸图在中心位置存储其宽度和高度。CenterNet架构使用标准的全卷积图像骨干网络,并在顶部添加一个稠密预测头。在训练期间,CenterNet学习预测高斯核在每个标注对象中心qi为每个类ci∈{1…K}呈现的热力图,并在标注的边界框的中心回归到对象大小S。为弥补骨干体系结构的步幅引入的量化误差,CenterNet还回归到一个局部偏移ˆO。
热力图:热力图(heatmap)在这里是指网络预测出的每个类别的二维特征图,每个像素的值表示预测该位置是该类别目标中心的置信度。
K类是指需要检测的目标类别数,网络会输出K张热力图,每张热力图对应一个类别。

在测试时,检测器产生K个热力图和稠密的与类别无关的回归头输出。热力图中的每个局部极大值(峰值)对应一个对象,其置信度与峰值处的热力图值成比例。对于每个检测到的对象,检测器从回归图的相应峰值位置检索到所有回归值。根据应用领域的不同,可能需要非极大抑制(NMS)。
3D detection:3D检测 设P={(x,y,z,r)i}为无序的点云,其中(x,y,z)是3D位置,r是反射率测量。3D目标检测旨在从这点云中预测一组3D对象边界框B={bk},以俯视图形式给出。每个边界框b=(u,v,d,w,l,h,α)由中心位置(u,v,d)组成,其相对于地面平面,以及3D尺寸(w,l,h)和用偏航角α表示的旋转。在不失普遍性的情况下,使用以传感器为(0,0,0)、偏航角为0的以自身为中心的坐标系统。
现代3D目标检测器使用一个3D编码器,它将点云量化为规则格子。然后,一个基于点的网络[PointNet]提取每个格子内所有点的特征。然后,3D编码器将这些特征汇聚成其主要特征表示。大多数计算发生在骨干网络中,它仅针对这些量化和汇聚后的特征表示进行操作。一个骨干网络的输出是一个俯视图特征图M∈RW×L×F,其中宽度W和长度L直接与单个voxel格子的分辨率以及骨干网络的步幅相关。常见的骨干网络包括VoxelNet和PointPillars。
有了俯视图特征图M之后,检测头,最常见的是一阶段[ Focal loss for dense object detection.]或两阶段[Faster r-cnn]边界框检测器,然后从这个俯视图特征图上预定义的锚框生成物体检测结果。由于3D边界框有各种大小和方向,基于锚框的3D检测器在将轴对齐的2D框拟合到3D物体上存在困难。此外,在训练期间,前面的基于锚框的3D检测器依赖于2D框IoU进行目标分配[Pv-rcnn,Second],这为不同类别或不同数据集选择正/负阈值带来了不必要的负担。本文展示了如何构建一个以点表示为基础的原则3D目标检测和跟踪模型。本文引入了一个新颖的基于中心的检测头,但仍依赖现有的3D骨干网络(VoxelNet或PointPillars)。

CenterPoint

CenterPoint
上图显示了CenterPoint模型的总体框架。设M∈R(W×H×F)为3D骨干的输出。CenterPoint的第一阶段预测了特定类的热图、对象大小、亚体素位置细化、旋转和速度。所有的输出都是密集的预测。
Center heatmap head:Center heatmap head的目的是在检测到的任何对象的中心位置生成热力图峰值。该头部生成一个K通道的热力图ˆY,每个通道对应K个类别中的一个。在训练期间,它以每个标注的三维边界框的中心的二维高斯投影为目标。本文使用focal loss。从俯视图来看,地图中的对象比图像中更稀疏。在地图视图中,距离是绝对的,而图像视图通过透视使距离失真。考虑一个道路场景,在地图视图中,车辆占用的面积很小,但在图像视图中,几个大的物体可能占据屏幕的大部分。此外,透视投影中深度维度的压缩自然使图像视图中的物体中心彼此靠得更近。按照CenterNet 的标准监督会导致非常稀疏的监督信号,其中大多数位置被认为是背景。为了抵消这一点,本文通过放大每个地面真值对象中心处渲染的高斯峰值来增加目标热力图Y的正样本监督。具体地,本文将高斯半径设置为σ = max(f(wl),τ),其中τ = 2是最小允许高斯半径,f是CornerNet中定义的半径函数。这样,CenterPoint保持了中心表示的目标分配的简单性;从附近像素获取更密集的监督。
目标:这个部分的目标是在检测到的每个对象的中心位置,生成一个热力图的峰值点。
输出:这个部分输出一个K通道的热力图,每个通道对应一个类别,一共K个类别。
训练:在训练时,网络学习预测在每个对象的中心位置生成一个高斯热力值作为目标,最大值就是对象的中心点。
损失函数:使用focal loss作为热力图的损失函数,可以让网络更加关注难以分类的样本。
技巧:因为在俯视图中对象更加稀疏,如果只预测非常小的高斯点,容易成为背景。所以这里放大了高斯核的大小,增强中心点附近像素的正样本监督,提高检测效果。
推理:在推理时,找到热力图中每一个局部最大值的像素,这个点就是检测到的对象中心。
中心热力图头的工作原理如下:
1.每个类别的热力图,找到所有局部最大值的像素点。
2.对每个局部最大值,查看其热力图值(0-1之间)。这个值表示中心置信度。
3.根据中心置信度高低,选取topk个点作为检测结果。高置信度点被保留,低置信度点被过滤。
4.不同类别间会进行非极大抑制(NMS),避免不同类别检测框重合。
5.最后保留下来的topk个点,就是检测出的对象中心。

Regression heads:本文在对象的中心特征处存储几个对象属性:子体素位置校正o∈R2,地面以上高度hg∈R,3D大小s∈R3以及偏航旋转角(sin(α),cos(α))∈R2。子体素位置校正o减小了体素化和骨干网络步幅的量化误差。地面以上高度hg帮助在三维中定位对象并添加了地图视图投影中被删除的高度信息。方向预测使用正弦和余弦作为连续回归目标。结合箱体大小,这些回归头提供了3D边界框的完整状态信息。每个输出都使用自己的头。在训练时,仅使用L1回归损失对准确的中心进行监督。本文对数大小进行回归以更好地处理各种形状的盒子。在推理时,通过在每个对象的峰值位置索引稠密的回归头输出来提取所有属性。
目标:回归头的目标是预测每个检测到的对象的其他属性,如坐标、大小、高度等。
输入:回归头和中心热力图头一样,输入的是从点云生成的俯视图特征图M,shape是[H, W, C]。
输出:回归头输出多个回归图(shape就是[H, W, N],N是回归目标的数量(比如坐标、大小等)),预测坐标、大小、高度等属性,这些回归图对不同类别是共享的。
训练:回归图在每个位置(像素)都是密集预测,但只有ground truth对象中心位置参与损失函数计算。
推理:首先根据中心热力图找到对象中心点p,然后在p点的位置采样回归图,得到对象的坐标、大小等属性。
特点:预测的回归图是密集的,避免了设置anchor;与中心点预测互不影响。
损失函数:使用L1损失计算回归图与ground truth回归目标之间的误差。

Velocity head and tracking:为了在时间跟踪对象,本文为每个检测到的对象学习预测一个二维速度估计v∈R2作为额外的回归输出。速度估计是特殊的,因为它需要两个输入地图视图-当前和前一时间步。它预测当前框和过去帧之间的对象位置差异。与其他回归目标一样,速度估计也使用L1损失在当前时间步的地面真值对象位置进行监督。
在推理时,使用该偏移将当前检测与过去的检测相关联,采用贪心最近距离匹配。具体来说,通过应用负速度估计将当前帧中的对象中心反向投影到前一帧,然后通过最近距离匹配将它们与跟踪的对象匹配。遵循SORT,保留不匹配的轨迹达T=3帧才删除它们。使用最后已知的速度估计更新每个未匹配跟踪。
CenterPoint将所有heatmap和回归损失组合在一个公共目标中,并联合优化它们。它简化和改进了以前的基于锚点的3D检测器。但是,目前所有对象属性都从对象的中心特征推断出来,这可能不包含足够的信息进行准确的对象定位。例如,在自动驾驶中,传感器通常只能看到对象的一侧,而不是它的中心。接下来,本文通过使用带有轻量级点特征提取器的第二个精炼阶段来改进CenterPoint。
目标:该部分的目标是预测每个检测到的物体在两个连续帧之间的运动速度。
输入:当前帧的特征图M1和前一帧的特征图M2。
输出:一个二维向量(v_x, v_y),表示物体在x和y轴方向上的速度大小。
训练:使用当前帧物体真值框的中心位置,采样前一帧特征图M2,计算真值速度作为训练目标。
推理:对当前帧每一个检测框,Predict一个速度(v_x, v_y)。
跟踪:用当前帧检测框根据速度反向投影到前一帧,与前一帧检测框匹配,完成跟踪。
优点:不需要单独的运动模型,速度预测和检测框检测可以端到端集成训练。
损失函数:使用L1损失计算速度预测和真值速度之间的误差。

Two-Stage CenterPoint

本文不变地使用CenterPoint作为第一阶段。第二阶段从骨干网络输出中提取附加的点特征。从预测的3D边界框的每个面上的3D中心提取一个点特征。请注意,边界框中心、顶面中心和底面中心都投影到地图视图中的同一点。因此,只考虑四个朝外的框面以及预测的对象中心。 对于每个点,使用双线性插值从骨干网络地图视图输出M中提取特征。接下来,连接提取的点特征,并通过MLP传递。第二阶段在一阶段CenterPoint的预测结果之上预测一个与类别无关的置信度分数和框修正。
对于与类别无关的置信度得分预测,本文遵循[Acquisition of localization confidence for accurate object detection,Gs3d,Pv-rcnn,From points to parts],使用框与相应地面真值边界框的3D IoU指导的得分目标I:
I = min(1, max(0, 2 × IoUt - 0.5))
对于框回归,模型在第一阶段建议之上预测一个修正,本文使用L1损失训练模型。本文的两阶段CenterPoint简化并加速了之前使用昂贵的基于PointNet的特征提取器和RoIAlign操作的两阶段3D检测器[PointRCNN,PV-RCNN]。
1.第一阶段保持不变,还是CenterPoint的单阶段检测器。
2.第二阶段的目标是提高检测精度。
3.原理:先使用第一阶段的预测框,采样出这个框的3D表面多个点(四个朝外的框面以及预测的对象中心)。
4.对每个采样点,使用网格特征进行插值,得到点的特征表示。
5.将所有采样点的特征连接起来,经过全连接网络。
6.全连接网络输出一个置信度分数和框回归结果。
7.置信度分数用于对第一阶段检测框进行重新评分。
8.框回归结果用于微调第一阶段框的位置。
9.这样第二阶段能利用框表面点特定的局部特征,提升检测精度。
10.与其他第二阶段方法比,这种采样方式非常高效。
总体来说,Two-Stage CenterPoint的第二阶段是一种高效的设计,利用第一阶段预测框采样点特征,进行精炼和重新评分,以提高最终检测精度。

结论

本文提出了一个基于点的从激光雷达点云进行同时3D目标检测和跟踪的框架CenterPoint。本文的方法使用标准的3D点云编码器和检测头中的几个卷积层来产生俯视图热力图和其他稠密回归输出。检测是一个简单的局部峰值提取与修正,跟踪是一个最近距离匹配。CenterPoint简单、近实时,并在Waymo和nuScenes基准测试中达到了状态发表的最佳性能。本文的端到端3D检测和跟踪系统运行接近实时,在Waymo上达到11 FPS,在nuScenes上达到16 FPS。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一朵小红花HH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值