摘要:YOLO系列算法在目標檢測領域迅速嶄露頭角,其中YOLOv5被認為是當前的佼佼者。YOLOv5提供了四種不同規(guī)模的模型(s、m、l、x) ,以滿足不同的應用需求。這些模型的網(wǎng)絡結構主要由Backbone和Neck兩部分組成,共同實現(xiàn)對目標的精確檢測。YOLOv5在多個方面進行了改進,包括Mosaic-8數(shù)據(jù)增強、特征提取器、損失函數(shù)和目標框回歸等。在全球范圍內,研究人員持續(xù)對YOLOv5進行改進研究。隨著YOLO算法的不斷演進,目標檢測領域預示的行業(yè)變革將是顛覆性的,但必須建立在社會責任和倫理標準之上。
關鍵詞:YOLO;YOLOv5;算法改進
中圖分類號:TP18 文獻標識碼:A
文章編號:1009-3044(2024)27-0019-04
0 引言
在目標檢測領域,實時性和精確性之間的平衡對于算法的實用性是至關重要的,而YOLO(You OnlyLook Once) [1]。算法因其快速的目標檢測能力和僅需要一次前向傳播的特點而受到廣泛關注,并迅速發(fā)展如圖1,成為該領域的熱門研究方向。自Redmon等人最初提出YOLO算法以來,其快速檢測的特點就在業(yè)界贏得了廣泛贊譽。然而,盡管YOLO在檢測速度方面取得了顯著的成就,但在準確性方面,尤其是對于小目標的識別和定位精度,仍然有提升的潛力。
為了克服這些挑戰(zhàn),研究人員已經嘗試了多種創(chuàng)新方法來提升YOLO的性能,包括深化網(wǎng)絡架構、優(yōu)化錨點機制、實施多尺度訓練以及精心設計損失函數(shù)等策略。這些改進旨在提高YOLO在保持實時檢測速度的同時,增強其在復雜場景中的檢測精度和魯棒性。
本文的目標是整理和評述基于YOLOv5的改進目標檢測算法研究,并探討針對YOLOv5算法提出的主要改進方法,同時對未來YOLO相關研究的發(fā)展方向進行展望。
1 YOLOv5 網(wǎng)絡結構
YOLOv5算法采用全圖輸入方式,一次性生成全部檢測信息。該算法包括s、m、l、x四種規(guī)模遞增的模型,一般來說,YOLOv5的網(wǎng)絡結構通常包括Backbone 和Neck兩個主要部分(如圖2) 。Backbone部分通過Focus 結構進行下采樣,利用經過優(yōu)化的CSP(CrossStage Partial networks) [2] 結構和SPP(Spatial PyramidPooling) [3]金字塔結構來提取圖像特征。接著,Neck部分運用FPN(Feature Pyramid Network) [4]結合PAN(PathAggregation Network) [5]的特征金字塔結構,以處理不同尺寸目標的特征信息,從而解決多尺度檢測問題。
1.1 Backbone
在YOLOv5的結構中,Backbone網(wǎng)絡主要由一系列的CBS(Convolutional-BatchNorm-SiLU) 模塊和C3(CSPNet-inspired Bottleneck) 模塊構成,并以一個SPPF(Spatial Pyramid Pooling Free) 模塊作為結束。CBS模塊為特征提取提供了重要的支持,優(yōu)化了C3模塊的性能。SPPF模塊則在骨干網(wǎng)絡的末端增強了特征的表達能力。而C3模塊是YOLOv5骨干網(wǎng)絡的關鍵部分,其設計受到了CSPNet[2] (Cross-Stage PartialNetworks) 的啟發(fā)。它不僅提升了網(wǎng)絡的特征提取能力,還有效減少了梯度信息在網(wǎng)絡中的重復。這種設計使得YOLOv5能夠平衡特征學習的深度和廣度,同時控制計算資源的消耗,確保了算法的效率和精度。這種設計使得YOLOv5能夠平衡特征學習的深度和廣度,同時控制計算資源的消耗,確保了算法的效率和精度。
1.2 Neck
在YOLOv5的Neck結構中,F(xiàn)PN和PAN被巧妙地結合起來。FPN的主要思想是通過對深層卷積網(wǎng)絡產生的不同層次的特征圖(如C3、C4和C5) 進行上采樣處理,從而生成一系列新的多尺度特征圖。這些特征圖用于檢測圖像中不同尺寸的目標對象。
通過這種方式,YOLOv5能夠有效地結合來自網(wǎng)絡深層的詳細特征和淺層的語義信息,提高模型對各種大小目標的檢測能力。同時,引入PAN進一步強化了特征融合過程,確保了豐富的上下文信息在多層特征圖之間的有效流通,為精確的目標定位和分類提供了有力支持。
2 YOLOv5 算法的改進
目前,各研究人員對YOLOv5算法的改進主要有四個方面:
2.1 Mosaic 技術
YOLOv5模型在其基礎的數(shù)據(jù)增強策略上,采用了Mosaic技術。這種技術通過計算機生成的多樣化變體,如圖像縮放、平移、旋轉和調整色彩等手段,不僅增加了數(shù)據(jù)集的規(guī)模,還通過引入有益的噪聲,增強了模型對未知數(shù)據(jù)的處理能力,它將四張圖片隨機裁剪、縮放并拼接在一起,不僅增加了數(shù)據(jù)集的多樣性,而且特別增強了對小型目標的訓練效果,從而加快了網(wǎng)絡的學習速度。在圖片歸一化環(huán)節(jié)中,四張圖片的統(tǒng)計數(shù)據(jù)被統(tǒng)一計算,這進一步節(jié)約了計算資源。
2.2 特征提取器
在YOLOv5的核心網(wǎng)絡設計中,通過利用三種不同尺度的特征提取器,實現(xiàn)了在保持性能的同時減少對內存資源的依賴。這一策略包括將輸入圖像進行不同程度的下采樣—8倍、16倍和32倍—以產生一系列不同尺寸的特征圖,這些特征圖隨后被送入一個受特征金字塔網(wǎng)絡(FPN) 啟發(fā)的融合網(wǎng)絡中。FPN結構通過自上而下的路徑傳遞豐富的高級語義信息,同時自下而上的路徑保留了精確的空間信息。這種設計使得網(wǎng)絡在保持語義豐富性的同時,也能夠精確地定位目標,尤其對于小目標檢測來說至關重要。
卷積神經網(wǎng)絡中的不同層級產生的特征圖捕捉了不同的目標信息。淺層特征圖具有較高的空間分辨率,能夠精確地定位目標,但缺乏足夠的語義信息;而深層特征圖雖然富含語義信息,卻在多次卷積過程中丟失了部分空間精度。因此,將淺層和深層特征圖結合起來,不僅有助于簡單目標的識別,也能夠更好地區(qū)分復雜目標。此外,將特征金字塔網(wǎng)絡與路徑聚合網(wǎng)絡(PAN) 相結合。PAN通過自底向上的路徑傳遞空間信息,而FPN則通過自頂向下的路徑傳遞語義信息。這種雙向融合機制使得模型能夠更全面地學習特征,尤其是提高了對小目標的檢測靈敏度。
2.3 損失函數(shù)
在YOLOv5的損失函數(shù)設計中,主要包含了三個要素:定位損失、置信度損失和類別損失。對于置信度損失和類別損失的計算,采用了二元交叉熵損失函數(shù),而對于定位損失,YOLOv5 最初采用了GIoU[6]方法,這是一個比傳統(tǒng)的IoU(Intersection over Union) 更為高級的指標。GIoU不僅關注真實框與預測框的重疊區(qū)域,還考慮了非重疊區(qū)域,從而更準確地衡量兩者的匹配程度。然而,盡管GIoU提供了對重疊區(qū)域的更全面評估,但它主要基于重疊率,這可能不足以全面描述目標框的回歸問題。特別是當預測框完全位于真實框內且大小相同時,GIoU退化為IoU,無法區(qū)分預測框之間的相對位置關系。
為了提高定位精度,可以采用了CIoU作為定位損失的計算方式。CIoU在IoU的基礎上進一步考慮了邊界框之間的中心點距離和寬高比,這些因素的綜合考量使得目標框回歸過程更加穩(wěn)定,并提高了收斂精度。通過引入CIoU后,在目標檢測的準確性和魯棒性方面取得了顯著進步。這種改進使得模型能夠更精確地定位目標,特別是在處理具有挑戰(zhàn)性的小目標或密集目標的場景時。
2.4 目標框回歸
目標框回歸是對象檢測任務中的一個關鍵環(huán)節(jié),它的目的是建立一個高效的轉換機制,使得候選框能夠盡可能地對齊至真實目標框。在YOLOv5中,這種轉換通常通過相對位置回歸來實現(xiàn),模型預測的是候選框相對于網(wǎng)格單元左上角的偏移量,而非絕對坐標。這種方法使網(wǎng)絡能夠學習到細微的位置調整,從而更準確地錨定圖像中的目標。
為了實現(xiàn)這一目標,模型會輸出一系列的偏移參數(shù),包括中心點坐標的x 和y 軸偏移、寬度和高度的縮放比例,以及一個表征目標存在概率的置信度得分。這些參數(shù)共同構成了一個回歸向量,指導候選框從其初始位置向真實目標位置的移動和縮放。在訓練過程中,模型通過最小化候選框與真實框之間的差異量(如IoU或GIoU) 來優(yōu)化其回歸性能。
為了提升YOLOv5的目標框回歸能力,可以采用了更為進階的損失函數(shù)CIoU,它不僅考量了重疊區(qū)域的面積,還綜合了邊界框之間的中心點距離和寬高比,以進一步細化定位精度,如圖3所示。此外,通過融合特征金字塔網(wǎng)絡(FPN) 和路徑聚合網(wǎng)絡(PAN) ,模型能夠更有效地捕捉多尺度特征,從而增強了對小型目標和鄰近目標的檢測能力。目標框回歸的改進顯著提升了檢測模型的定位精確度,尤其在處理不同規(guī)模和形狀的目標時,確保了更高的檢測準確率和更強的泛化能力。
3 YOLOv5 改進研究現(xiàn)狀度
為了提高在復雜環(huán)境中檢測不完整或小尺寸物體的準確率,孫秋紅、張曉天、李玉佳和王靜陽提出了一種改進的垃圾檢測模型YOLOv5-OCDS[7]。在這個新模型中,研究人員采用了ODConv[8]來替代頸部的一部分卷積,以自適應調整通道間的交互和重要性,從而提取更具區(qū)分性的特征。他們還提出了C3DCN模塊,用以取代頸部的C3結構,以更準確地對目標進行采樣,避免信息的丟失并提高對不同類別的識別能力。同時,使用軟NMS代替普通NMS,降低了在消除過程中小目標檢測框的置信度,有助于保留這些小目標的檢測結果,從而提高模型的準確性。
相比于原始YOLOv5s,YOLOv5-OCDS 在mAP@50 上提高了5.3%,在mAP@50:95 上提高了12.3%。與Faster R-CNN[9]相比,YOLOv5-OCDS在mAP@50上提高了12.4%。這個新模型能夠更準確地定位和識別目標,具有更好的檢測能力和魯棒性。在較高的IoU 閾值范圍內,模型能夠更好地適應不同目標形狀和大小的變化。雖然該模型在改進mAP的同時,也增加了參數(shù)和GFLOP的數(shù)量,但Soft-NMS[10]的引入降低了大量重疊物體的置信度分數(shù),可能會在檢測堆疊嚴重的物體時出現(xiàn)漏檢情況。YOLOv5-OCDS模型通過使用ODConv替代頸部一部分普通卷積,并在卷積操作中引入對感知場和形狀的自適應調整,使卷積操作更加靈活和適應性強,增加了對小目標物體和形狀變化較大的物體的適應能力。C3DCN結構的引入可幫助模型更好地捕獲和識別各種形狀和大小的對象。
王鵬飛、黃漢明和王夢琪等研究人員對小目標檢測技術進行了研究,特別是在騎手頭盔佩戴檢測領域[11]。針對小目標檢測中定位準確性的要求及小目標聚集問題,研究團隊在YOLOv5s網(wǎng)絡基礎上進行了改良,嘗試將CBAM(Convolutional Block Attention Mod?ule) [12]注意力模塊集成進網(wǎng)絡的不同部分,并通過多次實驗確定最優(yōu)位置。在網(wǎng)絡的頸部C3結構之后和檢測頭部之前插入CBAM模塊可以有效提升定位精確度,減少小目標聚集現(xiàn)象,從而提高檢測精度。此外,為了優(yōu)化網(wǎng)絡性能,他們提出使用GhostBottle?neck[13]結構替代YOLOv5s 網(wǎng)絡中的Bottleneck 結構。評估結果顯示,這種替換能有效減小模型體積,降低參數(shù)數(shù)量及計算量。從對新提出的YOLOv5s-FCG網(wǎng)絡檢測模型進行的實驗可知,該網(wǎng)絡模型在小目標數(shù)據(jù)集上的檢測準確度得到了顯著提升。
為了提升YOLOv5目標檢測器對小尺寸目標的檢測性能,研究者Aduen Benjumea, Izzeddin Teeti, FabioCuzzolin和Andrew Bradley進行了深入的架構和模型分析[14]。他們開發(fā)了YOLO-Z 系列模型,該模型在mAP指標上表現(xiàn)出近6%的性能提升,推理時間僅增加約3毫秒,這對自動駕駛汽車的感知系統(tǒng)是一個重要的進步。研究團隊使用了一套專門為自動駕駛賽車設計的帶注釋錐體數(shù)據(jù)集。這個數(shù)據(jù)集包含黃色、藍色、橙色和大橙色錐體的圖像[15],覆蓋了多種天氣條件下的場景。數(shù)據(jù)集中的錐體邊界框的位置、寬度和高度顯示出由于透視效應而略微拉長的形狀,在很大程度上解決了其他流行數(shù)據(jù)集(如MS COCO[16]) 中缺少小物體的問題。
Mohammad Hossein Hamzenejadi和Hadis Mohseni 對YOLOv5模型進行了改進,以優(yōu)化無人機在飛行中捕捉的車輛圖像的檢測性能[17]。研究人員在三個不同的無人機圖像數(shù)據(jù)集上測試了改進后的模型。此改進版本包括以下關鍵調整:(1) 引入新的檢測頭部來準確識別極小尺寸的物體,并重新設計網(wǎng)絡的頸部結構以增強特征圖之間的聯(lián)系;(2) 在網(wǎng)絡的主干部分加入SE注意力機制[18]提升其對重要特征的識別能力;(3) 采用了一種自適應的損失函數(shù)來取代原有的邊界框回歸損失函數(shù),旨在提高模型預測的精準度;(4) 調整模型的深度與寬度以實現(xiàn)更優(yōu)的性能平衡;(5) 在頸部結構中使用輕量化卷積技術,既減少了模型復雜度,又加速了推理過程。這些優(yōu)化措施增強了模型對小目標的檢測精度,加快了處理速度,并降低了整體計算復雜性。新模型在精度、召回率、mAP@0.5和mAP@0.95等指標上均實現(xiàn)顯著提升,同時在體積和GFLOPS消耗方面更為經濟,F(xiàn)PS(每秒幀數(shù))比YOLOv5X高出207.15%。與面向實時應用的輕量級模型YOLOv5M相比,新模型不僅體積和計算消耗更小,而且精度上顯著提高。研究結果顯示,該改進讓YOLOv5網(wǎng)絡更接近實際應用需求,為未來可能實現(xiàn)的在無人機上實時運行的YOLOv5網(wǎng)絡帶來了希望。
4 未來的研究與發(fā)展方向
在應用方面,YOLO算法有望進一步整合進自動駕駛、智慧安防和工業(yè)檢測等核心領域,并拓展至醫(yī)療診斷、增強現(xiàn)實等前沿技術中。這些應用領域對算法的精確性、響應速度和穩(wěn)定性提出了更高的要求,同時也帶來了廣闊的市場潛力和社會價值。隨著算法應用的不斷深化,保護隱私和倫理問題將受到更多關注。如何在保障個人隱私的同時充分利用數(shù)據(jù)資源,將是YOLO 算法未來改進必須考慮的問題。此外,在移動和邊緣設備的應用中,算法的能效優(yōu)化也是一個關鍵的挑戰(zhàn),YOLO算法的持續(xù)進化將為多個行業(yè)帶來創(chuàng)新的變革。
5 結論
作為目標檢測領域的重要里程碑,YOLO算法未來的優(yōu)化和研究將集中在性能提升和應用范圍的擴大上。為了克服在小目標檢測、實時處理以及模型普適性方面的挑戰(zhàn),研究人員可以在Mosaic-8數(shù)據(jù)增強、特征提取器、損失函數(shù)和目標框回歸等多個方面對YOLOv5進行改進,并著力于探索更加深入的特征融合方法、設計更輕巧的網(wǎng)絡架構,開發(fā)出適應性更強的學習策略。隨著技術的不斷進步,也可以采用最新版本并結合更先進技術的YOLO系列來提高檢測精度和速度,為各種目標檢測任務提供更加高效的解決方案。
參考文獻:
[1] REDMON J, DIVVALA S, GIRSHICK R, et al. You only lookonce: Unified, real-time object detection[C]//Proceedings of theIEEE Conference on Computer Vision and Pattern Recognition(CVPR). June 27-30, 2016. Las Vegas, NV, USA. IEEE, 2016:779-788.
[2] WANG C-Y. CSPNet: A new backbone that can enhance learn?ing capability of CNN[EB/OL]. [2023-12-20]. arXiv preprintarXiv: 1911.11929, 2019. Available at: http://arxiv. org/abs/1911.11929.
[3] HE K M,ZHANG X Y,REN S Q,et al.Spatial pyramid poolingin deep convolutional networks for visual recognition[M].Lec?ture Notes in Computer Science.Cham:Springer InternationalPublishing,2014:346-361.
[4] LIN T Y, DOLLáR P, GIRSHICK R, et al. Feature PyramidNetworks for Object Detection[J]. IEEE Conference on Com?puter Vision and Pattern Recognition (CVPR), 2017: 2117-2125.
[5] LIU S, QI L, QIN H, et al. Path Aggregation Network for In?stance Segmentation[C]//Proceedings of the IEEE Conferenceon Computer Vision and Pattern Recognition (CVPR), 2018:8759-8768.
[6] REZATOFIGHI H, TSOI N, GWAK J Y, et al. Generalized In?tersection over Union: A Metric and A Loss for Bounding BoxRegression[EB/OL]. [2023-12-20]. arXiv preprint arXiv:1902.09630, 2019.
[7] SUN Q, ZHANG X, LI Y, et al. YOLOv5-OCDS: An ImprovedGarbage Detection Model Based on YOLOv5[J]. Electronics,2023,12(16):3403.
[8] LI C, ZHOU A, YAO A. Omni-Dimensional Dynamic Convolu?tion[EB/OL].[2023-12-20].arXiv preprint arXiv:2209.07947.
[9] LIU B, ZHAO W, SUN Q. Study of object detection based onFaster R-CNN[C]//2017 Chinese Automation Congress (CAC).IEEE, 2017: 6233-6236.
[10] BODLA N, SINGH B, CHELLAPPA R, et al. Soft-NMS --Improving object detection with one line of code[C]//Proceed?ings of the IEEE International Conference on Computer Vi?sion, 2017: 5561-5569.
[11] WANG P, HUANG H, WANG M, et al. YOLOv5s-FCG: Animproved YOLOv5 method for inspecting riders′ helmet wear?ing[J]. Journal of Physics: Conference Series, 2021, 2024(1):012059.
[12] WOO S, PARK J, LEE J Y, et al. CBAM: Convolutional blockattention module[C]//Proceedings of the European Conferenceon Computer Vision (ECCV). 2018: 3-19.
[13] HAN K, WANG Y, TIAN Q, et al. GhostNet: More featuresfrom cheap operations[C]//Proceedings of the IEEE/CVF Con?ference on Computer Vision and Pattern Recognition. 2020:1580-1589.
[14] BENJUMEA A, TEETI I, CUZZOLIN F, et al. YOLO-Z: Im?proving small object detection in YOLOv5 for autonomous ve?hicles[EB/OL].[2023-12-20].arXiv preprint arXiv:2112. 11798.
[15] MUSAT V, KHALIQ A, LEONTE C, et al. Multi-weather city:Adverse weather stacking for autonomous driving[C]//Proceed?ings of the IEEE/CVF International Conference on ComputerVision Workshops, 2021: 2906-2915.
[16] LIN T Y, MAIRE M, BELONGIE S, et al. Microsoft COCO:Common objects in context[C]//European Conference on Com?puter Vision. Springer, Cham, 2014: 740-755.
[17] HAMZENEJADI M H, MOHSENI H. Fine-tuned YOLOv5 forreal-time vehicle detection in UAV imagery: Architectural im?provements and performance boost[J]. Expert Systems withApplications, 2023(231): 120247.
[18] HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//Proceedings of the IEEE Conference on Computer Vision andPattern Recognition, 2018: 7132-7141.
【通聯(lián)編輯:唐一東】