王知昊 元海文,2,▲ 李維娜 肖長詩
(1.武漢工程大學(xué)電氣信息學(xué)院 武漢 430205;2.武漢理工大學(xué)智能交通系統(tǒng)研究中心 武漢 430063;3.武漢理工大學(xué)國家水運安全工程技術(shù)研究中心 武漢 430063;4.山東交通學(xué)院威海海洋信息科學(xué)與技術(shù)研究院 山東 威海 264200)
近年來,國內(nèi)外交通系統(tǒng)在現(xiàn)代信息技術(shù)推動下正經(jīng)歷著由傳統(tǒng)信息化逐步向智能網(wǎng)聯(lián)化發(fā)展的深刻變革[1]。在構(gòu)建以安全、高效、綠色、智能為特征的新一代航運系統(tǒng)[2]大背景下,智能航行技術(shù)主要體現(xiàn)在信息采集與融合、環(huán)境感知與學(xué)習(xí)、智能決策與控制等方面[3],在智能海事的發(fā)展中起到重要作用,成為當(dāng)前智能航海領(lǐng)域的研究熱點。軌跡預(yù)測能夠根據(jù)周圍環(huán)境和當(dāng)前及過去的觀測信息預(yù)測附近船舶未來行駛狀態(tài),引導(dǎo)智能船舶[4]采取合理有效航行路徑或避讓措施,對實現(xiàn)未來船舶智能航行具有重要意義。
國內(nèi)外有關(guān)船舶軌跡預(yù)測的研究主要集中在2個方面:傳統(tǒng)算法和基于機器學(xué)習(xí)的算法。
傳統(tǒng)船舶軌跡預(yù)測算法主要基于運動學(xué)或統(tǒng)計概率。前者構(gòu)建船舶運動狀態(tài)轉(zhuǎn)移方程,根據(jù)位置、航向、速度、重量、結(jié)構(gòu)等船舶動態(tài)與靜態(tài)信息,預(yù)測并更新未來時刻的航行軌跡,例如,模型預(yù)測[5]、卡爾曼濾波[6-7]、多項式卡爾曼濾波[8]等?;诮y(tǒng)計概率的方法從概率角度分析,將目標(biāo)船舶與周圍船舶看作相互依賴、相互交互的運動實體,從環(huán)境全局策略角度考慮不同個體的運動軌跡。高斯混合模型[9-10]、灰色系統(tǒng)[11-12]分別被用于與船舶運動理論相結(jié)合,提升軌跡預(yù)測的可靠性。此外,貝葉斯模型[13-14]也能夠通過計算船舶運動及其不確定性來實現(xiàn)船舶軌跡預(yù)測。傳統(tǒng)軌跡預(yù)測方法比較依賴船舶運動趨向性,其時效性受船舶機動變化影響明顯,在考慮環(huán)境及船舶自身因素方面往往具有一定局限性。
機器學(xué)習(xí)或深度學(xué)習(xí)通過對某區(qū)域歷史船舶軌跡時空特征提取和模式識別,達到軌跡預(yù)測的目的。Zhou等[15]和甄榮等[16]分別利用反向傳輸神經(jīng)網(wǎng)絡(luò)對船舶經(jīng)度、緯度、航速、航向等運動特征變化進行預(yù)測。隨后提出的遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[17]和長短期記憶(long short term memory,LSTM)[18]網(wǎng)絡(luò)具有更好的時序記憶能力,在處理序列預(yù)測方面表現(xiàn)出色,被廣泛用于船舶軌跡預(yù)測,改進的LSTM[19-20]被用于提升軌跡預(yù)測精度。季學(xué)武等[21]在LSTM軌跡預(yù)測基礎(chǔ)上增加意圖識別,能夠同時輸出向左換道、直線行駛、向右換道的概率。劉姍姍等[22]將卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)與LSTM組合,實現(xiàn)船舶軌跡長短期時空特征的精準(zhǔn)提取。Liu等[23]將LSTM與卡爾曼濾波相融合,創(chuàng)新性提出1種混合驅(qū)動的船舶軌跡預(yù)測架構(gòu)?;谏疃葘W(xué)習(xí)的軌跡預(yù)測方法在足夠的數(shù)據(jù)支撐前提下有潛力挖掘獲取船舶軌跡時序變化及環(huán)境特征。
交匯水域作為典型水上交通場景,航道縱橫交錯、船舶交通流形態(tài)復(fù)雜、船舶交通沖突嚴(yán)重,實施船舶軌跡預(yù)測對有效提升通航安全尤為重要。因此,本文以交匯水域為對象,研究船舶軌跡預(yù)測與航行意圖識別方法:①設(shè)計1種CNN+LSTM組合網(wǎng)絡(luò)模型,以船舶先前時段內(nèi)的航行軌跡為輸入,預(yù)測其未來時段軌跡序列、航行意圖及其不確定性;②收集交匯水域內(nèi)的歷史船舶軌跡,對原始軌跡進行異常篩除、重采樣、切割分段等預(yù)處理,形成連續(xù)、平滑、穩(wěn)定的船舶軌跡數(shù)據(jù)集,用于所提模型的訓(xùn)練和測試;③開展實驗評價,通過對比分析所提模型的預(yù)測性能,討論不同輸入?yún)?shù)(采樣頻率、觀測時長、Dropout參數(shù))對模型的影響。
大多數(shù)機器學(xué)習(xí)算法性能在一定程度上取決于充分的數(shù)據(jù)和精準(zhǔn)的模型。本文使用的船舶軌跡數(shù)據(jù)來源于船舶自動識別系統(tǒng)(automatic identification system,AIS)公開數(shù)據(jù)集(https://marinecadastre.gov/ais/)。AIS作為1種船載導(dǎo)航設(shè)備,負(fù)責(zé)收集周圍船舶靜態(tài)和動態(tài)信息,并定時向外廣播自身狀態(tài)。根據(jù)身份識別碼MMSI,可提取到所有船舶按時間變化的動態(tài)位置信息,從而形成多條帶時間戳的軌跡序列。
以美國沿海某交匯水域為研究對象,主要研究該交匯水域的船舶軌跡預(yù)測與航行意圖識別,提取2021年6月—8月船舶歷史軌跡數(shù)據(jù),見圖1。本文在創(chuàng)建網(wǎng)絡(luò)模型和模型訓(xùn)練過程,主要選擇船舶隨時間變化的位置序列作為輸入?yún)?shù),通過大量歷史軌跡的學(xué)習(xí)對該交匯水域通航環(huán)境、船舶動靜態(tài)信息等綜合屬性影響下的航行模式識別,即將這些參數(shù)作為隱藏特征進行辨識。
圖1 交匯水域船舶航行軌跡Fig.1 Shiptrajectories in confluence waters
在船舶航行過程中,因AIS設(shè)備本身問題或環(huán)境干擾,AIS原始數(shù)據(jù)會出現(xiàn)異常。異常檢測目的是消除異常的軌跡,降低錯誤數(shù)據(jù)對機器學(xué)習(xí)模型的不良影響。
從AIS數(shù)據(jù)中提取到的船舶動態(tài)位置信息,見式(1)。
式中:latt為船舶在t時刻的緯度坐標(biāo);lont為船舶在t時刻的經(jīng)度坐標(biāo);xt:t+k為船舶t~t+k時刻之間的軌跡序列。
交匯水域通航環(huán)境中,船舶船速和航向變化通常保持相對穩(wěn)定。因此,本文采用均方差檢測異常軌跡,即當(dāng)軌跡序列的均方差大于交匯水域?qū)蔷€邊界σ的1/3時,該條軌跡被認(rèn)為異常,見式(2)。
同時,考慮到交匯水域附近存在一定數(shù)量的拋錨船舶和機動性較強的小型船舶。為降低此類型不規(guī)則的船舶軌跡對機器學(xué)習(xí)模型的影響,采用速度閾值法對軌跡序列中相鄰2個點的航行速度進行檢測。據(jù)統(tǒng)計觀測,主航道正常航速應(yīng)滿足式(3)條件。
式中:Vmin為船舶航行最小速度,n mile/h;Vmax為船舶航行最大速度,n mile/h。根據(jù)統(tǒng)計觀測,Vmin=5 n mile/h,Vmax=20 n mile/h。
AIS數(shù)據(jù)獲取的原始船舶軌跡序列間隔周期不一致,不能直接用于機器學(xué)習(xí)模型。本文采用線性插值法對彎曲程度較小的原始軌跡序列進行重采樣,針對曲率較大的軌跡序列時則采用拉格朗日插值法。
線性插值法將船舶軌跡近似為勻速直線運動,根據(jù)前后時間點對應(yīng)的位置信息,計算當(dāng)前時刻的位置,見式(4)。
式中:t1,t,t2分別為軌跡序列中前一時刻、當(dāng)前時刻和后一時刻的時間戳。
拉格朗日插值法采用多項式函數(shù)擬合軌跡序列中所有觀測點,進而利用該多項式函數(shù)重構(gòu)軌跡序列。設(shè)原始軌跡序列包含k+1個觀測坐標(biāo),拉格朗日插值多項式見式(5)。
式中:yt為采樣后軌跡序列中時刻t的船舶位置狀態(tài);xi為原始軌跡序列中時刻ti的船舶位置狀態(tài)。
經(jīng)過異常檢測和序列重采樣預(yù)處理,獲得一系列采樣周期固定、數(shù)據(jù)質(zhì)量較好的軌跡序列。然而,這些軌跡序列長度不同,并不能直接用于機器學(xué)習(xí)模型的輸入訓(xùn)練,需要對不同長度的軌跡序列進行分割切片。選取交匯水域中部分船舶向右轉(zhuǎn)向行駛的節(jié)點位置,以此為中點,分別向前、后各區(qū)固定數(shù)量的軌跡點,形成1條包含固定數(shù)量的軌跡序列。該軌跡序列被稱為標(biāo)準(zhǔn)樣本,所有的軌跡序列合起來形成交匯水域船舶軌跡標(biāo)準(zhǔn)數(shù)據(jù)集,見圖1(b)。
使用上述方法,從3個月的AIS數(shù)據(jù)中提取得到237 612個軌跡樣本。其中60%作為模型訓(xùn)練集,剩余40%作為測試集。
該模型采用編碼器-解碼器結(jié)構(gòu),通過對交匯水域船舶歷史軌跡學(xué)習(xí),獲取通航環(huán)境約束與船舶航行特征,建立該區(qū)域相應(yīng)的船舶軌跡預(yù)測與航行意圖識別模型。在此基礎(chǔ)上,引入Dropout網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)對基于學(xué)習(xí)的船舶軌跡預(yù)測不確定性估計。本研究提出的船舶軌跡預(yù)測與航行意圖識別模型見圖2。
圖2 基于CNN+LSTM組合網(wǎng)絡(luò)的船舶軌跡預(yù)測與航行意圖識別模型Fig.2 Ship trajectory prediction and intention recognition model based on CNN+LSTM combined network
圖2首先利用CNN+LSTM網(wǎng)絡(luò)作為編碼器部分,CNN設(shè)置內(nèi)核大小為3×3,輸出通道512,步長1,擴展率2,采用Relu激活函數(shù),對輸入的軌跡序列xt-h:t進行卷積操作,采用局部連接和共享權(quán)值的方法提取船舶軌跡特征信息。LSTM作為隱藏層進一步處理表征船舶軌跡的特征向量,達到長時間記憶功能,確保軌跡序列的時間相關(guān)性。LSTM選擇Relu作為激活函數(shù),神經(jīng)元數(shù)量為128。經(jīng)過CNN+LSTM編碼,獲取軌跡序列的上下文特征狀態(tài)向量H。H取編碼器中的最后1個LSTM隱藏狀態(tài)向量。
解碼器采用LSTM與全連接層組成的循環(huán)網(wǎng)絡(luò)結(jié)構(gòu),模型以輸入時間序列最后時刻t作為起始點預(yù)測對應(yīng)的未來軌跡序列,故以編碼器的最后輸出狀態(tài)H和船舶輸入軌跡序列最后1個點xt作為輸入,輸出得到船舶軌跡時間序列預(yù)測結(jié)果xt+1:t+k。在此基礎(chǔ)上增加1個邏輯分類輸出,即引入航行意圖識別因子C。根據(jù)預(yù)測值C,可判斷交匯水域中船舶未來的航路選擇。解碼器中LSTM網(wǎng)絡(luò)層神經(jīng)元數(shù)量為128,全連接層神經(jīng)元數(shù)量為128,分別選擇Relu為激活函數(shù)。該模型采用均方誤差(MSE)作為損失函數(shù),Adam作為優(yōu)化函數(shù)。
同時,將Dropout引入CNN+LSTM組合網(wǎng)絡(luò)模型,實現(xiàn)對該模型預(yù)測的不確定估計。Dropout被設(shè)置在2層LSTM網(wǎng)絡(luò)中,訓(xùn)練階段以一定概率隨機關(guān)閉LSTM網(wǎng)絡(luò)中的神經(jīng)元。在Dropout作用下,以相同的軌跡序列多次輸入至該CNN+LSTM網(wǎng)絡(luò)模型,獲得1組不完全相同的預(yù)測結(jié)果假設(shè)預(yù)測不確定性模型符合正態(tài)分布,且經(jīng)度、緯度相互獨立,則最優(yōu)的預(yù)測結(jié)果x?t+1:t+k及其不確定性Qt+1:t+k可由式(6)~(7)定義。
式中:為軌跡在t+1~t+k時刻之間的第i次預(yù)測結(jié)果。
基于CNN+LSTM組合網(wǎng)絡(luò)的船舶軌跡預(yù)測與航行意圖識別方法訓(xùn)練和測試的具體流程見圖3。首先,利用該交匯水域船舶軌跡數(shù)據(jù)集的訓(xùn)練子集,對CNN+LSTM組合網(wǎng)絡(luò)進行迭代訓(xùn)練,實現(xiàn)船舶軌跡預(yù)測與航行意圖識別模型;然后,使用數(shù)據(jù)集的測試子集對該模型進行測試,通過與真實值、其他方法的對比,分析評價本文所提方法的有效性。不同場景由于尺度、環(huán)境、政策等因素不同,船舶航行特征也相應(yīng)改變。因此,如將本文方法應(yīng)用于其他場景,需收集目標(biāo)場景的歷史軌跡,制作相應(yīng)數(shù)據(jù)集,對本文設(shè)計的網(wǎng)絡(luò)模型進行重新訓(xùn)練,學(xué)習(xí)目標(biāo)場景中的船舶航行特征或規(guī)律。
圖3 船舶軌跡預(yù)測與航行意圖識別方法流程Fig.3 Theflow of the ship trajectory prediction and intention recognition method
使用訓(xùn)練后的CNN+LSTM組合網(wǎng)絡(luò)開展船舶軌跡預(yù)測實驗,以某船舶過去60 min時段軌跡作為輸入,預(yù)測其未來60 min時段內(nèi)的航行軌跡,結(jié)果見圖4。圖4(a)(c)(e)為船舶保持直線航行情形的軌跡預(yù)測結(jié)果,與真實軌跡進行相似度匹配,預(yù)測誤差分別為2.194,4.178,3.957 n mile;圖4(b)(d)(f)分別為船舶右轉(zhuǎn)航行情形的軌跡預(yù)測結(jié)果,預(yù)測誤差為4.86,2.252,4.316 n mile。此處的預(yù)測誤差由軌跡相似度的倒數(shù)定義,即預(yù)測軌跡與真實軌跡之間的相對距離之和。根據(jù)交匯水域2種不同情形的預(yù)測結(jié)果,本文所設(shè)計的CNN+LSTM組合網(wǎng)絡(luò)能夠?qū)崿F(xiàn)船舶軌跡預(yù)測。
圖4 以前60 min時長為輸入,預(yù)測未來60 min時段內(nèi)的船舶軌跡Fig.4 Predicting the ship trajectories of next 60 min with the input of previous 60 min
為說明本文所提模型的預(yù)測性能,將CNN+LSTM組合網(wǎng)絡(luò)預(yù)測模型與基于LSTM的軌跡預(yù)測方法、傳統(tǒng)運動軌跡預(yù)測方法進行對比。在采樣頻率3 min、序列時長60 min的輸入條件下,預(yù)測結(jié)果見圖5。其中,圖5(a)為船舶直線航行情形的預(yù)測結(jié)果,圖5(b)為對應(yīng)的局部放大圖,傳統(tǒng)運動預(yù)測誤差為1.195 n mile,LSTM預(yù)測誤差為2.019 n mile,CNN+LSTM預(yù)測誤差為1.628 n mile;圖5(c)為船舶右轉(zhuǎn)向航行情形的預(yù)測結(jié)果,圖5(d)為對應(yīng)的局部放大圖。由圖5可見:傳統(tǒng)運動預(yù)測誤差為27.15 n mile,LSTM預(yù)測誤差為7.487 n mile,CNN+LSTM預(yù)測誤差為5.123 n mile,誤差降低了31.6%。在該交匯水域處,當(dāng)船舶保持直線航行無機動性操縱時,傳統(tǒng)運動預(yù)測方法憑借對當(dāng)前狀態(tài)運動趨向性的把握,對未來時段軌跡預(yù)測效果最佳。然而,當(dāng)船舶發(fā)生操縱性改變逐漸向右轉(zhuǎn)向行駛時,CNN+LSTM預(yù)測效果更好,主要是因為通過大量歷史軌跡的學(xué)習(xí)能夠掌握當(dāng)前區(qū)域的航道環(huán)境及船舶航行特征。
圖5 LSTM+CNN、LSTM、運動預(yù)測方法對比Fig.5 Comparison between LSTM+CNN、LSTM、motion-based predictions
為確定最佳的模型輸入條件,分析對比了以不同的軌跡序列時長和采樣頻率作為輸入對CNN+LSTM模型預(yù)測的影響。以船舶過去60 min時段的軌跡序列作為輸入,分別取1,3,6,12 min作為采樣頻率,對CNN+LSTM組合網(wǎng)絡(luò)進行訓(xùn)練,得到4組船舶軌跡預(yù)測模型。利用數(shù)據(jù)集測試子集,預(yù)測結(jié)果見表1,對預(yù)測軌跡均勻抽取5個預(yù)測點與真實軌跡進行比較,其中t1為預(yù)測軌跡中第12 min,t2為預(yù)測軌跡中第24 min,t3為預(yù)測軌跡中第36 min,t4為預(yù)測軌跡中第48 min,t5為預(yù)測軌跡中第60 min。結(jié)果表明:以3 min采樣頻率為輸入的模型預(yù)測誤差最小,為3.946 n mile。隨著時間的推移,所有模型預(yù)測誤差逐漸增大,以3 min采樣頻率為例,最大誤差為t5時刻的1.208 8 n mile。
然后,確定采樣頻率為3 min,分別選取軌跡序列時長為15,30,45,60 min作 為 輸 入,對CNN+LSTM組合網(wǎng)絡(luò)進行訓(xùn)練,對應(yīng)生成4組預(yù)測模型,預(yù)測未來60 min時段的軌跡序列。采用與之前相同的預(yù)測誤差計算方法,結(jié)果見表2。結(jié)果表明:以60 min時長為輸入的模型預(yù)測效果最佳,平均預(yù)測誤差為3.946 n mile,最大誤差為1.208 8 n mile。
表2 不同時長輸入條件下的軌跡預(yù)測誤差Tab.2 Trajectory prediction errors using different durations as inputs
本文涉及的航行意圖是指船舶經(jīng)過交匯處后的航路選擇。航行意圖隨交匯水域交通結(jié)構(gòu)變化而不同。選取的具體交匯水域主要分為直線航行和右轉(zhuǎn)航行,因此航行意圖也為對應(yīng)的直線航行和右轉(zhuǎn)航行這2種。利用所提方法對隨機選取的100條船舶軌跡的航行意圖進行了識別,其中57條直線航行軌跡,43條右轉(zhuǎn)航行軌跡,計算得到混淆矩陣,見表3。意圖識別因子C≥0.5表示右轉(zhuǎn)航行,C<0.5表示直線航行,直線航行意圖識別準(zhǔn)確率為85.96%,右轉(zhuǎn)航行意圖識別準(zhǔn)確率為88.37%,總體識別精度為87%。盡管已經(jīng)采取數(shù)據(jù)治理方法,但是AIS系統(tǒng)偏置引起的誤差仍然存在,導(dǎo)致部分航行意圖未能準(zhǔn)確識別。充分、精確的數(shù)據(jù)集有利于改善基于學(xué)習(xí)的軌跡預(yù)測方法。在未來研究工作中,采用基于聚類的異常檢測方法對AIS船舶軌跡精細化篩選。
表3 交匯水域船舶航行意圖識別混淆矩陣Tab.3 Confusion matrix of intention identification for ships in confluence waters
在CNN+LSTM組合網(wǎng)絡(luò)模型中引入Dropout模型,以此實現(xiàn)對預(yù)測結(jié)果的不確定性估計。該不確定性主要反映的是預(yù)測軌跡序列在經(jīng)度、維度坐標(biāo)上的誤差范圍,采用預(yù)測協(xié)方差來表示。為更好地解釋預(yù)測不確定性的意義,圖6分別展示了交匯水域船舶直線航行和右轉(zhuǎn)航行時的軌跡預(yù)測及不確定性。其中,每個預(yù)測位置上的不確定性通過半透明的橢圓表示,橢圓在水平方向的軸長表示經(jīng)度不確定性,在垂直方向的軸長表示緯度不確定性。無論船舶是直線航行還是右轉(zhuǎn)航行,隨著時間推移,預(yù)測不確定性逐漸增大,預(yù)測精度逐漸下降,然而不確定性范圍基本能夠完全覆蓋真實軌跡。因此,不確定性估計的引入,使得軌跡預(yù)測方法更具有實用價值。
圖6 船舶軌跡預(yù)測不確定性估計(Dropout=0.5)Fig.6 Uncertainty estimation of ship trajectory prediction(Dropout=0.5)
為確定最優(yōu)的Dropout值,對不同Dropout值條件下的船舶軌跡預(yù)測及不確定性結(jié)果進行對比分析。以船舶過去1 h時段的軌跡序列作為輸入,設(shè)置Dropout值分別為0.3,0.4,0.5,0.6,0.7,對CNN+LSTM網(wǎng)絡(luò)模型進行訓(xùn)練和測試。表4均勻抽取預(yù)測序列中的5個位置,其中t1為預(yù)測軌跡中第12 min,t2為預(yù)測軌跡中第24 min,t3為預(yù)測軌跡中第36 min,t4為預(yù)測軌跡中第48 min,t5為預(yù)測軌跡中第60 min。當(dāng)選取Dropout值較大時,預(yù)測不確定性范圍過大,盡管能夠覆蓋真實值,但模型擬合效果較差;當(dāng)Dropout值較小時,預(yù)測不確定性范圍減小,導(dǎo)致不能完全覆蓋真實值,模型無法精準(zhǔn)掌握自身預(yù)測性能。通過比較,當(dāng)Dropout值為0.5時,在確保模型正確擬合的條件下,不確定性估計對真實值的覆蓋率最高,效果最佳。
表4 不同Dropout值條件下的軌跡預(yù)測不確定性估計及覆蓋率Tab.4 Uncertaintyestimation and coverage rate of trajectory prediction with different Dropout values
基于AIS的船舶軌跡預(yù)測能夠為船舶智能航行和水上交通安全保障提供基礎(chǔ)技術(shù)支持。所提出的船舶軌跡預(yù)測與航行意圖識別方法基于CNN+LSTM組合網(wǎng)絡(luò)模型提取通航環(huán)境約束及船舶航行特征,并利用Dropout模型計算預(yù)測結(jié)果的不確定性。開展了定量、定性實驗,結(jié)果證明了提出的船舶軌跡預(yù)測和航行意圖識別方法在交匯水域場景中能夠取得較好的精度。
在未來研究工作中,將引入環(huán)境、物理等特征作為模型輸入?yún)?shù),通過與本文方法對比,實現(xiàn)對船舶軌跡預(yù)測的關(guān)鍵特征識別。同時,將運動預(yù)測與數(shù)據(jù)驅(qū)動的機器學(xué)習(xí)方法相融合,降低對數(shù)據(jù)集的依賴性,提升軌跡預(yù)測的可靠性。