基于高斯Sigma点选取的改进UPF算法
曹洁, 戴彬, 李晓旭
兰州理工大学 计算机与通信学院, 兰州 730050

作者简介:曹洁(1966-),女,教授,博士生导师.研究方向:信息融合理论与应用,智能交通,信息检测与估计. E-mail:caoj@lut.cn

摘要

针对标准粒子滤波存在的粒子退化现象,提出了一种改进的UPF算法。该算法采用基于高斯Sigma点选取的自适应无味卡尔曼滤波产生建议分布函数,然后利用Metropolis-Hastings(MH)方法优化粒子,提高了对系统后验概率密度的逼近程度。仿真结果表明:改进算法降低了粒子滤波算法的粒子退化程度,提高了跟踪精度。

关键词: 计算机应用; 粒子滤波; 高斯Sigma点; 无味卡尔曼滤波; MH方法
中图分类号:TP391 文献标志码:A 文章编号:1671-5497(2014)05-1435-06
Improved UPF algorithm based on Gaussian Sigma points selection
CAO Jie, DAI Bin, LI Xiao-xu
College of Computer and Communication,Lanzhou University of Technology, Lanzhou 730050, China
Abstract

An improved Unscented Particle Filter (UPF) algorithm is proposed to overcome the problem of particles degradation in the standard particle filter. The algorithm uses adaptive unscented Kalman filter based on Gaussian Sigma point selection to generate the proposal distribution function. Then it uses the Metropolis-Hastings (MH) algorithm to optimize particles, so that the approximation of the posterior probability density of the system is improved. Simulation results show that the improved UPF algorithm reduces particle degradation which exists in the particle filter algorithm, and improves tracking accuracy.

Keyword: computer application; particle filter; Gaussian Sigma points; unscented Kalman filter; Metropolis-Hastings
0 引言

非线性、非高斯随机系统的状态估计问题在统计学、语音和图像处理、数字通信、计算机视觉、自适应估计、机器学习及自动控制等领域有着广泛应用[ 1]。解决一般非线性状态估计问题常用Kalman滤波的相关改进算法,包括扩展Kalman滤波(EKF)[ 2]、无味Kalman滤波(UKF)[ 3]等。这些算法基本思想是通过参数化的解析式对系统的非线性进行近似来进行状态估计。但在许多非线性和非高斯条件下,这些滤波算法在估计系统状态时误差较大,可能导致滤波发散。近年来,粒子滤波[ 4]被应用在解决非线性和非高斯系统状态估计问题上,但仍存在粒子退化现象。建议分布函数的选择是影响该问题一个重要因素,研究人员提出了很多基于建议分布函数选择的粒子滤波算法,其中有似然粒子滤波[ 5]、扩展粒子滤波(EPF)[ 6]、无味粒子滤波(UPF)[ 7]和高斯-厄米粒子滤波[ 8]等。其中UPF算法是目前被广泛应用的一种改进粒子滤波算法,但UPF算法的精度很大程度上取决于Sigma点的选取方式,现有的选取方式主要是对称选取,这种选取方式使Sigma点的采样点数过多,影响了算法的效率。

基于此,本文提出了一种改进的UPF算法。该算法采用高斯Sigma点选取的自适应无味卡尔曼滤波产生建议分布函数,然后利用MH方法[ 9]优化粒子,提高了对系统后验概率密度的逼近程度。为了评估本文提出的改进算法的性能,选择两个仿真系统将其与PF、EPF和UPF三种算法进行了比较。

1 无味粒子滤波(UPF)
1.1 标准粒子滤波(PF)

粒子滤波是一种基于蒙特卡罗方法和递推贝叶斯估计的统计滤波方法。该方法核心思想是利用一系列随机样本的加权和来表示系统状态的后验概率密度,以样本均值代替积分计算,从而获得状态的最小方差估计。

假设非线性系统动态模型如下:

状态方程:xk=fxk-1+vk-11量测方程:zk=hxk+uk2

式中: xk为系统状态; zk为观测状态;映射 f·h·分别为系统状态转移模型函数和量测模型函数; vk-1uk分别为过程噪声和观测噪声。

{xki,wki,i=1,,N}表示一组加权随机样本(粒子),其中 xkik时刻第 i个粒子的状态, wkixki的权值,则 k时刻后验概率密度为:

p(xkzk)=i=1Nwkiδ(x-xki)(3)

式中:粒子 {xki,i=1,,N}从建议分布函数 q(xk(i)|x0k-1(i),z1k)抽样,权值 wki通过重要采样法选择。

wk(i)wk-1(i)p(zk|xk(i))p(xk(i)|xk-1(i))q(xk(i)|x0k-1(i),z1k)4

式(3)中: δ(x-xki)为单位冲激函数(狄拉克函数),即 δ(x-xki)=0,xxk,且∫ δ( x)d x=1,权值满足归一化条件 i=1Nwki =1。

1.2 无味粒子滤波(UPF)

UPF算法是UKF算法和PF算法的结合。在PF算法中,为了求解方便,一般取先验概率密度为建议分布函数。但是,这种选取方法丢失了当前时刻的量测值,使得当前时刻的状态严重依赖于模型。如果模型不准确,或者量测噪声突然增大,这种选取方法将不能有效地表示概率密度函数的真实分布,会产生很大的估计偏差。UPF算法则是在PF的基础上利用UKF产生建议分布函数,每一次采样的粒子集都由UKF算法进行更新,所得的均值和方差用于下一次采样新粒子集。在重要性采样环节引入最新的观测量,可以在一定程度上抑制粒子退化。

2 改进的UPF算法
2.1 基于高斯Sigma点选取的UKF算法

UKF是无味变换和标准Kalman滤波体系的结合。无味变换的基本思想是根据 x的均值和方差选择 2nx+1个加权样点(Sigma点)来近似 x的分布,将这些加权样点代入非线性函数中,得到相应的非线性函数点集,通过该点集求取变换后的均值和协方差。UKF算法的计算效率很大程度上取决于无味变换中Sigma点的个数、位置以及加权方式。标准的无味变换采用 2nx+1个Sigma点对称采样,缺乏一定的灵活性,同时为了减少计算量,本文通过高斯分布选取 nx+1个Sigma点,采用前一时刻状态的均值和方差作为高斯分布的均值和方差,提出了基于高斯Sigma点选取的UKF算法。其步骤如下:

(1)初始化

x00=E(x0)(5)P00=Ex00-E(x0)x00-E(x0)Τ6

计算Sigma点:

χ0=xk-1k-1,χj~N(xk-1k-1,Pk-1k-1)j=1,,nx7权值为:Wj(m)=λnx+λ,j=01nx+λ,j=1,2,,nxWj(c)=λnx+λ+(1-α2+β),j=01nx+λ,j=1,2,,nx

式中: Wj(m)为求一阶统计特性时的权系数; Wj(c)为求二阶统计特性时的权系数。

(2)时间更新

xj,kk-1=f(χj)(8)x-kk-1=j=0nxWj(m)xj,kk-19Pkk-1=j=0nxWj(c)xj,kk-1-x-kk-1·xj,kk-1-x-kk-1Τ+Qk-110

(3)观测更新

zj,kk-1=h(xj,kk-1)(11)z-kk-1=j=0nxWj(m)zj,kk-112Pxz=j=0nxWj(c)xj,kk-1-x-kk-1zj,kk-1-z-kk-1Τ13Pzz=j=0nxWi(c)zj,kk-1-z-kk-1zj,kk-1-z-kk-1Τ14Kk=PxzPzz-115xkk=x-kk-1+Kk(zk-z-kk-1)(16)Pkk=Pkk-1+KkPzzKkΤ17

2.2 改进的UPF算法

采用2.1节提出的基于高斯Sigma点选取的UKF算法产生建议分布函数,并利用MH方法对建议分布函数抽样产生的粒子进行优化,得出状态的估计值,提出了一种改进的UPF算法,称为UPF-MH算法。其具体实现步骤如下:

(1)初始化

k=0时刻,从先验分布中产生样本 {x0i,i=1,2,,N}

x00i=E(x0i)(18)P00i=E(x0i-x-0i)(x0i-x-0i)Τ](19)

(2)预测更新

对于给定的 x-k-1k-1iPk-1k-1i,根据式(8)~(12)求状态预测 x-kk-1iz-kk-1i

预测协方差为:

Pkk-1i=j=0nxWj(c)xj,kk-1i-kk-1i·xj,kk-1i-x-kk-1iΤ+Qk-120

(3)发散判断

z-kk-1z-kk-1iS·tr[E(z-k|k-1iz-k|k-1)]判断是否发散,如发散,按照式

Pkk-1i=λj=0nxWj(c)xj,kk-1i-x-kk-1i·xj,kk-1i-x-kk-1iΤ+Qk-121

进行修正 Pkk-1i,若不发散则进入下一步。

(4)量测更新

根据式(13)~(17),求得:

x-ki=x-kk-1i+Kk(zk-z-kk-1i)(22)Pki=Pkk-1i+KkPzzKkΤ23

(5)采样粒子

x^ki~q(x-kix-0k-1i,z1k)=N(x-ki,Pki)(24)

计算权重:

wkip(zkx^ki)·p(x^kixk-1i)q(x^kix0k-1i,z1k)25

归一化权值:

wki=wkii=1Nswki26

(6)给定一个 u~U0,1,若:

umin1,p(zkx^ki)p(x^kix-k-1i)q(x^kix-0k-1i,z1k)p(zkx-ki)p(x-kix-k-1i)q(x-kix-0k-1i,z1k)27则有:x0ki=(x-0k-1i,x^ki)(28)否则:x0ki=x-0ki29

(7)状态更新

xk=i=1Nxkiwki30

3 实验结果与分析

为了验证本文提出的UPF-MH算法,将其与PF、EPF、UPF算法进行比较,并采用以下两个系统进行仿真。

系统1:

xt=1+sin(0.4πt)+0.5xt-1+vt-1zt=0.2xt2+nt,t300.5xt-2+nt,t>3031

其中,过程噪声 vt-1~Γ(3,2),量测噪声 nt~N0,0.00001,采用2个不同阶次观测模型对系统状态进行观测。

系统2:

xt=sin(0.04πt)+0.5xt-1-5+vt-1zt=0.2xt2+nt32

其中,过程噪声 vt-1~Γ(3,2),量测噪声 nt~N(0,0.00001),采用1个阶次观测模型对系统状态进行观测。

实验中,粒子数目分别设置为 N=100N=200,观测时间为 T=50,UT参数设置为 α=1,β=0,γ=2,发散判断中的可调系数 S(S1)取值为1,衰减系数取值为 λ=2评价标准选择均方误差以及均方误差和时间的综合评价指标,其中均方误差定义为:

RMSE=[1Tt=1T(xk-xki)2]1233

综合评价指标(Performance evaluation)定义为:

PE=t×RMSE34

式中: t为完成一次仿真的时间。

均方误差越小,仿真时间越短,PE越小,说明算法的跟踪综合性能越高。

3.1 跟踪性能对比

表1表2分别为系统1和系统2采样粒子数 N=100N=200时的RMSE和PE对比结果。图1图2为PF、EPF、UPF和UPF-MH四种算法的系统1和系统2中采样粒子数 N=100N=200时产生的状态估计曲线。

表1 4种算法的RMSE值和PE值对比(系统1) Table 1 Comparison of RMSE and PE of four algorithms(system1)
表2 4种算法的RMSE值和PE值对比(系统2) Table 2 Comparison of RMSE and PE of four algorithms(system2)

图1 4种算法的状态估计(系统1)Fig.1 State estimation of four algorithms(system1)

图2 4种算法的状态估计(系统2)Fig.2 State estimation of four algorithms(system2)

图1可以看出,在粒子数相同的情况下,4种算法都能在一定程度上对非线性系统状态进行估计,其中UPF和UPF-MH这两种算法的估计效果好于PF和EPF的估计效果,而UPF-MH估计效果比PF、EPF和UPF有明显提高。从表1可以看出,UPF-MH的RMSE和PE值都是最小的,说明UPF-MH有较高的估计精度。从图2以及表2可以看出,在系统2中,UPF-MH的估计精度同样比其他3种算法的估计精度高。

综上,UPF-MH算法比其他3种算法具有较高的估计精度和较好的性能。

3.2 抽样粒子集中程度对比

实验中将UPF-MH、PF、EPF和UPF四种算法中建议分布函数抽样产生粒子的状态值和真实状态值表示出来进行粒子集中程度的对比(粒子数设为 N=100),如图3所示。图4是系统2中4种算法的粒子集中程度对比。其中星形符号表示抽取的粒子,圆形符号表示真实状态值。

图3 系统1中的粒子集中程度对比Fig.3 Comparison of particle concentration in system1

图4 系统2中的粒子集中程度对比Fig.4 Comparison of particle concentration in system2

图3可以看出,在系统1中,PF算法有较多的粒子处于真实状态较远位置,也就是PF算法抽样粒子处在概率密度值非常小的区间,而EPF算法和UPF算法与PF算法相比,抽样粒子对真实后验概率分布接近程度有所改进。本文提出的UPF-MH算法相比PF、EPF、UPF算法抽样粒子更加集中在真实状态,也就是UPF-MH算法抽样粒子处在概率密度值非常大的区间。从图4可以看出,在系统2中,本文提出的UPF-MH算法相比PF、EPF、UPF算法抽样粒子更加集中在真实状态。可见,相比PF、EPF、UPF三种算法,UPF-MH算法降低了粒子退化现象。

综上,本文提出的UPF-MH算法抽样产生的粒子更能逼近真实状态的后验概率密度,提高了粒子的利用率,从而提高了估计精度。

4 结束语

提出了一种改进的UPF算法——UPF-MH,该算法通过基于高斯Sigma点选取的UKF算法产生建议分布函数,同时利用MH方法优化粒子。实验结果表明:UPF-MH算法比PF、EPF、UPF这三种算法估计精度更高,并有效降低了粒子退化现象。

本文通过构建建议分布函数来降低粒子退化现象。下一步工作将对重采样方法进行研究,通过改进重采样方法降低粒子退化现象,设计出一种有效的解决粒子退化现象的重采样算法,并与本文算法相结合应用到说话人跟踪领域。

The authors have declared that no competing interests exist.

参考文献
[1] 朱志宇. 粒子滤波算法及其应用[M]. 北京: 科学出版社, 2010. [本文引用:1]
[2] 傅惠民, 吴云章, 娄泰山. 自适应扩展增量Kalman滤波方法[J]. 航天动力学报, 2012, 27(8): 1734-1737.
Fu Hui-min, Wu Yun-zhang, Lou Tai-shan. Adaptive extended incremental Kalman filter method[J]. Journal of Aerospace Power, 2012, 27(8): 1734-1737. [本文引用:1] [CJCR: 0.4202]
[3] 程水英, 余莉. 迭代无味卡尔曼滤波器的算法实现与应用评价[J]. 系统工程与电子技术, 2011, 33(11): 2546-2553.
Cheng Shui-ying, Yu Li. Algorithm realization and its application evaluation of the iterated unscented Kalman filter[J]. Systems Engineering and Electronics, 2011, 33(11): 2546-2553. [本文引用:1] [CJCR: 0.499]
[4] Gordon N J, Salmond S J, Smith A F M. Novel approach to nonlinear/non-Gaussian Bayesian state estimation[J]. Proceeding of Institute Electric Engineering, 1993, 140(2): 107-113. [本文引用:1]
[5] Vaswani N. Particle filtering for large dimensional state spaces with multimodal observation likelihoods[J]. IEEE Trans. On Signal Processing, 2008, 56(2): 432-440. [本文引用:1]
[6] 张俊根, 姬红兵. IMM迭代扩展卡尔曼粒子滤波跟踪算法[J]. 电子与信息学报. 2010, 32(5): 1116-1120.
Zhang Jun-gen, Ji Hong-bing. IMM iterated extended Kalman particle filter based target tracking[J]. Journal of Electronics & Information Technology, 2010, 32(5): 1116-1120. [本文引用:1] [CJCR: 0.087]
[7] 高社生, 薛丽, 魏文辉. 渐消自适应Unscented粒子滤波及其在组合导航中的应用[J]. 西北工业大学学报, 2012, 30(1): 27-31.
Gao She-sheng, Xue Li, Wei Wen-hui. Fading adaptive UPF(unscented particle filtering) algorithm and its application to integrated navigation[J]. Journal of Northwestern Polytechnical University, 2012, 30(1): 27-31. [本文引用:1] [CJCR: 0.3229]
[8] 袁泽剑, 郑南宁, 贾新春. 高斯-厄米特粒子滤波器[J]. 电子学报, 2003, 31(7): 970-973.
Yuan Ze-jian, Zheng Nan-ning, Jia Xin-chun. The Gauss-Hermite particle filter[J]. Acta Electronica Sinica, 2003, 31(7): 970-973. [本文引用:1] [CJCR: 0.686]
[9] 李翠芸, 姬红兵. 快速Metropolis- Hastings变异的遗传重采样粒子滤波器[J]. 系统工程与电子技术, 2009, 31(8): 1968-1972.
Li Cui-yun, Ji Hong-bing. Genetic resampling particle filter based on fast Metropolis-Hastings mutation[J]. Systems Engineering and Electronics, 2009, 31(8): 1968-1972. [本文引用:1] [CJCR: 0.499]