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