蔡振宇,王澤鍇,陳特歡,李文來
基于YOLOv3的正下無人機視角挖掘機實時檢測方法
蔡振宇,王澤鍇,陳特歡*,李文來
(寧波大學 機械工程與力學學院, 浙江 寧波 315211)
針對無人機巡檢的智能化要求, 提出一種應對高空巡檢場景下的實時挖掘機檢測模型. 該模型以YOLOv3為基礎, 將骨干網絡精簡至43層, 通過特征融合策略使檢測任務在兩個尺度上進行. 此外模型還借鑒了focal loss的思想設計損失函數. 文中實驗對象為正下無人機視角的挖掘機目標. 在完成了數據集的搭建工作后, 根據正下無人機視角的目標特性進行訓練, 使模型達到最優解. 最終經實驗驗證, 在相同輸入尺寸的情況下, 本文所提出的檢測模型比YOLOv3準確率更高、魯棒性更好, 且幀數可提升10幀·s-1.
無人機視角; YOLOv3; 特征融合; 目標檢測
當前工程中的巡檢任務多為人工實現, 人工巡檢存在效率低下、巡檢頻次低、成本過高等諸多問題[1]. 而無人機自動巡檢技術為巡檢任務提供了一種智能化的解決方案, 能夠在很大程度上取代人工巡檢. 其中對高空環境下目標檢測技術的研究是無人機在精準貨物投送、自主充電、目標跟隨飛行等無人機自主行為領域的基礎, 具有較高的應用價值.
在經典的機器學習方法中, 對于目標特征的提取是工作的核心內容, 通常會采用尺度不變特征變換[2]、方向梯度直方圖[3]等方法進行特征提取. 再將所得的特征輸入諸如支持向量機[4]、迭代器(AdaBoost)[5]等分類器之中. 然而所提取的特征嚴重依賴于人工設計, 且在實際工作環境下, 滿足高指標智能巡檢需求需要在高空進行檢測工作. 處于無人機視角下的檢測目標在獲取的圖像里僅占據著少量像素. 此外, 巡檢環境多為郊外地區, 檢測過程中存在背景復雜度高、視頻數據計算量大等問題[6]. 2006年Hinton等[7]首次引入了深度學習的概念, 通過設計深層次的神經網絡結構對目標特征進行提取. 深度學習在很大程度上解決了手工特征的應用局限性, 大幅度地提升了模型的魯棒性與靈活性[8].
當前, 基于深度學習的目標檢測方法大體上可分為兩類, 即基于回歸思想的單階檢測方法和基于區域建議的兩階檢測方法. 其中基于回歸思想的單階檢測方法使用單個前饋神經網絡來實現對區域類別的預測并對區域進行微調. 常見的基于回歸思想的檢測方法包括SSD[9]、YOLO[10]、YOLOv2[11]、YOLOv3[12]、RetinaNet[13]等等.
單階檢測方法無需第二階段的區域分類操作, 能極大地提高檢測效率. YOLOv3作為一種單階檢測方法, 在保證一定檢測效率的同時, 其檢測精度比經典的SSD以及前代YOLO模型更高, 從而被廣泛地應用于許多實際場景中. 張富凱等[14]在YOLOv3的基礎上設計6個不同尺度的卷積特征圖, 實現了交通監控中車輛的檢測. 戴偉聰等[15]針對遙感圖像中的飛機目標采用一個49層網絡結構代替模型的骨干網絡并對檢測尺度進行了擴展. 舒軍等[16]則在YOLOv3的基礎上引入了更高分辨率的檢測模塊來強化航拍小目標的檢測能力.
當前對YOLOv3的研究重點在于提高模型的檢測準確率, 然而模型的檢測速率卻很少有顯著的提升. 本文所考慮的無人機巡檢任務中, 主要通過四旋翼飛行器的機載攝像頭采集圖像, 并交由移動地面站進行處理. 由于移動地面站的圖像處理能力相對GPU服務器性能較弱, 運行深度學習模型時難以保證檢測速率. 這意味著執行無人機巡檢任務對模型的檢測速率具有很高的要求.
目標檢測的對象為無人機電力巡檢過程中所出現的違章挖掘機. 考慮到電力系統的布置場景多為郊外環境, 場景復雜性較高, 且文中主要的研究對象為靜態圖像中的挖掘機, 挖掘機在靜態圖像中所呈現出的外觀形態會隨著工作狀態發生變化, 這也意味著挖掘機目標的檢測比一般靜態目標的檢測難度更大. 此外, 出于精準定位的需求, 采集的挖掘機圖像皆為正下無人機視角. 這也導致圖像中的目標特征信息量較低, 在復雜的郊外環境下容易出現目標的誤判現象.
本文以YOLOv3模型為基礎進行改進工作, 構建多尺度特征融合神經網絡模型, 并建立以正下無人機視角的挖掘機為樣本的數據集, 用于訓練和測試所構建的深度學習目標檢測模型. 模型的骨干網絡部分由Darknet53[12]修改而來, 包含43個卷積層, 實現了模型參數的精簡. 借鑒深度殘差網絡(ResNet)[17]中的殘差塊設計方法加速計算. 此外還將特征金字塔網絡(Feature Pyramid Networks, FPN)[18]的分級檢測思想應用于模型之中, 采用將深層與淺層特征融合的策略在大小兩個尺寸的特征圖上進行物體檢測. 為保障模型的檢測速率, 先驗框的數量設置為6個, 先驗框的獲取則采取均值方法對樣本做6類聚類處理. 考慮到訓練過程中存在正負樣本不均衡的現象, 為了保障檢測的準確度, 借鑒RetinaNet的focal loss思想設計損失函數來更新模型. 最后通過實驗證明該改進算法實現了對模型的性能提升.
YOLO算法已發展至第3代, 它將目標檢測作為回歸問題處理. 如圖1所示, YOLO將預測圖劃分為×個單元格操作, 當目標的中心坐標位于其中某個單元格時, 該單元格就負責目標的檢測工作. 每個格子預測個邊界框位置信息(,,,)及其置信度(conf), 以及多類別概率(cls_num).

圖1 YOLO的檢測示意圖
模型的骨干網絡基于Darknet53進行修改得到, 為強化網絡輸入數據的信息量, 將輸入尺寸由默認的416×416擴展至608×608, 通道數為3. 網絡模型的整體結構如圖2所示.

圖2 模型的網絡結構
圖2中, CBL模塊代表一個完整的卷積過程, 該結構在卷積操作后加上批標準化(Batch Nor- malization, BN)[19]層進行處理, 減少過擬合現象, 并串聯一個激活層, 激活函數選用Leaky RELU.
網絡模型在卷積計算過程中共采取2種計算策略, 分別為“SAME”和“VALID”. 對于無法整除的情況則采用向上取整的方式獲得輸出結果.
考慮小目標檢測需求, 提取的圖像特征將更著重于細節特征, 這意味著高層級的語義信息存在大量信息冗余. 針對這種情況, 對YOLOv3模型骨干網絡部分的52層卷積進行層向剪枝處理以減少模型的參數, 經精簡后的模型其特征提取部分構建為一43層的全卷積網絡結構.
總體來說, 修改后的網絡結構包含自底向上路徑、自頂向下路徑、側邊路徑等部分. 在輸入尺寸同為416×416的條件下, 經修改后的模型參數量與原版模型對比見表1, 其中參數量以10億次浮點運算量為單位.

表1 模型參數對比 ×10億次
自底向上的過程為模型的骨干網絡部分. 在自底向上的過程中網絡不斷加深, 以此實現多級特征的提取. 自底向上的網絡由res_模塊組合搭建, 該模塊借鑒了深度殘差網絡的殘差結構, 通過對殘差結構res_unit的使用解決深層網絡訓練時梯度消失的問題. 自底向上的過程共歷經4次下采樣操作. 為了保留特征中的細節信息, 下采樣的整個過程中無池化層參與, 均由步伐大小為2的卷積操作實現. 最終采用38×38與76×76這兩個特征圖尺度作為該過程的輸出.
在自頂向下的路徑中, 主要通過上采樣的方式擴展深層特征圖的尺寸, 再通過側邊路徑將擴展尺寸后的特征圖和淺層同尺寸特征圖進行串聯操作, 從而輸出信息量更加豐富的特征圖. 與RetinaNet類似, 對于76×76尺度的輸出, 采取最鄰近上采樣的策略將高一層的特征圖在分辨率上進行兩倍的上采樣工作, 并與同尺寸的自底向上輸出的最高層特征圖進行串聯疊加.
最后的輸出預測圖張量形式分別為38×38×18與76×76×18. 在此基礎上進行位置回歸和分類.
Anchor框是一系列預設在圖像上的框, 本文采用均值方法對收集樣本進行聚類, 使聚類得到的Anchor框可以達到更高的交并比(Intersection- over-Union, IOU). IOU用來描述1、2交集區域和并集區域面積的比例, 公式為

均值聚類的距離公式為






出于對無人機定位準確度的考慮, 數據集的圖像采集工作由機載正下視鏡頭完成, 通過飛行器對挖掘機進行航拍采樣. 無人機采用大疆的消費級飛行器精靈4 Pro, 相機型號為FC6310. 最終獲得一共包含3599張圖片的數據樣本, 共4932個目標, 平均每張圖片包含1.37個目標. 采用樣本標注軟件LabelImg對圖像數據中的目標進行人工標注. 帶標注的樣本數據按8:1:1的比例分為3部分: 訓練集2879張、驗證集360張、測試集360張. 數據集的樣本尺寸分布情況如圖3所示.

圖3 數據集的樣本尺寸分布
具體數據集平均目標信息統計情況見表2.

表2 數據集信息統計
文中檢測對象為施工中的挖掘機個體. 對于輸入的圖像樣本, YOLOv3模型將樣本劃分為×個網格, 文中設置每個網格的Anchor數為3. 其中目標中心坐標所在的Anchor為正樣本, 其余負責背景的Anchor為負樣本, 樣本示例如圖4所示.

圖4 數據樣本示例
為了訓練檢測模型, 文中設置每個網格預測3個邊界框, 并通過對損失函數的數值衰減來更新模型. 此外, 本文還使用了數據增廣與遷移學習方法來改善模型的性能. 采取多尺度訓練的策略, 在訓練過程中以每100批次量為一個周期, 使模型的輸入尺寸在320至608的范圍內以32的倍率隨機變動, 從而實現模型性能的提升.
數據增廣: 數據增廣是應對樣本數據不足時提高模型性能的一種手段. 綜合考慮巡檢過程中光照以及天氣等因素的影響, 本文增廣策略包括調整輸入樣本的HSV值, 即色相(Hue)、飽和度(Saturation)、明度(Value), 以50%的波動范圍對三者進行調節. 此外, 由于下視鏡頭的中心旋轉特性, 文中增加數據的角度旋轉增廣.
訓練: 以公開數據集PASCAL VOC 2012為基礎進行預訓練操作, 然后在GPU配置為NVIDIA GTX Titan XP的本地主機上對收集的挖掘機數據進行訓練. 在本文的訓練策略中, 批量大小設為64, 歷經600輪次訓練, 初始學習率為0.001. 分別在輪次為480、540時下降至前一階段的10%.
實驗的軟件環境為操作系統Ubuntu 16.04, 深度學習框架采用基于C語言的Darknet. 實驗環境的主要硬件配置如下: 處理器為Intel Xeon(R) CPU E5-2678 v3 2.3GHz×48, 內存為64GB, GPU為GTX Titan XP. 實驗對象為航空視角下的挖掘機. 檢測器的輸入主要有2種形式, 分別為視頻和圖像. 采用測試集進行評估, 通過mAP@0.5IOU[20]評估所制作的測試集作為準確性的參考依據.
在評估改進的YOLOv3模型性能之前進行了實驗A. 選擇目前存在的Faster R-CNN[21]、SSD以及原版YOLOv3這3種主流目標檢測模型, 在文中所搭建的挖掘機數據集上進行數據訓練, 模型參數設定參照論文中的數值. 模型在當前數據集下的性能見表3.
本文在表3中測試了各模型的檢測精度以及檢測速率. 并通過對網絡模型輸入尺寸的調節來測試模型在不同分辨率下的性能表現. 通過對比Faster R-CNN、SSD以及原版YOLOv3這3種主流目標檢測模型, 可以看出針對文中提出的數據集, 綜合考慮檢測準確率以及速率, YOLOv3具有更加優秀的性能表現.

表3 檢測模型基準實驗結果
在實驗B中, 考慮正下無人機視角特性, 采用合適的數據增廣策略來提高模型的檢測精度, 加入旋轉的方式對數據進行增廣, 選取輸入尺寸為608×608的YOLOv3模型進行測試, 結果見表4.

表4 不同旋轉角度下的模型性能
本文在YOLOv3的基礎上對模型進行了多項修改以提高模型的目標檢測性能. 實驗結果見表5.

表5 模型改進對比實驗
在實驗C1中, 測試了原始的基于DarkNet53的YOLOv3模型, 并將其作為其他實驗的基準模型, 輸入尺寸設置為608×608.
在實驗C2中, 對模型的網絡結構采用文中所描述的策略進行修改, 以43層全卷積結構作為骨干網絡, 并使檢測任務在兩個檢測尺度上進行. 實驗結果顯示, 針對單目標檢測的情況, 網絡結構的精度不會帶來檢測準確率的大幅度波動, 并顯著地提升了模型的檢測速率.
在實驗C3中, 將focal loss引入模型的損失函數中進行對比實驗, 證明損失函數的改進可提升模型的檢測精度.
在實驗D中, 對基于基準的修改進行整合, 測試改進后的YOLOv3模型. 并對網絡模型輸入尺寸進行調節來測試模型在不同分辨率下的性能表現, 實驗結果見表6.

表6 不同輸入尺寸下的模型性能對比實驗
通過對比表3中原版YOLOv3的實驗結果可以看出, 改進后的模型在檢測速率上實現了明顯的提升, 在相同的輸入尺寸下最高可提升10幀·s-1. 此外由于網絡層級過高導致細節特征在卷積過程中損失嚴重, 當YOLOv3模型的輸入尺寸降低至480×480及以下, 其對于實驗數據集的小目標檢測性能呈現為斷層式下跌. 文中改進模型采取的特征融合策略能更好地保留細節特征, 針對小目標實驗對象具有良好的檢測性能, 在模型的輸入尺寸由大至小的實驗測試環境下始終維持著較高的準確度, 具有極高的魯棒性. 本文方法的實驗效果如圖5所示.

圖5 模型的檢測效果示意
本文將無人機的高空巡檢工作和深度學習的視覺檢測算法相結合, 對現有檢測性能優良的YOLOv3的整體網絡與損失函數進行改進, 以適用于正下無人機視角的挖掘機檢測. 文中搭建了一個正下無人機視角的單類挖掘機目標數據集, 修改了模型的骨干網絡并以FPN的思想設計檢測網絡部分, 使檢測任務在大小兩個尺度上進行. 為了解決樣本嚴重不均衡問題, 在損失函數中加入了focal loss. 文中提出的模型平均精度最高可達89.6%, 在相同輸入尺寸的條件下對比YOLOv3模型可實現最高10幀·s-1的檢測速率提升, 且具有更強的魯棒性.
由于條件的限制, 所收集的數據集有待進一步擴容, 這對最終模型性能的表現有著顯著的影響. 此外, 模型的損失函數還有待進一步調優. 為此, 在接下來的工作中, 還需進一步對樣本集進行擴容, 優化損失函數, 并在保障性能的前提下繼續進行模型的輕量化工作.
[1] 陳志強. 淺談變電站機器人巡檢系統優化應用[J]. 工程技術(文摘版)·建筑, 2016(2):156.
[2] Ma X X, Grimson W E L. Edge-based rich representation for vehicle classification[C]//Tenth IEEE International Conference on Computer Vision, 2005:1185-1192.
[3] Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]//2005 IEEE Conference on Computer Vision and Pattern Recognition, 2005:886-893.
[4] Kazemi F M, Samadi S, Poorreza H R, et al. Vehicle recognition using curvelet transform and SVM[C]// Fourth International Conference on Information Technology, 2007:516-521.
[5] Freund Y, Schapire R E. A decision-theoretic generalization of on-line learning and an application to boosting[J].Journal of Computer and System Sciences, 1997, 55(1): 119-139.
[6] 王健, 王曉東, 郭磊. 基于混合高斯模型的運動目標檢測[J]. 寧波大學學報(理工版), 2019, 32(3):35-39.
[7] Hinton G E, Salakhutdinov R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786): 504-507.
[8] 周曉杰, 蔡元強, 夏克江, 等. 基于火焰圖像顯著區域特征學習與分類器融合的回轉窯燒結工況識別[J]. 控制與決策, 2017, 32(1):187-192.
[9] Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector[C]//European Conference on Computer Vision, 2016:21-37.
[10] Redmon J, Divvala S, Girshick R, et al. You only look once: unified, real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition, 2016:779-788.
[11] Redmon J, Farhadi A. YOLO9000: Better, faster, stronger [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition, 2017:6517-6525.
[12] Redmon J, Farhadi A. YOLOv3: An incremental improvement[EB/OL]. [2019-08-17].https://arxiv.org/abs/ 1804.02767.
[13] Lin T, Goyal P, Girshick R, et al. Focal loss for dense object detection[C]//International Conference on Computer Vision, 2017:2999-3007.
[14] 張富凱, 楊峰, 李策. 基于改進YOLOv3的快速車輛檢測方法[J]. 計算機工程與應用, 2019, 55(2):12-20.
[15] 戴偉聰, 金龍旭, 李國寧, 等. 遙感圖像中飛機的改進YOLOv3實時檢測算法[J]. 光電工程, 2018, 45(12):84- 92.
[16] 舒軍, 吳柯. 基于改進YOLOv3的航拍目標實時檢測方法[J]. 湖北工業大學學報, 2020(1):21-24.
[17] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition, 2016:770-778.
[18] Lin T, Dollar P, Girshick R, et al. Feature pyramid networks for object detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition, 2017:936- 944.
[19] Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift [EB/OL]. [2019-07-12].https://arxiv.org/abs/1502.03167.
[20] Everingham M, Eslami S M A, van Gool L, et al. The pascal visual object classes challenge: A retrospective[J]. International Journal of Computer Vision, 2015, 111(1): 98-136.
[21] Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6):1137-1149.
Real-time excavator detection under direct UAV view based on improved YOLOv3 method
CAI Zhenyu, WANG Zekai, CHEN Tehuan*, LI Wenlai
( Faculty of Mechanical Engineering & Mechanics, Ningbo University, Ningbo 315211, China )
A real-time excavator detection method for high-altitude patrol scenarios is proposed to meet the requirements of Unmanned Aerial Vehicle (UAV) intelligent inspection. The model is based on YOLOv3 and adopts a 43-layer backbone network. The object can be detected on two scales through feature fusion strategy. Besides, it also defines the loss function with the idea of focal loss. The experimental object in this article is an excavator under the direct UAV view. Upon the completion of the construction of the dataset, the optimal solution of the model is obtained by training the model with characteristics of the object under direct UAV view. The experimental results show that the proposed model is more accurate and robust than YOLOv3 for the same input size, and has increased by 10 frame per second in terms of frame number.
UAV view; YOLOv3; feature fusion; object detection
TP391.4
A
1001-5132(2021)02-0042-07
2020?06?06.
寧波大學學報(理工版)網址: http://journallg.nbu.edu.cn/
國家自然科學基金(61703217); 浙江省教育廳科研項目(Y201840096, Y201839158, Y201840072); 寧波市科技創新2025重大
專項(2019B10100).
蔡振宇(1994-), 男, 湖南株洲人, 在讀碩士研究生, 主要研究方向: 深度學習、目標檢測. E-mail: bnbnnvh@163.com
陳特歡(1988-), 男, 浙江寧波人, 副教授, 主要研究方向: 微流體控制、計算最優控制、機器人控制. E-mail: chentehuan@nbu.edu.cn
(責任編輯 韓 超)