楊星鑫,呂澤均
(四川大學(xué)計算機(jī)學(xué)院,國家空管自動化系統(tǒng)技術(shù)重點實驗室,成都610065)
我們目前正在應(yīng)用的低空監(jiān)視雷達(dá)系統(tǒng)在原來設(shè)計和研制時主要是針對通用航空監(jiān)視的,但近幾年隨著無人機(jī)的快速發(fā)展,無人機(jī)對機(jī)場飛機(jī)的正常起降、重要目標(biāo)和人民生命財產(chǎn)安全等造成非常嚴(yán)重的影響和威脅。因此,必須尋求有效的辦法對無人機(jī)進(jìn)行有效的連續(xù)監(jiān)視和跟蹤。為監(jiān)視系統(tǒng)能區(qū)別無人機(jī)目標(biāo),在已有的低空監(jiān)視雷達(dá)系統(tǒng)上需新增一項功能,即在雷達(dá)傳送的監(jiān)視數(shù)據(jù)中識別出無人機(jī)??罩心繕?biāo)一般包括民航飛機(jī)、直升機(jī)、教練機(jī)和無人機(jī)等,無人機(jī)的主要類型是固定翼和旋翼無人機(jī),經(jīng)數(shù)據(jù)分析發(fā)現(xiàn),低空空域中無人機(jī)和普通飛機(jī)在有限的時間內(nèi)僅根據(jù)速度和高度兩項數(shù)據(jù)特征并不能完全加以區(qū)別,建模時盡量使用更少的數(shù)據(jù)特征達(dá)到更高的識別精度。
當(dāng)前已經(jīng)有很多針對無人機(jī)識別的研究,但大都是利用計算機(jī)視覺圖像識別技術(shù)。例如文獻(xiàn)[11]基于深度學(xué)習(xí)的無人機(jī)目標(biāo)識別是從監(jiān)控系統(tǒng)的圖像中識別無人機(jī),使用卷積神經(jīng)網(wǎng)絡(luò),通過對卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)經(jīng)典模型LeNet-5模型進(jìn)行結(jié)構(gòu)改進(jìn),構(gòu)建了一個無人機(jī)特征學(xué)習(xí)網(wǎng)絡(luò),最終能達(dá)到最低誤差率2.77%。文獻(xiàn)[12]使用VGG16學(xué)習(xí)網(wǎng)絡(luò),輸入無人機(jī)和飛機(jī)圖片,模型無人機(jī)圖像識別率最高達(dá)到68.5%。文獻(xiàn)[13]對戰(zhàn)場目標(biāo)進(jìn)行識別,針對神經(jīng)網(wǎng)絡(luò)BP 算法收斂速度慢這一缺點,結(jié)合了遺傳算法具有全局尋優(yōu)的特點,提出新的混合算法GABP 算法對網(wǎng)絡(luò)優(yōu)化,通過聲信號對目標(biāo)進(jìn)行識別。文獻(xiàn)[14]簡述了幾類非合作無人機(jī)目標(biāo)探測技術(shù)的基本原理,比如主動雷達(dá)探測技術(shù)、光電探測技術(shù)、無線電探測技術(shù)等。對其技術(shù)及優(yōu)缺點進(jìn)行對比分析。文獻(xiàn)[15]提出一種基于動作捕捉的無人機(jī)運動狀態(tài)識別方法,使用支持向量機(jī)的方法對速度、加速度、曲率分類識別。
低空空域監(jiān)視系統(tǒng)使用x 波段低空監(jiān)視雷達(dá)獲取實時監(jiān)視數(shù)據(jù),由于數(shù)據(jù)是基于時間先后進(jìn)行采集,每組數(shù)據(jù)之間的間隔為4 秒,獲取的監(jiān)視數(shù)據(jù)最適合用序列神經(jīng)網(wǎng)絡(luò),如循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neu?ral Networks)來建模。本文使用深度學(xué)習(xí)算法進(jìn)行建模分析,調(diào)整網(wǎng)絡(luò)的參數(shù)達(dá)到最優(yōu),根據(jù)測試結(jié)果判斷模型的優(yōu)劣,取最優(yōu)參數(shù)模型加以實際應(yīng)用。本文提出提出了一種全新的基于LSTM(Long Short Time Mem?ory)的無人機(jī)實時飛行參數(shù)目標(biāo)識別方法,在真實的無人機(jī)飛行數(shù)據(jù)集上驗證了該方法的可行性和有效性。
Giles 等人于1994 年提出了循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Networks)[1]。此后RNN 在學(xué)術(shù)界有了許多的變體。如RNN 被Schuster[2]擴(kuò)展成雙向循環(huán)神經(jīng)網(wǎng)絡(luò)。但是Mikolov 證明了RNN 在長序列數(shù)據(jù)上會陷入梯度下降或者梯度爆炸問題[11]。因此,在1997年Hochreiter 提出循環(huán)神經(jīng)網(wǎng)絡(luò)的重要貢獻(xiàn),長短時記憶網(wǎng)絡(luò)[3]LSTM(Long Short Time Memory)。RNN,或者說LSTM,已經(jīng)在許多領(lǐng)域尤其是自然語言處理和圖像處理領(lǐng)域取得了豐碩的成果,例如情感分析[4]、語言模型建立[5]、語音識別[6]、機(jī)器翻譯[7]、視覺問答[8]等。
RNN 網(wǎng)絡(luò)的基本想法是:數(shù)據(jù)在不同的時間序列上有特定的關(guān)系,通過對一段時間序列上的數(shù)據(jù)進(jìn)行學(xué)習(xí)可以得到分類結(jié)果。例如,在本文中,通過對飛行物體一段時間上的位置數(shù)據(jù)學(xué)習(xí),可以判斷出此物體是無人機(jī)的概率。如圖是一個RNN,展開后的RNN 可以表示為如圖1 所示。
圖1 RNN結(jié)構(gòu)示意圖
在本文中,我們用到的神經(jīng)網(wǎng)絡(luò)是RNN 的變體LSTM[3]。LSTM 是一種特殊的RNN,被Hochreiter 提出來解決反向傳播時梯度消失和梯度爆炸問題,即無法長期記憶的問題。LSTM 與RNN 有基本相同的結(jié)構(gòu),只是每個單元內(nèi)部的計算更為復(fù)雜:
圖2 LSTM結(jié)構(gòu)示意圖
上圖詳細(xì)展示了LSTM 中每個計算單元的細(xì)節(jié),公式(1)-(6)展示了其中的計算過程。
在對一般的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練的時候,最著名的算法是Kishore 提出的反向傳播算法[12]BackPropaga?tion。在訓(xùn)練RNN 時的基本思想與反向傳播一致,只不過RNN 的反向傳播是在時間維度進(jìn)行反向傳播,因此又被稱為時間反向傳播算法[9]。
本部分包含獲取數(shù)據(jù)及數(shù)據(jù)清洗。其中飛機(jī)的數(shù)據(jù)來自低空監(jiān)視系統(tǒng)雷達(dá)監(jiān)測的真實數(shù)據(jù),數(shù)據(jù)包含時間、批號、x、y、高度、速度、航向等信息,x、y 坐標(biāo)是以雷達(dá)中心為坐標(biāo)點,正北方向為y 軸正半軸的笛卡爾坐標(biāo)。無人機(jī)數(shù)據(jù)來自記錄的各類無人機(jī)飛行時x 波段低空監(jiān)視雷達(dá)真實監(jiān)測數(shù)據(jù),無人機(jī)類型有固定翼旋翼的比賽無人機(jī)、四旋翼大疆無人機(jī),數(shù)據(jù)包含時間、批號、距離、方位、俯仰、速度、航向等信息。將飛機(jī)和無人機(jī)數(shù)據(jù)的位置信息統(tǒng)一轉(zhuǎn)換成經(jīng)緯度表示。
根據(jù)目標(biāo)軌跡進(jìn)行目標(biāo)識別,考慮到應(yīng)用的實時性需求,特征維度選取從簡,分別選取高度、速度兩項特征作為訓(xùn)練特征,和經(jīng)度、緯度、高度、速度四項特征作為訓(xùn)練特征,有效表示某一時刻目標(biāo)的軌跡信息。
相同時間段內(nèi),在經(jīng)度、緯度、高度三維坐標(biāo)系下兩類目標(biāo)的軌跡示意圖,飛機(jī)(圖3)和無人機(jī)(圖4)的軌跡如下:
圖3 飛機(jī)軌跡示意圖(圖中橫、縱、豎坐標(biāo)分別表示經(jīng)度(度)、緯度(度)、高度(米))
圖4 無人機(jī)軌跡示意圖(圖中橫、縱、豎坐標(biāo)分別表示經(jīng)度(度)、緯度(度)、高度(米))
無人機(jī)目標(biāo)識別本質(zhì)上是使用循環(huán)神經(jīng)網(wǎng)絡(luò)RNN-LSTM 解決二分類問題。將空中目標(biāo)的某時刻連續(xù)的歷史軌跡特征作為網(wǎng)絡(luò)的輸入,將目標(biāo)對應(yīng)的標(biāo)簽值作為輸出,與真實標(biāo)簽值對比計算交叉熵,使用自適應(yīng)優(yōu)化算法反復(fù)迭代得到最終模型。對于單個目標(biāo),在t 時刻的軌跡特征X(t)表示為:
X(t)={lon,lat,hei,spd}
其中,lon,lat,hei,spd 分別表示目標(biāo)在t 時刻的特征:經(jīng)度、緯度、高度、速度。
基于軌跡的目標(biāo)識別是將連續(xù)n 個時刻的目標(biāo)運動軌跡特征數(shù)據(jù)X(t-n+1),…,X(t-1),X(t)作為輸入,輸出獨熱編碼(One-Hot Encoding),即一位有效編碼。當(dāng)前無人機(jī)目標(biāo)識別網(wǎng)絡(luò)采用兩位狀態(tài)寄存器對兩個狀態(tài)進(jìn)行編碼,每個狀態(tài)都有獨立的寄存器位,在任意時候只一位有效,其中[1,0]代表普通飛機(jī)類別編碼,[0,1]代表無人機(jī)類別編碼。
(1)數(shù)據(jù)歸一化處理
對輸入的特征參數(shù)作歸一化,是為減小輸入的特征數(shù)據(jù)間數(shù)量級差別較大導(dǎo)致的模型預(yù)測誤差,提升模型精度,歸一化讓不同維度的特征在數(shù)值上有一定比較性。無人機(jī)識別模型采用的min-max 標(biāo)準(zhǔn)化(Min-max normalization),即0-1 標(biāo)準(zhǔn)化(0-1 normal?ization),對原始各個特征值作線性變換,歸一化后數(shù)據(jù)的取值范圍在[0,1]之間。轉(zhuǎn)換函數(shù)如下:
其中,max 為樣本特征數(shù)據(jù)的最大值,min 為樣本特征數(shù)據(jù)的最小值,x 為原始特征數(shù)據(jù),x*為歸一化后的特征數(shù)據(jù)。
(2)RNN-LSTM 輸入層num_steps 步數(shù)的選擇
num_steps 是訓(xùn)練數(shù)據(jù)的截斷長度,也可以看作是序列的長度。基于無人機(jī)軌跡的目標(biāo)識別num_steps代表需要識別的軌跡點個數(shù),考慮到模型訓(xùn)練后會應(yīng)用到系統(tǒng)進(jìn)行實時判斷,軌跡點個數(shù)不宜太多,要兼顧模型識別結(jié)果的準(zhǔn)確率和穩(wěn)定性。當(dāng)前實驗選擇3 個軌跡點作為num_steps 步數(shù)。
(3)RNN-LSTM 隱藏層記憶神經(jīng)元個數(shù)選擇
隱藏層神經(jīng)元個數(shù)對網(wǎng)絡(luò)預(yù)測結(jié)果有很大影響。如果隱藏層神經(jīng)元個數(shù)太少,不能對數(shù)據(jù)進(jìn)行很好的擬合,會影響網(wǎng)絡(luò)輸出結(jié)果,達(dá)不到預(yù)期預(yù)測精度。反之,如果隱藏層神經(jīng)元個數(shù)太多,可能導(dǎo)致訓(xùn)練時間延長和網(wǎng)絡(luò)過擬合。合理選擇隱藏層神經(jīng)元個數(shù)很重要。當(dāng)前實驗分別使用32 和64 個隱藏層神經(jīng)元。
本文建模的硬件條件是:處理器Intel Xeon CPU E3-1225 v6@3.30GHz,安裝內(nèi)存(RAM)8.00 GB,操作系統(tǒng)是Windows 7 專業(yè)版64 位操作系統(tǒng)。實驗中使用了Python3.6.4 編程語言,深度學(xué)習(xí)框架Tensor?Flow1.8.0 版本,以及Python 的包管理器和環(huán)境管理器Anaconda3(64-bit)。模型訓(xùn)練時指定CPU 處理計算。
原始實驗數(shù)據(jù)來自低空監(jiān)視系統(tǒng)雷達(dá)實時監(jiān)測數(shù)據(jù),錄取的一段時間實時航跡,經(jīng)過濾波降噪和數(shù)據(jù)融合等處理后組成以批號區(qū)分的軌跡點,相同批號構(gòu)成一段軌跡,經(jīng)過數(shù)據(jù)預(yù)處理,初始時選取高度和速度兩個特征作為參數(shù)識別,然后選取經(jīng)度、緯度、高度、速度四個特征,觀察取不同特征時識別準(zhǔn)確率。
將原始文件搜索相同批號組成一段軌跡,雷達(dá)數(shù)據(jù)約每4 秒一個軌跡點,使用4.2(2)中num_steps 個軌跡點,即每3 個軌跡點當(dāng)作一段目標(biāo)軌跡,構(gòu)造軌跡時單個點不重復(fù)使用,訓(xùn)練模型時使用的訓(xùn)練集中目標(biāo)軌跡數(shù)總88083,其中飛機(jī)點跡為55792 個點,無人機(jī)點跡數(shù)為49906 個點,測試集中目標(biāo)點軌跡數(shù)共17615個點,其中飛機(jī)點數(shù)為9298 個點,無人機(jī)點跡數(shù)為8317 個點。
使用交叉熵和準(zhǔn)確率評估模型。訓(xùn)練網(wǎng)絡(luò)時用到的是Adam 優(yōu)化器[10]。Adam 是基于梯度下降的方法,但是每次迭代參數(shù)的學(xué)習(xí)步長都有一個確定的范圍,不會因為很大的梯度導(dǎo)致很大的學(xué)習(xí)步長,參數(shù)的值比較穩(wěn)定。AdamOptimizer 通過使用動量(參數(shù)的移動平均數(shù))來改善傳統(tǒng)梯度下降,促進(jìn)超參數(shù)動態(tài)調(diào)整。
構(gòu)成軌跡的點是基于時間序列的,批號唯一標(biāo)識一段航跡,訓(xùn)練時選取兩個特征(高度、速度)和四個特征(即經(jīng)度、緯度、高度、速度)分別進(jìn)行訓(xùn)練。隱藏層神經(jīng)元分?jǐn)?shù)分別取64 和32。
只取兩個特征訓(xùn)練時,隱藏層神經(jīng)元個數(shù)更多,相應(yīng)的訓(xùn)練時間較長,能得到較好的識別結(jié)果,在測試集上準(zhǔn)確率為98.7%;取四個特征訓(xùn)練網(wǎng)絡(luò)時,選擇更少的隱藏層神經(jīng)元個數(shù),訓(xùn)練網(wǎng)絡(luò)時間相對減少,能得到更好的識別效果,在測試集上的準(zhǔn)確率為99.9%。從訓(xùn)練集和測試集準(zhǔn)確率圖像上看,取四項特征訓(xùn)練時識別正確率更加穩(wěn)定。
選取兩個特征,取高度和速度當(dāng)作特征訓(xùn)練網(wǎng)絡(luò),訓(xùn)練200 輪后在測試集上的準(zhǔn)確率為0.987,如表1所示。
表1 取速度和高度兩項特征訓(xùn)練網(wǎng)絡(luò)
圖5 和圖6 分別是Hidden_size 為64 時在測試集和訓(xùn)練集上的準(zhǔn)確率(accuracy)和交叉熵(cross-entro?py)曲線。
圖5 在測試集上準(zhǔn)確率和交叉熵曲線(橫坐標(biāo)表示訓(xùn)練的epoch)
圖6在訓(xùn)練集上準(zhǔn)確率和交叉熵曲線(橫坐標(biāo)表示訓(xùn)練的epoch)
選取四個特征(即經(jīng)度、緯度、高度、速度),將隱藏層神經(jīng)元個數(shù)hidden_size 設(shè)為32 時,訓(xùn)練100 輪后訓(xùn)練集和測試集準(zhǔn)確率都為0.999。見表2 所示。
表2 取經(jīng)度、緯度、高度、速度四項特征訓(xùn)練網(wǎng)絡(luò)
圖7 和圖8 分別是Hidden_size 為32 時在測試集和訓(xùn)練集上的準(zhǔn)確率和交叉熵曲線:
圖7 在測試集上準(zhǔn)確率和交叉熵曲線(橫坐標(biāo)表示訓(xùn)練的epoch)
通過對無人機(jī)飛行軌跡識別進(jìn)行研究,結(jié)合低空監(jiān)視系統(tǒng)雷達(dá)數(shù)據(jù)信息的特點,構(gòu)建基于雷達(dá)監(jiān)測數(shù)據(jù)的無人機(jī)飛行軌跡識別網(wǎng)絡(luò),提出結(jié)合雷達(dá)監(jiān)測數(shù)據(jù)和RNN-LSTM 的無人機(jī)飛行軌跡識別方法。使用訓(xùn)練好的RNN-LSTM 模型對目標(biāo)空域中空中目標(biāo)軌跡進(jìn)行識別,能較好識別出無人機(jī)軌跡數(shù)據(jù),達(dá)到預(yù)期分類效果。下一步將結(jié)合無人機(jī)運動軌跡數(shù)據(jù),進(jìn)行無人機(jī)軌跡點預(yù)測。