本发明属于目标跟踪技术领域,更进一步涉及机动目标跟踪技术领域中的一种基于长短期记忆网络lstm(longshorttermmemorynetwork)的多机动目标跟踪方法。本发明可用于雷达实时观测数据在多机动目标跟踪时,进行雷达资源分配和高精度目标跟踪。
背景技术:
多机动目标跟踪的主要任务是在有限的雷达资源条件下,对每一个机动目标分配足够的能量达到预期的跟踪精度。随着雷达应用场景的复杂化,传统雷达将发射功率平均分配给每个目标的方式,不能满足目标的跟踪精度。目前已经存有大量的利用认知技术进行雷达资源分配进而实现多目标跟踪的方法,但是,由于这些方法在估计目标运动状态时依赖目标的运动模型,在应对机动目标时,由于目标运动的高动态性以及随机性,存在模型失配的问题。
严峻坤在其发表的论文“认知雷达中的资源分配算法研究”(西安电子科技大学工学博士学位论文2014年)中研究了理想检测条件下的单雷达多目标认知跟踪方法。该方法的具体步骤是,(1)建立理想条件下的目标运动模型和目标观测模型;(2)计算目标预测贝叶斯克拉美罗界矩阵bcrlb,并以最小化最差目标的bcrlb构建资源分配代价函数;(3)求解该资源分配问题;(4)结合资源分配结果使用粒子滤波方法进行目标跟踪。该方法存在的不足之处是,在计算目标预测bcrlb时需要依赖所建立的目标运动模型,在无法准确估计目标运动模型的情况下,不能精确计算bcrlb,影响目标的跟踪精度。
西安电子科技大学在其申请的专利文献“用于雷达多目标跟踪的多波束发射功率动态分配方法”(专利申请号201110260636.6,申请公开号102426358b)中公开了一种用于雷达多目标跟踪的多波束发射功率动态分配方法。该方法实现的具体步骤是,(1)初始平均分配每个目标的发射电磁波功率;(2)跟踪目标以获得目标的外推坐标;(3)脉冲压缩处理回波信号,获得目标的雷达散射面积;(4)采用使所有目标跟踪平均误差最小的方法或使所有目标跟踪精度相同的方法计算每个目标的发射电磁波功率;(5)将计算后的功率按照目标外推坐标进行分配;(6)重复步骤(2)至步骤(6),持续进行跟踪。该方法存在的不足之处是,跟踪目标时对目标状态转移矩阵的估计必须已知运动模型,无法处理未知机动目标运动模型的数据。
技术实现要素:
本发明的目的是针对上述现有技术的不足,提出一种基于长短期记忆网络lstm的多机动目标跟踪方法,这种方法可以解决多机动目标在不同运动模型下的bcrlb精确计算问题。
实现本发明目的的思路是,利用长短期记忆网络lstm强大的学习能力,从大量训练数据中学习机动目标的运动特征。将实时观测的数据输入到已经训练好的长短期记忆网络lstm中,计算机动目标的预测bcrlb,实现多机动目标资源分配和高精度跟踪。
本发明的具体步骤如下:
(1)构建长短期记忆网络lstm:
(1a)搭建一个3层的长短期记忆网络lstm,其结构依次为:输入层→隐含层→输出层;
(1b)设置长短期记忆网络lstm的各层参数如下:
将长短期记忆网络的隐含层设置为1,输入单元的个数设置为64,隐单元的个数设置为32;
(2)生成训练数据集:
(2a)根据多机动目标跟踪的应用场景,随机设定多机动目标的初始状态;
(2b)利用状态转移函数,依次计算50次目标状态向量组成一条状态序列,重复操作500000次,将50×500000个状态向量作为目标的真实状态,组成训练网络的标签集;
(2c)利用传感器观测目标的观测方程,将50×500000个状态向量生成对应的观测向量,将50×500000个观测向量作为网络的训练集;
(3)训练长短期记忆网络lstm:
(3a)初始化长短期记忆网络lstm权值和偏置参数;
(3b)将训练集输入到长短期记忆网络lstm的输入层,将输入层的权值和偏置计算结果作为隐含层的输入数据;
(3c)利用遗忘门函数和输入门函数,隐含层计算输入数据在当前时刻的历史记忆信息,利用输出门函数,隐含层计算输出层的输入数据;
(3d)将输出层的权值和偏置计算结果作为目标一步状态的预测值;
(3e)利用预测值和标签值计算网络的损失函数值,用批量梯度下降法,循环执行步骤(3b)到步骤(3e)更新长短期记忆lstm的网络权值和偏置参数500000次,得到训练好的长短期记忆网络lstm;
(4)利用长短期记忆网络lstm进行多机动目标资源分配:
将实时观测的当前时刻多机动目标的观测数据输入到长短时记忆网络lstm中,得到下一时刻每个机动目标状态的预测值,并计算相应的预测bcrlb,利用资源分配代价函数求解每个机动目标分配的资源值;
(5)利用卡尔曼滤波算法进行多机动目标跟踪:
使用卡尔曼滤波跟踪算法,结合每个机动目标状态的预测值和资源分配后每个机动目标状态的观测值,实现多机动目标跟踪。
发明与现有的技术相比具有以下优点:
第一,由于本发明构建长短时记忆网络lstm,通过该网络直接从数据中学习机动目标的运动特征,克服了现有技术中计算目标的预测bcrlb依赖目标运动模型,进而进行资源分配和目标跟踪的问题,使得本发明在多机动目标跟踪时具有更高的跟踪精度。
第二,由于本发明构建长短时记忆网络lstm,通过该网络可以从多种机动目标运动模型数据中学习机动目标的运动特性,不用估计机动目标的状态转移矩阵,克服了现有技术中无法处理未知机动目标运动模型的数据才能进行雷达资源分配和多目标跟踪的问题,使得本发明能在多机动目标跟踪中能处理多种目标运动模型的数据。
附图说明
图1为本发明的流程图;
图2为本发明的仿真图。
具体实施方式
下面结合附图对本发明做进一步的描述。
参照图1,对本发明的具体步骤做进一步的描述。
步骤1,构建长短期记忆网络lstm。
搭建一个3层的长短期记忆网络lstm,其结构依次为:输入层→隐含层→输出层。
设置长短期记忆网络lstm的各层参数如下:将长短期记忆网络的隐含层设置为1,输入单元的个数设置为64,隐单元的个数设置为32。
步骤2,生成训练数据集。
根据多机动目标跟踪的应用场景,随机设定多机动目标的初始状态。
利用状态转移函数,依次计算50次目标状态向量组成一条状态序列,重复操作500000次,将50×500000个状态向量作为目标的真实状态,组成训练网络的标签集。
所述的状态转移函数如下:
其中,
利用传感器观测目标的观测方程,将50×500000个状态向量生成对应的观测向量,将50×500000个观测向量作为网络的训练集。
所述的观测方程如下:
其中,
步骤3,训练长短期记忆网络lstm。
第一步,初始化长短期记忆网络lstm权值和偏置参数。
第二步,将训练集输入到长短期记忆网络lstm的输入层,将输入层的权值和偏置计算结果作为隐含层的输入数据。
第三步,利用遗忘门函数和输入门函数,隐含层计算输入数据在当前时刻的历史记忆信息,利用输出门函数,隐含层计算输出层的输入数据。
所述的遗忘门函数和输入门函数如下:
其中,ct表示隐含层当前时刻的记忆信息,σ(·)表示sigmoid函数,tanh(·)表示双曲正切函数,wf表示遗忘门函数的权值,bf表示遗忘门函数的偏置,ht-1,ct-1分别表示隐含层上一时刻的输出结果,wi,
所述的输出门函数如下:
ht=σ(wo[ht-1,xt]+bo)*tanh(ct)
其中,ht表示输出层输入数据,wo分别表示输出门函数的权值,bo表示输出门函数的偏置。
第四步,将输出层的权值和偏置计算结果作为目标一步状态的预测值。
第五步,利用预测值和标签值计算网络的损失函数值,用批量梯度下降法,循环执行本步骤中的第二步到第五步,更新长短期记忆lstm的网络权值和偏置参数500000次,得到训练好的长短期记忆网络lstm。
步骤4,利用长短期记忆网络lstm进行多机动目标资源分配:
将实时观测的当前时刻多机动目标的观测数据输入到长短时记忆网络lstm中,得到下一时刻每个机动目标状态的预测值,并计算相应的预测bcrlb,利用资源分配代价函数求解每个机动目标分配的资源值;
所述的资源分配代价函数如下:
其中,f(·)表示资源分配代价函数,pk表示在k时刻每个机动目标分配的资源值,min(·)表示最小化操作,pq,k表示多机动目标中的第q个机动目标在k时刻分配的资源值,max(·)表示取最大值操作,q表示多机动目标的序号,q=1,…,q,q表示多机动目标总数,
步骤5,利用卡尔曼滤波算法进行多机动目标跟踪。
使用卡尔曼滤波跟踪算法,结合每个机动目标状态的预测值和资源分配后每个机动目标状态的观测值,实现多机动目标跟踪。
下面结合仿真实验对本发明的效果做进一步说明。
1.仿真实验条件:
本发明仿真实验的硬件测试平台是:处理器为cpuxeone5-2643,主频为3.4ghz,内存64gb;软件平台为:ubuntu16.04lts,64位操作系统,python2.7。
2.仿真内容及仿真结果分析:
本发明仿真实验是采用本发明的基于长短期记忆网络lstm的优化方法和现有技术的基于模型的优化方法对多机动目标进行跟踪实验。
所述现有技术的基于模型的优化方法是指,西安电子科技大学严峻坤的工学博士论文《认知雷达中的资源分配算法研究》中所提出的最小化最差目标跟踪误差的bcrlb为代价函数优化资源分配模型的方法。
本发明的仿真实验雷达和目标在直角坐标系下,雷达位于[0km,0km],信号的有效带宽为2mhz,信号时宽为1ms,雷达载频为1ghz。在本发明的仿真实验中,对目标连续观测了50次,相邻两次观测间隔为2s。发射功率的上界和下界分别设置为
本发明仿真实验中使用的多机动目标为三种机动目标的模型,分别为匀速直线运动,匀速左转弯运动和匀速右转弯运动,如图2(a)所示。图2(a)中的曲线表示这3个目标运动的真实轨迹,x轴表示目标在直角平面的x方向的坐标,单位为米(m),y轴表示目标在直角平面的y方向的坐标,单位为米(m),以虚线“---”表示的曲线为第一个目标左转弯运动的运动轨迹,以实线“—”表示的曲线为第二个目标右转弯运动的运动轨迹,以点“…”表示的曲线为第三个目标匀速直线运动的运动轨迹,以箭头表示目标运动的方向。
图2(b)为本仿真实验中使用本发明所提的基于长短期记忆网络lstm的资源分配的仿真结果图,图2(c)为本仿真实验中使用的现有技术基于模型的优化方法的资源分配的仿真结果图。这两幅图的x轴都表示观测帧数,y轴都表示每一帧每个目标分配的资源值占总资源值的比例,以虚线“---”表示的曲线为第一个机动目标分配的资源比例,以实线“—”表示的曲线为第二个机动目标分配的资源比例,以点“…”表示的曲线为第三个机动目标分配的资源比例。
图2(d)为本仿真实验中使用的两种仿真方法最差目标的bcrlb随帧数的变化仿真图,其中x轴表示帧数,y轴表示最差目标的bcrlb。图2(d)中,以实线“—”表示的曲线为现有技术基于模型的资源分配方法在每一帧中的最差目标的bcrlb变化曲线,以虚线“---”表示的曲线为本发明所提的基于长短期记忆网络lstm的资源分配方法在每一帧中的最差目标的bcrlb的变化曲线。通过对比可以发现,本发明所提的基于长短期记忆网络lstm的目标跟踪方法在每一帧的最差目标的bcrlb要比现有技术中基于模型的优化方法更低,证明了本发明所提基于长短期记忆网络lstm的目标跟踪方法对多机动目标的运动特性的估计比现有技术基于模型的优化方法更准确,克服了现有技术中由模型失配造成的跟踪精度损失。
为了验证本发明的仿真实验效果,本发明的仿真实验进行了100次蒙特卡洛实验,利用下述均方根误差rmse计算公式,分别计算3个机动目标的100次蒙特卡洛实验的均方根误差rmse,比较本发明所提的基于长短期记忆网络lstm的多目标跟踪方法和现有技术基于模型的多目标跟踪方法对多机动目标跟踪的跟踪精度。
其中,rmsek表示k时刻的均方根误差,
图2(e)为本仿真实验中使用的两种方法的最差目标的均方根误差rmse随帧数变化的仿真图,其中x轴表示帧数,y轴表示最差目标的rmse,以实线“—”表示的曲线为现有技术基于模型的资源分配方法在每一帧中的最差目标的rmse的变化曲线,以虚线“---”表示的曲线为本发明所提的基于长短期记忆网络lstm的资源分配方法在每一帧中的最差目标的rmse的变化曲线。对比图2(d)可以发现,随着观测帧数的增加,两种方法的最差rmse都向各自对应的bcrlb靠近,但是,本发明所提的基于长短期记忆网络lstm的方法的最差rmse小于现有技术基于模型的优化方法的最差rmse,证明了本发明所提方法能通过充分的分配目标的能量消除目标rmse分布的方差使得最差rmse变小。
结合图2(d)和图2(e),可以得出结论:本发明所提的基于长短期记忆网络lstm的多机动目标跟踪方法能更精确地估计机动目标的运动特征,极大地消除了现有技术中由模型失配造成跟踪精度损失的问题,提高目标状态估计精度和多机动目标跟踪的跟踪精度。