張 陽 高 曙 何 偉 蔡 菁
1.武漢理工大學計算機與人工智能學院,武漢,4300702.閩江學院物理與電子信息工程學院,福州,350108
內河航運是現(xiàn)代綜合運輸體系的重要組成部分,是實現(xiàn)經(jīng)濟社會可持續(xù)發(fā)展的重要戰(zhàn)略資源。隨著航運業(yè)的蓬勃發(fā)展,內河運輸量劇增,造成了擁塞、水上交通事故時有發(fā)生、船舶行為監(jiān)管復雜化等問題,使得船舶安全暢通航行和水上交通監(jiān)管面臨嚴峻考驗。由于船舶慣性較大,及時有效地預測船舶航行軌跡,有助于規(guī)避水上交通事故,提高船舶調度吞吐量和航道通行能力,增強船舶自動化與智能化監(jiān)管能力。
近年來,船舶軌跡預測方法主要有軌跡聚類與歸類、自動編碼器、高斯混合模型、高斯過程回歸、卡爾曼濾波、長短期記憶(long short-term memory,LSTM)網(wǎng)絡等。在利用軌跡聚類與分類研究船舶軌跡預測方面:VIRJONEN等[1]使用k近鄰算法對芬蘭灣船舶軌跡進行了預測;QI 等[2]使用空間聚類算法和支持向量機分類器來預測船舶軌跡;GAN等[3]采用K-Means聚類算法和人工神經(jīng)網(wǎng)絡(artificial neural network,ANN)研究長江船舶軌跡預測問題;羅永豪[4]利用基于軌跡分段和區(qū)域劃分的軌跡聚類算法并結合樸素貝葉斯模型,研究珠江三角洲水域船舶軌跡預測問題;靳曉雨[5]提出了自適應密度聚類算法,并結合改進的多分類Logistic回歸算法研究海洋船舶軌跡預測問題。在利用高斯過程和高斯混合模型研究船舶軌跡預測方面:張顯煬等[6]提出了一種基于變分自編碼模型,將高斯混合分布作為變分自編碼網(wǎng)絡的隱空間,研究海洋艦船軌跡預測問題;DALSNES等[7]提出了基于數(shù)據(jù)驅動的高斯混合模型,研究海洋艦艇軌跡預測問題;RONG等[8]提出了基于高斯過程的數(shù)據(jù)驅動非參數(shù)貝葉斯模型,研究船舶軌跡預測問題。在利用卡爾曼濾波算法研究船舶軌跡預測方面:丁虎[9]將擴展卡爾曼濾波器(extended Kalman filter,EKF)用于海洋船舶軌跡預測;FOSSEN等[10]采用外生卡爾曼濾波器(exogenous Kalman filter,XKF)研究挪威特隆赫姆港水域船舶軌跡預測問題;姜佰辰等[11]提出了多項式卡爾曼濾波算法(polynomial Kalman filter,PKF),研究舟山水域船舶軌跡預測問題。在利用LSTM網(wǎng)絡研究船舶軌跡預測方面:權波等[12]利用LSTM網(wǎng)絡研究廣州港水域船舶軌跡預測問題;CHENG 等[13]提出了基于雙向LSTM網(wǎng)絡的深度學習方法,研究長江兩個不同航段船舶軌跡預測問題。
綜上,目前進行船舶軌跡預測時,或者僅使用時間和經(jīng)緯度信息,或者將所有信息直接輸入機器學習等模型中。然而,內河航道水域復雜,船舶軌跡受航速、航向和航道特征等多種因素影響,僅使用時間和經(jīng)緯度信息較難準確預測船舶軌跡;并且,經(jīng)緯度與航速、航向以及時間之間存在明顯的函數(shù)關系,將它們直接輸入同一模型中,可能產生較強的多重共線性,嚴重影響模型的預測精度。另外,目前方法要么未考慮歷史AIS(船舶自動識別系統(tǒng))數(shù)據(jù)[14],要么未考慮待測船舶近期AIS數(shù)據(jù)。然而,內河航道寬度受限,船舶軌跡較集中,使得歷史AIS數(shù)據(jù)具有較高利用價值,另外,待測船舶近期AIS數(shù)據(jù)反映了其航行狀態(tài),因此,僅使用歷史AIS數(shù)據(jù)或待測船舶近期AIS數(shù)據(jù),都較難準確預測船舶軌跡。
由于受環(huán)境以及船舶航行等多因素影響,船舶軌跡的長期預測難以達到理想效果,故本文以提高內河船舶航行軌跡短期預測為目標(預測時間約6 min,此時間能夠起到安全預警作用)。考慮到航速和航向是軌跡形成的內在動力,軌跡是航速和航向在時間維度上的外在表現(xiàn),由此,設計時域卷積網(wǎng)絡模型預測航速和航向,構建船舶軌跡動力學方程模型以確定經(jīng)緯度與航速和航向的關系,建立自適應雙隱層徑向基函數(shù)(RBF)網(wǎng)絡以提取航速和航向分布特征,并使用迭代法融合以上模型,以提高船舶軌跡預測精度。另外,既利用歷史AIS數(shù)據(jù)信息量大的特點,又利用待測船舶近期AIS數(shù)據(jù)實時性的特點,進行模型訓練,從而達到進一步提高軌跡預測精度的目的。
航速和航向具有波動性、非周期性和不穩(wěn)定性等特點,使得普通模型較難準確預測航速和航向。另外,航速和航向具有連續(xù)性和慣性,符合時間序列數(shù)據(jù)特點。鑒于時域卷積網(wǎng)絡具有較強的時間序列數(shù)據(jù)擬合能力,并在多項時間序列數(shù)據(jù)任務中勝過RNN家族[15],故設計了面向航速與航向預測的時域卷積網(wǎng)絡模型(temporal convolutional networks for speed and course prediction,SCTCN)。


(a)SCTCN模型結構 (b)殘差塊結構圖1 SCTCN模型以及殘差塊結構Fig.1 The structure of SCTCN and residual block
(1)輸入與輸出。首先,將近期time_step步的航速和航向序列輸入模型中,經(jīng)歸一化、殘差塊、全連接等處理后,輸出下一步的航速和航向預測值,然后將預測值并入輸入序列中預測步驟(2)的航速和航向,如此迭代test_size次,得到test_size步的航速和航向預測值。
(2)歸一化與逆歸一化。歸一化處理是將數(shù)據(jù)壓縮到[0,1]的范圍內,消除量綱之間的差異,還可以削弱奇異數(shù)據(jù)(即極大或極小數(shù)據(jù))對訓練結果的影響。逆歸一化處理放在全連接層之后,將預測數(shù)據(jù)映射回原來的量綱中。
(3)殘差塊。每個殘差塊包含一維空洞卷積、Relu激活函數(shù)和Dropout結構。一維空洞卷積提取航速和航向序列特征,并且空洞大小隨著層數(shù)逐層增加,底層感受視野較小,提取局部特征,高層感受視野較大,提取全局特征;Relu激活函數(shù)用于增強神經(jīng)網(wǎng)絡的非線性映射能力,還能抑制梯度消失現(xiàn)象的發(fā)生;Dropout通過隨機丟棄部分神經(jīng)元訓練神經(jīng)網(wǎng)絡,避免模型過擬合,提升網(wǎng)絡泛化能力。
(4)全連接層。在殘差塊之后疊加全連接層,目的在于調整輸出向量尺寸,并增強模型的非線性映射能力。
本文構建船舶軌跡動力學方程(ship trajectory dynamics equation,STDE)模型,確定經(jīng)緯度(軌跡)與航速和航向間的關系。
(1)統(tǒng)一計量單位與坐標系。為方便計算,將所有與距離相關的量轉換為與緯度相關的量,即“緯度距離”。緯度本屬于角度,但是當?shù)乇砼c地心的距離確定后,緯度可用來度量距離。將沿著經(jīng)線跨越1緯度的距離記為slat,沿著緯線跨越1經(jīng)度的距離記為slon,它們之間的關系為
slon=slatcos(latπ/180)
(1)
其中,lat為測量處緯度值。slat數(shù)值比較穩(wěn)定,約111 km[1],可視為常量,也可作為距離單位使用,而slon與測量處緯度相關,因此,可用“緯度距離”來度量距離,其單位為slat。
AIS數(shù)據(jù)中,航速單位采用節(jié)(kn),1 kn=1.852 km/h,為方便通過航速計算經(jīng)緯度,將航速單位kn轉換為slat/s,它們之間的轉換關系為
(2)
AIS數(shù)據(jù)中,航向c是指船舶航行方向與正北方向順時針旋轉的夾角。若以船舶當前位置為坐標原點,水平向東為x軸,水平向北為y軸,建立平面直角坐標系,以此坐標系為基準,新航向θ的定義為船舶航行方向與正東方向逆時針旋轉的夾角,并采用弧度制表示角度,因此原航向c與新航向θ的轉換關系為
(3)
(2)構建STDE模型。經(jīng)緯度與航速和航向滿足微分方程關系:
(4)
其中,lon(t)、lat(t)、speed(t)分別為t時刻的經(jīng)度、緯度、航速;θ(t)為式(3)變換后的航向函數(shù);β為緯度導數(shù)與豎直航速分量的變換系數(shù),由式(2)獲取;α(t)為經(jīng)度導數(shù)與水平航速分量的變換系數(shù),由式(1)獲取。
本文研究短期船舶軌跡預測,由于短期內船舶緯度lat(t)變化范圍較小,α(t)變化幅度也較小,基本為常數(shù),故為了簡化計算,本文使用下式中的α取代式(4)中α(t):
(5)
由式(1)~式(5)得到船舶軌跡動力學方程:
(6)
其中,lon0和lat0分別為經(jīng)度初值和緯度初值。由式(6)知,若已知航速函數(shù)speed(t)、航向函數(shù)course(t)及船舶初始經(jīng)度lon0和初始緯度lat0,就可以計算任意時刻的船舶位置。
在實際應用中,通常只知道離散的航速和航向序列,而不知道連續(xù)的航速函數(shù)和航向函數(shù)。此時,可以對離散的航速序列和航向序列分別進行三次樣條插值,將得到的插值函數(shù)作為航速函數(shù)和航向函數(shù)。
在進行船舶軌跡預測時,通常是多步軌跡預測,而不是單步軌跡預測。因此,為減小計算量,可以利用前一步預測的軌跡計算下一步的軌跡:
(7)
其中,ti為第i個軌跡點對應的時刻;lon(ti)和lat(ti)分別為ti時刻的經(jīng)度和緯度;speed(t)為航速序列(待測船舶當前航速與預測的航速組成的序列)的三次樣條插值函數(shù);θ(t)為航向序列(待測船舶當前航向與預測的航向組成的序列)經(jīng)式(3)變換后的序列的三次樣條插值函數(shù)。
求解式(7)中積分方程數(shù)值解時,本文采用Romberg求積方法,其基本思想:將積分區(qū)間[ti-1,ti]中部分點的函數(shù)值的線性組合作為被積函數(shù)在[ti-1,ti]上積分值的估計值。為方便描述,假設式(7)中被積函數(shù)分別為f(t)和g(t),則有

(8)
函數(shù)f(t)在區(qū)間[ti-1,ti]上的積分可表示為

(9)
其中,R2n為采用Romberg求積公式計算的積分值,角標2n表示區(qū)間[ti-1,ti]被均分的份數(shù),其值越大,積分值越精確,n通常取2的指數(shù)倍,即1,2,4,8,16,…。
首先通過復合梯形公式計算式(9)中積分區(qū)間[ti-1,ti]被劃分為n等份的積分估計值Tn,再通過遞推公式計算積分區(qū)間[ti-1,ti]被劃分為2n等份的積分估計值T2n,即
(10)
其中,Δt為區(qū)間[ti-1,ti]的長度。由式(10)中復合梯形公式及其遞推公式得到T1,T2,T4,…,Tn,T2n,則R2n可以用T1,T2,T4,…,Tn,T2n線性表示:
(11)
lon(ti)=lon(ti-1)+αR2n
(12)
其中,Tn為復合梯形公式計算的積分值;S2n為Simpson公式計算的積分值;C2n為Cotes公式計算的積分值;R2n為Romberg公式計算的積分值。當積分區(qū)間劃分份數(shù)(2n)相同時,T2n、S2n、C2n、R2n計算積分值的精度依次遞增。計算出R2n后,lon(ti)的取值見式(12)。同理,可以求出lat(ti)。
對于一項預測任務,一般有兩種途徑提高預測精度:①從數(shù)據(jù)集的角度優(yōu)化,提取有用信息,剔除噪聲數(shù)據(jù);②從模型的角度優(yōu)化,挑選在此類數(shù)據(jù)和任務上預測表現(xiàn)較好的模型。因此,本文首先設計基于內河航段特點的軌跡段匹配方法,從歷史AIS數(shù)據(jù)中得到匹配數(shù)據(jù)集,其次,構建自適應雙隱層RBF網(wǎng)絡模型,以匹配數(shù)據(jù)集作為該模型的訓練數(shù)據(jù)集,從而提取航速和航向分布特征,即確定當前航段航速和航向與經(jīng)緯度的函數(shù)關系,并通過輸入預測的軌跡進一步提高航速和航向預測精度。
內河航道受限,船舶軌跡較密集,可以從歷史AIS數(shù)據(jù)中提取有用信息,以提高航速和航向預測精度,進而提高軌跡預測精度。然而,內河水況復雜,各航段差異較大,并且不同時間段天氣變化多樣,而船舶軌跡預測使用的近期AIS數(shù)據(jù)不夠全面,因此,需要在空間和時間上分段提取歷史AIS數(shù)據(jù)特征,即先進行軌跡段匹配,得到匹配數(shù)據(jù)集,再從匹配數(shù)據(jù)集中提取航速和航向分布特征。
航速和航向受環(huán)境和船舶特征等因素影響,但AIS數(shù)據(jù)中缺乏風速、水流速、天氣等數(shù)據(jù)。環(huán)境因素、船舶特征等影響著航速、航向和軌跡,同時,航速、航向和軌跡也是這些因素的外在反映,對軌跡段進行匹配,本質是對這些因素進行聚類,削弱其他因素對航速和航向預測的影響,突出航道特征對航速和航向預測的貢獻。
以待測船舶近期match_size個軌跡點作為待匹配軌跡點,軌跡段匹配的方法是:從歷史AIS數(shù)據(jù)中挑選長度為match_size+extend_size的軌跡段,使得挑選出的軌跡段中前match_size個軌跡點與待匹配軌跡點的軌跡、航速和航向相似度較高。圖2為軌跡段匹配示意圖,match_size和extend_size分別對應圖中匹配部分長度和延長部分長度。

圖2 軌跡段匹配示意圖Fig.2 Schematic diagram of track segment matching
使用閾值法匹配軌跡段,通過控制距離閾值dist_F、航速差閾值speed_F和航向差閾值course_F,挑選歷史AIS數(shù)據(jù)中利用價值較大的軌跡段,得到匹配數(shù)據(jù)集,作為自適應雙隱層RBF網(wǎng)絡的訓練集。
徑向基函數(shù)RBF神經(jīng)網(wǎng)絡是一種全局逼近的網(wǎng)絡結構,可以逼近任意連續(xù)函數(shù),具有收斂速度快、整體逼近能力強、抗噪能力好等特點[16],能夠很好地提取航速和航向分布特征。
本文在傳統(tǒng)RBF網(wǎng)絡的基礎上改進,設計一種自適應雙隱層RBF網(wǎng)絡,如圖3所示。第一隱含層(徑向基層)神經(jīng)元個數(shù)與匹配數(shù)據(jù)集中軌跡段長度相關,表示提取軌跡段中軌跡點特征;第二隱含層(全連接層)神經(jīng)元個數(shù)與匹配數(shù)據(jù)集中軌跡段條數(shù)相關,表示提取樣本中軌跡段特征。匹配數(shù)據(jù)集中匹配的歷史軌跡段條數(shù)隨著待測船舶近期軌跡特點的變化而變動,第二隱層的寬度也在自適應地發(fā)生變化,以避免模型欠擬合或過擬合。

圖3 自適應雙隱層RBF網(wǎng)絡結構Fig.3 Structure of adaptive double hidden layer RBF network
其中,輸入為經(jīng)度(lon)和緯度(lat),輸出為航速(s)或航向(c);n為第一隱層寬度,取值為匹配數(shù)據(jù)集中每條軌跡段的長度;m為第二隱層寬度,取值與匹配數(shù)據(jù)集中軌跡段條數(shù)相關,即m=[numr],其中,num為匹配的軌跡段條數(shù),r為折扣率,取值在0~1之間,“[]”表示取整。不同的匹配數(shù)據(jù)集中軌跡段條數(shù)num一般不同,第二隱層的寬度也在自適應調整。相比固定第二隱層寬度,自適應寬度可以防止模型因網(wǎng)絡參數(shù)過少而產生欠擬合或因網(wǎng)絡參數(shù)過多而產生過擬合的現(xiàn)象。
由于航速分布和航向分布的規(guī)律差異較大,故本文使用2個自適應雙隱層RBF網(wǎng)絡分別提取航速和航向分布特征,而不是直接將輸出層改為二維的。自適應雙隱層RBF網(wǎng)絡前饋模型公式為
(13)
其中,x為由經(jīng)度和緯度組成的向量;y為航速或航向;κ()為基函數(shù)。本文取以下高斯基函數(shù):
(14)
其中,C和σ分別為基函數(shù)的中心和寬度;h1和h2分別為第一隱層和第二隱層的輸出值;W2和b2分別為第二隱層的權值和偏值;W3和b3分別為輸出層的權值和偏值。
綜上,自適應雙隱層RBF網(wǎng)絡相對于經(jīng)典的RBF網(wǎng)絡的優(yōu)勢在于:增加了一層隱含層(全連接層),神經(jīng)元個數(shù)更多,神經(jīng)網(wǎng)絡的學習能力更強;同時,匹配數(shù)據(jù)集中匹配的歷史軌跡段條數(shù)隨著待測船舶近期軌跡特點而變動,新增隱含層的寬度也自適應地變化,避免模型欠擬合或過擬合,增強了模型的學習能力和泛化能力。
本文使用迭代法控制已構建的SCTCN模型、STDE模型和自適應雙隱層RBF網(wǎng)絡等多模型融合,并綜合利用待測船舶近期AIS數(shù)據(jù)和歷史AIS數(shù)據(jù),對船舶軌跡進行預測。
迭代控制多模型融合方法(MMF)工作流程如圖4所示。首先,利用待測船舶近期航速和航向序列,基于SCTCN模型預測航速和航向;其次,利用預測的航速和航向序列以及待測船舶當前軌跡點信息(包含經(jīng)度、緯度、航速和航向),基于STDE模型預測船舶軌跡;然后,將自適應雙隱層RBF網(wǎng)絡模型與STDE模型組合成迭代塊,并將STDE模型預測的經(jīng)度和緯度作為迭代初值,經(jīng)迭代計算得到軌跡預測值。其中,自適應雙隱層RBF網(wǎng)絡模型(詳見3.1節(jié))是使用匹配數(shù)據(jù)集訓練好的模型,而匹配數(shù)據(jù)集是通過待測船舶近期AIS數(shù)據(jù)在歷史AIS數(shù)據(jù)中實時匹配得到的,因此,多模型融合方法綜合了待測船舶近期AIS數(shù)據(jù)和歷史AIS數(shù)據(jù)。

圖4 迭代控制多模型融合方法工作流程Fig.4 Workflow of iterative control multi-model fusion method
為使迭代序列平穩(wěn)更新,引入學習率的概念,即通過加權舊序列和新序列為更新后的序列值。同時,將SCTCN模型預測的航速和航向作為迭代塊中航速和航向的迭代初值。航速、航向、經(jīng)度和緯度的迭代初值計算公式為
(15)
其中,函數(shù)SCTCN()表示SCTCN模型;函數(shù)STDE()表示STDE模型;sr和cr分別為待測船舶近期航速和航向序列;s_inf為待測船舶當前軌跡點信息(包含經(jīng)度、緯度、航速和航向);s0、c0、lon0、lat0分別為航速、航向、經(jīng)度和緯度的初始預測值。
引入學習率后的序列迭代計算公式為
(16)

軌跡與航速和航向之間存在函數(shù)依賴關系,因此可以通過預測航速和航向,進而預測軌跡。然而,航速和航向具有波動性、非周期性和不穩(wěn)定性等特點,其變化規(guī)律在長期范圍內會發(fā)生變化,使用太久遠的數(shù)據(jù)并不會提高預測精度,反而會增加計算量、誤導模型訓練。通過實驗測試,本文使用待測船舶近期54 min的AIS數(shù)據(jù),并結合歷史AIS數(shù)據(jù),對船舶軌跡進行預測。另外,軌跡長期預測不可靠,并且與海上船舶相比,內河船舶規(guī)模不大、航速較慢,慣性相對較小,船舵面積較大,對船舶的操控性較好,短期預測也能夠起到安全預警等作用,有助于及時規(guī)避水上交通事故。因此,本文進行船舶軌跡的短期預測(大約6 min的船舶軌跡,即實驗中的20步)。
實驗在云服務器上完成,服務器配置如下:4核處理器、16G內存、200G硬盤、Windows 10操作系統(tǒng)。主要利用Python 3.7完成,使用Spyder 3.3.3開發(fā)工具,運用tensorflow 1.15.0和keras 2.2.4深度學習框架。
以2014-11-04 06:17:44至2014-11-21 17:08:12長江干線武漢段上行長途船舶(除渡江游輪)AIS數(shù)據(jù)為例,研究基于多模型融合的船舶軌跡預測方法。通過過濾漢江支流、長江大橋附近渡江游輪、下行船舶、停泊船舶等AIS數(shù)據(jù)以及剔除異常AIS數(shù)據(jù)和AIS數(shù)據(jù)插值均勻化等處理后,得到1417 317個軌跡點,2204條航跡線,每個軌跡點包含MMSI(船舶唯一編號)、archive_time(時間)、lon(經(jīng)度)、lat(緯度)、speed(速度)、course(航向)等屬性。
AIS設備更新軌跡數(shù)據(jù)的時間間隔為幾秒到幾分鐘,一般航速較快處軌跡點較密集,會產生較多數(shù)據(jù),增加軌跡預測的計算量;航速較慢處軌跡點較稀疏,不利于軌跡預測。通過插值對AIS數(shù)據(jù)進行均勻化處理(插值間隔為18s),有利于進行船舶軌跡預測,便于評估每步軌跡預測誤差。
為方便進行船舶軌跡預測實驗,將以上預處理后的航跡線按照起點時間從小到大排序,將前2000條航跡線(1006 027個軌跡點)歸為歷史AIS數(shù)據(jù)集,后57條航跡線(32 946個軌跡點)歸為近期AIS數(shù)據(jù)集。
本節(jié)使用待測船舶近期AIS數(shù)據(jù),基于SCTCN模型預測航速和航向,并與改進的LSTM網(wǎng)絡[17]進行比較,以驗證SCTCN模型在航速和航向預測上的有效性。具體步驟如下。
(1)評價指標。對于預測的每個時刻,將預測值與實際值的絕對誤差作為航速、航向預測效果評估標準,即
(17)

(2)調參實驗。SCTCN模型中,需要調整的參數(shù)主要有訓練集大小train_size、測試集大小test_size、時間步數(shù)time_step、濾波器個數(shù)nb_filters、卷積核大小kernel_size、空洞大小dilations、Dropout比例dropout_rate、全連接層神經(jīng)元個數(shù)nb_full、訓練次數(shù)epochs。經(jīng)50次實驗調整,所有參數(shù)取值見表1。

表1 SCTCN模型參數(shù)Tab.1 Parameters of SCTCN model
(3)實驗方案。在近期AIS數(shù)據(jù)集中隨機挑選一條航跡線,再從此航跡線中隨機挑選一段包含200個軌跡點的軌跡段,使用前180個軌跡點(即180步,每步18 s,共54 min,航速基本在9~12 kn之間波動,航向大多在300°~320°之間)的航速和航向序列訓練SCTCN模型,將后20個軌跡點(即20步,6 min)的航速和航向序列作為測試集,并通過式(17)計算誤差,評估航速和航向預測效果。為避免一次實驗具有偶然性,重復100次上述實驗計算平均誤差。
為驗證SCTCN模型對航速和航向預測的有效性,本文與同樣在時序數(shù)據(jù)預測上表現(xiàn)較好的改進的LSTM網(wǎng)絡[17]進行了對比實驗。
(4)實驗結果。航速預測平均誤差對比效果如圖5所示,航向預測平均誤差對比效果如圖6所示。

圖5 航速預測平均誤差Fig.5 The mean error of speed prediction

圖6 航向預測平均誤差Fig.6 The mean error of course prediction
(5)實驗分析。由圖5和圖6可以看出,航速和航向平均誤差方面,SCTCN模型預測值明顯小于改進的LSTM網(wǎng)絡預測值[17],這得益于SCTCN模型中一維空洞卷積能夠較好地提取時序數(shù)據(jù)特征,并通過歸一化消除航速和航向之間的量綱差異,利用殘差連接提升網(wǎng)絡穩(wěn)定性,使用Dropout避免模型過擬合。然而,利用SCTCN模型雖然能獲得比改進的LSTM網(wǎng)絡好的效果,但是精度不高,因為內河水域復雜,多橋區(qū)、庫區(qū)以及彎曲度大航段等,航速和航向受航道特征和船舶特征影響較大,僅依賴于待測船舶近期AIS數(shù)進行預測不夠(詳見3.1節(jié)),另外也證明單一模型預測的不足,因此本文進一步利用了歷史AIS數(shù)據(jù)進行軌跡段匹配并融合多模型優(yōu)勢以提高預測精度。
本節(jié)使用預處理后的AIS數(shù)據(jù)(包含近期AIS數(shù)據(jù)集和歷史AIS數(shù)據(jù)集),基于STDE模型,通過輸入初始軌跡點信息(包含經(jīng)度、緯度、航速和航向)和之后20步航速和航向序列,預測相應20步的經(jīng)度和緯度序列,并與殘差網(wǎng)絡[18]進行對比,以驗證STDE模型的有效性。具體步驟如下。
(1)評價指標。對于預測的每個時刻,將預測軌跡點與實際軌跡點的“緯度距離”Tt作為評估軌跡預測效果的指標,即
(18)

(2)調參實驗。STDE模型中需要配置的參數(shù)只有Romberg求積公式的階數(shù)k。k越大,積分精度越高,但計算量也越大。在盡可能保證高精確度和低計算量的情況下,本文選取k=6。
(3)實驗方案。在預處理后的AIS數(shù)據(jù)中隨機挑選一條航跡線,并在此航跡線中隨機挑選一條包含21個軌跡點的軌跡段,將第1個軌跡點的信息(經(jīng)度、緯度、航速和航向)和后20個軌跡點的航速和航向序列輸入STDE模型中,得到后20步的經(jīng)度和緯度預測值,將預測值與真實值作比較,并使用式(18)計算軌跡預測誤差。重復50 000 次上述實驗,計算軌跡預測平均誤差。
為驗證STDE模型的有效性,與殘差網(wǎng)絡(residual network,ResNet)[18]進行了對比實驗,對比實驗方案為:以相鄰兩個軌跡點的航速和航向作為輸入(4維向量),經(jīng)度差和緯度差作為輸出(2維);首先,使用預處理后的AIS數(shù)據(jù)中前200條航跡線生成訓練集,并訓練ResNet模型;然后,在剩下的航跡線中隨機挑選一條航跡線,并從此航跡線中隨機挑選一段長為21步的軌跡段,將相鄰軌跡點的航速和航向輸入訓練好的ResNet模型中,得到20步的經(jīng)度差序列和緯度差序列,以第1個軌跡點的經(jīng)度和緯度為基準,通過累加經(jīng)度差和緯度差,得到后20步的經(jīng)度和緯度,將預測的20步軌跡與真實的軌跡比較,并使用式(18)計算軌跡預測誤差。最后,使用訓練好ResNet模型,重復50 000次預測實驗,計算平均誤差。
(4)實驗結果。基于初始軌跡點信息(經(jīng)度、緯度、航速和航向)和之后20步的航速和航向序列,STDE模型和ResNet模型[18]軌跡預測平均誤差如圖7所示。

圖7 軌跡預測平均誤差Fig.7 The mean error of trajectory prediction
(5)實驗分析。由圖7可以看出,在20步的軌跡預測中,STDE模型平均誤差明顯小于ResNet模型平均誤差,并且STDE模型平均誤差曲線明顯比ResNet模型平緩,說明STDE模型較可靠。這主要是因為STDE模型是根據(jù)經(jīng)緯度與航速和航向之間的物理關系構建的模型,具有確定性,而ResNet模型則是利用船舶歷史數(shù)據(jù)進行訓練的,因此誤差較大。
本節(jié)使用待測船舶近期AIS數(shù)據(jù)和歷史AIS數(shù)據(jù),融合SCTCN模型、STDE模型和自適應雙隱層RBF網(wǎng)絡等多模型(MMF方法)預測船舶軌跡,分析MMF方法的有效性。具體步驟如下。
(1)調參實驗。基于內河航段特點的軌跡段匹配方法中需要調整的參數(shù)有距離閾值dist_F、航速差閾值speed_F、航向差閾值course_F、軌跡段匹配部分長度match_size、延長部分長度extend_size。經(jīng)50次實驗調整,所有參數(shù)取值見表2。

表2 內河軌跡段匹配算法參數(shù)Tab.2 The parameters of matching algorithm for inland trajectory segment
自適應雙隱層RBF網(wǎng)絡中需要調整的參數(shù)有徑向基層神經(jīng)元個數(shù)n、折扣率r、學習率learning_rate和訓練次數(shù)n_epochs。經(jīng)50次實驗調整,所有參數(shù)取值見表3。基于迭代控制多模型融合的船舶軌跡預測方法中需要調整的參數(shù)有航速學習率k_s、航向學習率k_c、經(jīng)度學習率k_lon、緯度學習率k_lat和迭代次數(shù)N。根據(jù)軌跡預測誤差收斂情況,調整學習率和迭代次數(shù),學習率均取0.01,迭代次數(shù)為200。

表3 自適應雙隱層RBF網(wǎng)絡模型參數(shù)Tab.3 The parameters of adaptive double hidden layer RBF network model
(2)實驗方案。首先,從近期AIS數(shù)據(jù)集中隨機選擇一條航跡線,并在此航跡線中隨機選擇一條包含200個軌跡點的軌跡段;其次,將前180個軌跡點的航速和航向序列輸入SCTCN模型中,得到航速和航向初始預測值,并將航速和航向初始預測值和第180個軌跡點的信息輸入STDE模型中,得到軌跡初始預測值;然后,使用第151~180個軌跡點在歷史AIS數(shù)據(jù)集中匹配軌跡段,得到匹配數(shù)據(jù)集,并以匹配數(shù)據(jù)集訓練自適應雙隱層RBF網(wǎng)絡,用于提取航速和航向分布特征;最后,經(jīng)自適應雙隱層RBF網(wǎng)絡模型和STDE模型組成的迭代塊迭代200次后,得到最終軌跡預測值,并根據(jù)式(18)計算軌跡預測平均誤差。為避免一次實驗具有偶然性,通過100次實驗計算軌跡預測平均誤差,評價軌跡預測效果。
(3)實驗結果。圖8所示為船舶MMSI號分別為413 812 932、413 940 426的船舶一次隨機的軌跡預測情況,為方便清晰查看軌跡預測效果,圖8中垂直虛線左邊顯示預測對比結果,右邊僅顯示待測船舶近期20個軌跡點。

(a)MMSI號為413 812 932

(b)MMSI號為413 940 426圖8 軌跡預測結果實例Fig.8 Examples of trajectory prediction results
(4)實驗分析。由圖8可以看出,隨著預測步數(shù)的增加,預測軌跡點與真實軌跡點的偏差越來越大,這主要因為誤差隨著預測步數(shù)的增加而累加,也說明長期軌跡預測不可靠;另外,前10步軌跡預測效果較好,后10步軌跡預測誤差雖有所擴大,但仍在可接受的范圍內。
為驗證本文所提多模型融合方法(MMF)在內河船舶航行軌跡預測上的有效性,以下列模型為基準,進行了對比實驗:①融合SCTCN模型和STDE模型(詳見第1、2節(jié))的船舶軌跡預測方法(SCTCN-STDE),SCTCN-STDE模型是本文MMF方法的重要組成部分,其預測的軌跡是MMF方法的迭代初值;②現(xiàn)有在船舶軌跡預測上表現(xiàn)較好的多項式卡爾曼濾波(PKF)模型[11];③現(xiàn)有在船舶軌跡預測上表現(xiàn)較好的雙向LSTM網(wǎng)絡(BLSTM)[13];④現(xiàn)有在移動對象軌跡預測上表現(xiàn)較好但還未應用到船舶軌跡預測上的序列模型[19],并引入注意力機制,即基于注意力機制的seq2seq模型(AttSeq2Seq模型)。具體步驟如下。
(1)實驗方案。由于以上對比模型或方法與本文使用的數(shù)據(jù)不同,故設計以下方案,以便使用相同數(shù)據(jù)進行相同的預測。
①基于SCTCN-STDE模型的船舶軌跡預測方法。首先,使用待測船舶近期180步的航速和航向序列,基于SCTCN模型預測20步的航速和航向;然后,將預測的航速和航向以及待測船舶當前軌跡點信息輸入STDE模型中,得到未來20步的軌跡預測值。
②基于PKF模型的船舶軌跡預測方法。首先,使用待測船舶近期30個軌跡點的信息,利用6次多項式函數(shù)[11]擬合經(jīng)度、緯度、航速和航向與時間的關系,以多項式函數(shù)的一階泰勒展開式得到的雅可比矩陣,作為狀態(tài)轉移矩陣;然后,使用待測船舶近期30個軌跡點的信息調整PKF模型中誤差協(xié)方差矩陣和卡爾曼增益等參數(shù);最后,預測下一步的經(jīng)度、緯度、航速和航向,并將預測值輸入到PKF模型中調整上述參數(shù),繼續(xù)預測步驟(2)的經(jīng)度、緯度、航速和航向,如此迭代更新,得到未來20步的軌跡預測值。
③基于BLSTM模型的船舶軌跡預測方法。首先,獲取待測船舶近期179步的經(jīng)度增量、緯度增量(相對于前一步)、航速和航向序列,并使用此序列訓練BLSTM模型(窗口大小為40);然后,將近期40步序列輸入訓練好的模型中,預測下一步的經(jīng)度增量、緯度增量、航速和航向,并將預測值與近期39步序列合并,預測第2步的經(jīng)度增量、緯度增量、航速和航向,如此迭代,得到未來20步的經(jīng)度增量和緯度增量預測值;最后,將待測船舶當前經(jīng)度和緯度分別與預測的經(jīng)度增量和緯度增量累加,得到未來20步的經(jīng)度和緯度預測值。
④基于AttSeq2Seq模型的船舶軌跡預測。首先,獲取待測船舶近期179步的經(jīng)度增量、緯度增量(相對于前一步)、航速和航向序列,并使用此序列訓練AttSeq2Seq模型(輸入序列和輸出序列長度分別為40和4);然后,將近期40步序列輸入訓練好的模型中,預測未來4步的經(jīng)度增量、緯度增量、航速和航向,并將預測值與近期36步序列合并,預測未來5~8步的經(jīng)度增量、緯度增量、航速和航向,如此迭代,得到未來20步的經(jīng)度增量和緯度增量預測值;最后,將待測船舶當前經(jīng)度和緯度分別與預測的經(jīng)度增量和緯度增量累加,得到未來20步的經(jīng)度和緯度預測值。
(2)實驗結果。將預測的軌跡與真實軌跡比較,并使用式(18)計算軌跡預測誤差,重復100次實驗計算平均誤差。軌跡預測平均誤差如圖9所示。軌跡預測平均用時如圖10所示。經(jīng)計算,相比于SCTCN-STDE、BLSTM、AttSeq2Seq、PKF,MMF方法平均每步軌跡預測誤差降低18.45%以上。

圖9 軌跡預測平均誤差Fig.9 The mean error of trajectory prediction

圖10 軌跡預測平均用時Fig.10 The mean time for trajectory prediction
(3)實驗分析。相比基準模型SCTCN-STDE、BLSTM、AttSeq2Seq、PKF,分析圖9和圖10可知:
①在前16步的軌跡預測中,本文提出的SCTCN-STDE模型平均誤差比BLSTM模型、PKF模型和AttSeq2Seq模型平均誤差小,后4步平均誤差雖然有所擴大,但與BLSTM模型和PKF模型相差不大,而SCTCN-STDE模型是MMF方法的組成部分,這說明使用SCTCN-STDE模型預測的軌跡作為MMF方法的迭代初值比較合理。這主要是因為SCTCN模型具有較強的時序數(shù)據(jù)特征提取能力,能夠較準確地預測航速和航向,并且STDE模型具有較高可靠性,確定了軌跡與航速和航向間的函數(shù)依賴關系。
②在20步(6 min)的船舶軌跡預測中,本文MMF方法平均誤差明顯比BLSTM模型、AttSeq2Seq模型和PKF模型平均誤差小。這得益于MMF方法同時使用了待測船舶近期AIS數(shù)據(jù)和歷史AIS數(shù)據(jù),并采用多模型融合方法,各個模型分工明確,避免相關性較大的變量輸入同一模型中,造成多重共線性,影響軌跡預測精度,另外,在多模型迭代過程中引入學習率,保證迭代序列平穩(wěn)更新,使得MMF方法具有良好的魯棒性。
③對比本文提出的MMF方法和SCTCN-STDE模型發(fā)現(xiàn),在前10步的船舶軌跡預測中,MMF方法平均誤差比SCTCN-STDE模型稍小,但在后10步的船舶軌跡預測中,MMF方法平均誤差明顯比SCTCN-STDE模型平均誤差小,并且隨著預測步數(shù)的增加,MMF方法的優(yōu)勢更能得到體現(xiàn)。這是因為軌跡預測的前期,待測船舶近期AIS數(shù)據(jù)占主要作用,但隨著預測步數(shù)的增加,航速和航向的預測誤差在擴大,軌跡預測誤差也隨之擴大,而歷史AIS數(shù)據(jù)在一定程度上能夠抑制航速和航向誤預測誤差的擴大,并且隨著預測步數(shù)的增加,抑制效果越明顯。
④上述模型按照平均用時從小到大排序依次為PKF模型、SCTCN-STDE模型、BLSTM模型、AttSeq2Seq模型、MMF方法。 PKF模型平均用時較短,但軌跡預測平均誤差較大;MMF方法平均用時較長,主要是因為綜合使用了近期以及歷史AIS數(shù)據(jù),并采用多模型融合結構,需要較多時間開銷,但是其平均用時(32.658 s)不足2步的時間開銷(每步18 s,見5.1節(jié)說明),即2步后又可以預測接下來20步(6 min)的軌跡,能夠滿足軌跡預測的實時性以及有效控制預測誤差。
綜上,本節(jié)實驗分別從軌跡預測平均誤差與平均用時對所提出的基于多模型融合的內河船舶軌跡預測方法(MMF方法)進行了評估,并與近年其他的軌跡預測方法(作為基準模型)進行了對比分析,結果表明,MMF方法在保證實時性的前提下,預測精度更高,因此更有實際應用價值。
針對目前內河船舶軌跡預測精度不高的問題,本文綜合待測船舶近期AIS數(shù)據(jù)和歷史AIS數(shù)據(jù),提出了基于多模型融合的內河船舶軌跡短期預測方法,既利用了歷史AIS數(shù)據(jù)的共性,又保留了待測船舶近期AIS數(shù)據(jù)的個性,同時各模型協(xié)同工作,提高了軌跡預測精度。
首先,利用待測船舶近期AIS數(shù)據(jù),設計SCTCN模型預測航速和航向,并構建STDE模型對軌跡進行初步預測;其次,結合歷史AIS數(shù)據(jù),設計基于內河航段特點的軌跡段匹配方法,得到匹配數(shù)據(jù)集;再次,構造自適應雙隱層RBF網(wǎng)絡模型,并使用匹配數(shù)據(jù)集訓練此模型;最后,將訓練好的自適應雙隱層RBF網(wǎng)絡模型和STDE模型組合為迭代塊,并引入學習率,將SCTCN模型預測的航速和航向以及STDE模型預測的軌跡作為迭代塊的迭代初值,經(jīng)迭代計算,得到最終軌跡預測值。同時,進行相關實驗驗證與對比分析,結果表明本文方法軌跡預測精度較高,且能滿足實時預測的要求,有助于規(guī)避水上交通事故,保障船舶安全航行,提高水上交通智能化監(jiān)管能力。