熊志文
(1.廣西船聯網工程技術研究中心,廣西 南寧 530007;2.廣西感知物聯網生產力促進中心,廣西 南寧 530007)
近年來國際貿易交流愈加頻繁,大宗貨物流通均通過海上運輸方式實現,海上運輸方式是遠距離貨物運輸最主要方式[1-2],具備較高的能源效率。但船舶在航行過程中,會遭遇特殊天氣狀況、洋流以及冰山等障礙物,導致航行軌跡發(fā)生偏移,對航行軌跡進行異常檢測是船舶航行安全保障之一,因此船舶航跡異常檢測在航海領域意義重大。郁舒昊等[3]提出船舶軌跡聚類方法,該方法通過采集船舶航向、航速、坐標等數據,提取該數據特征后,使用聚類方法得到船舶航行軌跡異常檢測。但該方法在應用時,其聚類方法容易陷入極值情況,導致其輸出結果不夠準確。魏輝等[4]提出船舶調用軌跡異常檢測方法,該方法以物聯網為基礎,建立軌跡異常檢測框架,通過該框架輸出船舶軌跡異常檢測結果。但該方法對框架運行環(huán)境要求較高,因此應用范圍較為狹窄。大數據驅動是通過采集海量大數據,通過聚類、統計等數據運算方法,從海量大數據內提取到有用信息的過程或方法。大數據驅動可實現目標的檢測、診斷、預測等目的,在各個領域應用較為廣泛[5]。本文以大數據驅動技術為基礎,研究船舶航行軌跡異常檢測,為保障船舶安全航行提供技術支持。
利用角度傳感器、速度傳感器、方位傳感器采集船舶在海上航行時的角度、速度和坐標等大數據,為保障該大數據來自于同一目標區(qū)域,構建傳感器相似度方程,利用該方程得到某一艘船舶的航行大數據。船舶傳感器觀測方程表達式如下:
式中:t為時刻;E(t)為傳感器在時刻為t時的觀測向量;W(t)為船舶航行大數據內存在的干擾噪聲;Y(t)為船舶航行狀態(tài)轉移矩陣;X(t)為船舶航行狀態(tài)觀測矩陣。
當時刻為t時,獲取到N個傳感器觀測大數據,其由下式表示:
式中:N為傳感器總數;mi為第i個傳感器采集到的船舶航行大數據數量;k為大數據屬性數量;Ei jk(t)為第i個傳感器采集第j個船舶航行大數據第k個屬性值。
為便于計算,對式(2)進行簡化處理,其變更如下:
式中:Bl(t)為在第l個時刻,若干個傳感器采集到的船舶航行大數據集合;M為傳感器觀測最大目標數量。
依據式(3)則傳感器觀測船舶航行大數據相似度方程如下:
式中:Bi(t),Bj(t)為第i和j個船舶航行大數據;dist(·)為相似度函數;ωk為調節(jié)參數;Δ為變量符號。
設置傳感器觀測船舶航行大數據相似度閾值 ε,當dist(Bi(t),Bj(t))>ε時,則輸出船舶航行大數據,該大數據來自于同一個目標船舶。
以同一個目標船舶航行大數據為基礎,建立其正常軌跡模型。使用大數據驅動技術中的多特征大數據聚類方法建立船舶正常軌跡模型,利用該模型獲得船舶航行正常軌跡,其詳細過程如下:
步驟1將同一目標船舶航行大數據采樣點看做船舶軌跡類簇,在每個類簇內,航跡點航向為其平均值,將航向看做類簇向[6-7],每一個航跡類簇均具備獨立的類簇向,則航向表達式如下:
式中:Uw為航跡類簇的總航向;Un為第n個船舶軌跡點航向;n為航跡點數量。
步驟2按照航跡類簇向,劃分軌跡點網格。航跡類簇網格劃分示意圖如圖1 所示,其網格寬度閾值為d。

圖1 船舶航跡類簇網格劃分示意圖Fig.1 Schematic diagram of ship track cluster grid division
步驟3建立船舶航行軌跡采樣點。在圖1 內,每個網格均為一個船舶航跡采樣點,該采樣點與船舶航行軌跡點不同,每個采樣點均具備平均航速、平均航向、平均經緯度和中位數距離等特征屬性。船舶航行軌跡采樣點表達式如下:
式中:SGi為第i個船舶航行軌跡采樣點;COUavg,SGEavg,LONavg,LATavg分別為船舶航行平均航向、平均航速、平均經度、平均緯度;Dmedian為中位數距離。
經過上述步驟,利用式(6)即可得到船舶航行正常軌跡。
依據得到的船舶航行正常軌跡,使用大數據驅動技術內的Spark Streaming 數據實時計算框架,實現船舶航行軌跡異常檢測。船舶航跡位置異常檢測是以實時接收到的船舶航跡點位置展開測定的,令Gi為待檢測的船舶航行軌跡點,SGj為船舶實際采樣軌跡點,通過計算Gi和SGj之間的距離 σ,并將與位置距離閾值進行比較,即可實現船舶航行異常軌跡檢測。Gi和SGj之間的距離σ 計算公式如下:
式中:Gi·lon,SGj·lon為待檢測軌跡點的經度和緯度;Gi·lat,SGj·lat為船舶實際軌跡采樣點經度和緯度。
令 σ~表示航跡點位置距離閾值,當式(7)結果高于該閾值時,則判斷當前船舶航跡異常。
由于船舶航線較長,為降低軌跡異常檢測難度,需將其航線劃分為若干個航跡段。設置航跡段長度為len,航跡段起點和終點之間的間隔時間為 Δt,依據長度len劃分船舶航跡段,判斷其航跡點起點和終點時間間隔是否在航行規(guī)定時間內,若是則選定該航跡段,反之則縮小航跡段選取長度。經過上述步驟,得到船舶航行時若干個航跡段。
T和S ubT分別表示待檢測航跡段和船舶實時航跡段,該2 個航跡段之間的夾角為H,其計算公式如下:
式中:S1,S2分別為待檢測軌跡段向量和船舶航行實際軌跡段向量。H~為船舶航跡段夾角閾值,當式(8)結果高于H~時,則表示當前船舶航跡異常。
經過上述步驟,實現船舶航行軌跡異常檢測。
以某長距離海運船作為實驗對象,該船航程較長,且航行海域暗礁、洋流錯綜復雜,為保障該船航行安全,使用本文方法對異常航跡展開檢測,同時驗證本文方法實際應用效果。
本文方法利用船舶大數據相似度方程獲得實時航行數據,測試其在獲得航行實時數據量不同情況下,數據相似度變化情況,結果如圖2 所示。分析可知,本文方法計算船舶航行數據相似度數值隨著航行數據量的增加而降低。在航行數據量為6 000 個左右之前時,本文方法計算航行數據相似度數值接近1.0,當船舶航行數據量超過6 000 個之后,航行數據相似度數值呈現小幅度下降趨勢。在航行數據量為10 000 個時,船舶航行數據相似度數值為0.95 左右。該結果說明:本文方法可有效從海量船舶航行數據中獲得同一船舶航行數據,從側面說明其獲得實際航跡和異常航跡檢測能力較好。

圖2 船舶航行數據相似度Fig.2 Ship navigation data similarity
驗證本文方法獲得船舶航行正常航跡能力。選擇該船在海上航行某時間段,使用本文方法獲取該時間段船舶航跡,結果如表1 所示。分析可知,應用本文方法獲取該船在該時間段內航跡時,航跡點經度和緯度數值與其實際數值吻合度極高,僅在08:30 和16:30 時,獲得船舶經度與其實際數值存在偏差,在12:30 船舶緯度與其實際數值存在偏差,但偏差區(qū)間僅為0.001°~0.002°之間,偏差數值較小。綜上可知,本文方法可有效獲得船舶實際航行軌跡,且獲取結果精度較高。

表1 船舶正常航跡檢測結果Tab.1 Detection results of normal ship track
驗證本文方法檢測異常航跡能力。選擇該船舶完整航線,檢測其在既定航線航行過程中航跡異常情況,結果如圖3 所示。由圖3 可知,該船在航行過程中,存在2 段航跡異常情況。該結果說明,本文方法可有效檢測船舶航行異常航跡,具備較為顯著的應用效果。

圖3 異常航線檢測結果Fig.3 Abnormal route detection results
本文研究基于大數據驅動的船舶航行軌跡異常檢測方法。該方法應用大數據驅動技術,從海量的船舶航行數據內獲取其航向偏差、航跡點偏差等數據,依此實現船舶航行軌跡異常檢測。對本文方法展開實際驗證,從驗證結果得知,本文方法可有效檢測船舶航行異常航跡,為船舶安全航行提供數據支持。