CenterPoint 学习笔记

《Center-based 3D Object Detection and Tracking》CVPR2021

代码:https://github.com/tianweiy/CenterPoint
论文:https://arxiv.org/pdf/2006.11275.pdf

CenterPoint听名字有种似曾相识的感觉,没错! 这篇文章的灵感正是来自于图像中的目标检测算法CenterNet: Objects as Points[1].(二者的作者都来自于UT Austin)

本文提出将3D目标表示为点(points),性能优于3DSSD、PointPainting等,端到端3D检测和跟踪速度达30 FPS!

回顾CenterNet

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

CenterPoint

在这里插入图片描述
图1:作者提出了一个基于中心的框架来表示,检测和跟踪对象。以前的基于锚的方法相对于自我车辆坐标使用“轴对齐”的锚。当车辆在直路上行驶时,基于锚点和基于中心的方法都能够准确地检测物体(顶部)。但是,在安全关键的左转(底部)期间,基于锚点的方法很难将轴对齐的边界框拟合到旋转的对象。我们基于中心的模型通过旋转不变点准确地检测物体。彩色效果最佳。

在这里插入图片描述

图2:我们的CenterPoint框架概述。我们依赖于一个标准的3D Backbone,该主干从Lidar点云中提取地图视图特征表示。然后,2D CNN架构检测头找到对象中心,并使用中心特征回归到完整的3D边界框。该框预测用于提取估计的3D边界框的每个面的3D中心处的点特征,这些点特征将传递到MLP中以预测IoU引导的置信度得分和框回归细化。彩色效果最佳

本文的主要贡献是提出了一个两阶段的Center-based的目标检测追踪模型,在第一阶段(如图2中的a,b,c),使用CenterPoint检测三维目标的检测框中心点,并回归其检测框大小,方向和速度。在第二阶段(如图2中的d)设计了一个refinement模块,对于第一阶段中的检测框,使用检测框中心的点特征回归检测框的score并进行refinement。

前处理及主干网络
CenterPoint延续了CenterNet的思路,并没有设计新的主干网络,而是采用之前的工作。其framework如下图所示,图中编码器阶段的虚线框代表可选项,蓝色框代表深度网络,红色框代表固定操作。
在这里插入图片描述
实际上,CenterPoint的主干网络(3D encoder)采用的是PointPillars和VoxelNet的encoder。二者的区别可以通过作者的实验结果看出
在这里插入图片描述

由于PointPillars没有耗时的3DCNN,因而速度更快;VoxelNet因为有更多的参数,所以mAP会更高。

检测头
网络有四个输出:①表征目标中心位置的热力图;②目标尺寸;③目标朝向;④目标速度 (速度用于做目标跟踪,该思路来源于另一篇文章CenterTrack[2]) 。不难看出,这是一种典型的center-based anchor-free检测头。在文中,作者论述了采用这种center-based representation 对检测任务的两点好处:首先,点没有内在的方向。这大大减少了检测器的搜索空间,同时有利于网络学习对象的(rotational invariance)和等变性(rotational equivariance)。其次,在三维检测中,目标定位比对目标的其他三维属性进行更重要。这个反映在常用的评估指标中,这些指标主要依赖于检测到的目标和gt box中心之间的距离,而不是估计的3dbox的属性。笔者认为作者未提到的一个明显的好处则是,此类center-based representation方法不需要做NMS,能减少运算。

主要的Contribution:

  1. 使用点表示目标,简化三维目标检测任务:
    与图像目标检测不同,在点云中的三维目标不遵循任何特定的方向,box-based的检测器很难枚举所有的方向或为旋转的对象拟合一个轴对齐的检测框。但Center-based的方法没有这个顾虑。点没有内转角。这极大地减少了搜索空间,同时保持目标的旋转不变性。(AblationStudy的结果可以看到Center-based方法对模型效果提升非常明显)
  2. Center-based的方法可以简化追踪任务
    作者表明由于该方法不需要额外的运动模型(如Kalman滤波),所以追踪计算时间可以忽略不计,在检测的基础上仅需要运行1毫秒。
  3. 使用一个基于点特征的refinement模块作为网络的第二阶段。保障模型预测性能,同时也比现在大多数的refinement方法更快。我的理解是由于“检测–追踪”的多目标追踪流程对检测阶段的错误预测非常敏感,本文通过第二阶段预测bbox的score来降低CenterPoint第一阶段中产生的错误预测,提升目标检测的质量,同时进一步提升了追踪的结果。

在这里插入图片描述
图3:在Waymo验证中CenterPoint的定性结果示例。我们将原始点云显示为蓝色,将检测到的对象显示为绿色边界框,并使用红色将边界点内部的激光雷达点显示为红色。最好在屏幕上观看。

实验结果

在nuScenes的3D检测和跟踪任务中,单阶段的CenterPoint效果很好,单个模型的NDS为65.5,AMOTA为63.8。模型性能很好,但是论文中说该模型的速度是在Waymo上11FPS,在nuScenes上为16FPS;同时模型的速度实验是在TiTan RTX上做的,也就是在所有边缘计算设备上均达不到实时计算。

作者在nuScenes数据集上进行了实验,如下。
在这里插入图片描述不难看出, CenterPoint在各个类别上都有较好的检测结果,mAP甚至直接超出了PointPillar一倍。

更难能可贵的是,通过下图中作者的ablation study我们可以看出,CenterPoint在性能明显提升的情况下,实时性并没有下降。这也不难理解,毕竟backbone没有大的改变。
在这里插入图片描述

补充知识

就笔者目前看见的anchor-free检测头可以分为三种:

center-based representation: 如Centerpoint

point-based representation: 如PointRCNN[3], 3DSSD[4]

pillar-base representation: 如POD [5]

在这里插入图片描述CenterNet vs CenterPoint.虽然整体思路和CenterNet类似,但是CenterPoint也有三维检测器的独有的特点:

1、在三维检测中,主干网络需要学习目标的旋转不变性和等变性。为了让网络更好的捕获这个特征,作者在中心点预测分支和回归分支各添加了一个可变卷积。中心点预测分支学习旋转不变性,回归分支学习等变性。

2、考虑到网络输出的旋转不变性,作者选择了圆形池化区域,而不是CenterNet中的方形区域。具体说,就是在鸟瞰中,只有当某中心半径r内没有具有更高置信度的中心时,该对象才被视为正,作者将该方法称为Circular NMS。Circular NMS与基于3D IoU的NMS具有一样的抑制效果,但速度更快。

3、基于上述的设计,检测器依然没有达到完美的旋转不变性和等变性。作者因此构建了一个由输入点云的四个旋转、对称副本组成的简单集合,并将这一集合共同输入CenterPoint,每一个都产生一个热力图和回归结果,然后简单地将这些结果求均值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值