粒子滤波介绍
粒子滤波
与卡尔曼滤波(Kalman Filter)相比较粒子滤波(PF: Particle Filter)的思想基于蒙特卡洛方法(Monte Carlo methods),它是利用粒子集来表示概率,可以用在任何形式的状态空间模型上。其核心思想是通过从后验概率中抽取的随机状态粒子来表达其分布,是一种顺序重要性采样法(Sequential Importance Sampling)。简单来说,粒子滤波法是指通过寻找一组在状态空间传播的随机样本对概率密度函数进行近似,以样本均值代替积分运算,从而获得状态最小方差分布的过程。这里的样本即指粒子,当样本数量
时可以逼近任何形式的概率密度分布。尽管算法中的概率分布只是真实分布的一种近似,但由于非参数化的特点,它摆脱了解决非线性滤波问题时随机量必须满足高斯分布的制约,能表达比高斯模型更广泛的分布,也对变量参数的非线性特性有更强的建模能力。因此,粒子滤波能够比较精确地表达基于观测量和控制量的后验概率分布,可以用于解决SLAM问题。
粒子滤波的应用
粒子滤波技术在非线性、非高斯系统表现出来的优越性,决定了它的应用范围非常广泛。另外,粒子滤波器的多模态处理能力,也是它应用广泛的原因之一。国际上,粒子滤波已被应用于各个领域。在经济学领域,它被应用在经济数据预测;在军事领域已经被应用于雷达跟踪空中飞行物,空对空、空对地的被动式跟踪;在交通管制领域它被应用在对车或人视频监控;它还用于机器人的全局定位。
粒子滤波的缺点
虽然粒子滤波算法可以作为解决SLAM问题的有效手段,但是该算法仍然存在着一些问题。其中最主要的问题是需要用大量的样本数量才能很好地近似系统的后验概率密度。机器人面临的环境越复杂,描述后验概率分布所需要的样本数量就越多,算法的复杂度就越高。因此,能够有效地减少样本数量的自适应采样策略是该算法的重点。另外,重采样阶段会造成样本有效性和多样性的损失,导致样本贫化现象。如何保持粒子的有效性和多样性,克服样本贫化,也是该算法研究重点。
进展与展望
粒子滤波器的应用领域
在现代目标跟踪领域,由于实际问题的复杂性,所面对的更多的是非线性非高斯问题,Hue等把PF推广到多目标跟踪和数据关联,Gordon等对杂波中的目标跟踪问题提出混合粒子滤波器弼,Mcginnity等提出机动目标跟踪的多模型粒子滤波器,Doucet等对跳跃Markov系统状态估计提出了更有效的PF算法 j,Guo把PF用于传感器网络下的协同跟踪 J,Freitas等用PF训练神经网络,Srivastava等把PF用于自动目标识别,Fox等把PF用于移动机器人定位,Ward等提出语音源定位的PF算法,Orton等对来自多个传感器的无序量测提出基于PF的多目标跟踪和信息融合方法,Penny等使用PF实现多传感器资源最优管理和部署,Hernandez等结合PF、数据融合和优化算法实现多传感器资源管理 .研究表明PF是解决此类非线性问题的有力工具之一.PF在计算机视觉、可视化跟踪领域被称为凝聚算法(CONDENsATION),该领域是PF的一个非常活跃的应用领域,Bruno提出图像序列中目标跟踪的PF算法,Maskell等提出基于图像传感器多目标跟踪的PF算法_4 .在听觉视觉联合目标定位和跟踪方面,Vermaak等利用PF提出声音和视觉融合的集成跟踪,Zotkin等使用PF将来自多个摄像机和麦克风组的视觉听觉信息融合跟踪移动目标。
在粒子滤波算法下一些传统的难点问题如目标检测、遮挡、交叉、失跟等得到更好的结果.在无线通讯中PF被广泛用于信道盲均衡、盲检测、多用户检测等方面.其它的应用领域还有机器人视觉跟踪、导航、图象处理、生物信息 引、故障诊断和过程控制、金融数据处理 等.研究表明在有关非高斯非线性系统的数据处理和分析领域PF都具有潜在的应用价值.值得一提的是国内学者在PF的研究上也取得许多成果,莫等利用PF算法提出一种混合系统状态监测与诊断的新方法,Chen等利用PF预测非线性系统状态分布,获得故障预测概率,Li等提出基于PF的可视化轮廓跟踪方法 J,Shan等提出基于PF的手形跟踪识别方法,Hu等提出闪烁噪声下的PF跟踪算法 等,这些工作推动PF在国内的研究.
粒子方法的新发展
粒子滤波器采用一组随机粒子逼近状态的后验概率分布,有可能用粒子逼近平滑分布,由于重采样使得粒子丧失多样性,直接由滤波分布边缘化得到的平滑分布效果很差,Doucet等应用MCMC方法增加样本多样性用于固定延迟平滑取得好的效果,Fong等把RBPF推广到粒子平滑器,并用于语音信号处理 1.
在PF的性能优化方面,目前大多优化某个局部的性能指标,如重要性权的方差等,Doucet等使用随机逼近对PF关于某个全局性能指标进行在线优化,Chan等人进一步利用SPSA随机优化方法优化PF ,避免1r梯度的计算.为了减少计算量使得PF能用于实时数据处理,Foxt提出了粒子个数可变的自适应粒子滤波器,Kwok等把粒子划分为小的集合,每个小样本集可以进行实时处理,采用加权和的方法逼近状态后验分布,Brun等提出PF的并行结构算法以获得在线实时应用 .
最近几年,粒子方法出现了又一些新的发展,一领域用传统的分析方法解决不了的问题,现在可以借助基于粒子仿真的方法来解决.在动态系统的模型选择,故障检测、诊断方面,出现了基于粒子的假设检验、粒子多模型、粒子似然度比检测等方法.在参数估计方面,通常把静止的参数作为扩展的状态向量的一部分,但是由于参数是静态的,粒子会很快退化成一个样本,为避免退化,常用的方法有给静参数人为增加动态噪声_9 以及Kernel平滑方法,而Doucet等提出的点估计方法避免对参数直接采样,在粒子框架下使用最大似然估计(ML)以及期望值最大(EM)算法直接估计未知参数 .在随机优化方面,出现了基于粒子方法的梯度估计算法,使得粒子方法也用于最优控制等领域.Andrieu,Doucet等在文献中详细回顾了粒子方法在变化检测、系统辨识和控制中的应用及理论上的一些最新进展,许多仅仅在几年前不能解决的问题现在可以求助于这种基于仿真的粒子方法.
总结与展望(Summarization and prospect)
目前粒子滤波器的研究已取得许多可喜的进展,应用范围也由滤波估计扩展到新的领域,作为一种新方法,粒子方法还处于发展之中,还存在许多有待解决的问题,例如随机采样带来Monte Carlo误差的积累甚至导致滤波器发散、为避免退化和提高精度而需要大量的粒子使得计算量急剧增加、粒子方法是否是解决非线性非高斯问题的万能方法还值得探讨.此外粒子滤波器还只是停留在仿真阶段,全面考虑实际中的各种因素也是深化PF研究不可缺少的一个环节.尽管如此,在一些精度要求高而经典的分析方法又解决不了的场合,这种基于仿真的逼近方法发挥了巨大潜力,而现代计算机和并行计算技术的迅速发展又为粒子方法的发展和应用提供了有力支持,相信粒子滤波器的研究将朝着更深,更广的方向发展.
粒子滤波发展
MCMC改进策略
马尔可夫链蒙特卡洛(MCMC)方法通过构造Markov链,产生来自目标分布的样本,并且具有很好的收敛性。在SIS的每次迭代中,结合MCMC使粒子能够移动到不同地方,从而可以避免退化现象,而且Markov链能将粒子推向更接近状态概率密度函数(probability density function,(PDF))的地方,使样本分布更合理。基于MCMC改进策略的方法有许多,常用的有Gibbs采样器和MetropolisHasting方法。
Unscented粒子滤波器(UPF)
Unscented Kalman滤波器(UKF)是Julier等人提出的。EKF(Extended Kalman Filter)使用一阶Taylor展开式逼近非线性项,用高斯分布近似状态分布。UKF类似于EKF,用高斯分布逼近状态分布,但不需要线性化只使用少数几个称为Sigma点的样本。这些点通过非线性模型后,所得均值和方差能够精确到非线性项Taylor展开式的二阶项,从而对非线性滤波精度更高。Merwe等人提出使用UKF产生PF的重要性分布,称为Unscented粒子滤波器(UPF),由UKF产生的重要性分布与真实状态PDF的支集重叠部分更大,估计精度更高。
Rao-Blackwellised粒子滤波器(RBPF)
在高维状态空间中采样时,PF的效率很低。对某些状态空间模型,状态向量的一部分在其余部分的条件下的后验分布可以用解析方法求得,例如某些状态是条件线性高斯模型,可用Kalman滤波器得到条件后验分布,对另外部分状态用PF,从而得到一种混合滤波器,降低了PF采样空间的维数,RBPF样本的重要性权的方差远远低于SIR方法的权的方差,为使用粒子滤波器解决 SLAM问题提供了理论基础。而Montemerlo等人在2002年首次将Rao-Blackwellised粒子滤波器应用到机器人SLAM中,并取名为FastSLAM算法。该算法将SLAM问题分解成机器人定位问题和基于位姿估计的环境特征位置估计问题,用粒子滤波算法做整个路径的位置估计,用EKF估计环境特征的位置,每一个EKF对应一个环境特征。该方法融合EKF和概率方法的优点,既降低了计算的复杂度,又具有较好的鲁棒性。
最近几年,粒子方法又出现了一些新的发展,一些领域用传统的分析方法解决不了的问题,现在可以借助基于粒子仿真的方法来解决。在动态系统的模型选择、故障检测、诊断方面,出现了基于粒子的假设检验、粒子多模型、粒子似然度比检测等方法。