暂时搞一下目标跟踪这块。
卡尔曼滤波器。
理论上,kalman滤波器需要三个重要假设:
1)被建模的系统是线性的;
2)影响测量的噪声属于白噪声;
3)噪声本质上是高斯分布的。
第一条假设是指k时刻的系统状态可以用某个矩阵与k-1时刻的系统状态的乘积表示。余下两条假设,即噪声是高斯分布的白噪声,其含义为噪声与时间不相关,且只用均值和协方差就可以准确地为幅值建模。
在kalman滤波器滤波器应用中,一般考虑三种运动:
1)动态运动:这种运动是我们期望的前次测量时系统状态的直接结果,如匀速运动等。
2)控制运动:这种运动是我们期望的,由于某种已知的外部因素以某种原因施加于系统,如加速运动等。
3)随机运动:随机的无规则运动,在Kalman滤波器中,至少是可以用高斯模型有效地来建模。(这段是别人博客上的原话)。
我理解的卡尔曼滤波器:可以根据1)经验预测和2)检测器来不断预测目标运动状态的数学模型。
- 其中重要的信息来源是1)经验预测和2)检测器。
- 更重要的是经验所得的预测状态信息与检测器所得的状态信息都是服从高斯分布的。
- 我们要做的就是就是在这两个高斯分布中选取一个最优值作为本时刻的运动状态,使得这个最优值在两高斯分布中都有较高的概率发生。
假如我们要获取第t时刻运动状态的最优值,我们要怎么做?
首先看我们在t时刻有哪些已有信息:第一,有t-1时刻的运动状态最优值了(xk-1),以及它所对应的协方差矩阵。(这个协方差矩阵一定程度上反映变量的相关性。也不知道理解的对不对哈哈哈嘿嘿嘿)。第二,有了t时刻的检测器的监测信息,以及它所带的协方差。
步骤:
一) 计算科尔曼滤波的前两个公式:先验估计。
这两个公式的结果又被称为先验状态估计,第一个式子可以根据经验获得,F为状态传递矩阵,B为控制矩阵,w为高斯白噪声; u为控制量。觉得这个式子应该是有经验所设计。相应的,由于第一个式子的Xk-1乘以了一个F,所以对应的协方差矩阵也需要乘以F。cov(FP)=Fcov(P)F,这是矩阵形式的,公式二再加上一个高斯白Q就完成了。
到此,我们就有了四个已知值了:分别是估计状态,估计协方差,观察状态,观察协方差。
上面提到了,估计状态与观察状态都是服从高斯分布的,一个是在预测值附近,一个是在传感器读数附近 。于是,卡尔曼滤波就变成了从两个高斯分布中计算出一个最优值使得在两个高斯分布中都有较高的发生概率。实际上的计算是将两个高斯分布相乘获得一个新的高斯分布,并且,在这个新的高斯分布中取得期望就是我们t时刻所要求的最优值。剩下来的公式推导只是求新高斯分布的参数了。期望是最优值,协方差也是最优值的协方差。卡尔曼增益本质上是协方差的比重。