点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
今天自动驾驶之心为大家分享迈驰&旷视等团队最新的工作—MCTrack!问鼎三大榜单。如果您有相关工作需要分享,请在文末联系我们!
自动驾驶课程学习与技术交流群事宜,也欢迎添加小助理微信AIDriver004做进一步咨询
论文作者 | Xiyang Wang等
编辑 | 自动驾驶之心
向大家推荐一下我们最新的工作---MCTrack
KITTI/nuScenes/Waymo三榜单SOTA(招实习生呐....需求在文章最后~)
paper:MCTrack: A Unified 3D Multi-Object Tracking Framework for Autonomous Driving
code:https://github.com/megvii-research/MCTrack
机构:迈驰智行、旷视、国防科大、川大、中科大
1. 写在前面&出发点
自2016年SORT[1]算法提出以来,多目标跟踪任务已经经历了多年的发展,从最初的TBD(Tracking-By-Detection)范式发展到TBA(Tracking-By-Attention), JDT(Joint-Detection-Tracking)等范式,从单模态到多模态跟踪,从2D跟踪发展到3D跟踪,可谓百花齐放,百家争鸣。在3D跟踪领域,KITTI、nuScenes和Waymo是常用的数据集,它们各有特点,数据格式差异显著,采集场景和帧率也尽不相同。迄今为止,几乎没有一种方法能够在这三个数据集上都达到SOTA性能。
而对于评价指标而言,目前主流的包含MOTA, AMOTA, HOTA等,这些指标均是在评价一条轨迹是否能够正确、稳定匹配上,但是对于匹配之后,跟踪这个任务所需要对下游预测规划输出的关键信息(如速度、加速度、角速度)是否合理、是否能满足需求依然打个问号?这也就意味着我们缺乏对运动信息的评测指标。
基于上述问题:
我们的目标是首先提供一种统一的感知结果格式,以便在不同数据集上刷榜时,无需担心数据格式的差异。
其次,我们希望提供一个统一的跟踪框架,能够在KITTI、nuScenes和Waymo这三个常用数据集上都达到SOTA性能。
最后,我们希望建立一套“运动指标”,用以评估跟踪任务输出给下游任务的运动信息(如速度、加速度等)的正确性,这其实在实际工程应用中至关重要。
2. 领域背景
3D多目标跟踪在自动驾驶领域作为感知与预测规划任务之间的桥梁,扮演着至关重要的角色。学术界已经提出了多种跟踪范式,包括基于检测的跟踪(TBD)、基于注意力的跟踪(TBA)和联合检测跟踪(JDT)等。通常情况下,TBD范式在各方面的性能都优于其他范式,并且由于其不需要GPU资源,这极大地推动了该范式在工程中的应用。总体来看,TBD范式的方法主要分为两个步骤:首先是目标检测,然后是数据关联,具体流程如图1所示。

图1
检测:通常利用现有的检测器得到感知结果
数据关联:利用感知结果与历史轨迹进行多对多的匹配,通常会涉及到代价函数的计算、匹配函数的选择、卡尔曼滤波预测等等。
很显然,这种范式下,跟踪结果很大程度上依赖于感知模块的性能。通常来说,感知性能越出色,跟踪效果也越好。这种范式在某种程度上既有优势也有劣势。其优势在于结构简单明了,不需要复杂的处理步骤,工程落地非常容易。劣势一在于由于跟踪过程基于检测结果而非原始数据(如外观特征等),一旦检测性能下降,跟踪性能也会随之受到影响。劣势二在于这种方式很难处理密集场景,一旦场景中目标数量过多,仅通过空间位置关系来计算相似度会非常困难,但对于自驾场景而言,无论是高速还是城区,障碍物并不会过多,即通过空间位置关系通常是可以hold住的(当然,引入特征是更好的)。尽管目前在各大3D MOT榜单上基于TBD范式的性能已经比较好了,但我们认为依旧没有达到这类范式的上限,可靠稳定的代价函数依然待发掘。
另一方面,在学术研究中,大家对跟踪任务的关注点通常集中在轨迹连接的准确性,而连接后的进一步处理往往被忽视。然而,在工业界,跟踪任务作为感知的最下游,负责汇总和优化各类信息,并将结果传递给预测和规划模块。这其中包括了诸如速度、加速度等重要的运动信息,而这些信息在学术界的跟踪任务中几乎没有涉及。这在一定程度上反映了学术界与工业界的某种脱节。
在以上背景下,诞生了MCTrack(MC--迈驰智行),提供了一套统一的pipeline,一套评估速度的运动指标。
3. MCTrack
3.1 统一数据格式
我们对KITTI、nuScenes和Waymo三大数据集的感知结果格式进行了统一整合,这意味着只要采用TBD范式的方法,便可以直接使用这一统一格式,通过一套pipeline运行三个数据集,无需编写多个预处理脚本来适配不同数据集。我们将按照场景、帧、障碍物、全局信息等维度进行存储,整体格式包含以下内容:
3.2 整体框架
整体框架遵循简单直接的TBD范式,先进行检测,再进行匹配,并通过不同维度的信息接入卡尔曼滤波器,以确保输出给下游模块的信息稳定性。值得注意的是,在匹配阶段,我们采用了多视角相似度计算方法,首先在BEV平面上进行第一次匹配,然后在RV平面(图像2D平面)上进行第二次匹配。相似度计算过程中,我们提出了更为鲁棒的Ro_GDIoU。

3.3 Ro_GDIoU
在3D多目标跟踪中,常用的代价矩阵包括IoU、GIoU、DIoU和欧式距离等。在3D空间中,交并比和距离是两种不同的度量方式:交并比及其变体侧重于从体积上衡量两个3D框的相似度,而距离则用于描述两个框之间的相对接近程度。在跟踪任务中,仅使用其中一种度量方式进行匹配,无法确保在各类场景中都取得理想效果。DIoU在某种程度上结合了交并比和欧氏距离,但当两个框之间没有交集时,DIoU退化为纯距离度量,无法同时兼顾体积相似度和中心点接近度。一个显而易见的改进是将GIoU和DIoU融合在一起。

基于此,我们提出了Ro_GDIoU,这是一种融合了旋转角、交并比与中心距离的更强相似度计算方法。旋转角的引入如图所示:当将3D框投影到BEV平面时,这些框通常会呈现不同的角度。如果像在2D检测任务中那样将其“掰正”,将无法准确衡量两个框的真实相似度。因此,需要按照它们的实际朝向来计算交并比,以更准确地反映它们的相似性。

Ro_GDIoU具体计算方式如下面的伪代码所示:

3.4 不同维度的匹配方式
二次匹配其实并非是一个新颖的操作,诸多SOTA方法都有涉及。我们在实验中发现,之所以需要二次匹配,是因为所使用的代价函数无法自调节以适应感知框的抖动,导致无法采用统一相似度阈值来度量,所以自然而然就诞生了二次匹配。通常而言,这些方法都会选择在第二次匹配时使用更加宽松的匹配阈值,但问题在于感知的抖动能通过放大匹配阈值来消除掉吗?
在工程中我们发现一个非常有意思的现象,基于图像的3D感知在深度上时常会出现抖动,尤其是对于远距离的小目标而言,有时抖动会达到10m以上。这种情况下,仅通过调整匹配阈值无法完全解决问题,依然会出现frag和idsw。
我们尝试将3D框投影到前视平面上(即压缩深度),虽然在一定程度上缓解了问题,但也导致后视目标与前视目标出现错误匹配,这显然是不可接受的。于是,我们进一步尝试在不同相机视角下进行投影,以确保不同视角的目标不会相互匹配,从而形成了本文中的二次匹配模块。整体的匹配流程如下图的伪代码所示:

4. 运动指标
为了解决当前多目标跟踪(MOT)评估指标未能充分考虑运动属性的问题,我们提出了一系列新的运动指标,包括速度角度误差(VAE)、速度范数误差(VNE)、速度角度倒数误差(VAIE)、速度反转比(VIR)、速度平滑度误差(VSE)和速度延迟误差(VDE)。这些运动指标旨在全面评估跟踪系统处理运动特征的性能,涵盖速度、角度及速度平滑度等运动信息的准确性和稳定性。
在这里我们主要介绍速度平滑度误差(VSE)和速度延迟误差(VDE)两大指标,这两个指标在自驾工程应用中至关重要。什么样的速度对于下游控制是可接受的?答案是既要响应快速,又需要足够平稳。当前方障碍物急剧减速或加速时,跟踪系统应能迅速响应,并提供准确的速度预测。显然,雷达传感器依赖多普勒效应能够生成相对完美的速度曲线,但实际上,雷达的FP较多,并且并不总是能在每一时刻都匹配上。因此,跟踪模块仍需通过位置采用滤波器来提供一套速度预测。然而,如何衡量速度的优劣便成了一个关键问题。
速度延迟误差(VDE)
首先,计算真实速度(gt)的峰值点,并设定窗口大小为 w。在峰值点的前后各取 w/2个点。同时,基于 gt 的峰值点,在计算滤波速度的时候取 w个点,并设定一个滑动窗口 tau。这样可以提取出tau组滤波速度,并计算这tau组数据与 gt 的差值。接着,通过计算差值的均值和方差,选择均值和方差最小的那组tau×帧率,这就是对应的延迟误差(单位:秒)。具体计算过程如下:

借助论文的一幅图来说明该指标的重要性:该图展示了两辆以每小时100公里速度行驶的车辆:红色车辆表示自动驾驶车辆,白色车辆表示前方障碍物。两车之间的初始安全距离设定为100米。假设在时间点 t_m 时,前车开始紧急减速,并在时间点 t_n 时将速度降至每小时60公里。如果自动驾驶车辆在感知前车速度上存在延迟,则可能会错误地认为前车仍然以每小时100公里的速度行驶,这会导致两车之间的安全距离在不知不觉中缩短。直到时间点 t_n 时,自动驾驶车辆才最终感知到前车的减速,但此时安全距离可能已经非常接近极限。

速度平滑度误差(VSE)
平滑性误差不涉及到gt,首先对原始dt使用SG滤波器进行平滑,将平滑后的dt与原始dt计算差值并求和,理论上,如果一条曲线足够平滑,那么将该条曲线送到滤波器再次进行平滑其效果并不大,即依然会接近原始曲线,此时平滑性误差最小。

显然,该指标并非越小越好,因为通过越平滑则相应就会越滞后,故该指标需要结合速度滞后性误差一起使用。如下图所示:红色曲线为gt,蓝色和绿色曲线分别表示两种方法求得的速度曲线,显然,蓝色曲线非常平滑,但是滞后,而绿色曲线尽管抖动较大但相应较快。
平滑性误差不依赖于真实值(gt)。首先,我们对原始的滤波速度使用SG滤波器(Savitzky-Golay)进行平滑处理,然后计算平滑后的滤波速度与原始滤波速度 之间的差值并进行求和。理论上,如果一条曲线足够平滑,那么将其输入滤波器进行再次平滑的效果就不会明显,结果仍然会接近原始曲线,此时平滑性误差达到最小。

5. 实验
5.1 定量实验
正如前言所述,我们希望提供一套统一的ppl,因此,我们在当前常用的3D MOT数据集上(如KITTI、nuScenes和Waymo)进行了测试。总体而言,我们在KITTI和nuScenes数据集中取得了第一名,而在Waymo数据集中获得了第二名。值得一提的是,Waymo第一名所采用的检测方法在mAP等指标上比本文使用的检测器高出两个点,因此我们认为这两者之间并不具备可比性。

nuScenes跟踪榜单第一

KITTI跟踪榜单第一

Waymo跟踪榜单第二
与SOTA方法对比
****


5.2 运动指标评估
在本文中,我们提出了多种速度计算方法,包括差分法、卡尔曼滤波和曲线拟合等。这三种方法各有优缺点。此外,速度的计算并不限于上述几种方式。我们希望能够提供一个完善的评估指标,鼓励大家不仅关注轨迹连接的准确性,还要关注在正确连接后,如何更好地输出下游控制所需的速度等信息。

5.3 消融实验
将本文提出的Ro_GDIoU分别融合到当前KITTI和nuScenes的SOTA方法中,其中PolyMOT在当时的nuScenes排名中位居第一。我们发现,将Ro_GDIoU应用于该方法时,MOTA指标提升了1.1个点,同时nuScenes的主要评价指标AMOTA也提升了0.4个点。此外,在另一个数据集KITTI上,使用当时的SOTA方法结合Ro_GDIoU也实现了不同程度的提升。

对于二次匹配,在公开数据集上的提升非常有限。这是因为我们所使用的检测器均基于点云,虽然这类方法在深度方向上相对准确,但值得注意的是,检测器性能较差时,基于RV的二次匹配所带来的提升会更加明显。

6. 总结
在本文中,我们提出了一种简洁且统一适用于自动驾驶领域的3D多目标跟踪方法。我们的方法在多个数据集上均取得了SOTA性能。此外,我们对不同数据集的感知格式进行了标准化处理,这样大家能够专注于多目标跟踪算法的研究,而无需由于数据集格式差异而引发的繁琐预处理工作。最后,我们引入了一组全新的运动评估指标,希望大家关注对下游应用至关重要的运动属性。
参考文献
[1] Bewley, A., Ge, Z., Ott, L., Ramos, F., & Upcroft, B. (2016, September). Simple online and realtime tracking. In 2016 IEEE international conference on image processing (ICIP) (pp. 3464-3468). IEEE.
关于我们:我们是迈驰端到端预测规划团队,负责端到端预测规划模块的研发与业务落地。我们是CVPR 2022 WAD Argoverse2 Motion Prediction Challenge 第一名,预测方案MacFormer中稿机器人顶刊RA-L。后专注于研发预测规划一体化模型,今年的成果包括如下:
The Waymo Open Sim Agents Challenge 2024榜单成为第一(KiGRAS)。
学术论文:
MCTrack(第一个nuScenes/KITTI/Waymo三榜SOTA的统一跟踪方法)
KiGRAS(预测规划一体化模型)
StreamMOTP(统一的3D多目标跟踪和轨迹预测)
SparseAD(第一篇纯sparse端到端方案)
....
迈驰端到端团队致力于实现自动驾驶端到端解决方案的落地。拥有丰富经验,涵盖自动驾驶各个关键环节,包括:端到端技术(包括障碍物检测跟踪、地图感知、nn预测规划模块),多模态大模型技术 以及 数据生成技术。我们在顶尖学术会议和期刊上发表了大量研究论文,在自动驾驶比赛中拿下多个冠军,拥有业界领先的自动驾驶技术专家团队。我们开放了大量实习、校招、社招岗位,欢迎加入我们一起做领域最前沿的科研探索和算法落地!
联系方式:实习请联系songmeiyu@megvii.com(http://megvii.com/),校招、社招请联系:guwenxian@megvii.com(http://megvii.com/)
『自动驾驶之心知识星球』欢迎加入交流!重磅,自动驾驶之心科研论文辅导来啦,申博、CCF系列、SCI、EI、毕业论文、比赛辅导等多个方向,欢迎联系我们!
① 全网独家视频课程
端到端自动驾驶、仿真测试、自动驾驶C++、BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、CUDA与TensorRT模型部署、大模型与自动驾驶、NeRF、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
② 国内首个自动驾驶学习社区
国内外最大最专业,近4000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(端到端自动驾驶、世界模型、仿真闭环、2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】全平台矩阵