張浩東
(四川大學計算機學院,成都 610065)
目前對于航空異常檢測的研究多是對于某一特定故障,取相關數據訓練之后建模,根據模型檢測異常。然而,依據飛行軌跡進行航空異常檢測很少有人涉及。針對傳統的檢測方法,無法應用于一架飛機從起飛到降落整個過程,因為期間的數據項和數據量超出了其算法的范疇。但是,應用于飛行軌跡的檢測,我們只需要關心軌跡點的坐標數據,大大減少了數據量,提高了效率。
對于異常軌跡檢測的研究中,Lee等人通過計算線段Hausdorff的距離來鑒別異常軌跡[1],Li等人通過人工智能方法訓練分類器,以此區別異常軌跡。但是他們都忽視了對于軌跡點方向的研究,軌跡點的方向信息可以反映出當時物體的運動趨勢,并且該特征對軌跡的長度不敏感,可以用作一個有效的異常檢測方法。并且以保證準確率和提升效率為目的,本文提出雙層異常軌跡檢測方法:由粗粒度到細粒度。
如圖1所示,在5條軌跡中,明顯可以看出軌跡3屬于異常軌跡。在航空飛行中,這樣偏離正常的軌道說明飛機在這個時間段遇到了異常狀況,有可能是內部因素(航空器異常),也有可能是外部因素(天氣因素)。總之,在這個時間段內有危險征候,需要加強防范。
當軌跡出現異常的時候,軌跡點之間的夾角也隨之發生較大的偏差。因此,方向信息也可以反映出異常情況。在這種情況下,再對異常軌跡進行細粒度劃分,如圖1中的p0p1、p1p2和p2p3三個子軌跡,以減少不必要的數據分析,提高效率,具體再對子軌跡進行高精度異常分析,提高準確率。

圖1 軌跡示意圖
軌跡一般由一個二維的點集合來表示:

方便提取方向向量,對軌跡點進行橫坐標和縱坐標分解,我們可以把軌跡表示為:

首先,定義粗粒度和細粒度分別為pipi+jb和pipi+b(j>1),b是一個基本長度單位。用L表示粗粒度軌跡,用l表示粒度軌跡。
根據上一步中提取的方向特征,對軌跡進行粗粒度的異常檢測,如果θiθi+1<0則表示軌跡在點i處進行了大角度的方向變化,很有可能是異常情況。以此,將軌跡點i作為細粒度劃分起始點,進一步檢測異常情況。這樣就減少了對不必要的一段數據進行細粒度檢測,于是提升了檢測效率。
在此,我們根據上一步粗粒度檢測出的異常子軌跡進行在劃分,并進行高精度異常檢測,確保準確率。
為了方便計算,因為粗粒度軌跡和細粒度軌跡的角距離一般很小而且可以認為它們是平行的,所以我們選擇忽略角距離,也不會引起誤差。
于是,我們只需考慮以最小基本單位b為細粒度劃分單位,將檢測出的粗粒度軌跡進行劃分。再根據粗粒度的異常判別方法進行細粒度的異常判別。


實驗采用西南片區500架航班中的FOQA(飛行品質監控)作為實驗數據,在其中的50架航班中參入異常數據,異常數據是由離散數據(飛機起落架放下、升起等)和連續數據(飛機速度等)組成的異構數據,足以組成傳統檢測方法和本文方法的測試數據。
傳統檢測方法我們使用神經網絡算法作為實驗對比,取其中250架正常航班數據作為其訓練集,其余250架含有異常數據的航班數據作為測試集。

表1

圖2 神經網絡(右)和本文算法(左)實驗效果圖
可以看出當實驗數據量足夠大的時候,神經網絡算法已經無法保持檢測準確率在90%以上,相對于本文算法來說較低,并且花費時間也遠遠超過本文算法。所以從準確率和效率來看,本文算法對大量數據的航空異常檢測是有效的。
在航空異常檢測中,本文提出的算法從傳統異常檢測的缺點入手,解決了數據量大對檢測的影響,并且提升了準確率和效率。在關于軌跡研究發面提出了新的思路,用以解決航空器的軌跡異常,利用雙層粒度檢測方法在去除不必要的數據分析的同時確保了對異常情況的準確檢測。
[1]J.G.Lee,J.Han,X.Li.Trajectory Outlier Detection:A Partition-and-Detect Framework.Washington:Computer Society,2008.
[2]X.Li,J.Han,S.Kim.ROAM:Rule-Based and Motif-Based Anomaly Dection in Massive Moving Object Data Sets.SIAM Press,2007.
[3]劉良旭,喬少杰,劉賓.V基于R-Tree的高效異常軌跡檢測算法.軟件學報,2009,24:26-35.
[4]朱明.數據挖掘[M].合肥:中國科學技術大學出版社,2002.