APP下载

一种基于动量BP算法的似然分布自适应粒子滤波

2019-11-11赵长胜李晓明

小型微型计算机系统 2019年10期
关键词:实时性动量权值

张 园,赵长胜,李晓明

(江苏师范大学 地理测绘与城乡规划学院,江苏 徐州 221116)E-mail:zy1993_xuzhou@sina.com

1 引 言

粒子滤波又称序贯蒙特卡洛方法,其基本思想是用一组样本或粒子,来近似表征非线性系统的后验概率分布,由此来估计非线性系统的状态.粒子滤波可以解决传统卡尔曼滤波的非线性误差积累问题,因而精度逼近最优,数值稳定性也很好,是一种很有效的非线性滤波技术,可广泛用于数字通信、计算机视觉、语音信号处理、机器学习、室内定位与导航等方面[1-3].

1993年,Gordon提出基于重采样技术的序贯蒙特卡洛方法,引出自举滤波器,有效解决权值退化现象[4].1999年,Carpenter等人概括总结序贯重要性采样SIS算法,首次提出粒子滤波的概念[5].在此基础上,Torma等学者提出了似然分布自适应粒子滤波算法,该算法选取先验密度函数作为重要性密度函数,该方法实现简单[6],但是没有考虑最新量测新息的影响[7].高怡等提出将基于似然分布的样本数自适应UPF算法应用到SINS/SAR组合导航系统中,该方法虽然增大了似然分布的范围,但也增大了计算量[8].高国栋等提出了基于似然分布调整的粒子群优化粒子滤波新方法(LA-PSOPF),用于解决传统基于粒子群优化的粒子滤波(PF)算法(PSOPF)在移动粒子向高似然区域移动的过程中,由于破坏了预测分布,当似然函数具有多峰时,其在具有大计算量的同时滤波性能并没有明显提升等问题[9].王尔申等人提出将BP神经网络用于辅助基本粒子滤波算法(NNWA-PF),在滤波精度方面有一定提高,但用时也相应增加[10].许梦阳等提出根据粒子分布情况确定分裂和调整的粒子数目,进而根据粒子权重采用正态分布的方式进行分裂,采用反向传插(BP)神经网络进行权值调整,缓解了粒子的退化和贫化,具有更强的自适应性能和跟踪能力,同时计算量有所增加[11].吴兰花等提出一种锂电池SOC估计优化粒子滤波算法,将BP神经网络应用到粒子滤波的权值更新过程中,实现锂电池SOC估计[12].路飞等提出将BP神经网络应用到机器人定位中,首先利用基于BP神经网络的WIFI指纹定位对机器人进行粗定位,并将估计位置与估计误差发送给ROS服务机器人;在粗定位的基础上使用蒙特卡洛粒子滤波算法方法最终获得服务机器人的精确位置[13].

对于传统粒子滤波改进算法来说,可能存在当噪声较大时导致滤波精度不够高、易发散等问题;粒子滤波(PF)和BP神经网络结合后滤波精度有所提高,又导致算法计算量增加.因此本文在综合考虑精度和实时性的关系上,提出基于动量BP算法的似然分布自适应粒子滤波(MO-NNWA-APF):一方面通过反映量测噪声统计性能的精度因子α对似然分布状态自适应调整,增加先验和似然的重叠区,改进权值的分布,提高滤波精度;另一方面将动量BP算法与似然分布自适应调整结合,增大位于低概率密度区域的粒子的权值,同时部分高权值粒子被分裂为小权值粒子,一定程度上增加粒子的多样性和改善算法的实时性.

2 似然分布自适应调整

动态空间模型一般采用状态方程和观测方程来表示:

xk=f(xk-1,vk-1)

(1)

zk=h(xk,nk)

(2)

式中,xk为k时刻状态向量,zk为k时刻观测向量,f和h分别为状态转移函数和观测函数,vk和nk分别为状态噪声向量和观测噪声向量.

基于似然分布自适应调整的粒子滤波方法通常通过改变粒子对应权值的分布,改变似然函数分布以实现自适应.改变似然函数的分布实质上是改变粒子权值的分布,因而只需对标准粒子滤波算法的权值更新部分做相应的自适应改进[14].似然分布自适应调整粒子滤波过程如下:

2)更新粒子:

(3)

(4)

式中,ε为阈值,根据经验确定;K为比例系数,K/α>0.若系统量测噪声较低,令β=0,似然分布不作调整,而当系统量测噪声较高,即当似然分布位于转移先验分布尾部时,取β=K/α,使似然分布分布较广.

5)归一化权值.

(5)

3 动量BP算法

标准BP神经网络基于最速下降算法,这可以使权值和阈值向量的解相对稳定,但存在一些如BP神经网络收敛速度慢,网络容易陷入局部最优等问题.当采用较高学习速率时,常常发生振荡.为了避免最速下降算法的振荡现象,动量BP算法在最速下降法的基础上引入动量因子η(0<η<1):

(6)

x(k+1)=x(k)+Δx(k+1)

(7)

动量BP算法总是增加同一梯度上的修正量,也就是说动量因子η越大,同一梯度方向上的“动量”也会越大.该算法不仅可以有效避免最速下降法的震荡现象,还能加快算法收敛速率,从而减少学习时间.

4 基于动量BP算法的似然分布自适应粒子滤波算法

即便在似然分布自适应调整中加入自适应因子自适应地调整似然分布状态,仍然存在归一化权值较小的样本.为了解决上述问题,在似然分布自适应粒子滤波的基础上,增加权值分裂和权值调整两个步骤,目的是随时间递增增加粒子的多样性,有效降低粒子退化,且一定程度上减少误差.通过增大位于概率分布尾部的粒子权值,从而使小权值粒子再次进入高权值区域,那么基于动量BP算法的似然分布自适应粒子滤波算法具体步骤如下:

(8)

2)对i=1,2,…,N计算重要性权值.

(9)

(10)

6)令k=k+1,转到步骤2).

5 实验仿真与结果分析

5.1 仿真模型为单变量非静态增长模型

5.1.1 一维系统建模

为了验证算法的有效性,这里采用一个广泛应用的标量模型对基于似然分布自适应粒子滤波算法进行仿真分析.其状态模型和观测模型分别为:

(11)

这里,wk和vk为均值为0、方差分别为Qk=10和Rk=1的高斯噪声,状态初始值为x0=0.1,训练次数T=50.动量BP算法中学习步长为0.05,神经元个数为8,训练精度为0.005,动量系数设定为0.5,最大训练次数1000.

5.1.2 实验数据分析

加入动量BP算法后,采取似然分布自适应调整,进一步改善滤波结果如图1到图6.

1)从图1到图6可以看出,粒子数分别取50、150、300时,系统状态表现为:从图上直观看出,基于动量BP算法的似然分布自适应粒子滤波优于其他两种算法,更好的追随系统的真实状态.估计与真值的关系表现为:考量后验均值估计和最大后验概率估计,基于动量BP算法的似然分布自适应粒子滤波得到的结果更加均匀分布在直线两侧,大致呈对称分布.以上说明通过选用一维系统仿真三种算法,综合比较它们在系统状态、估计与真值的关系两方面,可以得出基于动量BP算法的似然分布自适应粒子滤波算法比基本粒子滤波算法、基于BP神经网络的粒子滤波算法预测能力更好,因而精度更优.

图1 粒子数为50时系统状态图Fig.1 System state diagram with a particle number of 50

2)由表1,当粒子数相同时,依次为PF、NNWA-PF和MO-NNWA-APF,其有效粒子数逐渐增加,均方根误差逐渐降低;对同一种算法而言,粒子数逐渐增加,其有效粒子数逐渐增加、均方根误差逐渐降低.而对于MO-NNWA-PF算法和NNWA-PF算法两种算法,除用时外有效粒子数和均方根误差大致相同.以上分析表明MO-NNWA-APF算法精度上优于PF、NNWA-PF和MO-NNWA-PF三种算法.

图2 粒子数为50时估计与真值的关系Fig.2 Relation between estimation and truth value when the particle number is 50

从算法用时可以看出对同一种算法而言,随着粒子数的增加,算法用时均增加;粒子数相同时,MO-NNWA-APF算法用时少于MO-NNWA-PF,这表明了动量BP算法实时性上的优势.粒子滤波整体用时较少,但精度不如新算法MO-NNWA-APF.

图3 粒子数为150时系统状态图Fig.3 System state diagram with a particle number of 150

综上可以推断出,新算法MO-NNWA-APF的综合性能优于其他两种算法,算法稳定,精度高,实时性较好.

图4 粒子数为150时估计与真值的关系Fig.4 Relation between estimation and truth value when the particle number is 150

图5 粒子数为300时系统状态图Fig.5 System state diagram with a particle number of 300

图6 粒子数为300时估计与真值的关系Fig.6 Relation between estimation and truth value when the particle number is 150

5.2 仿真模型单目标跟踪系统模型

5.2.1 基于距离的系统模型

假设目标沿直线匀速运动,目标运动状态为:

X(k)=[x1(k),y1(k),x2(k),y2(k)]T

(12)

式中x1(k)为东方向位置,y1(k)为北方向位置,x2(k)为东方向速度,y1(k)为北方向速度.

目标状态方程为:

X(k)=ΦX(k-1)+Γω(k-1)

(13)

目标观测方程为:

Z(k)=h(X(k))+v(k-1)

(14)

其中观测站坐标为(xs,ys),函数h表示观测站与目标的距离,V表示观测噪声.

(15)

表1 4种算法处理后的参数对比情况Table 1 Comparison of the parameters after the four algorithms are processed.

注:MO-NNWA-PF为基于动量BP算法的粒子滤波

5.2.2 单目标跟踪系统建模

如目标在平面匀速运动,初始状态为(0,0,1,0),东向速度为1m/s,初始位置为(11.251,3.453)m,粒子数为N=200,采样次数80次.采用PF、NNWA-PF和MO-NNWA-APF三种算法仿真求出3种算法处理后的系统状态,对比分析如图7所示.

图7 系统状态图Fig.7 System state diagram

由图7系统状态图可看出,NNWA-PF算法跟踪效果优于PF算法,而MO-NNWA-APF算法目标跟踪效果优于前两种算法.新算法MO-NNWA-APF整体预测效果较其他算法表现稳定,精度较高.

x方向位移RMSE,PF算法和NNWA-APF算法误差较大,MO-NNWA-APF误差较小;y方向位移RMSE,MO-NNWA-APF误差小于PF和NNWA-APF两种算法.

实时性上,加入BP神经网络后,NNWA-APF算法用时增加,而MO-NNWA-APF算法通过引入动量因子,在用时上有所降低.这表明新算法实时性上的优势.

综上可知,新算法MO-NNWA-APF较PF算法和NNWA-APF算法,目标跟踪精度较高,用时较少,算法较稳定(如表2所示).

表2 三种算法处理后的误差及用时对比情况Table 2 Comparisons of errors and time use after processing of three algorithms

6 结 论

针对粒子滤波固有的粒子退化问题、粒子匮乏现象等问题,本文提出基于动量BP算法的似然分布自适应粒子滤波:一方面通过可以反映量测噪声统计性能的精度因子来自适应调整似然分布状态,增加先验和似然的重叠区,提高滤波精度;另一方面将动量BP算法与似然分布自适应调整结合,增大位于低概率密度区域的粒子的权值,同时部分较高权值的粒子被分裂为小权值粒子,一定程度上增加粒子的多样性和改善算法的实时性.

使用基于动量BP算法的似然分布自适应粒子滤波算法优于现有的标准粒子滤波算法、基于BP神经网络的粒子滤波算法,在系统状态、均方根误差、估计与真值的关系、有效粒子数等方面体现出较好的预测能力,预测结果表现精度较高,算法稳定,实时性较好.

猜你喜欢

实时性动量权值
一种融合时间权值和用户行为序列的电影推荐模型
应用动量守恒定律解题之秘诀
原子物理与动量、能量的结合
聚焦动量观点在电磁感应中的应用
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
财务风险跟踪评价方法初探
基于B/S的实时用户行为检测管理系统设计与实现
基于洪泛查询的最短路径算法在智能交通系统中的应用
动量守恒定律的推广与应用