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

一种面向两船舶航行状态多步预测的深度学习方法

2022-10-26 19:40:26 来源:中国专利 TAG:


1.本发明涉及船舶状态预测技术领域,具体涉及一种面向两船舶航行状态多步预测的深度学习方法。


背景技术:

2.在海事安全研究中,船舶避碰始终是一个亟待解决的难点任务,并随着航运业船舶数量增加、航运业务需求上升,解决该任务变得愈发重要与迫切。在传统船舶驾驶环境下,船舶避碰由船舶操纵人员根据船舶仪表信息、航行环境以及驾驶经验综合完成。
3.对于船舶状态预测的研究,主要有基于运动模型与学习模型两类方法。由于船舶属性各异,现有的运动模型方法不适用于大数据分析。现有的学习模型方法中卡尔曼滤波方法难以选择合适的核函数并需要借助其他方法确定模型参数帮助其收敛。学习方法中的高斯过程回归方法根据后验分布假设与样本数据,估计回归模型参数,其分布特性使得该方法能被广泛适用,但面对海量数据集时,不利于扩展以及计算,以及存在单船舶模型预测忽略周围船舶影响的局限性。


技术实现要素:

4.本发明的目的是为了提供一种面向两船舶航行状态多步预测的深度学习方法。旨在解决现有的船舶状态预测方法中存在的不适用大数据分析、单船舶模型预测忽略周围船舶影响的局限性的问题。
5.为达到上述目的,本发明通过以下技术方案实现:
6.本发明提供了一种面向两船舶航行状态多步预测的深度学习方法,包括:
7.步骤s1:获取船舶自动识别系统原始数据,对所述船舶自动识别系统原始数据进行预处理,得到预处理后的数据;
8.步骤s2:根据所述预处理后的数据,按照时间匹配船舶自动识别系统数据序列对,计算所述数据序列对的加权潜在风险值之和,保留当前潜在风险最大的船舶序列数据对,得到船舶序列数据对集合;
9.步骤s3:根据所述船舶序列数据对集合,构建船舶航行状态预测网络模型,以预测船舶未来状态;
10.步骤s4:根据所述船舶航行状态预测网络模型,计算所述船舶航行状态预测网络模型输出值与真实值之间的误差,动态调整所述船舶航行状态预测模型的学习率,得到预测结果;
11.步骤s5:将所述预测结果实现数据可视化。
12.优选的,在所述步骤s1中,对所述船舶自动识别系统原始数据进行预处理包括:
13.步骤s1.1:对于获取的所述船舶自动识别系统原始数据,确定其数据类型和调整其数据格式,并通过二分查找算法初步提取数据;
14.步骤s1.2:根据航道约束边界与拉依达准则,将所述初步提取数据进一步的细化
数据范围并剔除异常数据,得到缺失数据;
15.步骤s1.3:通过分段三次样条插值,补全所述缺失数据,得到所述预处理后的数据。
16.优选的,在所述步骤s1.1中,所述通过二分查找算法初步提取数据具体包括:根据船舶航行状态预测所涉及的地理范围,从所述船舶自动识别系统原始数据中提取所涉及的地理范围内的船舶航行状态序列数据。
17.优选的,在所述步骤s2中,所述按照时间匹配船舶自动识别系统数据序列对包括:基于所述预处理后的数据,提取满足时间条件的船舶数据矩阵集合,根据所述船舶自动识别系统数据序列对,匹配对应的数据矩阵。
18.优选的,所述提取满足时间条件的船舶数据矩阵集合中的时间t的限定条件为::
19.t
o-tm≤t≤to t
n-1
20.式中:tm为预测所需历史数据的时间长度,
21.to为预测的起始时刻,
22.tn为预测未来数据的时间长度。
23.优选的,在所述步骤s2中,计算所述数据序列对的加权潜在风险值之和包括:提取所述船舶自动识别系统数据序列对中的经纬度信息、航行信息和船长信息,计算两船舶从t=t
o-tm时刻至t=t
o-1时刻的潜在风险值。
24.优选的,在所述步骤s2中,所述保留当前潜在风险最大的船舶序列数据对具体为:
25.若所述的两船舶从t=t
o-tm时刻至t=t
o-1时刻的潜在风险值不大于当前预设的最大值,则剔除当前对应的船舶序列数据对;
26.若所述的两船舶从t=t
o-tm时刻至t=t
o-1时刻的潜在风险值大于当前预设的最大值,则更新所述最大值,并保留当前对应的船舶序列数据对。
27.优选的,在所述步骤s3中,所述船舶航行状态预测网络模型由编码器、交互模块和解码器组成。
28.所述编码器为两个具有相同lstm单元的子编码器,以用于获取船舶历史数据信息;
29.所述交互模块用于融合船舶间的运动信息;
30.所述解码器为两个独立于所述编码器的具有相同lstm单元的子解码器,以用于预测船舶未来状态。
31.优选的,在步骤s4中,计算所述船舶航行状态预测网络模型输出值与真实值之间的误差包括:
32.步骤s4.1:通过最大最小值归一化将所述船舶序列数据对集合中的任一船舶序列数据映射到[0,1]范围内;
[0033]
步骤s4.2:根据所述船舶序列数据对集合获取训练数据,输入所述训练数据至所述船舶航行状态预测网络模型,计算得到所述船舶航行状态预测网络模型的输出值和所述船舶航行状态预测网络模型的真实值,计算所述输出值与所述真实值之间的误差;
[0034]
步骤s4.3:对所述误差的结果进行判定,根据所述判定结果动态调整所述船舶航行状态预测网络模型的学习率,得到所述预测结果。
[0035]
优选的,将所述预测结果实现数据可视化,其具体为:将所述预测结果通过python
的matplotlib工具包进行展示,以实现所述预测结果的可视化。
[0036]
与现有技术相比,本发明具有以下有益效果:
[0037]
本发明根据ais数据特征,从海量数据中快速提取、筛选、插值出有效的船舶数据,根据船舶潜在风险公式,获取同一时空范围内潜在风险最大的船舶序列数据对,构建船舶航行状态预测模型,通过交互模块有效连接编码器与解码器,并实现船舶历史数据信息间互通,当模型训练时,依据计算的损失值进行自反馈调节,帮助模型快速收敛。本发明通过结合船舶潜在风险领域与长短期记忆网络模型,实现两船舶航行状态的多步预测,克服了单船舶模型预测忽略周围船舶影响的局限性并对多船舶模型数据的选择提供了理论依据。
附图说明
[0038]
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图:
[0039]
图1为本发明一实施例提供的面向两船舶航行状态多步预测的深度学习方法流程图;
[0040]
图2为本发明一实施例提供的ais(船舶自动识别系统)数据预处理流程图;
[0041]
图3为本发明一实施例提供的船舶数据匹配流程图;
[0042]
图4为本发明一实施例提供的自反馈训练流程图。
具体实施方式
[0043]
以下结合附图1至图4具体实施方式对本发明提出的面向两船舶航行状态多步预测的深度学习方法作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需要说明的是,附图采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施方式的目的。为了使本发明的目的、特征和优点能够更加明显易懂,请参阅附图。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
[0044]
为解决现有的船舶状态预测方法中存在的不适用大数据分析、单船舶模型预测忽略周围船舶影响的局限性的问题,如图1所示,本实施例提供一种面向两船舶航行状态多步预测的深度学习方法,包括:
[0045]
步骤s1:ais(船舶自动识别系统)数据预处理。
[0046]
步骤s1.1:获取船舶自动识别系统原始数据,对于获取的所述船舶自动识别系统原始数据,确定其数据类型和调整其数据格式,并通过二分查找算法初步提取数据。
[0047]
步骤s1.2:根据航道约束边界与拉依达准则,将所述初步提取数据进一步的细化数据范围并剔除异常数据,得到缺失数据。
[0048]
步骤s1.3:通过分段三次样条插值,补全所述缺失数据,得到所述预处理后的数据。
[0049]
参考图2所示,步骤s1.1至步骤s1.3具体包括:考虑到船舶ais数据存在测量误差、
时间间隔不一致、富含船舶航行状态信息但缺乏航行环境信息等特征,确定船舶航行状态预测方法的输入数据与预测数据。
[0050]qt
=[x
t
,y
t
,v
t
,r
t
,li]
t
t∈[0,1440]
ꢀꢀꢀ
(1)
[0051]ai
=[qj…
,qk]j,k∈[0,1440]
ꢀꢀꢀ
(2)
[0052]
式(1)和式(2)中:x
t
,y
t
,v
t
,r
t
,li分别表示t时刻的船舶经度、船舶纬度、航速、航向与船长数据,q
t
为t时刻的数据向量;i为船舶mmsi编号,ai为船舶i的数据矩阵。
[0053]
根据船舶航行状态预测所涉地理范围,从海量ais数据集中提取所涉地理范围内的船舶航行状态序列数据,处理过程如下:
[0054]
在数据库中对原数据进行升序排列,根据地理范围确定船舶经纬度最大最小值:x
max
,x
min
,y
max
和y
min
。基于排列后的数据通过二分法,查找与地理范围对应的数据区段,避免因反复查询数据库与提取数据而导致内存开销过大、运行效率过低等不利条件。
[0055]
根据电子海图,计算航道上边界函数f1(x
t
,y
t
)与下边界函数f2(x
t
,y
t
),如公式(3)所示。当矩阵ai中列向量q
t
不满足f1(x
t
,y
t
)≤0或者f2(x
t
,y
t
)≥0时,则将偏离航道的船舶数据ai剔除。
[0056]fn
(x
t
,y
t
)=anx
t
d
nyt
c
n n∈{1,2}
ꢀꢀꢀ
(3)
[0057]an
,dn,cn表示边界函数fn的系数,x
t
,y
t
分别为横纵坐标。
[0058]
根据拉依达准则,通过公式(4)与公式(5)计算船舶数据矩阵ai第i行数据的算术平均值与标准差δi。矩阵ai中各数据的残差ε
ij
可根据公式(6)获得。当残差的绝对值不满足公式(7)中给定的范围时,矩阵ai则不属于保留的数据矩阵集合m。
[0059][0060][0061][0062][0063]
基于上述计算得到的缺失数据进行三次样条插值,填补ai中缺失时间点的数据,得到预处理后的数据。
[0064]
步骤s2:船舶数据匹配。
[0065]
参考图3所示,基于所述预处理后的数据,提取满足t
o-tm≤t≤to t
n-1的船舶数据矩阵集合n,tm为预测所需历史数据的时间长度,to为预测的起始时刻,tn为预测未来数据的时间长度,两船舶p和p

的初始数据矩阵分别为s
p
∈n和s
p

∈n。
[0066]
分别从s
p
与s
p

中提取经纬度信息x
pt
,y
pt
和x
p

t
,y
p

t
、航向信息r
pt
、船长信息l
p
,并通过公式(8)-(11)计算两艘船舶从t=t
o-tm时刻至t=t
o-1时刻的潜在风险值;最后,保留满足公式(12)的两船舶数据矩阵,将保留的船舶数据矩阵表示为得到船舶序列
数据对集合φ。
[0067][0068][0069][0070][0071][0072]
式(8)至式(12)中:表示t时刻船舶p

相对于船舶p的方位角,d
p

p

,t
表示t时刻船舶p与船舶p

的半正矢距离,l
p
表示船舶p的长度,y
pt
与x
pt
分别表示t时刻船舶p的经度和纬度,y
p

t
与x
p

t
分别表示t时刻船舶p

的经度和纬度,r表示地球半径,z
p

p

,t
表示t时刻船舶p

对船舶p构成的潜在风险值,ω
t
为t时刻的权重因子。
[0073]
继续参考图3所示,获取船舶序列数据对,计算船舶间潜在风险值,本实施例中判断z
p

p

,t
是否大于当前预设的最大值,若z
p

p

,t
不大于当前预设的最大值,则剔除当前数据对;若z
p

p

,t
大于当前预设的最大值,则更新最大值,并保留当前数据对。然后判定是否完整遍历所有数据对,若已经完整遍历,则计算结束;若没有完整遍历,则返回重新计算船舶间潜在风险值,直至完整遍历。对数据集n中的所有船舶,依次进行上述计算,获得数据对集合φ。
[0074]
步骤s3:构建船舶状态预测网络模型。
[0075]
所述船舶状态预测网络模型主要由三个部分组成:编码器、交互模块和解码器。
[0076]
所述编码器为两个具有相同lstm(长短期记忆)单元的子编码器,以用于获取船舶历史数据信息。所述交互模块用于融合船舶间的运动信息。所述解码器为两个独立于所述编码器的具有相同lstm单元的子解码器,以用于预测船舶未来状态。
[0077]
基于存在潜在风险时船舶运动状态具有相似性的假设,编码器部分使用相同的lstm单元负责学习历史数据的船舶航行特征。lstm单元计算公式如下:
[0078][0079][0080][0081]
[0082][0083]ht
=o
t

tanh(c
t
)
ꢀꢀꢀ
(18)
[0084]
根据t时刻lstm单元输入和t-1时刻lstm单元的隐藏状态h
t-1
确定细胞状态的更新输入矩阵遗忘门控矩阵f
t
、输入门控矩阵i
t
、输出门控矩阵o
t
;t时刻细胞状态c
t
受到f
t
和i
t
的控制与c
t-1
和的影响;t时刻隐藏状态h
t
受到o
t
的控制与c
t
的影响;wf、wi、wo和wc分别为遗忘门、输入门、输出门和更新输入矩阵的权重矩阵,bf、bi、bo和bc分别为其偏置;σ为sigmoid函数,tanh为双曲正切函数。两个子编码器的输出如公式(19)所示:
[0085][0086][0087]
式(19)中:lstm代表公式(13)至公式(18)的计算,与为预测船舶p与p

状态的输入数据,h
p
与h
p

为两船的隐藏状态信息。
[0088]
信息融合层通过四个不同的连接层捕获子编码器u的信息,从而提取不同船舶的运动特征与与与为其权重矩阵,与为其偏置,计算公式如下:
[0089][0090][0091]
使用批标准化层,引入可学习参数γ和β,将神经网络单元第i维的初始输出值k(i)经过公式(21)-(24)计算后得到z(i),从而控制神经网络单元的输出范围,帮助网络训练时权重梯度的反向传递。
[0092][0093][0094][0095][0096]
式(21)至式(24)中:μb为初始输出值k(i)的算术平均值,m为k(i)的维度大小,σb为k(i)的方差,ε为一个很小的值,避免分母为零,γ,β分别为尺度缩放因子和偏移系数。
[0097]
将批标准化后不同船舶的运动特征与进行融合,即与各维度元素相加,从而获取船舶之间的相对运动特征du,其计算公式分别如下:
[0098][0099]
[0100][0101]
式(25)中:bn为批标准化操作。
[0102]
解码器则使用独立于编码器的相同lstm模块,捕捉历史数据中的时序信息,输出预测的船舶运动状态ou。
[0103]
步骤s4:自反馈训练模型。
[0104]
参考图4所示,为了避免不同类型数据的量纲对模型预测产生影响,通过最大最小值归一化将不同变化范围的数据映射到[0,1]范围内,计算公式如(26)所示:
[0105][0106]
式(26)中:τ为数据对集合φ中的任一船舶序列数据,为归一化后的船舶序列数据。
[0107]
根据步骤s3得到的船舶状态预测网络模型,将所收集ais系统数据经步骤s1和s2处理后所获得的数据对集合φ随机分割为训练数据集φ
train
和验证数据集φ
valid
,占比分别为70%和30%。针对训练数据集φ
train
中的所有数据对(s
train_p
,s
train_p

),自反馈训练过程中将t
o-m至t
0-1的序列数据进行归一化计算,并作为船舶状态预测网络模型的输入值,输入网络模型中;t0至t0 t
n-1的序列数据和进行归一化计算,并作为船舶状态预测网络模型输出值的真实值。网络前向传播获得输出值,计算船舶状态预测网络模型得出的输出值与其真实值yi的误差,公式如(27)所示。当预测网络模型在验证数据集φ
valid
上的误差在连续α个训练时期内没有下降时,缩减一半的船舶状态预测网络模型学习率,直至缩减到最小学习率ξ;当在验证数据集φ
valid
上连续ω个训练周期内误差都没有下降时,则终止网络模型训练。
[0108][0109]
步骤s5:预测结果可视化。
[0110]
将需要预测的数据输入训练后的网络模型中,网络模型的输出需要进行公式(28)所示反归一化处理:
[0111][0112]
处理后的数据可通过python的matplotlib工具包,以将预测结果可视化。
[0113]
综上所述,本实施例根据ais数据特征,从海量数据中快速提取、筛选、插值出有效的船舶数据,根据船舶潜在风险公式,获取同一时空范围内潜在风险最大的船舶序列数据对,构建船舶航行状态预测模型,通过交互模块有效连接编码器与解码器,并实现船舶历史数据信息间互通,当模型训练时,依据计算的损失值进行自反馈调节,帮助模型快速收敛,本实施例通过结合船舶潜在风险领域与长短期记忆网络模型,实现两船舶航行状态的多步预测,克服了单船舶模型预测忽略周围船舶影响的局限性并对多船舶模型数据的选择提供了理论依据。
[0114]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实
体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0115]
应当注意的是,在本文的实施方式中所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施方式仅仅是示意性的,例如,附图中的流程图和框图显示了根据本文的多个实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用于执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0116]
另外,在本文各个实施方式中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0117]
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献