CenterPoint论文阅读

CenterPoint提出了一种将3D对象表示为点的新方法,以简化3D识别。通过检测对象中心,回归3D大小、方向和速度,减少检测器的搜索空间并实现旋转不变性。这种方法也简化了跟踪任务,通过预测物体的相对偏移进行贪婪匹配。在Waymo和nuScenes数据集上,CenterPoint展示了接近实时的高性能。
摘要由CSDN通过智能技术生成

摘要

三维物体通常表示为点云中的三维box。这种表示模仿了经过充分研究的基于图像的2D的bbox检测,但带来了额外的挑战。3D世界中的对象不遵循任何特定的方向,基于box的检测器很难枚举所有的方向或为旋转的对象拟合一个轴对齐的包围框。在本文中,我们建议将3D对象表示、检测和跟踪为点。我们的框架CenterPoint首先使用关键点检测器检测对象的中心,然后回归到其他属性,包括3D大小、3D方向和速度。在第二阶段,它使用对象上的附加点特征来改进这些估计。在CenterPoint中,3D对象跟踪简化为贪婪的近点匹配。
意思就是之前的3d目标检测是模仿2d的目标检测框对目标进行检测,但是带来了额外的困难就是检测框的方向不能像2d图像那样经过枚举确定方向。所以本文用关键点检测对象的中心点,然后回归得到3d对象的大小、方向和速度。再第二阶段,使用对象得附加点特征来改进这些估计。

介绍

相对于已深入研究的2D检测问题,点云上的3D检测提出了一系列有趣的挑战:首先,点云是稀疏的,3D空间的大多数区域都没有测量[23]。其次,所产生的输出是一个三维框,通常与任何全局坐标框架都没有很好地对齐。第三,3D物体的大小、形状和纵横比范围很广,例如,在交通领域,自行车靠近刨床,公共汽车和豪华轿车被拉长,行人很高。
Alt

图1:当车辆在直线道路上行驶时,基于锚点的方法和基于中心的方法都能够准确地检测到物体(上图)。然而,在一个安全关键的左转弯(底部)期间,基于锚点的方法很难将轴向对齐的包围框拟合到旋转的物体上。我们的基于中心的模型通过旋转不变点准确地检测对象。彩色观看效果最好。

在本文中,我们展示了如何将对象表示为点(图1)极大地简化了3D识别。具体来说,CenterPoint使用标准的基于lidar的骨干网,即VoxelNet或PointPillars来构建输入点云的表示。然后,它将这种表示形式压扁为一个俯视图,并使用标准的基于图像的关键点检测器来查找对象中心。对于每个检测到的中心,它会从中心位置的点特征回归到所有其他对象属性,如3D大小、方向和速度。此外,我们使用了一个轻量级的第二阶段来细化目标位置。第二阶段提取估计对象3d boxes每个面三维中心的点特征。该方法恢复了由于跨步和接收域有限而丢失的局部几何信息,以较小的代价提高了性能。
基于中心的表示法有几个关键的优点:
①与边界框不同,点没有内在的方向。这极大地减少了对象检测器的搜索空间,同时允许主干学习对象的旋转不变性和它们相对旋转的旋转等效方差。
②基于中心的表示法简化了跟踪等下游任务。如果对象是点,那么轨迹就是空间和时间上的路径。CenterPoint预测连续帧之间物体的相对偏移(速度),然后贪婪地连接起来。
③基于点的特征提取使我们能够设计一个有效的两阶段细化模块,比以前的方法快得多。

相关工作

2D目标检测

RCNN家族寻找一个类别不可知的边界框候选,然后对其进行分类和细化。YOLO、SSD和RetinaNet直接找到特定于类别的候选框,避免了后来的分类和细化。基于中心的检测器,如CenterNet或CenterTrack,直接检测隐式对象中心点,而不需要候选框。许多3D物体检测器都是从这些2D物体探测器发展而来的。我们认为基于中心的表示[63,64]比轴向对齐的盒子更适合3D应用。

3D目标检测

三维物体检测旨在预测三维旋转的包围框。它们不同于输入编码器上的二维检测器。Vote3Deep利用以特征为中心的投票有效地处理等间距3D体素上的稀疏3D点云。VoxelNet使用每个体素内部的PointNet生成统一的特征表示,其中带有3D稀疏卷积和2D卷积的头部进行检测。SECOND简化了VoxelNet并加快了稀疏3D卷积。PIXOR将所有点投射到带有3D占用率和点强度信息的2D特征图上,以消除昂贵的3D卷积。PointPillars将所有体素计算替换为一个柱式表示,每个地图位置都有一个细长的体素,提高了主干效率。MVF和pillar-od结合多个视图特征来学习更有效的柱子表示。我们的贡献集中在输出表示上,与任何3D编码器兼容,并可以改进它们。(主干网络采用传统方法的encoder,在这篇论文中主要使用了VoxelNet和PointPillars作为点云特征提取的主干网络)

两阶段三维目标检测

两阶段三维物体检测。最近的工作考虑直接将RCNN风格的2D检测器应用于3D域。它们大多应用RoIPool或RoIAlign在3D空间中聚合特定的roi特征,使用基于pointnet的点或体素特征提取器。这些方法从3D激光雷达测量(点和体素)中提取区域特征,由于大量的点,导致运行时间过长。相反,我们从中间特征图中提取5个表面中心点的稀疏特征。这使得我们的第二阶段非常高效,并保持有效。

三维目标跟踪

三维目标跟踪。许多2D跟踪算法很容易跟踪3D对象。然而,基于3D卡尔曼滤波器的专用3D跟踪器仍然具有优势,因为它们可以更好地利用场景中的三维运动。在这里,我们采用了一个更简单的方法基于CenterTrack。我们使用速度估计和基于点的检测来跟踪多帧物体的中心。该跟踪器比专用3D跟踪器更快、更准确。

前期准备

2D CenterNet

2D CenterNet将目标检测重新定义为关键点估计。它获取一个输入图像,并为K个类中的每个类预测一个 w × h w \times h w×h热图 Y ^ ∈ [ 0 , 1 ] w × h × K \hat{Y} \in [0,1]^{w \times h \times K} Y^[0,1]w×h×K。输出热图中的每个局部最大值(即大于其8个邻居的像素)对应于被检测对象的中心。为了检索一个2D框,CenterNet回归到所有类别之间共享的尺寸图 S ^ ∈ R w × h × 2 \hat{S} \in \mathbb{R}^{w \times h \times 2} S^Rw×h×2。对于每个检测对象,大小映射在中心位置存储其宽度和高度。CenterNet架构使用了一个标准的全卷积图像主干网络,并在上面添加了一个密集预测头。在训练过程中,CenterNet学习用高斯核渲染的方式去预测预测热力图,在每个标注对象的中心 q i q_i qi对于每个类 c i ∈ 1 , … , K c_i \in {1, \ldots, K} ci1,,K,并返回到带注释的边界框中心的对象大小 S S S。为了弥补由主干网结构的跨步引入的量化误差,CenterNet还回归到局部偏移的 O ^ \hat{O} O^

3D Detection

P = ( x , y , z , r ) i P = {(x, y, z, r)_i} P=(x,y,z,r)i是三维位置 ( x , y , z ) (x, y, z) (x,y,z)和反射率 r r r测量的无顺序点云。3D对象检测旨在从点云上预测鸟瞰图中的一组3D对象包围框 B = b k B = {b_k} B=bk。每个包围框 b = ( u , v , d , w , l , h , α ) b = (u, v, d, w, l, h,α) b=(u,v,d,w,l,h,α)由相对于对象地平面的中心位置 ( u , v , d ) (u, v, d) (u,v,d)和三维尺寸 ( w , l , h ) (w, l, h) (w,l,h)以及用偏航 α α α表示的旋转组成。在不丧失一般性的情况下,我们使用一个以自我为中心的坐标系,传感器位于 ( 0 , 0 , 0 ) (0,0,0) (0,0,0) y a w = 0 yaw= 0 yaw=0
在下一节中,我们将展示如何基于点表示构建原则性的3D对象检测和跟踪模型。我们引入了一种新的基于中心的检测头,但依赖于现有的3D骨干(VoxelNet或PointPillars)。

CenterPoint

Alt

图2:CenterPoint框架概述。我们依赖于一个标准的3D主干网络,从激光雷达点云中提取地图视图特征表示(BEV)。然后,一个2D
CNN架构检测头找到对象中心,并使用中心特征回归到完整的3D bbox。该box预测用于提取估计的3D
bbox每个面3D中心的点特征,并将其传递到MLP中预测 IoU-guided的置信度评分和box回归细化。彩色观看效果最好。

图2显示了CenterPoint模型的总体框架。设 M ∈ R W × H × F M \in \mathbb{R}^{W \times H \times F} MRW×H×F为三维主干网络的输出。CenterPoint的第一阶段预测特定于类的热图、对象大小、子体素位置细化、旋转和速度。所有输出都是密集的预测。

Center heatmap head

中心头的目标是在任何被检测到的物体的中心位置产生热图峰值。这个头部生成K通道热图 Y ^ \hat{Y} Y^, K个类别各一个通道。在训练过程中,它将标注边界框的3D中心投影到地图视图中所产生的2D高斯模型作为目标。我们使用focal loss。自顶向下地图视图中的对象比图像中的对象稀疏。在map-view中,距离是绝对的,而图像视图通过透视扭曲了它们(点云生成的map-view没有畸变,图像视图有畸变)。考虑一个道路场景,在地图视图中车辆占用的区域很小,但在图像视图中,一些较大的物体可能占据大部分屏幕。此外,透视投影中深度维的压缩自然地使物体的中心在image-view中彼此更接近。按照CenterNet的标准监控[64]会产生非常稀疏的监控信号,其中大多数位置都被认为是背景。为了抵消这一点,我们通过扩大在每个地面真相对象中心渲染的高斯峰值来增加对目标热图 Y Y Y的正监督。具体来说,我们将高斯半径设置为 σ = m a x ( f ( w l ) , τ ) σ = max(f(wl), τ) σ=max(f(wl)τ),其中 τ = 2 τ = 2 τ=2是允许的最小高斯半径, f f f是在CornerNet[29]中定义的半径函数。通过这种方式,CenterPoint保持了基于中心的目标分配的简单性;该模型从附近的像素得到更密集的监督。

Regression heads

我们在对象的中心特征中存储了几个对象属性:亚体素位置细化 o ∈ R 2 o \in \mathbb{R}^2 oR2,地上高度 h g ∈ R hg \in \mathbb{R} hgR, 3D尺寸 s ∈ R 3 s \in \mathbb{R}^3 sR3,偏角旋转角度 ( sin ⁡ ( α ) , cos ⁡ ( α ) ) ∈ R 2 (\sin(\alpha), \cos(\alpha)) \in \mathbb{R}^2 (sin(α),cos(α))R2。通过亚体素定位细化,减小了来自骨干网络体素化和跨步化的量化误差。地面高度hg有助于在3D中定位物体,并添加被map-view投影删除的缺失的高度信息。方向预测使用偏航角的正弦和余弦作为连续回归目标。结合box大小,这些回归头提供了三维bbox的完整状态信息。每个输出使用自己的head。在训练时,只有地面真值中心使用L1回归损失进行监督。我们回归到对数大小,以更好地处理各种形状的boxes。在推理时,我们通过索引到每个对象的峰值位置的密集回归头输出提取所有属性。

Velocity head and tracking

为了随时间跟踪对象,我们学习为每个检测到的对象预测二维速度估计 v ∈ R 2 v \in \mathbb{R}^2 vR2作为额外的回归输出。速度估计是特殊的,因为它需要两个输入地图视图,即当前和以前的时间步长。它预测当前帧和过去帧之间物体位置的差异。像其他回归目标一样,速度估计也使用当前时间步在地面真相对象位置的L1损失进行监督。
在推理时,我们使用这个偏移量以贪婪的方式将当前检测与过去的检测相关联。具体来说,我们通过应用负速度估计将当前帧中的物体中心投影回前一帧,然后通过最近距离匹配将它们与跟踪的物体匹配。按照SORT,我们将不匹配的轨迹保留到T = 3帧,然后删除它们。我们更新每个不匹配的轨迹,用它最后已知的速度估计。详细的跟踪算法图见补充。
请添加图片描述
请添加图片描述
CenterPoint将所有热图和回归损失结合在一个共同目标中,并共同优化它们。它简化和改进了以前基于锚点的3D探测器(见实验)。然而,物体的所有属性目前都是从物体的中心特征推断出来的,这可能不包含准确的物体定位所需的足够信息。例如,在自动驾驶中,传感器通常只能看到物体的侧面,而不能看到物体的中心。接下来,我们通过使用带有轻量级点特征提取器的第二个细化阶段来改进CenterPoint。

4.1Two-Stage CenterPoint

我们使用中心点原样作为第一阶段。第二阶段从主干输出中提取额外的点特征.我们从预测边界框的每个面的三维中心提取一个点特征。注意,包围框的中心,顶部和底部的面中心都投影到地图视图中的同一点。因此,我们只考虑四个向外的盒子面和预测的对象中心(从论文中看,第二阶段采用的点的特征是BEV视角下的点的特征)。对于每个点,我们使用双线性插值从骨干地图视图输出 M M M中提取一个特征。接下来,我们将提取的点特征连接起来,并将它们传递给MLP。第二阶段在CenterPoint的第一阶段预测结果的基础上预测一个类型不可知的置信度分数和box细化。
对于类别不可知的置信度分数预测,我们遵循[26,30,44,46]并使用由box的3D IoU引导的分数目标 I I I与相应的ground truth包围框:。
I = min ⁡ ( 1 , max ⁡ ( 0 , 2 × I o U t − 0.5 ) ) (1) I = \min(1, \max(0, 2 \times IoU_t - 0.5)) \tag{1} I=min(1,max(0,2×IoUt0.5))(1)
其中 I o U t IoU_t IoUt是第t个proposal box 和ground-truth之间的IoU。训练由二元交叉熵损失监督:。
L s c o r e = − I t log ⁡ ( I ^ t ) − ( 1 − I t ) log ⁡ ( 1 − I ^ t ) (2) L{score} = -It \log(\hat{I}t) - (1 - It) \log(1 - \hat{I}_t) \tag{2} Lscore=Itlog(I^t)(1It)log(1I^t)(2)
I ^ t \hat{I}_t I^t是预测的置信度分数。在推理过程中,我们直接使用来自一阶段CenterPoint的类预测,并将最终置信分数计算为两个分数的几何平均值: Q ^ t = Y ^ t ∗ I ^ t \hat{Q}_t = \sqrt{ \hat{Y}_t * \hat{I}_t} Q^t=Y^tI^t ,其中 Q ^ t \hat{Q}_t Q^t是对象t的最终预测置信值, Y ^ t = max ⁡ 0 ≤ k ≤ K Y ^ p , k \hat{Y}_t = \max_{0 \leq k \leq K} \hat{Y}_{p,k} Y^t=max0kKY^p,k I ^ t \hat{I}_t I^t分别是对象t的第一阶段和第二阶段置信值。
对于box回归,模型预测了第一阶段建议的精细化,我们用L1损失训练模型。我们的两阶段CenterPoint简化并加速了之前使用昂贵的基于pointnet的特征提取器和RoIAlign操作的两阶段3D检测器。

Architecture

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

Experiments

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

Conclusion

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

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值