预训练模型比较大:
mot17_sbs_S50.pth (303M) 文件过大
用到了特征检索库:faiss,reid模式。
依赖项安装:
pip3 install cython_bbox
# faiss cpu / gpu
pip3 install faiss-cpu
pip3 install faiss-gpu
BoT-SORT: Robust Associations Multi-Pedestrian Tracking
论文:https://arxiv.org/abs/2206.14651
代码:https://github.com/NirAharon/BOT-SORT
多目标跟踪 (MOT
) 的目标是检测和跟踪场景中的所有目标,同时为每个目标保留一个唯一标识符。在本文中提出了一种新的鲁棒跟踪器,它可以结合运动和外观信息的优点,以及相机运动补偿和更准确的卡尔曼滤波器状态向量。新跟踪器 BoT-SORT
和 BoT-SORT-ReID
在 MOT17
和 MOT20
测试集的 MOTChallenge
数据集中排名第一,就所有主要的 MOT
指标而言:MOTA
、IDF1
和 HOTA
。对于 MOT17
:实现了 80.5% MOTA、80.2% IDF1 和 65.0% HOTA。
多目标跟踪 (MOT) 旨在检测和估计视频流中多个目标的时空轨迹。MOT 是许多应用的基本问题,例如自动驾驶、视频监控等。
目前,Tracking-by-detection
成为 MOT
任务中最有效的范式。Tracking-by-detection
包含一个步骤检测步骤,然后是一个跟踪步骤。跟踪步骤通常由2个主要部分组成:
卡尔曼滤波器
(KF) 是此任务的主流选择。对于步骤2:有2种主要的方法用于处理关联任务:
这2种方法都被量化为距离,并用于将关联任务作为全局分配问题来解决。
最近的许多Tracking-by-detection
工作都基于对 SORT
、DeepSORT
和 JDE
方法的研究。作者认识到这些SORT-like
算法存在一些局限性,将在下面进行描述。
大多数SORT-like
算法采用卡尔曼滤波器
和恒速模型
假设作为运动模型。KF
用于预测下一帧中的 tracklet
边界框,以与检测边界框相关联,并用于在遮挡或未检测到的情况下预测 tracklet
状态。
与目标检测器驱动的检测相比,使用 KF
状态估计作为跟踪器的输出会导致边界框形状次优。最近的大多数方法都使用了经典跟踪器 DeepSORT
中提出的 KF
状态表征,它试图估计框的纵横比而不是宽度,这导致宽度大小估计不准确。
SORT-like
IoU-based
方法主要取决于 tracklet
的预测边界框的质量。因此,在许多复杂的场景中,预测边界框的正确位置可能会由于相机运动而失败,这导致2个相关边界框之间的重叠率低,最终导致跟踪器性能低下。作者通过采用传统的图像配准来估计相机运动,通过适当地校正卡尔曼滤波器来克服这个问题。这里将此称为相机运动补偿
(CMC
)。
在许多情况下,SORT-like
算法中的定位和外观信息(即重识别)会导致跟踪器的检测能力 (MOTA
) 和跟踪器随时间保持正确身份的能力 (IDF1
) 之间的权衡。使用 IoU
通常可以实现更好的 MOTA
,而 Re-ID
可以实现更高的 IDF1。
在这项工作中,我们提出了新的跟踪器,通过解决上述 SORT-like
的跟踪器的限制并将它们集成到 ByteTrack
中,新的跟踪器在 MOT17
和 MOT20
挑战的所有主要 MOT
指标(图 1)中都优于所有领先的跟踪器。
工作的主要贡献可以总结如下:
• 通过添加改进,例如基于相机运动补偿的特征跟踪器和合适的卡尔曼滤波器状态向量以实现更好的边界框定位,Tracking-by-detection
跟踪器的性能也可以得到显著的改进。
• 为 IoU
和 ReID
的余弦距离
融合提出了一种简单有效的方法,以便在检测和轨迹之间建立更强大的关联。
在部分中,介绍了基于多目标跟踪的Tracking-by-detection
方法的3个主要修改和改进。通过将它们集成到著名的 ByteTrack
中,作者展示了2个新的最先进的跟踪器,BoT-SORT
和 BoT-SORT-ReID
。BoT-SORT-ReID
是包含ReID
模块的 BoT-SORT
扩展。算法的流程如图 2 所示。
图 2
为了对图像平面中的物体运动进行建模,通常使用具有恒定速度模型的离散卡尔曼滤波器。在 SORT
中,状态向量被选择为7元组,,其中 是在图像平面目标中心的二维坐标。s是边界框比例(面积),a 是边界框纵横比。在最近的跟踪器中,状态向量变为8元组,。
然而,作者通过实验发现,直接估计边界框的宽度和高度会可以得到更好的性能。因此,作者选择将 KF 的状态向量定义为 Eq(1),并且测量向量如方程(2)。在 SORT
中选择的度量 Q、R 与时间无关,因此在 DeepSORT
中也建议选择 Q、R 作为一些估计元素和一些测量元素的度量函数。因此,使用 Q 和 R 的这种选择与时间相关的 和 相关。在改变 KF 的状态向量之后,过程噪声协方差 和测量噪声协方差 矩阵也被修改,可以参见方程(3)(4)。因此有:
这里选择噪声因子为 、 和 ,因为帧速率也是 30FPS。请注意,根据稍微不同的状态向量 x 修改了 Q 和 R。在轨迹丢失的情况下,长时间预测可能会导致 box shape 变形,因此实现了一个类似 ByteTrack
的逻辑。
在消融研究部分,通过实验表明,这些改进带来了更高的HOTA。严格来说,对HOTA整体改善的原因并不清楚。这里假设对KF的修改有助于提高边界框宽度对目标的拟合,如图3所示。
Tracking-by-detection
跟踪器严重依赖于预测轨迹的边界框和检测到的边界框之间的重叠。在动态相机情况下,图像平面中的边界框位置可能会发生显著变化,这可能会导致 ID 切换或假阴性增加,如图4所示。
图4
静态相机场景中的跟踪器也可能因振动或漂移引起的运动而受到影响,就像在 MOT20 中一样,在非常拥挤的场景中,ID 切换可能是一个真正的问题。视频中的运动模式可以概括为刚体运动,来自相机姿态的变化,以及物体的非刚体运动。由于缺乏关于相机运动的额外数据(例如导航、IMU 等)或相机内参,2个相邻帧之间的图像配准是相机刚性运动在图像平面上投影的良好近似。
作者使用OpenCV的全局运动估计 (GMC) 技术来表示背景运动。首先提取图像关键点,然后利用稀疏光流进行基于平移的局部异常点抑制的特征跟踪。这里先使用RANSAC
计算出仿射变换矩阵 。然后使用仿射变换矩阵将预测边界框从k-1帧的坐标系变换到下一帧k的坐标,如下所述。
仿射变换矩阵的平移部分只影响边界框的中心位置,而另一部分影响所有的状态向量和噪声矩阵。相机运动校正步骤可以通过以下等式执行:
当 # 是包含仿射矩阵 A 的尺度和旋转部分的矩阵时,T 包含平移部分。通过定义和 来使用数学技巧。此外,、 分别是相机运动补偿前后 KF 时间 k 的预测状态向量。, 分别是校正前后KF的预测协方差矩阵。之后,在卡尔曼滤波器更新步骤中使用 , 如下:
在高速的情况下,状态向量的完全修正,包括速度项是必要的。当相机与帧率相比变化缓慢时,校正值为等式8可以省略。通过应用这种方法,跟踪器对相机的运动具有较好鲁棒性。
在对刚性相机运动进行补偿之后,并在一个物体的位置从一帧到下一帧仅略有变化的假设下。在在线高帧率应用中,当出现漏检情况时,可以使用KF的预测步骤进行轨迹外推。这可能会导致更高的MOTA轨道更连续的关注。
为了利用深度视觉表示的最新发展,将外观特征集成到的跟踪器中。为了提取这些 Re-ID
特征,在来自 FastReID
库的 BoT
(SBS
) 之上采用了更强的基线,FastReID
以 ResNeSt50
作为主干。采用指数移动平均 (EMA
) 机制来更新第 k 帧处第 i 个 tracklet
的匹配 tracklet
外观状态 ,
其中 是当前匹配检测的外观嵌入,α=0.9 是动量项。因为外观特征可能容易受到人群、遮挡和模糊对象的影响,为了保持正确的特征向量,只考虑高置信度检测。为了在平均轨迹外观状态 和新的检测嵌入向量 之间进行匹配,测量余弦相似度。作者决定放弃外观成本 和运动成本 之间的共同加权和来计算成本矩阵C:
其中权重因子λ通常设置为0.98。
作者开发了一种结合运动和外观信息的新方法,即 IoU
距离矩阵和余弦距离矩阵。首先,就 IoU
的分数而言,低余弦相似度或距离较远的候选者会被拒绝。然后,使用矩阵的每个元素中的最小值作为Cost矩阵 C 的最终值。IoU-ReID
融合管道可以表述如下:
其中 是Cost
矩阵C的(i,j)元素。 是 tracklet
第 i 个预测边界框和第 j 个检测边界框之间的 IoU
距离,表示运动成本。$d^{cos}_{i,j} 是平均 tracklet
外观描述符 i 和新检测描述符 j 之间的余弦距离。 是新设计的Cost。 是接近阈值,设置为 0.5,用于丢弃不太可能的轨迹和检测对。 是外观阈值,用于将 tracklets
外观状态和检测嵌入向量的正关联与负数分离。
在图 5 之后将 设置为 0.2。基于匈牙利匹配和前面提到的Cost矩阵解决了高置信度检测(即第1个关联步骤)的线性分配问题。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/jacke121/article/details/125568958
内容来源于网络,如有侵权,请联系作者删除!