1、摘 要针对传统的Kalman滤波器在非线性非高斯环境下对运动目标的跟踪效果较差这一问题,本文提出了一种基于粒子滤波的目标跟踪方法。粒子滤波是采用一些带有权值的随机样本(粒子)来表示所需要的后验概率密度,而不是采用传统的线性变换,从而得到基于物理模型的近似最优数值解,具有精度高、收敛速度快等特点。基于粒子滤波的目标跟踪原理是通过这些粒子的加权来估计目标运动的状态。目标模型的仿真实验表明,在非线性非高斯环境下,粒子滤波的跟踪效果优于扩展卡尔曼滤波器。最后,将粒子滤波运用于视频跟踪,实验结果进一步说明:在非线性非高斯环境下,粒子滤波具有较好的跟踪效果。粒子滤波技术可以广泛于空对空、空对地等各种具有非
2、线性、非高斯特征的被动式跟踪系统中。关键字:粒子滤波器 卡尔曼滤波器 目标跟踪 重采样AbstractBecause in non-linear non-Gaussian environment the performance of traditional Kalman Filter in tracking of moving targets is very poor, the paper uses particle filter to track the moving target. Particle filter does not involve linearization around
3、current estimates but rather represent the desired distributions by discrete random measures, which are composed of weighted particles. It has a high accuracy and a rapid convergence. The theory of target tracking based on particle filter is to use these weighted particles to estimate the states of
4、targets. The simulation results of the target model show that in the non-linear non-Gaussian environment, the performance of the particle filter is better than extended Kalman Filter. Finally, we use the particle filter in video tracking, the experimental results further show that in the non-linear
5、non-Gaussian environment the particle filter has a better tracking performance. Particle filter technology can be widely used for air to air, air-ground and other passive tracking systems of non-linear non-Gaussian characteristics.Key words: particle filter kalman filter tracking resampling目 录第1章 绪论
6、11.1 研究背景11.2 目标跟踪方法的发展状况11.3 滤波理论的发展状况21.4 本文的主要工作5第2章 卡尔曼滤波理论62.1 卡尔曼滤波器62.2 扩展卡尔曼滤波器72.2.1 被估计的过程信号72.2.2 滤波器的计算原型8第3章 粒子滤波器103.1 蒙特卡罗方法103.2 粒子滤波算法103.2.1 粒子滤波器基本原理103.2.2 序贯粒子滤波算法113.2.3 退化现象133.2.4 再采样原理14第4章 基于粒子滤波的视频跟踪164.1 卡尔曼滤波器和粒子滤波器性能对比164.1.1 实验描述164.1.2 实验结果及分析164.2 粒子数和噪声协方差对粒子滤波跟踪的影响
7、184.2.1 实验描述184.2.2 实验结果及分析184.2.3 实验结论224.3 基于粒子滤波的视频跟踪224.3.1 基于颜色特征的粒子滤波跟踪算法224.3.2 初始背景的获取234.3.3 目标颜色直方图的提取284.3.4 权值的计算294.3.5 重采样304.3.6 实验结果32第5章 总结与展望355.1 总结355.2 展望35参考文献37致谢38附录39石家庄铁道大学毕业设计第1章 绪论1.1 研究背景随着信息技术的迅猛发展,各种应用背景的多传感器信息系统也随之大量涌现。在军事应用方面,天基、地基监测系统均是将雷达、光电传感器、声传感器等不同特性的传感器有机地组合于一
8、体,最终完成目标探测、跟踪和识别等工作;智能武器的自主决策系统也要依靠对多方面信息的有机融合,在多传感器系统中发挥重要作用的就是信息融合技术。卡尔曼滤波是在信息融合中应用的一种重要工具。卡尔曼滤波主要用于实时融合动态多传感器冗余数据。该方法应用测量模型的统计特性递推确定融合数据的估计,如果系统可以用一个线性模型描述,且系统噪声与传感器的量测噪声均为符合高斯分布的白噪声,则卡尔曼滤波将为融合数据提供唯一的统计意义下的最优估计。卡尔曼滤波的递推特性使它特别适合于在那些不具备大量数据存储能力的系统中应用。应用卡尔曼滤波器对n个传感器的测量数据进行融合后,既可以获得系统的当前状态估计,又可以预报系统的
9、未来状态。但是,卡尔曼滤波不能解决多模态(多峰)分布和非线性与非高斯噪声分布的问题。而粒子滤波主要优点就在于能处理非线性与非高斯噪声分问题,它是卡尔曼滤波无能为力的情况下最重要的一种预测与估计技术。因此,在这种情况下,研究基于粒子滤波器的信息融合方法就十分重要。其中的一项主要工作就是基于粒子滤波的运动目标跟踪算法研究。这个课题的主要目的是将具有普遍意义的滤波算法粒子滤波算法应用于运动目标跟踪,并将其应用到视频跟踪上。它的意义在于当运动目标的动态模型无法满足卡尔曼滤波的假设条件的情况下,粒子滤波算法可以替代卡尔曼滤波进行定位估计,尽管此时不是最优的估计,但是在所有次优算法中比较好的。1.2 目标
10、跟踪方法的发展状况目标跟踪是信息融合的经典应用,被广泛的应用于监控、导航、障碍规避等系统中,其主要目的是确定目标的个数、位置、运动信息和身份,参见图1-1,该处理过程基本上对应着JDL模型的第一级。目标跟踪的基本概念在1955年由Wax首先提出。1964年,Sittler对多目标跟踪理论以及数据关联问题进行了深入的研究,并取得了开创性的进展。然而直到1970年代初期,机动目标跟踪理论才真正引起人们的普遍关注和极大兴趣。在80年代Bar-Shalom和Singer将数据管理和卡尔曼滤波技术的有机结合标志着多目标跟踪技术去得了突破性的进展。目标跟踪可被定义为估计所感关注区域内目标个数和状态的过程,
11、其中目标状态包括运动分量(位置、速度、加速度)和属性信息(信噪比、雷达交叉区域、谱特征等)。目标传感器信号信号处理测量数据处理跟踪器决策控制。图1-1 典型跟踪系统的顶层结构一个典型的目标跟踪系统包括五个部分:(1)跟踪滤波器 跟踪滤波器利用基于状态空间模型对目标状态进行递归估计,这方面最常见的固定参数滤波器有Kalman滤波器、扩展卡尔曼滤波器。滤波器的选择取决于跟踪系统所用的坐标系,如在常速模型中当状态空间为笛卡尔坐标系,观测是极坐标系统时,运动方程就是非线性的。(2)监控处理逻辑该部分负责处理动态方程的突然变化,然后在多种可能的目标运动模型(CV、CA、CT)内进行选择。(3)门限与数据
12、关联门限用于将得到的观测和已有的目标航迹关联的依据,而数据管理负责求解落入跟踪门中的观测对于航迹更新的贡献。目标的运动信息或者是属性(如无线电发射信息)均可以用来作为门限关联的依据。常见的关联算法有:联合概率关联算法、多假设关联算法、S维分配算法。(4)航迹管理航迹有其自然生命期:航迹形成期,航迹维持期,航迹销毁期。航迹形成时跟踪系统从多个扫描周期得到的测量得到初始化航迹;航迹维持将现有的航迹与当前的观测关联并更新航迹;当多个扫描周期内没有观测和航迹相关目标或者消失或者脱离了传感器的探测区域,此时航迹被删除。(5)目标识别的目的是利用目标的各种属性判别目标的身份。目标跟踪方法可以分为两大类:贝
13、叶斯和非贝叶斯夫方法,其中非贝叶斯方法基于似然函数而贝叶斯方法使用先验概率计算后验概率。1.3 滤波理论的发展状况所谓滤波,就是从带有干扰的信号中得到有用信号的准确估计值。滤波理论就是在对系统可观测信号进行测量的基础上,根据一定的滤波准则,采用某种统计最优的方法,对系统的状态进行估计的理论和方法。早在1795年,为了测定行星运动轨道,高斯( K. Gauss)就提出了最小二乘估计法。二十世纪40年代,Weiner和Kolmogorov相继独立地提出了维纳滤波理论。但维纳滤波方法是一种频域方法,而且滤波器是非递推的,不便于实时应用。V. kucera于1979年提出了现代维纳滤波方法。用该方法通
14、过求解Diophantine方程可以直接得到可实现的和显式的维纳滤波器,并可处理多维信nJ和非平稳随机信J尔曼(R .E .Kalma ) 于1960年提出的卡尔曼滤波(Kalman Filtering)理论,标志着现代滤波理论的建立。卡尔曼滤波方法是一种时域方法,对十具有高斯分布噪声的线性系统,可以得到系统状态的递推最小均方差估计(Recursive Minimum Mean-Square Estimation ,RMMSE).卡尔曼滤波首次将现代控制理论中的状态空间思想引入最优滤波理论,用状态方程描述系统动态模型,用观测方程描述系统观测模型,并可处理时变系统、非平稳信号和多维信号。由十卡尔
15、曼滤波采用递推计算,因此非常适用于计算机来实现。但同时卡尔曼滤波需要知道系统的精确数学模型,并假设系统为线性的,噪声信号也必须为噪声统计特性已知的高斯噪声,并且由于要计算Riccati方程,对高维系统计算量较大。卡尔曼最初提出的滤波理论只适用于线性系统,Bucy、Sunahara等人提出并研究了扩展卡尔曼滤波(Extended Kalman Filtering, EKF),将卡尔曼滤波理论进一步应用到非线性领域。EKF的基本思想是将非线性系统进行线性化,然后进行卡尔曼滤波,因此EKF是一种次优滤波。其后,多种二阶广义卡尔曼滤波方法的提出及应用进一步提高了卡尔曼滤波对非线性系统的估计性能,二阶滤
16、波方法考虑了泰勒级数展开的二次项,因此减少了由于线性化所引起的估计误差,提高了对非线性系统的滤波精度,但大大增加了运算量,因此在实际中反而没有EKF应用广泛。由于卡尔曼滤波的计算量以状态维数的三次方剧增,因此对于高维系统,集中式卡尔曼滤波往往不能满足实时性要求。同时,集中式卡尔曼滤波还存在容错性差的缺点。为了解决这些问题,1979到1985年间,Speyer、Bierman、Kerr等人先后提出了分散滤波的思想,Carlson也于1955年提出的联邦滤波理论(Federated Filtering)。采用两级滤波结构的联邦滤波尽管是一种次优估计,但却大大提高了系统的容错能力。经典卡尔曼滤波应用
17、的一个先决条件是己知噪声的统计特性。但由于工作环境和使用条件的变化,传感器噪声统计特性往往具有不确定性,这将导致卡尔曼滤波性能下降甚至发散。为了克服这个缺点,发展起来了一些自适应滤波方法,如极大验后估计(Sage,Husa,1969)、虚拟噪声补偿(Yoshimura,1978)、动态偏差去藕估计(Friedland,1969)这些方法在一定程度上提高了卡尔曼滤波对噪声的鲁棒性。为了抑止由于模型不准确导致的滤波发散,有限记忆滤波方法(Jazwinski,1969)衰减记忆滤波方法(Sorenson,1971)等被相继提出并使用。人工智能技术与滤波理论相结合,产生了一种新的自适应扩展卡尔曼滤波方
18、法,这种方法通过人工神经网络的在线训练,有效抑止了系统未建模动态特性的影响,使得滤波器也具有一定的鲁棒性。同时,一些利用滤波过程中的新息序列的自适应滤波方法也发展起来,这些自适应滤波方法根据新息序列的统计特性,对滤波器进行在线的评估、修正和改进,以降低滤波误差并增强滤波器适应变化的能力,从而使滤波器具有一定的鲁棒性。对于卡尔曼滤波方法要求模型及信号统计特性必须准确这一问题,鲁棒滤波方法提供了另一种新的思路。滤波方法是鲁棒滤波方法中发展较快的一种,该方法以牺牲滤波器的平均估计精度为代价,来保证滤波器对系统模型及外部干扰的鲁棒性能。也就是说,卡尔曼滤波方法保证了滤波器的平均估计性能最优,而滤波方法
19、则保证了滤波器在最坏情况下的滤波性能。滤波理论则研究如何更好地平衡这两种方法的性能,即在保证滤波鲁棒性的同时,如何进一步提高滤波器的其他性能,特别是平均性能最佳。与对非线性函数的近似相比,对高斯分布的近似要简单的多。基于这种思想Julier和Uhlmann发展了UKF(unscented Kalman Filter, UKF)方法。UKF方法直接使用系统的非线性模型,不像EKF方法那样需要对非线性系统线性化,也不需要如一些二次滤波方法那样计算Jacobian或者Hessians矩阵,且具有和EKF方法相同的算法结构。对于线性系统,UKF和EKF具有同样的估计性能,但对于非线性系统,UKF方法则
20、可以得到更好的估计。Wan和Merwe将UKF方法引入到非线性模型的参数估计和双估计中,并提出了UKF方法的方根滤波算法,该算法不仅可以确保滤波的计算稳定,而且大大减少了实际的计算量。UKF方法还作为粒子滤波中一个较好的重点分布生成算法被应用于粒子滤波。Julier和Simon将UKF方法首先应用于车辆的导航定位,得到了一个较EKF方法更好的结果。Merwe和Wan将其应用于神经网络的训练也取得了良好的效果,Peihua,Li和Tianwen zhang将其应用于视觉跟踪。Stenger和Mendon将UKF方法应用于基于模型的手跟踪,以上研究均表明,当系统具有非线性特性时,UKF方法与传统的
21、EKF方法相比,对系统状态的估计精度均有不同程度的提高。随着计算机计算能力的快速增长和计算成本的不断降低,粒子滤波(Particle Filter, PF)已经成为研究非线性、非高斯动态系统最优估计问题的一个热点和有效方法。该方法实际上是使用蒙特卡罗仿真(Monte Carlo Simulation)来完成一个递推贝叶斯滤波(Recursive Bayesian Filter),其核心是使用一个具有相应权值的随机样本集合(粒子)来表示需要的后验密度。早在二十世纪50年代,基于序贯重要性采样SIS(Sequential Importance Sampling)的序贯蒙特卡罗方法就被应用于物理和统
22、计学中。到了60年代后期,该方法被引入自动控制领域。70年代,已经有大量学者对此进行了研究,但这些方法均采样普通的SIS方法,其缺点是随时间退化。Gordon等在90年代初将再采样(Resampling)步骤引入到粒子滤波,在一定程度上解决了SIS的退化问题,并由此产生了SIR(Sampling Importance Resampling Filter)粒子滤波算法,之后各种不同的改进使得粒子滤波方法得以大大发展。为了获得更好的重点密度(Importance Density),先后提出了辅助粒子滤波方法(Auxiliary Particle Filter);扩展卡尔曼粒子滤波方法(Extend
23、ed Kalman Particle Filter);UPF方法(Unscented Particle Filter)等一系列有效的方法。为了解决再采样带来的粒子耗尽(Sample Impoverishment)问题,又进一步在粒子滤波中引入了马尔可夫链蒙特卡罗移动(Marlov chain Monte Carlo, MCMC)步骤。同时随着密度估计理论的发展,使用连续密度进行再采样的正则粒子滤波方法也相继被提出。1.4 本文的主要工作(1)本文首先介绍了目标跟踪理论以及滤波理论的发展史。(2)接着讨论了对线性高斯模型的经典最优估计(卡尔曼滤波)和对非线性非高斯模型的次优估计(扩展卡尔曼滤波)
24、,分析了它们的适用范围和各自的优缺点。(3)具体阐述了粒子滤波的具体原理,分析了粒子滤波存在的主要问题。(4)通过仿真实验,来比较扩展卡尔曼和粒子滤波器对非线性非高斯运动模型的跟踪效果。并运用粒子滤波理论对一个视频中的运动目标进行跟踪。53第2章 卡尔曼滤波理论2.1 卡尔曼滤波器卡尔曼滤波器是一个线性递归滤波器,基于系统以前的状态序列对下一个状态做最优估计。预测时具有无偏、稳定和最优的特点。卡尔曼滤波器算法主要包含状态方程和观测方程两个方程,分别如下:状态方程: (2-1)观测方程: (2-2)其中,是系统状态的维状态向量;是观测到的系统状态的维向量;是状态转移矩阵,维;是观测矩阵,维;是时
25、刻状态的随机干扰(白噪声)的随机向量,维;是时刻的观测噪声向量,维,是系统参数,是时刻对系统的控制量。设动态噪声和观测噪声为两两互不相关的零均值的正态噪声序列。令跟为动态噪声和观测噪声的协方差矩阵:(2-3)(2-4)若根据去估计称为卡尔曼滤波;若去估计则称为卡尔曼预测。我们通过卡尔曼滤波来更新系统当前状态,通过卡尔曼预测来估计系统未来状态。定义为已知以前状态情况下第步的先验状态估计。定义为已知时第步的后验状态估计。由于系统己确定,则和己知,而和满足一定假设也已知。设是和的协方差阵,是和的误差协方差阵。卡尔曼滤波器算法的计算过程如下:在时刻,用均值向量初始化,并求在时刻,做系统状态预测的方程为
26、:(2-5)在时刻,做系统状态更新的方程为:(2-6)其中,是增益系数矩阵。(2-7)(2-8)(2-9)2.2 扩展卡尔曼滤波器2.2.1 被估计的过程信号卡尔曼最初提出的滤波理论只适用于线性系统, Bucy,Sunahara等人提出并研究了扩展卡尔曼滤波1(Extended Kalman Filter,简称EKF),将卡尔曼滤波理论进一步应用到非线性领域。EKF的基本思想是将非线性系统线性化,然后进行卡尔曼滤波,因此EKF是一种次优滤波。其后,多种二阶广义卡尔曼滤波方法的提出及应用进一步提高了卡尔曼滤波对非线性系统的估计性能。二阶滤波方法考虑了Taylor级数展开的二次项,因此减少了由于线
27、性化所引起的估计误差,但大大增加了运算量,因此在实际中反而没有一阶EKF应用广泛。 在状态方程或测量方程为非线性时,通常采用扩展卡尔曼滤波(EKF)。EKF对非线性函数的Taylor展开式进行一阶线性化截断,忽略其余高阶项,从而将非线性问题转化为线性,可以将卡尔曼线性滤波算法应用于非线性系统中。这样以来,解决了非线性问题。EKF虽然应用于非线性状态估计系统中已经得到了学术界认可并为人广泛使用,然而该种方法也带来了两个缺点,其一是当强非线性时EKF违背局部线性假设,Taylor展开式中被忽略的高阶项带来大的误差时,EKF算法可能会使滤波发散;另外,由于EKF在线性化处理时需要用雅克比(Jacob
28、ian)矩阵,其繁琐的计算过程导致该方法实现相对困难。所以,在满足线性系统、高斯白噪声、所有随机变量服从高斯(Gaussian)分布这3个假设条件时,EKF是最小方差准则下的次优滤波器,其性能依赖于局部非线性度。是由kalman filter考虑时间非线性的动态系统2,常应用于目标跟踪系统。如上一节所说的,卡尔曼滤波器估计一个用线性随机差分方程描述的离散时间过程的状态变量。但如果被估计的过程和观测变量与过程的关系是非线性的,那应怎么办?一些最著名和有趣的卡尔曼滤波应用就是处理这些情况的。将期望和方差线性化的卡尔曼滤波器称作扩展卡尔曼滤波器(Extended Kalman Filter),简称E
29、KF。同泰勒级数类似,面对非线性关系时,我们可以通过求过程和量测方程的偏导来线性化并计算当前估计。我们将上一节中的公式换一种方式表示。假设过程仍具有状态向量,但其状态方程已变为非线性随机差分方程的形式: (2-10)观测变量 为: (2-11)随机变量和仍代表过程激励噪声和观测噪声。差分方程式(2-10)中的非线性函数将上一时刻的状态映射到当前时刻的状态。过程方程式(2-10)中的驱动函数和零均值过程噪声是它的参数。非线性函数反映了状态变量和观测变量的关系。实际中我们显然不知道每一时刻噪声和各自的值。但是,我们可以将它们假设为零,从而估计状态向量和观测向量为:(2-12) (2-13)其中,是
30、过程相对前一时刻的后验估计。有一点非常重要,那就是扩展卡尔曼滤波器的一个基本缺陷:离散随机变量的分布(或连续随机变量的密度)在经过非线性系统转化后不再是正态的了。扩展卡尔曼滤波器其实就是一个通过线性化而达到渐进最优贝叶斯决策的特殊状态估计器。Julier96描述了一项有趣的研究。Julier etal设计了扩展卡尔曼滤波器的一种变体,使得通过非线性转换后的随机变量仍具有正态分布特性。2.2.2 滤波器的计算原型为了估计一个具有非线性差分和量测关系的过程,我们先给出式(2-10)和式(2-11)的一个新的线性化表示: (2-14)(2-15)其中,和是状态向量和观测向量的真值,和来自式(2-12
31、)和式(2-13),是状态向量和观测向量的观测值,是时刻状态向量的后验估计,随机变量和表示过程激励噪声和观测噪声。(1)是对的偏导的雅可比矩阵: (2)是对的偏导的雅可比矩阵: (3)是对的偏导的雅可比矩阵: (4)是对的偏导的雅可比矩阵: 简单起见,我们并没有在中加入下标,但它们实际上是随时间变化的。现在我们定义一个新的预测误差的表达式: (2-16)和观测变量的残余, (2-17)请记住我们在实际中无法获得式(2-16)中的,它是状态向量的真值,也就是我们要估计的对象。同样,我们也无法获得式(2-17)中的,它是我们用来估计的观测向量的真值。由式(2-16)和式(2-17)我们可以写出误差
32、过程的表达式:(2-18)(2-19)和代表具有零均值和协方差矩阵和的独立随机变量。(2-20)式(2-20)现在可以用作扩展卡尔曼滤波器的观测变量的更新。其中和来自式(2-12)和式(2-13),将观测误差协方差进行适当的替换可以得到卡尔曼增益。图2-1是卡尔曼滤波器工作原理图。图2-1 卡尔曼滤波器工作原理图第3章 粒子滤波器粒子滤波器3是一种序列蒙特卡罗滤波方法,其实质是利用一系列随机抽取的样本,也就是粒子,来替代状态的后验概率分布。当粒子的个数变得足够大时,通过这样的随机抽样方法就可以得到状态后验分布很好的近似。同时粒子滤波器的优点还体现在它的复杂度和精确度只与粒子的数量,以及粒子滤波
33、器本身算法有关系,与状态空间的维数无关,这样粒子滤波器不会因为状态空间的维数的增加而导致性能下降或复杂度增加。由于粒子滤波器是基于蒙特卡罗方法4的,所以这里首先介绍一下蒙特卡罗方法。3.1 蒙特卡罗方法蒙特卡罗方法亦称为随机模拟(Random simulation)方法,有时也称作随机抽样(Random sampling)技术或统计试验(statistical testing)方法。它的基本思想是:为了求解数学、物理、工程技术以及生产管理等方面的问题,首先建立一个概率模型或随机过程,使它的参数等于问题的解,然后通过对模型或过程的观察或抽样试验来计算所求参数的统计特征,最后给出所求解的近似值,而
34、解的精确度可用估计值的标准误差来表示。假设所要求的量是随机变量的数学期望,那么近似确定的方法是对进行N次重复抽样,产生相互独立的值的序列,并计算其算术平均值:(3-1)根据柯尔莫哥罗夫加强大数定理有:(3-2)因此,当充分大时,下式(3-3)成立的概率等于1,亦即可以用作为所求量的估计值。3.2 粒子滤波算法3.2.1 粒子滤波器基本原理粒子滤波器的基本思想来源于Perfect Monte Carlo(PMC)仿真,在PMC中,那么任意函数的数学期望: (3-4)可以近似为:(3-5)其中离散样本是从后验分布函数中产生的个点的独立同分布序列。当足够大时,绝对收敛于。3.2.2 序贯粒子滤波算法
35、SIS(Sequential Importance Sampling)算法即序贯重要性采样算法5,它是一种通过蒙特卡罗模拟实现递推贝叶斯滤波器的技术。其核心思想是利用一系列随即样本的加权和表示所需的后验概率密度,得到状态的估计值。当样本点数增至无穷大时,蒙特卡罗特性与后验概率密度的函数表示等价,SIS滤波器接近于最优贝叶斯估计。令是到时间k为止的所有状态向量的集合,代表后验概率密度的随机粒子,是随机粒子相应的归一化权值,即,在时刻为k的后验概率密度可以近似地表示成下式:(3-6)其中为狄拉克脉冲函数,他满足 (3-7)(3-8)利用重要性采样原理6对权值进行选择,原理如下所述:假定(在这里表示
36、与只差一个常数因子,对于与更容易计算)是一个从中很难采样的函数。令,是从提议分布函数上随即抽取的第个粒子,是重要密度函数(Importance density),又叫重要性函数。定义3.1(重要性函数)把概率分布与相同,概率密度已知,且容易从中抽样的函数叫做重要密度函数或则重要性函数。通过对进行采样获得点集,。对密度的估计可表示为:(3-9)其中(3-10)是第个粒子的归一化权值。因此,如果样本即粒子是从重要密度函数上抽取的。那么在式(3-9)可以按式(3-11)来定义为:(3-11)回到序贯环境,在每一步迭代初,已经得到样本可以近似,需要构造新的一组样本近似。如果所选择的重要密度函数可做如下
37、分解:(3-12)那么可以将现有的样本提升到新状态就可以得到了新样本。为了推导权重的更新公式,将分解成含有、和项的形式。(3-13)将式(3-12)、式(3-13)代入式(3-14)中可以得到权值的更新公式:(3-14)若重要密度函数再满足,即重要密度函数可以作以下分解:(3-15)那么重要性函数仅依赖于和。这是非常令人兴奋的,因为只有需要被存储,而状态演化路径和观测历史都可以被丢弃。当马尔可夫性成立后修正的权重的更新公式为:(3-16)这样可以估算后验概率密度:(3-17)其中按式(3-16)来计算,当时,式(3-17)接近于真实的后验概率密度。SIS方法的实现步骤如下:(1)从随机抽取个样
38、本;(2)逐点计算对应的和;(3)利用式(3-16)计算对应样本的重要性权值;(4)对权进行归一化处理,即 (3-18)(5)利用式(3-17)对进行估计。SIS Particle FilterFOR 抽样按式(3-16)分配权重END FOR计算总权重:FOR 归一化:END FORSIS算法的一个常见问题是退化现象(Degeneracy phenomenon),经过几步迭代以后,除了一个粒子以外其他粒子的权重都变得很小,权重的方差随时间增大,因此退化现象无法避免。这就意味着许多大量的计算浪费在那些权值极小的例子上,而这些粒子对估计的贡献几乎为零。3.2.3 退化现象在SIS粒子滤波器中,普
39、遍存在的问题是可能存在的退化现象,即经过若干次迭代后,除一个粒子外,其余粒子的权值可以忽略不计,从而使得大量计算浪费在对求解几乎不起任何作用的粒子的更新上。对退化现象的一个恰当的测度是有效采样用尺度,有效采样尺度定义为:(3-19)其中,是每个粒子对应的权值,为的方差。虽然不能确切的计算,但实际应用中却可以得出的近似估计值: =(3-20)由式(3-20)得 N,且越小退化现象越严重。显然,退化现象对PF产生了不利的影响。减小这一不利影响的首要方法是尽量采用足够大的粒子数目,但这通常是不实际的,因为这样必然影响计算的实时性。一般粒子滤波的执行效率取决于粒子的数量,而粒子的数量由状态方程的维数、
40、先验概率密度函数和重要密度函数的相似度以及迭代次数决定。研究表明,PF的计算量一般明显高于EKF,但在状态噪声比较大的情况下,其滤波性能也明显优于其它的非线性滤波技术,在状态矢量维数较高的场合尤为如此。因此只要通过采取退化的技术,就可以基本保证计算的实时性。因此主要依靠选取好的重要密度函数和再采样来减小这种不利的影响。3.2.4 再采样原理再采样也称重采样。再采样的目的在于减小权值较小的粒子的数目,而把注意力集中在具有大权值的粒子上。已经提出了多种再采样算法,如分层采样、残差采样等。所谓再采样算法,即发现有明显的退化现象时,比如已经下降到一个门限阈值时,对粒子进行重采样,其基本思想是把那些权重
41、很小的粒子删除,然后集中到那些权重大的粒子上去。重采样过程就是对现有的样本集合重新采样N次,产生新的样本集合来构成对的离散分布的新的近似。(3-21)即产生新样本时服从的离散概率分布为。因而重新采样获得的样本可以认为是符合上式分布的一系列独立同分布的样本,其权重是一样的,均设为1/N。这样只需要通过复杂度为的操作,即进行同样的采样N次,就可以完成再采样操作。图3-1是再采样示意图,其中粒子数N=10。左栏的圆圈表示再采样前的粒子,直径与其权值成正比;右栏的圆圈表示再采样后的粒子。一般地,大粒子被复制,粒子数增多,小粒子则被忽略;再采样后所有的圆圈都有相同的直径,即所有粒子的权值都被赋为1/N。
42、图3-1 重采样原理示意图第4章 基于粒子滤波的视频跟踪4.1 卡尔曼滤波器和粒子滤波器性能对比4.1.1 实验描述为了很好地比较扩展卡尔曼滤波器和粒子滤波器的性能,本实验采用如下广泛使用的非线性模型:(4-1)(4-2)该模型在大量文献中均可看到,是研究比较粒子滤波算法性能的标准验证程序之一。其中,、均为零值的高斯白噪声,其方差分别为Q=1,R=1。初始状态分布为均值为0,方差为2的正态分布,时间步长数为50。仿真条件:粒子滤波的粒子数为100;蒙特卡洛仿真次数为50次。4.1.2 实验结果及分析图4-1 扩展卡尔曼和粒子滤波器状态估计与真实的状态对比曲线图其中*表示的是系统的真实状态,-表
43、示的是EKF估计的状态,o-表示的是PF估计的状态。由图4-1可以看出当运动模型是强非线性时,扩展卡尔曼滤波器无法对运动进行准确跟踪,几乎不能进行跟踪。但是粒子滤波器却能够实现很好的跟踪效果,如图4-1所示。图4-2 扩展卡尔曼和粒子滤波器的状态估计均方根误差曲线图图4-2从定量的角度来对比EKF和PF在强非线性下的跟踪情况。以状态估计的均方根误差RMSE来作为评价标准。其中RMSE可以由式(4-3): (4-3)其中,tf表示一次实验的时间步长,表示k时刻的估计值,表示时刻的真值。进行了50次的独立实验,在50次的独立实验中,由50次蒙特卡洛仿真的均方根误差的平均值计算可得,EKF的均方根误
44、差是30.1092,而PF的均方根误差为2.9797。由此可知,PF的跟踪效果要比EKF好。表4-1 50次蒙特卡洛仿真的均方根误差RMSEEKF30.1092PF2.9797仿真结果表明:由于系统模型的强非线性,由仿真实验可知,EKF的均方根误差是30.1092,而PF的均方根误差为2.9797。由此可知,EKF的跟踪性能非常差,甚至出现与真实状态符号相反的错误估计;PF的估计性能明显优于EKF。由于EKF最终是用高斯分布来逼近系统状态的后验概率密度。如果系统状态的后验概率密度是非高斯的,那么EKF将产生极大的误差。PF因采用随机样本集,可以用在任何复杂环境下,但此时的计算量却远远超过EKF
45、。所以,对于非线性非常强的模型应该选取PF进行跟踪。4.2 粒子数和噪声协方差对粒子滤波跟踪的影响4.2.1 实验描述在本节中,主要完成粒子滤波目标跟踪算法的仿真实验。首先针对一个强非线性系统的状态估计问题进行实验,然后将粒子滤波应用于目标跟踪算法中,实现对视频目标跟踪的仿真实验。假设强非线性系统如式(4-1)和式(4-2)。利用SIS粒子滤波估计上述非线性系统的状态,通过改变噪声的一些特性以及粒子数目的大小,观察这些因素对粒子滤波状态估计结果的影响。实验中主要参数设定如下:初始状态x=1;时间步长为50;过程噪声v和观测噪声n都是高斯分布,即均值均为0;v方差Q,n方差为R。在实验过程中,改
46、变粒子数N,过程噪声和观测噪声的方差R和Q值,结果如图4-3和图4-4所示。为了定量的比较EKF和PF的性能,用RMSE作为评判标准。4.2.2 实验结果及分析 图4-3是过程噪声与观测噪声协方差均为1,粒子数分别取值N=20、50、100、200时进行实验获得的结果图。从表4-2中得到,粒子数取值20、50、100、200时的均方误差值为6.1118、3.7853、3.0247和2.0384。(a)(b) (c) (d) 图4-3 粒子滤波估计(a) 噪声协方差为1,粒子数为20 (b) 噪声协方差为1,粒子数为50(c) 噪声协方差为1,粒子数为100 (d) 噪声协方差为1,粒子数为200图4-3中,*表示的是系统的真实状态,表示的是用PF所得到的状态估计值。从图4-3也可以看出,随着粒子数的增加,粒子滤波状态估计值与实际值相差越小,越能真实地反映系统真实状态。因为粒子滤波是采用蒙特卡罗方法,随机抽样的样本数越多,估计误差越小。虽然粒子数的增加可以提高状态估计准确性,但是计算复杂度也增加。图4-4是过程噪声与观测噪声协方差均为0.1,粒子数分别取值N=20、50、100、200时进行实验获得的结果图。(a) (b) (c)(d) 图4-4 粒子滤波估计(a) 噪声协方差为0.1,粒子数为20 (b) 噪声协方差为0.1,粒子数为50(c) 噪声协方差为0