薛 珊,陳宇超,呂瓊瑩,曹國華
(1. 長春理工大學機電工程學院,吉林 長春 130000;2. 長春理工大學重慶研究院,重慶 400000)
近年來隨著科學技術的不斷進步,無人機飛行器得到迅速發(fā)展。鑒于無人機具有成本低、機動性強、便于操作等優(yōu)點[1],如今已被廣泛應用于軍事、農林業(yè)、化工業(yè)、城市規(guī)劃等諸多領域,同時也成為廣大愛好者旅行航拍的首選裝備。但由于部分愛好者的非法操作所導致的無人機“黑飛”事件屢見不鮮。例如2016年5月28日成都雙流機場東跑道飛行空域因無人機“黑飛”阻礙航班正常起降,導致機場東跑道停航關閉1小時20分鐘,55架航班無法正常起降,大量旅客滯留機場。
無人機“黑飛”給公民人身安全與社會財產安全造成了一定問題,反無人機系統(tǒng)隨之出現(xiàn)。能夠準確識別無人機并對其進行攔截打擊成為解決無人機“黑飛”的關鍵技術,也是反無人機系統(tǒng)的關鍵之一。目前常見的探測識別技術有雷達探測、光電探測、音頻探測、無線探測等[2]。章鵬飛[3]等人提出了一種多角度雷達觀測微動特征融合的無人機識別方法,但是雷達觀測所需要的設備造價昂貴,且雷達與光電設備聯(lián)動配合的同步性方面存在一定困難[4];丘愷彬[5]等人提出了一種基于音頻特征提取的無人機識別方法,但是由于聲音識別對距離的要求較為苛刻,需要在較近的范圍內才能采集到無人機的音頻數(shù)據(jù)。綜合考慮各種識別方法的優(yōu)缺點,目前利用目標的光電圖像特征對其識別的方法較為普遍。圖像識別具有成本低、視場靈活性較高的特點,可以在數(shù)百米的范圍內對“黑飛”無人機實現(xiàn)識別操作。
為了提高無人機圖像識別的準確率,本文提出了一種雙支路并行卷積神經網(wǎng)絡(Double Branches Parallel Convolutional Neural Network, DBPCNN),運用此算法識別無人機,提高識別準確率。
本文選取兩類四旋翼無人機作為研究對象,通過光學鏡頭與轉臺集成的圖像采集設備獲取無人機的原始圖片,該設備如圖1所示。
圖1 圖像采集設備
為了使圖片能夠輸入卷積神經網(wǎng)絡中,還需要對拍攝的原始圖片進行圖像預處理操作。主要流程如圖2所示:首先通過圖像灰度化將彩色圖片轉化為灰度圖片以提高處理速度;其次通過邊緣檢測[6]、濾波去噪[7,8]、圖像二值化以及圖像形態(tài)學方法[9]增強無人機的邊緣特征;接下來根據(jù)無人機的邊緣特征尋找無人機輪廓的最小外接矩形;最后根據(jù)最小外接矩形裁剪圖片并填充黑色區(qū)域補齊為長寬像素相等的圖片,將補齊圖片的尺寸統(tǒng)一修改為100×100像素。
圖2 圖像預處理流程圖
圖像預處理的分步結果示意圖如圖3所示,共計352張無人機原始圖片通過該操作轉化為可以輸入卷積神經網(wǎng)絡的像素尺寸規(guī)則的圖片。
圖3 圖像預處理分步結果示意圖
為避免由于數(shù)據(jù)量較小產生的過擬合問題[10]還需要對預處理后的圖片進行數(shù)據(jù)擴增。如圖4所示,將尺寸歸一化的圖片分別沿順時針方向旋轉90°、180°和270°。將數(shù)據(jù)擴增后得到的共計1408張圖片作為本文設計的卷積神經網(wǎng)絡的數(shù)據(jù)集。實驗中該數(shù)據(jù)集將隨機劃分為卷積神經網(wǎng)絡的訓練集和測試集,劃分比例為7: 3。
圖4 數(shù)據(jù)擴增結果示意圖
由于本文建立的無人機圖像數(shù)據(jù)集所包含的圖片樣本較少,因此本文網(wǎng)絡設計的主要思路在于盡可能降低網(wǎng)絡參數(shù)從而避免出現(xiàn)過擬合[11]問題。
本文設計的改進卷積神經網(wǎng)絡在Inception V1模塊的啟發(fā)下對傳統(tǒng)卷積神經網(wǎng)絡進行改進,該模塊主要應用于2014年的GoogLeNet網(wǎng)絡模型[12],其結構如圖5所示。該模塊結構由于增加了網(wǎng)絡寬度,從而增加了網(wǎng)絡對多尺度的適應性[13]。
圖5 Inception V1模塊
而2015年提出的Inception V2模塊與Inception V1模塊相比,V2模塊參考了VGGNet的思想。VGGNet[14]將網(wǎng)絡中的卷積核全部改用尺寸為3×3、步長為1的小卷積核,同時使用卷積層堆疊的方式對大卷積核做等效替換。該方法可以在保證要求的感受野的同時降低網(wǎng)絡的計算量[15],例如:假設輸入和輸出均為C個通道,在不考慮偏置數(shù)量的情況下,由三個3×3卷積核堆疊的網(wǎng)絡參數(shù)的計算公式如式(1)所示
3×(3×3×C×C)=27C2
(1)
而一個7×7卷積核的網(wǎng)絡參數(shù)的計算公式如式(2)所示[16]
7×7×C×C=49C2
(2)
因此本文設計的DBPCNN網(wǎng)絡基于Inception模塊的思想對傳統(tǒng)卷積神經網(wǎng)絡進行改進。網(wǎng)絡結構如圖6所示:選用兩條具有不同大小卷積核的并行支路對同一輸入圖片進行處理,其中支路1使用3×3卷積核(Conv1_1, Conv1_3),支路2使用1×1卷積核(Conv2_1, Conv2_3)。同時在兩條支路中引入1×1的卷積核(Conv1_2, Conv1_4, Conv2_2, Conv2_4)用作特征圖升維,降低網(wǎng)絡的參數(shù)數(shù)量。激活函數(shù)選擇ReLU函數(shù),池化方式選擇2×2最大池化(Pool1_1, Pool1_2, Pool2_1, Pool2_2)。隨后將兩條支路的輸出沿深度方向合并,合并后的結果經過全連接層FC1、FC2后通過Softmax分類器完成分類操作。DBPCNN網(wǎng)絡參數(shù)如表1所示。
表1 DBPCNN網(wǎng)絡參數(shù)設置以及參數(shù)數(shù)量
圖6 DBPCNN網(wǎng)絡結構
DBPCNN網(wǎng)絡選用兩條并行支路結構:通過增加網(wǎng)絡深度或寬度是目前設計卷積神經網(wǎng)絡并使其性能更好的主流觀點[17],但如果選用過多的支路結構,網(wǎng)絡參數(shù)將大大增加。以參考表1內容對網(wǎng)絡參數(shù)進行計算為例:若設置的支路數(shù)為n,每條支路輸出的特征圖均為25×25×32,全連接層FC1仍設為1024個神經元。在不考慮每條支路參數(shù)數(shù)量的情況下,僅通道融合后進入全連接層FC1的網(wǎng)絡參數(shù)與兩條支路相比增加數(shù)量的計算公式如式(3)所示:
25×25×32×(n-2)×1024=20480000×(n-2)
(3)
分析式(3)可知,網(wǎng)絡每增加一條支路,僅全連接層部分就會增加20480000個網(wǎng)絡參數(shù)。為避免由于網(wǎng)絡參數(shù)過多產生的過擬合問題,因此本文設計的DBPCNN選用雙支路結構。
本文實驗使用的計算機環(huán)境為:Windows 10系統(tǒng),Intel(R) Core(TM) i9-10900F CPU @ 2.80GHz 2.81GHz處理器,32G RAM;所用程序基于開源深度學習框架Tensorflow,使用Python 3.7軟件編寫,通過Sublime軟件運行。
為驗證本文設計的網(wǎng)絡可行性,在CIFAR-10數(shù)據(jù)集上對網(wǎng)絡進行實驗。CIFAR-10數(shù)據(jù)集包含10類彩色圖像,圖像大小為32×32像素,數(shù)據(jù)集由50000個訓練樣本和10000個測試樣本組成[18]。
為了比較DBPCNN的識別效果,本文設計了兩個對比的卷積神經網(wǎng)絡Conv_Layer_2和Conv_Layer_3。兩個對比網(wǎng)絡結構如表2所示。
表2 兩個對比網(wǎng)絡結構
Conv_Layer_2網(wǎng)絡參照傳統(tǒng)卷積神經網(wǎng)絡LeNet-5[19]設計,其結構如下:輸入→卷積層Conv1→池化層Pool1→卷積層Conv2→池化層Pool2→全連接層FC1→全連接層FC2→ Softmax分類器輸出。
Conv_Layer_3網(wǎng)絡在Conv_Layer_2的基礎上增加一個卷積層,提取更深一層特征,其結構如下:輸入→卷積層Conv1→池化層Pool1→卷積層Conv2→卷積層Conv3→池化層Pool3→全連接層FC1→全連接層FC2→ Softmax分類器輸出。
本文選擇CIFAR-10數(shù)據(jù)集中的兩個類別共計12000張圖片對DBPCNN、Conv_Layer_2、Conv_Layer_3網(wǎng)絡進行實驗。實驗結果如圖7所示,其中左側柱表示訓練集,右側柱表示測試集。經過500次訓練,DBPCNN、Conv_Layer_2、Conv_Layer_3識別CIFAR-10數(shù)據(jù)集的測試集準確率分別為84.8%、84.5%和83.6%。實驗結果證明了所設計網(wǎng)絡的可行性。
圖7 DBPCNN與Conv_Layer_2、Conv_Layer_3識別CIFAR-10數(shù)據(jù)集結果
在無人機數(shù)據(jù)集上對DBPCNN進行實驗,運行網(wǎng)絡程序,繪制DBPCNN網(wǎng)絡的準確率曲線與損失函數(shù)曲線如圖8所示。
圖8 DBPCNN網(wǎng)絡的準確率曲線(上)和損失函數(shù)曲線(下)
分析圖8可知,當實驗訓練次數(shù)超過500次時,DBPCNN網(wǎng)絡在訓練集和測試集上的準確率曲線和損失函數(shù)曲線呈平穩(wěn)趨勢。為減少網(wǎng)絡的訓練時間,本文實驗選取前500輪實驗數(shù)據(jù)作為DBPCNN網(wǎng)絡的識別結果。
對設計好的兩個對比卷積神經網(wǎng)絡使用自行建立的無人機圖像數(shù)據(jù)集同樣進行500次訓練。實驗中選取測試集準確率作為評價卷積神經網(wǎng)絡的性能指標,提取兩個對比網(wǎng)絡的測試集準確率曲線與DBPCNN網(wǎng)絡的測試集準確率曲線進行比較,結果如圖9所示。其中,當訓練次數(shù)達到500時,測試集準確率曲線從上至下分別為DBPCNN、Conv_Layer_3、Conv_Layer_2,分別用藍、綠、紅三種顏色表示。
圖9 DBPCNN與Conv_Layer_2、Conv_Layer_3的測試集準確率對比曲線
為便于觀察,實驗中每訓練100次記錄一次三者的測試集準確率,對比結果如表3所示。分析表3可知,經過500次訓練,本文設計的DBPCNN網(wǎng)絡對自建無人機數(shù)據(jù)集識別的測試集準確率為96.7%,與之對比的兩個傳統(tǒng)網(wǎng)絡的準確率分別為90.5%和94.3%。結果表明了DBPCNN網(wǎng)絡能夠完成對無人機圖像的識別任務并具有較高的準確率。
表3 DBPCNN、Conv_Layer_2和Conv_Layer_3網(wǎng)絡測試集準確率
1) 為了提高反無人機系統(tǒng)中識別無人機圖像的準確率,提出了一種改進的卷積神經網(wǎng)絡模型。使用自制圖像采集設備獲取所需識別的無人機原始圖片,對無人機原始圖片進行預處理,通過數(shù)據(jù)擴增操作避免網(wǎng)絡過擬合,自行構建無人機圖像數(shù)據(jù)集。
2) 設計一個雙支路并行卷積神經網(wǎng)絡DBPCNN,通過實驗驗證DBPCNN對無人機圖像數(shù)據(jù)集的識別性能,實驗結果表明:DBPCNN網(wǎng)絡對標準數(shù)據(jù)CIFAR-10和自建無人機樣本數(shù)據(jù)集的準確率均高于與之對比的傳統(tǒng)卷積神經網(wǎng)絡,證明了用DBPCNN識別無人機圖像的可行性。