崔威威,劉 碩,張秉致,曹德建
(中國船舶集團有限公司第八研究院,南京 211153)
隨著國民經濟快速持續發展,長江和沿海黃金水道的水面交通迅猛發展。海事監管部門不斷完善船舶自動識別系統、水面交通雷達等監管設施,力圖提高船舶活動監管能力。[1]船舶活動感知能力建設極大充實了目標活動數據庫。如何充分利用AIS為代表的船舶活動信息,保障水上交通安全,提高水面交通規律認知與監管服務能力,積極應對潛在經濟損失和環境破壞風險,是一個值得研究的問題。
作為準實時、更新快的信息源,船舶AIS信息是提高水面交通監管能力的重要依賴。[2-3]目前,針對AIS信息處理形成了一些結合局部區域地理信息的數據處理手段[4-7],側重基于密度、流量的區域統計分析,以及船舶進出港、靠泊條件下的速度分析,能夠提供目標碰撞概率、區域熱點分析等數據應用。[8-13]終端設備使用與信息采集管理體制決定了AIS信息存在大量重復、抖動、缺失、甚至篡改偽裝。如何在低質量數據場景下實現區域監控、船舶航行狀態判別,并提供針對重要船舶與敏感區域的風險評估分析與預警告,尚未見到相應的報道。
船舶AIS信息由靜態部分和動態部分組成。靜態信息包括移動服務識別碼(MMSI)、國際船舶組織識別碼(IMO)、船舶呼號、船名、船長、船寬、船舶類別等。動態信息包括船舶位置、船速、航向、艏向、轉向率、航行狀態、更新時間等。由于AIS設備是大型船舶必須配備的,理論上具有單一性、精度高、更新快、準實時的特點,是船舶身份識別、行為監控、規律統計的重要信息源。[14]為此,開展數據清洗、目標編批、航行狀態評估與區域監控技術研究,形成面向船舶個體與區域的精細行為監控能力。
由于AIS工作原理、設備使用、傳輸機制存在的客觀限制,船長可以關閉終端設備或者編輯靜態信息。管理部門信息系統內的轉發、記錄、管理機制容易造成大量信息重復、錯誤和缺失等數據質量問題,必須進行數據清洗治理,提高數據處理的速度和質量,降低計算存儲資源消耗。AIS數據清洗基本原則是:依據更新時間、位置、MMSI清洗重復數據,在無法獲得精確航路、河道等地理信息時給定船舶活動的大致區域范圍并刪除野值信息。
由于靜態信息存在被修改的可能,在實際中存在大量重復的MMSI、船名,無法基于MMSI、船名、船長、船寬等用靜態信息準確區分船舶身份。同時,考慮到AIS更新存在的船舶動態信息存在錯誤的可能。為此,提出基于船舶呼號、時間和位置實現目標身份識別編批的基本思路,并進而修正船舶AIS的航速、航向等動態數據。
首先按照時間對MMSI相同的AIS數據進行排序,其次計算相鄰AIS的時間差、距離和速度。指定船舶目標最高速度為30 m/s。如果前后兩個AIS之間的速度大于閾值,則認為出現了兩個目標。同時,考慮到AIS數據抖動,計算e(1)到s(1)+1、s(2)、s(2)+1之間的速度并修正編批結果。船舶AIS目標身份識別基本原理和編批流程見圖1和圖2所示。

圖 1 AIS初步編批原理
為快速計算船舶AIS數據之間的距離,簡單采用標準球體作為理想地球模型,從而降低計算復雜度。理論分析和實際處理表明,這樣簡化處理不影響低速船舶目標的速度計算經度,以及身份識別和編批結果。

圖 2 船舶AIS目標識別和編批過程
假設兩個A、B坐標分別是(Lat1,Lon1)和(Lat2,Lon2),其中A為中心點。按照下式計算B相對于A的距離dis:
Lati=90-Lati,i=1,2
c=sin(Lat1)*sin(Lat2)*cos(Lon1-Lon2)+
cos(Lat1)*cos(Lat2)
dis=R*acos(c)
其中,R=(6 378.14+5 253.755)/2≈6 316 km,是地球半徑的近似值。最終得到目標由A到B的航向cour與航速velo:
cos(c)=cos(90-Lat2)*cos(90-Lat1)+sin(90-Lat2)*sin(90-Lat1)*cos(Lon2-Lon1)
sin(c)=sqrt(1-(cos(c))2)
cour=arcsin(sin(90-Lat2)*sin(Lon2-lon1)/sin(c))
velo=dis/Δt
需要注意的是,如果B點在A的第1象限則不對角度cour進行修正,如果在第2象限則cour=360+cour,如果在第3、4象限則cour=180-cour。
在理想條件的運動中,目標的航速、航向不會發生較為頻繁或者劇烈的變化。船舶目標一旦出現劇烈、連續的運動狀態變化,可能是航行條件變化、船舶狀況異常、主觀意圖造成船舶操縱駕駛非線性變化。這種變化往往意味著潛在監管風險。處于異常狀態的大型客貨運船舶目標是特別需要管理部門相關人員重點關注的。本文借助信息熵方法評估在最近的一段時間內(或者全部航程)目標的航速、航向運動狀態變化情況。
信息熵在計算過程首先對數據序列x={x1,x2,…,xn}進行去量綱,并可根據數據的不同屬性提供成本型、效益型和適中型去量綱公式:
為了實現實時化的航行狀態評估,可記錄每個目標最近5 min內的目標速度和航行,進而得到此5 min內的速度、航向差分,以完成航行狀態評估。在離線情況下,可以對AIS目標的全部數據進行處理。為防止xi=0,對上述xi公式進行修正處理,并在此基礎上進行計算得到熵值e:
其中,k=1/(lnN),N是數組的x長度。
按照網格進行區域劃分、統計是實現熱點區域監控的重要手段。為降低計算資源消耗,基于AIS信息動態生成統計網格。仍然取R=6 316 km作為地球標準球體模型的半徑,并選取500 m作為格子的延伸,從而換算得到緯度延伸ExtLat=0.0045°。記在不同緯度的經度延伸、格子坐標分別是ExtLat、IdxLat、IdxLon,其計算公式如下:
IdxLat=floor(lati/ExtLat),i=1,2,3,…,n
ExtLon=500/(R*cos(IdxLat*ExtLat)*2*Pi/360)
IdxLon=floor(loni/ExtLon)
根據航跡的AIS信息計算得到所在的格子后可以動態統計格子內目標的進入和駛出時間、平均航速和航向,以及航速航向產生的熵值,從而完成格子內目標數量統計、運動情況評估和船舶伴隨識別。此處認為,如果兩個目標在同一個網格內出現時間差不超過5 min且在不少于10個格子出現,則認為兩船存在伴隨情況。在完成伴隨目標處理后,進一步實現船舶編隊航行判斷,數據處理流程如圖3所示。伴隨是傳遞的,即如[Obja,Objb]、[Objb,Objc]是伴隨目標對,則[Obja,Objb,Objc]是一個伴隨群。

圖3 格子生成與目標伴隨識別
此針對南京海事局轄區長江段2018年6月29日一天的離線AIS數據進行分析驗證,提供如表1所示幾類分析結果。

表1 分析結果
通過預處理、編批處理,一共獲得9 592個目標,其空間分布與編批目標數隨時間變化如圖4所示。

圖4 船舶AIS信息分布空間及編批目標數隨小時變化
由圖4可知,每小時存在的目標數不小于2 300個。如果不進行對目標的行為特征進行精細化處理和分析,就難以實現船舶與區域的風險監控。
在獲得目標編批信息后,采用信息熵方法評估由目標航向、航速變化產生的熵值。圖5給出熵值最大的2個目標的軌跡圖及其速度、航向變化。
由圖5可知,2個目標在運動中存在大量機動變向,而這些機動目標正是需要管理者重點關注的。
根據網格劃分結果,統計活動目標最多的9個船舶密集區域,如圖6所示。

圖5 基于信息熵方法識別得到的高機動目標軌跡及其速度、航向變化

圖6 船舶目標密集區域與航行風險區
最后借助網格統計獲得伴隨最長的1對目標。該伴隨編隊在早上8點鐘左右出現在長江海事局轄區西部,下午5點鐘駛出長江海事局轄區,如圖7所示。

圖7 一對伴隨船舶目標軌跡圖
本文提到的方法可以實現船舶AIS目標編批處理,利用信息熵方法識別高機動目標,并結合劃分網格劃分結果得到目標密集區和高風險區統計結果,可以提高伴隨目標、機動目標和高風險區域的精細管理。不足之處在于,網格化分是按照大約500 m的距離根據AIS信息到中心點的位置計算得到的。這種網格化分方法沒有考慮航道、港口等地理信息,存在網格劃分不嚴謹的情況,其統計結果和對AIS地理空間分布特征的直觀認知有一定的區別。因此,需要進一步完善網格化分和數據統計處理方法。