基于RNN-LSTM的船舶运动轨迹预测

2021-07-06 02:52吴鹏程
造船技术 2021年3期
关键词:航行轨迹船舶

吴鹏程, 罗 亮

(武汉理工大学 交通学院,湖北 武汉 430063)

0 引 言

轨迹预测是指根据移动对象当前的轨迹预测出该对象未来的移动轨迹,船舶轨迹预测是基于目标船舶已知的历史位置信息,对船舶在未来一段时间内可能出现的位置信息进行预测,在水上交通安全监管、船舶避碰、海事搜救等方面都具有巨大的应用价值。

船舶在航行中会受到推进、操舵等控制系统及风、浪、海流等外部扰动的影响,呈现出无规律不确定性的变化,较难利用专业知识构建出一个合适的非线性映射关系的数学模型。船舶的运动具有时变、不确定、非线性及随机的环境干扰特点。在船舶航行过程中,船上安装的传感器会采集到大量与船舶有关的航行数据,这些数据是典型的时间序列。根据这些时间序列数据可直接从数值层面上进行建模来实时预测船舶未来位置,能够有效避免建立复杂的运动数学模型。目前,已有不少针对船舶轨迹预测的研究。主要的预测算法包括高斯混合模型、最小二乘法、灰色预测、神经网络、卡尔曼滤波、聚类等。罗永豪[1]采用轨迹分段和区域划分的聚类算法将珠江三角洲的船舶自动识别系统(Automatic Identification System,AIS)航线数据划分成不同类型,将轨迹预测定义为分类问题,最后对预测算法进行验证。靳晓雨[2]认为船舶轨迹预测属于多分类问题,根据船舶的属性、航运市场状态和轨迹数据的聚类算法,对船舶未来的航行轨迹进行分类预测。TONG等[3]以马尔可夫链和灰度模型理论为基础,提出基于AIS数据的改进型马尔可夫模型,预测船舶在弯曲航道上的轨迹。茅晨昊等[4]依据已有的船舶航行轨迹,采用高斯过程回归法构建船舶轨迹预测模型,对船舶轨迹进行仿真预测。徐婷婷等[5]依据预测船位差实现航迹预测的思想,构建基于反向传播 (Back Propagation, BP)神经网络的船舶轨迹预测模型。徐铁等[6]针对AIS数据堵塞等原因造成的船舶轨迹误差较大问题,改进卡尔曼滤波算法,并基于AIS数据对系统状态做最小二乘法预测船舶轨迹。PERERA等[7]针对船舶状态和航行轨迹预测问题,提出运用BP神经网络对船舶航行轨迹进行预测,运用扩展卡尔曼滤波器(Extended Kalman Filter,EKF)方法用于船舶状态预估。当前国内外众多学者大多基于AIS数据进行航迹预测问题的研究。AIS是现在广泛应用的新型助航系统,在船舶之间、船舶与岸端的通信与海事安全方面发挥着重要的作用。该系统会动态获取船舶相关航行数据,主要包括航向、航速、经纬度、相对距离、时刻等类型数据[8]。如果仅依靠AIS数据进行轨迹预测,不仅数据类型较为单一,无法综合考虑更多数据与船舶轨迹的相关性影响,而且AIS数据中还存在着大量与船舶轨迹相关性较低的冗余数据,直接利用其进行预测可能会降低模型的预测精度与效率。

在对航行轨迹进行预测时需充分考虑船舶运动系统中各状态变量对船舶轨迹的影响,通过船上安装的传感器采集到比AIS数据丰富的船舶时间序列数据,结合循环神经网络-长短期记忆(Recurrent Neural Networks - Long Short Term Memory, RNN-LSTM),对船舶轨迹预测展开研究。

1 基于RNN-LSTM的船舶轨迹预测方法

1.1 船舶轨迹预测流程

提出的船舶轨迹预测流程主要由数据预处理与神经网络预测这两部分组成,如图1所示。

图1 船舶轨迹预测流程

(1)数据预处理。首先,对船舶传感器采集的数据进行数据清理,清除其中的异常值与缺失值。然后,为降低数据中的大量冗余数据与噪声的影响,简化网络结构并提升网络效率,对数据进行相关性分析,筛选与轨迹特征相关性较高的变量,获取与航行轨迹相关性较大的数据特征子集。

(2)神经网络预测。神经网络作为一种能够近似逼近和自适应的无模型方法,具有强大的学习能力,能够学习和构建非线性复杂关系的模型,比较适合规律未知或不确定的情况。在获得数据特征子集后,采用神经网络预测法,通过构建的以RNN-LSTM为核心的网络模型来进行训练与预测。通过大量的样本真实数据对网络进行训练,让模型学习其历史船舶轨迹与未来船舶轨迹数据之间可能存在的映射关系,从而达到预测出船舶下一时刻坐标信息的目的。下面分别对数据预处理和神经网络预测所设计的方法和模型进行详细的分析和介绍。

1.2 基于相关性分析的数据预处理方法

通过各类传感器在船舶操纵性试验与实际航道随船测试中采集大量的船舶航行数据,采集的数据类型主要有船舶航行状态数据、船舶操纵数据和船舶位置,具体数据如表1所示。

表1 船舶试验采集数据类型

相关数据类型较多,数据类型与AIS数据相比多出横滚、俯仰等航行状态数据及船舶相关操纵数据,因而神经网络能够考虑到更多变量与船舶航行轨迹之间的联系。但是较多的数据类型,可能会存在有的数据变量之间具有较高的相关性,而有的变量对轨迹变化并无影响的问题。变量之间的相关性会影响神经网络模型的性能,导致预测效果变差。针对这一问题,在数据预处理时增加对数据的相关性分析,通过计算数据变量间的相关系数,将相关系数高的2个变量提出1个,并且排除无关变量的干扰,挑选出主要特征,简化网络结构,以此提高模型的预测效果。

数据相关性是指不同变量(度量维度)之间联系的程度。相关性分析的原则是输入特征变量之间的相关性越低越好,不相关更佳;而特征变量与输出变量之间则相反,两者之间相关性越高越好。数据相关性通常采用研究变量之间线性相关程度的量-相关系数来进行衡量,表示为

(1)

采用相关性分析可以定量确定参数对输出的变化有多大的影响。找出测量参数与预测输出之间影响较大的变量。如果2个变量之间耦合越强,相关性越高,对应的相关系数绝对值就会越大,即:两者间的相关系数越接近于1或-1,相关度越强;相关系数越接近于0,相关度就越弱。采集的各数据与船舶位置之间的相关系数如图2 所示。通过相关性分析得出:船舶航速、航向角和横摇值是与船舶位置相关的较重要的参数,对船舶位置影响较大;海拔、船舶纵倾值与船舶位置之间相关性极弱,属于无关变量。为了压缩网络结构并提高网络的泛化能力,将输入特征中数值小于0.1的相关性数据删除,最终选择航速、航向角、横摇、舵角、转速等与船舶位置坐标相关性较高的特征变量。

图2 船舶位置相关性分析

1.3 RNN-LSTM轨迹预测模型

传感器采集的大量时间序列的数据在经过前期的数据预处理相关性分析之后,获取到几个与船舶位置坐标相关性较高的特征变量。选择将前t时刻的航速、航向角、横摇、舵角、转速和位置坐标x、y的时间序列数据作为神经网络的输入,将未来时刻的船舶位置作为神经网络的输出。神经网络模型结构如图3所示。

图3 神经网络模型结构示例

在明确神经网络的相关输入输出后,需要构建合适的网络模型。RNN是为更好地处理时间序列信息而设计的,是目前时间序列数据预测的常用方法。RNN的实际输出是由存储过去信息的状态变量与当前网络的输入所共同决定的。由于根据时间序列数据进行预测,因此,考虑将RNN应用于船舶轨迹时间序列上的短期预测。普通的RNN在梯度计算时常会发生梯度消失现象及无法解决长时依赖的问题。为了改进该问题,采用LSTM网络模型。LSTM是一种特殊的RNN,通过引入记忆单元和门机制,能够有效克服普通RNN在深度学习中的梯度消失等缺陷。

最终,采用RNN-LSTM模型应用于船舶轨迹时间序列上的预测。LSTM 单元结构如图4所示。每个LSTM 单元内部包括输入门、遗忘门、输出门和1个记忆单元结构Cell[9-10]。

图4 LSTM单元结构

设给定输入序列xt,则输入门、遗忘门、输出门分别为it、ft、ot,记忆单元Ct则通过不同门控制数据的记忆和遗忘,具体表述为

(2)

式中:σ为Sigmod函数;ht-1为当下的隐藏状态;W和b分别为对应的系数矩阵和偏差项。

更新后的记忆单元Ct为

(3)

式中:qt为备选的记忆单元;ct-1为现有记忆门。

更新后的隐藏状态ht就是LSTM的最终输出:

ht=ottanh(ct)

(4)

LSTM结构在RNN-LSTM 神经网络中作为网络的核心单元,整个网络的预测流程就是在LSTM单元结构的基础上进行扩展。具体来说,输入的时间序列为向量X,且X中含有多个特征元素,即输入的数据流为{(X1,t1),(X2,t2),…,(Xk,tk)},对其进行预测可描述为

[Xk+1,Xk+2,…,Xk+n]=f(Xk,Xk-1,…,Xk-m)

(5)

式中:k为开始预测时刻;n为预测的输出步数;Xk+1,Xk+2,…,Xk+n为对应神经网络的输出向量;m为输入步数;Xk,Xk-1,…,Xk-m为网络的输入向量。整个时间序列的神经网络预测可以看作通过RNN-LSTM网络学习来近似逼近函数关系f,神经网络成为输入输出的非线性函数。上述时间序列预测的n步输出可以通过一个不断迭代的过程来进行实现,如图5所示。

其过程即为

Xk+1=f(X1,X2,…,Xk)

Xk+2=f(X2,X3,…,Xk,Xk+1)

Xk+3=f(X3,X4,…,Xk,Xk+1,Xk+2)

Xk+n=f(Xn,Xn+1,…,Xk+n-2,Xk+n-1)

图5 时间序列预测过程

时间序列的预测可描述为根据过去连续的k个序列向量值Xn,Xn+1,…,Xk+n-2,Xk+n-1,预测未来的第1个序列值Xk+n。船舶未来的位置正是通过时间序列上的不断迭代向前预测得到的。

除上述方法外,还可选择双曲正切作为激活函数,并将学习率设置为0.1。利用训练集上的BP算法,得到神经网络权值矩阵。通过将神经网络结构和权值矩阵应用于测试集,对实际轨迹与预测轨迹进行比较,可验证轨迹预测模型的准确性。提出的网络模型还选择均方误差(Mean Squared Error,MSE)作为模型预测精度的度量标准[11]。

2 神经网络训练及预报

为验证所提方法的实用性和有效性,选择船舶Z形试验数据及船舶在实际航道航行数据对网络模型进行训练及验证。将采集的数据进行预处理,分为训练数据及测试数据,并对数据进行归一化处理,将船舶航行数据的前70%作为网络的训练集,航行数据的后30%作为测试集进行预测,检验模型的准确性及泛化能力[12]。最终的训练及预测结果如图6和图7所示。

图6 船舶Z形实际轨迹训练值及预测值

图7 船舶航行轨迹训练值及预测值

试验结果表明:经过训练后的船舶轨迹预测精度误差如表2所示。由于Z形试验轨迹较为平滑,而实际航行轨迹弯道较多,航道环境较为复杂,因此Z形试验预测效果优于实际航行轨迹。但两者预测轨迹的结果整体上都与真实轨迹重合度较高、误差较小。预测效果表明,所构建的RNN-LSTM神经网络轨迹预测模型能够实现对船舶航行位置的迭代预测,并且精确度较好,有着较好的实用性。

表2 数据类型及预测精度

3 结 语

重点研究船舶运动轨迹预测。通过对采集数据进行预处理和相关性分析,选择与轨迹相关性较大的特征变量,并将RNN-LSTM的时间序列神经网络作为船舶轨迹预测框架的核心。在数据与处理部分,为建立一个紧凑的神经网络结构模型,使用相关性分析量化输入到输出的重要性,提取预测所需的相关输入特征,将筛选出的与船舶轨迹相关度较高的历史变量及当前的轨迹数据变量的时间序列数据作为输入项。在神经网络预测部分,为提高预测精度,选择对非线性时间序列适应性更佳的RNN-LSTM神经网络模型构建轨迹预测模型,通过船舶Z形试验相关数据与实船实际航行数据对网络模型进行训练,并将未来的船舶轨迹数据作为输出项,迭代预测船舶未来时刻的位置。最终,通过预测值与实际值的对比证明所提方法的实用性和有效性,满足船舶轨迹预测精确性与实时性的需求。

今后的工作将着重于在对神经网络进行建模时,应包含更多关于风速和浪高等环境变化的数据,考虑环境干扰力对船舶航行轨迹的影响。并且,由于神经网络属于较典型的黑箱模型,在预测机理方面还需进行更多的探索。

猜你喜欢
航行轨迹船舶
《船舶》2022 年度征订启事
到慧骃国的航行
轨迹
轨迹
船舶!请加速
BOG压缩机在小型LNG船舶上的应用
轨迹
小舟在河上航行
进化的轨迹(一)——进化,无尽的适应
船舶压载水管理系统