張黎翔, 朱怡安, 陸偉, 文捷, 崔俊云
(1.西北工業大學 計算機學院, 陜西 西安 710072; 2.西安財經大學 信息學院, 陜西 西安 710100;3.交通運輸部水運科學研究所, 北京 100088)
軌跡大數據[1]記錄移動對象隨時間變化的活動情況,并客觀反映移動對象個體或群體的活動規律,當前研究人員針對軌跡大數據的研究主要包括:軌跡分類與聚類[2-3]、軌跡預測[4]、軌跡模式挖掘[5]等。
船舶自動識別系統(automatic identification system,AIS)通過GPS或北斗導航系統獲得船舶位置、航速、航向等動態信息與船舶靜態資料,并按照國際電信聯盟標準通過甚高頻廣播對外發送。船舶AIS設備的普及,使AIS數據成為當前船舶交通流分析、海事監管、事故分析的主要數據來源,為船舶軌跡大數據獲取、分析與應用提供了條件[6-7]。
AIS數據報文并不具備可靠性,在受到各種障礙物和電磁干擾的情況下,AIS數據傳輸過程中經常會出現丟失和錯誤。并且AIS數據包中的位置數據來源于GPS或北斗等定位設備,也可能因定位設備問題而出錯。錯誤的位置數據被獲取進入海事或航運管理信息系統,可能使管理部門對當前海事交通狀態產生誤判,甚至可能對碰撞、觸礁或擱淺等海損事故無法及時做出預判,釀成重大損失。
針對AIS異常點的檢測與修復方法的研究主要分為兩大類:基于單船單航跡的方法[8]和基于航跡聚類的方法[9-10]。前者依據船舶自身位置、速度與航向等數據判斷異常點并進行修復,其優點在于不需要航線歷史數據;其缺點在于異常點判別依賴于判別模型,且大量連續位置數據丟失情況異常點修復困難,Zhang等[11]通過模型對異常點進行檢測取得一定的成果,但僅當異常漂移點的平均速度超過最大速度時才視為異常點。后者依據大量船舶歷史航跡聚類結果,判別軌跡異常點并進行修復,其優點在于不需建立單船軌跡異常點模型,其缺點在于需要以大量歷史航跡數據作支撐,Rong等[12]通過聚類方法取得不錯的效果,但其對聚類結果有很高要求,且未能對異常點進行修復;而這兩類方法主要是針對船舶位置信息進行異常點檢測與修復,并未對船舶加速和航向異常點剔除,現有方法判定異常點相對簡單,且多是針對內河船舶,針對海上船舶異常點研究還有待提高,海上船舶有著類型差異大、尺度跨度大、航行自由度大、慣性大等特點,海上環境具有事故突發性強、氣象環境復雜等特點。
海上貨輪與客輪具有相對固定的航行參數,航行的位置、速度與航向數據具有相對穩定性和平滑性。因此采用基于單船軌跡的異常點檢測與修復方法具有較大優勢。本文提出了一種利用單船自身軌跡數據進行異常點判斷與修復的方法,該方法充分利用船舶的經緯度、速度、加速度以及航向數據進行異常點判定,與基于單一位置數據的異常點判定方法相比,能夠有效減少異常點的漏判,且該方法不需要歷史數據作為支撐,適用范圍更廣。此外采用三次樣條方法對間隔性異常點數據進行剔除后的補足修復,進一步提升軌跡數據的連續性和完整性。
軌跡用來表示移動對象狀態隨時間持續變化的信息歷史,也可視為時間到狀態的映射,即給定某一時刻t(t∈R+),通過一個以時間t為自變量的連續函數F,可以得到該對象在時刻t所處的狀態空間。狀態空間一般為d維向量,映射可表示為F:R+→Sd。設Tr表示船舶航行中的軌跡,則Tr={(s1,t1),(s2,t2),…,(sn,tn),…}。當前研究較多的狀態空間為移動對象位置向量,即平面空間中的二維坐標(x,y)。船舶發射的AIS位置報告報文包含經度、緯度、速度和航向等數據,為準確判別軌跡數據中的異常點,本文將船舶狀態空間S表示為經度、緯度、速度和航向組成的四維向量(E,N,v,C)。
對vtexplorer網站[14]提供的AIS原始報文分析發現,AIS報文存在轉發、丟失、數據錯誤等原因,會導致直接根據AIS報文建立的船舶軌跡存在諸多異常點,通過分析將異常點分類并給出判定條件。
1) 異常停止點
根據國際電信聯盟通信標準[13]所規定的報文格式,在AIS報文發送過程中存在轉發機制,接收端可能會接收到同一軌跡點的重復報文。重復的報文除了時間信息外,其他信息全部相同。另外,船舶自帶定位裝置在復雜環境下可能無法實時獲取位置數據,從而可能導致連續一段AIS報文中位置數據相同。如果不對這些重復或者異常的報文進行處理,會導致誤判船舶處于停止狀態。鑒于此,可給出異常停止點判定方法為:對于AIS序列,如果第i個點的速度大于2節(1節=1海里/小時),且第i+1個點的坐標(E,N)、速度v、航向C數據均與第i個點相同,則第i+1個點為異常停止點,規則如下
(1)
2) 異常加速點
根據當前船舶操縱性能設計標準,滿載情況下,船舶從靜止加速到設計速度的距離為船長的20倍左右;而在空載情況下,加速距離縮短到原來長度的1/2~1/3。船舶停車沖程受船舶排水量影響,一般為船長的8~20倍。據此標準,一艘船以10倍船長的距離加速到其設計速度的加速度,可作為其理論的最大加速度;以8倍船長的距離由其設計速度減速到停止的加速度,可作為其理論最小加速度。若設船長為L,設計速度為Vd,最大加速度為amax,最小加速度為amin,加速用時為t1,減速用時為t2,再設船舶行進過程中做勻加速或勻減速運動,則

(2)
由以上關系可以求得船舶最大加速度amax和最小加速度amin為

(3)
對于AIS序列,根據第i個點與第i+1個點的速度以及時間差,可以計算出兩點之間的加速度。若計算所得的加速度大于最大加速度或小于最小加速度,則判定第i+1個點為異常加速點,即

(4)
3)異常漂移點

(5)
tm滿足vi+1=vi+amax(tm-ti)+amin(ti+1-tm)。當受到風浪及避障影響時,船舶在i點和i+1點之間的實際行程一般不是嚴格直線。因此,軌跡點i和軌跡點i+1之間的直線距離d(i,i+1)必定小于smax。軌跡點i和軌跡點i+1之間的直線距離d(i,i+1)可以通過2個軌跡點的經緯度坐標經計算得出。據此,軌跡中的第i+1個軌跡點為異常漂移點的規則為其與第i個軌跡點之間的直線距離大于smax,可表示如下
(6)
4) 異常轉向點


(7)
式中,smax為異常漂移點中求解的2個軌跡點之間的最大行程。據此,對于船舶軌跡中的一個軌跡點,若其與前一個軌跡點之間的轉向角度大于ωmax,則該軌跡點為異常轉向點,即

(8)
根據AIS數據建立的船舶軌跡是離散的時空序列。為了滿足后續基于軌跡數據的研究與應用,需要將數據中的異常點刪除,然而,異常點的刪除會導致軌跡序列變得不連續;AIS報文的丟失也同樣會導致軌跡序列的間斷。故在實際應用中,需要進行同步插值處理,以獲得連續軌跡。三次樣條插值是常用的時空軌跡插值與同步方法之一,在時空軌跡數據缺失較少且間斷缺失情況下,三次樣條插值法具有良好的修復和同步效果。
根據國際電信聯盟通信標準[13]的規定,AIS的位置以及航行相關數據報文發送時間間隔與船只類型以及航速相關。對于A類船只,AIS報文發送的間隔應不大于10 s;對于B類船只,AIS報文發送的間隔應不大于30 s。在船舶正常行駛情況下,能夠獲取的軌跡數據比較密集,報文丟失與異常點刪除可能導致的軌跡點缺失相對較少,故適合采用三次樣條插值法進行軌跡點修復和同步。但在船舶在停泊情況下,AIS報文發送時間間隔為3 min,這種情況不需插值處理;此外,船舶也可能存在主動關閉AIS電臺的情況,這將導致船舶軌跡點出現較長一段缺失,此種情況下船舶的行為存在不確定性,故不適合進行插值處理。
鑒于上述AIS報文的特點,本文僅針對刪除異常點之后的軌跡數據進行分段處理,即根據軌跡點時間間隔與航速,先識別出正常航行段、停止段、和關閉電臺段,分段的規則為:①AIS報文時間間隔小于3 min為正常航行段;②AIS報文時間間隔大于等于3 min且小于等于5 min、航速小于1 kn為停止段;③AIS報文時間間隔大于5 min為關閉AIS電臺段。軌跡數據恢復過程中,僅針對第①種情況進行三次樣條插值;對于第②和第③種情況,不進行插值處理。在針對第① 種情況進行插值時,根據不同船舶類型和航速,以AIS報文規定時間間隔作為步長進行插值。
設AIS時空序列中有m個軌跡點,m個軌跡點對應時刻分別為ti(i=1,2,…,m),xi,yi,vi,θi分別表示軌跡點i的經度、緯度、速度、航向角,則經度方向速度為vxi=vicosθi,緯度方向速度為vyi=visinθi。以待插值序列的時間起點為零時刻,用對應的經緯度坐標作為坐標原點,對于待插值的時空序列,在經度和緯度方向端點的導數,即為vxi和vyi,將vxi和vyi代入分段樣條函數即可求得系數矩陣,隨后即可通過分段樣條函數求得每一分段內任意時刻t對應的經緯度數值。

根據邊界條件,在t1和t2時刻應滿足
(9)
根據待插值序列段邊界值y(t1),y(t2),v(t1),v(t2)即可求得樣條函數系數,確定經度y關于時間t的函數表達式,進而根據插值時間間隔,求得對應軌跡點的經度值。軌跡序列的其他參數(緯度、速度、航向)的插值方法與此類同,不再贅述。
為驗證本文所提出的船舶軌跡數據異常點處理與修復方法的效果,通過vtexplorer網站下載部分AIS原始數據進行實驗。數據選擇廈門港及周邊水域,時間范圍從2018年12月21日11時46分37秒至2019年1月3日7時30分22秒;空間范圍為(117.773 7°E,24.087 84°N)至(118.630 37°E,24.69 1°N),其中位置數據共12 158 622條,靜態數據共387 745條。實驗選取1艘MMSI號為413698470的船舶軌跡數據進行分析,有14 965條位置數據,時間跨度為2018年12月21日11時46分41秒至2018年12月22日23時59分50秒。查詢該船舶靜態數據可知,該船呼號為BVHW8,名稱為HAI GONG 167,船長32 m,是1艘油船。
在不對AIS原始位置數據進行任何處理的情況下,在設定時間跨度內,該船舶的軌跡如圖1(百度地圖,比例尺為1∶50 000)所示。
從圖1可以看出,根據該船原始位置數據序列建立的軌跡有些雜亂,能直觀看到的是其中存在諸多異常漂移點。異常漂移點的存在使得部分軌跡段甚至穿過陸地,明顯不具備可信性。若將這些船舶原始軌跡數據作為統計分析系統的數據源,將會造成統計分析結果偏離實際情況。這對于船舶管理與監控分析系統,將會造成錯誤的船舶異常行為報警。

圖1 船舶原始軌跡圖
若根據本文提出的異常軌跡點判定方法,則該船原始位置數據中存在的不同類型的異常點及其數量情況如表1所示。

表1 軌跡異常點分布
從表1該船舶異常點類型分布可以看出,異常漂移和異常轉彎點所占比例較重,且該船沒有異常停止點。主要原因可能是不存在重復轉發報文情況,但也可能是本文實驗下載的原始AIS數據已經處理了重復報文。按照本文方法,將原始數據中發現的各類異常點清除之后,該船的軌跡如圖2(百度地圖,比例尺為1∶50 000)所示。從圖2可以看出,清除異常點之后,船舶軌跡變得清晰可辨。

圖2 船舶清除異常點之后軌跡
在判別并刪除異常軌跡點之后,雖然船舶軌跡整體變得清晰,但軌跡點時間間隔較大且不均勻,這不利于船舶局部軌跡分析與應用。通過靜態數據可知,該船船長32 m,為小型油船,屬于B類船只,故對其軌跡修復過程中,按照本文第2節所給出的三次樣條插值方法,以其AIS報文發送時間間隔30 s進行插值處理,共插入軌跡點5 419個,插入軌跡點與總軌跡點的比值為36.21%。數據修復前后船舶軌跡點散點對比如圖3a)和3b)(百度地圖,比例尺為1∶50 000)所示。

圖3 修復前后航跡點對比圖
由圖3b)可以看出,數據修復之后船舶軌跡點密度顯著提高,軌跡變得更加連續,但修復之后的軌跡中仍有部分軌跡段處于間斷狀態,如圖3b)中的圓形標識部分有一個明顯缺口。該段軌跡沒有得到修復的原因,在于連續2個軌跡點之間的時間間隔超過了5 min,這表明船舶在該段處于關閉AIS設備的狀態,其行為具有不確定性,故不予修復。
本文除了對位置數據進行了異常點刪除與修復之外,同樣對速度異常、加速度異常以及航向異常等數據進行了異常點刪除與修復,異常點清除與修復前后船舶部分航段的速度、加速度、航向等變化情況對比如圖4至6所示(數據取自時間為2018-12-22 8∶22∶51至2018-12-22 9∶37∶45)。

圖4 修復前后速度對比圖 圖5 修復前后加速度對比圖

圖6 修復前后船舶轉向對比圖
由圖4至6可以看出,原始數據中超出船舶操縱性能范圍的速度、加速度以及航向突變均已被消除。修復之后的船舶航速、加速以及航向變化趨于連續和平緩,且均在合理范圍之內。
船舶AIS設備的普及應用,使得AIS數據成為當前船舶交通流分析、海事監管、事故分析的重要數據來源之一。然而AIS報文的不可靠性,給上層應用帶來了困難。本文針對基于AIS數據的船舶軌跡構建問題,在充分分析實際船舶AIS數據異常點類型的基礎上,根據AIS數據中的經緯度、速度、加速度、以及航向等信息,提出了一種軌跡異常點檢測與修復的方法。其中,所提出的異常點判定方法僅需船舶自身的AIS數據,不需要歷史航跡數據支撐;在剔除異常點之后,對于間斷性軌跡缺失,采用三次樣條插值方法對軌跡進行修復,進一步提升了軌跡的連續性和完整性。
對實際船舶軌跡處理結果表明,本文所提出的方法能夠有效識別AIS數據中的各類軌跡異常點;異常點剔除之后的軌跡插值處理效果明顯,能夠有效消除位置、速度、加速度以及航向的突變,經過處理之后的軌跡數據在經緯度、速度、加速度以及航向方面均處于合理范圍,且變化連續平滑。另外,本文僅針對AIS數據間斷性異常及缺失進行了處理,取得了預期效果,并且此方法具有通用性,對具有AIS數據的船舶皆可進行軌跡修復;若船舶在航行中關閉AIS設備,可能導致長時間段AIS數據缺失,在此種情況下,船舶行為具有不確定性,此類情況有待后續進一步研究。