張洪海,周錦倫,于文娟,劉 皞,鐘 罡
(南京航空航天大學 民航學院,江蘇 南京 211106)
近年來隨著我國低空空域不斷開放,低空無人機在航拍、物流、救援等領域的應用隨之興起,與此同時,由無人機造成的安全事故,如無人機失聯、失控甚至墜落造成人員傷亡的情況也頻繁增加。及時檢測并識別無人機異常狀態,可以提前對可能發生的事故做出預警甚至規避。因此,如何實時、快速、準確地識別無人機異常狀態,成為提升無人機運行安全性的1項重要課題。
目前,許多專家學者在無人機異常檢測方向進行了深入研究并取得優質成果。2015年,Schumann等[1]通過添加硬件傳感器的方法對無人機速度、航向等運動參數進行實時監控,以此識別無人機異常狀態;何永福等[2]于2016年首次提出了1種基于過采樣投影近似基投影追蹤(OSABP)的無人機異常檢測方法,其ROC曲線下方面積(AUC)分數高達0.98,檢測準確率達到較高水平;2017年,陳亞峰[3]引入K-means聚類的方法建立了無人機異常檢測模型,并開發了較全面的無人機實時異常檢測系統。2020年,韓鵬等[4]通過建立貝葉斯網絡模型對無人機失效致因進行分析,首次用概率理論證明了外界風和無人機自身電池是導致無人機失效最可能的原因;同年,劉連勝等[5]引入旋翼無人機動力學模型,提出1種生成旋翼無人機異常數據的方法,并采用典型相關性分析驗證了所生成異常數據的合理性。
對于無人機的異常狀態檢測,大多通過對無人機運動數據進行分析,從而精確地識別無人機的異常狀態,但目前在無人機異常狀態分類、異常嚴重程度識別等方面的研究仍有不足,即無法根據識別的無人機異常狀態明確相關反應措施,如:由于短暫地面陣風導致的無人機運動異常,通常可以通過控制指令解決,而電池失效、通信失效等硬件問題,則必須采取緊急措施。除此之外,無人機異常檢測方法的實時性(時間復雜度)仍有一定的提升空間[6-8]。
出于對上述問題的考慮,本文提出1種基于隱馬爾可夫模型(HMM)和決策樹(DT)的無人機異常檢測方法,在識別無人機不同異常狀態的同時改進無人機異常檢測的計算復雜度,提升無人機異常檢測的實時性。
無人機異常,一般是指無人機失控、失聯。包括由于外界風向、風速、降水等氣候原因導致無人機運動受到干擾,或電磁環境異常導致的無人機通信失效,以及無人機自身動力系統、通信系統、操作系統異常導致的無人機失控[9-11]。
無人機運行環境通常處于低空或中低空,由于氣象條件多變、電磁環境復雜,無人機在運行過程中受到各種隨機因素干擾導致無人機異常,本文稱之為干擾異常,其特征為無人機運動狀態與期望運動狀態出現短暫的輕微不符,一般可通過正確操作恢復。而由于無人機自身飛行控制系統出現故障所導致的無人機異常,本文稱之為硬件異常,其特征為無人機運動狀態與期望狀態長時間嚴重不符,一般無法通過操作命令恢復正常狀態,無人機異常狀態分類如表1所示。
根據無人機事故致因的歷史數據和事故致因理論分析[4]可以發現,無人機出現失聯、失控、墜毀的嚴重事故,大多數是由于無人機自身硬件系統故障導致,而尋常陣風擾動導致的干擾異常,通常不會對無人機運行安全產生較大影響。因此,準確地從無人機異常狀態中區分出無人機硬件異常并采取針對措施,對提升無人機運行安全水平十分重要。
隱馬爾可夫模型(HMM)是動態貝葉斯網絡(Dynamic Bayesian network)的1種類型,假設無人機運行時后1狀態僅與前1狀態有關(滿足馬爾可夫性),則無人機運行的下1狀態僅由無人機當前運動狀態決定[6]。采用隱馬爾可夫模型進行無人機時序建模的主要優點在于:一方面,可以聯系相鄰時刻間無人機運動狀態,即無人機各個時刻異常檢測結果之間不再被孤立;另一方面,通過計算各個狀態之間的轉移概率,可以提取無人機運行狀態變化之間的長期特征,為無人機異常狀態分類提供具體的數值參考。
決策樹(DT)是1種監督學習方法,即通過帶標簽的樣本數據從多層if/else問題中尋找數值邊界,生成模型后可以較快的速度得到分類結果。因此,采用決策樹模型用于無人機異常檢測,具有速度快、操作簡單、泛化能力好等優點。
本文綜合2種模型的優點,提出1種無人機異常檢測方法,其基本思想為:先采用訓練的決策樹判斷無人機運行狀態是否異常,隨后根據隱馬爾可夫模型對該異常狀態進行分類,進而實現對無人機實時異常檢測與異常識別,無人機異常檢測模型結構如圖1。
圖1 異常檢測模型結構示意Fig.1 Schematic diagram of anomaly detection model structure
無人機運動參數矩陣Xt:Xt=[xt1,xt2,…,xt9]為1×9矩陣,包含無人機t秒水平速度大小、垂直速度大小、幾何高度等無人機運動參數,如表2所示。
表2 需要設置的無人機性能參數信息Table 2 Performance parameter information need to be set for UAV
無人機控制參數矩陣Ct:Ct=[ct1,…,ct(n-1),ctn]為1×9矩陣,表示第t秒對應無人機運動參數的控制指令,如:c56表示無人機運行第5秒對水平加速度的調整,調整大小為|c56|。
無人機狀態標簽yt:yt為0-1變量(異常標簽),0表示無人機狀態正常,1表示無人機狀態異常。
無人機參數矩陣Wt:Wt=[Xt,yt,Ct]為1×19矩陣表示第t秒無人機所有運動參數和控制參數以及異常標簽。
無人機異常類別標簽zt:zt為0-1變量(異常類型標簽),0表示無人機異常類型為干擾異常,1表示無人機異常類型為硬件異常。
TP表示無人機運動狀態異常,被檢測為異常的樣本數量;FP表示無人機運行狀態異常,被檢測為正常的樣本數量;FN表示無人機運行狀態正常,被檢測為異常的樣本數量;TN表示無人機運行狀態正常,被檢測為正常的樣本數量。
考慮到安全、成本等因素,本文使用軟件模擬無人機的運動生成相應模型訓練數據,在XPlane模擬飛行平臺上設定相關無人機性能參數,構造相應的無人機模型,主要性能參數如表2。
設定陣風到達率、風向風速分布情況,將模擬無人機升空后操控一段時間,記錄每秒產生的無人機運動數據,作為后續決策樹訓練數據集。重復上述操作以獲得更多的模型訓練樣本,并根據操作人員觀察的無人機運動狀態為數據添加干擾異常標簽,隨后將訓練數據作最大-最小標準化處理。
1)隱馬爾可夫時序模型參數確定
無人機運行初始狀態yt=1:無人機起飛前需要檢查各項硬件狀態以及通信連接以保證無人機的適航性,故可認為無人機初始狀態P(yt=1=0)=1。
(1)
式中:αij為無人機的狀態轉移概率;yt+1和yt分別為無人機t+1時刻狀態和無人機t時刻狀態;k(yt+1,yt)為無人機從狀態yt轉移到yt+1的樣本頻次計數,次;aij的含義為:在t時刻,若當前無人機狀態為si,則下一時刻狀態為sj的概率;H=[aij]2×2為無人機狀態轉移矩陣,反映無人機運行時各個狀態之間轉化的長期規律[12]。
2)決策樹模型構建
訓練決策樹模型[13-15],樣本輸入參數為Xt,目標參數為yt,以基尼不純度(Gini Impurity)最小作為模型訓練指標,構建無人機干擾異常狀態檢測決策樹模型,基尼不純度G(k)如式(2)所示:
(2)
式中:k為決策樹第k個節點;c為分類數目(本文c=2);pk為決策樹第k個節點中第j類樣本比例。G(k)越小,表明節點k樣本純度越高,決策樹訓練效果越好。
由于多維數據的決策樹模型訓練會出現過擬合(over-fitting)現象;且由于選擇的無人機運動參數之間存在一定相關性,導致訓練樣本數據冗余。因此,需要提取與異常標簽相關性較強的參數,控制決策樹的復雜度以提升計算效率,同時提高驗證集精確率,減少過擬合。因此以驗證集精確率為目標,采用比較決策樹特征重要度(feature importance)的后剪枝(post-pruning)策略。記該異常檢測決策樹模型為Tree。
3)無人機異常狀態分類
基于無人機第t秒的參數向量Wt=(Xt,yt,Ct)獲得無人機t+1時刻參數矩陣Wt+1=(Xt+1,yt+1′),有(Xt+1=Xt+Ct,yt+1′=Tree(Xt+1)),其中,yt+1′表示由運動參數向量Xt+1預測t+1時刻無人機運動狀態。
定義異常度η衡量無人機t+1秒實際運動參數與t+1預測運動參數的偏差程度,如式(3)所示:
(3)
式中:X*t+1為t+1秒標準化后的無人機運動參數;X*t+1′為t+1秒標準化后基于t秒數據預測的無人機運動參數,r(X)表示矩陣X元素個數。
設定ηnormal為無人機異常度閾值,若η>ηnormal則記為無人機運行狀態異常,若η<ηnormal則記為無人機運行狀態正常。
(4)
式中:α01為無人機運行時受到干擾導致其狀態從正常到異常的概率,α11為無人機狀態繼續保持異常狀態的概率,FP/(TP+FP)表示異常檢測決策樹誤檢率。式(4)表示無人機正常狀態下出現這種連續狀態為異常的情況的概率小于ε,因此,一旦該情況出現,應當認為無人機發生硬件異常。綜上所述,無人機硬件異常判定標準如式(5)所示:
(5)
式中:ηt為第t秒無人機異常度,ηnormal為設定的無人機異常度閾值。
根據2.2獲得訓練數據,設定陣風到達率服從期望方差均為λ=15 s的泊松分布,陣風大小服從均值為μ=2.5 m/s,方差σ2=4的正態分布(模擬現實低空風的情況),重復操作,獲得5 000個實驗樣本,其中干擾異常樣本386個,基于隱馬爾可夫模型獲得其狀態轉移概率矩陣:
設置超參數ε=0.001,k=3,ηnormal=0.3,當無人機連續k=3個時間段η(即ηt和ηt+1)大于設定值0.3時,滿足式(4),進而根據式(5)進行異常分類。
經緯600pro無人機性能參數如表2所示,采用軟件模擬上述性能參數無人機進行2.4中步驟,獲得異常檢測的決策樹,表2中9個運動參數的決策樹模型特征重要度如下圖2。
圖2 無人機運動參數特征重要度Fig.2 Feature importance of UAV motion parameters
通過調整訓練集和驗證集比例,并根據重要度篩選異常檢測特征參數不斷剪枝,選取驗證集精確率PPV作為優化指標,PPV計算如式(6)所示:
(6)
實驗測得:當訓練集占總樣本60%且刪除4個運動狀態參數時測試集樣本的分類精確率最高,達85.1%,決策樹模型驗證集精確率變化如圖3。
圖3 決策樹模型測試準確率變化Fig.3 Change of test precision by DT model
刪除其中特征重要度較低的參數(幾何高度、水平速度大小、航向角、垂直速度大小)完成后剪枝,重新訓練決策樹,剪枝后的決策樹記為Tree。
實驗機型經緯600pro配備有GPS、ADS-B、無人機操作系統等軟硬件,由ADS-B提供實時運動參數,無人機遙控器向無人機控制系統提供實時控制參數。為便于驗證圖3中決策樹模型所判斷的干擾異常是否正確,將無人機升空后保持1.5 m高度懸停,共持續2 300 s,獲得2 300個實際運行產生的無人機運動數據。人工監視無人機所受外界陣風影響的時刻,計數得無人機運行時存在陣風干擾的時刻為131 s,決策樹模型所識別干擾異常時刻121 s,無人機運行最后階段由于無人機電量不足,導致遙控指令失效,從而被識別為硬件異常,硬件異常總時長為17 s,硬件異常識別15 s,記混淆矩陣M(2×2):
計算召回率R、特異度TNR、準確率P如式(7)~(9)所示:
R=TP/(TP+FN)
(7)
TNR=TN/(TN+FP)
(8)
P=(TN+TP)/(TN+TP+FP+FN)
(9)
干擾異常和硬件異常總召回率R=92.9%,特異度TNR=2.49%,準確率P=97.2%,無人機運行中的相關參數變化如下圖4。
圖4 無人機速度高度隨時間變化曲線Fig.4 Variation curve of UAV speed and altitude with time
分別采用HMMDT、貝葉斯網絡(Bayesian Network,BN)、典型相關性分析(Canonical Correlation Analysis,CCA)、K均值聚類(K-means)對上述實驗數據集進行異常檢測,得各個方法的ROC(Receiver Operating Characteristic)曲線如圖5。
圖5 各方法ROC曲線對比Fig.5 ROC curve comparison of each method
其橫坐標為誤檢率(False Positive Rate,FPR),縱坐標為檢測率(True Positive Rate,TPR),計算ROC曲線下方面積AUC;本文方法的AUC相比于其他異常檢測方法均有所提高,如表3所示。
表3 各方法AUC分數對比Table 3 AUC score comparison of each method
為進一步驗證該異常檢測方法的適用性,分析該方法的計算復雜度,并與其他異常檢測方法對比。其中m為輸入矩陣長度(維數),r為輸入矩陣寬度(向量個數),l為提取狀態特征參數數目,k為K-means聚類中心數目,s為存儲的時間序列長度,各方法復雜度如表4所示。
表4 各方法計算復雜度對比Table 4 Comparison on computational complexity of each method
本文方法有著較低的時間復雜度,這意味著該方法異常檢測的實時性更強,采用3.1中參數實驗,單次異常檢測與分類僅用63 us(i5-6400CPU),可以滿足無人機實時異常檢測需要;雖然由于決策樹原理導致該方法有著指數形式的空間復雜度,但由于無人機運動狀態參數較少,即使指數形式的空間復雜度仍可被無人機內存所接受,且在應用中可以通過減枝等手段降低決策樹空間復雜度。
1)提出HMMDT無人機異常檢測方法,旨在實時檢測無人機異常并識別異常類型。首先將無人機異常狀態分為2類,即干擾異常和硬件異常;構建基于HMMDT的異常檢測模型,并根據2種異常特征定義無人機異常度作為異常分類標準,實現對無人機實時異常檢測并識別無人機異常類型。
2)采用經緯600Pro型無人機作實操驗證,該方法對無人機運行時異常狀態的檢測具有較高的準確率,且能夠準確識別由于環境的不確定性導致的短暫干擾異常和由無人機系統故障導致的硬件異常,相比于K-means,BN,CCA等異常檢測方法,HMMDT具有較小的時間復雜度和較高的檢測準確率,可以在準確識別無人機異常狀態的同時區分出異常類型。除此之外,上述方法理論上可適用于其他無人機型號,且流程簡單、易于實現,其算法復雜度可以滿足無人機實時異常檢測需要。