楊星鑫,呂澤均
(四川大學計算機學院,國家空管自動化系統技術重點實驗室,成都610065)
我們目前正在應用的低空監視雷達系統在原來設計和研制時主要是針對通用航空監視的,但近幾年隨著無人機的快速發展,無人機對機場飛機的正常起降、重要目標和人民生命財產安全等造成非常嚴重的影響和威脅。因此,必須尋求有效的辦法對無人機進行有效的連續監視和跟蹤。為監視系統能區別無人機目標,在已有的低空監視雷達系統上需新增一項功能,即在雷達傳送的監視數據中識別出無人機。空中目標一般包括民航飛機、直升機、教練機和無人機等,無人機的主要類型是固定翼和旋翼無人機,經數據分析發現,低空空域中無人機和普通飛機在有限的時間內僅根據速度和高度兩項數據特征并不能完全加以區別,建模時盡量使用更少的數據特征達到更高的識別精度。
當前已經有很多針對無人機識別的研究,但大都是利用計算機視覺圖像識別技術。例如文獻[11]基于深度學習的無人機目標識別是從監控系統的圖像中識別無人機,使用卷積神經網絡,通過對卷積神經網絡CNN(Convolutional Neural Network)經典模型LeNet-5模型進行結構改進,構建了一個無人機特征學習網絡,最終能達到最低誤差率2.77%。文獻[12]使用VGG16學習網絡,輸入無人機和飛機圖片,模型無人機圖像識別率最高達到68.5%。文獻[13]對戰場目標進行識別,針對神經網絡BP 算法收斂速度慢這一缺點,結合了遺傳算法具有全局尋優的特點,提出新的混合算法GABP 算法對網絡優化,通過聲信號對目標進行識別。文獻[14]簡述了幾類非合作無人機目標探測技術的基本原理,比如主動雷達探測技術、光電探測技術、無線電探測技術等。對其技術及優缺點進行對比分析。文獻[15]提出一種基于動作捕捉的無人機運動狀態識別方法,使用支持向量機的方法對速度、加速度、曲率分類識別。
低空空域監視系統使用x 波段低空監視雷達獲取實時監視數據,由于數據是基于時間先后進行采集,每組數據之間的間隔為4 秒,獲取的監視數據最適合用序列神經網絡,如循環神經網絡RNN(Recurrent Neu?ral Networks)來建模。本文使用深度學習算法進行建模分析,調整網絡的參數達到最優,根據測試結果判斷模型的優劣,取最優參數模型加以實際應用。本文提出提出了一種全新的基于LSTM(Long Short Time Mem?ory)的無人機實時飛行參數目標識別方法,在真實的無人機飛行數據集上驗證了該方法的可行性和有效性。
Giles 等人于1994 年提出了循環神經網絡RNN(Recurrent Neural Networks)[1]。此后RNN 在學術界有了許多的變體。如RNN 被Schuster[2]擴展成雙向循環神經網絡。但是Mikolov 證明了RNN 在長序列數據上會陷入梯度下降或者梯度爆炸問題[11]。因此,在1997年Hochreiter 提出循環神經網絡的重要貢獻,長短時記憶網絡[3]LSTM(Long Short Time Memory)。RNN,或者說LSTM,已經在許多領域尤其是自然語言處理和圖像處理領域取得了豐碩的成果,例如情感分析[4]、語言模型建立[5]、語音識別[6]、機器翻譯[7]、視覺問答[8]等。
RNN 網絡的基本想法是:數據在不同的時間序列上有特定的關系,通過對一段時間序列上的數據進行學習可以得到分類結果。例如,在本文中,通過對飛行物體一段時間上的位置數據學習,可以判斷出此物體是無人機的概率。如圖是一個RNN,展開后的RNN 可以表示為如圖1 所示。

圖1 RNN結構示意圖
在本文中,我們用到的神經網絡是RNN 的變體LSTM[3]。LSTM 是一種特殊的RNN,被Hochreiter 提出來解決反向傳播時梯度消失和梯度爆炸問題,即無法長期記憶的問題。LSTM 與RNN 有基本相同的結構,只是每個單元內部的計算更為復雜:

圖2 LSTM結構示意圖
上圖詳細展示了LSTM 中每個計算單元的細節,公式(1)-(6)展示了其中的計算過程。


在對一般的神經網絡進行訓練的時候,最著名的算法是Kishore 提出的反向傳播算法[12]BackPropaga?tion。在訓練RNN 時的基本思想與反向傳播一致,只不過RNN 的反向傳播是在時間維度進行反向傳播,因此又被稱為時間反向傳播算法[9]。
本部分包含獲取數據及數據清洗。其中飛機的數據來自低空監視系統雷達監測的真實數據,數據包含時間、批號、x、y、高度、速度、航向等信息,x、y 坐標是以雷達中心為坐標點,正北方向為y 軸正半軸的笛卡爾坐標。無人機數據來自記錄的各類無人機飛行時x 波段低空監視雷達真實監測數據,無人機類型有固定翼旋翼的比賽無人機、四旋翼大疆無人機,數據包含時間、批號、距離、方位、俯仰、速度、航向等信息。將飛機和無人機數據的位置信息統一轉換成經緯度表示。
根據目標軌跡進行目標識別,考慮到應用的實時性需求,特征維度選取從簡,分別選取高度、速度兩項特征作為訓練特征,和經度、緯度、高度、速度四項特征作為訓練特征,有效表示某一時刻目標的軌跡信息。
相同時間段內,在經度、緯度、高度三維坐標系下兩類目標的軌跡示意圖,飛機(圖3)和無人機(圖4)的軌跡如下:

圖3 飛機軌跡示意圖(圖中橫、縱、豎坐標分別表示經度(度)、緯度(度)、高度(米))

圖4 無人機軌跡示意圖(圖中橫、縱、豎坐標分別表示經度(度)、緯度(度)、高度(米))
無人機目標識別本質上是使用循環神經網絡RNN-LSTM 解決二分類問題。將空中目標的某時刻連續的歷史軌跡特征作為網絡的輸入,將目標對應的標簽值作為輸出,與真實標簽值對比計算交叉熵,使用自適應優化算法反復迭代得到最終模型。對于單個目標,在t 時刻的軌跡特征X(t)表示為:
X(t)={lon,lat,hei,spd}
其中,lon,lat,hei,spd 分別表示目標在t 時刻的特征:經度、緯度、高度、速度。
基于軌跡的目標識別是將連續n 個時刻的目標運動軌跡特征數據X(t-n+1),…,X(t-1),X(t)作為輸入,輸出獨熱編碼(One-Hot Encoding),即一位有效編碼。當前無人機目標識別網絡采用兩位狀態寄存器對兩個狀態進行編碼,每個狀態都有獨立的寄存器位,在任意時候只一位有效,其中[1,0]代表普通飛機類別編碼,[0,1]代表無人機類別編碼。
(1)數據歸一化處理
對輸入的特征參數作歸一化,是為減小輸入的特征數據間數量級差別較大導致的模型預測誤差,提升模型精度,歸一化讓不同維度的特征在數值上有一定比較性。無人機識別模型采用的min-max 標準化(Min-max normalization),即0-1 標準化(0-1 normal?ization),對原始各個特征值作線性變換,歸一化后數據的取值范圍在[0,1]之間。轉換函數如下:

其中,max 為樣本特征數據的最大值,min 為樣本特征數據的最小值,x 為原始特征數據,x*為歸一化后的特征數據。
(2)RNN-LSTM 輸入層num_steps 步數的選擇
num_steps 是訓練數據的截斷長度,也可以看作是序列的長度。基于無人機軌跡的目標識別num_steps代表需要識別的軌跡點個數,考慮到模型訓練后會應用到系統進行實時判斷,軌跡點個數不宜太多,要兼顧模型識別結果的準確率和穩定性。當前實驗選擇3 個軌跡點作為num_steps 步數。
(3)RNN-LSTM 隱藏層記憶神經元個數選擇
隱藏層神經元個數對網絡預測結果有很大影響。如果隱藏層神經元個數太少,不能對數據進行很好的擬合,會影響網絡輸出結果,達不到預期預測精度。反之,如果隱藏層神經元個數太多,可能導致訓練時間延長和網絡過擬合。合理選擇隱藏層神經元個數很重要。當前實驗分別使用32 和64 個隱藏層神經元。
本文建模的硬件條件是:處理器Intel Xeon CPU E3-1225 v6@3.30GHz,安裝內存(RAM)8.00 GB,操作系統是Windows 7 專業版64 位操作系統。實驗中使用了Python3.6.4 編程語言,深度學習框架Tensor?Flow1.8.0 版本,以及Python 的包管理器和環境管理器Anaconda3(64-bit)。模型訓練時指定CPU 處理計算。
原始實驗數據來自低空監視系統雷達實時監測數據,錄取的一段時間實時航跡,經過濾波降噪和數據融合等處理后組成以批號區分的軌跡點,相同批號構成一段軌跡,經過數據預處理,初始時選取高度和速度兩個特征作為參數識別,然后選取經度、緯度、高度、速度四個特征,觀察取不同特征時識別準確率。
將原始文件搜索相同批號組成一段軌跡,雷達數據約每4 秒一個軌跡點,使用4.2(2)中num_steps 個軌跡點,即每3 個軌跡點當作一段目標軌跡,構造軌跡時單個點不重復使用,訓練模型時使用的訓練集中目標軌跡數總88083,其中飛機點跡為55792 個點,無人機點跡數為49906 個點,測試集中目標點軌跡數共17615個點,其中飛機點數為9298 個點,無人機點跡數為8317 個點。
使用交叉熵和準確率評估模型。訓練網絡時用到的是Adam 優化器[10]。Adam 是基于梯度下降的方法,但是每次迭代參數的學習步長都有一個確定的范圍,不會因為很大的梯度導致很大的學習步長,參數的值比較穩定。AdamOptimizer 通過使用動量(參數的移動平均數)來改善傳統梯度下降,促進超參數動態調整。
構成軌跡的點是基于時間序列的,批號唯一標識一段航跡,訓練時選取兩個特征(高度、速度)和四個特征(即經度、緯度、高度、速度)分別進行訓練。隱藏層神經元分數分別取64 和32。
只取兩個特征訓練時,隱藏層神經元個數更多,相應的訓練時間較長,能得到較好的識別結果,在測試集上準確率為98.7%;取四個特征訓練網絡時,選擇更少的隱藏層神經元個數,訓練網絡時間相對減少,能得到更好的識別效果,在測試集上的準確率為99.9%。從訓練集和測試集準確率圖像上看,取四項特征訓練時識別正確率更加穩定。
選取兩個特征,取高度和速度當作特征訓練網絡,訓練200 輪后在測試集上的準確率為0.987,如表1所示。

表1 取速度和高度兩項特征訓練網絡
圖5 和圖6 分別是Hidden_size 為64 時在測試集和訓練集上的準確率(accuracy)和交叉熵(cross-entro?py)曲線。

圖5 在測試集上準確率和交叉熵曲線(橫坐標表示訓練的epoch)

圖6在訓練集上準確率和交叉熵曲線(橫坐標表示訓練的epoch)
選取四個特征(即經度、緯度、高度、速度),將隱藏層神經元個數hidden_size 設為32 時,訓練100 輪后訓練集和測試集準確率都為0.999。見表2 所示。

表2 取經度、緯度、高度、速度四項特征訓練網絡
圖7 和圖8 分別是Hidden_size 為32 時在測試集和訓練集上的準確率和交叉熵曲線:

圖7 在測試集上準確率和交叉熵曲線(橫坐標表示訓練的epoch)
通過對無人機飛行軌跡識別進行研究,結合低空監視系統雷達數據信息的特點,構建基于雷達監測數據的無人機飛行軌跡識別網絡,提出結合雷達監測數據和RNN-LSTM 的無人機飛行軌跡識別方法。使用訓練好的RNN-LSTM 模型對目標空域中空中目標軌跡進行識別,能較好識別出無人機軌跡數據,達到預期分類效果。下一步將結合無人機運動軌跡數據,進行無人機軌跡點預測。