粒子滤波算法已经是学者和研究人员高度关注的,也是如今一个非常受欢迎的研究领域。粒子滤波是把所有可能出现的观测值,根据状态空间先随机地生成很多的粒子,再对每一个粒子用贝叶斯准则对其进行加权后的修改。然后通过递归的方法构造状态变量的概率密度函数,用它来近似表示实际的概率分布[2]。Gordon一些人,运用重采样方法进行粒子滤波,但是出现了粒子的退化现象,也就是常说的粒子匮乏的问题。随着计算机和信息处理方面技术的进步,又出现了很多新的粒子滤波的方法,可分为如下四大类。
1)基于观测数据的改进算法
Haykin等人在2004年,根据多输入和多数出的通道,提出了用梯度算法进行粒子滤波,还有的是根据已经确定的点产生的粒子进行滤波的扩展卡尔曼滤波,无迹粒子滤波,和平方根无迹的粒子滤波算法。Abdallah等人随后在2007年对非白色出现偏观测的情况进行了改进,改进的方法是根据间隔的数据进行分析,提出了盒子粒子滤波算法。Liang等人,也随后提出了通过平稳之前的状态和滤波当前的状态,使得当出现双峰状态时会有更加精确的结果的粒子滤波算法,但是由于这个算法需要一直的平稳,非常耗时,所以他们有根据通道之间的相似性改进了本算法。
2)基于核密度估计器的改进算法
Kotecha等人利用一个高斯函数近似的后验密度,推出了高斯粒子滤波算法。该算法保证了粒子的数目是最优的。之后,他们又提出了利用很多的高斯函数,组成一组高斯粒子滤波,并进行混合相加,也可以进行平行运算,来近似估计后验概率分布。但是这个方法仅适用于拥有高斯或者是非高斯噪声的非线性运动状态的模型估计。
3)对于特殊系统的改进算法
Vihola根据有限集统计的多个目标跟踪,提出了粒子滤波器(RBPF),随后又有人提出了准高斯粒子滤波算法,并且提出了准高斯粒子滤波器,相比于粒子滤波器(RBPF),在相同的估计准确度条件下,准高斯粒子滤波器大大缩短了计算时间。Khan等人之后MCMC粒子滤波算法,该算法时在原先的基础上加入了一步马尔科夫链蒙特卡罗过程。Thrun等人为了降低粒子退化的风险,提出了用实际的自变量和风险函数,这样使得更多的粒子可以在有风险的区域内形成。Hong等人提出了高速粒子滤波算法,该方法时利用剩余的重采样的定点方法,使用简单而有效的粒子标记策略,保证了采样前与重采样后的粒子数目相等。
4)基于优化算法的改进算法
优化算法在解决组合的优化问题时体现了独一无二的优势。这些年来,已有很多学者为了减弱重采样之后的粒子消耗的问题,使用一些优化算法,使得粒子集越来越逼近状态实际值的后验分布了。Oshman等人已经将粒子滤波算法同遗传学算法联合起来,通过矢量的观测,进行姿势的估计。人手运动跟踪和移动物体跟踪中已经广泛使用遗传粒子滤波算法。随后Carmi等人提出了自适应的粒子滤波算法,该算法扩展了遗传粒子滤波算法。Wu等人为了解决含有模糊噪声的动力系统的状态估计,提出模糊粒子滤波(FPF)。该方法采用顺序模糊模拟的方法来接近状态空间的状态间隔可能性,估计状态的方法是采用模糊期望值运算。Clapp经过加入模仿退火思绪,提出模拟退火粒子滤波,改良重采样策略的效果。Gan等人在粒子滤波中引入了人工免疫方法,提出的免疫粒子滤波性可以好于退火粒子滤波方法。陆陶荣些人把鱼群算法应用在粒子滤波中,推出了集群智能粒子滤波算法,该算法的性能要好于扩展卡尔曼滤波算法和常规粒子滤波算法。方正等人依据粒子群优化算法,推出了粒子群优化粒子滤波(PSOPF)。