王知昊 元海文,2,▲ 李维娜 肖长诗
(1.武汉工程大学电气信息学院 武汉 430205;2.武汉理工大学智能交通系统研究中心 武汉 430063;3.武汉理工大学国家水运安全工程技术研究中心 武汉 430063;4.山东交通学院威海海洋信息科学与技术研究院 山东 威海 264200)
近年来,国内外交通系统在现代信息技术推动下正经历着由传统信息化逐步向智能网联化发展的深刻变革[1]。在构建以安全、高效、绿色、智能为特征的新一代航运系统[2]大背景下,智能航行技术主要体现在信息采集与融合、环境感知与学习、智能决策与控制等方面[3],在智能海事的发展中起到重要作用,成为当前智能航海领域的研究热点。轨迹预测能够根据周围环境和当前及过去的观测信息预测附近船舶未来行驶状态,引导智能船舶[4]采取合理有效航行路径或避让措施,对实现未来船舶智能航行具有重要意义。
国内外有关船舶轨迹预测的研究主要集中在2个方面:传统算法和基于机器学习的算法。
传统船舶轨迹预测算法主要基于运动学或统计概率。前者构建船舶运动状态转移方程,根据位置、航向、速度、重量、结构等船舶动态与静态信息,预测并更新未来时刻的航行轨迹,例如,模型预测[5]、卡尔曼滤波[6-7]、多项式卡尔曼滤波[8]等。基于统计概率的方法从概率角度分析,将目标船舶与周围船舶看作相互依赖、相互交互的运动实体,从环境全局策略角度考虑不同个体的运动轨迹。高斯混合模型[9-10]、灰色系统[11-12]分别被用于与船舶运动理论相结合,提升轨迹预测的可靠性。此外,贝叶斯模型[13-14]也能够通过计算船舶运动及其不确定性来实现船舶轨迹预测。传统轨迹预测方法比较依赖船舶运动趋向性,其时效性受船舶机动变化影响明显,在考虑环境及船舶自身因素方面往往具有一定局限性。
机器学习或深度学习通过对某区域历史船舶轨迹时空特征提取和模式识别,达到轨迹预测的目的。Zhou等[15]和甄荣等[16]分别利用反向传输神经网络对船舶经度、纬度、航速、航向等运动特征变化进行预测。随后提出的递归神经网络(recurrent neural network,RNN)[17]和长短期记忆(long short term memory,LSTM)[18]网络具有更好的时序记忆能力,在处理序列预测方面表现出色,被广泛用于船舶轨迹预测,改进的LSTM[19-20]被用于提升轨迹预测精度。季学武等[21]在LSTM轨迹预测基础上增加意图识别,能够同时输出向左换道、直线行驶、向右换道的概率。刘姗姗等[22]将卷积神经网络(convolutional neural network,CNN)与LSTM组合,实现船舶轨迹长短期时空特征的精准提取。Liu等[23]将LSTM与卡尔曼滤波相融合,创新性提出1种混合驱动的船舶轨迹预测架构。基于深度学习的轨迹预测方法在足够的数据支撑前提下有潜力挖掘获取船舶轨迹时序变化及环境特征。
交汇水域作为典型水上交通场景,航道纵横交错、船舶交通流形态复杂、船舶交通冲突严重,实施船舶轨迹预测对有效提升通航安全尤为重要。因此,本文以交汇水域为对象,研究船舶轨迹预测与航行意图识别方法:①设计1种CNN+LSTM组合网络模型,以船舶先前时段内的航行轨迹为输入,预测其未来时段轨迹序列、航行意图及其不确定性;②收集交汇水域内的历史船舶轨迹,对原始轨迹进行异常筛除、重采样、切割分段等预处理,形成连续、平滑、稳定的船舶轨迹数据集,用于所提模型的训练和测试;③开展实验评价,通过对比分析所提模型的预测性能,讨论不同输入参数(采样频率、观测时长、Dropout参数)对模型的影响。
大多数机器学习算法性能在一定程度上取决于充分的数据和精准的模型。本文使用的船舶轨迹数据来源于船舶自动识别系统(automatic identification system,AIS)公开数据集(https://marinecadastre.gov/ais/)。AIS作为1种船载导航设备,负责收集周围船舶静态和动态信息,并定时向外广播自身状态。根据身份识别码MMSI,可提取到所有船舶按时间变化的动态位置信息,从而形成多条带时间戳的轨迹序列。
以美国沿海某交汇水域为研究对象,主要研究该交汇水域的船舶轨迹预测与航行意图识别,提取2021年6月—8月船舶历史轨迹数据,见图1。本文在创建网络模型和模型训练过程,主要选择船舶随时间变化的位置序列作为输入参数,通过大量历史轨迹的学习对该交汇水域通航环境、船舶动静态信息等综合属性影响下的航行模式识别,即将这些参数作为隐藏特征进行辨识。
图1 交汇水域船舶航行轨迹Fig.1 Shiptrajectories in confluence waters
在船舶航行过程中,因AIS设备本身问题或环境干扰,AIS原始数据会出现异常。异常检测目的是消除异常的轨迹,降低错误数据对机器学习模型的不良影响。
从AIS数据中提取到的船舶动态位置信息,见式(1)。
式中:latt为船舶在t时刻的纬度坐标;lont为船舶在t时刻的经度坐标;xt:t+k为船舶t~t+k时刻之间的轨迹序列。
交汇水域通航环境中,船舶船速和航向变化通常保持相对稳定。因此,本文采用均方差检测异常轨迹,即当轨迹序列的均方差大于交汇水域对角线边界σ的1/3时,该条轨迹被认为异常,见式(2)。
同时,考虑到交汇水域附近存在一定数量的抛锚船舶和机动性较强的小型船舶。为降低此类型不规则的船舶轨迹对机器学习模型的影响,采用速度阈值法对轨迹序列中相邻2个点的航行速度进行检测。据统计观测,主航道正常航速应满足式(3)条件。
式中:Vmin为船舶航行最小速度,n mile/h;Vmax为船舶航行最大速度,n mile/h。根据统计观测,Vmin=5 n mile/h,Vmax=20 n mile/h。
AIS数据获取的原始船舶轨迹序列间隔周期不一致,不能直接用于机器学习模型。本文采用线性插值法对弯曲程度较小的原始轨迹序列进行重采样,针对曲率较大的轨迹序列时则采用拉格朗日插值法。
线性插值法将船舶轨迹近似为匀速直线运动,根据前后时间点对应的位置信息,计算当前时刻的位置,见式(4)。
式中:t1,t,t2分别为轨迹序列中前一时刻、当前时刻和后一时刻的时间戳。
拉格朗日插值法采用多项式函数拟合轨迹序列中所有观测点,进而利用该多项式函数重构轨迹序列。设原始轨迹序列包含k+1个观测坐标,拉格朗日插值多项式见式(5)。
式中:yt为采样后轨迹序列中时刻t的船舶位置状态;xi为原始轨迹序列中时刻ti的船舶位置状态。
经过异常检测和序列重采样预处理,获得一系列采样周期固定、数据质量较好的轨迹序列。然而,这些轨迹序列长度不同,并不能直接用于机器学习模型的输入训练,需要对不同长度的轨迹序列进行分割切片。选取交汇水域中部分船舶向右转向行驶的节点位置,以此为中点,分别向前、后各区固定数量的轨迹点,形成1条包含固定数量的轨迹序列。该轨迹序列被称为标准样本,所有的轨迹序列合起来形成交汇水域船舶轨迹标准数据集,见图1(b)。
使用上述方法,从3个月的AIS数据中提取得到237 612个轨迹样本。其中60%作为模型训练集,剩余40%作为测试集。
该模型采用编码器-解码器结构,通过对交汇水域船舶历史轨迹学习,获取通航环境约束与船舶航行特征,建立该区域相应的船舶轨迹预测与航行意图识别模型。在此基础上,引入Dropout网络结构,实现对基于学习的船舶轨迹预测不确定性估计。本研究提出的船舶轨迹预测与航行意图识别模型见图2。
图2 基于CNN+LSTM组合网络的船舶轨迹预测与航行意图识别模型Fig.2 Ship trajectory prediction and intention recognition model based on CNN+LSTM combined network
图2首先利用CNN+LSTM网络作为编码器部分,CNN设置内核大小为3×3,输出通道512,步长1,扩展率2,采用Relu激活函数,对输入的轨迹序列xt-h:t进行卷积操作,采用局部连接和共享权值的方法提取船舶轨迹特征信息。LSTM作为隐藏层进一步处理表征船舶轨迹的特征向量,达到长时间记忆功能,确保轨迹序列的时间相关性。LSTM选择Relu作为激活函数,神经元数量为128。经过CNN+LSTM编码,获取轨迹序列的上下文特征状态向量H。H取编码器中的最后1个LSTM隐藏状态向量。
解码器采用LSTM与全连接层组成的循环网络结构,模型以输入时间序列最后时刻t作为起始点预测对应的未来轨迹序列,故以编码器的最后输出状态H和船舶输入轨迹序列最后1个点xt作为输入,输出得到船舶轨迹时间序列预测结果xt+1:t+k。在此基础上增加1个逻辑分类输出,即引入航行意图识别因子C。根据预测值C,可判断交汇水域中船舶未来的航路选择。解码器中LSTM网络层神经元数量为128,全连接层神经元数量为128,分别选择Relu为激活函数。该模型采用均方误差(MSE)作为损失函数,Adam作为优化函数。
同时,将Dropout引入CNN+LSTM组合网络模型,实现对该模型预测的不确定估计。Dropout被设置在2层LSTM网络中,训练阶段以一定概率随机关闭LSTM网络中的神经元。在Dropout作用下,以相同的轨迹序列多次输入至该CNN+LSTM网络模型,获得1组不完全相同的预测结果假设预测不确定性模型符合正态分布,且经度、纬度相互独立,则最优的预测结果x͂t+1:t+k及其不确定性Qt+1:t+k可由式(6)~(7)定义。
式中:为轨迹在t+1~t+k时刻之间的第i次预测结果。
基于CNN+LSTM组合网络的船舶轨迹预测与航行意图识别方法训练和测试的具体流程见图3。首先,利用该交汇水域船舶轨迹数据集的训练子集,对CNN+LSTM组合网络进行迭代训练,实现船舶轨迹预测与航行意图识别模型;然后,使用数据集的测试子集对该模型进行测试,通过与真实值、其他方法的对比,分析评价本文所提方法的有效性。不同场景由于尺度、环境、政策等因素不同,船舶航行特征也相应改变。因此,如将本文方法应用于其他场景,需收集目标场景的历史轨迹,制作相应数据集,对本文设计的网络模型进行重新训练,学习目标场景中的船舶航行特征或规律。
图3 船舶轨迹预测与航行意图识别方法流程Fig.3 Theflow of the ship trajectory prediction and intention recognition method
使用训练后的CNN+LSTM组合网络开展船舶轨迹预测实验,以某船舶过去60 min时段轨迹作为输入,预测其未来60 min时段内的航行轨迹,结果见图4。图4(a)(c)(e)为船舶保持直线航行情形的轨迹预测结果,与真实轨迹进行相似度匹配,预测误差分别为2.194,4.178,3.957 n mile;图4(b)(d)(f)分别为船舶右转航行情形的轨迹预测结果,预测误差为4.86,2.252,4.316 n mile。此处的预测误差由轨迹相似度的倒数定义,即预测轨迹与真实轨迹之间的相对距离之和。根据交汇水域2种不同情形的预测结果,本文所设计的CNN+LSTM组合网络能够实现船舶轨迹预测。
图4 以前60 min时长为输入,预测未来60 min时段内的船舶轨迹Fig.4 Predicting the ship trajectories of next 60 min with the input of previous 60 min
为说明本文所提模型的预测性能,将CNN+LSTM组合网络预测模型与基于LSTM的轨迹预测方法、传统运动轨迹预测方法进行对比。在采样频率3 min、序列时长60 min的输入条件下,预测结果见图5。其中,图5(a)为船舶直线航行情形的预测结果,图5(b)为对应的局部放大图,传统运动预测误差为1.195 n mile,LSTM预测误差为2.019 n mile,CNN+LSTM预测误差为1.628 n mile;图5(c)为船舶右转向航行情形的预测结果,图5(d)为对应的局部放大图。由图5可见:传统运动预测误差为27.15 n mile,LSTM预测误差为7.487 n mile,CNN+LSTM预测误差为5.123 n mile,误差降低了31.6%。在该交汇水域处,当船舶保持直线航行无机动性操纵时,传统运动预测方法凭借对当前状态运动趋向性的把握,对未来时段轨迹预测效果最佳。然而,当船舶发生操纵性改变逐渐向右转向行驶时,CNN+LSTM预测效果更好,主要是因为通过大量历史轨迹的学习能够掌握当前区域的航道环境及船舶航行特征。
图5 LSTM+CNN、LSTM、运动预测方法对比Fig.5 Comparison between LSTM+CNN、LSTM、motion-based predictions
为确定最佳的模型输入条件,分析对比了以不同的轨迹序列时长和采样频率作为输入对CNN+LSTM模型预测的影响。以船舶过去60 min时段的轨迹序列作为输入,分别取1,3,6,12 min作为采样频率,对CNN+LSTM组合网络进行训练,得到4组船舶轨迹预测模型。利用数据集测试子集,预测结果见表1,对预测轨迹均匀抽取5个预测点与真实轨迹进行比较,其中t1为预测轨迹中第12 min,t2为预测轨迹中第24 min,t3为预测轨迹中第36 min,t4为预测轨迹中第48 min,t5为预测轨迹中第60 min。结果表明:以3 min采样频率为输入的模型预测误差最小,为3.946 n mile。随着时间的推移,所有模型预测误差逐渐增大,以3 min采样频率为例,最大误差为t5时刻的1.208 8 n mile。
然后,确定采样频率为3 min,分别选取轨迹序列时长为15,30,45,60 min作 为 输 入,对CNN+LSTM组合网络进行训练,对应生成4组预测模型,预测未来60 min时段的轨迹序列。采用与之前相同的预测误差计算方法,结果见表2。结果表明:以60 min时长为输入的模型预测效果最佳,平均预测误差为3.946 n mile,最大误差为1.208 8 n mile。
表2 不同时长输入条件下的轨迹预测误差Tab.2 Trajectory prediction errors using different durations as inputs
本文涉及的航行意图是指船舶经过交汇处后的航路选择。航行意图随交汇水域交通结构变化而不同。选取的具体交汇水域主要分为直线航行和右转航行,因此航行意图也为对应的直线航行和右转航行这2种。利用所提方法对随机选取的100条船舶轨迹的航行意图进行了识别,其中57条直线航行轨迹,43条右转航行轨迹,计算得到混淆矩阵,见表3。意图识别因子C≥0.5表示右转航行,C<0.5表示直线航行,直线航行意图识别准确率为85.96%,右转航行意图识别准确率为88.37%,总体识别精度为87%。尽管已经采取数据治理方法,但是AIS系统偏置引起的误差仍然存在,导致部分航行意图未能准确识别。充分、精确的数据集有利于改善基于学习的轨迹预测方法。在未来研究工作中,采用基于聚类的异常检测方法对AIS船舶轨迹精细化筛选。
表3 交汇水域船舶航行意图识别混淆矩阵Tab.3 Confusion matrix of intention identification for ships in confluence waters
在CNN+LSTM组合网络模型中引入Dropout模型,以此实现对预测结果的不确定性估计。该不确定性主要反映的是预测轨迹序列在经度、维度坐标上的误差范围,采用预测协方差来表示。为更好地解释预测不确定性的意义,图6分别展示了交汇水域船舶直线航行和右转航行时的轨迹预测及不确定性。其中,每个预测位置上的不确定性通过半透明的椭圆表示,椭圆在水平方向的轴长表示经度不确定性,在垂直方向的轴长表示纬度不确定性。无论船舶是直线航行还是右转航行,随着时间推移,预测不确定性逐渐增大,预测精度逐渐下降,然而不确定性范围基本能够完全覆盖真实轨迹。因此,不确定性估计的引入,使得轨迹预测方法更具有实用价值。
图6 船舶轨迹预测不确定性估计(Dropout=0.5)Fig.6 Uncertainty estimation of ship trajectory prediction(Dropout=0.5)
为确定最优的Dropout值,对不同Dropout值条件下的船舶轨迹预测及不确定性结果进行对比分析。以船舶过去1 h时段的轨迹序列作为输入,设置Dropout值分别为0.3,0.4,0.5,0.6,0.7,对CNN+LSTM网络模型进行训练和测试。表4均匀抽取预测序列中的5个位置,其中t1为预测轨迹中第12 min,t2为预测轨迹中第24 min,t3为预测轨迹中第36 min,t4为预测轨迹中第48 min,t5为预测轨迹中第60 min。当选取Dropout值较大时,预测不确定性范围过大,尽管能够覆盖真实值,但模型拟合效果较差;当Dropout值较小时,预测不确定性范围减小,导致不能完全覆盖真实值,模型无法精准掌握自身预测性能。通过比较,当Dropout值为0.5时,在确保模型正确拟合的条件下,不确定性估计对真实值的覆盖率最高,效果最佳。
表4 不同Dropout值条件下的轨迹预测不确定性估计及覆盖率Tab.4 Uncertaintyestimation and coverage rate of trajectory prediction with different Dropout values
基于AIS的船舶轨迹预测能够为船舶智能航行和水上交通安全保障提供基础技术支持。所提出的船舶轨迹预测与航行意图识别方法基于CNN+LSTM组合网络模型提取通航环境约束及船舶航行特征,并利用Dropout模型计算预测结果的不确定性。开展了定量、定性实验,结果证明了提出的船舶轨迹预测和航行意图识别方法在交汇水域场景中能够取得较好的精度。
在未来研究工作中,将引入环境、物理等特征作为模型输入参数,通过与本文方法对比,实现对船舶轨迹预测的关键特征识别。同时,将运动预测与数据驱动的机器学习方法相融合,降低对数据集的依赖性,提升轨迹预测的可靠性。