吳鵬程, 羅 亮
(武漢理工大學 交通學院,湖北 武漢 430063)
軌跡預測是指根據移動對象當前的軌跡預測出該對象未來的移動軌跡,船舶軌跡預測是基于目標船舶已知的歷史位置信息,對船舶在未來一段時間內可能出現的位置信息進行預測,在水上交通安全監管、船舶避碰、海事搜救等方面都具有巨大的應用價值。
船舶在航行中會受到推進、操舵等控制系統及風、浪、海流等外部擾動的影響,呈現出無規律不確定性的變化,較難利用專業知識構建出一個合適的非線性映射關系的數學模型。船舶的運動具有時變、不確定、非線性及隨機的環境干擾特點。在船舶航行過程中,船上安裝的傳感器會采集到大量與船舶有關的航行數據,這些數據是典型的時間序列。根據這些時間序列數據可直接從數值層面上進行建模來實時預測船舶未來位置,能夠有效避免建立復雜的運動數學模型。目前,已有不少針對船舶軌跡預測的研究。主要的預測算法包括高斯混合模型、最小二乘法、灰色預測、神經網絡、卡爾曼濾波、聚類等。羅永豪[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所示。

圖1 船舶軌跡預測流程
(1)數據預處理。首先,對船舶傳感器采集的數據進行數據清理,清除其中的異常值與缺失值。然后,為降低數據中的大量冗余數據與噪聲的影響,簡化網絡結構并提升網絡效率,對數據進行相關性分析,篩選與軌跡特征相關性較高的變量,獲取與航行軌跡相關性較大的數據特征子集。
(2)神經網絡預測。神經網絡作為一種能夠近似逼近和自適應的無模型方法,具有強大的學習能力,能夠學習和構建非線性復雜關系的模型,比較適合規律未知或不確定的情況。在獲得數據特征子集后,采用神經網絡預測法,通過構建的以RNN-LSTM為核心的網絡模型來進行訓練與預測。通過大量的樣本真實數據對網絡進行訓練,讓模型學習其歷史船舶軌跡與未來船舶軌跡數據之間可能存在的映射關系,從而達到預測出船舶下一時刻坐標信息的目的。下面分別對數據預處理和神經網絡預測所設計的方法和模型進行詳細的分析和介紹。
通過各類傳感器在船舶操縱性試驗與實際航道隨船測試中采集大量的船舶航行數據,采集的數據類型主要有船舶航行狀態數據、船舶操縱數據和船舶位置,具體數據如表1所示。

表1 船舶試驗采集數據類型
相關數據類型較多,數據類型與AIS數據相比多出橫滾、俯仰等航行狀態數據及船舶相關操縱數據,因而神經網絡能夠考慮到更多變量與船舶航行軌跡之間的聯系。但是較多的數據類型,可能會存在有的數據變量之間具有較高的相關性,而有的變量對軌跡變化并無影響的問題。變量之間的相關性會影響神經網絡模型的性能,導致預測效果變差。針對這一問題,在數據預處理時增加對數據的相關性分析,通過計算數據變量間的相關系數,將相關系數高的2個變量提出1個,并且排除無關變量的干擾,挑選出主要特征,簡化網絡結構,以此提高模型的預測效果。
數據相關性是指不同變量(度量維度)之間聯系的程度。相關性分析的原則是輸入特征變量之間的相關性越低越好,不相關更佳;而特征變量與輸出變量之間則相反,兩者之間相關性越高越好。數據相關性通常采用研究變量之間線性相關程度的量-相關系數來進行衡量,表示為
(1)

采用相關性分析可以定量確定參數對輸出的變化有多大的影響。找出測量參數與預測輸出之間影響較大的變量。如果2個變量之間耦合越強,相關性越高,對應的相關系數絕對值就會越大,即:兩者間的相關系數越接近于1或-1,相關度越強;相關系數越接近于0,相關度就越弱。采集的各數據與船舶位置之間的相關系數如圖2 所示。通過相關性分析得出:船舶航速、航向角和橫搖值是與船舶位置相關的較重要的參數,對船舶位置影響較大;海拔、船舶縱傾值與船舶位置之間相關性極弱,屬于無關變量。為了壓縮網絡結構并提高網絡的泛化能力,將輸入特征中數值小于0.1的相關性數據刪除,最終選擇航速、航向角、橫搖、舵角、轉速等與船舶位置坐標相關性較高的特征變量。

圖2 船舶位置相關性分析
傳感器采集的大量時間序列的數據在經過前期的數據預處理相關性分析之后,獲取到幾個與船舶位置坐標相關性較高的特征變量。選擇將前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]。
為驗證所提方法的實用性和有效性,選擇船舶Z形試驗數據及船舶在實際航道航行數據對網絡模型進行訓練及驗證。將采集的數據進行預處理,分為訓練數據及測試數據,并對數據進行歸一化處理,將船舶航行數據的前70%作為網絡的訓練集,航行數據的后30%作為測試集進行預測,檢驗模型的準確性及泛化能力[12]。最終的訓練及預測結果如圖6和圖7所示。

圖6 船舶Z形實際軌跡訓練值及預測值

圖7 船舶航行軌跡訓練值及預測值
試驗結果表明:經過訓練后的船舶軌跡預測精度誤差如表2所示。由于Z形試驗軌跡較為平滑,而實際航行軌跡彎道較多,航道環境較為復雜,因此Z形試驗預測效果優于實際航行軌跡。但兩者預測軌跡的結果整體上都與真實軌跡重合度較高、誤差較小。預測效果表明,所構建的RNN-LSTM神經網絡軌跡預測模型能夠實現對船舶航行位置的迭代預測,并且精確度較好,有著較好的實用性。

表2 數據類型及預測精度
重點研究船舶運動軌跡預測。通過對采集數據進行預處理和相關性分析,選擇與軌跡相關性較大的特征變量,并將RNN-LSTM的時間序列神經網絡作為船舶軌跡預測框架的核心。在數據與處理部分,為建立一個緊湊的神經網絡結構模型,使用相關性分析量化輸入到輸出的重要性,提取預測所需的相關輸入特征,將篩選出的與船舶軌跡相關度較高的歷史變量及當前的軌跡數據變量的時間序列數據作為輸入項。在神經網絡預測部分,為提高預測精度,選擇對非線性時間序列適應性更佳的RNN-LSTM神經網絡模型構建軌跡預測模型,通過船舶Z形試驗相關數據與實船實際航行數據對網絡模型進行訓練,并將未來的船舶軌跡數據作為輸出項,迭代預測船舶未來時刻的位置。最終,通過預測值與實際值的對比證明所提方法的實用性和有效性,滿足船舶軌跡預測精確性與實時性的需求。
今后的工作將著重于在對神經網絡進行建模時,應包含更多關于風速和浪高等環境變化的數據,考慮環境干擾力對船舶航行軌跡的影響。并且,由于神經網絡屬于較典型的黑箱模型,在預測機理方面還需進行更多的探索。