卡尔曼滤波在目标跟踪中的作用大致可以分为两个部分:预测和最优估计。

数学原理

  1. 状态预测方程

x^kk1=Ax^k1k1+Buk1 \mathbf{\hat{x}}_{k|k-1} = \mathbf{A} \mathbf{\hat{x}}_{k-1|k-1} + \mathbf{B} \mathbf{u}_{k-1}

其中,x^kk1\mathbf{\hat{x}}_{k|k-1} 是状态预测值,A\mathbf{A} 是状态转移矩阵,B\mathbf{B} 是控制矩阵,uk1\mathbf{u}_{k-1} 是控制输入。

  1. 预测误差协方差方程

Pkk1=APk1k1AT+Q \mathbf{P}_{k|k-1} = \mathbf{A} \mathbf{P}_{k-1|k-1} \mathbf{A}^T + \mathbf{Q}

其中,Pkk1\mathbf{P}_{k|k-1} 是预测误差协方差矩阵,Q\mathbf{Q} 是过程噪声协方差矩阵。

  1. 卡尔曼增益方程

Kk=Pkk1HT(HPkk1HT+R)1 \mathbf{K}_k = \mathbf{P}_{k|k-1} \mathbf{H}^T (\mathbf{H} \mathbf{P}_{k|k-1} \mathbf{H}^T + \mathbf{R})^{-1}

其中,Kk\mathbf{K}_k 是卡尔曼增益,H\mathbf{H} 是观测矩阵,R\mathbf{R} 是观测噪声协方差矩阵。

  1. 状态更新方程

x^kk=x^kk1+Kk(zkHx^kk1) \mathbf{\hat{x}}_{k|k} = \mathbf{\hat{x}}_{k|k-1} + \mathbf{K}_k (\mathbf{z}_k - \mathbf{H} \mathbf{\hat{x}}_{k|k-1})

其中,x^kk\mathbf{\hat{x}}_{k|k} 是更新后的状态估计值,zk\mathbf{z}_k 是观测值。

  1. 更新误差协方差方程

Pkk=(IKkH)Pkk1 \mathbf{P}_{k|k} = (\mathbf{I} - \mathbf{K}_k \mathbf{H}) \mathbf{P}_{k|k-1}

其中,Pkk\mathbf{P}_{k|k} 是更新后的误差协方差矩阵,I\mathbf{I} 是单位矩阵。

在追踪任务中的应用

最优估计

可以理解为将过去轨迹和当前检测结果加权,得到一个更加平滑的结果。

预测

根据模型(往往采用的是匀速直线运动模型)计算得到下一时刻的目标状态,使得匹配更加准确(因为目标在运动)。