舰船科学技术  2026, Vol. 48 Issue (4): 141-147    DOI: 10.3404/j.issn.1672-7649.2026.04.022   PDF    
基于改进Seq2Seq的船舶轨迹预测算法
曹建鑫1, 史岳橙1, 高睿1,2     
1. 上海交通大学 海洋智能装备与系统教育部重点实验室,上海 200240;
2. 上海交通大学 深圳研究院,深圳 518057
摘要: 为解决以往船舶轨迹预测模型在训练过程中未能合理应对多步预测任务间关联性的问题,构建了一种融合频域分析方法和Seq2Seq模型的船舶轨迹预测算法(Time-Frequency based Seqence to Seqence Model,TF-Seq2Seq)。基于自动识别系统数据特点设计了系列预处理操作;用融合频域分析方法和Seq2Seq模型的改进算法捕获船舶轨迹序列的关联性。基于真实数据进行实例分析,结果表明基于长短时记忆单元的Seq2Seq改进算法多种指标上表现最优,均方误差较原算法降低了12.9%。算法改进能更好地发挥模型优势,提高船舶轨迹预测精度。
关键词: 自动识别系统     傅里叶变换     船舶轨迹预测     Seq2Seq模型    
Vessel trajectory prediction algorithm based on improved Seq2Seq
CAO Jianxin1, SHI Yuecheng1, GAO Rui1,2     
1. MOE Key Laboratory of Marine Intelligent Equipment and System, Shanghai Jiaotong University, Shanghai 200240, China;
2. Shenzhen Research Institute, Shanghai Jiaotong University, Shenzhen 518057, China
Abstract: To address the inadequate handling of inter-task correlations in multi-step prediction during model training in existing approaches, a multi-step vessel trajectory prediction algorithm integrating frequency domain analysis with Seq2Seq architecture (TF-Seq2Seq) is proposed. Systematic preprocessing operations were designed considering characteristics of Automatic Identification System data, while an improved algorithm combining frequency domain analysis and Seq2Seq model was developed to capture temporal correlations in trajectory sequences. Experimental analysis using real-world data demonstrates that the enhanced Seq2Seq model with Long Short-Term Memory units achieves optimal performance across multiple evaluation metrics, with the mean squared error reduced by 12.9% compared with the original algorithm. The proposed improvements effectively enhance model advantages and significantly improve prediction accuracy for vessel trajectories.
Key words: automatic identification systemrd     fourier transform     vessel trajectory prediction     Seq2Seq model    
0 引 言

新兴智能技术的兴起带动了船舶领域内部的科技革新,促进了智能船舶技术各功能模块的进一步分化。船舶轨迹预测技术作为船舶智能驾驶中决策规划任务的重要基础模块,能够通过分析航行目标的既往运动信息预测其未来一段时间内的运动态势,短期预测能够辅助船舶营运、助力避碰[1];中长期预测能够辅助航线规划,提升航行效益;在军事领域,船舶轨迹预测能够为实时作战指挥和总体战略制定提供可靠的信息支持,提升战略博弈收益。

船舶轨迹预测技术最初通过先验知识构建船舶运动的数学模型实现轨迹预测。Best等[2]提出一种曲线跟踪模型,该模型利用曲线的特性很好地描述船舶等运动体在转向运动、复杂曲线运动时的形状特点,达到一定精度的预测效果,但这种方法忽视了运动特征之间的关联性以及数据时序特性,未通过物理运动规律建模,预测效果离实际应用有较大差距。徐铁等[3]构建了基于卡尔曼滤波理论的船舶轨迹预测算法,算法搭建了运动特征间关系式,具备实效性和准确性,但多步预测时无法满足精度要求,且这类基于数学模型的方法较依赖建模精度,而船舶运动的影响因素过多,实际传感器捕获的运动特征极其有限,致使模型无法还原复杂运动逻辑,预测模型的泛用性以及实际预测效果均欠佳。

随着人工智能的不断发展,深度学习这类非传统的数据驱动算法由于无需通过先验知识建模并且性能优越的特点逐步吸引了学者的注意,使得许多学者将其用于船舶轨迹预测。甄荣等[4]提出一种基于反向传播网络的船舶轨迹预测模型,通过过去3步的运动信息预测未来1步的运动信息,实现多维度特征预测,但由于网络结构简单,特征提取能力不足,预测效果有较大提升空间。权波等[5]提出了一种基于循环神经网络(Recurrent Neural Network,RNN)和长短时记忆网络(Long Short-Term Memory,LSTM)的船舶轨迹预测模型,模型能够捕捉输入序列间的时序特性,并通过递归的方式预测未来多时间步运动信息,但是递归预测会导致预测结果存在累计误差,不适应中长期轨迹预测。

为了应对多步船舶轨迹预测的实际应用需求,诸多算法被陆续提出。叶文哲[6]构建一种基于门控递归单元(Gated Recurrent Unit,GRU)的序列到序列(Sequence to Sequence,Seq2Seq)多时间步预测模型,模型在直线轨迹预测和曲线轨迹预测的预测结果上相较于普通深度学习模型具有更高的精度;Gao等[7]基于Tp-Net理论提出了多时间步LSTM轨迹预测模型,模型假定了船舶未来轨迹形状,并引入了约束降低了多时间步预测问题的复杂度,同时在长时间轨迹预测上具备一定性能优势;许多学者利用注意力机制和Transformer变体[810]实现更长序列的时序特征提取,并通过优化算法自主选择模型超参数[11]提升算法性能。上述的船舶轨迹预测模型在应对标签之间相关性时均未采取措施,因此预测性能仍然有一定提升空间,可通过结合傅里叶变换[1213]的方式进一步改进船舶轨迹预测算法。

针对上述问题,本文搭建了一种结合频域分析方法的船舶轨迹预测算法(Time-Frequency based Seqence to Seqence Model,TF-Seq2Seq),依据船载自动识别系统(Automatic Identification System,AIS)数据特点以及运动特征间关联性实现完整的轨迹数据预处理流程,之后利用LSTM等时序网络单元提取输入序列关联性,并构造Seq2Seq架构预测未来多时间步运动信息,避免递归多步预测带来的累计误差问题,为应对输出序列间的相关性问题,构建了融合频域分析方法的综合损失函数,从频域角度解耦多步预测任务,提升训练所得模型预测精度。最后通过实验论证了算法的有效性。

1 船舶轨迹数据预处理及特征构建 1.1 轨迹数据筛除及异常检测

船舶在停泊或是低速航行时,采样的AIS数据信息重复度较大,模型预测效益较低,因此筛除平均航速小于1 kn的轨迹数据,并去除对地航速小于0.5 kn的运动信息。为了切分同一MMSI下不同任务对应的轨迹,将时间阈值设置为2 h,利用阈值进一步分段信息。

AIS数据异常情况包含信息完全重复、特征缺失以及漂移点问题。对于前两类异常可通过列表推导式剔除。针对第三类问题,由于船舶运动受物理规律约束,可利用相邻时间戳的速度特征限制目标船舶坐标变化,筛除异常噪声。在检测异常前先通过哈弗赛公式求取相邻时刻位置点的距离:

$ \begin{cases} A={\sin }^{2}\left(\displaystyle\frac{la{t}_{{{t}_{i}}}-la{t}_{{{t}_{i+1}}}}{2}\right)+\cos \left(la{t}_{{{t}_{i}}}\right)\cdot\\ \qquad \cos \left(la{t}_{{{t}_{i+1}}}\right)\cdot {\sin }^{2}\left(\displaystyle\frac{{lon}_{{{t}_{i}}}+lo{n}_{{{t}_{i+1}}}}{2}\right),\\ C=2\cdot \arcsin \sqrt{A},\\ D={R}\cdot C。\\ \end{cases} $ (1)

式中:$ {lon}_{{{t}_{i}}} $$ {lat}_{{{t}_{i}}} $分别为不同时刻经纬度;$ {t}_{i} $为不同时刻;下标$ i $为时间戳序号;R为地球半径,设置为6370 km,D为由两点经纬度计算出的距离差。通过上式可获取时刻位置点至前后时刻的距离之后通过速度项对其鉴别:

$ \begin{cases} {D}_{1} \gt 2\times ({t}_{i}-{t}_{t-1})\times (so{g}_{{{t}_{i-1}}}+so{g}_{{{t}_{i}}}),\\ {D}_{2} \gt 2\times ({t}_{i+1}-{t}_{i})\times (so{g}_{{{t}_{i}}}+so{g}_{{{t}_{i+1}}})。\\ \end{cases} $ (2)

式中:$ {D}_{1} $$ {D}_{2} $分别为$ {t}_{i} $对应位置点至上一时刻和下一时刻的移动距离;sog为对地航速。式(2)满足时,可认为$ {t}_{i} $点的运动超过了航速限制,滤除该时刻信息。

1.2 轨迹修补与重采样

异常数据检测会造成一定程度的数据缺失,同时实际采样时AIS数据的记录频率会随着船舶的运动状态而改变,最终的采样间隔并不是统一的,为此本文对清洗后的数据利用三次样条插值进行修复和重新采样,保证修复数据的平滑性和等距性。

由于AIS信息中对地航向的取值范围是0°~360°,当航向角在360°周围波动时,相邻时刻的航向数值之差会出现激烈的变化,不利于插值函数的求取,为此需在插值前对运动信息中的对地航行cog及对地航速sog进行如下变换:

$ \left\{\begin{split}&so{g}_{N}=sog\times \cos \left(\displaystyle\frac{cog\times {\text{π}} }{180}\right),\\ &so{g}_{E}=sog\times \sin \left(\displaystyle\frac{cog\times {\text{π}}}{180}\right) 。\end{split}\right. $ (3)

式中:$ {{sog}}_{N} $$ {{sog}}_{E} $分别为正北、正东方向分量。

三次样条插值通过构造样条函数分段近似表达点集的变化趋势。设存在n个点组成的点集,每个点横坐标为时刻$ {t}_{i} $,纵坐标为对应特征量$ {y}_{i} $,三次样条插值的做法就是在相邻两点间设定样条函数$ {S}_{i}(t) $,样条函数默认是三次函数,如下式:

$ {S}_{i}\left(t\right)={a}_{i}{(t-{{t}_{i}})}^{3}+{b}_{i}{(t-{{t}_{i}})}^{2}+{c}_{i}(t-{t}_{i})+{y}_{i}。$ (4)

式中:$ {{S}}_{{i}}\left({t}\right) $为分段对应的样条函数;$ {{a}}_{{i}} $$ {{b}}_{{i}} $$ {{c}}_{{i}} $分别为对应需要求解的各个次项的系数;$ {t} $为变量。通过对各个节点处相接的分段函数规定连续性条件,以节点处函数值、导数值、二次导数值和边界条件即可求解各分段的具体表达,求解方程组如下式:

$ \begin{cases} {S}_{i}({t}_{i+1})={y}_{t+1}={S}_{i+1}({t}_{i+1}),\\ S_{i}^{\prime}({t}_{i+1})=S_{i+1}^{\prime}({t}_{i+1}),(i=1,2,......,n-2),\\ S_{i}^{''}({t}_{i+1})=S_{i+1}^{''}({t}_{i+1}),(i=1,2,......,n-1)。\\ \end{cases} $ (5)

式中:$ {{S}}_{{i}}\left({{t}}_{ i{+1}}\right) $$ {S}_{{i}}^{{'}}\left({{t}}_{i{+1}}\right)\mathrm{、}{S}_{{i}}^{{''}}\left({{t}}_{i{+1}}\right) $分别为函数在$ {{t}}_{i{+1}} $时刻的函数值、导数值、二阶导数,描述了连续性条件。对首尾边界设置了自然边界条件,如下式:

$ \begin{cases} S_{1}^{''}({t}_{1})=0,\\ S_{n}^{''}({t}_{n})=0。\\ \end{cases} $ (6)

式中:$ {S}_{{1}}^{{''}}\left({{t}}_{{1}}\right) $$ {S}_{{n}}^{{''}}\left({{t}}_{{n}}\right) $分别为首尾端点的二阶导数。进一步求解所有的未知数,各样条函数可组成一个连续、光滑的分段函数,如下式:

$ S(t)\begin{cases} {S}_{1}(t),t\in [{t}_{1},{t}_{2}),\\ {S}_{2}(t),t\in [{t}_{2},{t}_{3}),\\ {S}_{3}(t),t\in [{t}_{3},{t}_{4}),\\ ......\\ {S}_{n-1}(t),t\in [{t}_{n-1},{t}_{n}]。\\ \end{cases} $ (7)

考虑到经纬度这类特征存在一定趋势性且分布非平稳,对位置特征量进行一阶差分:

$ {\boldsymbol{x}}_{\boldsymbol{t}}=[\Delta lo{n}_{t},\Delta la{t}_{t},so{g}_{N,t},so{g}_{E,t}]。$ (8)

式中:$ \text{∆}{{lon}}_{{t}} $$ \text{∆}{{lat}}_{{t}} $分别代表t时刻经纬度的一阶差分。

1.3 数据集构建

为了消除运动信息中的多个特征取值范围不同带来的负面影响,先对数据进行归一化操作:

$ {\boldsymbol{x}}^{\prime}_{\boldsymbol{t}}\mathbf=\frac{{\boldsymbol{x}}_{\boldsymbol{t}}\mathbf-{\boldsymbol{x}}_{{min}}}{{\boldsymbol{x}}_{{max}}\mathbf-{\boldsymbol{x}}_{{min}}}。$ (9)

式中:$ {\boldsymbol{x}}_{\boldsymbol{t}} $${\boldsymbol{x}}_{\boldsymbol{t}}^{'} $分别为归一化前后t时刻运动信息,下标max、min分别为根据数据集选取的包含各个特征的最大值和和最小值的向量。

归一化后通过滑动窗口取样划分样本。滑动窗口取样即在数据集上创建一个固定大小的可滑动窗口来划分样本,取样窗口大小直接影响了预测模型的性能,窗口过大会导致样本长度过长减缓训练效率,同时引入了预测不必要的信息,对模型预测造成阻碍,而窗口过小则可能使模型对噪声过于敏感,难以捕捉到序列间的关联信息,因此要根据具体数据集选择合适的窗口大小。

2 算法构建 2.1 长短时记忆网络

LSTM[14]是一种特殊类型的RNN变体,在传统RNN模型中,相邻时间步的关联信息储存在隐藏状态向量内部并在不同时间步的网络中传递,但隐藏状态向量储存信息的能力有限,这导致RNN网络难以捕捉较长期的序列依赖关系。LSTM单元内部添加了新的记忆细胞设计以及门控结构设计。具体结构如图1所示,记忆细胞中储存长时间序列中逐步提取的状态向量,之后通过设立的多个门控制更改细胞内状态向量,实现捕获长序列关联信息的目的。

图 1 LSTM单元结构 Fig. 1 LSTM unit structure

当前时刻LSTM结构除了接收上一时间步输送的隐藏状态$ {\boldsymbol{h}}_{\boldsymbol{t}-1} $和当前时刻的运动表征向量$ {\boldsymbol{x}}_{\boldsymbol{t}} $外还会接收上一时间步的记忆细胞状态向量$ {\boldsymbol{C}}_{\boldsymbol{t}-1} $。LSTM网络内部的工作原理如下,首先对输入的信息向量进行处理,如下式:

$ \begin{cases} {\boldsymbol{f}}_{\boldsymbol{t}}=\sigma \left({\boldsymbol{W}}_{\boldsymbol{f}}\left[{\boldsymbol{h}}_{\boldsymbol{t}-1}\mathbf{,}{\boldsymbol{x}}_{\boldsymbol{t}}\right]\mathbf+{\boldsymbol{b}}_{\boldsymbol{f}}\right),\\ {\boldsymbol{i}}_{\boldsymbol{t}}=\sigma \left({\boldsymbol{W}}_{i}\left[{\boldsymbol{h}}_{\boldsymbol{t}-1}\mathbf{,}{\boldsymbol{x}}_{\boldsymbol{t}}\right]\mathbf+{\boldsymbol{b}}_{\boldsymbol{i}}\right),\\ {\boldsymbol{o}}_{\boldsymbol{t}}=\sigma \left({\boldsymbol{W}}_{\boldsymbol{o}}\left[{\boldsymbol{h}}_{\boldsymbol{t}-1},{\boldsymbol{x}}_{\boldsymbol{t}}\right]+{\boldsymbol{b}}_{\boldsymbol{o}}\right),\\ {\mathbf{\tilde{\boldsymbol{C}}}}_{\boldsymbol{i}}=\tanh \left({\boldsymbol{W}}_{\boldsymbol{c}}\left[{\boldsymbol{h}}_{\boldsymbol{t}-1},{\boldsymbol{x}}_{\boldsymbol{t}}\right]+{\boldsymbol{b}}_{\boldsymbol{c}}\right)。\\ \end{cases} $ (10)

式中:σ表示sigmoid函数,同tanh函数都是常用的激活函数;$ {\boldsymbol{W}}_{f} $$ {\boldsymbol{b}}_{f} $$ {\boldsymbol{W}}_{i} $$ {\boldsymbol{b}}_{i} $$ {\boldsymbol{W}}_{o} $$ {\boldsymbol{b}}_{o} $$ {\boldsymbol{W}}_{c} $$ {\boldsymbol{b}}_{c} $分别代表遗忘门、输入门、输出门和记忆细胞的权重矩阵和偏置向量,通过矩阵乘法从输入向量中提取有效信息送入各个门的激活函数,之后获得遗忘门、输入门、输出门的输出向量$ {\boldsymbol{f}}_{\boldsymbol{t}} $$ {\boldsymbol{\iota }}_{\boldsymbol{\tau }} $$ {\boldsymbol{o}}_{t} $以及候选记忆细胞状态$ {\mathbf{\tilde{\boldsymbol{C}}}}_{\boldsymbol{i}} $,遗忘门输出向量决定了上一时刻记忆细胞状态的信息保留情况,输入门的输出向量筛取候选记忆细胞状态内的重要信息并存入这一时刻记忆细胞内,如下式:

$ {\boldsymbol{C}}_{\boldsymbol{t}}={\boldsymbol{f}}_{\boldsymbol{t}}\times {\boldsymbol{C}}_{\boldsymbol{t}-1}+{\boldsymbol{i}}_{\boldsymbol{t}}\times {\tilde{\boldsymbol{C}}}_{\boldsymbol{t}}。$ (11)

式中:$ {\boldsymbol{C}}_{\boldsymbol{t}} $即更新后当前时刻的记忆细胞状态(其中*符号代表哈达玛积)。这种设计清晰分化了各个模块的职能,在计算反向传播梯度的时候,由于门控机制对梯度传播有着筛漏作用,只有部分梯度会被链式传递,这一定程度上减少了梯度累乘造成的梯度爆炸及梯度消失现象。经过更新的信息会被输入tanh激活函数,之后通过输出门的输出向量决定当前时刻的隐藏状态,具体如下式:

$ {\boldsymbol{h}}_{\boldsymbol{t}}={\boldsymbol{o}}_{\boldsymbol{t}}\times \tanh \left({\boldsymbol{C}}_{\boldsymbol{t}}\right)。$ (12)

之后$ {\boldsymbol{h}}_{\boldsymbol{t}} $$ {\boldsymbol{C}}_{\boldsymbol{t}} $被传入下一时刻的LSTM结构,依次完成LSTM隐藏层内的信息传递,如图2所示。

图 2 LSTM层内传播 Fig. 2 The propagation within the LSTM layer
2.2 Seq2Seq多步预测框架

Seq2Seq框架[15]是现如今多时间步预测问题中最常套用的一种框架,能够处理、提取多时间步输入序列特征并直接输出目标长度的预测结果,避免了递归预测方案中因反复将单步预测结果嵌套代入单步预测模型带来的累计误差,实现更高精度的多时间步预测,其结构如图3所示。

图 3 Seq2Seq多步预测示意图 Fig. 3 The illustration of multi-step prediction using Seq2Seq

Seq2Seq框架主要分为编码器和解码器2个部分,编码器设立参数独立的时序模型将输入的多时间步AIS信息映射至高维空间,并通过非线性运算提取序列特征,将原多时间步信息提取至固定长度的上下文向量,便于后续解码预测;解码器同样设立了参数独立的时序模型,通过将编码器传递的上下文向量作为初始状态,并对输入序列最后时间步的位置、运动状态等信息逐步分析获取单一时间步预测结果,之后将预测结果作为下一时间步的输入实现多时间步预测。

2.3 融合频域误差的综合损失

传统的直接多时间步预测模型(基于Seq2Seq架构、Transformer等)通过解码器自回归输出的方式直接输出预测序列,之后将序列按不同时间步分别与标签比对,计算平均指标并指导模型参数更新,忽略了预测序列及标签的自相关性,这会为模型参数迭代带来一定负面影响,针对这一问题,选择将频域分析方法与Seq2Seq多步预测架构相结合应用于船舶轨迹预测,通过将预测结果与标签通过离散傅里叶变换映射至频域进行比对,利用频域中不同频率信号的正交性实现多步预测任务在频域的合理分解,实现更合理的模型训练,优化参数更新过程。

改进的多步预测模型通过分别计算预测序列和标签在时频域的差异,综合构建搭建更为合理的损失函数用于指导模型参数更新:

$ \begin{cases} {L}_{{\mathrm{time}}}=\displaystyle\frac{1}{m}\sum \limits_{k=1}^{m}\left[\displaystyle\frac{1}{n}\sum \limits_{i=1}^{n}{({y_{label}^{i,k}}-{y_{pred}^{i,k}})}^{2}\right],\\ {\hat{y}}^{{{}_{i,h+1}}}=\displaystyle\sum \limits_{k=0}^{m-1}{e}^{-j\frac{2\text{π} }{m}kh}{y}^{{{}_{i,k+1}}},\\ {L}_{fre}=\displaystyle\frac{1}{n}\sum \limits_{i=1}^{n}\left[\displaystyle\frac{1}{m}\sum \limits_{h=0}^{m-1}\left| \hat{y}_{label}^{i,h+1}-\hat{y}_{pred}^{i,h+1}\right| \right],\\ L={\sigma }_{1}\cdot {L}_{time}+{\sigma }_{2}\cdot {L}_{fre}。\\ \end{cases} $ (13)

式中:$ {{L}}_{{time}} $$ {{L}}_{{fre}} $分别为时域中各项特征计算的损失以及频域中计算所得的损失;$ {\hat{y}}_{label} $表示对应特征真实值的频域转化;$ {\hat{y}}_{pred} $下标表示对应特征的估计值的频域转化;n为特征数;m为时间步数;$ {\sigma }_{1} $$ {\sigma }_{2} $为各部分损失的权重。

2.4 改进Seq2Seq算法构建

本文依据AIS的信息特点设计了相应的预处理操作,使得算法能有效地处理原始船舶轨迹数据中的噪声问题;TF-Seq2Seq以Seq2Seq模型为主体,将快速傅里叶变换引入损失函数,构建时域、频域综合损失辅助模型更好地学习船舶运动序列关联性,结构如图4所示。

图 4 算法框架 Fig. 4 Algorithm framework

TF-Seq2Seq模型的整体结构同样分为编码器和解码器2个部分,编码器接收输入船舶轨迹序列,通过内部的LSTM等时序网络层提取轨迹序列的时空关联性特征,通过全连接层和激活层对提取信息进行非线性映射,提升模型的表达能力,完成序列信息编码后将融合了输入船舶轨迹整体信息的状态向量输入至解码器;解码器将接收的状态信息作为自己的初始状态,通过内部的时序网络层逐步解构状态信息,以自回归的方式生成高维的代表预测结果的隐藏状态,输出头的全连接层及激活层将高维隐藏状态转变成原来的特征长度,最终的预测结果会被输入综合损失函数和对应的真实轨迹标签进行比对,综合损失函数从频域角度分解多步预测任务,指导模型参数更新,得到具备更好预测效果的多步预测模型。执行预测任务时将样本输入训练好的模型得到输出,进行反归一化后即可得到预测的船舶轨迹。

3 实验与结果分析

考虑到用于实验的数据集需具备一定的分析价值,能够验证模型的实际效用优越性,选取2021年1—2月于经度−91.675°~−91.475°、纬度31.21°~31.36°范围内主航道中捕获的20万条真实AIS运动数据作为实验对象,数据包含船舶的经纬度、航行速度以及艏向,如图5所示,该航道月流量过千艘,且航段曲度较大,连续多个转向处,易发生事故,是轨迹预测技术典型的应用场景。数据来源于美国国家海洋和大气管理局(National Oceanic and Atmospheric Administration,NOAA)与内政部海洋能源管理局(Bureau of Ocean Energy Management,BOEM)合作开发的公开网站平台MarineCadastre.gov。

图 5 数据集散点图 Fig. 5 Data distribution point diagram

经过预处理的轨迹数据集采样周期为60 s,按照8∶1∶1的比例分割成训练集、验证集、测试集。

3.1 实验设置

实验硬件环境如下:CPU为AMD Ryzen 97940HX with Radeon Graphics,GPU为NVIDIA GeForce RTX 4070 Laptop GPU;软件环境:Pytorch为2.5.1+cu124,Python 3.10.15。

实验构建了基于GRU[16]、LSTM、2种Seq2Seq模型以及采取不同时序单元的TF-Seq2Seq共6种模型,各模型结构超参数设置相近,通过比对在同一数据集上的训练过程、结果,展示模型的性能。解编码器预测模型的编码器依次由2层时序网络层构成,解码器由一层时序网络层以及2层Dense层构成,Dense层内设置Relu作为激活函数。

实验具体参数设置见表1,左侧依照模型各网络层排列顺序设定了结构参数,右侧规定了模型的预测任务,即通过过去60个时间步的运动信息预测后30个时间步的运动态势,并确定了重要的训练参数。

表 1 解-编码器模型参数设置 Tab.1 Encoder-Decoder model parameter settings
3.2 评价指标

为了综合展示改进模型性能,比对模型差异,在已有综合损失函数的基础上,添加均方误差(Mean Squared Error,MSE),平均绝对值误差(Mean Absolute Error,MAE)等额外评价指标,公式如下:

$ \left\{\begin{split}&MSE=\displaystyle\frac{1}{n}\sum \limits_{i=1}^{n}{({{y}_{i}}-{{\hat{y}}_{i}})}^{2},\\ &MAE=\displaystyle\frac{1}{n}\sum \limits_{i=1}^{n}\left| {y}_{i}-{\hat{y}}_{i}\right|。\end{split}\right. $ (14)

式中:$ {y}_{i} $为变量真实值;$ {\hat{y}}_{i} $为估计值;n为特征数。

考虑到综合损失中时域损失与频域损失的量级存在一定差距,为确保综合损失量级和原时域损失量级相近,将式(13)中的$ {\sigma }_{1} $$ {\sigma }_{2} $分别设置为0.5和0.003125

3.3 实验内容分析

图6所示为前15个训练周期内Seq2Seq(LSTM)模型以及对应TF-Seq2Seq在验证集上的各项指标变化。从中可以看出改进模型的各项误差变化曲线呈现稳步下降趋势,而原模型的误差曲线有着较大的波动,说明改进模型的参数更新过程更为稳定;当训练达到第10~15个训练周期时,改进模型在验证集上的MSE和MAE均比原模型小,说明综合误差相较于单一时域误差能更好地指导模型寻找更优的参数搭配,提升最终的预测性能。

图 6 误差指标变化对比图 Fig. 6 Data distribution point diagram

表2所示为不同模型在经历50个训练周期后于测试集上的各项指标。通过简单的数值对比可以发现,应用了综合损失的直接预测模型在测试集上的MSE和MAE均要比对应原模型有所减小,说明改进方法在船舶轨迹预测任务上具备一定性能优势。通过进一步对比表中数据可知基于简单时序单元的预测模型在多步预测时性能明显不如Seq2Seq框架的预测算法,TF-Seq2Seq(GRU)相较于GRU在MSE和MAE上分别减少了63%和55.5%;TF-Seq2Seq(LSTM)相较于LSTM在MSE和MAE上分别减少了59.1%和51.7%,预测经度在不同指标上均有着较大差异。

表 2 不同算法实验结果对比 Tab.2 Comparison of experimental results of different algorithms

进一步对比利用Seq2Seq架构的模型,可知TF-Seq2Seq(LSTM)相较于Seq2Seq(LSTM),MSE减少了12.9%,MAE减少了8.9%;TF-Seq2Seq(GRU)相较于Seq2Seq(GRU),MSE减少19.2%,MAE减少了19.1%;TF-Seq2Seq(LSTM)相较于TF-Seq2Seq(GRU),MSE减少了2%,MAE减少了1%,TF-Seq2Seq(LSTM)模型综合表现最优,应用了时域频域综合损失辅助参数更新的预测模型对比原模型的预测性能均有相当提升,基于GRU构建的模型性能上对比对应的基于LSTM构建的模型有一定不足,但参数量减少了24.5%,为实现更高精度的船舶轨迹预测,可以选用TF-Seq2Seq(LSTM),实际部署的硬件平台算力有限时可用TF-Seq2Seq(GRU)替代。

图7所示为利用Seq2Seq架构的模型对船舶轨迹的预测。预测效果同误差指标显示的情况基本一致,改进的多步船舶轨迹预测模型所预测的目标船舶轨迹总体更贴近真实轨迹,轨迹终点也更接近真实终点,预测结果贴合预测标签的发展趋势。其中基于LSTM的TF-Seq2Seq预测效果最佳,预测终点与实际终点差距最小为0.3 km,而实际终点与输入序列最后时刻的船舶位置相距4.1 km,终点预测误差与首尾位置距离的比值为7.3%,改进算法能够较好地根据既往轨迹信息预测目标运动态势,预测精度能为后续规划环节提供可靠的数据支持。

图 7 预测效果对比图 Fig. 7 Comparison chart of prediction effect

图8所示为对应模型对于两垂直速度分离的预测效果。可以看出,各类模型所预测的速度分量变化态势基本与实际速度分量的变化态势一致,通过计算各个模型对于各速度分离的MAE可以得知基于LSTM的Seq2Seq改进算法各速度分量的MAE也为最小,$ {\text{sog}}_{N} $误差为0.58 kn,$ {\text{sog}}_{E} $为0.5 kn。

图 8 速度预测效果对比图 Fig. 8 Comparison chart of speed prediction effect
4 结 语

本文针对船舶轨迹预测这一实际问题搭建了完整的预测算法框架,提出了贴合数据特点的预处理流程、特征转化方式,并构建时域、频域综合损失函数优化模型训练时的参数更新过程,合理确定了各部分误差权重。本文选取典型数据集用于模型对比实验,并多方面分析、展示了模型预测性能差异,实验结果表明算法改进为轨迹预测模型均带来了一定性能提升,并且提升了模型参数更新过程的稳定性,其中基于LSTM的TF-Seq2Seq算法具备更好的预测功能,在测试集上MSE为$ 9.149\times {10}^{-4} $,MAE为$ 1.657\times {10}^{-2} $,多种误差指标相对最小,证明算法在船舶轨迹预测的应用领域具备优越的性能优势。后续考虑进一步测试算法框架在不同限制条件下的预测性能,并通过改进提升算法的适用性和精确度。

参考文献
[1]
刘钰, 彭鹏菲. 基于 CNN-BiGRU-ATTENTION 的船舶航迹预测方法研究[J]. 计算机与数字工程, 2024, 52(9): 2667-2674.
LIU Y, PENG P F. Vessel trajectory prediction method based on CNN-BiGRU-ATTENTION[J]. Computer & Digital Engineering, 2024, 52(9): 2667-2674. DOI:10.3969/j.issn.1672-9722.2024.09.022
[2]
BEST R A, NORTON J P, et al. A new model and efficient tracker for a target with curvilinear motion[J]. IEEE Transactions on Aerospace and Electronic Systems, 1997, 33(3): 1030-1037. DOI:10.1109/7.599328
[3]
徐铁, 蔡奉君, 胡勤友, 等. 基于卡尔曼滤波算法船舶AIS轨迹估计研究[J]. 现代电子技术, 2014, 37(5): 97-100.
XU T, CAI F J, HU Q Y, et al. Research on estimation of AIS vessel trajectory data based on Kalman filter algorithm[J]. Modern Electronics Technique, 2014, 37(5): 97-100. DOI:10.3969/j.issn.1004-373X.2014.05.030
[4]
甄荣, 金永兴, 胡勤友, 等. 基于AIS信息和BP神经网络的船舶航行行为预测[J]. 中国航海, 2017, 40(2): 6-10.
ZHEN R, JIN Y X, HU Q Y, et al. Vessel behavior prediction based on AIS data and BP neural network[J]. Navigation of China, 2017, 40(2): 6-10. DOI:10.3969/j.issn.1000-4653.2017.02.002
[5]
权波, 杨博辰, 胡可奇, 等. 基于LSTM的船舶航迹预测模型[J]. 计算机科学, 2018, 45(S2): 126-131.
QUAN B, YANG B C, HU K Q, et al. Prediction model of ship trajectory based on LSTM[J]. Computer Science, 2018, 45(S2): 126-131.
[6]
叶文哲. 基于机器学习和AIS数据的船舶轨迹预测模型的设计与实现[D]. 成都: 电子科技大学, 2021.
[7]
GAO D W, ZHU Y S, ZHANG J F, et al. A novel MP-LSTM method for ship trajectory prediction based on AIS data[J]. Ocean Engineering, 2021, 228: 108956. DOI:10.1016/j.oceaneng.2021.108956
[8]
陈立家, 周乃祺, 李世刚, 等. 基于C-Informer模型的船舶轨迹预测方法[J]. 交通信息与安全, 2023, 41(6): 51-60.
CHEN L J, ZHOU N Q, LI S G, et al. A method of ship trajectory prediction based on a C-Informer model[J]. Journal of Transport Information and Safety, 2023, 41(6): 51-60. DOI:10.3963/j.jssn.1674-4861.2023.06.006
[9]
唐光旭. 基于Transformer和Bi-LSTM模型的船舶轨迹预测[J]. 珠江水运, 2024(17): 109-111.
TANG G X. Ship trajectory prediction based on transformer and Bi-LSTM models[J]. Pearl River Water Transport, 2024(17): 109-111. DOI:10.14125/j.cnki.zjsy.2024.17.024
[10]
苗靖, 李晓婷. 基于Seq2Seq-Att的船舶轨迹预测算法[J]. 火力与指挥控制, 2024, 49(4): 71-76.
MIAO J, LI X T. Ship trajectory prediction algorithm basedonSeq2Seq-Att[J]. Fire Control & Command Control, 2024, 49(4): 71-76. DOI:10.3969/j.issn.1002-0640.2024.04.010
[11]
谢海波, 乔冠洲, 代程, 等. 基于NGO-Bi-GRU的船舶轨迹预测模型[J]. 舰船科学技术, 2025, 47(4): 14-20.
XIE H B, QIAO G Z, DAI C, et al. Ship trajectory prediction model based on NGO-Bi-GRU[J]. Ship Science and Technology, 2025, 47(4): 14-20. DOI:10.3404/j.issn.1672-7649.2025.04.003
[12]
ZHOU T, MA Z Q, WEN Q S, et al. FEDformer: frequency enhanced decomposed transformer for long-term series forecasting[C]// 39th International Conference on Machine Learning (ICML), 2022.
[13]
WANG H, PAN L, CHEN Z, et al. FreDF: learning to forecast in frequency domain[J]. arXiv preprint arXiv: 2402.02399, 2024.
[14]
HOCHREITER S, SCHMIDHUBER J. long short-term memory[J]. Neural Comput, 1997, 9: 1735-1780. DOI:10.1162/neco.1997.9.8.1735
[15]
SUTSKEVER I, VINYALS O, LE Q V. Sequence to sequence learning with neural networks[J]. arXiv preprint arXiv: 1409.3215, 2014.
[16]
CHO K, VAN MERRIENBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. arXiv preprint arXiv: 1406.1078, 2014.