目标跟踪 (七)MOT SORT DEEPSORT 卡尔曼滤波 匈牙利算法

https://zhuanlan.zhihu.com/p/90835266

Tracking-by-Detecton 基于目标检测的结果来进行目标跟踪:

  • 匈牙利算法(KM算法):将前一帧中的跟踪框tracks与当前帧中的检测框detections进行关联,通过外观信息马氏距离、或者IOU来计算代价矩阵
  • 卡尔曼滤波基于传感器的测量值(在目标跟踪中即目标检测器)与跟踪器的预测值,实现更精确的估计。(结合预测(先验分布)和测量更新(似然)的状态估计算法)

关键步骤:

目标跟踪 (七)MOT SORT DEEPSORT 卡尔曼滤波 匈牙利算法_第1张图片

目标跟踪 (七)MOT SORT DEEPSORT 卡尔曼滤波 匈牙利算法_第2张图片

目标跟踪 (七)MOT SORT DEEPSORT 卡尔曼滤波 匈牙利算法_第3张图片

deeposrt改进:代价函数增加代表运动模型的马氏距离和代表外观模型的Re-ID特征

检测器生成detections → 预测tracks→ 使用匈牙利算法将新tracks和detecions进行匹配 → 用每对中的detection进行对应的track卡尔曼滤波更新

1)在目标跟踪中,需要估计track的以下两个状态:

均值(Mean):表示目标的位置信息,由bbox的中心坐标 (u, v),宽高比r,高h,以及各自的速度变化值组成,由8维向量表示为

协方差(Covariance ):表示目标位置信息的不确定性,由8x8的对角矩阵P表示,矩阵中数字越大则表明不确定性越大。

2)track在t+1时刻的状态:x^{'}=Fx   卡尔曼滤波器采用匀速模型和线性观测器模型

目标跟踪 (七)MOT SORT DEEPSORT 卡尔曼滤波 匈牙利算法_第4张图片

track在t+1时刻的协方差矩阵P'    P^{'}=FPF'+Q     

 

协方差是经验参数,初始状态为

系统噪声矩阵

3)基于卡尔曼滤波器的预测结果进行匹配:

采用匈牙利算法/KM算法先对Klaman滤波器预测阶段得到的运动估计和观测进行关联。

匹配成功的则进行Kalman滤波器的更新,匹配失败的跟踪轨迹则视为丢失,匹配失败的观测量则视为新增轨迹;

4)匹配成功后,对track根据匹配对的检测结果进行更新。

a.测量矩阵H将track的均值向量x'映射到检测空间

目标跟踪 (七)MOT SORT DEEPSORT 卡尔曼滤波 匈牙利算法_第5张图片

detection与track的均值误差:

b. 将协方差矩阵P'映射到检测空间,加上噪声矩阵

检测器噪声矩阵

c.计算卡尔曼增益K,用于估计误差的重要程度

d.计算更新后的均值向量x和协方差矩阵P

你可能感兴趣的:(单目标跟踪)