作者丨少年依旧如风@知乎

编辑丨3D视觉工坊

论文:Exploring Simple 3D Multi-Object Tracking for Autonomous Driving

论文地址:​https://arxiv.org/pdf/2108.10312.pdf​

一、动机

在2D多目标跟踪领域中,tracking-by-detection是常用的跟踪方法,该方法首先在每一帧上得到检测框,然后匹配帧间的检测框来完成跟踪任务。

对于3D多目标跟踪领域,tracking-by-detection的方法更是居于主导地位。

作者认为基于tracking-by-detection方法最大的弊端是,启发式匹配步骤通常需要人工设计匹配规则和调试相关参数。这在实际的工程应用中带来了诸多困难:

1.人工设计的规则受限于工程师的领域和先验知识,其效果往往不如基于数据驱动的方法好

2.调试匹配规则参数时,往往费时费力。比如在无人驾驶场景中需要检测和跟踪多种类别目标(车、行人、两轮车等等),手动调参时,需要针对每一类别进行特定调试。

3.传统方法可扩展性比较差,容易重复劳动——这个数据场景调好的参数,可能在另一个数据场景效果不佳,需要重新调试。

针对上述三个弊端,作者尝试在点云3D目标跟踪任务中去除启发式匹配步骤。

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_3d

作者提出的方法SimTrack,可以替换传统的tracking-by-detection模式,用于点云3D目标一体化检测和跟踪。该方法可以很方便地与基于pillar或者voxel的3D目标检测算法结合。SimTrack将目标关联、dead object清除、new-born object检测集成在了一起,降低了跟踪系统的复杂程度。

二、总体结构

给定原始点云数据,首先使用pillar或voxel方法将其体素化(voxelize),然后使用PointNet提取每个pillar或voxel的特征,在backbone中使用2D或3D卷积操作得到鸟瞰图特征。在detection head中使用centerness map上的位置表示目标所在位置,除了输出centerness map外,detection head还输出目标尺寸和朝向等信息。

算法的总体结构如下图所示:

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_自动驾驶_02


探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_点云_03

结合回归分支输出的目标属性信息,得到最终结果,如上图最右侧所示。在上图右侧框中,ID为1的目标表示dead object,它有比较低的置信度;ID为2~4的目标为检测并跟踪到的目标,ID为5的目标为新出现的目标(new-born object)。在推理时,对于初始时刻的点云,只将该帧点云单独作为算法的输入,得到检测结果用于初始化 。

算法流程图:

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_自动驾驶_04

三、Hybrid-Time Centerness Map

hybrid-time centerness map能够关联前一时刻与当前时刻的检测信息,同时还能滤除消失的目标,也可以检测新出现的目标。


探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_点云_05

hybrid-time centerness map 结合下一节所描述的motion updating分支,可以直接关联当前时刻的检测结果和前一时刻的检测结果,从而构建起目标的跟踪身份。

四、Motion Updating Branch


探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_3d_06

五、其他回归分支


探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_点云_07

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_自动驾驶_08

七、实验

在实验时,使用PointPillars作为基于pillar的backbone,使用VoxelNet作为基于voxel的backbone,并分别在nuScenes和Waymo数据集上评估算法。

在nuScenes验证集和测试集上的测试结果如下表所示:

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_点云_09探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_点云_10探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_自动驾驶_11

在Waymo验证集上的测试结果如下表所示:

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_点云_12

在nuScenes验证集上可视化的跟踪过程如下图所示:

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_自动驾驶_13

八、结论

在本文中,作者提出了SimTrack,一种用于激光雷达点云三维多目标跟踪的端到端可训练模型,作者的方法采取了第一步来简化现有手工制作的跟踪管道,这些管道涉及复杂的启发式匹配和手动跟踪管理。通过将提出的混合时间中心图和运动更新分支相结合,作者设计在一个统一的模型中无缝地集成了跟踪对象关联、新生对象检测和死对象移除。大量的实验结果证明了方法的有效性。

九、附录

此外,作者在论文的最后进行了四个小节的阐述:

1.举例说明了具有代表性的匹配启发法和相关超参数如何影响跟踪性能

现有的跟踪方法在启发式匹配中涉及多个超参数。一些广泛使用的方法包括匹配阈值、为死区轨迹保留的最大帧数、初始化新轨迹之前的最小帧数等等。

在启发式匹配中,跟踪性能对超参数设置非常敏感。对于基于卡尔曼滤波的跟踪,协方差矩阵的设置对跟踪结果影响很大。

为了强调为启发式匹配步骤设置超参数的关键作用,作者进行了以两个具有代表性的超参数进行比较:最大年龄和最大距离。前者用于固定轨道在移除前保留一定数量的帧。当对象偶尔在几帧内被遮挡并再次显示时,这会有所帮助。后者确定允许匹配的距离阈值。

得到下图结果:

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_点云_14

2.介绍了SimTrack和CenterPoint之间的更多比较

作者提供了在不同召回率下SimTrack和CenterPoint之间MOTA和IDS的更详细比较。下图所示,作者提出的模型在高召回率下具有更少的身份切换:

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_点云_15

基于这一优势,作者又绘制了汽车、行人和摩托车的MOTA召回曲线,如下图所示:

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_3d_16

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_3d_17

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_自动驾驶_18

3.报告了模型的推断延迟

作者的联合检测和跟踪设计可以灵活地集成到三维目标检测网络中,并且只会给主干网络带来很小的计算开销。下表比较了仅检测模型和我们的联合检测和跟踪模型之间的推断延迟,该模型使用了基于支柱和体素的主干的不同中心度贴图分辨率。

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_3d_19

4.提供了有关nuScenes和Waymo的更多结果

除了简化和改进跟踪,SimTrack还可以提高检测精度。下表比较了SimTrack和CenterPoint的检测结果。

探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_自动驾驶_20

本文仅做学术分享,如有侵权,请联系删文。


探索自动驾驶领域中的3D多目标跟踪(ICCV 2021)_3d_21