2. 江苏自动化研究所,江苏 连云港 222061
2. Jiangsu Automation Research Institute, Lianyungang 222061, China
目标跟踪技术主要是根据假定的目标运动模型,结合获得不同时刻的离散量测信息,采用某种目标跟踪算法,从而估计目标的连续运动状态。纯方位目标跟踪是指结合不同时刻观测到的方位信息,采用算法并估计出目标的位置、速度等参数的过程[1],由于纯方位目标跟踪具有隐蔽性好的特点,其在目标跟踪领域内具有重要的研究价值,一直是学术和工程领域内的研究热点和难点[2]。由于方位信息是目标运动参数的不完全描述,机动目标可观测的必要非充分条件是观测站平台运动或至少2台静态观测站同时观测[3]。
在目标跟踪领域中最为经典、应用广泛的算法是卡尔曼滤波算法[4](Kalman Filter,KF),适用于线性、高斯系统。为解决实际应用的非线性与非高斯系统的目标跟踪问题,出现了经典的改进算法,如扩展卡尔曼滤波算法(Extended Kalman Filter,EKF)、无迹卡尔曼滤波算法(Unscented Kalman Filter,UKF)等。另一类解决非线性滤波问题的方法是序列蒙特卡罗方法,即粒子滤波算法(Particle Filter,PF),该算法对噪声的高斯性依赖不强,常用于纯方位水下目标跟踪[5]。但粒子滤波算法运算量大,且容易产生粒子退化和多样性匮乏的问题,因此有学者提出扩展粒子滤波算法(Extended Kalman Particle Filter,EPF),即使用EKF算法生成粒子滤波的重要性函数,从而提升算法性能。近年来对粒子滤波在目标跟踪中的应用研究中,多集中在对算法的改进[6 − 9],李晓花等[10]对比分析了扩展卡尔曼滤波EKF算法和PF算法的估计精度,张程振等[11]对比分析了PF、EPF算法的性能,但不是纯方位目标跟踪系统,并且主要研究不同噪声对算法性能的影响。本文主要研究静止双观测站的水下纯方位目标跟踪问题,利用EPF算法和PF算法进行双观测站纯方位水下目标运动分析,并结合UKF、EKF算法进行对比,观察不同条件下的跟踪效果,同时分析了目标运动速度、粒子数目对跟踪精度的影响。
1 三维双观测站纯方位跟踪系统模型 1.1 目标运动模型和状态方程本文考虑静止双观测站的三维纯方位目标跟踪问题。双观测站与机动目标在三维坐标系下的几何关系如图1所示,设观测站1的位置在原点,则观测站1的坐标
设目标在
$ X{\text{(}}t + T{\text{)}} = {\boldsymbol{F}}X{\text{(}}t{\text{)}} + Gw{\text{(}}t{\text{)}}。$ | (1) |
其中,
观测站传感器获得的量测信息有观测站1在
考虑测量误差,则
$ \begin{aligned}[b] Z(t) = \left[ {\begin{array}{*{20}{c}} {{\alpha _{1t}}} \\ {{\beta _{1t}}} \\ {{\beta _{2t}}} \end{array}} \right] + &V(t) = \left[ {\begin{array}{*{20}{c}} {\arctan \displaystyle\frac{{{z_t} - {z_1}}}{{\sqrt {{{({x_t} - {x_1})}^2} + {{({y_t} - {y_1})}^2}} }}} \\ {\arctan \displaystyle\frac{{{x_t} - {x_1}}}{{{y_t} - {y_1}}}} \\ {\arctan \displaystyle\frac{{{x_t} - {x_2}}}{{{y_t} - {y_2}}}} \end{array}} \right] + \\ &V(t) = \left[ {\begin{array}{*{20}{c}} {\arctan \displaystyle\frac{{{z_t}}}{{\sqrt {{x_t}^2 + {y_t}^2} }}} \\ {\arctan \displaystyle\frac{{{x_t}}}{{{y_t}}}} \\ {\arctan \displaystyle\frac{{{x_t} - {x_2}}}{{{y_t}}}} \end{array}} \right] + V(t) 。\end{aligned}$ | (2) |
式中:
粒子滤波是在随机采样的基础上建立起来的一种滤波算法,主要通过采用蒙特卡罗随机抽样的方式实现,适用于非线性非高斯系统。其具体实现过程为:首先从状态空间中抽取一系列随机抽样,然后估计得到系统的后验概率分布,从而实现贝叶斯滤波。
粒子滤波算法采用序贯重要性采样(SIS),使用先验概率密度函数作为重要性密度函数,在序贯重要性采样中加入重采样步骤。用
$ \left\{ {\begin{array}{*{20}{l}} {{x_k} = f({x_{k - 1}},{w_{k - 1}})},\\ {{z_k} = h({x_k},{v_k})} 。\end{array}} \right. $ | (3) |
粒子滤波算法的实现流程如下:
步骤1 初始化粒子和权值。
步骤2 重要性采样。令
步骤3 计算粒子重要性权值并归一化重要性权值。
$ \left\{ \begin{array}{l} \displaystyle {w}_{k}^{i}={w}_{k-1}^{i}\frac{p\left({z}_{k}\mid {x}_{k}^{i}\right)p\left({x}_{k}^{i}\mid {x}_{k-l}^{i}\right)}{q\left({x}_{k}^{i}\mid {x}_{k-l}^{i},{z}_{k}\right)},\\ {\tilde{w}}_{k}^{i}={w}_{k}^{i}/\displaystyle{\sum_{i=1}^{N}}{w}_{k}^{i}。\end{array} \right.$ | (4) |
步骤4 重采样。若从
步骤5 返回状态估计值。
$ {\hat{x}}_{k}=\sum _{i=1}^{N}{\tilde{w}}_{k}^{i}{x}_{k}^{i} 。$ | (5) |
在粒子滤波算法中,粒子退化是一种无法避免的现象。经过很多次循环后,除极少数粒子之外,其余大部分粒子的权重均小到可以忽略。粒子退化不仅占用了大量的计算资源,而且对状态估计的帮助不大。为此,有必要对粒子的退化问题开展研究。通过增加粒子数目
扩展粒子滤波算法EPF是结合扩展卡尔曼滤波EKF算法对粒子滤波进行改进的算法。EPF算法与PF算法的不同之处在于,PF算法的重要性概率密度函数是采用先验概率密度函数,而EPF的重要性概率密度函数则使用EKF算法来生成。EPF算法在状态预测阶段通过采用EKF算法来更新采样粒子,使其能够及时地将最新的量测信息融入到系统,从而使与量测值相关粒子的权重增大,在重釆样步骤后,与量测值相关粒子的数量大幅增加,同时未利用量测信息粒子的权重大幅减小,从而提高了整个算法的效率和精度。
扩展粒子滤波算法的实现流程如下:
步骤1 初始化粒子和权值。
步骤2 重要性采样。根据EKF滤波递推公式更新采样粒子,得到
状态一步预测值:
$ x_{k,k - 1}^i = f(x_{k - 1}^i),$ | (6) |
一步预测误差方差阵:
$ P_{k,k - 1}^i = F_k^iP_{k - 1}^iF_k^{{\text{T}}i} + G_k^iQ_{k - 1}^iG_k^{{\text{T}}i},$ | (7) |
滤波增益:
$ K_k^i = P_{k,k - 1}^iH_k^{{\text{T}}i}{(H_k^iP_{k,k - 1}^iH_k^{{\text{T}}i} + {R_k})^{ - 1}},$ | (8) |
状态估计值:
$ x_k^i = x_{k,k - 1}^i + K_k^i(Z_k^i - h(x_{k,k - 1}^i)),$ | (9) |
估计误差方差阵:
$ P_k^i = (I - K_k^iH_k^i)P_{_{k,k - 1}}^i 。$ | (10) |
步骤3 计算粒子重要性权值并归一化重要性权值。
$ \left\{\begin{array}{l} \displaystyle{w}_{k}^{i}={w}_{k-1}^{i}\frac{p\left({z}_{k}\mid {x}_{k}^{i}\right)p\left({x}_{k}^{i}\mid {x}_{k-l}^{i}\right)}{q\left({x}_{k}^{i}\mid {x}_{k-l}^{i},{z}_{k}\right)},\\ {\tilde{w}}_{k}^{i}={w}_{k}^{i}/\displaystyle{\sum _{i=1}^{N}}{w}_{k}^{i}。\end{array} \right.$ | (11) |
步骤4 重采样。若从
步骤5 返回状态估计值。
$ \left\{\begin{array}{l} \displaystyle{\hat{x}}_{k}=\sum _{i=1}^{N}{\tilde{w}}_{k}^{i}{x}_{k}^{i},\\ {P}_{k}=\displaystyle{\sum_{i=1}^{N}}{\tilde{w}}_{k}^{i}\left({\tilde{x}}_{k}^{i}-{\hat{x}}_{k}\right){\left({\tilde{x}}_{k}^{i}-{\hat{x}}_{k}\right)}^{\text{T}}。\end{array}\right. $ | (12) |
EPF算法利用EKF产生系统的重要性密度函数的优势在于,将最新的观测信息实时融入系统,保证先验分布向着高似然区域移动,增大了与量测值相关的粒子的权值,从而大幅增加有效粒子数,减少无效粒子数,从而提高了算法整体的效率和精度。
3 仿真结果及分析本节使用Matlab仿真比较PF和EPF滤波算法的机动目标跟踪性能,使用均方根误差RMSE反映不同条件下2种算法的跟踪误差。考虑非线性非高斯系统模型,过程噪声和观测噪声都为零均值高斯噪声。本实验的仿真条件为:最大采样次数为150次,采样间隔为1 s,进行50次蒙特卡洛实验,观测站1的位置为原点,观测站2的位置坐标为(
实验1 目标速度为20 kn时,选取粒子数目为200对PF和EPF粒子滤波算法进行仿真,真实轨迹和跟踪效果如图2所示,相比于其他算法,EPF算法的跟踪效果最好。
图3为4种算法的位置均方根误差图,PF和UKF的位置均方根误差一直维持在较小的水平,EPF的位置均方根误差最小,具有收敛快、精度高的特点。EKF算法和PF算法前期位置均方根误差较小,随着时间的增大,误差增大,后期难以准确跟踪目标。
图4为粒子数为400和200时2种算法的位置均方根误差。PF算法在粒子数为200时,误差随着采样时间的增加而增大,当增加粒子数至400时,有效地避免粒子退化现象,PF算法能较好地跟踪目标。但相比于EPF算法,PF算法的误差更大,精度更低。EPF算法在粒子数为200和400时均方根误差都很小,都能表现出较好的跟踪效果。对于PF算法,需要增加粒子数目从而改善其性能,而EPF算法不依赖于粒子数目,无需太多粒子数就能表现出较好的跟踪效果。
图5为粒子数为200时4种算法的单步时长,相比于EKF和UKF,PF进行一次滤波的时间较长,EPF进行一次滤波的时间最长。在粒子滤波算法中,选取的粒子数量过少会导致无法收敛,但选取的粒子数量过多可能会导致实时性下降,结合图4对不同粒子数目时的误差对比可知,PF算法需要选取的粒子数目为400以保证跟踪精度,实时性会降低,因此在本仿真实例中,EPF算法选取粒子数200非常合适,不会降低精度,也保障了实时性。
实验2 目标速度为30 kn时,选取粒子数目为200对PF和EPF算法进行仿真,真实轨迹和跟踪效果如图6所示,EPF算法表现出了非常优秀的跟踪性能。UKF算法的跟踪效果较好,PF和EKF的跟踪效果次之。
图7为4种算法的位置均方根误差图,EKF算法的位置均方根误差最大,PF算法和UKF算法的误差较小,EPF算法的均方根误差最小。
图8为粒子数为400和200时2种算法的位置均方根误差。PF算法在粒子数为200和400时误差都能维持在较小水平,能有效跟踪目标,但跟踪精度比EPF算法低,EPF算法在粒子数为200和400的均方根误差都较小。
图9为4种算法的单步时长,与实验1一样,在目标以30 kn速度进行匀速直线运动时,相比于EKF和UKF,PF进行一次滤波的时间较长,EPF进行一次滤波的时间最长。结合图8对不同粒子数目时的均方根误差对比可知,在本仿真实例中选取粒子数200非常合适,精度要求较高的系统中优先选择EPF算法,在对实时性要求较高、精度要求不高的系统中可选择PF算法。
实验3 目标速度为50 kn时,选取粒子数目为200对PF和EPF算法进行仿真,真实轨迹和跟踪效果如图10所示,4种算法的跟踪效果都很好,其中EPF算法表现出了非常优秀的跟踪性能。
图11为4种算法的位置均方根误差图,PF算法的位置均方根误差最大,EKF算法、UKF算法的误差较小,EPF算法的位置均方根误差最小。
图12为粒子数为400和200时2种算法的位置均方根误差。PF算法在粒子数为200和400时误差都能维持在较小水平,能有效跟踪目标,但跟踪精度比EPF算法低,EPF算法在粒子数为200和400的均方根误差都较小。
图13为4种算法的单步时长,与实验1、实验2一样,在目标以50 kn速度进行匀速直线运动时,相比于EKF和UKF,PF进行一次滤波的时间较长,EPF进行一次滤波的时间最长。结合图12对不同粒子数目时的均方根误差对比也可知得出,在本仿真实例中选取粒子数200非常合适,精度要求较高的系统中优先选择EPF算法,在对实时性要求较高、精度要求不高的系统中可选择PF算法。
由3组仿真结果对比分析可知,EPF算法相较于其他算法有更好的跟踪效果,但是单步时长较长,适用于对实时性要求不高,但对跟踪精度要求高的系统。在本研究中还发现,在追求更好的跟踪效果时,无需选取过多的粒子数目,EPF算法本身有较好的性能,选取过多粒子数目对提高跟踪效果裨益不大,却可能增加大量的计算时间,因此只需选取恰当粒子数目即可。
4 结 语本文针对水下目标跟踪问题,以静止双观测站三维纯方位目标跟踪系统为研究对象,介绍了粒子滤波(PF)和扩展粒子滤波(EPF)的基本思想和算法实现步骤,对基于这2种算法的双观测站三维纯方位跟踪系统进行了仿真分析与比较。通过对比分析发现,在不同目标运动速度情况下,EPF算法相较于其他算法都有更好的跟踪效果,但是单步时长较长,适用于对实时性要求不高,但对跟踪精度要求高的系统。在本研究中还发现,在追求更好的跟踪效果时,无需选取过多的粒子数目,EPF算法本身有较好的性能,选取过多粒子数目对提高跟踪效果裨益不大,却可能增加大量的计算时间。在使用EPF算法时选取恰当的粒子数目,寻找实时性更高的改进方法将是今后研究的重要方向。
[1] |
刘忠, 周丰, 石章松, 等. 纯方位目标运动分析[M]. 北京: 国防工业出版社, 2009.
|
[2] |
NORTHARDT T, NARDONE S. Track-before-detect bearings-only localization performance in complex passive sonar scenarios: a case study[J]. IEEE Journal of Oceanic Engineering, 2019, 44(2): 482-491. DOI:10.1109/JOE.2018.2811419 |
[3] |
BAR-SHALOM Y, LI X R, KIRUBARAJAN T. Estimation with applications to tracking and navigation: theory algorithms and software[M]. John Wiley & Sons, 2004.
|
[4] |
KALMAN R E. A new approach to linear filtering and prediction problems[J]. Transactions of the ASME Journal of Basic Engineering, 1960.
|
[5] |
LI Xiaohua, ZHAO Chenxu, LU Xiaofeng, et al. Underwater bearings-only multi-target tracking based on modified pmht in dense-cluttered environment[J]. IEEE Access, 2019, 7: 93678-93689. DOI:10.1109/ACCESS.2019.2927403 |
[6] |
张宏伟. 双站纯方位空时软约束无迹粒子滤波算法[J]. 系统工程与电子技术, 2023, 45(5): 1261-1269. |
[7] |
金巧园, 张国超, 代中华. 基于改进遗传粒子滤波的纯方位机动目标跟踪[J]. 应用科技, 2021, 48(5): 29-34. DOI:10.11991/yykj.202012021 |
[8] |
CHENG Fangzhou, QU Liyan, QIAO Wei, et al. Enhanced particle filtering for bearing remaining useful life prediction of wind turbine drivetrain gearboxes[J]. IEEE Transactions on Industrial Electronics, 2019, 66(6): 4738-4748. DOI:10.1109/TIE.2018.2866057 |
[9] |
ZHANG Zhihui, FENG Yingbin, LI Zhigang, et al. An underwater mining navigation method based on an improved particle filter[J]. Journal of University of Chinese Academy of Sciences, 2020, 37(4): 507-515. |
[10] |
李晓花, 李亚安, 尚进, 等. 非高斯背景条件下水声信号粒子滤波性能分析[J]. 火力与指挥控制, 2014, 39(4): 34-37. DOI:10.3969/j.issn.1002-0640.2014.04.009 |
[11] |
张程振, 丁元明, 杨阳. 水下目标跟踪粒子滤波算法性能分析[J]. 火力与指挥控制, 2022, 47(2): 18-24. DOI:10.3969/j.issn.1002-0640.2022.02.004 |