谷歌3D多目标跟踪新基线 | SimpleTrack:理解和重新思考3D多目标跟踪

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心技术交流群

后台回复【目标跟踪综述】获取单目标、多目标、基于学习方法的领域综述!

论文:https://arxiv.org/pdf/2111.09621.pdf

代码:https://github.com/TuSimple/SimpleTrack

近年来,三维多目标跟踪(MOT)出现了许多新的基准和方法,尤其是那些“检测跟踪”范式下的基准和算法。尽管它们取得了进展并发挥了作用,但尚未对其优缺点进行深入分析。本文将当前的3D MOT方法归纳为一个统一的框架,将其分解为四个组成部分:检测预处理、关联、运动模型和生命周期管理。然后,我们将现有算法的失败案例归因于每个组件,并对其进行详细调查。基于分析,论文提出了相应的改进,从而形成了一个强大而简单的基线:SimpleTrack。Waymo Open Dataset和nuScenes上的综合实验结果证明本文的最终方法只需稍作修改就能达到SOTA。此外,论文采取了额外的步骤,重新思考当前的基准测试是否真正反映了算法应对现实挑战的能力。深入研究了现有基准的细节,发现了一些有趣的事实。最后,分析了SimpleTrack中剩余故障的分布和原因,并提出了3D MOT的未来方向。

介绍

多目标跟踪(MOT)是计算机视觉中的一项综合任务,它结合了定位和识别两个方面。鉴于MOT系统的复杂性,它通常涉及许多相互关联的部分,例如检测的选择、数据关联、对象运动的建模等。每个模块都有其特殊的处理方式,可以显著影响整个系统的性能。因此,论文提出了3D MOT中的哪些组件发挥了最重要的作用,以及如何改进它们?

考虑到这些目标,论文重新审视了当前的3D MOT算法。这些方法大多采用“检测跟踪”范式,直接从3D探测器获取边界框,并跨帧构建轨迹。本文首先将它们分解为四个单独的模块,并对每个模块进行检查:输入检测的预处理、运动模型、关联和生命周期管理。基于此模块化框架,将3D MOT的故障案例定位并归因于相应的组件,并发现了以前设计中忽略的几个问题。

首先,论文发现不准确的输入检测可能会污染关联,然而,单纯地按分数阈值对其进行删减将牺牲召回。其次,需要仔细设计两个3D边界框之间定义的相似性度量,无论是基于距离的还是简单的IoU都不能很好地工作。第三,物体在三维空间的运动比在二维图像空间的运动更容易预测,因此,运动模型预测和较差观测(低分数检测)之间的一致性很可能表明物体的存在。根据这些观察结果,论文提出了几个简单但不平凡的解决方案。对Waymo Open Dataset和nuScenes的评估表明,我们的最终方法“SimpleTrack”在3D MOT算法中具有竞争力。除了分析3D MOT算法外,还反思了当前的基准测试,强调在评估中需要高频检测和正确处理输出轨迹。为了更好地理解本文方法的上限,根据ID-switch和MOTA度量进一步分解剩余的错误,这些观察结果可以激发更好的算法和基准设计。

2D和3D跟踪

大多数3D MOT方法[3、10、28、37、43、44]都采用“检测跟踪”框架,首先说下具有代表性的3D MOT工作,然后强调3D和2D MOT之间的联系和区别!

3D MOT

许多3D MOT方法由手工制作的基于规则的组件组成。AB3DMOT是使用IoU进行关联和卡尔曼滤波器作为运动模型的通用基线。其著名追随者主要改进了关联部分:Chiu等人和CenterPoint将IoU替换为Mahalanobis和L2距离,后者在nuScenes上表现更好。其他一些人注意到了生命周期管理的重要性,CBMOT提出了一种基于分数的方法来取代“基于计数”的机制,Poschmann等人将3D MOT视为因子图上的优化问题。尽管这些改进很有效,但仍需要对3D MOT方法进行系统研究,尤其是在这些设计受到影响的地方以及如何进一步改进。为此,本文力求达到预期目标。与上述方法不同,许多其他方法尝试用较少的手动设计来解决3D MOT。[2,9,15,38]利用RGB图像的丰富特征进行关联和生命周期控制,Chiu等人专门使用神经网络处理特征融合、关联度量和tracklet初始化。最近,OGR3MOT遵循Guillem等人的思路,以端到端的方式用图形神经网络(GNN)解决3D MOT,重点关注数据关联和活动轨迹的分类。

2D MOT

2D MOT与3D MOT共享数据关联的共同目标。一些值得注意的尝试包括概率方法、动态规划、二部匹配、最小成本流、凸优化和条件随机场。随着深度学习的快速发展,许多方法学习匹配机制,其他方法学习关联度量。与3D MOT类似,许多2D跟踪器也受益于增强的检测质量,并采用“检测跟踪”模式。然而,由于比例变化,RGB图像上的对象大小不同;因此,它们对于关联和运动模型来说更加困难。但2D MOT可以轻松利用丰富的RGB信息并使用外观模型,这在基于激光雷达的3D MOT中是不可用的。总之,MOT方法的设计应该适合每种模式的特点。

3D多目标跟踪pipeline

fe4a74b9a382d96058d05da4e3377b47.png

多目标跟踪的pipeline主要有:

  1. 输入检测的预处理:它预先处理来自探测器的边界框,并选择要用于跟踪的边界框。一些示例操作包括选择分数高于某个阈值的边界框。

  2. 运动模型:它可以预测和更新对象的状态,大多数3D MOT方法直接使用卡尔曼滤波器,而CenterPoint[43]使用探测器从多帧数据预测的速度。协会它将检测与轨迹关联起来。关联模块包括两个步骤:相似度计算和匹配。

  3. 相似性度量:对检测和轨迹之间的距离,而匹配步骤基于预先计算的相似性来解决对应关系。AB3DMOT[37]提出了使用IoU和匈牙利算法的基线,Chiu等人[10]使用马氏距离和贪婪算法,CenterPoint[43]采用L2距离。

  4. 生命周期管理:它控制着“出生”、“死亡”和“产出”政策。“出生”决定检测边界框是否初始化为新的tracklet;“死亡”会将一个轨迹移出注意区域;“输出”决定tracklet是否输出其状态。大多数MOT算法采用简单的基于计数的规则,而CBMOT通过修改tracklet信任的逻辑来改善出生和死亡。

分析改善3D多目标跟踪

在本节中,论文分析和改进3D MOT管道中的每个模块,为了更好地澄清,通过将其从SimpleTrack的最终变体中删除来消除每个修改的影响。默认情况下,消融实验都在使用基于CenterPoint检测上进行验证。

预处理

为了满足召回要求,当前的检测器通常会输出大量的边界框,其分数大致表明其质量。然而,如果在3D MOT的关联步骤中对这些框进行同等处理,则低质量或严重重叠的边界框可能会偏离跟踪器以选择不准确的检测来扩展或形成轨迹(如下图中的“原始检测”),检测和MOT任务之间的这种差距需要仔细处理。3D MOT方法通常使用置信度来过滤低质量检测,并提高MOT输入边界框的精度。然而,这种方法可能会对召回造成不利影响,因为会直接丢弃观察结果较差的物体(下图中的顶行)。这对AMOTA等指标也特别有害,因为AMOTA需要追踪器使用低分数边界框来满足召回要求。为了在不显著降低查全率的情况下提高查准率,论文的解决方案简单而直接:对输入检测应用更严格的非最大值抑制(NMS)。如下图右侧所示,仅NMS操作就可以有效地消除重叠的低质量边界框,同时保持不同的低质量观测,即使是在稀疏点或遮挡等区域。因此,通过在预处理模块中添加NMS,可以大致保持召回率,但大大提高了准确率,并使MOT受益。在WOD上,更严格的NMS操作为车辆和行人删除了51%和52%的边界框,精度几乎翻了一番:车辆为10.8%至21.1%,行人为5.1%至9.9%。与此同时,汽车召回率从78%降至74%,行人召回率从83%降至79%,降幅相对较小。根据表1和表2,这在很大程度上有利于性能,尤其是行人(表2的右侧),因为行人的目标检测任务比较困难。

5b11a7600000b007a4f6d12b628ead6f.png

运动模型

运动模型描述轨迹的运动状态,它们主要用于预测下一帧中对象的候选状态,这是下一个关联步骤的proposal。此外,像卡尔曼滤波器这样的运动模型也可以潜在地细化对象的状态。通常,3D MOT有两种常用的运动模型:卡尔曼滤波器(KF),例如AB3DMOT和恒速模型(CV)使用探测器预测的速度,例如CenterPoint。KF的优点是它可以利用来自多帧的信息,并在面对低质量检测时提供更平滑的结果。同时,CV通过其明确的速度预测更好地处理突然和不可预测的运动,但其对运动平滑的效果有限。表3和表4中,在WOD和nuScenes上比较了这两种情况,这提供了明确的证据。

5eaa597b0179f76aacc349ffcffb4cb2.png

总之,由于运动的可预测性更强,卡尔曼滤波器更适合于高频情况,而恒速模型对于具有明确速度预测的低频情况更为稳健,由于推断速度对于检测器来说还不常见,因此我们在不损失通用性的情况下对SimpleTrack采用卡尔曼滤波器。

关联

基于IoU的和基于距离的关联度量是3D MOT中的两种流行选择。如图三所示,它们具有典型但不同的失效模式,IoU计算边界框之间的重叠比率,因此,如果检测和运动预测之间的IoU都为零,则无法将它们连接起来,这在轨迹开始或具有突然运动的对象上很常见(图3的左侧)。基于距离的度量的代表是马氏[10]和L2[43]距离。使用较大的距离阈值,它们可以处理基于IOU的度量的故障情况,但可能不够敏感,无法进行低质量的附近检测。我们在图3右侧解释了这些场景。在第k帧上,蓝色运动预测与绿色误报检测的L2距离较小,因此它被错误关联。通过这样的例子得出结论,基于距离的度量缺乏方向区分,这正是基于IOU的度量的优势。为了更好地利用两个世界,论文建议将GIoU[31]推广到3D以进行关联。本文设置GIoU>−0.5作为WOD和nuScenes上每个类别的对象的阈值,以使这对关联进入后续匹配步骤。

a5cab5f1224768ff4ef26a58aad76800.png

一般来说,检测和轨迹之间的匹配有两种方法:1)将问题表述为二部匹配问题,然后使用匈牙利算法求解。2) 通过贪婪算法迭代关联最近的对。论文发现这两种方法与关联度量紧密耦合:基于IoU的度量对两者都很好,而基于距离的度量更喜欢贪婪算法。假设原因是基于距离的度量范围很大,因此优化全局最优解的方法,如匈牙利算法,可能会受到异常值的不利影响。在图5中,对WOD上匹配策略和关联度量之间的所有组合进行了实验。如前所述,IoU和GIoU对于这两种策略都运行良好,而Mahalanobis和L2距离需要贪婪算法,这也与之前工作的结论一致!

d9571e77969e2c1cde4ad639364dc647.png

生命周期管理

论文分析了WOD2上的所有ID-switch,并将其分为两组,如图6所示:错误关联和提前终止。与许多工作的主要焦点(关联)不同,本文发现提前终止实际上是ID-switch的主要原因(95%的车辆和91%的行人)。在早期终止中,许多终止是由点云稀疏性和空间遮挡引起的。为了缓解这个问题,利用免费但有效的信息:运动模型和低分数检测之间的一致性。这些边界框通常具有较低的定位质量,但如果它们与运动预测一致,则强烈表明存在目标,然后用这些延长tracklet的使用寿命。

f4d779c911290e5078f786d4631a1f55.png

基于这种动机,论文提出了“两阶段关联”。具体来说,采用了两轮具有不同得分阈值的关联:低阈值Tl和高阈值Th(例如,WOD上的行人为0.1和0.5)。第一阶段,使用与大多数当前算法相同的程序:只有分数高于Th的边界框用于关联。在第二阶段,关注与第一阶段的检测不匹配的轨迹,并放宽其匹配条件:分数大于Tl的检测将足以进行匹配。如果tracklet在第二阶段与一个边界框成功关联,它仍将保持活动状态。然而,由于低分数检测通常质量较差,不输出它们以避免误报,并且它们也不用于更新运动模型。相反,使用运动预测作为最新的tracklet状态,取代低质量检测。

图7直观地解释了“Twostage Association”和传统的“One stage Assiation”之间的差异,假设T=0.5是过滤检测边界框的原始得分阈值,跟踪器将忽略第3帧和第4帧得分分别为0.4和0.2的框,这些框将因连续帧中缺少匹配而消失,最终导致最终的ID切换。相比之下,论文的两阶段关联可以保持tracklet的活动状态。在表5中,提出的方法在不损害MOTA的情况下大大减少了IDSwitch,这证明了SimpleTrack通过更灵活地使用检测来有效地延长生命周期。

42579aebbe1bd99a7914e50420ee3b8e.png

SimpleTrack的集成

论文将上述技术集成到统一的SimpleTrack中,并演示它们如何逐步提高性能。图8说明了3D MOT跟踪器的性能如何从基线提高,在WOD上,尽管车辆和行人的特性有很大不同,但每种技术都适用于两者。

59b2b911be7f6d103c26ce8bf38f7ada.png

表6和表7显示了SimpleTrack相比于其它方案的性能对比:

612145942b4b4175cf6ef2293dd7570f.png

数据集上的一些发现

除了上述技术之外,论文还深入研究了基准测试的设计,该基准极大地促进了研究的发展,并指导了算法的设计。对比WOD和nuScenes,有以下发现:

  • 1) nuScenes的帧速率为2Hz,而WOD为10Hz。这种低频率给3D MOT增加了不必要的困难;

  • 2) 评估nuScenes需要高召回率和低得分阈值;

此外,它还通过插值对tracklet进行预处理,从而鼓励跟踪器输出反映整个tracklet质量而非帧质量的置信度分数,希望这两个发现能够激励社区重新思考3D跟踪的基准和评估协议。

跟踪通常得益于较高的帧率,因为在较短的间隔内运动更容易预测。论文在表8的两个基准上比较了点云、注释和常见MOT帧速率的频率。在nuScenes上,它有20Hz点云,但只有2Hz注释。这导致大多数常见的探测器和3D MOT算法在2Hz下工作,即使它们实际上利用了所有20Hz LiDAR数据并且运行速度超过2Hz。因此,本文对高频数据的影响进行如下研究。虽然高频(HF)帧的信息更丰富,但合并它们并不容易,因为nuScenes只对低频帧进行评估,称之为“评估帧”。在表9中,简单地使用所有10Hz帧并不能提高性能。这是因为高频帧上的低质量检测可能会偏离跟踪器,并影响采样评估帧的性能。为了克服这个问题,论文首先在HF帧上应用“一级关联”,其中只考虑分数大于Th=0.5的边界框,并将其用于运动模型更新。然后,采用“两阶段关联”,使用得分大于Tl=0.1的方框来扩展轨迹。如表9所示,论文的方法显著改进了AMOTA和ID-switch。甚至尝试将帧速率增加到20Hz,但由于偏差问题,这几乎没有带来进一步的改进。因此,SimpleTrack在最终提交给测试集时使用了10Hz设置。

6844fde1f3652d614beeb2117f992cdd.png ac3c05414a35b03fd9da5b1c49adb150.png

Tracklet Interpolation

nuScenes中使用的AMOTA度量计算不同召回阈值下的平均MOTAR,这需要跟踪程序输出所有分数段的框。为了进一步提高召回率,论文在没有关联检测边界框的情况下输出帧和轨迹的运动模型预测,并根据经验为它们分配比任何其他检测更低的分数。在论文中,它们的分数是0.01×SP,其中SP是前一帧中tracklet的置信分数。如表10所示,这个简单的技巧提高了整体召回率和AMOTA,然而,我们发现提高召回率并不是这种改进的唯一原因。除了边界框之外,运动模型预测的分数也有很大的贡献。这从nuScenes上的评估协议开始,其中他们插入输入tracklet以填充缺失的帧,并用tracklet平均分数更改所有分数,如图9所示。在这种情况下,论文的方法可以明确惩罚低质量tracklet,它通常包含更多由运动模型预测替换的缺失框。总之,nuScenes上的这种插值鼓励追踪器整体处理tracklet质量,并输出校准的质量感知分数。然而,即使对于同一个tracklet,框的质量在不同帧之间也可能有很大差异,因此论文建议仅用一个分数来描述tracklet的质量是不完美的。此外,在这个插值步骤中还引入了未来信息,它会改变tracklet结果,这也可能引起人们对评估设置是否仍然完全在线的担忧。

0acb8ded2f95d44a68e612ae14c58cbf.png 6072d70ea0ff6b0332ab924cc102b077.png

Tracking By Detection的一些分析

ID转换。论文对ID转换的原因进行了分解,如图6所示。虽然提前终止的比例大大降低,“两阶段关联”的车辆减少了86%,行人减少了70%,但仍占88% SimpleTrack中车辆和行人的其余ID-switch分别有72%的故障案例。

f81d9e80b3630fe9cfb2fe72b5036da5.png

论文检查了这些病例,发现大多数病例是由于长期遮挡或暂时看不见物体而导致的。因此,除了改善关联外,未来可能的工作还可以开发2D MOT[18、19、33、39]中的外观模型,或者在返回后默默地保持状态以重新识别这些对象。

FP和FN。表11中的“GT All”显示了使用CenterPoint检测的MOT的上限,例如车辆类别,即使使用“GT-All”,假阴性仍为0.215,这是检测FN,在“逐检测跟踪”框架下很难修复。通过比较“GT-All”和SimpleTrack,论文发现跟踪算法本身引入了0.119个假阴性,进一步将其细分如下,“GT Output”和“GT ALL”之间的差异表明,0.043个假阴性是由NMS产生的未初始化轨迹和预处理中的得分阈值引起的,其它来自生命周期管理。“初始化”在输出tracklet之前需要两帧累积,这与AB3DMOT[37]相同。这会产生0.005个微小的假阴性,论文的“输出”逻辑使用检测分数来决定输出与否,并采用假阴性数0.076。

a538002510fe63ccfb813a71e74886aa.png

基于这些分析,我们可以得出结论,差距主要是由于分数和检测质量之间的不一致造成的。通过使用历史信息,3D MOT可能比单帧检测器提供更好的分数,这已经引起了一些最近的关注。

论文结论

本文将“检测跟踪”3D MOT算法解耦为几个组件,并分析其典型故障。基于这些见解,论文提出了使用NMS、GIoU和两阶段关联的相应增强,从而实现了SimpleTrack。此外,还重新考虑了nuScenes中的帧速率和插值预处理。论文最终指出了“检测跟踪”3D MOT未来可能的几个方向,然而,除了“基于检测的跟踪”范式之外,还有很多具有巨大潜力的分支。为了获得更好的边界框质量,3D MOT可以使用长期信息对其进行优化,这已被证明优于仅基于局部帧的检测。未来的工作还可以将当前的手动基于规则的方法转换为基于学习的方法,例如,使用基于学习的帧内机制替换NMS,使用帧间推理替换3D GIoU和生命周期管理等。

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、多传感器融合、SLAM、光流估计、轨迹预测、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

27f5097ef43818c1d0c88f26afc3db64.jpeg

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值