多目标追踪——【两阶段】ByteTrack: Multi-Object Tracking by Associating Every Detection Box
目录
- 文章侧重点
- 追踪框架伪代码
- 实验
-
- MOT17
- BDD100K
论文链接:ByteTrack: Multi-Object Tracking by Associating Every Detection Box
提取码:tz60
开源代码:https://github.com/ifzhang/ByteTrack
MOT17数据集链接 提取码:qqzd
文章侧重点
Motivation
Motivation

Motivation
Motivation
追踪框架伪代码

算法BYTE所接收的对象包括一个视频流V、一个目标识别模块Det以及设定为τ的目标框判断阈值。
针对输入视频的每一帧作如下循环处理: * 应用Det检测该帧图片中的目标并给出潜在目标的边界框与置信度,生成检测目标集合D_k。根据潜在目标的置信度是否大于阈值\tau将检测目标集合D_k细分为高置信度目标集合 D_{high}和低置信度目标集合 D_{low}。
* 利用卡尔曼滤波算法对轨迹集合\Gamma中的每一个轨迹根据历史运动信息,预测轨迹目标的新的边界框位置 。
* 进行第一阶段的轨迹关联。 对高置信度的目标集合 D_{high}与轨迹集合\Gamma匹配。计算目标D_{high}与轨迹集合\Gamma之间IoU或者Re-ID特征的相似度,应用匈牙利算法完成匹配。 对于没有匹配到检测框和轨迹集合分别记作D_{remain}和\Gamma_{remain}。
* 在第一阶段轨迹关联结束之后, 将仍未匹配到的高置信度的目标边界框初始化为新的轨迹
* 进行第二阶段的轨迹关联 。对低置信度的目标集合 D_{low}与尚未匹配的轨迹集合\Gamma_{remain}匹配轨迹。作者发现在这一阶段的最好只用IoU匹配方法,因为低置信度的目标集合通常是那些被遮挡的目标,所以appearance的特征即Re-ID特征并不可靠。
* 此时匹配工作已经结束,删除掉未匹配上的低置信度的目标检测框,将其视作背景剔除掉。而考虑到长期追踪(long-term),目标消失之后可能会再次出现的情况,就设置这两次都没有匹配上的轨迹\Gamma_{re-remain}生成丢失目标集合\Gamma_{lost},而出于计算量的考虑,将\Gamma_{lost}保留30帧,之后则丢弃。
该算法BYTE运行的结果表现为视频序列中目标物运动路径的整体集合Γ;其中,在每一帧图像中可观察到每条运动路径上附着有对应物体的位置标记框及识别编号信息。
实验
在ByteTrack框架中所采用的模型是YOLOX系列,在其架构设计中采用的是YOLOX-X版本,并基于COCO数据集进行预训练以获得初始权重参数
MOT17
- 训练阶段: 在训练阶段中, 所使用的训练数据集包括MOT17, CrowdHuman, CityPerson和ETHZ.
- 测试阶段: 在测试阶段中, 仅依赖于IoU计算相似度矩阵来构建匹配关系; 而未采用基于识别(Re-ID)的方法.
BDD100K
- 训练阶段: 采用的是BDD100K内置的训练集,并未添加任何补充数据。
- 测试阶段: 我们采用了UniTrack框架下的ResNet-50 ImageNet分类模型来从图像中提取Re-ID特征,并计算了样本间的外部相似度。由于该测试集合用于自动驾驶领域的车辆数据分析需求,在这些场景下大多数车辆自身缺乏丰富的外在视觉信息且具有较高的外部相似性。
