KalmanFilter卡尔曼滤波

预测(prediction)

状态变量

x k = A x k − 1 + B u k − 1 + w k − 1 x_k = Ax_{k-1} + Bu_{k-1} + w_{k-1} xk=Axk1+Buk1+wk1
其中n维向量 x k x_k xk为k时刻的系统状态变量,n维向量 x k − 1 x_{k−1} xk1是k-1时刻的系统状态变量。

A A A是状态转移矩阵或者过程增益矩阵,是 n × n n×n n×n阶方阵,它将k-1时刻状态和当前的k时刻状态联系起来。
KalmanFilter卡尔曼滤波_第1张图片
B B B是可选的控制输入 u ∈ R l u\in R^l uRl的增益,在大多数实际情况下并没有控制增益,所以 B u k − 1 Bu_{k−1} Buk1这一项很愉快的变成零了。

w k − 1 w_{k-1} wk1是n维向量,代表过程激励噪声,它对应了中每个分量的噪声,是期望为0,协方差为Q的高斯白噪声, w ~ N ( 0 , Q ) w~N(0,Q) wN(0Q)
在这里插入图片描述

观测变量

z k = H x k + v k z_k = Hx_k + v_k zk=Hxk+vk
其中观测值 z k z_k zk是m阶向量,状态变量 x k x_k xk是n阶向量。对于目标检测, z k z_k zk就是检测结果转化后的值
KalmanFilter卡尔曼滤波_第2张图片
观测矩阵 H H H m × n m×n m×n阶矩阵,代表状态变量 x k x_k xk对测量变量 z k z_k zk的增益
KalmanFilter卡尔曼滤波_第3张图片
观测噪声 v k v_k vk是期望为0,协方差为R的高斯白噪声, v k ~ N ( 0 , R ) v_k~N(0,R) vkN(0,R)

误差协方差

P ^ k ˉ = A P ^ k − 1 A T + Q \hat P_{\bar k} = A \hat P_{k-1}A^T + Q P^kˉ=AP^k1AT+Q
在这里插入图片描述
KalmanFilter卡尔曼滤波_第4张图片

P ^ k ˉ − 1 \hat P_{\bar k-1} P^kˉ1:表示k时刻的先验估计协方差,这个协方差矩阵只要确定了一开始的 P ^ 0 \hat P_0 P^0,后面都可以递推出来,而且初始协方差矩阵 P ^ 0 \hat P_0 P^0只要不是为0,它的取值对滤波效果影响很小,都能很快收敛。

P ^ k ˉ \hat P_{\bar k} P^kˉ:表示k时刻的后验估计协方差,是滤波结果之一。

Q Q Q:表示过程激励噪声的协方差,它是状态转移矩阵与实际过程之间的误差。这个矩阵是卡尔曼滤波中比较难确定的一个量,一般有两种思路:一是在某些稳定的过程可以假定它是固定的矩阵,通过寻找最优的Q值使滤波器获得更好的性能,这是调整滤波器参数的主要手段,Q一般是对角阵,且对角线上的值很小,便于快速收敛;二是在自适应卡尔曼滤波(AKF)中Q矩阵是随时间变化的。
KalmanFilter卡尔曼滤波_第5张图片

更新(update/correction)

卡尔曼增益

K k = P ^ k ˉ H T H P ^ k ˉ H T + R K_k = \frac {\hat P_{\bar k}H^T}{H\hat P_{\bar k}H^T + R} Kk=HP^kˉHT+RP^kˉHT
KalmanFilter卡尔曼滤波_第6张图片
KalmanFilter卡尔曼滤波_第7张图片

H H H:表示量测矩阵,是 m × n m×n m×n阶矩阵,它把m维测量值转换到n维与状态变量相对应。
KalmanFilter卡尔曼滤波_第8张图片
R R R:测量噪声的协方差矩阵,这个值过大过小都会使滤波效果变差,且取值越小,收敛越快。
KalmanFilter卡尔曼滤波_第9张图片

由观测变量 z k z_k zk更新估计

x ^ k = x ^ k ˉ + K k ( z k − H x ^ k ˉ ) \hat x_k = \hat x_{\bar k} +K_k(z_k-H \hat x_{\bar k}) x^k=x^kˉ+Kk(zkHx^kˉ)
KalmanFilter卡尔曼滤波_第10张图片
KalmanFilter卡尔曼滤波_第11张图片

KalmanFilter卡尔曼滤波_第12张图片
KalmanFilter卡尔曼滤波_第13张图片

x ^ k ˉ \hat x_{\bar k} x^kˉ:表示 k k k时刻先验状态估计值,这是算法根据前次迭代结果(就是上一次循环的后验估计值)做出的不可靠估计。

x ^ k \hat x_k x^k:表示k时刻后验状态估计值,也就是要输出的该时刻最优估计值,这个值是卡尔曼滤波的结果。

更新误差协方差

P ^ k = ( I − K k H ) P ^ k ˉ \hat P_k = (I - K_kH)\hat P_{\bar k} P^k=(IKkH)P^kˉ
KalmanFilter卡尔曼滤波_第14张图片
KalmanFilter卡尔曼滤波_第15张图片

新的最佳估计是基于原最佳估计已知外部影响校正后得到的预测。

新的不确定性是基于原不确定性外部环境的不确定性得到的预测。

KalmanFilter卡尔曼滤波_第16张图片

KalmanFilter卡尔曼滤波_第17张图片

你可能感兴趣的:(物体检测,数学,目标跟踪,算法)