高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等

高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等

1 引言

本文是我在学习《Probabilistic Robotics 》这本书中第三章——高斯滤波过程中的一些知识总结。本文主要是整理高斯滤波算法的知识点和一些讨论,具体算法推导步骤请查阅上面所提到的这本书《Probabilistic Robotics 》,里面有非常详细的推导过程。
本章内容主要描述了一个重要的递归状态估计器家族,统称为高斯滤波(Gaussian filter)。所有的高斯技术共享了基本思想,即置信度用多元正态分布表示。因为高斯函数是单峰的,有单一的极大值,这样的后验概率是机器人学中很多跟踪问题的特点,后验以小的不确定性狙聚集在真实状态周围。对很多全局估计问题,由于许多很不同的假设存在,每一个假设都形成其自己的后验模式,因此高斯后验匹配性并不好。
下文主要总结两种最基本的高斯滤波算法,即卡尔曼滤波(KF)和信息滤波(IF)。KF和IF都是针对线性高斯系统的,在此基础上,将KF扩展到非线性问题中,从而得到扩展卡尔曼滤波(EKF)和无迹卡尔曼滤波(UKF)等;后者则得到扩展信息滤波(EIF)等。

2 线性高斯系统

这里首先介绍一下线性高斯系统。KF是由Swerling(1958)和Kalman(1960)作为线性高斯系统(linear Gaussian system)中预测和滤波技术而发明的,是用矩来定义的。KF实现了对连续状态的置信度计算,它不适用于离散或者混合状态空间。
KF 用矩参数表示置信度(置信度反映了机器人有关环境状态的内部信息。因为状态是不能直接测量的。概率机器人通过条件概率分布表示置信度):在时刻t, 置信度用均值μ, 和方差Σ_t表达。如果除了贝叶斯滤波的马尔可夫假设以外,还具有如下三个特性,则后验就是高斯(Gaussian) 的:

  • 状态转移概率P(x_t | u_t,x_t-1)必须是带有随机高斯噪声的参数的线性函数,可由下式表示:
    在这里插入图片描述
  • 测量概率P(Z_t | x_t)也与带有高斯噪声的自变量呈线性关系:
    在这里插入图片描述
  • 最后,初始置信度bel(x_0)必须是正态分布的。这里用μ_0表示置信度的均值,用Σ_0表示方差:
    在这里插入图片描述
    这三个假设足以确保后验bel(x_t) 在任何时刻t 总符合高斯分布.

3 卡尔曼滤波

3.1 卡尔曼滤波算法

卡尔曼滤波主要分为两部分:第一部分——预测;第二部分:量测更新
高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等_第1张图片

3.2 卡尔曼滤波算法的讨论

  • 卡尔曼滤波算法的输入为t-1时刻的置信度,其均值和协方差用μ_t-1 和Σ_t-1 表示。首先由2和3式通过运动方程计算t时刻的预测的置信度;然后通过综合观测方程,用4、5、6式将置信度顺序地转换成t时刻期望的置信度;最后输出t时刻的置信度,其均值和协方差用μ_t和Σ_t表示。
  • 对于高斯噪声的线性系统,卡尔曼滤波器是最优线性无偏估计(best linear unbiased estimate,BLUE)。这意味着它给出的解的协方差矩阵正位于克拉美罗下界(CRLB)(克拉美罗下界是衡量一个无偏估计器是否有效的重要工具,也就是说,给定一个无偏估计器,我们可以利用克拉美-罗下界去判断这个估计器是否是最优的)处。
  • 卡尔曼滤波必须要有初始状态。
  • 卡尔曼滤波计算是相当高效的。

最后给出KF算法的图例是一个简单的一维定位案例。
高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等_第2张图片

4 扩展卡尔曼滤波

4.1 扩展卡尔曼滤波算法

扩展卡尔曼滤波(Extended Kalman Filter, EKF)利用**(一阶)泰勒展开(Taylor expansion) 实现线性化方法**。泰勒展开根据g和h 的值和斜率构造一个函数g 和h的线性近似函数。
高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等_第3张图片

4.2 扩展卡尔曼滤波算法的讨论

  • EKF放宽了一个假设:线性化假设。这里假设状态转移概率和测量概率均为非线性函数。线性化的主要优点在于于既简单又有较高的计算效率。
  • EKF 计算真实置信度的高斯近似值。EKF 从KF 继承了基本的置信度表示,但是它又不同,因为这个置信度只是一个近似值,而不如KF 情况下的精确。因此, EKF 的目标就从计算精确的后验概率转变为有效地估计其均值和方差。
  • EKF适用于各种传感器形式,易于做多传感器融合。
  • EKF的缺点也较为明显:(1)一阶马尔可夫假设过于简单(2)要求数据不能有外点,否则可能会发散;(3)对于非线性较强的情况,线性化误差较大。
    下图给出了这个通过泰勒展开的线性化基本概念。(线性化通过一个在高斯函数的均值处与非线性函数g 相切的线性函数去近似g (右上图虚线所示)。将高斯通过这个线性近似映射成一个高斯密度,如左上图虚线所示。左上图的实线表示蒙特卡罗近似的均值和方差。这两个高斯函数之间的不匹配是由g 的线性近似而引起的误差。)
    高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等_第4张图片

5 无迹卡尔曼滤波

5.1 无迹卡尔曼滤波算法

无迹卡尔曼滤波(Unscented Kalman Filter, UKF) , 它通过使用加权统计线性回归过程实现随机线性化高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等_第5张图片

5.2 无迹卡尔曼滤波算法的讨论

  • UKF 算法的渐近复杂性与EKF 的相同。实际上, EKF 往往比UKF 稍快一些。即使被常数因子减缓, UKF 仍然是非常高效的。并且, UKF 继承了线性无迹变换的优点。对于纯线性系统,由UKF 产生的估计与由卡尔曼滤波产生的估计是相同的。对于非线性系统, UKF 的结果与EKF 的结果相同或者比后者要好,EKF 的改进依赖非线性和先验状态不确定性的范围。在许多实际应用中, EKF和UKF 之间的差异不大。
  • UKF 的另一个优点是,它不需要计算雅可比矩阵,而雅可比矩阵在某些领域是很难确定的。因此UKF 也经常被认为是免求导滤波器(derivative-free filter) 。

下图给出了UKF的线性化示例。
高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等_第6张图片
下图给出了UKF 和EKF 近似之间的对比,依据的是函数g 的非线性特性。正如这里看到的,无迹变换比由EKF 采用的泰勒级数一阶展开要精确。事实上,可以证明无迹变换与泰勒级数展开的前两项精度相同,但EKF 只取了前一项。但是,应该注意, EKF 和UKF 都可以通过采用更高阶项进行修正。
高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等_第7张图片

6 信息滤波

6.1 信息滤波算法

高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等_第8张图片

6.2 信息滤波算法的讨论

  • 卡尔曼滤波(KF) 的对偶滤波算法就是信息滤波(Information Filter, IF)。标 准的IF 具有和KF 相同的假设。KF 和IF 之间的主要不同源于高斯置信度表示的方式。对于一系列KF 算法,高斯分布都由它们的矩(均值、协方差)表示, IF以正则参数表示高斯分布,该正则参数由一个信息矩阵和信息向量组成。参数的不同导致了不同的更新等式。具体来说,对一个参数计算是复杂的,而对另一个参数的计算可能是简单的(反之亦然)。正则参数和矩参数经常被认为是对偶的, IF 和KF 也是如此。

7 扩展信息滤波

7.1 扩展信息滤波算法

高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等_第9张图片

7.2 扩展信息滤波算法的讨论

  • 扩展信息滤波(Extended Information Filter, EIF) 将信息滤波扩展到非线性情况。与EKF 一样,它也是信息滤波的非线性扩展。

总结

高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等_第10张图片
高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等_第11张图片

KF与IF的对比讨论

  • 在IF 中表示全局不确定性是很简单的:简单地设置n =0。当使用矩参数时,这样的全局不确定性意味着无限大的方差。当传感器测量携带的信息是有关所有状态变量的一个严格子集时,这就很成间题,而这种情况在机器人学中是要经常面对的。各种EKF 是做了特殊规定来处理此类情况。IF 往往比KF 更稳定。
  • IF 及其几种扩展方法使机器人能够进行信息整合,而不是立即将信息转化成概率。这在涉及成百甚至更多变量的复杂估计问题时具有很大的优势。对这样的大间题, KF 的整合引出几个计算问题,因为任何新的信息流都需要通过大系统的变最来传播。对IF 进行适当的修改,通过简单地将新的信息局部地添加到系统可避开这个问题。
  • IF 相对KF 的另一个优点源于它对多机器人间题的自然适应性。多机器人问题经常涉及将分散采集的传感器数据进行融合。这样的融合通常由贝叶斯准则完成。当用对数形式表示时,贝叶斯准则变成了加法。如上文所述, IF 的正则参数将概率以对数形式表示。因此,信息融合通过将多机器人的信息相加来获得。因此, IF 经常能以完全分散的形式,以任意时延、任意顺序进行信息融合。虽然利用矩参数也可能做到-毕竟它们表示同样的信息,但这样做必要的开销要高得多。尽管有这样的优势,但IF 在多机器人系统的应用仍有很多未开发的部分。
  • IF 的优势被某些重要的局限性所抵消。EIF 的主要缺点就是应用于非线性系统时,在更新这一步骤中需要重新获得状态估计。如果如此实现的话,需要信息 矩阵的逆。在IF 的预测步骤需要更多的矩阵求逆。在许多机器入问题中, EKF不涉及同等规模的矩阵求逆。对高维状态空间,一般认为在计算上IF 逊色于KF 。这就是为什么EKF 比EIF 更受欢迎的原因之一。

你可能感兴趣的:(高斯滤波知识点总结——KF、EKF、UKF以及IF、EIF等)