自动驾驶中的多目标跟踪(MOT):2024最新
附赠自动驾驶最全的学习资料和量产经验以及100T的资源分享:链接
一、笔者前言
在这篇文章里,笔者将试图对自动驾驶中多目标跟踪(Multi-Object Tracking, MOT)领域近几年代表性的论文进行整理,分析各项工作的思路和做法,以便读者能够迅速了解这个领域的前沿动态。顺便,我也对MOT领域的公开数据集、排行榜、评价指标等做了整理,以作为面向初学者或跨行业者的基础知识。
我们首先明确一下多目标跟踪的概念。多目标跟踪并不是一个新鲜词,二战期间雷达出现以后,利用雷达对敌方飞机进行跟踪和锁定,就是目标跟踪的早期应用;当前最为现代化的军用雷达,能够同时跟踪数十乃至数百个高速运动的敌方目标,其背后正是多目标跟踪算法的功劳。此外在多媒体分析领域,多目标跟踪技术也有着重要应用。
**在自动驾驶领域,多目标跟踪是指对在不同时刻观测到的多个目标,进行关联和跟踪,以便获得每个目标的位置/轨迹、速度、方向等状态信息,服务于下游的规划、预测、决策等模块。**因此,MOT是自动驾驶中最为基础和重要的能力之一。
通常来说,自动驾驶的感知系统会给出在时序上离散(且无序)的目标信息,通常体现为一定数量的含有语义标签的bounding box。在2D图像感知中,box是二维的,在3D点云感知中,box是三维的。**一个理想的多目标跟踪算法,应该能够尽可能准确(accuracy)和精确(precision)地追踪同一个目标,并很好地解决目标新出现、被遮挡、消失、轨迹交错、目标检测结果不稳定、目标数量剧烈变化等情况。**这些情况实际也是多目标跟踪领域的难点。如下图所示,是一个自动驾驶场景中MOT的例子(图片来自Waymo数据集),尽管现实中的MOT不会这么理想。
图1:waymo数据集中的多目标跟踪示例
多目标跟踪算法可以粗略分为两个类别:(1)传统的基于规则的方法,通常以IoU/马氏距离等结合匈牙利匹配算法进行目标关联、以卡尔曼滤波器(KF)结合匀速/匀加速运动学模型进行目标状态的预测和更新,最终实现目标跟踪。(2)基于深度学习的方法,通常使用训练过的神经网络来完成关联和追踪的任务,根据与目标检测的关系,又可以细分为若干种不同的类型;当然,目前端到端的做法也不是什么新鲜事儿了,一切环节都交给神经网络来隐式地处理。下面我们也会按照这两个类别,在每个类别里挑选代表性的论文进行综述。
二、数据集、排行榜网站
主要是自动驾驶中的这几个数据集,包括 KITTI,nuScenes,Waymo Open Dataset。还有一些在其它领域比较有名的数据集,比如MOTChallenge,MOT15/16/17/20等,但这些大体上关注 2D MOT。在自动驾驶领域我们主要考虑 3D MOT,因此还是以自驾中的三个数据集为主。
nuScenes 数据集 MOT 任务排行榜:nuScenes tracking task
KITTI 数据集 MOT 任务排行榜:kitti tracking
paperwithcode 网站 3D MOT 任务排行榜:3D Multi-Object Tracking,**必读,必读!**以下图为例,网页上清楚显示了在 nuScenes 数据集上,以 AMOTA 为评价指标,排行榜上的方案有哪些,及其结果。
paperwithcode: 3D Multi-Object Tracking, Leader Board
paperwithcode网站:paperwithcode,汇总了各项数据集、挑战赛排行榜、前沿论文、开源实现等信息,相当全面。该网站的额外优势在于可以非常方便地跳转到排行榜上的各项工作的论文与代码,从业人员必备。
OpenDriveLab 网站:OpenDriveLab ,业内非常有名的实验室,也发布有 OpenLane Topology,Online HD Map Construction,3D Occupancy Prediction,nuPlan Planning 等挑战赛。
All Challenges 网站:All Challenges,一个非常全面的AI领域各项挑战赛汇总网站。
三、评价指标
读者在浏览各数据集和排行榜的时候,会经常发现MOTA、MOTP、AMOTA、AMOTP、HOTA、MT、ML、TP、FP、FN等评价指标,乍看起来眼花缭乱,不容易区分它们各自的含义。这里我们对常见指标的含义做出解释说明,其中会穿插铺垫一些基本概念。
-
IoU:交并比,也即两个 bounding box 的交叉部分占两者总体的比例,也即 交集 / 并集
-
GT:某一时刻目标检测得到的目标的总数量
-
FP:False Positive,轨迹的预测没有对应的检测结果,轨迹丢失
-
FN:False Negative,检测结果没有对应的轨迹预测,目标被missed
-
IDS/IDSW:也即 ID 发生 switch,常见于两个或多个目标的轨迹交错时,ID发生变化的情形
-
MOTA:多目标追踪的准确度(Accuracy),考虑所有时刻中,正确关联的目标的数量占GT的比例
-
MOTP:多目标追踪的精度(Precision),考虑所有时刻中,正确关联的距离度量的均值
-
AMOTA:MOTA在不同阈值上的均值
-
AMOTP:MOTP在不同阈值上的均值
-
HOTA:Higher Order Tracking Accuracy,更高阶的准确度度量,含有多个子度量,考虑了更多的评估要素
-
MT:mostly tracked,意指多数跟踪数,跟踪部分比例超过80%的轨迹的数量
-
ML:mostly lost,意指多数丢失数,丢失部分比例超过80%的轨迹的数量
请注意,所有这些指标都不是空穴来风,而是研究者们精心设计出来的评价指标,您可以参阅下方3篇论文,来了解这些指标的出处、和详细的解释。
-
Bernardin, Keni, and Rainer Stiefelhagen. “Evaluating multiple object tracking performance: the clear mot metrics.”_EURASIP Journal on Image and Video Processing_2008 (2008): 1-10.
-
Weng, Xinshuo, et al. "3d multi-object tracking: A baseline and new evaluation metrics."2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2020.
-
Luiten, Jonathon, et al. “Hota: A higher order metric for evaluating multi-object tracking.”_International journal of computer vision_129 (2021): 548-578.
四、相关综述
与多目标跟踪相关的综述共有如下5篇(欢迎评论区补充),请注意每篇的侧重点都有所不同,对于自驾的同学并不一定都有用。
-
Girao, Pedro, et al. "3D object tracking in driving environment: A short review and a benchmark dataset."2016 IEEE 19th international conference on intelligent transportation systems (ITSC). IEEE, 2016. //
-
Luo, Wenhan, et al. “Multiple object tracking: A literature review.”_Artificial intelligence_293 (2021): 103448. //
-
Bashar, Mk, et al. "Multiple object tracking in recent times: a literature review."arXiv preprint arXiv:2209.04796(2022). //
-
Peng, Yang. "Deep learning for 3D Object Detection and Tracking in Autonomous Driving: A Brief Survey."arXiv preprint arXiv:2311.06043(2023). //
-
Zhang, Peng, et al. "3D Multiple Object Tracking on Autonomous Driving: A Literature Review."arXiv preprint arXiv:2309.15411(2023). //
五、传统方法
笔者将按照时间线由远及近的顺序,来综述传统方法下的经典工作,对应的时段为2018年 ~ 今(2024/01),涵盖了BeyondPixels、AB3DMOT、EagerMOT、SimpleTrack、PolarMOT、Poly-MOT等经典工作,其中不少至今仍在排行榜上位于前列。笔者在详细阅读完每篇论文之后,根据自己的理解、对每篇工作的主旨都做了整理,如下。
Sharma, Sarthak, et al. "Beyond pixels: Leveraging geometry and shape cues for online multi-object tracking."2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2018.
首先是这篇发表于 2018 年的论文,方案简称 Beyond pixels,当年在 KITTI 数据集 3D Multi-Object Tracking 排行榜上也是代表性的存在。这篇论文聚焦于道路场景下、基于单目图像的多目标追踪,其主要贡献是提出了一种复合了多种度量的匹配代价,来更好地完成目标的帧间关联。所提出的匹配代价包含的度量有:++(1)++将2D box结合地平面假设恢复出深度,提升到3D空间,再结合自车的运动估计(来自视觉里程计VO)将3D box投影到另一帧的2D图像平面上,与投影位置附近的所有目标,构建2D-2D的交并比度量,作者在论文中称之为 3D-2D Cost;++(2)++类似第一种度量,但是把两帧上的2D box都提升到3D空间,构建3D-3D的交并比度量,作者称之为 3D-3D Cost;++(3)++用CNN网络为每个目标计算一个外观描述子,计算描述子之间的一个相似性度量,作者称之为 Appearance Cost;++(4)++为每个目标计算一个形状描述子,该描述子直观上可以反映车辆的类别(比如SUV和轿车在形状上有差异),因此可以构建一个形状描述子的相似性度量;此外,每个目标都估计了一个姿态,因此也构建一个姿态的相似性度量,作者称这部分度量为 Shape and Pose Cost。最终的匹配代价是上述所有度量的加权线性组合。基于这种 Object-To-Object 的匹配代价,结合二分图匹配算法(比如匈牙利算法),来完成帧间的目标关联。在笔者看来,这篇工作的核心价值在于提出了一些新的度量,但由于使用了地面假设因此泛化能力可能不佳,对现实中的车身剧烈运动可能不够鲁棒,且需要同步运行额外的CNN网络和视觉里程计,因此计算开销可能较大。
项目主页:https://junaidcs032.github.io/Geometry_ObjectShape_MOT/代码开源地址:https://github.com/JunaidCS032/MOTBeyondPixels
Beyond Pixels 论文图
Weng, Xinshuo, et al. "3d multi-object tracking: A baseline and new evaluation metrics."2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2020.
简称 AB3DMOT,2019年上传arxiv,正式发表在 IROS2020 上。这篇工作堪称简单好用的典范,个人认为非常适合新手入门,因为论文提供了新的参照基准,后续也被高频地引用。这篇工作以基于激光雷达的 3D MOT 为背景,因为激光雷达点云提供了精确的三维测量,因此 MOT 可以直接在三维空间中进行。作者使用已有的3D点云目标检测网络(PointRCNN/++Mono3DPLiDAR++)来进行detection,每一个detection结果表达为一个8维的向量,包含「位置、朝向角、box尺寸、置信度」信息。作者使用简单的「匀速模型+卡尔曼滤波器+匈牙利匹配」的范式来完成 3D MOT,其中卡尔曼滤波器维护的状态量为目标的「位置、朝向角、box尺寸、置信度、和速度」,构成了一个11维的向量。对比检测网络给出的结果,发现状态量多出了速度信息,这也正是卡尔曼滤波器做预测的依据。事实上,每一个卡尔曼滤波器都维护了某个目标的轨迹信息。
值得注意的是,AB3DMOT 不需要估计自车运动,所有的状态量都在LiDAR坐标系下表达,事实上是把自车的速度施加到了目标的速度中,好处是不需要显式估计 Ego Motion,使 MOT 任务更简单。针对目标检测结果中经常出现的180度跳变,作者也给出了简单有效的处理逻辑。在匈牙利匹配部分,匹配的依据就是简单的两个 3D box 之间的交并比。作者还设计了一些逻辑来处理目标的出现和消失,也即维护轨迹的生命周期,略过不表。在算法之外,作者的另一个贡献是提出了新的 MOT 评价指标,也即 AMOTA、AMOTP 和 sAMOTA,上文已经详细解释过了,略过不表。
项目主页:https://www.xinshuoweng.com/projects/AB3DMOT/代码开源地址:https://github.com/xinshuoweng/AB3DMOT
AB3DMOT 论文图
Chiu, Hsu-kuang, et al. "Probabilistic 3d multi-object tracking for autonomous driving."arXiv preprint arXiv:2001.05673(2020).
接下来我们再看一篇 3D MOT 的文章(也记作 mahalanobis_3d_multi_object_tracking),该项工作的思路和 AB3DMOT 很像,时间上也接近并引用了前者,同样是基于「匀速模型+卡尔曼滤波器+匈牙利匹配」的基本结构,当时在 2019 nuScenes Tracking Challenges 挑战赛上取得了第一名的成绩。相比于 AB3DMOT,这篇工作的突出贡献是:建模了预测和观测中的不确定性,并使用考虑了不确定性的马氏距离(Mahalanobis Distance)来构建帧间匹配代价,而非像 AB3DMOT 那样直接使用 3D box 的交并比。其它的不同还有:这篇工作中卡尔曼滤波器的状态量虽然也是11维,但把置信度替换为了角速度、相比于前者的匀速运动模型,这里实际上使用了匀速+匀转速的运动模型。另外,这篇工作的大量篇幅都在于对不确定性的传播和收敛、以及卡尔曼滤波器细节的介绍,这和文章的重心是一致的。
代码开源地址:https://github.com/eddyhkchiu/mahalanobis_3d_multi_object_tracking
Mahalanobis 3D MOT 论文图
Kim, Aleksandr, Aljoša Ošep, and Laura Leal-Taixé. "Eagermot: 3d multi-object tracking via sensor fusion."2021 IEEE International conference on Robotics and Automation (ICRA). IEEE, 2021.
EagerMOT —— 这是一项在各个排行榜上都效果不错的工作,原因之一在于,它事实上是融合了 2D 检测和 3D 检测的多模态 MOT 工作,在动机层面上主要是考虑到了两类观测的互补特性 —— 3D检测具有深度信息但对远处目标不敏感,2D检测不具有深度信息但可以检测到远处的目标。在算法逻辑上:(1)首先在同一时刻的2D检测和3D检测之间进行关联,关联的标准是将 3D box 投影到 2D 图像平面,计算和 2D box 的交并比,以贪婪的方式确定关联。(2)第一阶段关联:执行一次3D检测和3D轨迹之间的关联,但匹配代价使用的是作者自定义的一种距离(normalized cosine distance),主要考虑了 3D box 的朝向相似性。(3)第二阶段关联:2D检测和尚未发生关联的3D轨迹和2D轨迹进行关联,匹配代价是 2D box 的交并比。(4)轨迹状态更新:关联成功的3D轨迹按照卡尔曼滤波器+匀速运动模型的范式更新轨迹状态,未关联成功的3D轨迹进行纯预测更新,关联成功的2D轨迹也进行2D范式的更新。笔者评价:总体上的感觉是:有3D用3D,无3D用2D,在几乎所有环节,3D检测的优先级都高于2D检测,2D检测不存在时就退化为纯3D接着工作;3D和2D之间并没有想象中的深耦合。
代码开源地址:https://github.com/aleksandrkim61/EagerMOT
EagerMOT 论文图
Pang, Ziqi, Zhichao Li, and Naiyan Wang. "Simpletrack: Understanding and rethinking 3d multi-object tracking."European Conference on Computer Vision. Cham: Springer Nature Switzerland, 2022.
这篇文章由图森未来和UIUC发表在2022年的ECCV上,2021年上传arxiv。其工作主要有三块:(1)将现有 tracking-by-detection 范式下的 MOT 算法分解为「预处理、数据关联、运动模型、生命周期管理」四个模块,对各模块的常见方法做了对比和分析,并提出了改进的措施;(2)将改进措施集成到自己提出的 SimpleTrack 算法框架中,在 nuScenes 和 Waymo Open Dataset (WOD) 上实现了更好的表现;(3)对主流数据集 WOD 和 nuScenes 提供的目标检测频率和评价标准问题提出了疑问和讨论,对 SimpleTrack 的失效情形进行了分析并给出了未来工作的方向。笔者评价:这篇文章的第一部分工作对 MOT 各个模块的拆解和分析很值得借鉴,其中甚至分析了不同数据集“偏好”不同方法的问题。
代码开源地址:https://github.com/tusen-ai/SimpleTrack
SimpleTrack 论文图
Pang, Su, Daniel Morris, and Hayder Radha. "3d multi-object tracking using random finite set-based multiple measurement models filtering (rfs-m 3) for autonomous vehicles."2021 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2021.
这篇论文的作者是密歇根州立大学(MSU)的 Pang Su 博士,其整个博士期间的研究方向就是基于随即有限集(Random Finite Set, RFS)的多目标检测和跟踪,在网上也能找到其博士学位论文《3D Object Detection and Tracking for Autonomous Vehicles》的部分信息,这篇 ICRA 2021 论文正好对应其博士学位论文中的第六章。随即有限集也是数学上的一个集合,但具有元素个数有限、且数量随机的特性,某种程度上契合了MOT中目标数量有限和随机的特性,因此在目标检测和追踪中都有应用,但这个方向的研究似乎相对小众,笔者对其原理也是似懂非懂。这里推荐一些还不错的资源,供读者参考:缪天磊:随机有限集(Random Finite Set)-简介,智商为零:开源一个基于随机有限集(Random Finte Sets)的多源多目标跟踪框架,中国电子学会:深圳大学谢维信教授团队就扩展目标跟踪问题提出一种新型混合滤波器。
回到这篇文章,大体上来讲,作者提出了使用基于随机有限集 (RFS) 的多重测量模型滤波器 (称为RFS-M3) 来解决自动驾驶场景中的 3D MOT 问题。 具体来说,作者使用的是泊松多伯努利混合滤波器(PMBM filter),并为之构建了多测量观测模型以适应不同的应用场景。整个滤波器能够以优雅和自然的方式来表达追踪中的不确定性。
代码开源地址:未开源
RFS-M3 论文图
Li, Xiaoyu, et al. "Poly-mot: A polyhedral framework for 3d multi-object tracking."2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2023.
这项工作来自哈工大,发表于 IROS 2023,在 nuScenes 数据集上取得了第一名的成绩。其动机是:现有的 3D MOT 方法通常使用单一的相似性度量和运动模型来建模所有的目标,但现实中目标的类型多种多样,不同类别目标的运动模式更是相差甚多(如行人、电瓶车、汽车、客运巴士等),因此作者提出为不同类型的目标使用不同的相似性度量、数据关联策略、和运动模型,从而提升 MOT 的性能。这项工作的核心内容有:**(1)检测结果预处理部分使用了非极大值抑制和置信度阈值过滤;(2)提出了两种运动模型 CTRA 和 Bicycle,前者适合汽车和行人,后者适合电瓶车和摩托车等,运动模型内嵌到卡尔曼滤波器中执行预测和更新;(3)数据关联部分,作者认为对不同类别目标使用统一的相似性度量和阈值是不合理的,提出了多类别重复关联的策略,分为两个阶段执行,并使用了三种相似性度量;(4)**轨迹的生命周期管理部分和其它工作没有本质差别,不再赘述。笔者评价:这篇工作的核心思想就是一点 —— 在 MOT 中对不同类别的物体使用不同的标准,这是符合直觉的,非常值得借鉴(ps: 为啥这个思路前边没人做过?),代码也开源了,数据集效果也非常好。Poly-MOT 是纯传统方法,因此效率也相对较高,使用 Intel 9940X CPU 在 nuScenes 数据集上可以做到 3 fps 的处理速度,而 SimpleTrack 是 0.51 fps。
代码开源地址:https://github.com/lixiaoyu2000/Poly-MOT
Poly-MOT 论文图
六、Learning方法
笔者对深度学习类方法的理解深度有所欠缺,这里就不写每篇的要点了,个别文章随缘注解。
Yin, Tianwei, Xingyi Zhou, and Philipp Krahenbuhl. "Center-based 3d object detection and tracking."Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2021.
简称 CenterPoint,一篇很重要的参考文章。
项目开源地址:https://github.com/tianweiy/CenterPoint
Wu, Jialian, et al. "Track to detect and segment: An online multi-object tracker."Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2021.
在逻辑上比较别致,别人是先检测再追踪,这篇文章提出先追踪,并用追踪结果辅助检测,当然所有事情都是用神经网络完成的。作者也在文章中评价了不同的思路和实现结构。
项目主页:https://jialianwu.com/projects/TraDeS.html项目开源地址:https://github.com/JialianW/TraDeS
Luo, Chenxu, Xiaodong Yang, and Alan Yuille. "Exploring simple 3d multi-object tracking for autonomous driving."Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021.
轻舟智行和约翰霍普金斯大学联合发表的工作,简称 SimTrack。
项目开源地址:https://github.com/qcraftai/simtrack
Chiu, Hsu-kuang, et al. "Probabilistic 3D multi-modal, multi-object tracking for autonomous driving."2021 IEEE international conference on robotics and automation (ICRA). IEEE, 2021.
基于多模态融合的多目标追踪工作,具有深度学习方法和传统方法的松耦合结构,来自于斯坦福大学和丰田研究院,没有开源。
Zeng, Yihan, et al. "Cross-modal 3d object detection and tracking for auto-driving."2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2021.
基于多模态融合的多目标追踪工作,来自于上海交大,似乎没有开源。
Koh, Junho, et al. "Joint 3d object detection and tracking using spatio-temporal representation of camera image and lidar point clouds."Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 36. No. 1. 2022.
未开源。
Liu, Zhijian, et al. "Bevfusion: Multi-task multi-sensor fusion with unified bird’s-eye view representation."2023 IEEE international conference on robotics and automation (ICRA). IEEE, 2023.
Wang, Li, et al. "Camo-mot: Combined appearance-motion optimization for 3d multi-object tracking with camera-lidar fusion."IEEE Transactions on Intelligent Transportation Systems(2023).
未开源。
Kim, Aleksandr, et al. "PolarMOT: How far can geometric relations take us in 3D multi-object tracking?."European Conference on Computer Vision. Cham: Springer Nature Switzerland, 2022.
与别的方法不同,这里是将目标与附近目标的相对空间关系构建为图(Graph),进而用神经网络来处理这种图的观测,实现多目标追踪的功能。
项目主页:PolarMOT代码开源地址:https://github.com/aleksandrkim61/PolarMOT
Wang, Xiyang, et al. “DeepFusionMOT: A 3D multi-object tracking framework based on camera-LiDAR fusion with deep association.”_IEEE Robotics and Automation Letters_7.3 (2022): 8260-8267.
未开源。
Pang, Ziqi, et al. "Standing Between Past and Future: Spatio-Temporal Modeling for Multi-Camera 3D Multi-Object Tracking."Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023.
端到端搞定一切。
项目开源地址:https://github.com/TRI-ML/PF-Track
Liu, Jianan, et al. “GNN-PMB: A simple but effective online 3D multi-object tracker without bells and whistles.”_IEEE Transactions on Intelligent Vehicles_8.2 (2022): 1176-1189.
图神经网络。
项目开源地址:https://github.com/chisyliu/Gnn