一种改进重采样的粒子滤波算法_常天庆

一种改进重采样的粒子滤波算法_常天庆
一种改进重采样的粒子滤波算法_常天庆

收稿日期:2012-07-25;修回日期:2012-09-11

基金项目:军队科研预研项目

作者简介:常天庆(1963-),男,河南郑州人,教授,博导,主要研究方向为装备自动化系统检测与故障诊断(changtianqing@263.net );李勇(1983-),男,湖南浏阳人,博士研究生,主要研究方向为装备智能故障诊断、预测与健康管理;刘忠仁(1973-),男,河南巩义人,讲师,主要研究方向为测控技术;董田沼(1987-),男,山东淄博人,硕士,主要研究方向为检测技术与自动化装置.

一种改进重采样的粒子滤波算法

*

常天庆,李

勇,刘忠仁,董田沼

(装甲兵工程学院控制工程系,北京100072)

要:针对粒子滤波重采样过程中存在的粒子多样性丧失问题,提出一种改进重采样的粒子滤波算法。按照

局部重采样算法对粒子进行分类,中等权值的粒子保持不变,大、小两种权值的粒子采用Thompson-Taylor 算法进行随机线性组合产生新粒子。实验结果表明,该算法能在降低计算复杂度的同时不丧失粒子多样性,提高了滤波性能。

关键词:局部重采样;Thompson-Taylor 算法;粒子滤波中图分类号:TP301.6

文献标志码:A

文章编号:1001-3695(2013)03-0748-03

doi :10.3969/j.issn.1001-3695.2013.03.026

Particle filter algorithm based on improved resampling

CHANG Tian-qing ,LI Yong ,LIU Zhong-ren ,DONG Tian-zhao

(Dept.of Control Engineering ,Academy of Armored Force Engineering ,Beijing 100072,China )

Abstract :In order to solve the loss of particle diversity exiting in resampling process of particle filter ,this paper presented a particle filter algorithm based on improved resampling.It classified the particles to different groups according to partial resam-pling.It kept the particles with medium weight values same ,and combined the other two groups with high and low weight val-ues linearly and randomly to generate new particles using Thompson-Taylor algorithm.Experimental results show that the im-proved algorithm can reduce computational complexity and keep the diversity of particles and it also enhances the performance of filter.

Key words :partial resampling ;Thompson-Taylor algorithm ;particle filter

粒子滤波采用序贯Monte Carlo 方法来解决非线性非高斯动态系统的状态估计问题,其核心思想是用一组加权随机样本(称做粒子)来逼近所要估计状态的后验概率密度函数[1]。近

年来,粒子滤波被广泛应用于经济预测[2]、目标跟踪[3]

、国防

军事[4]

等领域。粒子滤波是一种序贯重要性采样方法,其最

大问题是粒子退化,

即经过若干次迭代后,重要性权值可能集中到少数粒子上,这些粒子已不能有效表达后验概率密度函

数。为了避免这种退化,

Gordon 等人[5]提出了重采样方法,其思想是减少权值较小的粒子数,增加权值较大的粒子数。常用的重采样方法包括正则化采样[6]

(regularized particle filter ,RPF )、马尔可夫链蒙特卡罗(Markov chain Monte Carlo ,

MC-MC )移动算法[7]、分层采样[8]、进化算法[9]

等。重采样虽然可以在一定程度上缓解权值退化现象,但同时会带来粒子贫化问题,即在迭代少数几次后,重要性权值有可能集中到少数粒子上,导致粒子的多样性迅速下降。重采样过程是以牺牲粒子多样性来减少计算量和提高鲁棒性,难以得到正确的状态估计[10]

。针对粒子滤波重采样导致的粒子贫化问题,本文在局部重采用粒子滤波算法的基础上提出改进重采样过程的粒子

滤波算法,在局部重采样算法中引入Thompson-Taylor 算法,在

大权值粒子和小权值粒子间进行随机线性组合得到新粒子。

1

粒子滤波算法

1.1

贝叶斯估计

动态系统的状态空间模型可描述为

状态方程x t =f (x t -1,w t -1)(1)

观测方程

y t =h (x t ,v t )(2)其中:f (·)和h (·)分别为非线性函数;x t 表示t 时刻的系统状态;y t 表示t 时刻的观测值;w t 为过程噪声;v t 为观测噪声。

从贝叶斯估计来看,可以将状态估计问题视为一个概率推理过程,即利用贝叶斯公式求解后验概率密度p (x t |y 1:t )。贝叶斯滤波包含预测和更新两个阶段,

假设初始概率密度函数p (x 0)为先验知识,p (x t |y 1:t )可以通过预测过程和更新过程递推得到

[11]

a )预测过程。使用从起始时刻到t -1时刻所获得的全部观测值y 1:t -1来推导状态的后验概率密度函数p (x t |y 1:t -1),即

p (x t |y 1:t -1)=∫p (x t |x 1:t -1)p (x t -1|y 1:t -1)d x t -1

(3)

b )更新过程。使用当前时刻t 的观测值y t 对预测过程得到的后验概率密度函数进行修正,得到t 时刻的后验概率密度函数p (x t |y 1:t ),即

p (x t |y 1:t )=

p (y t |x t )p (x t |y 1:t -1)

p (y t |y 1:t -1)

(4)

式(3)和(4)中,p (x t |x 1:t -1)由状态方程确定,称为状态转移概率;p (y t |x t )由观测方程确定,称为似然函数,表征系统状态向

量由x t -1转移到x t 后和观测值y t 的相似程度;p (y t |y 1:t -1)为归一化常数,定义为

p (y t |y 1:t -1)=∫p (y t |x t )p (x t |y 1:t -1)d x t

(5)

预测和更新两个过程构成了一个由先验概率密度函数

第30卷第3期2013年3月计算机应用研究

Application Research of Computers Vol.30No.3Mar.2013

p (x t -1|y 1:t -1)计算后验概率密度函数p (x t |y 1:t )的递推过程。首先由t 时刻的先验概率密度函数p (x t -1|y 1:t -1)出发,利用系统状态空间模型来预测系统状态的后验概率密度函数p (x t |y 1:t -1),再使用当前的观测值对其进行修正,从而得到t 时刻的后验概率密度函数p (x t |y 1:t )。但是,由于求解概率密度函数的积分运算很难实现,

因此以上计算过程不可能得到解析解。粒子滤波是贝叶斯滤波的变种,它将Monte Carlo 方法引入到贝叶斯估计中,形成了序贯Monte Carlo 方法,即通过采用一组加权粒子来近似状态的后验概率密度函数。1.2

基本粒子滤波算法

基本的粒子滤波算法中最重要的步骤是重要性采样、权值更新和重采样,

具体实现步骤描述如下。假设t -1时刻的状态后验分布的粒子集为{x

(i )t -1

,ω(i )

t -1},则:

a )初始化。对于i =1,2,…,N ,由先验信息p (x 0)初始化粒子状态{x (i )0}N

i =1。

b )重要性采样。对于i =1,2,…,N ,从重要性概率密度函数中采样新粒子{x (i )

t

}N

i =1

c )权值更新。根据当前观测值y t ,计算粒子的权值ω (i )t

并归一化权值。

d )重采样。计算有效粒子数N eff ,判断是否需要重采样。

若不需要,则转入步骤e );否则,对粒子集{x

(i )t ,ω

(i )

t }进行重

采样,重采样后的粒子集为{x

(i )

t ,1/N }。

e )状态估计

x ^

t =∑N

i =1

x (i )t w (i )

t (6)

2

改进重采样的粒子滤波算法

2.1

算法描述

局部重采样(partial resampling ,

PR )算法是在每个时刻只对部分权值进行修正的一种算法[12]

,其基本思想是将粒子按权值大小分为大、中、小三种权值的粒子,在进行重采样时,小权值粒子直接舍弃,中等权值的粒子重采样后权值不变,大权值粒子重采样后被复制。虽然局部重采样只对部分粒子进行运算,

提高了计算速度,但是由于直接抛弃了小权值粒子,所以仍然存在粒子贫化问题,不能保证粒子的多样性。

Thompson-Taylor 算法

[13,14]

无须估计未知的概率分布,也无须对该分布进行高斯假设,它通过将某个随机选取的样本最邻近的若干个样本进行随机线性组合得到新样本,适合从已有样本中产生新的随机样本。

本文提出一种改进重采样粒子滤波算法,其思路是:将某一时刻t 获得的加权粒子按照权值大小分成大、中、小三类,在重采样过程中,

中等权值的粒子权值不变。采用Thompson-Taylor 算法将大、小两类粒子进行随机线性组合产生新粒子。具体的实现步骤描述如下:

a )定义粒子权值划分边界W h 和W l ,并对粒子空间按权值划分为大权值粒子域、

中权值粒子域以及小权值粒子域。b )对于中权值粒子域内的粒子,直接保留。

c )将大权值粒子域和小权值粒子域合并构成暂存粒子域,在暂存粒子域中按照Thompson-Taylor 算法,产生新粒子:

(a )从暂存粒子域中随机选取粒子x (i )

,并找到距离x

(i )

近的m 个样本,

S ={x (i )

j

}(j =1,2,…,m );

(b )计算相应样本的均值珋x

(i )

:珋x (i )=∑m

j =1ωj x (i )

j (7)

(c )产生m 个均匀分布随机数u j :

u j U [-3ω槡j ,3ω槡j ]

(8)

其中:j =1,

2,…,m ;ωj 为粒子归一化权值。(d )利用u j 产生伪随机样本:

s =∑m

j =1u j (x (i )j -珋x (i ))+珋x (i )(9)

即为产生的新粒子。

以上算法步骤中,需要确定的参数是m 。m 被称为平滑系数,它的选择与样本数有关。当已有样本较多时,应该取较大的值,反之则取较小的值。一般通过实验,比较不同m 值的采样效果,

最终选择一个合适的m 值。另外,样本间的距离测度也是需要考虑的。本文选取欧氏距离计算样本之间的距离,即

d (x ,y )=(x -y )

槡2

(10)

2.2算法评价

为了评价数据之间的偏差程度,选用信息论中的鉴别信息

来衡量,即KL (Kullback-Leibler )距离。设p 是问题域V 上一个概率密度函数,另一个概率密度函数为q ,则q 与p 之间的距离定义为

[15]

d KL (p ‖q )=∑x ∈V

p (x )log

p (x )

q (x )

(11)

KL 距离的大小表示q 与p 之间的接近程度,若d KL 的值越小,

表示p 越近似于q 。对于q 和p 来说,本身大小没有实际物理意义,所以在计算距离时采用对数似然值代替。通过KL 距离可以衡量局部重采样算法和改进重采样算法得到的粒子分布与重采样前的粒子分布的接近程度。局部重采样算法得到的粒子分布与重采样前的粒子分布之间的KL 距离为

d KL (p ‖q )=∑m

k =1n k N log n k

Nw k

q (12)

其中:n k 为大权值粒子被复制次数。w i

k q 为重采样前粒子的权值。改进重采样算法得到的粒子分布与重采样前的粒子分布之间的KL 距离为

d KL (r ‖q )=∑m

k =1n k -Kn m -1

m k log n k -Kn m -1

m k Nw k q +∑m k =1∑n k j =1K Nn k

log K

Nn k w k q (13)

比较式(12)和(13)可知,d KL (r ‖q )的前半部分小于d KL (p ‖q );又由于当w i k q >

K

Nn 1/m k

时,d KL (r ‖q )的后半部分小于0,从而得到d KL (r ‖q )<d KL (p ‖q )。式(13)中引入了步长系数K ,以消除欧氏距离带来的影响。通过选取合适的K 值可以使重采样后的近似概率分布与重采样前的概率分布更接近。因此,改进的重采样粒子滤波算法要优于局部重采用粒子滤波算法。采用按权值大小对粒子分类的方法,有效地降低算法的复杂度,

采用随机线性组合方法增加了粒子的多样性,并且选取合适的K 值可有效提高粒子滤波算法的精度。

3实验及分析

为了验证改进算法的优越性,通过对纯角度跟踪(bearing-

only-tracking ,BOT )模型进行仿真实验。BOT 模型是在有噪声

情况下,跟踪在二维平面内做匀速运动的目标,而使用的传感器只能测量目标相对于它的角度,不能测量它们之间的距离。

·

947·第3期常天庆,等:一种改进重采样的粒子滤波算法

给定目标的状态空间模型:

X (k +1)=F (k )X (k )+Γ(k )W (k )z (k )=arctan (y (k )/x (k ))+v (k {

(14)

其中:状态变量X (k )=(x (k ),

x ·

(k ),y (k ),y ·

(k ))T ;F 和Γ由二阶常速运动模型确定;W (k ) N (0,

1);v (k ) N (0,R )。系统参数设置如下:目标的初始状态X (0)=(1.8km ,0.2km /s ,3km ,-0.3km /s )T

;过程噪声协方差Q =diag (16m 2

/s 4

20m 2

/s 4

);方位角观测标准差为R =0.02rad ;粒子数目N =500;Monte Carlo 仿真次数M =50。图1给出了PF 、局部重采样粒子滤波(PRPF )和改进重采样粒子滤波(IRPF )的相对均方根误差(RMSE )曲线。表1给出了三种算法的平均RMSE 性能评价,从图1和表1可以明显看出,本文提出的改进算法性能优于PF 和PRPF

表1

目标位置、速度均方根误差

算法x 方向位置/m x 方向速度/m /s

y 方向位置/m y 方向速度/m /s

PF 69.44075.360864.98605.3506PRPF 55.76004.164457.55124.6631IRPF

47.5093

3.3858

48.5177

3.2845

4结束语

本文参照局部重采样将粒子按权值分类,采用Thompson-

Taylor 算法对大权值粒子和小权值粒子进行随机线性组合产

生新粒子,在保证粒子有效性的同时提高了粒子的多样性,有效地解决了粒子的有效性和多样性之间存在的矛盾,提高了滤波精度。纯角度跟踪仿真实验表明,改进算法的跟踪性能优于基本粒子滤波算法和局部重采用粒子滤波算法。参考文献:

[1]刘文静,于金霞,汤永利.粒子滤波自适应部分系统重采样算法研

究[

J ].计算机应用研究,2011,28(3):912-914.[2]程水英,张敛云.粒子滤波评述[J ]

.宇航学报,2008,29(4):1099-1111.[3]周尚波,何革,柳玉炯.一种改进的粒子滤波目标跟踪算法[

J ].计算机应用研究,

2010,27(7):2757-2759.[4]VALYRAKIS A ,TSAKONAS E E ,SIDIROPOULOS N D ,et al .Sto-chastic modeling and particle filtering algorithms for tracking a fre-quency-hopped signal [J ].IEEE Trans on Signal Processing ,

2009,57(8):3108-3118.[5]GORDON N ,SALMOND D.Novel approach to non-linear and non-Gaussian Bayesian state estimation [J ].Proceedings of Institute

Electric Engineering ,1993,140(2):107-113.[6]BELVIKEN E ,ACKLAM P J.Monte Carlo filters for non-linear state

estimation [

J ].Automatica ,2001,37(1):177-183.[7]GILIKS W R ,BERZUINI C.Following a moving target Monte Carlo

inference for dynamic Bayesian models [J ].Journal of the Royal Statistical Society ,2001,63(1):127-146[8]CARPENTER J ,CLIFFORD P ,FEARNHEAD P.An improved par-ticle filter for non-linear problems [J ].IEEE Proceedings on Radar

Sonar Navigation ,

1999,146(1):2-7.[9]李翠芸,姬红兵.新遗传粒子滤波的红外弱小目标跟踪与检测

[J ].西安电子科技大学学报,2009,32(4):619-623.[10]王朝辉,徐一兵.一种基于优化的自适应遗传算法的粒子滤波算

法[

J ].计算机安全,2012(3):13-16.[11]程松.一种利用粒子滤波的实时交通状态估计方法[D ].上海:

复旦大学,

2008.[12]BOLIC M ,DJURICJ P M ,HONG S.Resampling algorithms and ar-chitectures for distributed particle filters [J ].IEEE Trans on Signal

Processing ,2005,53(7):2442-2450.[13]TAYLOR M S ,THOMPSON J R.A data based algorithms for the

generation of random vectors [J ].Computational Statistics &Data Analysis ,1986,4(2):93-101.[14]罗飞腾.目标跟踪的粒子滤波技术研究[D ].杭州:中国科学技

术大学,

2010.[15]许丽佳,王厚军,龙兵.一种状态监测与健康评估方法及其在模

拟电路中的应用[J ].计算机辅助设计与图形学学报,

2008,20(12):1550-1556.(上接第744页)所需样本量少,充分利用已有的评价信息,能减

少人为的误差,能够比较客观、公正地得出供应商企业的信任值,对云环境下核心企业供应商的选择提供了一个直观的数值

参考。但是,

该模型目前只是对企业实体的综合信任值进行评估,虽然子证据的相对权重一般情况下是不会发生改变的,但

很多子证据的基础数值是要随着时间的积累才能计算出来的。因此,如何对云环境下供应商实体信任值进行更新是进一步研究的内容。参考文献:

[1]TAI S.Cloud service engineering [C ]//Proc of the 18th IEEE Inter-national Workshops on Enabling Technologies :Infrastructures for Col-laborative Enterprises.Washington DC :IEEE Computer Society ,

2009:3-4.[2]冯国登,张敏,张妍.云计算安全研究[J ]

.软件学报,2011,22(1):71-83.[3]BETH T ,BORCHERDING M ,KLEIN B.Valuation of trust in open

networks [

C ]//Proc of the 3rd European Symposium on Reseach in Computer Security.Berlin :Springer-Verlag ,1994:3-18.

[4]JOSANG A.A logic for uncertain probabilities [J ].International

Journal of Uncertainty ,Fuzziness and Knowledge-Based Sys-tem ,2001,9(3):279-311.[5]ABDUL-RAHMAN A ,HAILES S.A distributed trust model [C ]//

Proc of Workshop on New Security Paradigms.New York :ACM Press ,1997:48-60.[6]张徐,高承实,戴青,等.网格环境下基于灰色理论多属性综合信

任评价模型[J ].计算机应用研究,

2009,26(6):2148-2150.[7]邓聚龙.灰色系统理论教程[M ].武汉:华中理工大学出版社,

1990.[8]李勇军,代亚非.对等网络信任机制研究[J ].计算机学报,

2010,33(3):390-405.[9]徐兰芳,胡怀飞,桑子夏,等.基于灰色系统理论的信誉报告机制

[J ].软件学报,2007,18(7):1730-1737.[10]徐兰芳,张大圣,徐凤鸣,等.基于灰色系统理论的主观信任模型

[J ].小型微型计算机系统,2007,28(5):801-804.[11]DICKSON G W.An analysis of vendor selection systems and deci-sions [J ].The Journal of Supply Chain Management-Supplier

Performance ,

1966,2(1):5-17.[12]冀铁果,田立勤,胡志兴,等.可信网络中一种基于AHP 的用户行

为评估方法[J ].计算机工程与应用,

2007,43(19):123-126.[13]赵焕臣,许树柏,和金生.层次分析法

[M ].北京:科学出版社,1986:22-26.

·

057·计算机应用研究第30卷

粒子滤波原理和仿真

粒子滤波算法原理和仿真 1 引言 粒子滤波(Particle Filter, PF)是一种基于蒙特卡洛(Monte Carlo, MC)方法的递推贝叶斯滤波算法。其核心思想是通过从状态空间寻找的一系列随机样本来近似系统变量的概率密度函数,以样本均值代替积分运算,从而获得状态的最小方差估计。其中从状态空间中抽取的样本称为“粒子”。一般地,随着粒子数目的增加,粒子的概率密度函数就逐渐逼近状态的概率密度函数,从而达到最优贝叶斯估计的效果。 2 粒子滤波原理 2.1 系统的动态空间 对于被观测对象的状态,可以通过以下非线性离散系统来描述: 11(,)t t t x f x w --= (1) (,)t t t z h x v = (2) 以上为系统的状态方程和观测方程。其中,f ( )为状态函数,h ( )为观测函数,x t 是系统在时间t 的状态变量,w t 为对应的过程噪声,z t 是系统在时间t 的观测值,v t 为对应的观测噪声。 从贝叶斯估计角度来看,状态估计问题就是根据观测信息z 0:t 构造状态的概率密度函数p (x 0:t |z 0:t ),从而估计在系统在任何状态下的滤波值。设系统状态序列函数为g t ,则有: []0:0:0:0:0:()()()t t t t t t x E g x g x p x z dx =? (3) 根据蒙特卡洛方法,后验概率分布可以用有限的离散样本来近似,由大数定律,当系统粒子数N →∞时,期望E [g t (x 0:t )]可近似为: []() 0:0:1 1()()N i t t t t i E g x g x N ==∑ (4) 式中{() 0:i t x : i =1,2,...N }为状态空间中按p (x 0:t |z 0:t )得到的采样点。 2.2 重要性采样 在粒子采集过程中,p (x 0:t |z 0:t )往往是未知且多变的,因此可先从一个已知且容易采样的参考分布q (x 0:t |z 0:t )中抽样,再通过对抽样粒子集进行加权求和来估计系统的状态值,即:

遗传重采样粒子滤波器

第33卷第8期自动化学报Vol.33,No.8 2007年8月ACTA AUTOMATICA SINICA August,2007 遗传重采样粒子滤波器 叶龙1王京玲1张勤1 摘要粒子退化现象是影响粒子滤波器性能的一个重要因素.本文针对粒子退化,将遗传机制应用于粒子重采样,以进化设计解决退化问题.分析并给出了平衡粒子集的有效性与多样性的手段以取得最佳性能的遗传粒子滤波结构的方法. 关键词粒子滤波器,粒子退化,遗传机制,有效性粒子,多样性粒子中图分类号TP3 Genetic Resampling Particle Filter YE Long1WANG Jing-Ling1ZHANG Qin1 Abstract Particle degeneration is a key issue in the perfor-mance of a particle?lter.In this paper we introduce genetic mechanism into particle resampling process.It is shown that the new particle?lter can e?ectively eliminate particle degeneration and reduce its dependency on the particle validity.Furthermore, the new genetic particle?lter can be optimized by three key ge-netic factors–selection,crossover and mutation probabilities. Key words Particle?lter,particle degeneration,genetic mechanism,e?ective particle,diversiform particle 1引言 近年来,针对状态估计与运动跟踪,粒子滤波器[1~3](Particle?lter)由于采用蒙特卡罗采样(Monte Carlo sampling)结构而在非线性、非高斯系统状态跟踪上体现出越来越大的优越性,并得到了广泛的应用[4,5].粒子退化[3]是粒子滤波器中不可避免的、同时严重影响粒子滤波器性能的现象,在粒子滤波器经过几次迭代之后,很多粒子只有很小甚至接近于零的权值,这些权值在进行粒子的重要度更新的时候虽然还要计算但是对整个系统的帮助很小,基本上属于无用的粒子,这样一方面浪费了大量计算资源,同时也容易造成跟踪的精度降低甚至目标丢失.粒子重采样是解决粒子退化问题的一种重要方法,常用的重采样算法有累积分布重采样[2](Binary search)、系统重采样[6](Systematic resampling)、剩余重采样[7](Residual resampling)等.这些算法通过增加粒子的有效性解决了粒子退化问题,但是在实际应用中可影响系统的鲁棒性.重采样完成后,重要度高的粒子通过重采样被多次选取,这在一定程度上丢失了粒子的多样性,由此造成的后果就是一旦目标丢失或跟踪精度不够,系统自动收敛的可能性很小. 针对这一问题,本文将遗传机制[8]应用于粒子重采样,利用进化思想解决粒子退化问题,即针对重采样中粒子有效性与多样性的两个矛盾,提出了一种新型的在保证粒子有效性的同时科学地增加粒子多样性的方法—遗传重采样算法.同时通过单变量与多变量跟踪问题的实例,给出了针对具体问题寻找最佳遗传系统的方案,通过引入置信区间分析并演 收稿日期2006-2-16收修改稿日期2007-4-19 Received February16,2006;in revised form April19,2007 国家自然科学基金(60572041)资助 Supported by National Natural Science Foundation of China (60572041) 1.中国传媒大学信息工程学院北京100024 https://www.360docs.net/doc/1319246711.html,rmation Engineering School,Communication University of China,Beijing100024 DOI:10.1360/aas-007-0885示了多样性粒子与有效性粒子的比例对于跟踪准确性的影响. 2遗传重采样算法与遗传粒子滤波器 假设一个动态状态空间中的目标状态方程与观测方程定义如下 x k=f(x k?1,v k)(1) z k=h(x k,u k)(2) 其中,x k与z k分别表示目标状态值与观测值,f k:R ns×R nv→R ns表示目标状态非线性转移函数,v k为状态转移噪声,n s与n v分别表示目标状态矢量维数与状态噪声矢量维数;h k:R ns×R nu→R nz表示目标状态非线性观测函数,u k为观测噪声,n z与n u分别表示目标观测矢量维数与观测噪声矢量维数,跟踪的目的就是通过目标的观测状态z k 得到x k的估计. 粒子滤波器是通过递归蒙特卡罗采样实现跟踪的一种统计计算方法,其算法包括两个主要步骤:预测和更新.预测是指根据Chapman-Kolmogorov方程得到目标运动的先验概率密度函数(Probability density function,PDF);而更新是指通过贝叶斯公式与目标状态似然度对先验PDF做出的修正.在粒子滤波器中,PDF用带有权值的粒子组成的粒子集近似表示,因此粒子滤波器是一种通过粒子状态与权值的预测与更新而实现目标状态后验概率密度估计的方法.粒子退化是粒子滤波器中一个不可避免的问题.在粒子状态更新后,为解决粒子退化问题,需要对粒子集合进行重采样操作以去除不重要的粒子,但是这种去除往往使粒子集丢失其多样性(如引言中所述).因此,在本文中,我们将遗传操作引入了粒子重采样,解决了这一问题. 将遗传机制应用于粒子的重采样.首先,作为一种进化思想的理论基础,遗传机制为解决粒子退化问题提供了重要的指导思想;其次,遗传机制不仅仅通过选择算子[8]T s遴选优良个体,还可以通过重组算子T c与变异算子T m操作产生新的个体.因此,适当地优化调整选择概率P s、重组概率P c以及变异概率P m,可以在保证粒子有效性的同时兼顾粒子的多样性.遗传重采样过程是遗传机制的执行过程,即针对每一个带有权值的粒子状态,首先对状态进行二进制编码,然后按照设定的选择、交叉、变异概率对于粒子集依次进行相应的算子计算,得到的粒子集合在二进制解码后得到最终的重采样粒子集.因此,遗传重采样下的粒子滤波器算法可以描述为算法1. 算法1.遗传重采样粒子滤波器算法(GRPF) [{x i k,ωi k}N i=1]=GRPF[{x i k?1,ωi k?1}N i=1,z k] 步骤1.初始化粒子集{x i0,ωi0}i=1:N for k=1:K 步骤2.粒子状态预测 x i k~P(x i k,x i k?1)i=1:N 步骤3.粒子状态权衡(更新) ωi k∝ωi k?1P(z k|x i k) ω i k= ωi k N i=1 ωi k 步骤4.遗传粒子重采样

一种改进的粒子滤波重采样算法研究_金玉柱

2011年4月第4期 电子测试 ELECTRONIC TEST Apr.2011 No.4一种改进的粒子滤波重采样算法研究 金玉柱,李善姬 (延边大学工学院,吉林 延吉 133002) 摘要:粒子滤波是基于递推的蒙特卡罗模拟方法的总称,可用于任意非线性,非高斯随机系统的状态估计。为了减轻退化现象,引入重采样过程,但重采样过程算法复杂,计算量大,不利于硬件实现,并且会削弱粒子的多样性,从而导致滤波性能下降。提出了一种将局部重采样和优化组合算法结合的重采样算法。将粒子按权值大小分类,小权值的粒子抛弃,大权值的粒子进行复制,将复制的粒子和抛弃的粒子线性组合产生新的粒子,增加了粒子多样性并且只对大权值粒子进行运算,故降低了计算量利于实时系统的硬件实现。仿真结果证明了该算法的有效性。 关键字:粒子滤波; 局部重采样; 优化组合 中图分类号: TP391 文献标识码:A Research of improved particle filter resampling algorithm Jin Yuzhu, Li Shanji (College of Engineering, Yanbian University, Yanji 133002, China) Abstract: Particle filtering is a sequential Monte Carlo simulation algorithm. It can be used to estimate the state of any nonlinear, non-Gaussian system. In order to reduce the degeneracy, the resampling algorithm is adopted. But the resampling process has complex algorithm architecture, which have restricted its implementation in real-time system. Resampling process also leads to the loss of diversity of particles, and the loss makes filter’s performance worse. A new algorithm-partial resampling combined with optimizing combination resampling method is proposed. Assort the particles by their weights, the particles which have low weights are abandoned and the particles which have high weights are reproduced, and generate new particles by combining the reproduced particles and abandoned particles. This new method partly overcomes the loss of diversity and because it simply operates to the high weights particle so its calculation is simplified. And it is propitious to implement by hardware. The simulation results prove the effectiveness of the proposed method. Keywords : particle filtering; partial resampling; optimizing combination 0 引言 粒子滤波器,又称序贯蒙特卡罗方法。可以有效地处理非线性、非高斯滤波问题,广泛地应用在机动目标跟踪、信号传输与压缩、金融领域数据分析、图像处理、故障诊断等领域。所谓粒子滤波就是贝叶斯估计基于抽样理论的一种近似算法,通过非参数化的蒙特卡罗模拟方法来实现递推贝叶斯滤波,即通过一组动态状态空间上按贝叶斯准则进行更新的随机加权的样本或粒子,对未知状态的后验概率密度进行估计,其中这些粒子通过对后验密度序贯重

粒子滤波详解

2.4粒子滤波 例子滤波是以贝叶斯滤波和重要性采样为基本框架的。因此,想要掌握例子滤波,对于上述两个基本内容必须有一个初步的了解。重要性采样呢,其实就是根据对粒子的信任程度添加不同的权重,添加权重的规则就是:对于我们信任度高的粒子,给它们添加的权重就相对大一些;否则,就加的权重小一些。根据权重的分布形式,实际上就是它与目标的相似程度。 粒子滤波的结构实际上就是加一层重要性采样思想在里面的蒙特卡罗方法(Monte Carlo method,即以某时间出现的频率来指代该事件的概率)。该方法的基本思想是用一组样本(或称粒子)来近似表示系统的后验概率分布,然后使用这一近似的表示来估计非线性系统的状态。采用此思想,在滤波过程中粒子滤波可以处理任意形式的概率,而不像Kalman滤波只能处理线性高斯分布的概率问题。粒子滤波的一大优势也在于此,因此近年来该算法在许多领域得到成功应用。 2.4.1贝叶斯滤波理论 贝叶斯滤波泛指一类以贝叶斯定理为基础的滤波技术,其根据所获得的观测,对状态后验概率分布、状态先验概率分布、状态估计值以及状态预测值等感兴趣量进行递归计算。 假设有一个系统,我们知道它的状态方程,和测量方程如下: =(,(状态方程)(2.4.1) =(,(测量方程)(2.4.2) 其中x为系统状态,y为测量到的数据,f,h是状态转移函数和测量函数,v,n 为过程噪声和测量噪声,噪声都是独立同分布的。 由贝叶斯理论可知,状态估计问题(目标跟踪、信号滤波)就是根据之前一系列的已有数据(测量数据)递推的计算出当前状态的可信度,这个可信度就是概率公式p(),它需要通过预测和更新两个步奏来递推的计算。 预测过程是利用系统模型(状态方程2.4.2)预测状态的先验概率密度,也就是通过已有的先验知识对未来的状态进行猜测,即p( )。更新过程则利用最新的测量值对先验概率密度进行修正,得到后验概率密度,也就是对之前的猜测进行修正。 处理这些问题之前,假设系统的状态转移服从一阶马尔科夫模型,即当前时刻的状态x(k)只与上一个时刻的状态x(k-1)有关, k时刻测量到的数据y(k)只与当前的状态x(k)有关。

扩展卡尔曼滤波和粒子滤波算法比较

扩展卡尔曼滤波和粒子滤波算法比较上海大学2013 , 2014学年秋季学期 研究生课程小论文 课程名称: 随机信号导论课程编号: 07SB17002 论文题目: 扩展卡尔曼滤波和粒子滤波算法比较 研究生姓名: 班孝坤 (33%) 学号: 13720843 研究生姓名: 倪晴燕 (34%) 学号: 13720842 研究生姓名: 许成 (33%) 学号: 13720840 论文评语: 成绩: 任课教师: 刘凯 评阅日期: 扩展卡尔曼滤波和粒子滤波算法比较 第一章绪论 在各种非线性滤波技术中, 扩展卡尔曼滤波是一种最简单的算法, 它将卡尔曼滤波局部线性化,适用于弱非线性、高斯环境下。卡尔曼滤波用一系列确定样本来逼近状态的后验概率密度, 适用于高斯环境下的任何非线性系统。粒子滤波用随机样本来近似状态的后验概率密度, 适用于任何非线性非高斯环境, 但有时选择的重要性分布函数与真实后验有较大差异, 从而导致滤波结果存在较大误差, 而粒子滤

波正好克服了这一不足, 它先通过UKF产生重要性分布, 再运用PF 算法。通过仿真实验, 对其的性能进行比较。 严格说来,所有的系统都是非线性的,其中许多还是强非线性的。因此,非线性系统估计问题广泛存在于飞行器导航、目标跟踪及工业控制等领域中,具有重要的理论意义和广阔的应用前景。 系统的非线性往往成为困扰得到最优估计的重要因素,为此,人们提出了大量次优的近似估计方法。包括EKF,基于UT变换的卡尔曼滤波(UKF),粒子滤波,等等。 第二章扩展卡尔曼滤波介绍 2.1 扩展卡尔曼滤波的理论(EKF) 设非线性状态空间模型为: xfxv,(,)(1)ttt,,11 yhxn,(,)(2)ttt 式中和分别表示在t时刻系统的状态和观测,和 xR,yR,vR,nR,tttt分别表示过程噪声和观测噪声,f和h表示非线性函数。 扩展卡尔曼滤波(Extended kalman filter,以下简称EKF)是传统非线性估计的代表,其基本思想是围绕状态估值对非线性模型进行一阶Taylor展开,然后应用线性系统Kalman滤波公式。 EKF是用泰勒展开式中的一次项来对式(1)和 ( 2 ) 中的非线性函数f和h 进行线性化处理, 即先计算f和h 的雅克比矩阵, 然后再在标准卡尔曼滤波框架下进行递归滤波。和均为零均值的高斯白噪声。 vntt 2.2 扩展卡尔曼滤波的算法 EKF的算法同KF 一样, 也可分为两步预测和更新。如图2.1所示

粒子滤波程序一看就懂

clear all; M=10000;%粒子数 P0=5; %初始状态协方差 Q=10; %过程噪声方差 R=1; %量测方差阵 tf=150; %终止时间 pdf_v=inline('1/(2*pi*1)^(1/2)*exp(-(x.^2)/(2*1))'); f=inline('x./2+25*x./(1+x.^2)+8*cos(1.2*t)','x','t');%状态转移方程 h=inline('(x.^2)/20'); %量测方程 x(1)=sqrtm(P0)*randn(1); %初始状态值 y(1)=feval(h,x(1))+sqrtm(R)*randn(1); for t=2:tf %系统仿真 x(t)=feval(f,x(t-1),t-1)+sqrtm(Q)*randn(1); y(t)=feval(h,x(t))+sqrtm(R)*randn(1); end xTrue=x; xhat=PF(f,h,pdf_v,Q,P0,M,y);%状态值、量测值、高斯分布、过程噪声方差、初始方差阵、粒子数、包含噪声的量测值 plot(1:tf,xhat,'b--',1:tf,xTrue,'r'); xlabel('时间'); legend('状态估计值','状态真实值'); title('粒子滤波仿真实验'); grid on; rms=sum((xTrue-xhat).^2); rms=sqrt(rms/tf);

function xhat=PF(f,h,pdf_v,Q,P0,M,y) n=size(P0,2); x=sqrtm(P0)*randn(n,M);%初始化粒子 tf=size(y,2); for t=1:tf e=repmat(y(t),1,M)-h(x); %计算权重 w=feval(pdf_v,e); %似然函数 w=w/sum(w); xhat(t)=sum(repmat(w,n,1).*x,2);%归一化权值 ind=resampling(w); %重采样 x=x(:,ind); %新粒子 x=feval(f,x,t)+sqrtm(Q)*randn(n,M);%时间更新end function [i]=resampling(w) wc=cumsum(w);M=length(w); u=([0:M-1]+rand(1))/M; i=zeros(1,M);k=1; for j=1:M while(wc(k)

粒子滤波原理体会

之前一直在做移动机器人定位算法。查来查去,发觉粒子滤波算法(又叫MC算法)应该算是最流行的了。因此开始学习使用之。入手的是本英文书叫“probalistic robotic” 很不错,我所见到的讲得最好的一本书。花了大量时间去研读。在这里我想谈谈我对粒子滤波的一点认识。因为在这一领域算是个新手。希望有前辈或者达人来指正我的想法。也希望我的这篇文章对新手有理解他有所帮助(当初我就很是苦于它难于理解)在这里我不想谈粒子滤波的理论基础和推到,这点大家可以去自己翻书。我只谈下我的体会。 粒子滤波算法。他源于Montecarlo的思想,即以某事件出现的频率来指代该事 件的概率。因此在滤波过程中,需要用到概率如P(x)的地方,一概对变量x采样,以大量采样的分布近似来表示P(x)。因此,采用此一思想,在滤波过程中粒子滤波可以处理任意形式的概率,而不像Kalman滤波只能处理高斯分布的概 率问题。他的一大优势也在于此。 再来看对任意如下的状态方程 x(t)=f(x(t-1),u(t),w(t)) y(t)=h(x(t),e(t)) 其中的x(t)为t时刻状态,u(t)为控制量,w(t) 和e(t)分别为模型噪声和,观测噪声。前一个当然是状态转移方程,后一个是观测方程。那么对于这么一个问题粒子滤波怎么来从观测y(t),和x(t-1),u(t) 滤出真实状态x(t)呢? 看看滤波的预估阶段:粒子滤波首先根据x(t-1) 和他的概率分布生成大量的采样,这些采样就称之为粒子。那么这些采样在状态空间中的分布实际上就是x(t-1) 的概率分布了。好,接下来依据状态转移方程加上控制量可以对每一粒子得到一个预测粒子。所有的预测粒子就代表了涉及哪些参数化的东西)。 进入校正阶段来:有了预测粒子,当然不是所有的预测粒子都能得到我们的时间观测值y对不,越是接近真实状态的粒子,当然获得越有可能获得观测值y对吧。于是我们对所有的粒子得有个评价了,这个评价就是一个条件概率P(y|x i ),直白的说,这个条件概率代表了假设真实状态x(t)取第i个粒子x i 时获得观测y的概率。令这个条件概率为第i个粒子的权重。如此这般下来,对所有粒子都进行这么一个评价,那么越有可能获得观测y的粒子,当然获得的权重越高。好了预测信息融合在粒子的分布中,观测信息又融合在了每一粒子的权重中。

粒子滤波算法

粒子滤波算法 09S003057 徐飞 由于我的课题是用粒子滤波进行目标跟踪,今天参加了一场粒子滤波算法的讲座,对经典粒子滤波与其它粒子滤波进行了详细的讲解,学到了很多知识。 经典粒子滤波 算法的一般描述: 1.初始化:取k =0,按0()p x 抽取N 个样本点() 0i x ,i =1,…,N 。 2.重要性采样: ()()0:11:(|,)i i k k k k x q x x z -~,令 ()() ()0:0:1(,)i i i k k k x x x -=,其中i =1,…,N 。 3.计算权值: ()()() () ()11 ()() 0:11:(|)(|)(|,) i i i i i k k k k k k i i k k k p z x p x x q x x z ---ω =ω 若采用一步转移后验状态分布,该式可简化为()()() 1(|)i i i k k k k p z x -ω=ω。 4.归一化权值: () j j i i k k N k () ()=1 ωω = ω ∑ 5.重采样:根据各自归一化权值 () i k ω 的大小复制/舍弃样本 () 0:i k x ,得到N 个近似服从()0:1:(|)i k k p x z 分布的样本()0:i k x 。令()i k ω= ()i k ω=1/N ,i =1,…,N 。 6.输出结果:算法的输出是粒子集() 0:{: 1...}i k x i N =,用它可以近似表示后验概率和函数 0:()k k g x 的期望 0:0:1:0:11(|)()i k N k k k x i p x z dx N ()==δ∑ 0:0:1 1(())()N i k k k k i E g x g x N ==∑ 7.K=K+1,重复2步至6步。 其它粒子滤波 正则粒子滤波 正则粒子滤波(Regularized Particle Filter ,RPF)是为了解决由重采样引入的新问题而提出的一种改进的粒子滤波。当通过序贯重要性采样后引起粒子退化问题时,前面提到可以用重采样的方法来减小退化的影响,但是引入重采样策略同时也引入了新的问题,即粒子匮乏问题,经过若干次迭代之后,所有粒子都趋向于同一个粒子,导致粒子的多样性丧失。这是因为在重采样过程中,粒子是从离散分布中采样取得的,而不是从连续分布中采样得到的。 正则粒子滤波正是为了解决上述问题而提出的。它与SIR 粒子滤波的区别在于:在重采样过程中,SIR 从离散近似的分布中重采样,而正则粒子滤波则从连续近似的分布中重采样。 1 0:1 {,} (|)()N j j m i i k k j k k k h k k i x p x y K x x ==ω~≈ω-∑ 其中,1()()h n x x K x K h h = 是对核密度()K 进行了重新标度后的结果,n 为x 的维数,h 称为

相关文档
最新文档