我们观测到的数据总是包含噪声的,为了得到更准确的结果,卡尔曼最早在1960年提出卡尔曼滤波器,Kalman Filter 的目的是利用先验知识,根据一批采样数据(X_1, X2, ......可以推出卡尔曼滤波器的公式如下:
$$
\left\{\begin{array}{c}
\text {(1)}& Z_{n \mid n-1}&=& G_{n} Z_{n-1 \mid n-1} \...在多目标跟踪中的应用
在多目标跟踪模型如SORT中,就使用了卡尔曼滤波器进行运动预测,使用以往的轨迹预测当前帧的结果,再用当前帧网络输出的结果进行校准,python代码中的超参和变量定义如下:
状态 (...x,P),其中x为当前的状态列向量,P是当前的状态协方差,状态转移矩阵F,过程噪声矩阵Q;
测量(z, R),测量函数H;
在SORT中使用的是匀速模型,状态的维度为7,分别是(cx, cy, s=w*...h, r=w/h, cx', cy', s'), 观测的维度是4,分别是(cx, cy, s=w*h, r=w/h)
SORT的匹配方法使用了以IoU为代价矩阵的匈牙利算法
对于匹配上的检测目标,使用检测结果更新轨迹的卡尔曼滤波器