未知量测噪声分布下的CBMeMBer算法
2019-07-20胡建旺
胡建旺 ,董 青 ,张 铁 ,吉 兵
(1.陆军工程大学石家庄校区,石家庄 050003;2.北方联创通信有限公司,南昌 330000)
0 引言
近年来,基于随机有限集(Random Finite Set,RFS)[1]的目标跟踪技术发展迅速[2-4]。2008 年 Mahler提出了基于多伯努利随机集的多目标多伯努利(Multi-Target Multi-Bernoulli,MeMBer)跟踪算法[5]。针对MeMBer会高估目标数目的问题,Vo提出了势均衡多目标多伯努利(Cardinality Balanced MeMBer,CBMeMBer)滤波算法[6]。在目标跟踪过程中,由于电磁环境、温度和其他因素影响,量测噪声概率分布难以准确获取。针对此问题,部分学者基于随机集理论,对该问题进行了一定的研究[7-10]。
本文针对未知量测噪声分布下的目标跟踪问题,引入代价参考粒子滤波(Cast Reference Particle Filter,CRPF)[11-13]思想,提出一种基于风险评估的CBMeMBer 算 法 (Risk Evaluation CBMeMBer,RE-CBMeMBer)。算法引入风险函数计算CBMeMBer粒子风险值,之后对粒子风险值进行评估,用评估结果替代似然函数,以此实现粒子的权值更新。仿真结果表明,本文所提算法在运行速率,稳定性上都优于SMC-CBMeMBer算法。
1 SMC-CBMeMBer滤波器
根据k时刻的后验多目标密度表达式可知,CBMeMBer算法的核心思想是递推包含存在概率和后验概率密度的多个集合。采用粒子实现形式时,SMCCBMeMBer算法传递包含权重和粒子的集合,每个集合表示1条假设轨迹。假设k-1时刻的CBMeMBer近似为一族带权粒子
1.1 预测
则预测项分别为:
1.2 更新
假定k时刻预测的多目标密度为:
则更新项分别为:
其中
2 未知量测噪声分布下的粒子CBMeMBer算法
根据式(21)可知,标准 SMC-CBMeMBer算法必须在多维量测空间中计算似然函数。然而该操作存在两点不足:一是针对未知复杂的量测噪声,其概率分布通常难以获取,而概率分布不准确将严重影响算法性能;二是多维量测空间中进行似然函数计算需要消耗较多的计算时间。而解决这些问题的途径之一是避开似然函数计算。
2.1 风险函数与评估函数
首先经风险函数表达式(22)计算,当粒子与量测值距离较近时,赋予该粒子较小的风险值,反之,则赋予较大风险值。
为验证指数函数作为粒子质量评估函数的有效性,采用式(24)对似然函数和评估函数对粒子分辨能力进行对比。式中,σ(0,ε)表示以 0为中心,半径为 ε 的邻域,ε表示评估函数与似然函数对粒子分辨能力的接近程度。实验得出,在量测噪声分布为N(0,1),=1时,风险评估函数与似然函数对粒子的分辨能力差别为ε=0.002 5,分辨能力相当。
此外,由于真实场景下,噪声环境并非固定不变,因此,评估函数参数的取值也应不同。目前理论推导参数的取值比较困难,只能根据经验确定的取值区间。实验结果表明,在不同的量测噪声环境中,参数的取值与噪声大小成反比。参数的经验取值区间为:噪声较小时,∈[1.2,1.4];噪声适中时∈[0.9,1.1];噪声较大时,∈[0.6,0.8]。
从原理上看,风险评估函数的作用等同于似然函数,即都是用来评估粒子质量,但风险评估函数不需要知道量测噪声分布情况,只需在一维量测空间中计算新息范数和指数函数,一定程度上克服了状态估计对粒子的依赖。
2.2 RE-CBMeMBer滤波算法
1)预测
根据重要性采样函数抽取粒子并进行粒子预测,并通过式(5)~式(8)计算粒子权值得到
2)风险计算和评估
利用式(22)计算粒子风险值,并将粒子风险值代入式(23)对粒子风险进行评估。
3)粒子更新
利用式(17)、式(18)分别计算漏检和量测更新的目标的粒子权值,并进行归一化处理;利用式(11)、式(13)计算假设轨迹的存在概率,得到更新的多伯努利随机集为
4)轨迹修剪、重采样和状态提取。
3 仿真实验
3.1 仿真参数设置
本文仿真场景设置为:仿真时间为80 s;仿真步长为 1 s;观测区域为 x-y二维平面区域[-2π,2π]*[0,2 000 m]。先后出现6个做转弯运动(CT)的目标。状态方程和量测方程分别为:
3.2 算法性能分析
本仿真中目标的真实轨迹如图1所示,其中圆圈○表示目标轨迹起点,三角形△表示目标轨迹终结。
图1 目标实际轨迹图
1)仿真实验1:量测噪声先验已知,且为高斯分布
当量测噪声为高斯分布且分布已知。假设量测噪声实际概率分布为 wk~N(0,R0),其中
仿真实验1中,假设SMC-CBMeMBer算法掌握的量测噪声概率分布为N(0,R),其中R=R0。图2给出了SMC-CBMeMBer算法和改进算法的跟踪轨迹图。从图2可以看出,在量测噪声先验已知的情况下,SMC-CBMeMBer和RE-CBMeMBer算法都能较为精确地跟踪到所有目标,且跟踪精度相差不大。
图2 仿真实验1的多目标跟踪轨迹图
图3 仿真实验1的目标数目估计
图3 表示真实目标数目和两种跟踪算法对目标数目估计结果。可知当量测噪声先验分布与真实分布匹配时,两种算法对目标数目的估计能力相当。
为充分比较两种算法的跟踪性能,本仿真实验采用OSPA距离来评定两种算法的跟踪误差。由图4可知,两种算法误差距离相当。由于算法具有随机性,单次滤波结果具有差异性,因此,通过100次蒙特卡洛仿真,从统计意义上比较算法平均运行时间t和平均OSPA距离d。
图4 OSPA距离
表1 两种算法平均运行时间和OSPA距离比较
由表1可知,两种算法跟踪精度相当,但由于RE-CBMeMBer算法在粒子更新时,避开多维空间中似然函数的求解,RE-CBMeMBer的运行时间近似为SMC-CBMeMBer运行时间的。
2)仿真实验2:量测噪声先验未知,且为伽马分布
由于真实环境下噪声分布常为非高斯形式,因此,仿真实验2在非高斯量测噪声环境下对SMC-CBMeMBer和RE-CBMeMBer算法性能进行比较。假设实际量测噪声分布为伽马分布:。假设SMC-CBMeMBer算法获得的量测噪声的先验分布为N(0,R1),其中,R1=diag(0.1,0.5)。
下页图5为多目标跟踪轨迹图,可知SMC-CBMeMBer算法仅在前几个时刻跟踪到目标,这是由于量测噪声的先验分布与实际分布不匹配,误差迅速累积,导致目标丢失。相比而言,RE-CBMeMBer算法能较好地跟踪目标,具有较好的稳定性和鲁棒性。
图5 仿真实验2的多目标跟踪轨迹图
从图6可知,SMC-CBMeMBer滤波算法仅在前6个时刻准确估计到目标数目,其余时刻均产生错误估计,而RE-CBMeMBer滤波算法除个别时刻估计错误之外,大部分时刻均做到准确估计目标数目。经过50次蒙特卡洛仿真,采用多次仿真中算法的发散次数来衡量算法稳定性,结果显示,SMC-CBMeMBer滤波算法总共发散 36次,而RE-CBMeMBer滤波算法未发散。
图6 仿真实验2的目标数目估计
实验结果表明:当量测噪声先验分布与真实分布不匹配时,SMC-CBMeMBer滤波算法稳定性难以保证,由于RE-CBMeMBer滤波算法不依赖于量测噪声的先验分布,因此,具有更高的稳定性。
4 结论
本文提出了一种能在量测噪声分布未知的情况下进行多目标跟踪算法,与传统的SMC-CBMeMBer滤波算法相比,该算法不依赖于量测噪声先验分布,能在未知且复杂的量测噪声分布环境下进行多目标跟踪,此外该算法避免了在多维量测空间计算似然函数,与SMC-CBMeMBer算法相比,节省了近40%的时间,算法实时性得到提高。