












摘要:【目的】針對無人機航拍圖像中目標尺度多樣、背景復雜、小目標密集的特點,提出了基于YOLOv5s的小目標檢測算法LM-YOLO。【方法】首先,增加小目標檢測頭并采用K-DBSCAN聚類算法優化錨框,生成更適合小目標檢測的錨框,提高算法對小目標的檢測精度;然后,設計更高效的MobileNetV3-CBAM作為特征提取網絡,減小網絡模型大小;最后,在特征融合網絡引入大核選擇性注意力機制LSK,增加模型對相似目標的分辨率。【結果】在公開數據集VisDrone2019上的實驗結果表明,與基準模型YOLOv5s相比,LM-YOLO對所有目標的平均檢測精度提升了7.6%,模型大小壓縮了45%。【結論】文章算法可以在降低模型大小的同時保持良好的檢測精度。
關鍵詞:無人機圖像;小目標檢測;聚類算法;YOLOv5s;注意力機制
中圖分類號:TP391.4 文獻標志碼:A
本文引用格式:董華軍,王宇棲. 基于改進YOLOv5s的無人機小目標檢測算法研究[J]. 華東交通大學學報,2024,41(4):118-126.
Research on UAV Small Target Detection Algorithm
Based on Improved YOLOv5s
Dong Huajun1, 2, Wang Yuqi1
(1. School of Mechanical Engineering, Dalian Jiaotong University, Dalian 116028, China; 2. School of Automation and Electrical Engineering, Dalian Jiaotong University, Dalian 116028, China)
Abstract: 【Objective】Aiming at the characteristics of various target scales, complex background and dense small targets in aerial images of unmanned aerial vehicles (UAC), a small target detection algorithm LM-YOLO based on YOLOV5 is proposed. 【Method】Firstly, the number of small target detection head was increased and K-DBSCAN clustering algorithm was used to optimize the anchor frame, so as to generate an anchor frame more suitable for small target detection and improve the detection accuracy of the algorithm. Then, a more efficient MobileNetV3-CBAM was designed as a feature extraction network to reduce the size of the network model. Finally, the large kernel selective attention mechanism LSK was introduced into the feature fusion network to increase the resolution of the model to similar targets. 【Result】The experimental results on the public data set VisDrone2019 show that the average detection accuracy of LM-YOLO for all targets is improved by 7.6% and the model size is reduced by 45% compared with the benchmark model YOLOV5. 【Conclusion】Experiments show that the proposed algorithm can reduce the model size while maintaining good detection accuracy.
Key words: UAV images; small target detection; clustering algorithm; YOLOv5s; attention mechanism
Citation format: DONG H J, WANG Y Q. Research on UAV small target detection algorithm based on improved YOLOv5s[J]. Journal of East China Jiaotong University, 2024, 41(4): 118-126.
【研究意義】隨著深度學習技術的蓬勃發展,無人機與目標檢測技術的結合已在智能巡檢、環境勘測、交通監管等領域有著廣泛應用[1]。由于無人機拍攝距離遠、視野寬廣,導致航拍圖像具有背景復雜、鄰近目標相互遮擋、拍攝光線不足、小目標眾多等問題,現有的算法在無人機視角下的檢測效果并不理想[2]。因此,研究適用于無人機航拍圖像的目標檢測算法有著重要意義。
【研究現狀】目前目標檢測算法大致可以分為兩類,第一類是雙階段檢測算法,主要以區域卷積神經網絡R-CNN[3],Fast-RCNN[4],Faster-RCNN[5]為代表。該算法在第一階段生成候選區域,提取目標的候選框,在第二階段對目標物體進行分類和回歸,該類算法平均目標檢測精度高,但是檢測速度較差,難以達到實時性要求。第二類是單階段檢測算法,主要以YOLO系列算法[6-9]、SDD算法[10-11]為代表。其中YOLOv5具有檢測速度快、模型相對較小的優點,在單次檢測中直接獲得結果,被廣泛應用于無人機圖像目標檢測中。Jiang等[12]在YOLOv5的特征融合網絡增加了上采樣方法,在通道維度對特征圖進行拼接,增強了算法對小目標的檢測精度,但降低了頸部網絡提取圖像特征的能力,檢測速度也大幅下降,不足以滿足實際需求。吳萌萌等[13]在YOLOv5s的基礎上,設計了融合特征融合因子的自適應雙向特征融合模塊(M-BiFPN),使網絡的特征表達能力提升,由于未考慮數據集長尾分布的特點,該算法對目標的檢測性能提升不夠明顯。謝椿輝等[14]將YOLOv5的頭部網絡進行改進,將檢測頭解耦并新增小目標預測頭,增強網絡對小目標的檢測率,但對4個檢測頭解耦降低了算法的檢測速度。Qiu等[15]對YOLOv5的空間金字塔進行改進,使用SPPF代替原有的SPP,增強了骨干網絡提取多尺度特征的能力,但沒有提升小目標周圍的感受野,忽略了小目標背景的先驗知識。
【創新特色】針對現有改進方法存在的問題,本文從輕量化和高效化角度對YOLOv5s算法進行改進研究,提出了LM-YOLO算法。首先增加小目標檢測層,其次采用K-DBSCAN算法重新聚類錨框,提高模型對小目標的檢測精度。從特征融合角度,設計MobileNetV3-CBAM網絡代替YOLOv5s骨干網絡,增強網絡對空間特征的提取能力,減少模型大小。從特征融合角度,在頸部網絡插入大核選擇性的注意力機制LSK,獲取小目標更多的背景上下文信息,增加網絡對相似小目標的辨識度。【關鍵問題】研究基于YOLOv5s的航拍圖像小目標檢測算法,能夠充分利用YOLOv5s算法的速度優勢,融合優秀的改進策略后,可以有效避免檢測小目標時出現的誤檢或漏檢問題。
1 LM-YOLO
1.1 LM-YOLO網絡結構
針對無人機航拍圖像具有背景復雜、小目標多且密集的特點,LM-YOLO在滿足實時檢測和模型輕量化的條件下,能夠有效提升模型對復雜背景下密集小目標的檢測精度,LM-YOLO模型結構如圖1所示。圖中,Bneck是MobileNetV3的瓶頸結構,融合了深度可分離卷積[16]和倒置殘差結構[17],LSK是大核選擇注意力模塊。LM-YOLO模型由融合MobileNetV3-CBAM的特征提取網絡(Backone),添加LSK注意力機制的特征融合網絡(Neck),以及增加小目標檢測頭的目標檢測層(Head)組成。
1.2 聚類算法改進
YOLOv5s對默認先驗框的聚類算法是K-means[18],此算法適合聚類大目標的數據集,但對于本文研究的無人機航拍小目標來說,由于數據集孤立點的干擾和初始聚類中心的隨機性,可能會導致聚類算法陷入局部最優的情況。因此本文使用了基于密度的K-DBSCAN算法對目標真實框進行聚類,其核心思想是使用DBSCAN[19]算法消除孤立點的干擾并確定初始聚類中心個數K,再使用K-means算法對初始聚類中心進行聚類分析,生成適合無人機小目標檢測的錨框。
同時,為了能夠提取更多的小目標位置信息,本文對YOLOv5中的檢測層進行改進,增加了一個微小目標檢測頭,選取12個聚類中心,等分到4個大小不同的預測頭上,聚類后的錨框大小,如表1所示。這樣新增的小目標檢測頭能夠檢測更小的目標,也避免了因錨框過大所帶來的小目標漏檢問題。
1.3 特征提取網絡改進
原YOLOv5s的骨干網絡參數量較大,對硬件配置要求較高。本文基于輕量化思想,設計了融合MobileNetV3網絡和CBAM注意力的MobileNetV3-CBAM網絡,替換原有的骨干網絡,在保證模型檢測能力的同時降低模型大小。
MobileNetV3包含了MobileNetV3-large和MobileNetV3-small兩個版本[20],本研究選取檢測精度更高的MobileNetV3-large作為特征提取層的基準網絡,移除了MobileNetV3-large原網絡的最后4層,因為這4層是分類層對目標提取無用。此外,增加微小目標檢測頭后,YOLOv5s的特征融合網絡所需輸入由3個變為4個,選取第3、6、13層和第15層特征作為Backbone的輸出,輸入到特征融合網絡之中,輸入尺寸設置為640×640×3。
MobileNetV3網絡中的注意力模塊是SEnet,網絡會重點關注信息量較大的通道特征[21],而忽視了小目標檢測所需的空間特征,文獻[22]提出了一種同時關注通道和空間特征的注意力模塊(convolutional block attention module,CBAM),如圖2所示。
由圖2可知,CBAM模塊先后使用兩個注意力模塊,推斷通道和空間的權重系數[23],經過Sigmoid權重歸一化后與原始圖特征進行相乘,最終生成權重優化的特征圖。本文在MobileNetV3-large的Bneck層嵌入了CBAM模塊,設計了MobileNetV3-CBAM網絡作為YOLOv5s的Backone網絡,該網絡結構如表2所示。
1.4 特征融合網絡改進
無人機航拍圖像中的目標尺寸很小,僅靠表面特征容易導致誤檢,需要結合大范圍的背景上下文信息,才能正確地進行識別。LSKNet[24]考慮到了目標周圍背景的先驗知識,可以通過空間注意力機制,動態改變其感受野,利用大的感受野來提取航拍圖像中的背景上下文信息。
LSKNet的核心是大核選擇性注意力機制LSK,本文將LSK注意力模塊添加到YOLOv5s的特征提取網絡,增強網絡動態捕捉高級圖像特征的能力,從而提高航拍小目標的檢測精度。
LSK模塊結構如圖3所示,LSK模塊將一個大的卷積核順序拆解成多個小卷積核,將輸入數據[X]依次通過這些小卷積核,并在每個小卷積核后添加一個1×1的卷積核,進行特征向量的通道融合。
假設一個大卷積核分解為N個小卷積核,通道融合過程為
[U0=X,Ui+1=FdwiUi] (1)
[Ui=F1×1iUi," "for i in 1,N] (2)
式中:[Fdwi( )]為第i個卷積核的深度可分離卷積操作(depth-wise);[Ui]為提取后的特征圖。為了讓網絡更加關注目標背景上下文信息,利用SA空間注意力機制從不同尺度的卷積核中對特征圖進行空間維度選擇。首先對來自不同感受野的特征圖進行拼接為
[U=U1,…,Ui] (3)
然后對拼接后的特征圖[U]進行最大池化和平均池化操作為
[SAavg=PavgU,SAmax=PmaxU] (4)
式中:[Pavg( )]和[Pmax( )]分別為平均池化和最大池化操作;[SAavg]和[SAmax]分別為平均池化和最大池化的空間特征描述符。接著利用SA空間注意力機制,將兩個特征描述符拼接起來,并利用卷積層[F2→N(·)]將兩通道的池化特征轉換為N通道空間注意圖為
[SA=F2→NSAavg;SAmax] (5)
對于每個空間注意圖[SA],采用Sigmoid激活函數得到每個分解大核的獨特空間選擇掩碼,然后將解耦后的大卷積核序列的特征與對應的空間選擇掩膜進行加權處理,通過卷積層[F]進行融合,得到注意力特征[S]為
[SAi=σSAi] (6)
[S=Fi=1N(Ai·Ui)] (7)
最后將輸入特征[X]和注意力特征[S]進行逐元素點乘,得到最終輸出[Y]為
[Y=X·S] (8)
2 實驗驗證與結果分析
2.1 實驗環境與數據集
實驗使用的硬件配置為NVIDIA GeForce RTX3060(6GB) GPU和Intel(R) Core(TM) i7-10750H CPU。軟件環境為Windows 10系統下的Pytorch深度學習框架,CUDA版本為11.3。設置訓練初始學習率為0.01,循環學習率為0.01,訓練輪數為200輪,訓練批次為8。為驗證LM-YOLO算法模型的有效性,本文所有的實驗均用VisDrone2019數據集進行實驗。該數據集由天津大學機器學習與數據挖掘實驗室團隊負責,有10類標簽,大約有540 000個標注信息,是無人機視角下具有代表性的數據集。
2.2 性能評價指標
為評估LM-YOLO算法對小目標檢測的有效性,本文采取mAP@0.5作為模型對多個目標檢測精度的評價指標,mAP@0.5表示當候選框與真實框的交并比為0.5時,模型對所有目標類別的平均檢測精度。為了衡量網絡是否適合部署到無人機上,還需要考慮每秒傳輸幀數FPS和模型的大小。
試驗中,傳輸幀數FPS和平均檢測精度mAP的表達式如下
[FPS=1 000PreTime+InferTime+NmsTime] (9)
[mAP=i=0n01PRdRn] (10)
式中:[PreTime]為圖像的預處理時間,ms;[InferTime]為網絡推理時間,ms;[NmsTime]為非極大值抑制時間,ms;n為檢測的類別種類;P為檢測精確度;R為檢測召回率。
2.3 消融實驗
為了驗證錨框重新聚類、改進的MobileNetV3-CBAM特征提取網絡、增加小目標檢測頭以及引入LSK注意力機制的有效性,本文在YOLOv5s原模型的基礎上逐一引入了改進方案,對于改進部分進行消融實驗,實驗結果如表3所示。
從表3中可看出,本文提出的模塊均可提高算法的檢測精度。在單獨使用K-DBSCAN聚類算法時,模型mAP@0.5提升0.3%,說明K-DBSCAN可以優化錨框,生成更適合小目標任務的候選框;在單獨將骨干網絡換為MobileNetV3-CBAM輕量級網絡時,mAP@0.5提升0.4%,模型FPS獲得了極大的提升,提升31 frame/s,同時模型的大小減少6.1 MB;在單獨增加檢測頭時,由于融合了淺層信息,模型的mAP@0.5有2.9%的提升,但模型計算量因檢測頭的增加而有所增大,導致模型大小增加了0.3 MB,FPS減少了9 frame/s;在單獨引入LSK注意力機制后,由于充分利用了背景信息的先驗知識,極大增強了模型的檢測精度,模型的mAP@0.5提升4.3%,但模型大小增加0.7 MB,FPS下降17 frame/s。通過疊加效果的觀察可知,經過改進的模型在檢測效果上達到最優。
2.4 對比實驗
為了驗證LM-YOLO算法的優越性,本文將此算法與其他經典目標檢測算法進行對比,實驗結果如表4所示。
從表4可以看出,本文提出的LM-YOLO與Faster R-CNN,SSD,Swin-transformer,YOLOX和YOLOV5m,CornerNet相比,mAP@0.5分別提升13.5%,7.2%,4.9%,11.7%,3.4%,12.6%。與針對航拍小目標的檢測算法Drone-YOLO相比,LM-YOLO的mAP@0.5差距僅為0.2%,但是FPS高出23 frame/s。雖然TPH-YOLOv5的檢測精度略高于本文算法,但是TPH-YOLOv5以YOLOv5x作為基準模型,計算量大且推理速度較慢,FPS低于以YOLOv5s為基準模型的LM-YOLO。對比結果表明:LM-YOLO在檢測精度和速度之間的均衡性更強,再次證明了本文所設計算法在無人機航拍檢測中的有效性。
2.5 算法有效性分析
為了驗證本文改進的算法模型在實際應用場景下的檢測效果,在VisDrone測試集中選取不同場景下拍攝的圖片進行測試。檢測效果圖4(a)是模糊失真場景,可以發現改進的模型能夠精準地檢測出遠處的模糊車輛,展現出較好的魯棒性和檢測率。圖4(b)是光線變化場景下的檢測結果圖,可以發現LM-YOLO模型受光線變化影響較小,對處在陰影下的行人和車依然有很高的檢測精度。圖4(c)是在小目標密集場景下的檢測結果,可以看出LM-YOLO可以檢測到被遮擋的摩托車,對小目標的檢測精度較高,能夠有效地應對實際場景下的檢測需求。
為了評述本文所提算法LM-YOLO與原YOLOv5s算法在無人機小目標檢測任務上的性能差異,選取VisDrone2019測試集中白天和夜間場景進行對比實驗,可視化結果如圖5所示。可以看出,與YOLOv5s相比,LM-YOLO對密集小目標檢測性能更好,能精確檢出被遮擋的小目標,漏檢和誤檢情況較少。
3 結論
1) 提出了基于YOLOv5s的小目標檢測算法LM-YOLO。針對無人機目標檢測的輕量化要求,使用MobileNetV3-CBAM重構骨干網絡,在獲取更多小目標空間特征的同時,將模型大小壓縮了45%,為目標檢測模型向無人機部署提供了一定的理論依據。
2) 針對無人機圖像背景復雜的特點,在特征融合網絡引入使用LSK注意力模塊,通過動態調整感受野,增強了模型對背景信息的提取能力,檢測精度提升4.3%。針對無人機圖像小目標數量多的問題,添加了小目標檢測分支,并使用K-DBSCAN算法重新聚類錨框,改進后模型的檢測精度達到了36.3%。
3) 在VisDrone數據集上的實驗結果表明,LM-YOLO算法檢測精度較YOLOv5s提升7.6%。該算法與多種主流的目標檢測算法相比,在精度-檢測速度方面擁有更好的均衡性,檢測速度達到54 frame/s,滿足了無人機檢測的時效性要求。
參考文獻:
[1]" " 奉志強, 謝志軍, 包正偉, 等. 基于改進YOLOv5的無人機實時密集小目標檢測算法[J]. 航空學報, 2023, 44(7): 251-265.
FENG Z Q XIE Z J, BAO Z W, et al. UAV real-time dense small target detection algorithm based on improved YOLOv5[J]. Acta Aeronautica et Astronautica Sinica, 2023, 44(7): 251-265.
[2]" " 冷佳旭, 莫夢竟成, 周應華, 等. 無人機視角下的目標檢測研究進展[J]. 中國圖象圖形學報, 2023, 28(9): 2563-2586.
LENG J X, MO M J C, ZHOU Y H, et al. Research progress of target detection from the perspective of UAV[J]. Journal of Image and Graphics, 2023, 28(9): 2563-2586.
[3]" " GIRSHICK R, DONAHUE J , DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Columbus: 2014 IEEE Conference on Computer Vision and Pattern Recognition, 2014.
[4]" " GIRSHICK R. Fast R-CNN[C]//Santiago: 2015 IEEE International Conference on Computer Vision, 2015.
[5]" " REN S Q, HE K M, 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.
[6]" " REDMON J, DIVVALA K S , GIRSHICK B R, et al. You only look once: Unified, real-time object detection[C]//Las Vegas: 2016 IEEE Conference on Computer Vision and Pattern Recognition, 2016.
[7]" " WANG Q, WANG Z, LI B , et al. An improved YOLOv3 object detection network for mobile augmented reality[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[8]" " WANG C Y, BOCHKOVSKIY A, LIAO H Y M, et al. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors [C]//Vancouver: 2023 IEEE Conference on Computer Vision and Pattern Recognition, 2023.
[9]" " GAI R, CHEN N, YUAN H. A detection algorithm for cherry fruits based on the improved YOLOv4 model[J]. Neural Computing and Applications, 2023, 35(19): 13895-13906.
[10]" LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single shot multibox detector[C]//Berlin: 2016 European Conference on Computer Vision, 2016.
[11]" SUN J, YANG Y, HE X F,et al. Northern maize leaf blight detection under complex field environment based on deep learning[J]. IEEE Access, 2020, 8: 33679-33688.
[12]" JIANG J , YANG Z , WU C , et al. A compatible detector based on improved YOLOv5 for hydropower device detection in AR inspection system[J]. Expert Systems With Applications, 2023, 225: 120065.
[13]" 吳萌萌, 張澤斌, 宋堯哲, 等. 基于自適應特征增強的小目標檢測網絡[J]. 激光與光電子學進展, 2023, 60(6): 65-72.
WU M M, ZHANG Z B, SONG Y Z, et al. Small target detection network based on adaptive feature enhancement[J]. Laser amp; Optoelectronics Progress, 2023, 60(6): 65-72.
[14]" 謝椿輝, 吳金明, 徐懷宇. 改進YOLOv5的無人機影像小目標檢測算法[J]. 計算機工程與應用, 2023, 59(9): 198-206.
XIE C H, WU J M, XU H Y. Small object detection algorithm based on improved YOLOv5 in UAV image[J]. Computer Engineering and Applications. 2023, 59(9): 198-206.
[15]" QIU M L, HUANG L, TANG B H, et al. ASFF-YOLOv5: Multielement detection method for road traffic in UAV images based on multiscale feature fusion[J]. Remote Sensing, 2022, 14(12): 3498.
[16]" HOWARD A, SANDLER M, CHU G, et al. Searching for MobileNetV3[C]//Seoul: 2019 IEEE/CVF International Conference on Computer Vision, 2019.
[17]" SANDLER M, HOWAD A, ZHU M, et al. MobileNetV2: inverted residuals and linear bottlenecks [C]//Salt Lake: 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2018.
[18]" MODHA D S, SPANGLER W S. Feature weighting in k-means clustering[J]. Machine Learning, 2003, 52(3): 217-237.
[19]" 耿超, 彭余華. 基于動態分段和DBSCAN算法的交通事故黑點路段鑒別方法[J]. 長安大學學報(自然科學版), 2018, 38(5): 131-138.
GENG C, PENG Y H. Traffic accident black spot identification method based on dynamic segmentation and DBSCAN algorithm[J]. Journal of Chang'an University(Natural Science Edition), 2018, 38(5): 131-138.
[20]" 宋非洋, 吳黎明, 鄭耿哲, 等. 基于MobileNetV3的結構性剪枝優化[J]. 自動化與信息工程, 2019, 40(6): 20-25.
SONG F Y, WU L M, ZHENG G Z, et al. Optimization of structural pruning based on MobileNetV3[J]. Automation amp; Information Engineering, 2019, 40(6): 20-25.
[21]" HOU Q, ZHOU D, FENG J. Coordinate attention for efficient mobile network design[C]//Nashville: 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2021.
[22]" WOO S, PARK J, LEE J Y, et al. CBAM: Convolutional block attention module[C]//Munich: 2018 European Conference on Computer Vision, 2018.
[23]" 王欣, 王美麗, 邊黨偉, 等. 融合MobileNetv2和注意力機制的輕量級人像分割算法[J]. 計算機工程與應用, 2022, 58(7): 220-228.
WANG X, WANG M L, BIAN D W, et al. Algorithm for portrait segmentation combined with MobileNetv2 and attention mechanism[J]. Computer Engineering and Applications, 2022, 58(7): 220-228.
[24]" 范美楷, 方志, 晏宇, 等. 一種基于LSKNet的絕緣子缺陷檢測方法研究[J]. 通信與信息技術, 2024(1):49-54.
FAN M K, FANG Z, YAN Y, et al. Research on an insulator defect detection method based on LSKNet[J]. Communications and Information Technology, 2024(1): 49-54.
第一作者:董華軍(1978—),男,教授,博士,博士生導師,研究方向為機器視覺技術應用。E-mail: huajundong4025@163.com。
通信作者:王宇棲(1998—),男,碩士研究生,研究方向為機器視覺與智能制造。E-mail: 1289511017 @qq.com。