ECCV22 | ByteTrack:简单、高效、实用的多目标跟踪方法

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心技术交流群

后台回复【ECCV2022】获取ECCV2022所有自动驾驶方向论文!

后台回复【领域综述】获取自动驾驶全栈近80篇综述论文!

后台回复【数据集下载】获取计算机视觉近30种数据集!

沿着多目标跟踪(MOT)中 tracking-by-detection 的范式,我们提出了一种简单高效的数据关联方法 BYTE。利用检测框和跟踪轨迹之间的相似性,在保留高分检测结果的同时,从低分检测结果中去除背景,挖掘出真正的物体(遮挡、模糊等困难样本),从而降低漏检并提高轨迹的连贯性。

BYTE 能轻松应用到 9 种 state-of-the-art 的 MOT 方法中,并取得 1-10 个点不等的 IDF1 指标的提升。基于 BYTE 我们提出了一个跟踪方法 ByteTrack,首次以 30 FPS 的运行速度在 MOT17上取得80.3 MOTA,77.3 IDF1和 63.1 HOTA,目前位居 MOTChallenge 榜单第一。我们还在开源代码中加入了将 BYTE 应用到不同 MOT 方法中的教程以及 ByteTrack 的部署代码。

Paper: 

http://arxiv.org/abs/2110.06864

Code: 

https://github.com/ifzhang/ByteTrack

Leaderboard: 

https://motchallenge.net/results/MOT17/?det=Private

4695ea3ebdcd312b66a88cf0a739e5d0.png

纵轴是 MOTA,横轴是 FPS,圆的半径代表 IDF1 的相对大小

1. Motivation

Tracking-by-detection 是 MOT 中的一个经典高效的流派,通过相似度(位置、外观、运动等信息)来关联检测框得到跟踪轨迹。由于视频中场景的复杂性,检测器无法得到完美的检测结果。为了处理 true positive/false positive 的 trade-off,目前大部分 MOT 方法会选择一个阈值,只保留高于这个阈值的检测结果来做关联得到跟踪结果,低于这个阈值的检测结果直接丢弃。

但是这样做合理吗?答案是否定的。黑格尔说过:存在即合理。低分检测框往往预示着物体的存在(例如遮挡严重的物体),简单地把这些物体丢弃会给 MOT 带来不可逆转的错误,包括大量的漏检和轨迹中断,降低整体跟踪性能。

2. BYTE

为了解决之前方法丢弃低分检测框的不合理性,我们提出了一种简单、高效、通用的数据关联方法 BYTE (each detection box is a basic unit of the tracklet, as byte in computer program)。直接将低分框和高分框放在一起与轨迹关联显然是不可取的,会带来很多的背景(false positive)。BYTE 将高分框和低分框分开处理,利用低分检测框和跟踪轨迹之间的相似性,从低分框中挖掘出真正的物体,过滤掉背景。整个流程如下图所示:

fd6ac3bc1dfc4efed8da335a701acf33.png

  1. BYTE 会将每个检测框根据得分分成两类,高分框和低分框,总共进行两次匹配。

  2. 第一次使用高分框和之前的跟踪轨迹进行匹配。

  3. 第二次使用低分框和第一次没有匹配上高分框的跟踪轨迹(例如在当前帧受到严重遮挡导致得分下降的物体)进行匹配。

  4. 对于没有匹配上跟踪轨迹,得分又足够高的检测框,我们对其新建一个跟踪轨迹。对于没有匹配上检测框的跟踪轨迹,我们会保留 30 帧,在其再次出现时再进行匹配。

我们认为,BYTE 能 work 的原因是:遮挡往往伴随着检测得分由高到低的缓慢降低,被遮挡物体在被遮挡之前是可视物体,检测分数较高,建立轨迹;当物体被遮挡时,通过检测框与轨迹的位置重合度就能把遮挡的物体从低分框中挖掘出来,保持轨迹的连贯性。

3. ByteTrack

ByteTrack 使用当前性能非常优秀的检测器 YOLOX 得到检测结果。在数据关联的过程中,和 SORT 一样,只使用卡尔曼滤波来预测当前帧的跟踪轨迹在下一帧的位置,预测的框和实际的检测框之间的 IoU 作为两次匹配时的相似度,通过匈牙利算法完成匹配。这里值得注意的是我们没有使用 ReID 特征来计算外观相似度:

  1. 第一点是为了尽可能做到简单高速,第二点是我们发现在检测结果足够好的情况下,卡尔曼滤波的预测准确性非常高,能够代替 ReID 进行物体间的长时刻关联。实验中也发现加入 ReID 对跟踪结果没有提升。

  2. 如果需要引入 ReID 特征来计算外观相似度,可以参考我们开源代码中将 BYTE 应用到 JDE,FairMOT 等 joint-detection-and-embedding 方法中的教程。

  3. ByteTrack 只使用运动模型没有使用外观相似度能在 MOT17、MOT20 取得高性能的本质原因是 MOT 数据集的运动模式比较单一(于是,我们提出了一个新数据集 DanceTrack,彩蛋!)

4. Demo

ByteTrack 在 MOT17 and MOT20 challenge 的效果分别如下:

12713809b2b61d87651da6229dd2ff84.gif

6edd7acaf08b87ca5c7843573fcb4e35.gif

ByteTrack 在故宫游玩时拍摄视频的效果如下(侵权删):

9e26a51a1eb650bcda6c2a8006fad845.gif

04b9a81109b599a6822f32f130073492.gif

5. Performance

首先,我们使用 YOLOX 的检测结果,发现 BYTE 能够大幅领先 SORT、DeepSORT、MOTDT 等经典热门关联方法,对超参数也更加鲁棒,结果如下所示:

1a7b0e7ee24e38f469ba4f3b0b336b04.png

bd48cfe8051fe93ff7573ea4aa7e5052.png

其次,我们将 BYTE 应用到了 ECCV20 之后的 9 种 SOTA tracker 上,其中包括基于 ReID、motion 和 attention 的方法,都得到了稳定的 MOTA 和 IDF1 指标的提升,结果如下表所示:

08e730ac386b274dc41bd86cb8a29304.png

最后,ByteTrack 在 MOT17 和 MOT20 上都达到了榜单第一,并且速度在当前所有方法中也达到第一(30 FPS)。

6909edc038bec92f466f93b84002bce5.png

a8266c6a79c4940ec50c695ddd890ac5.png

6. Conclusion

多目标追踪场景中,大部分遮挡物体的检测结果都是低分框,ByteTrack 非常简洁地从低分检测框中寻找遮挡的物体,对遮挡非常鲁棒。ByteTrack 同时也为如何最大程度利用检测结果来帮助 MOT 提供了启发,我们也提供了 ByteTrack 的部署代码和模型,希望它的高精度、高速度能够对实际应用带来帮助。

7. 彩蛋

当前主流多目标跟踪数据集中物体的运动模式非常简单,近乎匀速直线运动,如果物体的运动模式非常复杂,多个物体互相来回穿梭,现有模型的的表现如何?我们提出了一个数据集——DanceTrack: tracking multiple objects in uniform appearance and diverse motion。

这个数据集被 CVPR2022 接收,并且基于这个数据集我们在 ECCV2022 举办了一个 workshop:复杂环境中的多目标跟踪和分割(Multiple Object Tracking and Segmentation in Complex Environments),主页是:https://motcomplex.github.io。

我们的 workshop 探讨了多目标跟踪和分割的四种挑战性的场景:(1) 长视频 (2) 遮挡对象 (3) 复杂运动 (4) 开放世界。同时举办了四个对应的比赛:

  1. 第四届 YouTubeVIS 长视频实例分割挑战赛 (4th YouTubeVIS and Long Video Instance Segmentation Challenge)

  2. 第二届 OVIS 遮挡视频实例分割挑战赛 (2nd Occluded Video Instance Segmentation Challenge)

  3. 第一届 DanceTrack 团体舞蹈多人追踪挑战赛 (1st Multiple People Tracking in Group Dance Challenge)

  4. 第二届 UVO 开放世界视频目标检测和分割挑战赛 (2nd Open-World Video Object Detection and Segmentation Challenge)

欢迎大家关注和使用 MMTracking 参加比赛 !

目前 OpenMMLab 的 MMTracking 算法库已实现了对 ByteTrack 的支持,欢迎大家来体验:

https://github.com/open-mmlab/mmtracking

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D感知、多传感器融合、SLAM、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D感知、多传感器融合、目标跟踪)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

9a11ffc4fa50617d97473e0b3fbdc8a8.jpeg

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值