劉亞帥,曹 偉,管志強
(中國船舶重工集團公司第七二四研究所,南京211153)
由于海上異常軍事目標的航跡多表現(xiàn)為位置異常與航向異常,所以為了能夠檢測出異常航跡,識別出異常船舶,需要首先構(gòu)建出正常船舶航路的位置與航向模型,然后在此模型下與待檢測航跡進行對比檢測。
當前,船舶自動識別系統(tǒng)(Automatic Identification System,AIS)[1]的廣泛應(yīng)用為基于 AIS數(shù)據(jù)構(gòu)建正常船舶航路模型及檢測異常航跡提供了海量數(shù)據(jù)儲備??v觀國內(nèi)外基于AIS數(shù)據(jù)對航路建模的研究,多基于單一目標的小樣本進行。例如,Pallotta等[2]采用改進后的 DBSCAN (density?based spatial clustering of appli?cations with noise)聚類算法進行航道挖掘,Guillarme等[3]采用軌跡分割聚類的方法實現(xiàn)軌跡數(shù)據(jù)的聚類,Osekowska 等[4?6]將勢場的概念應(yīng)用于船舶航道的提取,寧建強等人[7]采用一種細粒度網(wǎng)格化的方法對海上船舶航道進行提取。這些方法在海量數(shù)據(jù)背景下都會導(dǎo)致樣本描述整體出現(xiàn)偏差的可能性增大,甚至發(fā)生錯誤和遺漏[8]。
為了基于海量AIS數(shù)據(jù)實現(xiàn)正常船舶航路的建模,從而實現(xiàn)異常航跡的檢測,本文提出了一種基于網(wǎng)格化的船舶航跡異常檢測算法。該算法首先采用了一種網(wǎng)格化壓縮方法對原始航跡進行壓縮處理,去除冗余數(shù)據(jù);然后基于網(wǎng)格化重構(gòu)了航跡方向?qū)傩?,為壓縮后的航跡增加了方向?qū)傩?;之后采用分類處理的思路和變閾值設(shè)計方法實現(xiàn)了航路建模;最后設(shè)計了一種基于滑窗檢測的方法,實現(xiàn)了異常航跡的檢測。實驗結(jié)果表明,該算法可以有效實現(xiàn)部分類型的異常航跡檢測。
本文基于網(wǎng)格化的船舶航跡異常檢測算法的總體架構(gòu),如圖1所示。
圖1 船舶航跡異常檢測算法總體流程
由于從數(shù)據(jù)庫中抽取的原始AIS數(shù)據(jù)存在大量噪聲信息,所以本文首先通過從MMSI(Maritime Mobile Service Identity)號及經(jīng)緯度角度對其進行篩選去噪。
定義1空窗期
由于主觀或客觀環(huán)境的干擾導(dǎo)致目標離開監(jiān)控窗口,監(jiān)測儀器在一段相當長的時間內(nèi)丟失對這個目標的跟蹤,而且在再次跟蹤到該目標時無法忽略中間缺失過程產(chǎn)生的誤差。這段缺失過程就是該目標的一個空窗期。
由于同一MMSI號的航跡存在多個空窗期,為了滿足后續(xù)網(wǎng)格化壓縮處理中對軌跡數(shù)據(jù)連續(xù)性的要求,需要將同一MMSI號對應(yīng)的AIS數(shù)據(jù)根據(jù)空窗期分割成若干連續(xù)的航跡,即航跡切割。
為了基于海量AIS數(shù)據(jù)實現(xiàn)正常航路的建模,本節(jié)通過以下3步進行處理:
(1)為了從海量AIS數(shù)據(jù)中提取出有用的航跡信息,去除冗余信息,本節(jié)提出一種網(wǎng)格化壓縮的方法直接剔除了航跡數(shù)據(jù)中的冗余信息,提取出航跡數(shù)據(jù)中的有用信息;
(2)由于壓縮后的航跡缺失了航跡的航向?qū)傩?,而后續(xù)異常檢測過程需要航向信息,所以本節(jié)基于網(wǎng)格化為航跡重構(gòu)了航向?qū)傩裕?/p>
(3)在上述兩步的基礎(chǔ)上,本節(jié)在重構(gòu)的8個航向上分別建立了8個航向上的航路模型。
定義2網(wǎng)格化壓縮方法
如公式(1)所示,已知一條連續(xù)的航跡是S,其中(loni,lati)是航跡S的第i個航跡點的經(jīng)緯度坐標;然后,通過坐標變換,使得(lon′i,lat′i)等于航跡點(loni,lati)所在網(wǎng)格中心點的坐標,從而形成航跡S′;最后,對航跡S′按照點跡的先后順序進行去重壓縮,最終得到壓縮后的航跡S″,而且n>m。
網(wǎng)格化壓縮具體操作流程如下所述:
(1)如圖2所示,對研究區(qū)域W根據(jù)經(jīng)緯度值劃分成大小為step的網(wǎng)格(圖中A′是A的放大);
(2)將落在網(wǎng)格中的所有航跡點的經(jīng)緯度坐標都壓縮成為網(wǎng)格中心點的經(jīng)緯度坐標(對于落在網(wǎng)格邊界線上的點統(tǒng)一移到左側(cè)或上側(cè)的格子中),即將所有落到A′格子中的點都壓縮到中心點處;
(3)將每一條連續(xù)的航跡按照時間屬性(UDT_TM)進行排序,并對經(jīng)緯度采用一階差分的算法進行計算;
(4)將經(jīng)緯度差分為零的點去掉,至此實現(xiàn)了網(wǎng)格化壓縮。
圖2 網(wǎng)格化壓縮過程圖
定義3航向?qū)傩灾貥?gòu)規(guī)則
設(shè)初始軌跡點為P0(Lon0,Lat0),下一軌跡點位置為P1(Lon1,Lat1),根據(jù)矢量的定義法則,P0點的矢量方向(Lon1?Lon0,Lat1?Lat0)。 圖 3 是一個九宮格編碼格,9號格為初始軌跡點P0,下一軌跡點P1將會落到剩余的軌跡格中的任意一個格中,則P0的方向編碼為P1點落到的格子對應(yīng)的編碼號。
圖3 九宮格編碼圖
在定義3的基礎(chǔ)上,首先假設(shè)一條航跡(如圖4所示),則軌跡點a的軌跡方向編碼為7,軌跡點b的軌跡方向編碼為2,軌跡點c的軌跡方向編碼為1。這樣這條軌跡方向的整體編碼形式就是7?2?1。依此原理對所有壓縮后的點跡進行航向?qū)傩灾貥?gòu)。
圖4 假設(shè)軌跡圖
為了便于后續(xù)從不同航向角度對航跡進行異常檢測,本節(jié)首先按照重構(gòu)的航向?qū)傩缘?個編碼值將航跡數(shù)據(jù)分成8個數(shù)據(jù)集,之后在每個數(shù)據(jù)集上分別建立該航向上對應(yīng)的航路模型,以此實現(xiàn)不同航向上的航路建模。具體算法流程如圖5所示。
圖5 正常航路建模流程圖
定義4核心密度網(wǎng)格
在網(wǎng)格密度值計算中,一般直接對每個網(wǎng)格中點跡數(shù)量進行計數(shù)從而作為其相應(yīng)的密度。同時規(guī)定,若某個網(wǎng)格中的點跡數(shù)(即網(wǎng)格密度)大于等于設(shè)置的密度閾值,則該網(wǎng)格被稱為核心密度網(wǎng)格,否則稱為噪聲網(wǎng)格。
定義5密度閾值設(shè)置方法
設(shè)航向i(i=1,2,…,8)上的網(wǎng)格密度值集合為DIi(Di1,…,Dij,…,Din),其中Dij是航向i上的第j個網(wǎng)格中的密度值(Dij>0),則如公式(2)所示,其中μi為航向i上的網(wǎng)格密度值的均值,σi為航向i上的網(wǎng)格密度值的標準差,TDi為航向i上的密度閾值,m為一個系數(shù)(m>0)。
由于本文是通過提取核心密度網(wǎng)格作為正常航路模型,所以需要設(shè)置密度閾值來過濾噪聲網(wǎng)格。因為重構(gòu)的8個航向上的數(shù)據(jù)分布存在差異,為了適應(yīng)不同航向上數(shù)據(jù)分布的特點,本文采用定義5的方法分別設(shè)置不同航向上的密度閾值TDi,之后通過閾值判決實現(xiàn)不同航向上的航路建模。
詩意美是《雨巷》最為突出的特點之一?!八囆g(shù)作品的形式美,歸根結(jié)底,也正是這樣一種生命感應(yīng)的產(chǎn)物”。詩歌作為一種充滿藝術(shù)性的作品形式,與其他體裁相比,簡潔而又含蓄,卻能將作者的心緒、感受完美地詮釋;精練的語言,短小的篇幅,卻能引人遐想。
本文采用的異常檢測流程如圖6所示。
圖6 異常檢測流程圖
為了便于航跡與航路模型對比,首先需要對航跡也進行網(wǎng)格化壓縮及航向重構(gòu),其壓縮方法和航向重構(gòu)方法與航路建模中的一致。之后設(shè)置滑窗大小為N2,對滑窗內(nèi)的航跡采用滑窗異常檢測方法進行檢測(見定義 6)。
定義6滑窗異常檢測方法
首先采用滑窗N2對航跡按照時間順序截取矩陣A,其中矩陣A中航跡所在位置的元素值為1,其余位置的元素值為0(如圖7所示)。同時采用滑窗分別對8個模型截取矩陣B1至B8,其中Bm矩陣對應(yīng)模型中核心密度網(wǎng)格的元素值為α(α>0),其余元素為β(β<0)。
圖7 窗口截取矩陣過程
如公式(3)所示,其中P為整個滑窗中的航跡異常度,M是模型的個數(shù),本文中取M=8,N是滑窗的大小,ωm中是每個模型輸出異常度的權(quán)值,fm(Ym)是一個sigmoid函數(shù),其輸出值是每個模型對應(yīng)的異常度,Ym是矩陣A與矩陣Bm點乘之后并求和的結(jié)果。
通過比較滑窗內(nèi)的航跡異常度P與異常度閾值ThP來檢驗滑窗內(nèi)的航跡是否異常。當P低于ThP時表示航跡異常,則結(jié)束檢測并輸出異常;當P高于ThP時表示航跡正常,則進一步判斷該條航跡是否已檢測完成,如果檢測完成,將結(jié)束檢測并輸出正常;如果未檢測完成,將向下一時間節(jié)點處移動滑窗繼續(xù)檢測,依次循環(huán)直到檢測完成。
本實驗使用的是基站采集的廈門港口海域近一個月的AIS數(shù)據(jù),其總量達到300 496 123條數(shù)據(jù)。
4.2.1 網(wǎng)格化壓縮效果分析
本文采用 0.02°×0.02°網(wǎng)格進行劃分,這樣既可以充分壓縮又不會丟失轉(zhuǎn)向信息。由于數(shù)據(jù)量太大,受硬件平臺的限制,無法對原始數(shù)據(jù)進行一次性壓縮,所以將1個月的數(shù)據(jù)分割成3個數(shù)據(jù)集分別進行處理。表1所示是3次數(shù)據(jù)壓縮的效果,其壓縮的倍數(shù)都在250~300倍之間。
表1 數(shù)據(jù)壓縮效果表
4.2.2 航跡異常檢測效果
本實驗中采用表1中的前20天數(shù)據(jù)構(gòu)建航路模型,采用最后10天數(shù)據(jù)進行航路檢測。參數(shù)設(shè)置:航路模型構(gòu)建中,密度閾值設(shè)置中(即公式(2)中)的m=0.3;異常檢測中α=1,β=-1,ωm=1 且ThP=0.5。 實驗中通過對這10天中較長的3 018條待檢測航跡進行異常檢測,檢測出38條異常航跡,檢測過程耗時63.86 s。其中較明顯異常航跡有26條,圖8所示是其中部分異常航跡。
圖8 部分異常航跡展示
圖8(a)~(d)中船舶航跡發(fā)生異常轉(zhuǎn)向問題,尤其是圖8(a),所以該類異常航跡主要表現(xiàn)為轉(zhuǎn)向異常;圖8(e)中正常船舶不可能在短時間內(nèi)發(fā)生如此大的位移,所以該類異常航跡表現(xiàn)為偽裝異常;圖8(f)~(h)由于航跡進入異常區(qū)域,所以該類異常表現(xiàn)為區(qū)域異常。
除了以上圖8中檢測出來的異常,實驗中還將部分正常航跡誤判為異常航跡(如圖9所示)。這主要是由于基站雷達存在威力范圍,在雷達威力邊緣區(qū)域收集的AIS數(shù)據(jù)較少,使得其航跡密度值較低,很容易將其誤判成噪聲區(qū)域,從而使得部分航行到該區(qū)域的正常航跡誤判成異常航跡。
圖9 部分誤判航跡展示
為了基于海量AIS數(shù)據(jù)實現(xiàn)正常船舶航路的建模,從而實現(xiàn)異常航跡的檢測,本文提出一種基于網(wǎng)格化的船舶航跡異常檢測算法。該算法針對原始AIS數(shù)據(jù)中存在冗余信息并嚴重影響后續(xù)處理效率和航道模型建立的問題,提出了一種網(wǎng)格化壓縮方法,有效去除了航跡數(shù)據(jù)中的冗余數(shù)據(jù),提高了海量數(shù)據(jù)處理的計算效率。由于壓縮后的航跡數(shù)據(jù)缺少航向信息,不利于后續(xù)異常檢測中航向的檢測,本文在網(wǎng)格化的基礎(chǔ)上重構(gòu)了船舶航向?qū)傩?,為壓縮后的航跡增加方向?qū)傩?,同時也有效去除了原始航跡中航向抖動的問題,為后續(xù)航向異常檢測提供條件。之后本文采用分類處理的思想在重構(gòu)的8個航向上分別構(gòu)建正常航路模型,為異常檢測提供了模型條件。最后本文借助構(gòu)建的8個航向的正常航路模型采用一種滑窗檢測方法,通過計算滑窗內(nèi)航跡的異常度實現(xiàn)最終的航跡異常檢測。實驗結(jié)果顯示可以有效提取出部分類型的異常航跡。該算法為船舶航跡異常檢測提供了一種算法支持。
本文雖然可以檢測部分類型的異常檢測,但是對于超出雷達威力范圍的航跡容易出現(xiàn)誤判,尤其當密度閾值TDi選取較大時越發(fā)明顯;同時由于異常檢測閾值ThP是一個經(jīng)驗值,不便于后續(xù)遷移到其他數(shù)據(jù)進行應(yīng)用,所以需要進一步閾值的設(shè)置進行實驗探索研究及理論證明。