WSN中利用改进FOA-GRNN和迭代Cubature卡尔曼滤波的实时目标跟踪方法

2021-12-14 01:28罗宏等聂良刚粟光旺伍一坤
计算机应用与软件 2021年12期
关键词:卡尔曼滤波步长果蝇

罗宏等 蓝 耿 聂良刚* 粟光旺 伍一坤

1(广西财经学院 广西 南宁 530003)2(广西大学 广西 南宁 530001)

0 引 言

目标定位与跟踪是无线传感器网络(WSN)的基础研究领域之一[1]。要实现WSN中准确的目标定位和跟踪,需要提高目标初始位置的精度和动态实时目标的测距精度。

国内外学者围绕WSN中实时目标的准确跟踪进行了大量的研究。文献[2]将接收信号强度指示器(Received Signal Strength Indicator, RSSI)测量融合到递归贝叶斯框架滤波器中,研究了初始位置的滤波方法,但是该方法具有局部性,无法提高全局精确度;文献[3]和文献[4]采用全局滤波法对WSN中目标的初始位置进行了精确估计,但该方法没有考虑目标的实时动态性。文献[5]基于卡尔曼滤波(Kalman Filter, KF)研究了动态目标定位和跟踪过程中噪声的数量和分布以及测量对应用的影响,但是所利用的噪声与实际情况有较大的偏差,对实际应用难以做出有效评估。文献[6]提出了一种基于无迹卡尔曼滤波(Unscented Kalman Filter, UKF)的定位和跟踪算法,该算法利用人体步行的动态模型来跟踪目标的位置和速度,需要大量的传感器,增加了传感器的复杂度和成本。文献[7]采用单传感器基于距离感知法对WSN中目标的距离进行了测量,但实验结果表明其测量结果误差较大。文献[8]和文献[9]避免了文献[7]的缺点,采用多传感器基于泛函距离对动态目标的距离和位置进行了测量,但其实验结果依然与理论之间存在较大误差。文献[10]采用神经网络法对WSN中的二维动态目标进行了高精度定位和跟踪,但其计算耗时较长,具有一定的时滞性。文献[11]引入了一些移动传感器节点(mns)与社交网络服务(Social Networking Services, SNS)相结合,形成一种能力更强、能量约束更小的混合WSN。在此基础上,提出了一种有效的混合无线传感器网络目标跟踪方案,实现了移动节点和移动节点的动态调度。然而,当节点数量较多时,该方案的鲁棒性会受到一定的影响。文献[12]将机器学习与反向神经网络(Back Propagation Neural Networks, BPNN)相结合,用于跟踪以某种加速度移动的目标,然而,BPNN需要大量迭代运算才能收敛到所需的解决方案。文献[13]采用概率神经网络(Probabilistic Neural Network, PNN)克服了BPNN的局限性,只需要很少的训练样本就可以工作,但是BPNN无法解决测量噪声和目标速度突变的不确定性。

可以看出,现有方法很难同时得到准确的初始值以及定位和跟踪的精确值。因此,提出了一种WSN中改进(FOA-GRNN)法结合迭代Cubature卡尔曼滤波的实时目标跟踪方法,主要创新点包括:

(1) 在零平均值高斯测量噪声的背景下,利用GRNN算法对初始位置进行确定,可提高初始位置的定位精度,提高二维动态目标位置的估计能力。

(2) 针对测量噪声和目标速度突变的不确定性,利用迭代Cubature卡尔曼滤波对WSN中单运动目标进行实时二维跟踪,提高了动态跟踪的实时性和跟踪精度。

(3) 结合FOA-GRNN快速收敛的优点和迭代Cunbature卡尔曼滤波精度较高的优点,降低了大规模目标跟踪和定位的绝对误差,一定程度上降低了定位所花费的计算开销。

实验结果表明,与其他现有算法相比,本文方法在大规模动态目标定位和跟踪的问题上,具有更好的目标定位和跟踪能力,获得了更高的定位和跟踪精度,同时,定位所花费的时间也在可接受范围内。

1 方法设计

1.1 改进FOA-GRNN

改进的FOA-GRNN可以快速地收敛到基础(线性或非线性)回归表面,它能够在稀疏数据集上快速训练,并且对连续函数逼近特别有用。图1给出了改进的FOA-GRNN的结构,它主要由输入层、模式层、求和层和输出层组成[14]。输入层接收输入信号,而模式层对输入空间到模式空间的数据进行非线性变换。隐藏层中的神经元数量通常等于训练集中的模式数量。求和层执行求和操作,其中将模式层节点的输出与适当的互连权值相乘以进行求和,从而生成网络的输出。输出层节点由一个单独输出表示。

图1 FOA-GRNN跟踪算法框图

改进FOA-GRNN架构的输入是在特定时间实例从锚节点接收信号的RSSI值,其输出为在该时刻移动节点估计的x轴和y轴坐标。在WSN节点定位中,锚点为已知自身位置的传感器节点。而节点中,无线信号强度通常用接收信号强度指示(RSSI)衡量,RSSI为接收功率Pre与参考功率Pref的比值。现实中,由于无线信号的传播易受障碍物、多径传播等因素的干扰,理想的Pre分布是不存在的,影响RSSI与距离的一致性。因此,接收多组数据之后进行卡尔曼滤波处理,一定程度上消除信号波动产生的误差。

改进的FOA-GRNN的离散时间目标运动模型和观测模型的形式如下:

(1)

dmax=max[di]

(2)

(3)

式中:N和M分别是当前迭代次数和最大迭代次数;xi和yi是第i个果蝇的横坐标和纵坐标位置;di是第i个果蝇与坐标原点的距离;dmin和dmax分别是最大距离和最小距离;Δi是待优化选择的宽度系数。

改进FOA-GRNN算法中,每个锚点可视为一只果蝇,即对初始位置初始化和果蝇位置赋值后,计算果蝇与原点之间的距离和果蝇的味道浓度,并根据果蝇的味道浓度寻找出最优个体,保存最优个体的位置。最后,根据收敛条件设置迭代次数,直到满足迭代条件,该执行过程结束。主要步骤为:

(1) 对果蝇的初始位置进行初始化。

(2) 对第i个果蝇的位置进行赋值。

(3) 计算所有果蝇与坐标原点之间的距离di。

(4) 以均方根误差作为判断函数来计算第i个果蝇的味道浓度taste(x):

(4)

tastei=F3(Δi)

(5)

(5) 找到tastei最小的个体,即:

Ttaste=min(tastei)

(6)

式中:Ttaste为tastei最小的个体。

tastei最小的个体的位置为:

(7)

(6) 循环执行步骤(2)-步骤(5),直到满足收敛条件,结束循环。

1.2 迭代Cubature卡尔曼滤波算法

当底层系统是线性的,系统动力学中的噪声是高斯的,具有零均值时,Cubature卡尔曼滤波(Cubature Kalman Filtering, CKF)采用spherical-radial cubature准则积分,则可计算第n个目标与坐标原点之间的距离dn为:

(8)

根据最小二乘法估计方法可得到:

A=(BTB)-1BTC

(9)

(10)

(11)

式中:A、B和C分别是状态转换、控制输入转换和测量转换矩阵。

矩阵A将可选控制输入向量Uk与状态相关联。这里Wk-1和Vk+1分别是过程噪声和观测噪声,并且假设是正态分布的零均值白高斯,分别具有协方差Rk(Wk~N(0,Rk))和Ωk(Vk~N(0,Ωk))。假设这两个噪声彼此独立,即它们是不相关的[15],对于等速模型,式(9)-式(11)中的矩阵如下:

(12)

(13)

CKF的运行可以描述为两个简单的步骤:预测和更新。预测步骤利用前一个时间步骤k的估计值来生成当前时间步骤k+1的估计值。而在更新步骤中,利用当前时间步骤的测量来细化预测步骤的预测,从而改进预测步骤。预测和更新中的计算式如式(14)-式(17)所示。

预测:

(14)

Ωk+1=BRkBT+Ωk

(15)

更新:

(16)

(17)

式中:矩阵K称为卡尔曼增益矩阵;“^”表示状态向量的估计值。

1.3 利用改进FOA-GRNN和迭代Cubature卡尔曼滤波的实时目标跟踪方法

本文方法基于改进FOA-GRNN法,利用从锚点接收的模拟(RSSI)值和实际目标二维位置对GRNN进行训练,从而获得单个目标在二维运动时的准确初始位置。然后,利用迭代Cubature卡尔曼滤波法对实时目标进行精准定位和测距,获得实时目标的准确定位和跟踪信息。最后,将改进的FOA-GRNN法和迭代Cubature卡尔曼滤波法相结合实现在WSN中实时目标跟踪和定位。其流程如图2所示。

图2 本文方法执行流程

2 系统设计与性能评估

2.1 系统设计

本文方法利用 MATLAB搭建系统仿真模型,该系统由一组已知坐标的静态锚节点组成,部署在200 m×200 m的仿真区域内,移动目标如图3所示,外部为基站。假设移动目标携带1个WSN节点,该节点接收由每个时间步长tstep的所有锚节点广播的无线信号。在每个时间步骤从所有锚点收集的RSSI值被发送到外部基站[16]。这意味着假定目标充当收发器,而锚定节点充当具有完全各向同性天线的发射器。

图3 目标的在横轴上的实际速度

为了简单起见,将跟踪目标限制在单个目标的估计上。该系统的运行时间为Trun,分为几个时间段。选择恒速模型描述各种状态迁移模型,如随机行走、匀速、恒加速度、多项式模型、辛格加速度模型、平均自适应加速度模型等。

(18)

(19)

式中:Δt是两个连续时刻之间的离散化时间步长,使得Δt=tstep。目标运动在Trun期间经历速度的变化,如式(20)-式(23)所示。

(20)

(21)

(22)

(23)

图3和图4分别给出了在横轴和纵轴上的速度,负速度值表示目标移动到一个坐标值比前一次实例小的位置。

图4 目标的在纵轴上的实际速度

(24)

(25)

2.2 性能指标

平均定位误差:

(26)

均方根误差(RMSE):

(27)

(28)

(29)

2.3 实验结果

本文算法的完整执行流程由三部分组成。第一部分是离线FOA-GRNN训练阶段,涉及FOA-GRNN的训练。第二部分是使用FOA-GRNN的在线位置估计。第三部分是使用KF框架的在线位置估计。

表1给出了模拟参数,初始目标状态为A=(20,15,10,5),离散时间步长为tstep=0.1 s,总模拟时长为Trun=50 s。

表1 本文算法的仿真参数

表2-表5给出了在不同tstep下Erroravg、ErrorU、ErrorV和ErrorRMSE,avg的模拟结果。图5给出了平均定位误差百分比Erroravg与均方根误差百分比ErrorRMSE,avg的对比图,可以看出,平均误差百分比Erroravg与均方根误差百分比ErrorRMSE,avg总体呈现一样的变化趋势,即随着步长tstep的增加,平均误差百分比Erroravg与均方根误差百分比ErrorRMSE,avg都会逐渐增加,这意味着为了增加定位的精度,应该选择较小的离散步长tstep。同时,从图5中还可以得到一个结论:平均误差与均方差误差之间的差异性较小。因此,既可以用平均定位误差来衡量定位准确度,又可以用均方差误差来衡量定位准确度。

表2 平均定为误差的模拟结果

表3 定位结果在横轴上的均方差

表4 定位结果在纵轴上的均方差

表5 平均均方差

图5 平均定位误差百分比与均方根误差百分比的对比

图6展示了定位误差在横向和纵向上的分布,可以看出,随着离散步长tstep的增加,横向误差和纵向误差都会增加,当tstep小于0.5 s时,横向误差ErrorU小于纵向误差ErrorV,当tstep大于0.5 s后,纵向误差ErrorV小于横向误差ErrorU,并且ErrorU和ErrorV的差异较小。

图6 横向误差与纵向误差的对比

2.4 算法对比和分析

2.4.1绝对误差对比

图7对比了文献[4]、文献[8]和文献[11]与本文算法的绝对误差。可以看出,随着离散步长tstep的增加,横向绝对误差会逐渐增加,相比于文献[4]、文献[8]和文献[11]的算法,本文算法在绝大部分范围内具有更低的横向绝对误差,这说明本文算法相比于传统算法,具有更高的横向定位和跟踪精度。

图7 算法横向绝对误差对比

图8展示了本文算法所得到的纵向绝对误差结果与文献[4]、文献[8]和文献[11]中算法所得到的纵向绝对误差的对比。可以看出,随着离散步长tstep的增加,4种算法所得到的纵向绝对误差会逐渐增加,相比于文献[4]、文献[8]和文献[11]的算法,本文算法在绝大部分范围内具有更低的纵向绝对误差,这说明本文算法相比于传统算法,具有更高的纵向定位和跟踪精度。

图8 算法纵向绝对误差对比

图9展示了本文算法所得到的绝对误差结果与文献[4]、文献[8]和文献[11]中算法所得到的绝对误差的对比。可以看出,随着离散步长tstep的增加,4种算法所得到的绝对误差会逐渐增加,相比于文献[4]、文献[8]和文献[11]的算法,本文算法在绝大部分范围内具有更低的绝对误差,这说明所提出的算法相比于传统算法,具有更高的定位和跟踪精度。

图9 算法绝对误差对比

2.4.2执行时间对比

一方面随着离散步长tstep的增加,4种算法所得到的绝对误差结果都会增加,这说明减小离散步长tstep可提高定位精度和准确度;另一方面,太小的离散步长tstep会增加定位算法的计算时间,导致定位和跟踪的时间较长,不利于实际应用。

为了说明本文算法在计算时间上的优势,图10展示了本文算法与文献[4]、文献[8]和文献[11]在离散步长tstep相等的前提下在200 m范围内,对同等数量动态目标定位所花费的时间对比。

图10 算法计算时间对比

可以看出,在相同的定位和跟踪范围内,即定位半径为200 m的前提下,定位和跟踪的目标数量由500个逐渐增加到5 000个。与文献[4]、文献[8]和文献[11]相比,在执行时间上,本文算法整体处于劣势。需要指出的是,在实际应用中,人们更加注重定位算法的准确度,因为定位误差才是真正影响算法应用的瓶颈问题,换言之,算法的精确度才是首要考虑的因素。与文献[8]和文献[11]算法相比,本文算法虽然在执行时间上不具有全面优势,但是一定范围内能够得到最小的执行时间,如当目标数量为2 500时,本文算法在定位精度和执行时间上均具有明显的优势。

综合考虑定位算法的准确度和执行时间的对比结果,本文算法具有更好的综合性能,在保证具有较短执行时间的基础上,利用本文算法能够获得更高的定位准确度。

3 结 语

本文提出一种WSN中改进FOA-GRNN结合迭代Cubature卡尔曼滤波的实时目标跟踪方法,研究了在大范围定位和跟踪区域下对大量定位和跟踪目标进行准确定位和跟踪的问题。本文方法提高了定位和跟踪的准确度,降低了定位和跟踪的误差百分比和绝对误差。

下一步研究重点包括:1) 将FOA-GRNN与其他更加智能的滤波算法相结合,进一步提高WSN中目标定位和跟踪的精度;2) 继续改进FOA-GRNN算法的计算结构,进一步降低本文算法在大规模目标定位和跟踪上的计算时间。

猜你喜欢
卡尔曼滤波步长果蝇
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
基于无迹卡尔曼滤波的室内定位系统
果蝇遇到危险时会心跳加速
脉冲星方位误差估计的两步卡尔曼滤波算法
果蝇杂交实验教学的改进策略
董事长发开脱声明,无助消除步长困境
小果蝇助力治疗孤独症
卡尔曼滤波在雷达目标跟踪中的应用
卡尔曼滤波在雷达目标跟踪中的应用
果蝇杂交实验教学的改进策略