基于粒子滤波器的非线性或非高斯分布情况下的在线数据贝叶斯目标追踪.docx
《基于粒子滤波器的非线性或非高斯分布情况下的在线数据贝叶斯目标追踪.docx》由会员分享,可在线阅读,更多相关《基于粒子滤波器的非线性或非高斯分布情况下的在线数据贝叶斯目标追踪.docx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第25页 共25页基于粒子滤波器的非线性或非高斯分布情况下的在线数据贝叶斯目标追踪的讲解个人翻译作品By 梧桐QQ:340287132原文A Tutorial on Particle Filters for OnlineNonlinear/Non-Gaussian Bayesian TrackingM. Sanjeev Arulampalam, Simon Maskell, Neil Gordon, and Tim Clapp基于粒子滤波器的非线性或非高斯分布情况下的在线数据贝叶斯目标追踪的讲解摘要如今许多应用领域中,为了提高物
2、理系统中基础动力的建模精度,人们纷纷引入非线性和非高斯性情况的处理方法,促使该技术地位日益重要。加之,无论是计算仓储费用还是对变化的信号特征作出迅速判断,在线数据的处理的方法都起着关键性的作用。因此本文将着重针对粒子滤波器中的非线性和非高斯分布情况下的目标追踪问题,讨论最优和次优贝叶斯算法的实际应用。粒子滤波器的思想是源自序列蒙特卡罗方法,它用粒子来表示概率密度函数。这种方法可以应用到任何形式的状态空间模型中,并且涵盖了一切卡尔曼滤波方法能处理的情况。而且滤波器形式多样,例如SIR,ASIR,以及RPF,但它们都引用了名为序列性重要化采样算法(SIS)的通用框架。下文中,通过讨论,对比以及引用
3、典型事例,我们将对标准的卡尔曼滤波器进行详细阐述。关键词:贝叶斯算法,非线性和非高斯分布,粒子滤波器,序列蒙特卡罗方法,目标追踪简介科学生活中面对许多问题时,都需要对系统状态进行估算,即利用含有噪声的观测量,对非线性系统的状态做出实时估计的问题。本文中,我们将主要研究动态模型系统中的状态空间法,而重点是离散时间公式的讨论。因此,系统随时间演化的过程中,我们会使用不同的公式与之对应。动态状态估算中,离散时间公式既简便又实用。离散时间公式主要着眼于系统状态向量的运算。状态矢量是用于描述系统调查过程中所需要的一切相关信息的合集,比如研究目标追踪时,目标的运动特征。再之,在经济计量学上的资金流,利率,
4、通货膨胀等信息。观测矢量代表同状态矢量相关的干扰观测值。一般来讲,观测向量比状态向量维数低(但也并非绝对)。状态空间公式便于解决多变量数据和非线性及非高斯分布的情况,并且为传统的时间序列方法提供了极大的优势。公式【41】对此进行了详细的解释。另外,在【26】中,列举出各类应用非线性和非高斯分布的状态空间模型。处理动力系统问题时,至少需要两个模型才能对其作出分析和推理。第一个表达状态随时间变化的动态方程(系统模型),第二个表表述观测向量与状态向量之间关系的量测方程(量测模型)。假设两种模型在概率形式上可行。理想状态下,时间空间的概率方程和得到新测量值后对信息的更新需求仍然适用贝叶斯算法。那么这就
5、为动态状态估算时提供了严密的通用框架。在动态状态估算中运用贝叶斯算法时,有人曾尝试建立一个后验概率密度函数处理任何信息,包括接收到的所有测量值。自从后验概率函数出现之后,可以说它是一切估算问题的全解。原则上来讲,通过后验概率函数可以得到系统的最优估算方法,以及精确估算的测量方法。但是很多问题中,估算非常频繁,每接收到一份测量值都需要进行一次估算。在这种情况下,最方便的解决方法是递推滤波器。这种滤波器能够对接收到的测量值进行有序处理,而非分批处理。这样就能有效避免存储完整数据集后才处理,或者每接收新的测量值就要对已存在的所有数据重新计算。递推滤波器有预测和修正两个必要步骤。预测阶段,系统模型会对
6、下一个测量值的后验概率函数进行期望值计算。由于系统状态通常会受未知因素干扰(随机噪声),预测时会对状态后验概率函数进行编译,变形,以及扩展。修正运算是使用最新的测量值则对期望值的后验状态函数进行修改。以上两步都建立在贝叶斯理论之上,即按照新数据中的额外信息对目标状态进行及时修正。本文的第二部从非线性目标追踪问题的描述和最优贝叶斯算法展开。在某些特定条件下,最优贝叶斯算法非常实用。而另外两种算法,卡尔曼滤波器算法和网格点算法将在本文第三部分进行阐述。最优算法此时不易实现。第四部分则概括了几种最优算法的近似算法,其中包括扩展卡尔曼滤波算法,网格点逼近算法和粒子滤波算法。然后在第六部分,文章通过一个
7、简单的标量实例,。最后第七部分为总结部分。本文是一篇指导性文章:因此。II. 非线性目标追踪 为了定义目标追踪,设目标状态运动序列为函数方程为此处,为非线性概率函数,是独立分布的噪音序列。分别为状态规模和噪音向量处理,为自然数集。目标的追踪是对进行递推估算。函数方程为其中,为非线性概率函数,是独立分布的噪音序列,分别为状态规模和噪音向量处理,的变量为时间K。设所需后验概率函数在时间K-1为可求。那么预测阶段就通过方程式(3)使用系统模型(1)求的在时间K时前一后验概率函数的值。其后在时间为K时,测量值可求,此时根据贝叶斯定理对前一数据进行修正(修正阶段)。而其归一化常数函数为 III. 最优算
8、法A卡尔曼滤波方法当系统方程为线性函数。过程噪声。观测噪声以及系统状态的先验概率密度函数为高斯分布时。递推的贝叶斯会计问题可以大大减化。在这种条件下,由于高斯分布的一、二阶矩包含了概率分布的全部信息,只须估计系统状态的条件均值及协方差阵。就能够递推计算后验概率密度函数其实现过程就是卡尔曼滤波算法。此时。系统方程为:卡尔曼滤波算法由公式(3)和(4)推出,通常用一下函数表示其递推关系。其中及表示变量X服从均值为m,方差为P的高斯密度。B网格点算法当状态空间为离散态且包含状态限量时,网格点算法引入了最优递增算法中的密度函数。设状态空间在时间K-1包含离散状态。那么在每个状态下,为其引入假定状态概率
9、,并用表示到时间K-1为止的测量值,函数即。如此在K-1时刻的后验概率密度函数即为其中为狄拉克测量函数。将函数(17)替换到(3)和(4)的预测与修正方程式中,分别为其中IV. 次优算法而实际应用中,许多情况下上文中的假设并不成立,因此尔曼滤波算法和网格点算法并不实用,此时,只能采用近似的次优滤波算法。本部分我们将介绍3种非线性贝叶斯近似算法:a) 扩展的卡尔曼算法(EKF)b) 近似网格点算法c) 粒子滤波算法A 扩展的卡尔曼算法 EKF在非线性函数中,(1)和(2)不能写成(6)和(7)的形式,我们就用一个区域线化等式来描述非线性情况。EKF即是基于次思想的近似算法,是一个高斯近似算法函数
10、其中此处 和为非线性函数,和是之前非线性函数中的区域化线性函数(例如,矩阵算法)。EKF方法在线性化过程中。仅对泰勤级数展开作一阶截短,因而其相应的均值,方差估计仅仅有一阶精度;而且,该方法忽略了系统状态及噪声的随机分布特性,仅仅在当前状态、估计值点上作线性变换。这些都对转换后变量均值、方差估计引入了较大的误差,甚至导致滤波器发散。B 近似网格点算法如果状态空间是连续的,但不属于“集合单元”, 那么可以用网格点算法近似计算其后的密度值。设后验概率密度函数在K-1时的函数值近似为那么预测和修正函数则为其中此处,表示V. 粒子滤波算法A序列化重要性抽样算法(SIS)序列化重要性抽样算法是一种蒙特卡
11、洛算法。这种算法是过去几十年由大连续蒙特卡洛算法演变而来的。为了展示算法的细节,用表示一个含后验概率密度的随机估量。其中支持点相关加权,而表示到时间K为止所有的状态量。Weight一个固定值,表达式为。那么在K时的后验密度即近似表示为因此我们就有了得到一个计算真后验的离散加权的逼近算法。加权选用重要性采样原理。这个原理的依据是设是一个难以采样的系统的概率密度函数。此外,令为样本,且可以从假设中轻易产生,称为重要密度。那么对的加权近似密度算法就为其中 是对i的粒子的标准化加权。因此样本从重要密度函数中得到。然后用(42)表示(40)的加权函数就是回到序列,在每个迭代中,可以得到样本的近似函数,和
12、新样本集的期望值。将重要密度函数因数分解得出 增加现存样本,可以得到样本。通过(4)中提到的方法可以推出积分(45)将(44)(46)代入(43),加权修正等式为另外,如果,如此重要密度函数变量仅为和。此式适用于每个时间段只需滤波估算的通常情况。由此我们可以加上一个条件,只有可以被存储,因此可以丢弃频道以及的历史观测值。修改后的加权函数即为后验过滤密度函数即近似于由于每一个测量值都是按序接收的,因此序列重要采样算法含递增加权和支点。此算法的伪码描述为 算法1.1) 粒子退化现象:在滤波过程中经过几次迭代, 除了一个样本外其余样本的重要性权重都很小,结果粒子集无法表达实际的后验概率分布。其中代表
13、“真实加权”。此值不能被精确估算。但是的可以通过下式估算出。2) 重要密度的最佳选择。第一种方法中包括选择重要密度函数对进行最小化计算令最大。最优重要密度函数方程为:将(48)代入(52)得出如果建模中的动力情况为非线性及测量值为线性的。那么系统函数为:其中是一个非线性方程,是观测矩阵,和相互独立的独立同分布高斯序列,且。令 得出且最后,选择重要密度函数做前验计算非常方便。将(48)代入(62) 3)重采样:为了解决样本退化问题,引入了重要性重采样的采用方法。重采样的基本思想通过在两次重要性采样之间增加重采样步,消除权值较小的样本,并对权值较大的样本复制,产生的采样是独立同分布。所以权值都变为
14、。虽然重采样的引用减弱了粒子退化问题的影响。但是同时产生了其他的实际问题。首先,减少粒子的平行几率,所有粒子必须组合。其二,粒子必须经历大量的多次加权计算,增加计算量。导致了粒子分集度的损失。在小型的噪音处理过程中,这个问题比较频繁,且被称为采样点贫乏。实际上,由于采样点贫乏,在小的噪音处理时,所有的粒子在几个迭代之后就会坍塌到一点。第三,由于粒子分集数减少,任何基于粒子路径的平滑估算都会衰变。计算中必须加入有中和方法。一种方法是由前粒子状态决定后续滤波,然后通过对第一及最后时标的递推计算,重新计算对粒子做加权计算,以得到平滑估算【16】。另一种方法是使用蒙特卡罗算法【5】。B其余相关粒子滤波
15、算法第五部分A中所介绍的序列重要采样算法为大部分的粒子滤波算法提供了理论基础。而事实上粒子滤波算法仍有教广的发展。在其他文献中提到的各种版本的粒子滤波算法都可以归纳为通用序列重要采样算法的特例。通过重要采样密度和重采样步骤的修正,这些特例,都可以由序列重要采样算法得出。以下列出了几项典型的粒子滤波特殊算法。i) 重要性重采样滤波算法(SIR)ii) 辅助重要性重采样滤波算法(ASIR)iii) 正规粒子滤波算法(RPF).1) 重要性重采样滤波算法本算法属于蒙特卡罗算法的一种,且普遍应用于解决递推贝叶斯滤波问题。状态的动态方程和量测方程即(1)和(2),分别需要作为已知条件给出,并需要从信号噪
16、声分配过程的和前验中进行实感(realizations这个词)抽样。最后概似函数必须能在逐点函数中实现。如果对递推重要性采样函数选择正确,就能够轻易推出重要性重采样滤波算法,1)重要密度中选作为前验密度函数,2)重采样应用于每个时间系数。以上的对重要密度的选择表明我们需从中进行抽样,样本的推导有两个步骤,首先推出一个噪音采样方程,然后设,其中为概率密度函数。通过此重要密度函数的特殊选择方法,我们很明显的看出加权方程为然而每个时间系数都需要进行重采样,因此得出重采样过程之前(66)中比例项所导出的加权为常量。在算法四中我们会对本算法中的迭代进行讲解。由于SIR算法中的重要性抽样密度独立于测量值,
17、状态空间量可以不依据观测量得出。所以此滤波算法受异常值影响较大甚至无效。另外由于每一个迭代步骤中都有重采样过程,这将导致粒子多样化得迅速损失。然而,本算法的优点在于重要性加权估算步骤简单,重要性密度的抽样步骤便捷。2) 辅助重要性重采样滤波算法本算法是由Pitt 和 Shephard作为SIR算法的衍生算法提出的。本算法由SIR算法的核心算法导出,引入了对进行抽样的重要性密度函数,其中表示时的粒子指数。根据贝叶斯算法规则,比值可由下式推出 ASIR的算法是通过联合概率密度函数获取样本,省略中的指数i,从而从边缘化密度中得到,用于描述样本的重要密度函数规定为满足比例函数 设由(68)为样本分配一
18、个加权比例函数至(67)(68)等式右边具体算法如下所示(34)中原版ASIR算法内还包含另外一个步骤,即重采样,用于产生一个同I.I.D样本等同的加权值。同SIR算法相比,1 能从K-1的样本中便捷的算出结果。2 ASIR在前一个单位时间内可以看做是重采样过程。3) 正规化粒子滤波算法采样是在第五部分B1中提出的一种解决例子退化问题的算法,在粒子滤波算法中应用普遍。然而,需要指出的是,重采样同时为计算过程带来了新的问题,尤其是粒子多样性的损失。引起这个问题的原因是粒子是被绘制成离散态而非连续的,如果此问题处理不当,那么会引起粒子坍塌现象。正规化粒子滤波算法(RPF)是一种改进后的粒子滤波算法
19、,能够处理上述的问题。RPF同SIR滤波算法除了重采样步骤之外完全一致,RPF是从一个后验密度函数的连续近似值中重新采样。SIR则是从密度近似函数(64)中进行重采样。特别是在RPF中,样本是来自近似等式其中为核密度方程,为核带宽,是状态向量X的尺寸,且。是加权常量。核密度方程是一个对称的概率密度方程如下核密度方程以及核带宽h用来最小化真是厚颜密度函数和与其一致的(73)中的正规化表述之间的综合平方差误差。方程如下约等于(73)的等式右边的。如果有种特殊情况,所有的样本都由相同的加权,那么核函数的最优选择是Epanechnikov核函数。基础密度函数为高斯分布,且有一系列协方差矩阵,那么带宽的
20、最优选择也是【31】虽然(76) (77) (78)的结果只是一些特定情况下的最佳方案,但是这些结果仍然可以在一般情况下作为次优方案使用。算法6中列出了RPF的算法内的相互作用。RPF与一般的粒子滤波算法最大的区别就在算法3中,不只是经验协方差矩阵的计算,而是在重采样是加入了规则化的步骤。图标一根据以上步骤我们就能从(73)中得出i.i.d的随机样本。就复杂性而言,RPF算法和SIR差不多,除了RPF在每一个时间步骤中,需要从核函数中得出的的附加条件。RPF有一个理论缺陷,样本不能保证近似值和后验的值渐近。在实际应用中,当样本严重贫乏时,例如,噪音信号非常小,RPF算法要比SIR更加实用,精确
21、。VI. 实例此处我们将以下方程式作为例证说明:或等同于其中和分别表示。的和。我们令且。这个例子曾被多次发表。作为对照,Fig.1为样本的真正运动状态,Fig.2为测量值。Fig.1 以K为变量状态值为解的样本运动方程的真正数据。Fig.2 同Fig.1相同的样本运动方程中状态值的测量值。近似网格点算法使用50个状态值【-25,25】。所有的粒子滤波算法拥有50个粒子,并且在阶段会进行连续重新取样。辅助粒子滤波算法则用,正则化粒子滤波算法用第五部分B3中提到的核与频宽。A扩展卡尔曼算法扩展卡尔曼算法中的局部线性化技术,和高斯近似算法扩展卡尔曼滤波算法并不能对样Fig. 3. 扩展卡尔曼算法开发
22、为状态值估算Fig. 4.在 之上或者之下位置的状态值展为 EKF算法。真正固定的状态量也显示出来。本的非线性和非高斯本质进行充分描述。一旦EKF不能近似于基本的后验概率,高斯近似算法也实用时EKF算法则倾向技能选择“错误”的模式,又能在个模式间求平均。结果在这种无法近似求概率密度的情况下,线性近似算法也不能实现。B. 近似网格点滤波算法这是一个低纬度例子, 人们认为近似网格点算法在其中非常实用。正如图5所示。这种算法能够为多峰问题建模。另外还能利用近似网格点算法而非扩展卡尔曼算法减少显著的均方根误差。粒子滤波算法中粒子在运算步骤中是通过迭代算法,然而近似网格点算法中是通过 单元运算。如此近似
23、网格点算法中的均方差根误差要比其他的粒子滤波算法大,这一点很令人惊讶。作者认为这是一种认为误差;而且有人提出了解决算法。另外网格点中固定位置表明网格点接近正负25的区间内,而真实状态值远在其范围之外,那么就会产生极大误差。C 辅助粒子滤波算法误差产生的一个原因是抽出的粒子群位置较差。可能有人认为,选取较好的位置抽取粒子就可以减少误差。辅助粒子滤波算法看似可行。他可以作为SIR的合适候补算法。此处,我们为样本中的一个样本。Fig.6 此图为SIR粒子滤波器中的概率密度图如Fig 7所示,对于本例,辅助粒子滤波算法表现出色。毫无疑问,表7比表6中的斑点要少,数据更加集中于真实状态值。但是可能有人会
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 粒子 滤波器 非线性 非高斯 分布 情况 在线 数据 贝叶斯 目标 追踪
限制150内