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