發布時間:2022-04-28所屬分類:科技論文瀏覽:1次
摘 要: 摘 要:無人機的廣泛應用在給生產生活帶來便利的同時,也對公共安全構成了威脅,這就需要對非法飛行的無人機進行探測和識別。然而,微小無人機因體積小運動靈活,使得傳統的雷達、光電等探測手段難以應對。為此,提出一種基于 YOLO(You only look once)v5 深度學習網絡
摘 要:無人機的廣泛應用在給生產生活帶來便利的同時,也對公共安全構成了威脅,這就需要對非法飛行的無人機進行探測和識別。然而,微小無人機因體積小運動靈活,使得傳統的雷達、光電等探測手段難以應對。為此,提出一種基于 YOLO(You only look once)v5 深度學習網絡框架的微小無人機實時探測方法。通過拍攝無人機飛行姿態構建實驗數據集,并進行標注。隨后利用數據集對 YOLOv5 網絡模型進行訓練,并測試訓練效果,通過數據集測試網絡模型能達到 94.2%的精確率、82.8%的召回率和 93.5%的平均精度均值。最后,對模型在真實場景下進行了測試驗證,視頻流幀速率為 30 FPS(Frames Per Second)條件下,可在 30 米范圍內準確識別出特征尺寸為 200 mm 以上的無人機,并具有較好的實時性。
關鍵詞:目標檢測;YOLOv5;微小型無人機;實時探測;深度學習
1 引言
隨著無線通信、飛行控制、慣性器件、智能視頻分析等技術的快速發展,當前微小型無人機技術逐步成熟,并展示出了強大的功能,使其在公共安全、能源電力、農業植保等多種行業領域都得到了廣泛應用。隨著小型商用無人機的成本不斷下降,購買無人機的愛好者數量連年攀升[1],根據中國民航局的官方公布數據顯示,截至 2020 年底,我國實名登記無人機 52.36 萬架,年飛行量達到 159.4 萬小時,同比增速達 27.5%[2]。然而,隨著微小型無人機在民用領域爆炸式增長,監管難度越來越大, 其對公共安全構成了嚴重威脅,給城市安保帶來了更大的挑戰。例如,2021 年 4 月 3 日,杭州蕭山機場發生了因無人機黑飛導致多架航班空中盤旋、備降其他機場的案件,嚴重影響航空秩序,威脅機場安全[3]。因此,通過技術手段構建無人機監測系統,對非法飛行的無人機進行精確探測與反制,對確保重要目標空域安全,保障社會安全穩定具有重要意義。
目前,國內外針對無人機探測的常用技術主要有雷達探測、聲學探測、無線電探測、光電探測等[4]。由于微小型無人機具有體積小,運動靈活的特點,傳統的手段難以探測如此小的飛行器,更不能識別此類無人機[5]。因此,微小型無人機的探測是一個亟待解決的難題。
近年來,隨著深度學習技術的飛速發展,基于深度學習的目標檢測算法是實現微小無人機探測個一種可行手段;谏疃葘W習的目標檢測算法主要有一階檢測方法和二階檢測方法兩類,一階檢測方法不需要單獨尋找候選區域,因此速度較快,如 SSD(Single Shot MultiBox Detector) [6]、YOLO 等。二階檢測方法則將檢測算法分兩步進行,先要獲取候選區域,再對其進行分類,精度上一 般 優 于 一 階 方 法 , 如 R-CNN ( Region-based Convolutional Neural Network)、Fast R-CNN [7]等。在實際應用中需要對采集的無人機視頻流進行實時探測,二階算法難以滿足實時性要求,而 YOLO 系列算法近年來更新迭代很快,在主流數據集的測試效果上要優于 SSD 算法[8]。李秋珍等人提出了兩種基于 SSD 改進算法的實時無人機識別方法,但兩種改進方法精度分別只有 79% 和 83.75%,作者認為該算法識別速度基本滿足實時性要求[9]。馬旗等人提出了基于優化 YOLOv3 的低空無人機檢測識別方法,利用殘差網絡及多尺度融合的方式對原始的 YOLOv3 網絡結構進行優化,在相同訓練集下測試, mAP 提升了 8.29%,達到 82.15%,檢測速度為 26s-1,滿足實時性要求[10]。陶磊等人提出了基于 YOLOv3 的無人機識別與定位追蹤方法,用 YOLOv3 輸出視頻中的無人機位置信息,再用 PID 算法調節攝像頭角度實現無人機定位追蹤,模型在測試集上能達到 83.24%的準確率和 88.15%的召回率,在配備有英偉達 1060 顯卡的計算機上能達到 20 幀每秒的速度[11]。YOLO 算法無需對目標和背景進行復雜的人工建模,構建過程相對簡單,泛化能力強,發展很快,且識別速度和識別準確性方面有一定的優勢,已應用于多個場景,如疫情期間口罩佩戴檢測[12]、初期火災探測[13],已成為目標檢測的研究熱點。目前 YOLO 算法已經更新到第五版本 YOLOv5,其體積縮小到約原來的 1/9,檢測速度得到大幅提升,精度方面也有不錯的表現。因此,本文提出采用第五版本的 YOLO 算法實現對微小型無人機的實時探測。首先,根據自行拍攝的無人機飛行時的照片構建數據集;其次,搭建深度學習環境,使用 YOLOv5 輕量化模型對數據集進行訓練;最后,用訓練得到的模型對視頻或圖片中的微小型無人機進行探測。
2 YOLO v5 算法原理
YOLO 算法最初是由 Joseph Redmon 等人于 2016 年提出來的一種目標識別方法[14],其創新性在于把檢測當作回歸問題處理,只需一階檢測,用一個網絡就可快速輸出目標位置和種類,其最大的優勢就是通過簡潔的算法可以獲得出色的識別效果。Redmon 對算法進行改進依次推出了 YOLOv2[15]、YOLOv3 兩個版本。Alexey Bochkovskiy 等人推出了 YOLOv4 版本[16]。隨著 YOLO 的不斷更新迭代,其算法變得更快更精確,Glenn Jocher 在 2020 年推出了最新版本的 YOLOv5。YOLOv5 版本是基于 YOLOv4 版本改進的,采用了 PyTorch 框架代替了 YOLOv4 版本的 Darknet 框架,網絡部分未作修改,僅對參數進行調整優化,使得檢測速度大幅提升,最快的檢測速度達到了 140FPS[17];同時,YOLOv5 把權重文件的體積進行了縮小優化,只有 YOLOv4 的 1/9 左右。
YOLO v5 算法檢測可分為三步:首先統一調整圖像的大小后進行分割,然后用卷積神經網絡提取特征,最后通過非極大值抑制(Non-Maximum Suppression, NMS)篩選重復預測的邊框,輸出最終的預測結果。算法先對所有圖像進行尺寸調整后,將輸入圖像劃分為 S×S 個格子,不同格子只負責其對應區域的物體識別,減少了重疊識別,大大減少了計算量。每個格子會預測其內部是否存在目標的位置中心坐標,若某個目標的中心位置落入其中某一個格子,那么該物體的識別就會由這個格子來負責。每個小格子將預測 A 個假定類別的概率和 B 個邊界框,每個邊界框包含 5 個參數,分別為 x,y,w,h 和 Confidence,其中(x, y)為預測邊框的中心點坐標;(w, h)為預測邊框的寬度和高度。Confidence 反映邊框中是否包含目標以及包含目標時預測目標位置的準確性,其由公式(1)計算得到。
YOLOv5 目標檢測模型是基于卷積神經網絡實現的,主要由輸入端、Backbone、Neck、Prediction 四部分組成 [14],其構成如圖 1 所示。輸入端采用了 Mosaic 數據增強提升了小目標的檢測效果,另外,采用自適應錨框計算的方法,不同的數據集都會有初始設定長寬的錨框,可以得到更大的交并比,提高大大提高了訓練和預測的效率;Backbone 部分為在不同圖像細粒度上聚合并形成圖像特征的卷積神經網絡,主要有 Focus 結構和 CSP 結構。 Neck 部分是在 Backbone 和 Prediction 之間,是一系列混合和組合圖像特征的網絡層,將圖像特征傳遞到 Prediction 部分。Prediction 部分為最終檢測部分,主要對圖像特征進行預測,并生成邊界框、預測目標種類。其采用了 GIoU_loss(Generalized Intersection over Union)計算預測框(predicted bounding box)回歸損失函數均值, Box 值越小,預測框回歸越準確;采用了 BCE Logits_loss 計算目標檢測損失函數均值,objectness 值越小,目標檢測越準確;采用二元交叉熵損失函數 BCE_loss 計算目標分類損失函數均值, classification 值越小,目標分類越準確。
3 探測實驗
3.1 數據集的準備
目前,基于深度學習的微小型無人機探測方面研究較少,互聯網上沒有標準的數據集可供使用,因此需要自行采集數據構建所需數據集。
(1)數據采集。在不同天氣、時間和背景對三款大疆無人機進行拍攝,其型號分別為 Inspire2(尺寸為 645mm×650mm×313mm ) 、 Mavic Air2 (尺寸為 183mm×253mm×77mm ) 、 Phantom4 pro (尺寸為 330mm×225mm×405mm),整理后得單臺 Inspire2 圖片 60 張、單臺 Mavic Air2 圖片 64 張、單臺 Phantom4 pro 圖片 62 張,2 臺及以上無人機圖片 24 張。
(2)數據標注。YOLOv5 模型訓練前需對數據集進行標注,選用 LabelImg 標注軟件對圖片中的無人機進行人工逐一標注,完整框選出無人機邊界并標注名稱,標注過程如圖 2(a)所示。每一張圖片標注完之后,將會自動生成一個相應的注釋文檔,包含物體名稱編號,邊界框的位置和大小等信息,如圖 2(b)所示。
(3)數據集構建。將圖片和對應的標注文件上傳到機器學習網站 roboflow.com 進行格式化,調整像素為 640px,并按照 7:2:1 的比例分別設置訓練集、驗證集和測試集。
3.2 網絡訓練
網絡訓練是在專用深度學習服務器平臺上進行的,平臺的硬件配置和開發環境如表 1 所示。
實驗過程為對微小型無人機數據集進行遷移學習訓練,訓練使用 YOLOv5s 的輕量化預訓練模型 yolo v5s.pt (通過 COCO val2017 數據庫訓練得到的輕量化檢測模型)作為知識源進行遷移學習,修改目標種類參數 nc (number of classes)為 3,數據集配置文件 data.yaml 中設置好數據集路徑,輸入圖像尺寸為 640px,前向傳播批處理大小設置為 64,迭代次數設置為 600。經過訓練,得到基于微小型無人機數據集的目標檢測模型,該模型可用于檢測視頻中每一幀圖像中的無人機,并預測無人機的邊界框、型號及相應的置信度。
相關知識推薦:無人機領域論文如何發表
使用 Tensorboard 可視化工具查看模型訓練結果。圖3(a)、(b)、(c)分別為訓練過程中預測框回歸損失函數均值、目標檢測損失函數均值、分類損失函數均值隨迭代次數的變化情況?梢钥闯觯N損失函數均值隨迭代次數的增加快速下降,訓練后期迭代到 500 次左右趨于穩定,最后趨于收斂。圖 4 表示訓練過程中精確率、召回率隨迭代次數的變化情況,隨著迭代次數增加,精確率和召回率快速上升后趨向于穩定。圖 5 為當交并比 IoU 閾值分別為 0.5 和 0.5:0.95 時平均精度均值(Mean Average Precision,簡稱 mAP)在逐步提升并趨于穩定。
3.3 模型測試
網絡訓練結束后,把測試集中的圖片輸入訓練好的網絡模型進行識別目標的位置回歸。只有同時滿足 IoU≥0.5,無人機的種類識別正確這兩個條件時,判定檢測識別正確;否則為錯誤。選取精確率(Precision)、召回率(Recall)、平均精度均值(mean Average Precision, mAP)作為評價指標,精確率表示在所有被檢測為正的樣本中實際為正樣本的概率,其公式如(6)所示;召回率表示在實際為正的樣本中被檢測為正樣本的概率,其公式如(7)所示;平均精度均值表示在所有檢測類別上的平均精度的均值,比精確率和召回率更能反應模型的全局性能,其公式如(8)所示。
4 實驗結果與分析
4.1 數據集測試結果分析
用測試集 21 張圖片對訓練模型進行測試,結果如表 2 所示,當交并比 IoU 值為 0.5 時,訓練得到的模型能夠達到 94.2%的精確率和 82.8%的召回率,三種無人機識別的精度分別為:Inspire2 為 95.4%,Mavic Air2 為 92.1%, Phantom4 pro 為 95.2%,達到了較高的識別精度結果。測試集中部分檢測結果如圖 8 所示,在多種背景下均能夠正確的檢測出目標無人機,并準確識別出其型號類別。在相同的服務器平臺上,使用相同的數據集對 YOLOv3 和 YOLOv5 兩種算法進行對比測試,結果如表 3 所示,使用 YOLOv5 模型進行測試時,mAP 達到 93.5%,識別速度能達到 141 FPS,精確率達到 94.3%,YOLOv3 模型的 mAP 為 81.5%,識別速度為 59 FPS,精確率為 83.2%。本實驗的測試結果整體上也優于文獻[10]、[11] 采用 YOLOv3 算法的測試結果,更優于文獻[9]采用的改進的 SSD 算法。
4.2 真實場景探測
為進一步驗證基于 YOLOv5 對無人機的實時探測能力,本實驗通過拍攝一段無人機視頻,使用訓練得到的模型對其進行探測。該視頻中同時存在最多 3 種無人機的畫面,視頻分辨率為 19201080,幀速率 30 FPS。識別結果如圖 9 所示,當較大無人機 Inspire2 在約 45 米范圍內,較小無人機 Mavic Air2 在約 30 米范圍內,該模型基本能檢測出視頻中的無人機目標,型號識別準確,同時置信度較高。每一幀圖像的識別時間約為 0.007 秒,識別速率遠大于源視頻幀速率,具有較好的實時性。通過本文的實驗可以驗證 YOLOv5 算法在無人機實時探測應用上的技術優勢。
5 結論
(1)使用遷移學習訓練完的 YOLOv5 模型在測試集上能夠達到 94.2%的精確率、82.8%的召回率和 93.5%的平均精度均值,此模型不僅能識別到微小型無人機,還能識別出其具體型號,并標注其置信度。
(2)在真實場景下,該方法能對光學監控設備的視頻流進行實時探測識別,在配備 NVIDIA GTX TITAN Xp 12 GB 顯卡的計算機上能達到 142 FPS 的速度,達到較為流暢的識別效果。
雖然本文提出的方法性能較好,但對于距離較遠的微小型無人機,識別效果不佳。因為 YOLO 模型會對圖片壓縮處理,即當畫面中無人機目標較遠(或尺寸較小)時,壓縮后無人機像素過小,無法提取有效特征,故難以識別。下一步考慮用增加尺度、網絡檢測分支等方式對 YOLOv5 算法進行修改,或者采取先分割大圖為小圖,再檢測小圖的方式增強小目標的探測能力。——論文作者:包文歧,謝立強,徐才華,劉智榮,朱敏
參考文獻:
[1] GUVENCE I, KOOHIFAR F, SINGH S , et al. "Detection, Tracking, and Interdiction for Amateur Drones," in IEEE Communications Magazine, vol. 56, no. 4, pp. 75-81, April 2018, doi: 10.1109/MCOM.2018.1700455.
[2] 張薇.民航局召開通用航空工作領導小組第六次全體會 議 [EB/OL]. http://www.caacnews.com.cn/1/1/202102/t20210226_1 320077.html, 2021-02-26.
[3] 許暉,張翟. 昨夜突發!杭州蕭山機場進港飛機不斷盤旋,疑因無人機侵入!部分航班備降寧波、上海 [EB/OL]. https://hznews.hangzhou.com.cn/shehui/content/2021- 04/04/content_7940611_2.html, 2021-04-04.
[4] 屈旭濤,莊東曄,謝海斌.“低慢小”無人機探測方法[J]. 指揮控制與仿真,2020,42(02):128-135. QU X T, ZHUANG D Y, XIE H B. Detection Methods for Low-Slow-Small(LSS) UAV[J]. Command Control & Simulation, 2020,42(02):128-135.
SCISSCIAHCI