本人在学习多目标跟踪过程中在寻找有关总结多目标跟踪模型的文章或博客时,虽然作者们写的都很好,但是自己总是感觉理解的不透彻,于是我就想自己写一篇关于多目标跟踪模型或者说总结一下来加深一下自己的理解,如有不妥指出,请各位读者朋友们批评指正。
1.目标检测与目标跟踪
我在学习目标跟踪之前是学习目标检测的,由于需要跟踪的一些作用,所以开始学习目标跟踪。因此我先介绍一下目标跟踪和目标检测的联系和区别,不单单是因为我学习检测,也是因为跟踪与检测密切相关。
1.1 目标检测
目标检测是指在单张静态图像中识别出特定类别的物体(如人、车、狗、猫),并确定它们的位置和范围(通常用一个矩形框表示,称为边界框)以及类别标签的任务。
识别的具体类别取决于你的模型在训练时你让他学习了什么,比如,你想获得一个能够识别人和车的模型,那么在训练阶段你就需要为他准备包含车、人的图片作为模型训练时的数据集,完成训练之后就可以实现对车和人的识别。
简单来说,目标检测解决了两个核心问题:“图像中有哪些物体?”和“物体在图中哪里?”
1.2 目标跟踪
目标跟踪通常是指在连续的视频帧序列中,持续定位一个特定目标(通常在第一帧中给出其初始位置)的运动轨迹,并赋予其特定的ID的任务。但是在不连续的帧中也可以进行跟踪,只是这样以来,其跟踪轨迹可能会变短,跟踪效果可能不如连续帧更佳。在前面强调连续性的原因是,连续帧是最典型的场景,但同时也要明确并非是唯一场景。
目标跟踪解决的核心问题是:“特定目标在某一帧第一次出现之后,在后续每一帧中它在哪里?”
1.3 目标跟踪与目标检测
通过上述两个小节,我么了解到目标检测的目的是在某一特定图片中找到特定目标的位置、确定类别并用边界框将其标注出来,他对图片的连续性没有明确要求,而目标跟踪是对出现这同一目标的所有图片中或者视频序列中找出目标的位置并赋予ID,目标跟踪对图片的连续性要求高。这就简单介绍一下,我们这篇文章重点还是在于下文的多目标跟踪(MOT)。
2.目标跟踪
2.1 目标跟踪的分类
这里列举了比较常见的的分类方式。
2.1.1 按跟踪对象数量分类
(1)单目标跟踪(SOT,Single Object Tracking):每次只跟踪一个目标
(2)多目标跟踪(MOT,Multiple Object Tracking):同时跟踪多个目标。这通常需要结合目标检测技术(在每一帧检测出所有目标)和数据关联技术(将不同帧的检测结果关联到同一个目标轨迹上)。
2.1.2 按是否使用深度学习分类
(1)基于传统方式的跟踪:基于传统方法的目标跟踪主要依赖于图像处理技术和手工设计特征,利用目标在连续帧之间的变化规律来实现跟踪。这类方法不依赖深度学习模型,适用于计算资源有限的场景。
(2)基于深度学习的跟踪:利用卷积神经网络(CNN)等深度模型,学习目标的高层次语义特征,增强了对目标变形、光照变化、遮挡等问题的鲁棒性。
2.1.3 按初始化方式(先验信息)分类
(1)基于检测的跟踪(Detection Based Tracking):每一帧先使用目标检测器定位目标,再进行跟踪和关联。
检测与跟踪分离:将目标检测器(如 YOLO、Faster R-CNN)与跟踪器(如 SORT、DeepSORT)分开执行。每一帧先进行目标检测,再对检测结果做关联匹配、ID分配等操作。
检测与跟踪一体化:在同一个网络中,同时输出检测框和对应的ID或特征信息,即检测和跟踪是端到端联合优化的一个主干网络输出检测框 + 嵌入特征(Embedding)或 ID 分类结果。
(2)不基于检测的跟踪(Detection Free Tracking)
生成式跟踪:是否在第一帧给定目标位置后,仅通过建模目标自身的外观特征(如模板、颜色直方图、纹理)来在后续帧中搜索最相似的区域。
判别式跟踪:构建一个分类器,用来区分“目标”和“非目标”区域(背景)。
2.1.4 按是否访问未来帧(是否使用整段视频的所有帧信息)分类
(1)在线跟踪(Online):只使用当前帧和过去帧的信息来进行跟踪,不能访问未来帧。适用于实时系统,如果一帧中目标被遮挡,可能错误匹配,无法利用未来信息修正错误。
(2)离线跟踪(Offline):可以访问整段视频,即:当前帧的处理可以参考未来帧的信息。能处理遮挡、目标丢失等复杂情况,精度高,轨迹更平滑,时延高,无法实时运行。
3.基于深度学习的多目标跟踪
因为本人主要使用多目标跟踪,并且与YOLO相结合,所以下面主要介绍基于深度学习的多目标跟踪模型,会尽量总结相关的模型以及他们的优缺点。
基于深度学习的多目标跟踪(Multi-Object Tracking,MOT)技术,是近年来计算机视觉领域的重要研究方向之一,由于近年来算力的增强以及深度学习的蓬勃发展,多目标跟踪领域在2015年前后引入深度学习。目前广泛应用于智能交通、安防监控、自动驾驶、体育分析等多个实际场景。
下面介绍一些典型的模型:
3.1 2016年
(1)SORT
论文:SIMPLE ONLINE AND REALTIME TRACKING (SORT)
是否基于检测:是(依赖外部检测器,如Faster R-CNN)
检测与跟踪分离:是
核心机制:卡尔曼滤波预测 + 匈牙利算法关联(仅用位置+IOU)
优点:速度快,简单易实现。
缺点:ID切换频繁,无外观特征处理遮挡。
适用场景:实时性要求高、遮挡少的场景(如交通监控)。
3.2 2017
(1)DeepSORT
DeepSORT通过融合运动与外观信息,在保持SORT实时性的同时,显著减少遮挡导致的身份切换(ID Switches ↓45%)。
论文:Simple Online and Realtime Tracking with a Deep Association Metric
是否基于检测:是
检测与跟踪分离:是
优点:可与任意检测器(如YOLO、Faster R-CNN)结合,速度快,适合实时跟踪,使用ReID特征提升遮挡鲁棒性。
缺点:无端到端训练,遮挡严重时仍易丢失目标。
适用场景:实时监控,智能交通系统,简单或中等密度人群场景。
3.3 2019
(1)Tracktor
论文:Tracking without bells and whistles
是否基于检测:是
检测与跟踪分离: 不完全分离,检测器同时用于跟踪
优点:无需独立的运动预测器,直接利用检测器进行目标回归,简洁、易集成。
缺点:对遮挡敏感,移动目标预测能力较弱。
适用场景:行人追踪,低速目标、非拥挤场景。
3.3 2020年
(1)CenterTrack
论文:CenterTrack: Tracking Objects as Points
是否基于检测:是
检测与跟踪分离:是(端到端)
优点:端到端模型,易于部署,快速,适合实时应用。
缺点:精度略低于SOTA模型,对快速运动、遮挡鲁棒性差。
适用场景:实时交通监控,移动机器人视觉。
(2)FairMOT
论文:FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracking
是否基于检测:是
检测与跟踪分离:合一(端到端)
优点:检测与ReID共享特征,速度与精度平衡良好,实时性强,准确率高。
缺点:相比DeepSORT精度略低于强ReID方法(如MOTR)。
适用场景:行人跟踪,实时监控系统(如商场、地铁)。
(3)JDE (Joint Detection and Embedding, 2020)
论文:Towards Real-Time Multi-Object Tracking
是否基于检测:端到端联合学习(检测+外观嵌入)
检测与跟踪分离:否
核心机制:单网络输出检测框+ReID特征(如YOLOv3+ReID分支)。
优点:速度较快,兼顾检测与ID一致性。
缺点:检测与ReID任务存在优化冲突。
场景:实时跟踪系统(如无人机监控)。
(4)TransTrack
论文:TransTrack: Multiple Object Tracking with Transformer
是否基于检测:端到端(基于Transformer)
检测与跟踪分离:否
核心机制:Query机制关联当前帧检测与历史轨迹。
优点:全局关系建模,抗遮挡强。
缺点:计算资源需求高。
场景:复杂遮挡场景(如体育赛事)。
3.4 2021年
(1)TraDeS
论文:Track To Detect and Segment: An Online Multi-Object Tracker
是否基于检测:是
检测与跟踪分离: 分离
优点:利用图结构保持目标连贯性,更好地处理遮挡与ID切换问题
缺点:推理速度较慢
适用场景:拥挤场景,如人群分析、体育比赛
(2)MOTR
论文:MOTR: End-to-End Multiple-Object Tracking with Transformer
是否基于检测: 非基于独立检测器,使用DETR结构
检测与跟踪分离: 合一(端到端)
优点:Transformer架构,处理长时间依赖强,无需关联模块,直接输出ID。
缺点:训练复杂,推理较慢,对边缘目标不敏感。
适用场景:高精度场景,离线处理需求,如视频分析、智能分析后台。
(3)ByteTrack
论文:ByteTrack: Multi-Object Tracking by Associating Every Detection Box
是否基于检测:是
检测与跟踪分离: 分离
优点:引入低置信度框进行关联,显著提升Recall,速度快、精度高,简洁、易于部署。
缺点:对ReID支持较弱,在大遮挡场景精度下降。
适用场景:自动驾驶,高速场景中的目标跟踪。
3.5 2022年
(1)OC-SORT
论文:Observation-Centric SORT: Rethinking SORT for Robust Multi-Object Tracking
是否基于检测:是
检测与跟踪分离: 分离
优点:利用轨迹一致性提升遮挡处理能力,对曲线运动处理优良。
缺点:高速目标处理有限,ReID特征需额外训练。
适用场景:曲线轨迹目标(如球类运动),行人及交通目标追踪。
(2)StrongSORT
基于DeepSORT,结合GNN与改进ReID模型
论文:StrongSORT: Make DeepSORT Great Again
是否基于检测:是
检测与跟踪分离:是
优点:精度比DeepSORT高,遮挡处理更好,集成多个特征提升关联能力。
缺点:推理速度略慢,参数调优复杂。
适用场景:中高精度场景,如无人超市、城市安防。
3.6 2023年及以后
近几年多目标跟踪的发展迅猛,推出了很多新的模型,但是本人学习速度实在有限,所以本篇文章先总结到此,后续会继续总结新的模型。
本想使用多目标跟踪技术实现在交通标志的较高质量的实时跟踪,如果各位读者有合适的方法或模型推荐,欢迎各位在评论区留言。感谢!感谢!