[Paper]ByteTrack: Multi-Object Tracking by Associating Every Detection Box(2021)
[Code]ifzhang/ByteTrack
ByteTrack:通过关联每个检测框进行多目标跟踪
多对象跟踪 (MOT) 旨在估计视频中对象的边界框和身份。大多数方法通过关联得分高于阈值的检测框来获取身份。检测分数低的物体,例如 被遮挡的物体被简单地扔掉,这带来了不可忽视的真实物体缺失和碎片化的轨迹。为了解决这个问题,我们提出了一种简单、有效和通用的关联方法,通过关联每个检测框而不是只关联高分框来进行跟踪。对于低分检测框,我们利用它们与轨迹的相似性来恢复真实对象并过滤掉背景检测。当应用于 9 个不同的最先进跟踪器时,我们的方法在 IDF1 分数上实现了从 1 到 10 分的持续改进。为了提出 MOT 最先进的性能,我们设计了一个简单而强大的跟踪器,命名为 ByteTrack。我们第一次在 MOT17 的测试集上实现了 80.3 MOTA、77.3 IDF1 和 63.1 HOTA,在单个 V100 GPU 上运行速度为 30 FPS。

概述
通过检测跟踪是当前多目标跟踪(MOT)最有效的范例。由于视频中的复杂场景,检测器容易做出不完美的预测。最先进的 MOT 方法 [3, 17, 44, 2, 69, 7, 67, 12, 4, 81, 56] 需要处理检测框中的真阳性/假阳性权衡以消除低 置信检测框 [5, 39]。然而,这是消除所有低置信度检测框的正确方法吗?我们的回答是否定的:正如黑格尔所说:“合理的就是真实的; 真实的才是合理的。” 低置信度检测框有时会指示物体的存在,例如被遮挡的物体。过滤掉这些对象会导致 MOT 出现不可逆转的错误,并带来不可忽略的缺失检测和碎片化轨迹。
图 2 (a) 和 (b) 显示了这个问题。在 t1 帧中,我们初始化了三个不同的轨迹,因为它们的分数都高于 0.5。然而,在发生遮挡的 t2 帧和 t3 帧中,红色轨迹对应的检测分数变低,即 0.8 到 0.4,然后是 0.4 到 0.1。 这些检测框被阈值机制消除,红色轨迹相应消失。尽管如此,如果我们考虑到每个检测框,就会立即引入更多的误报,例如,图 2(a)的帧 t3 中最右边的框。据我们所知,MOT 中很少有方法 [29, 60] 能够处理这种检测困境。

在本文中,我们发现与 tracklets 的相似性提供了一个强有力的线索来区分低分检测框中的对象和背景。如图 2© 所示,两个低分检测框通过运动模型的预测框与轨迹匹配,从而正确恢复了对象。同时,背景框被移除,因为它没有匹配的轨迹。为了在匹配过程中充分利用从高分到低分的检测框,我们提出了一种简单有效的关联方法BYTE,以每个检测框命名是tracklet的基本单位,在计算机程序中为字节,我们的跟踪方法重视每个详细的检测框。我们首先根据运动相似性将高分检测框与轨迹匹配。与 [7] 类似,我们使用卡尔曼滤波器 [28] 来预测新帧中轨迹的位置。运动相似度可以通过预测框和检测框的 IoU 来计算。图2(b)正是第一次匹配后的结果。然后,我们在未匹配的轨迹(即红色框中的轨迹)和低分检测框之间执行第二次匹配。图2(c)显示了第二次匹配后的结果。 检测分数低的被遮挡人与之前的轨迹正确匹配,背景被移除。为了评估我们提出的关联方法的泛化能力,我们将其应用于 9 种不同的最先进跟踪器,包括基于 Re-ID 的跟踪器 [66, 81, 32, 46],基于运动的跟踪器 [85 , 68, 47],基于链的 [47] 和基于注意力的 [56, 76]。我们在包括 MOTA、IDF1 分数和 ID 开关在内的几乎所有指标上都取得了显着改进。例如,我们将 CenterTrack [85] 的 MOTA 从 66.1 增加到 67.4,将 IDF1 从 64.2 增加到 74.0,并在 MOT17 [85] 的半验证集上将 ID 从 528 减少到 144。
为了推动 MOT 的最先进性能,我们提出了一个简单而强大的跟踪器,名为 ByteTrack。我们采用最近的高性能检测器 YOLOX [24] 来获取检测框并将它们与我们提出的 BYTE 相关联。在MOT挑战方面,BYTECTAK在MOT17[43]和MOT20[16]中排名第一,在MOT17的V100 GPU上以30 FPS的运行速度实现了80.3 MOTA、77.3 IDF1和63.1 HOTA,在MOT20上实现了77.8 MOTA、75.2 IDF1和61.3 HOTA。
我们提出的方法是第一个通过极其简单的运动模型实现极具竞争力的跟踪性能的工作,没有任何 Re-ID 模块或注意力机制 [81、32、46、65、76、56]。它揭示了运动线索在处理遮挡和远程关联方面的巨大潜力。我们希望 ByteTrack 的效率和简单性能够使其在实际应用中具有吸引力。
相关工作
目标检测和数据关联是多目标跟踪的两个关键组成部分。检测估计边界框和关联获得身份。
MOT 中的物体检测
目标检测是计算机视觉中最活跃的话题之一,它是多目标跟踪的基础。MOT17 数据集 [43] 提供了由 DPM [21]、Faster R-CNN [49] 和 SDP [74] 等流行检测器获得的检测结果。大量方法 [71, 14, 4, 12, 88, 9, 27] 专注于基于这些给定的检测结果提高跟踪性能。这些方法的联想能力可以比较。
检测跟踪随着物体检测[49,26,48,34,10,22,57,55]的快速发展,越来越多的方法开始使用更强大的检测器来获得更高的跟踪性能。一级物体检测器 RetinaNet [34] 开始被多种方法使用,例如 [38, 47]。CenterNet [86] 是大多数方法 [85, 81, 68, 83, 65, 60, 63] 使用的最流行的检测器,因为它简单高效。YOLO 系列检测器 [48, 8] 也被大量方法 [66, 32, 33, 15] 使用,因为它在精度和速度之间取得了出色的平衡。这些方法中的大多数直接使用单个图像上的检测框进行跟踪。
然而,正如视频对象检测方法所指出的那样,当视频序列中发生遮挡或运动模糊时,丢失检测和非常低评分检测的数量开始增加 [59, 40]。因此,通常利用前一帧的信息来增强视频检测性能。
通过跟踪检测 也可以采用跟踪来帮助获得更准确的检测框。一些方法 [52, 88, 14, 13, 15, 12] 使用单目标跟踪 (SOT) [6] 或卡尔曼滤波器 [28] 来预测下一帧中轨迹的位置并将预测框与检测融合 框以增强检测结果。其他方法 [82, 33] 使用前一帧中的跟踪框来增强后一帧的特征表示。最近,基于 Transformer 的 [61, 19, 64, 37] 检测器 [11, 89] 被多种方法 [56, 41, 76] 使用,因为它具有在帧之间传播框的强大能力。我们的方法还利用与轨迹的相似性来加强检测框的可靠性。
在通过各种检测器获得检测框后,大多数 MOT 方法 [66, 81, 46, 38, 32, 68, 56] 仅将高分检测框保留一个阈值,即 0.5,并将这些框作为数据关联的输入。这是因为低分检测框包含许多损害跟踪性能的背景。然而,我们观察到许多被遮挡的物体可以被正确检测,但分数很低。为了减少丢失的检测并保持轨迹的持久性,我们保留所有检测框并在每个框之间进行关联。
数据关联
数据关联是多目标跟踪的核心,它首先计算tracklet和检测框之间的相似度,然后根据相似度进行匹配。
相似度指标。 位置、动作和外观是关联的有用线索。SORT [7] 以一种非常简单的方式结合了位置和运动线索。它首先使用卡尔曼滤波器 [28] 来预测新帧中轨迹的位置,然后计算检测框和预测框之间的 IoU 作为相似度。最近的一些方法 [85, 56, 68] 设计网络来学习对象运动,并在大相机运动或低帧率的情况下获得更稳健的结果。短距离匹配中的位置和运动相似度是准确的。外观相似度有助于长距离匹配。一个物体被长时间遮挡后,可以使用外观相似度重新识别。外观相似度可以通过 Re-ID 特征的余弦相似度来衡量。DeepSORT [67] 采用独立的 Re-ID 模型从检测框中提取外观特征。最近,联合检测和 Re-ID 模型 [66, 81, 32, 38, 80, 46] 由于其简单性和效率而变得越来越流行。
匹配策略 在相似度计算之后,匹配策略为对象分配身份。这可以通过匈牙利算法 [30] 或贪婪分配 [85] 来完成。SORT [7] 通过一次匹配将检测框与轨迹匹配。DeepSORT [67] 提出了一种级联匹配策略,该策略首先将检测框与最近的轨迹进行匹配,然后与丢失的轨迹进行匹配。MOTDT [12] 首先使用外观相似度进行匹配,然后使用 IoU 相似度匹配未匹配的轨迹。QuasiDense [46] 通过双向 softmax 操作将外观相似度转化为概率,并使用最近邻搜索来完成匹配。注意机制 [61] 可以直接在帧之间传播框并隐式执行关联。最近的方法如 [41, 76] 提出了跟踪查询以在以下帧中找到被跟踪对象的位置。匹配是在注意力交互过程中隐式执行的。
所有这些方法都集中在如何设计更好的关联方法上。然而,我们认为检测框决定了数据关联的上限,我们关注如何在匹配过程中利用从高分到低分的检测框。
BYTE
我们提出了一种简单、有效和通用的数据关联方法,BYTE。与之前的方法 [66, 81, 32, 46] 只保留高分检测框不同,我们保留每个检测框并将它们分为高分和低分。我们首先将高分检测框与轨迹相关联。一些轨迹无法匹配,因为它与适当的高分检测框不匹配,这通常发生在发生遮挡、运动模糊或大小变化时。然后,我们将低分检测框和这些不匹配的轨迹关联起来,以同时恢复低分检测框中的对象并过滤掉背景。BYTE 的伪代码如算法 1 所示。

BYTE 的输入是一个视频序列 V,以及一个目标检测器 Det 和卡尔曼滤波器 KF。我们还设置了三个阈值 τ h i g h \tau_{high} τhigh、 τ l o w \tau_{low} τlow 和 ϵ \epsilon ϵ 。 τ h i g h \tau_{high} τhigh 和 τ l o w \tau_{low} τlow 是检测分数阈值, ϵ \epsilon ϵ是跟踪分数阈值。BYTE 的输出是视频的轨迹 T,每个轨迹包含每一帧中对象的边界框和身份。
对于视频中的每一帧,我们使用检测器 Det 预测检测框和分数。我们根据检测分数阈值 τ h i g h \tau_{high} τhigh 和 τ l o w \tau_{low} τlow 将所有检测框分成两部分 D h i g h D_{high} Dhi

提出了一种简单有效的多目标跟踪方法ByteTrack,通过关联每个检测框而非仅限高分框来解决遮挡和碎片化轨迹的问题。该方法利用低分框与轨迹的相似性恢复真实对象并过滤背景,显著提升了跟踪性能。
最低0.47元/天 解锁文章
2754

被折叠的 条评论
为什么被折叠?



