ByteTrack: Multi-Object Tracking by Associating Every Detection Box

这篇论文是我觉得目前在多目标跟踪领域效果最好的,能够有SOTA级MOTA以及很高的推理速度,最快能够达到60FPS.

解决的核心问题:如何在匹配过程中充分利用从高分到低分的检测框

具体思路:保留了几乎所有的检测框,并将它们分为高分检测框和低分检测框。我们首先将高分检测框与tracklet相关联。有些轨迹无法匹配,因为它们与高分检测框不匹配,这通常发生在发生遮挡、运动模糊或大小变化时。然后,将低分数检测框和这些不匹配的轨迹关联起来,以恢复低分数检测框中的对象,同时过滤掉背景。 

 

如上图所示,其中图a列出了每一帧中的所有检测框(即不使用阈值过滤),但是这样会发生误检;图b仅列出了高分检测框(使用阈值过滤),所以当目标发生遮挡的时候会丢失其轨迹,容易发生ID切换;对于图c,在跟踪过程中,使用卡尔曼滤波预测下一帧的轨迹,并且保留下一帧的低分检测框,因为它可能与预测的轨迹相匹配,从而不丢失目标。

算法流程

  1. 输入是一段视频序列及目标检测器Det,并设置检测阈值q,然后依次遍历每个帧,使用检测器检测,D_k是得出的预测框及分数的集合。
  2. 根据检测阈值q将D_k划分为高分检测框D_{high}和低分检测框D_{low}
  3. 对上一帧的轨迹集合T采用卡尔曼滤波来预测T中每个轨迹在当前帧中的位置。
  4. 在高分检测框与T(包括丢失的轨迹T_{lost})执行第一次关联。可以通过IOU或ID特征来计算它们之间的相似性,然后使用匈牙利算法完成基于相似度的匹配。将未完成匹配的高分检测框保留在D_{remain}中,未匹配的轨迹保留在中。
  5. 第二次关联在低分检测框和第一个关联后的剩余轨迹D_{remain}之间执行。然后将未匹配的轨迹保留在T_{re-remain}中,未匹配的低分检测框则直接删除(即将它们看作背景)。
  6. 在第二次关联之后,将T_{re-remain}放入T_{lost}中。对于T_{lost}中的每个轨迹,只有当它存在超过一定数量的帧(即30帧)时,才会将其从轨迹T中删除。否则,将保留T中丢失的轨迹T_{lost}。最后,在第一次关联之后,从未匹配的高分检测框D_{remain}中初始化新轨迹。每个帧的输出是当前帧中轨迹T的边界框和标识。

在第二个关联中单独使用IoU作为相似度很重要,因为低分数检测框通常包含严重的遮挡或运动模糊,所以外观特征不可靠。

 附:

 卡尔曼滤波:【小白学习笔记】(二)目标跟踪-卡尔曼滤波 - 知乎

 匈牙利匹配:【小白学习笔记】(一)目标跟踪-匈牙利匹配 - 知乎

 稀有目标跟踪数据集地址:非机动车检测数据集(百度网盘提取,永久有效)-深度学习文档类资源-CSDN文库

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HUSTer-deeplearning

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值