一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种混合型目标航迹预测方法及系统与流程

2022-07-30 16:43:23 来源:中国专利 TAG:


1.本发明涉及目标轨迹预测技术领域,具体是一种混合型目标航迹预测方法及系统。


背景技术:

2.目标轨迹预测是保证目标航行安全、规划飞行航迹和搜寻空中目标等任务的关键技术,作为航空、交通管制、军事等领域的重点研究问题,一直受到学界和工业界广泛关注。随着近现代信息科学技术的不断发展,目标轨迹预测的方法和模型也在不断地更新和改进。目标轨迹预测即利用当前时刻目标的状态信息预测目标下一时刻的状态,该任务可等效地看作为针对时间序列的预测问题。飞行目标轨迹预测模型分为动力学模型、卡尔曼滤波算法模型和可学习模型。
3.动力学模型根据目标运动的空气动力学方程,对目标的轨迹进行预测,但在现实中,飞行目标往往受到天气、环境等诸多因素的影响,而且目标飞行过程所受力复杂多变,根据空气动力学建立的目标运动模型对实际情况进行了较大程度的简化,由此导致这类模型对目标轨迹预测的精度较低。
4.卡尔曼滤波器(kalman filter,kf)是一种应用非常广泛且有效的目标轨迹预测方法。sj julier等在1997年提出扩展卡尔曼滤波(extend kalman filter,ekf)算法,不仅继承了卡尔曼滤波算法的优势,而且能够处理非线性系统模型。吕波等利用扩展卡尔曼滤波嵌入非线性控制系统,针对航空器的航迹预测任务建立了多信息扩展卡尔曼滤波预测模型。chen等提出了基于无迹卡尔曼滤波的航迹预测模型并完成了对飞行目标的航迹预测。然而,在现实的许多目标轨迹预测任务中,运动模型一般不能预先指定,在这种情况下,卡尔曼滤波器的应用受到了严重的限制。此外,卡尔曼滤波器通常是在恒定加速度的假设下应用的,这也是对现实目标运动情况的粗略逼近,这样建立的算法模型对目标轨迹预测的精度有限。为了克服传统卡尔曼滤波算法的局限性,许多学者尝试直接从训练数据中学习运动模型,利用可学习模型来学习目标运动方程可以避免手工设计卡尔曼滤波转移和测量矩阵,从而提高目标轨迹预测精度。
5.可学习模型(即机器学习模型)包括以神经网络为代表的机器学习方法,神经网络可通过大量数据学习数据的本质特征,其深层非线性的网络结构能够实现对复杂函数的逼近,在目标轨迹预测方面得到了广泛应用。如钱夔等用bp神经网络对飞机航迹数据进行训练学习,实现对飞行目标轨迹的预测,但bp神经网络比较简单,预测精度有限,wu等提出了基于卷积神经网络的飞行航迹预测模型,根据飞行目标的高度和经纬度信息预测飞行目标的位置信息。
6.以上所提的模型对目标轨迹预测各有优劣,但都没有利用目标轨迹数据在时序上具有的高度相关性。循环神经网络(recurrent neural network,rnn)是一种能够提取序列数据特征的经典神经网络模型,然而由于rnn自身简单的网络结构对于长时间序列的记忆能力较差,于是hochreiter等提出了由rnn改进的长短时记忆(long short memory,lstm)
神经网络,lstm模型由于其自身复杂的结构使其能够记忆更长的序列数据中蕴含的信息,并在后续处理中加以运用,如今lstm网络已广泛应用在各类目标的轨迹预测任务中并取得了良好的效果。
7.以上现有技术飞行目标轨迹预测的有效性和准确性还有较大提升空间,亟待改善。


技术实现要素:

8.为克服现有技术的不足,本发明提供了一种混合型目标航迹预测方法及系统,解决现有技术存在的飞行目标轨迹预测的有效性和准确性还有较大提升空间等问题。
9.本发明解决上述问题所采用的技术方案是:
10.一种混合型目标航迹预测方法,将卡尔曼滤波算法和长短时记忆神经网络模型相结合,对目标轨迹进行预测。
11.作为一种优选的技术方案,其特征在于,包括以下步骤:
12.s1,构建目标轨迹预测网络模型:
13.首先,根据卡尔曼滤波算法,建立目标轨迹预测模型,如下:
14.y
t
=f(y
t-1
) w
t
ꢀꢀꢀ
(18),
15.z
t
=y
t
v
t
ꢀꢀꢀꢀ
(19),
16.其中,y
t
为目标状态向量,z
t
为观测向量,w
t
为过程噪声,v
t
为观测噪声,f(
·
)为状态转移函数;
17.然后,目标轨迹预测模型根据目标前一时刻的状态估计值预测出下一时刻目标的状态,同时更新当前预测状态的协方差矩阵,预测公式为:
[0018][0019][0020]
其中,为目标前一时刻的状态向量估计值,为目标当前时刻状态向量估计值,为当前时刻状态向量估计值的协方差矩阵,f为f(
·
)关于的雅克比矩阵,为可学习参数,t表示矩阵的转置;
[0021]
再然后,更新计算得出目标在t时刻的最终状态向量估计值更新公式为:
[0022][0023]
[0024][0025]
其中,k
t
为卡尔曼增益,为可学习参数,是目标在t时刻的观测值,为目标在t时刻的最终状态向量估计值,为目标在t时刻的协方差矩阵;
[0026]
s2:训练目标轨迹预测网络模型:对目标轨迹预测网络模型进行训练,直至训练次数≥设定的次数阈值;
[0027]
s3:输出目标轨迹预测结果:将训练后的目标轨迹预测网络模型中的目标轨迹输出。
[0028]
作为一种优选的技术方案,步骤s1中,模型中的长短时记忆神经模块包括双隐含层lstm网络层,隐层神经元个数为64。
[0029]
作为一种优选的技术方案,步骤s2中,目标轨迹预测网络模型的损失函数为:在均方误差函数的基础上增加目标状态估计的惩罚项。
[0030]
作为一种优选的技术方案,损失函数公式为:
[0031][0032]
其中,θ代表网络中的所有参数,λ为超参数,t表示训练所用序列总点数。
[0033]
作为一种优选的技术方案,步骤s2中,训练策略为:网络中所有的权重矩阵用xavier随机初始化,偏差均初始化为0,学习率设定为0.0001,采用adam优化器,以及,设定训练批尺寸为16。
[0034]
作为一种优选的技术方案,步骤s2中,取80%的数据点作为目标轨迹预测网络模型的训练数据,剩下20%的数据点作为目标轨迹预测网络模型的测试数据。
[0035]
作为一种优选的技术方案,还包括设于步骤s1之前的以下步骤:
[0036]
s0,数据预处理:对输入的样本数据进行标准化处理,公式如下:
[0037][0038]
其中,x为原样本向量,为样本均值,σ为样本标准差,y为经标准化处理后的样本向量。
[0039]
作为一种优选的技术方案,还包括设于步骤s3之后的以下步骤:
[0040]
s4,反标准化处理:在对目标轨迹预测结束后,将输出的预测结果进行反标准化处理,公式如下:
[0041][0042]
一种混合型目标航迹预测系统,基于所述的一种混合型目标航迹预测方法,包括
依次电相连的目标轨迹预测网络模型构建模块、目标轨迹预测网络模型训练模块、目标轨迹预测结果输出模块;
[0043]
目标轨迹预测网络模型构建模块:用以构建目标轨迹预测网络模型,构建步骤如下:
[0044]
首先,根据卡尔曼滤波算法,建立目标轨迹预测模型,如下:
[0045]yt
=f(y
t-1
) w
t
ꢀꢀꢀ
(28),
[0046]zt
=y
t
v
t
ꢀꢀꢀ
(29),
[0047]
其中,y
t
为目标状态向量,z
t
为观测向量,w
t
为过程噪声,v
t
为观测噪声,f(
·
)为状态转移函数;
[0048]
然后,目标轨迹预测模型根据目标前一时刻的状态估计向量预测出下一时刻目标的状态向量,同时更新当前预测状态的协方差矩阵,预测公式为:
[0049][0050][0051]
其中,为目标前一时刻的状态向量估计值,为目标当前时刻的状态向量估计值,为当前预测状态的协方差矩阵,为f(
·
)关于的雅克比矩阵,为可学习参数,t表示矩阵的转置;
[0052]
再然后,更新计算得出目标在t时刻的最终状态向量估计值更新公式为:
[0053][0054][0055][0056]
其中,k
t
为卡尔曼增益,为可学习参数,是目标在t时刻的观测值,为目标在t时刻的最终状态向量估计值,为目标在t时刻的协方差矩阵;
[0057]
目标轨迹预测网络模型训练模块:用以对目标轨迹预测网络模型进行训练,直至训练次数≥设定的次数阈值;
[0058]
目标轨迹预测结果输出模块:用以将训练后的目标轨迹预测网络模型中的目标轨迹输出。
[0059]
本发明相比于现有技术,具有以下有益效果:
[0060]
(1)本发明构建了传统卡尔曼滤波算法和深度学习之间联系的桥梁,将卡尔曼滤
波算法和深度网络有机地结合起来,避免了显式建模目标运动轨迹方程,还能利用深度神经网络强大的学习表征能力从数据中学习模型中的超参数;
[0061]
(2)本发明克服了传统模型建模不准确和深度学习方法对数据的严重依赖性;
[0062]
(3)本发明提高了模型与算法的可解释性,加快了网络的收敛速度;
[0063]
(4)本发明实现了对目标复杂的非线性运动轨迹的良好估计和预测。
附图说明
[0064]
图1为现有技术的lstm网络结构图;
[0065]
图2为本发明kfu-lstm-net结构图;
[0066]
图3为本发明kfu-lstm模块内部结构图;
[0067]
图4为卡尔曼滤波算法展开图;
[0068]
图5为lstm模块结构图;
[0069]
图6为利用本发明对目标轨迹进行预测的一个实施例的流程图;
[0070]
图7为本发明所述的一种混合型目标航迹预测方法的步骤示意图。
具体实施方式
[0071]
下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
[0072]
实施例1
[0073]
如图1至图7所示,将卡尔曼滤波算法和长短时记忆神经网络模型相结合,对目标轨迹进行预测。
[0074]
卡尔曼滤波算法描述如下:
[0075]
1.1卡尔曼滤波算法
[0076]
卡尔曼滤波算法是一种基于时域离散的自回归优化算法,其被广泛应用于动态目标的位置、速度等状态信息的预测任务中。设目标状态向量为y
t
,观测变量为z
t
,根据卡尔曼滤波算法,有如下关系式:
[0077]yt
=ay
t-1
w
t
ꢀꢀ
(35),
[0078]zt
=hy
t
v
t
ꢀꢀꢀ
(36),
[0079]
式中:a是目标状态转移矩阵,代表该系统从t-1时刻到t时刻状态之间的转移关系;h是目标观测矩阵,w
t
和v
t
是过程噪声和观测噪声,其分别满足正态分布w
t
~n(0,q
t
),v
t
~n(0,r
t
)。
[0080]
卡尔曼滤波算法通过反馈环路迭代更新求解目标状态向量,该反馈环路包含两个更新步骤:预测步骤和更新步骤。在预测步骤中,卡尔曼滤波算法用上一时刻目标的状态向量来预测目标下一时刻的状态:
[0081][0082][0083]
在更新步骤中,需要首先计算卡尔曼增益k
t
,然后通过观测变量z
t
来修正目标在t
时刻的状态估计值和协方差矩阵
[0084][0085][0086][0087]
1.2长短时记忆神经网络
[0088]
不同于前馈神经网络,递归神经网络(rnn)是针对于时序数据进行处理的网络模型。然而,由于梯度消失问题,早期的rnn模型都很难被训练。为了解决梯度消失或梯度爆炸问题并使模型可以长期存储时间序列中的有用信息,hochreiter等人提出了长短时记忆神经网络(lstm),lstm是rnn神经网络的一种特殊的变体,其更改了rnn的神经元结构,在神经元内部增加了遗忘门、输入门、输出门等单元,由此可以通过lstm神经元获得长时间序列的依赖信息。lstm网络结构如图1所示。
[0089]
长短期记忆(lstm)神经网络是专门为解决长时间序列难以记忆和梯度消失的问题而引入的,并已成为最广泛使用的网络架构之一。lstm网络的隐藏层中包含了遗忘门、输入门、输出门,它们不仅控制着信息的流动模式,而且对网络预测的性能方面至关重要。lstm神经元内部计算公式如下:
[0090]ft
=σ(w
fhht-1
w
fx
x
t
bf)
ꢀꢀꢀ
(42)
[0091]it
=σ(w
ihht-1
w
ix
x
t
bi)
ꢀꢀꢀꢀ
(43)
[0092]ot
=σ(w
ohht-1
w
ox
x
t
bo)
ꢀꢀꢀ
(44)
[0093][0094][0095]ht
=o
t

tanh(c
t
)
ꢀꢀ
(47)
[0096]
上式中σ(
·
)表示sigmoid激活函数,

代表相同位置元素对应相乘。
[0097]
(1)遗忘门:将x
t
和h
t-1
作为输入,经过sigmoid激活函数σ将信息输入到细胞c中,由此来控制细胞对短期记忆的遗忘程度,遗忘门的计算如公式(8)所示。
[0098]
(2)输入门:输入门包含两个部分,第一部分负责产生新记忆信息第二部分负责确定新记忆信息的流入比例i
t
,分别如公式(9)和公式(11-12)所示。
[0099]
(3)输出门:输出门通过将细胞状态c
t
以及输出比例o
t
相乘,输出得到该lstm神经元最终的输出值h
t
,如公式(10)和公式(13)所示。
[0100]
2基于卡尔曼滤波算法展开的lstm网络
[0101]
2.1算法模型
[0102]
在本节中,本发明将卡尔曼滤波算法和长短时记忆神经网络模型相结合,提出了基于卡尔曼滤波算法展开的长短时记忆神经网络(kfu-lstm-net)模型来对目标轨迹进行
预测。
[0103]
根据卡尔曼滤波算法,本发明建立的目标轨迹预测模型为如下形式:
[0104]yt
=f(y
t-1
) w
t
ꢀꢀꢀ
(48)
[0105]zt
=y
t
v
t
ꢀꢀꢀ
(49)
[0106]
模型根据目标前一时刻的状态估计值预测出下一时刻目标的状态同时更新当前预测状态的协方差矩阵模型的预测步骤公式为:
[0107][0108][0109]
公式(16)中的映射函数f(
·
)通过lstm网络学习拟合,利用lstm强大的非线性拟合能力,使得模型可以学习到目标复杂的运动轨迹;公式(17)中f是f关于的雅克比矩阵,为模型中的可学习参数,t表示矩阵的转置。
[0110]
模型的更新步骤公式为:
[0111][0112][0113][0114]
公式(18)中是模型中的可学习参数,式(19)中是目标在t时刻的观测值。
[0115]
本发明所建网络模型整体架构如图2所示,模型中的kfu-lstm模块内部结构如图3所示。在kfu-lstm模块中本发明设计了lstm网络来学习状态转移函数f(
·
),即将上一时刻目标的状态向量作为lstm网络的输入得到目标在t时刻的初步状态估计值再将和测量状态向量作为输入,通过卡尔曼滤波算法更新计算得出目标在t时刻的最终状态预测向量
[0116]
从算法展开的角度来看,在每一个时间步t,lstm将上一时刻(即t-1时刻)的目标状态估计值作为输入计算得到由协方差矩阵由协方差矩阵和根据公式(17-18)计算出卡尔曼增益k
t
;接着,结合lstm输出的目标状态初步估计值和观测值根据
公式(19)最终计算得出目标在t时刻的状态估计值卡尔曼滤波算法展开示意图如图4所示。
[0117]
2.2网络模型结构及训练参数设定
[0118]
(1)本发明所提网络结构及参数:本发明所建网络模型整体架构如图2所示,模型中的kfu-lstm模块内部结构如图3所示。对于kfu-lstm中的lstm模块,本发明建立双隐含层的lstm网络,其中隐层神经元个数为64,其后添加两个全连接层。具体lstm的结构如图5所示。
[0119]
(2)网络的损失函数:不同于标准的均方误差损失函数,本发明在均方误差函数的基础上增加了目标状态估计的惩罚项,以此来加强网络对于目标状态的估计能力,本发明所提出的损失函数定义如下:
[0120][0121]
式(21)中θ代表网络中的所有参数,本发明实验中超参数λ设定值为0.5。
[0122]
(3)训练策略:网络中所有的权重矩阵用xavier随机初始化,偏差均初始化为0。学习率设定为0.0001,采用adam优化器,设定训练批尺寸为16。本发明所有实验均在windows10(64bit)操作系统的pytorch平台中运行,电脑设备硬件配置为intel core i7-9750h cpu和nvidia gtx 1660ti。实验环境如表1所示。
[0123]
表1实验环境列表
[0124]
[0125]
本发明所提kfu-lstm-net模型针对目标轨迹预测整体流程如图6所示。
[0126]
3实验及结果分析
[0127]
为了验证本发明所提出的基于卡尔曼滤波算法展开的深度lstm网络模型对于目标轨迹预测的准确性和有效性,本发明模型对目标轨迹仿真数据进行预测,根据目标轨迹预测结果图和预测误差进行了详细的分析,并在实验部分对比了基于rnn和lstm网络的目标轨迹预测方法。
[0128]
3.1数据描述
[0129]
(1)目标轨迹仿真数据为三种带有随机高斯噪声的三维曲线,其中80%的数据点作为网络模型的训练数据,剩下20%的数据点作为模型的测试数据。参数方程式及取值范围如下表2所示:
[0130]
表2仿真数据的参数方程及变量取值
[0131][0132][0133]
(2)实验使用的真实数据是在flightaware上的航线日志,在flightaware平台上导出csv格式的飞行数据再利用python的pandas库加载实验数据。飞机航迹分为爬升、转弯和平飞三个阶段,数据包含200个采集点,每个采集点包含时间、纬度、经度、高度、航向、节、航速、爬升角共八维数据,本发明从中选择经度、纬度和高度这三个航迹指标作为网络模型的输入进行目标的航迹预测。取80%的数据点作为网络模型的训练数据,剩下20%的数据点作为模型的测试数据。
[0134]
3.2数据预处理
[0135]
为了消除输入数据量纲的影响和提高网络的收敛速率,本发明对输入的样本数据进行标准化处理,以提高网络模型预测的准确性和鲁棒性,公式如下:
[0136][0137]
式(22)中x为原样本向量,为样本均值,σ为样本标准差,y为经标准化处理后的样本向量。
[0138]
在对目标轨迹预测结束后,可根据如下公式(23)将网络输出的预测结果进行反标准化处理,以便同目标轨迹真实值相比较:
[0139][0140]
3.3对比实验
[0141]
为验证本发明所提kfu-lstm-net模型对于目标轨迹预测的有效性和优越性,本发明针对三种不同的飞行仿真数据和真实飞行航迹数据进行实验,分别用rnn、lstm和本发明所提kfu-lstm-net模型进行预测,rnn和lstm模型均采用2层隐含层且隐层神经元个数为64的网络架构,训练采用adam训练策略,学习率设定为0.001。
[0142]
为了测试本发明所提模型对目标状态预测的精度和不同场景下的表现情况,本发明考察了模型对目标轨迹的预测值与真实值的均方误差(root mean square error,rmse)指标,各模型在仿真数据和真实数据集上预测的rmse对比表格如表3所示。从表3中结果可以直观地得出,本发明所提kfu-lstm模型较rnn和lstm模型的rmse有明显减小,kfu-lstm模型在三个仿真数据和真实数据集上对飞行目标轨迹预测的精度都超过了rnn和lstm模型。由此表明了本发明所提的模型在目标轨迹预测精度上的显著提升,验证了本发明kfu-lstm模型相较rnn和lstm网络在目标轨迹时序预测上的优越性和有效性。
[0143]
表3模型目标轨迹预测结果的均方误差
[0144][0145]
本发明提出并建立了卡尔曼滤波算法展开的lstm神经网络模型,并将该模型应用到飞行目标轨迹预测的任务中。本发明所建立的模型能够学习飞行目标复杂的运动模型。相较于传统的卡尔曼滤波算法只能用于估计线性运动模型,本发明所提模型将目标状态转移函数建模为可学习的网络,再利用卡尔曼滤波对目标预测状态进行修正更新,因此能够对目标复杂的非线性运动轨迹进行良好地估计和预测。另一方面,通过以卡尔曼滤波算法更新的方式将lstm预测和观测向量结合起来,即隐式学习了目标所有可能的运动路径。不仅避免了显式建模目标运动轨迹方程,还能利用深度神经网络强大的学习表征能力从数据中学习模型中的超参数。相较于rnn、lstm等为代表的深度学习方法,本发明建立的模型在目标轨迹预测的精度更高。
[0146]
本发明构建了传统卡尔曼滤波算法和深度学习之间联系的桥梁,将卡尔曼滤波算法和深度网络有机地结合起来,不仅克服了传统模型建模不准确和深度学习方法对数据的严重依赖性,而且提高了模型与算法的可解释性,加快了网络的收敛速度,在仿真数据和真实数据上的实验结果验证了本发明所提的基于卡尔曼滤波算法展开网络模型对飞行目标轨迹预测的有效性和优越性。
[0147]
本发明提出了基于卡尔曼滤波算法展开的长短时记忆神经网络(kalman filter unfolding lstm network,kfu-lstm-net)。所提的模型将目标状态转移函数建模为可学习的网络,再利用卡尔曼滤波对目标状态向量进行修正更新得出目标状态预测值。本发明所建模型从目标轨迹数据中学习目标运动轨迹和卡尔曼滤波器中的超参数,让模型能够更好地利用深度学习的强大表征能力,在仿真和真实目标轨迹数据实验上验证了本发明所提模型对于飞行目标轨迹预测的有效性和准确性。
[0148]
针对传统飞行目标轨迹预测方法模型较为简化且预测精度较低的问题,提出了一种数据和模型混合驱动的目标航迹预测方法,将基于卡尔曼滤波算法展开的深度神经网络(kfu-lstm-net)模型用于飞行目标的轨迹预测任务。该模型通过长短时记忆(long short-term memory,lstm)网络从目标的航迹数据中学习目标的运动状态,再利用卡尔曼滤波算
法对lstm预测的目标状态估计值进行动态修正,其有效结合了卡尔曼滤波算法和深度神经网络各自的优势。在仿真数据和真实数据上的实验验证了所提kfu-lstm-net模型较其他网络模型对飞行目标轨迹预测的准确性和有效性。
[0149]
如上所述,可较好地实现本发明。
[0150]
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
[0151]
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献