多目标跟踪的主要步骤:
- 获取原视频帧
- 利用目标检测器对视频帧中的目标进行检测
- 将检测到的目标的框中的特征提取出来,该特征包括表观特征(方便特征对比避免ID switch)和运动特征(运动特征方便卡尔曼滤波对其进行预测)
表观特征与运动特征:
表观特征:
描述目标的外观信息,通常包括颜色、纹理、形状等。主要基于目标的视觉外观进行识别和分类;常见的表观特征提取方法有卷积神经网络
运动特征:
描述目标在时序上的运动信息,关注目标的速度、方向、轨迹等随时间变化的属性;通常通过光流、轨迹分析、或者通过跟踪算法提取
- 计算前后两帧目标之间的匹配程度(利用匈牙利算法和级联匹配),为每个追踪道德目标分配ID
SORT流程:
Deepsort的前身是sort算法,sort算法的核心是卡尔曼滤波算法和匈牙利算法。
卡尔曼滤波:
卡尔曼公式的理解:
实现过程:
使用上一次的最优结果预测当前的值(先验估计),同时使用观测值(传感器所传值)修正当前值,得到最优结果(最优估计)
F:状态转移矩阵,描述系统如何从状态t-1变为t
U:控制输入(现实中指一些人为控制的变量)
B:控制输入矩阵
Q:过程噪声协方差矩阵,用来描述系统的过程噪声
Kk:卡尔曼增益矩阵,平衡预测和观测之间的权重
H:观测矩阵,描述观测如何映射到系统状态
R:观测噪声协方差矩阵,描述观测过程中的噪声