劉雅奇,史譽洲,曹石勇
(1.江蘇航運職業(yè)技術(shù)學(xué)院,江蘇 南通 226010;2.江蘇海洋大學(xué),江蘇 連云港 222000)
船舶在海洋航行時一旦出現(xiàn)火災(zāi)、碰撞或者遭遇臺風(fēng)等需要及時救援,而救援首先需要確定船舶的精確位置。船舶航跡數(shù)據(jù)是船舶航行過程中的重要數(shù)據(jù),包括船舶航行的動態(tài)時刻、航向、航速、經(jīng)緯度以及船舶基本信息等。有了航跡數(shù)據(jù),海上船舶救援中心可以在第一時間根據(jù)船舶的歷史航跡數(shù)據(jù)來確認船舶的大概位置,甚至在缺乏后續(xù)航跡數(shù)據(jù)的基礎(chǔ)上也可以根據(jù)算法對船舶的航跡作出推測和預(yù)判,這將大幅度提升海上船舶搜救的效率和成功率。
航跡數(shù)據(jù)包含的數(shù)據(jù)較多,單純靠人力去判別眾多船舶的基本數(shù)據(jù)費時費力,可視化技術(shù)可以很好地將這些數(shù)據(jù)進行融合和總結(jié),以圖表的形式呈現(xiàn)出來,讓救援工作變得更加省時省力。同時由于船舶在發(fā)生事故時經(jīng)常會出現(xiàn)一些關(guān)鍵數(shù)據(jù)缺失,如GPS 由于沒有同時接收到3 個或以上的衛(wèi)星數(shù)據(jù)時會導(dǎo)致獲取的當前坐標信息不準,因而需要將這些數(shù)據(jù)舍棄,此時的解決方法是將北斗衛(wèi)星以及其他渠道獲取的位置信息進行融合,從而獲取當前時刻的船舶位置信息,這就需要對多種渠道獲取的信息進行有效融合。崔亞奇等[1]使用MTAD 數(shù)據(jù)集對多源航跡數(shù)據(jù)進行融合,同時根據(jù)這些航跡數(shù)據(jù)分析船舶不同航跡的特點,該數(shù)據(jù)集已經(jīng)成功應(yīng)用于實踐。在航跡可視化技術(shù)方面,葉鋒等[2]對船舶航跡數(shù)據(jù)可視化進行了研究。馮啟林等[3]將聚合神經(jīng)網(wǎng)絡(luò)應(yīng)用于4D 航跡預(yù)測,并充分結(jié)合可視化技術(shù),將航跡數(shù)據(jù)行程以可視化圖表的方式展現(xiàn)出來。
為了達到船舶海上快速搜救的目的,本文研究對船舶航跡數(shù)據(jù)的收集和獲取,結(jié)合可視化技術(shù)對航跡數(shù)據(jù)在軟件上實現(xiàn)快速展現(xiàn),提升海上船舶的搜救能力。
船舶自動識別系統(tǒng)(AIS)的原理是船舶通過公共頻道向岸基控制中心和其他船舶持續(xù)廣播本船的位置、航向、航速等信息,目前建造的所有船舶都會被強制安裝AIS 系統(tǒng),因而通過AIS 系統(tǒng)就可以獲取目標船舶的基本航跡信息[4]。
同一區(qū)域內(nèi)可能會有很多船舶,若這些船舶同時向岸基或其他船舶廣播信息,那么就會造成信息接收錯亂,因而在AIS 系統(tǒng)中會將1 min 分為若干個間隙,每個間隙的時間固定,為26.67 ms,處在間隙時可以發(fā)送AIS 信息,但是仍然會存在當船舶數(shù)量過多時會造成AIS 通信擁擠的情況。若在近海船舶非常擁擠時采集的AIS 航跡信息需要對距離進行判斷,優(yōu)先獲取距離近的船舶航跡數(shù)據(jù)。不同船舶AIS 數(shù)據(jù)發(fā)送的時序如圖1 所示,可以發(fā)現(xiàn),要保證AIS 信息發(fā)送成功,需要在發(fā)送信息時時隙不被占用。
圖1 不同船舶AIS 數(shù)據(jù)發(fā)送時序Fig.1 Different ship AIS data transmission timing
AIS 的發(fā)送機制為差分編碼,在對AIS 信號進行處理時需要進行同步處理,這樣可以確認信號的起始時間,并消除在信號傳輸中產(chǎn)生的時延對后續(xù)信號解調(diào)產(chǎn)生的影響。定義接收信號為r′(t),則
式中:f為傳輸頻率,t為時間,θ為偏轉(zhuǎn)相位。exp( )為計算以自然數(shù)e 為底的指數(shù),進一步計算可得到:
為了消除接收信號中頻偏造成的影響,對其進行幀同步計算和處理后可以得到:
式中:A為傳輸信號的最大電壓,w(n)為信號傳輸過程中所產(chǎn)生的噪聲。
在船舶航行過程中由于AIS 信息有可能會接收不到或者出現(xiàn)錯誤,因而船舶的航跡數(shù)據(jù)搜集經(jīng)常會采用多種數(shù)據(jù),不同監(jiān)測站點對同一船舶的位置監(jiān)測也會存在一些差值,在對船舶航跡數(shù)據(jù)可視化之前需要將這些不同源頭的數(shù)據(jù)進行有效融合,并將一些錯誤數(shù)據(jù)剔除出去[5]。圖2 為船舶航跡融合過程,不同監(jiān)測站獲取的數(shù)據(jù)匯總到數(shù)據(jù)跟蹤模塊,從每個監(jiān)測站獲取的船舶航跡都是整個航跡的一部分,而多源數(shù)據(jù)最后融合的航跡才是系統(tǒng)航跡。在航跡關(guān)聯(lián)后,系統(tǒng)會將不同監(jiān)測站點獲取的局部航跡狀態(tài)進行分配,不斷形成新的系統(tǒng)航跡,并計算新的系統(tǒng)航跡的誤差,通過獲取的局部航跡最終融合成船舶系統(tǒng)航跡,最后以可視化的方式顯示出來。
圖2 船舶航跡融合過程Fig.2 Process of ship track fusion
在同一個周期內(nèi),不同數(shù)據(jù)源獲取的某一個船舶的位置表示為Si,i為融合數(shù)據(jù)的數(shù)量,則整個數(shù)據(jù)量P為:
式中:Si為第i個監(jiān)測站發(fā)現(xiàn)目標船舶的點跡參數(shù),包括距離、方位以及航速等;PDi為第i個監(jiān)測站數(shù)據(jù)來源的可信程度;Ti為第i個監(jiān)測站所監(jiān)視的船舶數(shù)量;Ni為第i個監(jiān)測站的雜波點數(shù);λi為第i個監(jiān)測站雜波的密度。
使用Matlab 對航跡進行融合,仿真結(jié)果如圖3所示。
圖3 船舶航跡融合仿真結(jié)果Fig.3 Simulation results of ship track fusion
單純的獲取船舶航跡數(shù)據(jù)并將其可視化并不能完全實現(xiàn)船舶搜救的智能化,在可視化船舶航跡數(shù)據(jù)后只能看到船舶的歷史數(shù)據(jù),而不能判斷當前船舶的位置,在沒有航跡預(yù)測前,都是根據(jù)經(jīng)驗和人為判斷來劃分搜救區(qū),因而需要耗費大量人力和物力,在搜救前需要花費大量的精力去研判船舶可能的航向和位置[6]。
航跡預(yù)測使用LSTM 算法構(gòu)建模型,同時使用大量船舶航行數(shù)據(jù)作為訓(xùn)練集,在進行航跡預(yù)測之前,首先需要對收集到的航跡數(shù)據(jù)進行基本處理,數(shù)據(jù)處理包括數(shù)據(jù)重復(fù)、缺失數(shù)據(jù)補充、異常數(shù)據(jù)擬合等,這些數(shù)據(jù)處理工作對后續(xù)的航跡預(yù)測起到了重要作用。
數(shù)據(jù)重復(fù):很多不同監(jiān)測站點獲取的數(shù)據(jù)存在數(shù)據(jù)重復(fù)問題,因而需要編寫專業(yè)的軟件來對數(shù)據(jù)進行篩選,如將1 min 之內(nèi)位置信息完全重復(fù)的數(shù)據(jù)刪除,以防止后期航跡預(yù)測時這些重復(fù)數(shù)據(jù)對預(yù)測結(jié)果造成影響。
缺失數(shù)據(jù)補充:很多時候船舶航行到一些地區(qū)后,AIS 系統(tǒng)通信會存在一些問題,會造成少量的數(shù)據(jù)缺失,此時判斷出這個異常數(shù)據(jù)并根據(jù)相鄰航跡數(shù)據(jù)點對缺失的數(shù)據(jù)進行補充。
異常數(shù)據(jù)擬合:船舶航跡的異常數(shù)據(jù)表現(xiàn)為船舶航行過程中突然有一個航跡點和其余航跡點出現(xiàn)了明顯偏差,如經(jīng)度和緯度值在短時間內(nèi)變化很大,而在實際中船舶根本無法達到這種航行速度,因而在數(shù)據(jù)處理軟件中對這些數(shù)據(jù)設(shè)置出一個最大閾值,這個閾值可以根據(jù)船舶的最大航行速度計算出來,然后換算成經(jīng)度和緯度值。在出現(xiàn)異常數(shù)據(jù)后,需要棄用這個異常數(shù)據(jù),并根據(jù)其他航跡值擬合出一個航跡點補充到船舶航跡中,并最后顯示出來。航跡擬合可以使用拉格朗日差值方法,插值效果如圖4 所示。
圖4 航跡數(shù)據(jù)插值效果Fig.4 Track data interpolation effect
圖5 LSTM 原理Fig.5 Principle of LSTM
LSTM 算法為長短時間記憶網(wǎng)絡(luò),它的關(guān)鍵構(gòu)成是細胞,表示為Ct,Ct-1為上一個細胞狀態(tài),細胞的狀態(tài)可以被引入和刪除,因而在處理過程中加入了遺忘門、記憶門、更新細胞狀態(tài)、輸出門等,通過這些設(shè)置,系統(tǒng)可以對細胞的狀態(tài)進行不斷更新,從而達到訓(xùn)練目的。
在船舶航跡預(yù)測中,通過不斷地對航跡狀態(tài)引入和刪除,最終就可以獲取預(yù)測的船舶航跡。其對船舶航跡的預(yù)測包括3 個階段。
忘記階段:在模型中需要確定哪些船舶航跡需要遺忘,而確定遺忘哪些航跡并記住哪些航跡的判斷標準是這個局部航跡是否重要,是否會影響未來的航跡預(yù)測。
選擇記憶階段:對船舶航跡中的重要部分加以記憶,此功能是通過記憶門控信號來實現(xiàn)。
輸出階段:在完成一個階段的計算后,確定哪些船舶航跡信息需要輸出。使用LSTM 對船舶航跡進行預(yù)測需要結(jié)合大量的船舶航跡數(shù)據(jù),同時在建立的模型中需要顧及的參數(shù)較多,因而提升了模型的訓(xùn)練難度。
將船舶航跡數(shù)據(jù)結(jié)合地圖數(shù)據(jù),使用Python 進行編程,主要功能包括:
1)歷史數(shù)據(jù)可視化。對目標船舶的歷史航跡顯示在地圖上,并通過連線的方式在地圖上進行標記,如圖6 中線條所示,箭頭表示船舶航行方向。
2)任意靜態(tài)航跡數(shù)據(jù)查詢??梢允褂檬髽朔胖迷谌我鈿v史航跡位置上對該船舶的基本情況進行查詢,發(fā)現(xiàn)船名為MARGRETHE MAERSK 的船舶在2023-08-04 這一天的05:59 分以15 kn 的位置在航行,通過雙擊即可查看此時此刻該船舶的位置坐標。
通過對船舶航跡數(shù)據(jù)的可視化可以對船舶的歷史軌跡進行顯示,因而極大提升對可能失事船舶位置的判斷和搜救效率。
船舶航跡預(yù)測對于船舶海上搜救非常重要,這是由于很多船舶在航行過程中由于裝備損壞或者遇到其他極端情況已經(jīng)無法向外發(fā)送自身位置信息,如果僅僅依靠歷史數(shù)據(jù)信息已經(jīng)無法對當前的船舶位置進行判斷,很多時候不同人員對船舶的航向及位置預(yù)判都不相同,這就給后續(xù)搜救帶來了極大的不確定性。航跡數(shù)據(jù)預(yù)測系統(tǒng)是根據(jù)船舶的原定目標航向以及歷史數(shù)據(jù)信息對船舶未來一段時間內(nèi)航向進行預(yù)判,這就給船舶搜救提供了一定的輔助。
使用LSTM 構(gòu)建船舶航跡預(yù)測模型,嵌入到船舶航跡可視化系統(tǒng)中,可以對目標船舶進行航跡預(yù)測。如圖7 所示,可以發(fā)現(xiàn)在獲取最后一個時刻的目標船舶基本信息后,在缺乏AIS 信息及其他信息的情況下對船舶的航跡進行判斷,以幫助海上船舶搜救中心作出輔助決策。
圖7 船舶航跡預(yù)測結(jié)果Fig.7 Results of ship track prediction
船舶一旦發(fā)生事故將會造成人員傷亡和財產(chǎn)損失,船舶的海上搜救工作效率在很大程度上影響救援的成敗。船舶的航跡數(shù)據(jù)是重要的搜救依據(jù),本文對船舶航跡數(shù)據(jù)搜集、多源數(shù)據(jù)融合以及航跡預(yù)測算法進行研究,建立了航跡數(shù)據(jù)可視化系統(tǒng),具有航跡數(shù)據(jù)可視化以及航跡數(shù)據(jù)預(yù)測的功能。在航跡數(shù)據(jù)預(yù)測中,需要使用大量的數(shù)據(jù)對LSTM 模型進行訓(xùn)練才能得到較好的效果,在未來需要進一步優(yōu)化模型,并同時引入其他神經(jīng)網(wǎng)絡(luò)算法加以優(yōu)化,提升航跡數(shù)據(jù)預(yù)測的成功率,為船舶海上搜救提供有效輔助。