多目标跟踪之ByteTrack论文(翻译+精读)
多目标跟踪之ByteTrack论文(翻译+精读)
多目标跟踪(MOT)旨在估计视频中对象的边界框和身份。大多数方法通过关联分数高于阈值的检测框来获取身份。检测分数低的物体,例如被遮挡的物体被简单地丢弃,这带来了不可忽略的真实物体丢失和碎片轨迹。为了解决这个问题,我们提出了一种简单、有效和通用的关联方法,通过关联几乎每个检测框而不是仅关联高分检测框来进行跟踪。对于低分检测框,我们利用它们与轨迹的相似性来恢复真实对象并过滤掉背景检测。当应用于 9 个不同的最先进的跟踪器时,我们的方法在 IDF1 分数上实现了从 1 到 10 分的持续改进。为了发挥 MOT 的最先进性能,我们设计了一个简单而强大的跟踪器,名为 ByteTrack。我们首次在单 V100 GPU 上以 30 FPS 的运行速度在 MOT17 测试集上实现了 80.3 MOTA、77.3 IDF1 和 63.1 HOTA。 ByteTrack 还在 MOT20、HiEve 和 BDD100K 跟踪基准测试中实现了最先进的性能。源代码、带有部署版本的预训练模型以及应用于其他跟踪器的教程已在 https://github.com/ifzhang/ByteTrack 发布。
图 1. MOT17 测试集上不同跟踪器的 MOTA-IDF1-FPS 比较。横轴为FPS(运行速度),纵轴为MOTA,圆的半径为IDF1。我们的 ByteTrack 在 MOT17 测试集上以 30 FPS 的运行速度实现了 80.3 MOTA、77.3 IDF1,优于之前所有的跟踪器。详细信息如表 4 所示。
1.引言
现有问题
- 检测分数低的物体(如被遮挡)被简单丢弃,带来了物体丢失和碎片化的轨迹。
我们的方法
- 通过关联几乎每个检测框而不是仅关联高分检测框来进行跟踪。对于低分检测框,我们利用它们与轨迹的相似性来恢复真实对象并过滤掉检测到的背景。
效果
- 很好
2.相关工作
2.1 MOT中的目标检测
MOT中的目标检测相关研究:
- 通过检测进行跟踪:
- 例子:RetinaNet、YOLO系列
- 可改进的方向:利用前一帧的信息来增强视频这一帧的检测性能。
- 通过跟踪检测:
- 利用前一帧的来增强下一帧的:利用单目标跟踪(SOT)[5]或卡尔曼滤波器[29]来预测下一帧中轨迹的位置,并将预测框与检测框融合以增强检测结果。
- 基于 Transformer 的 [20, 38, 64, 66] 检测器 [11, 92] 因其在帧之间传播框的强大能力而被多种方法 [42, 59, 80] 采用。
- 我们的方法:
- 我们观察到:许多被遮挡的物体可以被正确检测到,但得分较低。
- 我们的方法原理:为了减少丢失检测并保持轨迹的持久性,我们保留所有检测框并在每个检测框之间进行关联。
2.2 数据关联
数据关联相关研究:
- 相似度关联:
- SORT采用卡尔曼滤波器来预测新帧中轨迹的位置,然后计算检测框和预测框之间的 IoU 作为相似度判断。
- DeepSORT 采用独立的Re-ID模型从检测框中提取外观特征,融合外观和运动进行相似度判断。
- 匹配策略(匹配可以通过匈牙利算法[31]或贪婪赋值[89]来完成):
- SORT [6] 通过一次匹配将检测框与轨迹进行匹配。
- DeepSORT [70]提出了一种级联匹配策略,该策略首先将检测框与最近的轨迹进行匹配,然后与丢失的轨迹进行匹配。
- MOTDT [12]首先利用外观相似度进行匹配,然后利用 IoU 相似度来匹配未匹配的轨迹。
- QDTrack[47]通过双向softmax运算将外观相似度转化为概率,并采用最近邻搜索来完成匹配。
- …
- 我们的研究:
- 我们认为:检测框的使用方式决定了数据关联的上限
- 我们关注:如何在匹配过程中从高分到低分充分利用检测框
3.BYTE
BYTE方法具体内容:
- 将检测到的检测框分为高分检测框和低分检测框,分别处理。
- 预测:对现有轨迹进行卡尔曼滤波
- 第一次关联:高分检测框和卡尔曼滤波预测T得到的所有框进行关联(IoU 或 Re-ID 特征距离),得到未匹配的高分检测(Dremain)和未匹配的轨迹(Tremain)
- 第二次关联:低分检测框和卡尔曼滤波预测Tremain得到的框进行关联(单独使用 IoU)(原因:因为低分检测框通常包含严重的遮挡或运动模糊,并且外观特征不可靠。),得到未匹配的低分检测(删除)和二次未匹配成功的轨迹(Tre-remain)
- 结束:将Tre-remain存到Tlost中(Tlost不会被输出作为轨迹,但下帧的匹配会用Tlost),用Dremain进行轨迹初始化。
ByteTrack跟踪器:应用YOLOX作为检测器,用BYTE作为关联方法的跟踪器。
总体感觉是在DeepSORT上进行的改进。
4.实验
4.1实验设置
数据集:
- MOT17 & MOT20:包含训练集和测试集,无验证集。使用MOT17训练集的前半部分进行训练,后半部分进行验证。
- CrowdHuman:作为附加训练数据,增加对拥挤场景的适应性。
- Cityperson & ETHZ:用于MOT17测试集训练时增加数据多样性。
- HiEve:以人为中心的大规模数据集,专注于拥挤和复杂事件。
- BDD100K:最大的驾驶视频数据集,包含大相机运动情况,需跟踪8类物体。
评估指标:
- CLEAR指标:包括MOTA(关注检测性能)、FP(误检)、FN(漏检)、ID(身份切换次数)。
- IDF1:评估身份保存能力,更关注关联性能。
- HOTA:平衡检测、关联和定位效果的指标。
- 多类指标(如mMOTA、mIDF1):针对BDD100K数据集,计算所有类别的平均MOTA和IDF1。
实施细节:
- BYTE:
- 检测分数阈值τ默认为0.6。
- 使用IoU作为相似性度量,IoU小于0.2的匹配被拒绝。
- 丢失轨迹保留30帧。
- 在MOT17消融研究中,使用FastReID提取Re-ID特征。
- ByteTrack:
- 检测器为YOLOX,以YOLOX-X为主干,使用COCO预训练模型初始化。
- 训练数据组合和训练周期根据数据集不同有所变化。
- 多尺度训练,输入图像尺寸及数据增强方法(Mosaic、Mixup)。
- 使用8个NVIDIA Tesla V100 GPU训练,批量大小为48。
- 优化器为SGD,带有余弦退火计划的学习率调整。
- 训练时间约12小时,FPS测量在单个GPU上进行。
4.2 BYTE 消融研究
相似性分析:
- Similarity#1(第一关联相似性):
- 对于MOT17数据集,IoU(交并比)和Re-ID(重识别)都是不错的选择,但IoU在MOTA和ID指标上表现更好,而Re-ID在IDF1上更高。
- 对于BDD100K数据集,由于相机运动大和注释帧率低,Re-ID在第一关联中表现优于IoU。
- Similarity#2(第二关联相似性):
- 在两个数据集的第二次关联中,使用IoU作为相似性非常重要,因为低分检测框通常包含遮挡或运动模糊,Re-ID特征不可靠。IoU作为Similarity#2相比Re-ID显著提高了MOTA分数。
与其他关联方法的比较:
- SORT:
- BYTE在MOTA、IDF1和ID指标上均优于SORT,证明了低分检测框的重要性以及BYTE恢复目标框的能力。
- DeepSORT:
- 尽管DeepSORT使用Re-ID模型增强远程关联,但BYTE在检测框准确时通过简单的卡尔曼滤波器实现了更好的IDF1和ID,说明在遮挡情况下Re-ID可能脆弱。
- MOTDT:
- MOTDT使用传播框可能导致定位漂移,而BYTE使用低分检测框重新关联不匹配轨迹,轨迹框更准确。
检测分数阈值的鲁棒性:
- BYTE对检测分数阈值(τ)的变化更加稳健,因为第二个关联机制会考虑几乎所有检测框,无论其分数如何。
低分检测框分析:
- 通过对低分检测框中TP(真正例)和FP(假正例)的分析,BYTE能够从低分检测框中恢复更多真正的目标,显著提升MOTA分数。
其他跟踪器上的应用:
- BYTE被应用于9种不同的先进跟踪器,通过两种不同模式的应用,显著提升了这些跟踪器的性能,证明了BYTE的通用性和有效性。
- 第一种模式:在跟踪器完成其原始关联后,BYTE选择所有未匹配的轨迹,并将它们与通过算法1中“第二个关联”步骤处理后的低分检测框进行关联。此过程中,主要依赖检测框之间的IoU(交并比)以及运动预测后的轨迹框作为相似性度量,因为低分检测框的Re-ID(重识别)特征通常不可靠。
- 第二种模式:直接使用跟踪器的检测框,并完全按照BYTE的算法1进行关联处理,包括两个关联步骤和相应的相似性度量。
4.3 基准评估
ByteTrack 在多个权威的多目标跟踪(MOT)数据集上展示了其卓越的性能和鲁棒性,包括 MOT17、MOT20、HiEve 以及 BDD100K。
- MOT17:
- 在MOT17排行榜上,ByteTrack在所有追踪器中排名第一,实现了最高的精度(80.3 MOTA、77.3 IDF1、63.1 HOTA)和最高的运行速度(30 FPS)。
- 相比其他高性能方法,ByteTrack在精度上大幅提升,同时使用的训练数据量更少。
- 在关联步骤中,ByteTrack仅利用卡尔曼滤波器这一最简单的相似度计算方法,证明了其高效性和简洁性。
- MOT20:
- MOT20包含更多的拥挤场景和遮挡情况,ByteTrack在此数据集上同样排名第一,并在几乎所有指标上大幅领先其他跟踪器。
- ByteTrack在MOT20上实现了显著的MOTA(从68.6增加到77.8)和IDF1(从71.4增加到75.2)提升,并大幅减少了身份切换次数。
- Human in Events (HiEve):
- HiEve数据集包含更复杂的事件和更多样化的摄像机视图,ByteTrack在此数据集上也排名第一,并大幅领先其他最先进的追踪器。
- ByteTrack显著提高了MOTA(从40.9增加到61.3)和IDF1(从45.1增加到62.9),展示了其在复杂场景中的鲁棒性。
- BDD100K:
- BDD100K是自动驾驶场景中的多类别跟踪数据集,具有低帧速率和大相机运动的挑战。
- ByteTrack在BDD100K排行榜上同样排名第一,通过引入简单的ResNet-50 ImageNet分类模型来提取Re-ID特征,实现了mMOTA的显著提升(验证集从36.6提高到45.5,测试集从35.5提高到40.1)。
5.总结
我们提出了一种简单而有效的数据关联方法 BYTE 用于多目标跟踪。 BYTE 可以轻松应用于现有的跟踪器并实现一致的改进。我们还提出了一个强大的跟踪器ByteTrack,它在MOT17测试集上以30 FPS实现了80.3 MOTA、77.3 IDF1和63.1 HOTA,在排行榜上的所有跟踪器中排名第一。 ByteTrack 由于其准确的检测性能以及关联低分检测框的帮助而对遮挡非常稳健。它还揭示了如何充分利用检测结果来增强多目标跟踪。我们希望 ByteTrack 的高精度、快速性和简单性能够使其在实际应用中具有吸引力。