论文解读 | 3D Multi-Object Tracking: A Baseline and New Evaluation Metrics

626 阅读7分钟

image.png 本文是 IROS 2020 论文 3D Multi-Object Tracking: A Baseline and New Evaluation Metrics 的论文解读。

摘要

  • 提出了一个简单、实时的 3D MOT 系统,该系统首先从 Lidar 点云中获取 3D 检测的结果,随后利用 3D 卡尔曼滤波做状态估计,再使用匈牙利算法做数据关联。
  • 由于当时缺少对 3D MOT 的评估准则,本文提出了一个全新的 3D MOT 评估工具和 3 个新的评估指标。

介绍

尽管 2D MOT 在准确度上取得了极大的提升,但现有 MOT 系统往往有着较高的计算和系统复杂度,不适合实时应用。并且各种花样的系统采用不同的 pipeline 却得到相似的跟踪精度,让研究人员难以捉摸到底是系统的哪些模块决定了追踪的 performance。本文的目标就是提供一个清晰、简洁且高效的 3D MOT baseline

文章采用 PointRCNN 作为点云 3D 目标检测器,结合 3D 卡尔曼滤波(恒速模型)和匈牙利算法构成了一个 filter-based MOT system。和其它基于滤波的多目标跟踪系统相比,本文的特点是将物体的 state space 扩展到三维,包括 3D location/size/velocity/ heading orientation

本文提出的系统结构清晰、简单,不仅取得了 3D MOT SOTA,与其它 2D MOT 系统相比,如下图所示,在有着系统最快速度表现的同时,在精度上也有着将近 SOTA 的表现。

image.png

作者分析了现有 3D MOT 存在的两个问题:一是像 KITTI 这样的数据集,只提供了 2D MOT 的评估方法。二是 MOT 的评价指标没有考虑到被追踪目标的置信度。因此,针对性的提出了 3D MOT 的评估方法和 3 个与阈值有关的积分评价指标。

相关工作

2D MOT

基于数据关联,2D MOT 方法可以分为基于 batch 和基于 online 的方法。基于 batch 的方法利用全部序列数据寻找全局最优关联。online 的方法则不利用未来帧,适合实时应用,这类方法将数据关联当作二分图匹配来做,利用匈牙利算法或者深度关联网络求解匹配问题。

本文的出发点是 simple and real-time,因此本文采用匈牙利算法做匹配,用最简单的 constant velocity 运动模型做 cost functions,不引入任何的外观特征。

3D MOT

本文使用 3D 卡尔曼滤波做状态估计,将状态空间扩展到三维,涉及到物体的定位、尺寸、速度和朝向信息。

方法

本文提出的系统是标准的基于滤波的 MOT 系统,主要由 3D 目标检测器、3D 卡尔曼滤波器和数据关联模块组成,包含目标检测、状态估计、数据关联、状态更新和生死记忆(航迹开始和结束)五个动作。除了目标检测器需要训练外,其余模块和动作均能够直接用于推理。 image.png

3D 检测

作者使用 PointRCNNMono3D_PLiDAR 作为 KITTI 数据集上的 3D 检测器,在 nuScenes 上使用 CBGS 作为检测器。检测器负责提取出点云某帧中的所有目标,每个目标 DtD_t8 个参数表示,分别是位置 x,y,z,尺寸 l,w,h,朝向 θ 和置信度 s

3D 卡尔曼滤波 - 状态预测

使用一个恒速模型适应自我运动和其它目标的运动,对于每条历史轨迹,使用 Tt1=(x,y,z,θ,l,w,h,s,vx,vy,vz)T_{t-1} = (x,y,z,θ,l,w,h,s,v_x,v_y,v_z) 来表示,利用恒速模型估计出的当前帧的位置为 xest=x+vx,yest=y+vy,zest=z+vzx_{est}=x+v_x, y_{est}=y+v_y, z_{est}=z+v_z,则对于每条历史轨迹预测出的当前帧状态可用 Test=(xest,yest,zest,θ,l,w,h,s,vx,vy,vz)T_{est} = (x_{est},y_{est},z_{est},θ,l,w,h,s,v_x,v_y,v_z) 表示。

数据关联

对每个预测的状态和 3D 检测结果两两计算 3D IOU 或者负中心距离,作为相似度矩阵(代价矩阵),再使用匈牙利算法做匹配,得到检测结果和历史轨迹的匹配结果。对 IOU 或距离设定一个阈值,过滤掉 IOU 低于阈值或中心距离大于阈值的匹配。最终得到关联成功的轨迹 TmatchT_{match} 和检测结果 DmatchD_{match},以及关联失败的轨迹 TunmatchT_{unmatch} 和检测结果 DunmatchD_{unmatch}

3D 卡尔曼滤波 - 状态更新

根据匹配上的状态预测结果和 3D 检测结果,根据状态的不确定性(具体参考卡尔曼滤波原理)对它们做加权处理,得到最终的状态更新结果,代表根据历史轨迹和当前观测得到的最终状态表示。

由于目标朝向的状态预测和检测结果之间可能出现反向的错误,文中提出了一个朝向修正,当夹角大于 90 度时,对状态预测的 θπ\pi 做修正,保证最终夹角小于 90 度。

轨迹开始和结束

我们可以认为 DunmatchD_{unmatch} 是潜在的新目标,如果它在之后几帧被匹配,就可以根据其最近的一次检测结果创建一个新的轨迹,速度初始化为 0

我们可以认为 TunmatchT_{unmatch} 是潜在的消失的目标,如果它在接下来几帧仍未被匹配,就可以删除该轨迹。

新的 3D MOT 评估工具

就是把 2D IOU 提升到 3D IOU,惩罚深度预测不准确导致的 3D IOU 低但 2D IOU 高的情况。

新的 MOT 评价指标

image.png

本文将目标轨迹的置信度定义为该目标在所有帧置信度的均值

以往评价指标的缺陷

以往的评价指标没有考虑到目标的置信度,导致在刷榜时往往需要人力选取一个合适的置信度,但是这样会导致更换数据集后,该 MOT 系统仍需要重新调整阈值。我们的目标应该是实现一个能够在不同阈值下均保持高精度的 MOT 系统。

如上图 a 所示,FP 指被误报为正样本的负样本,在阈值设置的很小时,即 Recall 很高的时候,会有许多误报的目标轨迹,因为阈值小就把许多置信度不高的轨迹看成了正样本。图 b 则反映了较高的阈值会带来许多 FN,即本该是正样本却漏报为负样本。图 c 表示通过设置一个合理的阈值可以实现最佳的 MOT 精度。

新指标

AMOTAAMOTP 分别是 MOTA - RecallMOTP - Recall 曲线的积分,这两个指标更适用于高召回率的系统。还有一个 sAMOTA 用到了再学习。

实验

实验设置

涉及到评价指标、数据集、baseline、实现细节等,具体在实验时参考原文。

实验结果

涉及到在 KITTInuScenes 两个数据集上对多类目标的定量对比以及推理速度和定性比较。

以下是定量比较: image.png image.png image.png

下图是定性比较:

image.png

消融实验

证明了 3D 检测器、3D 卡尔曼滤波、角度修正的正向效果,证实了角速度未产生作用,以及对比了交并比、航迹开始和结束对应的超参调节效果,具体实验结果参考原文。

下表是消融实验结果: image.png

总结

本文建立了一个简单高效的 3D MOT baseline,整体架构是 tracking by detection,利用卡尔曼滤波做状态估计,结合检测结果做数据关联,对数据关联结果分别进行状态更新、航迹开始和结束处理。

针对缺少 3D MOT 评价工具的问题,本文利用 3D IOU 替代 2D IOU 用于评估,并提出了 3 个适用于高召回率系统的评价指标。