摘" 要:為解決無人機捕獲場景中小目標檢測存在的檢測精度不高和漏檢問題,提出基于YOLOv5改進的小目標檢測算法DE_YOLOv5。DE_YOLOv5的數(shù)據(jù)集采用VisDrone2019。實驗包括兩個方面,一是引入解耦合頭機制,通過獨立的中心點預測減小感受野限制對小目標定位的影響,初始模型的mAP@0.5為0.334,加入解耦合頭之后mAP@0.5值為0.344。二是將損失函數(shù)更換為Focal-EIoU,更換損失函數(shù)之后mAP@0.5值為0.351。實驗結果表明,DE_YOLOv5可有效提升小目標的檢測精度。
關鍵詞:小目標;解耦合頭;圖像識別
中圖分類號:TP391.4;TP183 文獻標識碼:A 文章編號:2096-4706(2024)10-0013-04
Research on Improved Small Target Detection Algorithm Based on YOLOv5
ZHU Menglin, YIN Quanhe, YUAN Suhui
(School of Information Engineering, North China University of Water Resources and Electric Power, Zhengzhou" 450046, China)
Abstract: To solve the problems of low accuracy and missed detection of small targets in scenarios by UAV, an improved small target detection algorithm DE_YOLOv5 based on YOLOv5 is proposed. The dataset of DE_YOLOv5 adopts VisDrone2019. The experiment includes two aspects. One is to introduce a decoupling joint mechanism, which reduces the impact of receptive field limitations on small target localization through independent center point prediction. mAP@0.5 of the initial model is 0.334, mAP@0.5 value is 0.344 after adding decoupling joint. The second is to replace the loss function with Focal-EIoU, and mAP@0.5 value is 0.351 after replacing the loss function. The experimental results show that DE_YOLOv5 can effectively improve the detection accuracy of small targets.
Keywords: small goal; decoupling joint; image recognition
0" 引" 言
隨著無人機技術的飛速發(fā)展,越來越多的應用領域開始利用無人機進行各種任務和監(jiān)測工作[1]。其中,無人機拍攝的圖像和視頻數(shù)據(jù)中往往包含大量的小目標,例如建筑物細節(jié)、農(nóng)田作物、野生動植物等。準確地檢測和定位這些小目標對于實現(xiàn)自動化分析、智能決策以及提供即時的反饋至關重要[2]。近年來,深度學習算法在目標檢測領域取得了顯著的突破[3]。特別是YOLO(You Only Look Once)系列算法以其快速且準確的特點,成為目標檢測領域的熱門方法。最新的YOLOv5算法進一步提升了小目標檢測的性能和效率。然而,在無人機拍攝的小目標檢測任務中,YOLOv5算法仍面臨一些挑戰(zhàn)和不足。首先,由于小目標的尺寸較小,其特征在圖像中往往非常模糊和難以區(qū)分,導致檢測精度有待提高[4]。其次,由于感受野限制,模型可能難以準確地定位小目標的位置,尤其是在復雜場景或目標遮擋的情況下[5]。此外,數(shù)據(jù)集中小目標數(shù)量較少,存在明顯的數(shù)據(jù)不平衡問題[6]。為了解決上述問題并進一步提升小目標檢測的性能,本論文提出了一種基于YOLOv5的改進算法DE_YOLOv5,進一步增加小目標檢測的精度:
1)在原有的經(jīng)典算法中添加解耦頭,通過引入解耦頭機制,將檢測任務分解為兩個子任務,一個負責預測目標的中心點坐標,另一個負責預測目標的寬度、高度和類別等信息,通過解耦寬度、高度和類別預測,可以更好地應對密集目標的情況,避免目標之間的干擾。
2)改進EIoU損失函數(shù)。EIoU Loss相對于傳統(tǒng)的IoU損失函數(shù)在目標檢測任務中具備以下優(yōu)勢:更專注于預測框與真實框重疊低的樣本,從而實現(xiàn)提高回歸精度的效果。
1" YOLOv5目標檢測算法
YOLOv5算法[7]共有4種網(wǎng)絡結構,分別是YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,這4種網(wǎng)絡結構在寬度和深度上不同,原理上基本一樣,本實驗使用YOLOv5s網(wǎng)絡結構。其模型結構主要包括輸入端、Backbone、Neck、Head四個部分。
1.1" 輸入端
輸入端采用了Mosaic數(shù)據(jù)增強和自適應錨框計算,Mosaic圖像增強可以增加訓練集的多樣性和難度,提高目標檢測模型的魯棒性和泛化能力,同時,還可以降低過擬合風險。自適應錨框使用的是一種名為ATSS(Adaptive Training Sample Selection)的錨框,在訓練過程中,根據(jù)樣本與錨框的匹配度(即交并比IoU),自適應地選擇正負樣本。
1.2" Backbone層
Backbone層主要由Focus結構以及CSP結構組成。Focus結構是一種用于特征提取的卷積神經(jīng)網(wǎng)絡層,用于將輸入特征圖中的信息進行壓縮和組合,從而提取出更高層次的特征表示。它被用作網(wǎng)絡中的第一個卷積層,用于對輸入特征圖進行下采樣,以減少計算量和參數(shù)量。具體來說,F(xiàn)ocus結構可以將輸入特征圖劃分成4個子圖,并將這4個子圖進行通道拼接,從而得到一個更小的特征圖。CSP結構的核心思想是將輸入特征圖分成兩部分,一部分經(jīng)過一個小的卷積網(wǎng)絡(稱為子網(wǎng)絡)進行處理,另一部分則直接進行下一層的處理。然后將兩部分特征圖拼接起來,作為下一層的輸入。CSP結構在YOLOv5中被廣泛應用,包括骨干網(wǎng)絡中的多個階段以及頭部網(wǎng)絡(head)中的一些模塊。它可以顯著地減少網(wǎng)絡的參數(shù)和計算量,同時提高特征提取的效率,從而加快模型的訓練和推理速度。
1.3" Neck網(wǎng)絡
Neck網(wǎng)絡是指在骨干網(wǎng)絡的基礎上加入的中間特征提取網(wǎng)絡,主要用于增強模型的特征表達能力和感受野,進一步提升模型的檢測性能。YOLOv5中采用了兩種不同的Neck網(wǎng)絡結構:SPP和PAN。SPP結構可以增強模型的感知能力和尺度不變性,而PAN結構可以增強多尺度特征的融合能力。
1.4" 輸出端
輸出層一般包括3個不同尺度的特征圖,每個特征圖對應不同尺度的預測框。具體來說,YOLOv5在輸出層通過使用Anchor Box來預測目標的邊界框位置和大小,同時對每個Anchor Box對應的預測結果使用Softmax函數(shù)來計算類別概率。
2" 改進的YOLOv5算法
2.1" 引入解耦合頭機制
傳統(tǒng)的Anchor-Based方法中,由于各個尺度上使用的Anchor數(shù)量和大小不同,導致模型參數(shù)非常大,訓練難度高,速度緩慢。解決這類問題的一種方法就是使用解耦合頭[8]。其原理是將區(qū)域建議網(wǎng)絡(RPN)和分類器分開,并在兩個任務之間共享特征,從而能夠訓練更快、參數(shù)更少的模型。具體來說,解耦合頭將Anchor計算和分類器計算分開,讓主干網(wǎng)絡直接輸出較粗略的BBOX的坐標,然后再用分類器進行分類,這樣可以減輕Anchor數(shù)量帶來的負擔,同時也能將特征向量的維數(shù)降低,從而減少了模型的訓練和運行時間。圖1是解耦合頭的原理圖。
2.2" 改進的損失函數(shù)
原有模型的CIoU損失,在DIoU損失的基礎上添加了衡量預測框和真實框縱橫比V,在一定程度上可以加快預測框的回歸速度,但是存在的問題是預測框回歸過程中,一旦預測框和真實框的寬高縱橫比呈現(xiàn)線性比例時,預測框W和H就不能同時增加或者減少,就不能繼續(xù)進行回歸優(yōu)化了。EIoU是在CIoU的懲罰項基礎上將預測框和真實框的縱橫比的影響因子拆開[9],分別計算預測框和真實框的長和寬,來解決CIoU存在的問題。EIoU回歸損失函數(shù)如式(1)所示:
3" 實驗與分析
3.1" 數(shù)據(jù)集的選取
VisDrone2019數(shù)據(jù)集由天津大學機器學習和數(shù)據(jù)挖掘?qū)嶒炇褹ISKYEYE團隊收集。圖片由各種無人機攝像頭捕獲,覆蓋范圍廣泛,包括位置(來自中國相隔數(shù)千千米的14個不同城市)、環(huán)境(城市和農(nóng)村)、物體(行人、車輛、自行車、等)和密度(稀疏和擁擠的場景)。數(shù)據(jù)集包括不同的場景、不同的天氣和光照條件下使用不同的無人機平臺(即不同型號的無人機)收集,共包含8 629張靜態(tài)圖像(6 471張用于訓練,548張用于驗證,1 610張用于測試),包括行人、人群、自行車等10個類,類別分布如圖2所示。
3.2" 算法在數(shù)據(jù)集上的性能對比實驗
本實驗采用平均精度均值mAP(Mean of Average Precision)作為評價指標,mAP即閾值大于0.5的均值平均精度。mAP指標綜合了不同類別的精準率(Precision)和召回率(Recall),是一個更加全面的評價指標。
3.2.1" 評價性能指標
1)平均精度均值(mAP):mAP值越高,表明該目標檢測模型在給定的數(shù)據(jù)集上的檢測效果越好。mAP計算式如式(2)所示,其中i代表類別總數(shù)。
2)精準率(P):精確率[10]又稱查準率。該指標表示在所有預測為正例的測試框(TP+FP)中,預測為正例且正確的測試框(TP)的占比。計算式為:
3)召回率(R):召回率[3]又稱或查全率(有時也被稱為靈敏度)。該指標表示在所有的正例(TP+FN)中,模型預測為正例且正確的目標(TP)的占比。計算式為:
3.2.2" 實驗環(huán)境
實驗所使用的預訓練權重是由COCO數(shù)據(jù)集上進行訓練得到,訓練輪數(shù)為100個Epoch。采用Win 10系統(tǒng),顯卡RTX 3080,軟件配置Anaconda、PyCharm,深度學習框架PyTorch 2.0,Python 3.8。平臺配件配置見表1。
3.2.3" 實驗結果對比分析
1)模型加入解耦合頭將區(qū)域建議網(wǎng)絡(RPN)和分類器分開,在兩個任務之間共享特征,是訓練更快、參數(shù)更少的模型。然后,主干網(wǎng)絡對圖像進行特征提取。這產(chǎn)生了一組特征映射,每個映射對應于不同的比例。這些特征圖將作為解耦合頭的輸入,特征映射將進入解耦合頭中,將特征映射從RPN網(wǎng)絡中分離出來,然后用更少的Anchor進行定位。最后對模型的輸出進行非極大值抑制(NMS)處理,以消除相鄰邊界框的重復。原有模型的mAP@0.5在100個Epoch上的精度為0.334,引入解耦合頭之后的mAP@0.5上升到了0.344,由此可見,加入解耦合頭機制可有效提高模型精度。加入解耦合頭的對比結果如表2所示,實驗結果如圖3所示。
2)為了驗證DE_YOLOv5上EIoU的有效性,本實驗對不同的損失函數(shù)進行對比,最終在100個Epoch的實驗結果中選擇了EIoU為DE_YOLOv5的損失函數(shù)。不同損失函數(shù)的結果對比如表3。
3.3" 實驗結果
為了證明DE_YOLOv5對于模型檢測能力的提升,將對不同模塊對模型檢測的效果進行評估。表4表明DE_YOLOv5有效提升了數(shù)據(jù)集的檢測精度,DE_YOLOv5的mAP@0.5檢測精度如圖4所示。
4" 結" 論
傳統(tǒng)的YOLO系列模型的檢測頭在處理小目標時受到很多因素的影響,導致對這些目標的檢測效果較差。初始模型在Visdrone2019數(shù)據(jù)集跑100輪的mAP@0.5為0.334。DE_YOLOv5算法首先加入解耦合頭機制,檢測mAP@0.5值為0.344,其次原來基于IoU的損失函數(shù)模型收斂慢,忽略了正負樣本不平衡的問題,將損失函數(shù)更換為Focal-EIoU,更換損失含稅之后mAP@0.5為0.351。實驗結果表明,DE_YOLOv5算法可以有效地提高小目標的檢測精度。
參考文獻:
[1] 韓鎮(zhèn)洋,王先蘭.一種改進YOLOv5的小目標檢測算法 [J].電子設計工程,2023,31(19):64-67+72.
[2] 冷佳旭,莫夢竟成,周應華,等.無人機視角下的目標檢測研究進展 [J].中國圖象圖形學報,2023,28(9):2563-2586.
[3] 張帥帥.基于YOLOv5的安全帽檢測方法研究 [J/OL].重慶工商大學學報:自然科學版,2023:1-7(2023-09-04).http://kns.cnki.net/kcms/detail/50.1155.N.20230904.1223.002.html.
[4] 潘曉英,賈凝心,穆元震,等.小目標檢測研究綜述 [J].中國圖象圖形學報,2023,28(9):2587-2615.
[5] 邱昊,鐘小勇,黃林輝,等.面向航拍小目標的改進YOLOv5n檢測算法 [J].電光與控制,2023,30(10):95-101.
[6] 朱瑞鑫,楊福興.運動場景下改進YOLOv5小目標檢測算法 [J].計算機工程與應用,2023,59(10):196-203.
[7] 李建新,陳厚權,范文龍.基于改進YOLOv5的遙感圖像目標檢測研究 [J].計算機測量與控制,2023,31(9):102-108+115.
[8] 任克營,陳曉艷,茆震,等.基于注意力與自適應特征融合機制的小目標檢測 [J].天津科技大學學報,2023,38(4):54-61.
[9] 吳明杰,云利軍,陳載清,等.改進YOLOv5s的無人機視角下小目標檢測算法 [J]. 計算機工程與應用,2024,60(2):191-199.
[10] 王勇,陶兆勝,石鑫宇,等.基于改進YOLOv5s的不同成熟度蘋果目標檢測方法 [J/OL].南京農(nóng)業(yè)大學學報,2023:1-13[2023-10-16].http://kns.cnki.net/kcms/detail/32.1148.S.20230926.1201.002.html.
作者簡介:朱夢琳(1998—),女,漢族,河南洛陽人,碩士研究生在讀,研究方向:圖像分類與識別;尹泉賀(2000—),男,漢族,河南周口人,碩士研究生在讀,研究方向:圖像分類與識別;原素慧(2001—),女,漢族,河南安陽人,碩士研究生在讀,研究方向:圖像分類與識別。