






















摘" 要: 隨著人工智能技術在交通領域的深入應用,實時檢測和跟蹤交通道路中的車輛與行人成為自動駕駛技術不可或缺的組成部分。為了提升在復雜環境中的檢測精度與速度,文中提出一種基于BiFPN和注意力機制改進的YOLOv5s模型。通過集成雙向特征金字塔網絡(BiFPN)和引入CBAM注意力機制,優化了模型對小目標的識別能力,并通過數據增強技術處理自動駕駛公開數據集SODA10M,解決樣本不均問題。實驗結果顯示,改進模型在SODA10M數據集上的mAP值達到85.2%,較原始YOLOv5模型提高2.7%,同時FPS達到了42 f/s,相比原模型下降了7 f/s,雖有所下降,但在保持較高精度的同時實現了較快的檢測速度。該研究在復雜環境下提升目標檢測與跟蹤技術方面展現出了新的思路和潛力,對于自動駕駛技術的發展具有重要的應用價值。
關鍵詞: 自動駕駛; YOLOv5s; CBAM; BiFPN; DeepSORT; ByteTrack
中圖分類號: TN911.73?34; TP391" " " " " " " " "文獻標識碼: A" " " " " " " " " " 文章編號: 1004?373X(2025)03?0174?07
Improved YOLOv5s vehicle and pedestrian detection
based on BiFPN and attention mechanism
LIU Lili1, WANG Zhiwen1, WANG Liang2, LI Jiachen1, FANG Guoxiang3, Lü Yixiong1
(1. School of Electronic Engineering, Guangxi University of Science and Technology, Liuzhou 545006, China;
2. School of Electronic Information Engineering, Changchun University of Science and Technology, Changchun 130013, China;
3. School of Computer Science and Technology, Guangxi University of Science and Technology, Liuzhou 545006, China)
Abstract: With the deep application of artificial intelligence (AI) technology in the field of transportation, real?time detection and tracking of vehicles and pedestrians on traffic roads has become an indispensable component of autonomous driving technology. In order to improve detection accuracy and speed in complex environments, an improved YOLOv5s model based on BiFPN (bidirectional feature pyramid network) and attention mechanism is proposed. By integrating BiFPN and introducing CBAM (convolutional block attention module) attention mechanism, the model′s recognition ability for small objects is optimized. The data augmentation technology is used to process the publicly available dataset SODA10M for autonomous driving, so as to get rid of the sample non?uniformity. The experimental results show that the improved model achieves an mAP of 85.2% on the SODA10M dataset, which is 2.7% higher than that of the original YOLOv5 model. In addition, its FPS reaches 42 f/s, which is 7 f/s lower than that of the original model. Although there is a slight decrease for FPS, it achieves fast detection speed while maintaining high accuracy. This study demonstrates new ideas and potential in improving object detection and tracking technology in complex environments, and has significant application value for the development of autonomous driving technology.
Keywords: autonomous driving; YOLOv5s; CBAM; BiFPN; DeepSORT; ByteTrack
0" 引" 言
在當前的智能監控和自動駕駛領域,YOLOv5s以其輕量級結構和高效的檢測速度受到廣泛關注。盡管其性能卓越,但在處理現實世界復雜場景時,尤其是在小目標檢測和遮擋問題上仍面臨著挑戰。小目標因其在圖像中占據的像素少,加之拍攝角度和距離的多樣性,往往導致檢測精度下降[13]。為了解決這些問題,本文提出了改進的YOLOv5s算法,旨在增強其對小目標的檢測能力并優化遮擋場景下的性能。首先,引入注意力機制到主干特征提取網絡中,以便更有效地從背景噪聲中提取出有用的目標信息;其次,通過增加P2特征層參與特征融合,新增了專門針對小目標的預測分支,以提高模型對小目標的敏感度;最后,采用BiFPN替換原有特征融合結構,以增強不同尺度特征間的信息流動。這些改進旨在提升YOLOv5s在各種復雜環境中的適應性和準確性,為實際應用中的目標檢測技術發展提供新的思路。
1" 相關理論
1.1" YOLOv5目標檢測算法
YOLOv5通過精煉模型結構,實現資源受限條件下的高效目標檢測,模型結構如圖1所示。模型包括CBS模塊、CSP1模塊、CSP2模塊、SPPF和Head五個部分,為實時目標檢測奠定了基礎。
1.2" 目標檢測評價指標
本文采用精確度([P])、召回率([R])、平均精確率(AP)和平均精確率的平均值(mAP)作為評價目標檢測算法性能的指標。
[P]計算了分類器預測為正樣本實際上也確實是正樣本的比例,用式(1)計算:
[P=TPTP+FP×100%] (1)
[R]是衡量分類器正確識別為正樣本的數量占實際正樣本總數的比例,如式(2)所示:
[R=TPTP+FN×100%] (2)
式中:TP表示被模型預測為正樣本、實際為正樣本的數量;FP指被模型誤判為正樣本、實際為負樣本的數量;FN代表實際上是正樣本卻被模型預測為負樣本的數量。
AP為某一檢測類別下[PR]曲線所圍成的面積大小,如式(3)所示。mAP表示加權后所有類別的平均精度的平均結果,用來衡量目標檢測網絡性能的好壞,如式(4)所示:
[AP=01PRdR] (3)
[mAP=i=1NAPiN] (4)
式中:[N]表示所有目標類別的數量;[i]表示第[i]類目標。
2" 基于改進YOLOv5s的車輛行人檢測
2.1" 引入注意力機制
在卷積神經網絡(CNN)的結構中,卷積操作的權重共享特性意味著圖像中的每個像素點都被同等對待,這樣的設計雖然提高了模型的計算效率,但同時也使得模型難以有效區分圖像中的前景與背景,尤其在背景復雜的情況下,模型可能會錯誤地將背景信息識別為目標[8]。為了解決這一問題,研究者引入了注意力機制,讓模型自動學習一組權重系數,這些權重會被不均等地分配到圖像的不同區域,特別是那些包含關鍵信息的目標區域。這樣,模型就可以將更多的關注集中在重要的信息上,減少對無關背景的干擾,從而提升對目標的識別和關注能力。
2.1.1" ECA注意力機制
ECA注意力機制對SE注意力機制進行了改良,目的是提高通道注意力計算的效率和效果。SE機制通過兩輪全連接層實現了通道的降維與升維操作,這種降維方法可能對通道注意力的準確預測產生負面影響,同時,捕捉所有通道之間的相互依賴性既不高效也非必需。ECA機制采用了一種更為精簡的方法,只關注每個通道及其[k]個最近鄰通道之間的局部交互,來優化跨通道的信息捕獲過程。
ECA注意力機制的結構如圖2所示。首先對輸入特征圖應用全局平均池化,以生成一個1×1×[C]維的特征向量;接著,利用一個大小為[k]的1D卷積層對該向量進行處理,產生一個維度相同的特征矩陣[6],通過Sigmoid函數激活后,得到通道權重;最后通過點乘操作將權重應用于輸入特征矩陣上。其中,卷積核的大小[k]是用式(5)計算得到的一個自適應核。
2.1.2" CBAM注意力機制
CBAM注意力機制[7]分為通道和空間兩個模塊,如圖3所示。首先,輸入特征圖通過通道模塊,為關鍵特征分配更高權重,通過相乘得到調整后的特征圖;然后,此特征圖進入空間模塊,強化重要空間特征;最終,CBAM輸出經過兩階段增強的特征圖[6],提升了模型對關鍵信息的識別能力。
[k=ψC=log2 Cγ+bγ] (5)
在圖4所描述的通道注意力模塊架構里,初始步驟涉及將輸入特征圖通過最大池化和平均池化兩種處理方式,在其寬度和高度上形成兩個1×1×[C]維的特征圖。將這兩個處理后的特征圖分別傳遞給一個多層感知機(MLP),目的是提升其特征的表達能力。經過MLP處理的結果將被合并,然后經過Sigmoid函數激活,最終生成該通道注意力模塊的輸出特征圖[Mc]。
在圖4中,[F∈RC×H×W],輸出特征圖,[Mc∈RC×1×1],則[Mc]可用式(6)表示。
[McF=σMLPAvgPoolF+MLPMaxPoolF=σW1W0Fcavg+W1W0Fcmax] (6)
式中:[σ]為Sigmoid激活函數;[W0]和[W1]分別表示MLP中的降維和升維操作,降維之后經過ReLU激活函數再進行升維,降維后得到的特征圖維度為[Cr×C],升維之后得到的特征圖維度為[C×Cr]。通道注意力上的權重生成后,與輸入特征圖相乘,得到通道注意力模塊的輸出特征。
對于空間注意力模塊,其結構如圖5所示。
該模塊首先對通道注意力模塊的輸出特征執行最大池化和平均池化操作,生成兩個維度為[H]×[W]×1的特征圖;接著,這兩個特征圖會在通道層面上合并起來,并通過一個7×7大小的卷積層處理將特征圖的通道數減少到1;最后,通過Sigmoid激活函數處理,得到空間注意力模塊的輸出特征圖[Ms]。圖5中,[Ms∈RH×W],[Ms]可用式(7)表示。
[MsF'=σf7×7AvgPoolF',MaxPoolF'" " " " " " =σf7×7FCavg;FCmax" " " ] (7)
2.2" 增加小目標檢測層
[YOLOv5]的架構設計包含三個檢測頭,旨在處理圖像中的不同尺度目標,以覆蓋多數標準檢測場景下的尺度變化需求。然而,當面臨極端的尺度變化,尤其是在特定的復雜環境或小目標檢測[9]場景中,模型的性能有限,容易出現漏檢現象。如在圖6所示的高速公路場景下,遠處的車輛有時不被檢測到,暴露了應對某些挑戰性情況時的局限性。
在特征提取網絡中,淺層網絡捕捉的是豐富的局部細節,具有較小的感受野和高分辨率,這使得它能夠捕獲到小目標的詳細信息。相反,深層網絡提供的是全局信息,隨著網絡深度的增加,感受野擴大,得到的特征圖分辨率較低但包含了更多的中到大尺寸目標信息。這種設計雖然能夠處理多種尺寸的目標,但對小目標的檢測效果不盡人意。為了增強對小目標的檢測能力,本文在[YOLOv5s]三個檢測層的基礎上,引入了一個專門針對小目標檢測的層,創建了改進型模型YOLOv5?P2,如圖7所示。在該模型中,第19層對80×80的特征圖進行上采樣,與第2層的160×160特征圖在第20層進行融合,實現深層與淺層特征的合并。檢測層因此增加到4層,分別位于網絡的第21層、24層、27層、30層。雖然這種改進提升了小目標的檢測性能,但也帶來了網絡運算成本的增加,進而影響了訓練速度和檢測效率。盡管如此,該方法對小目標的檢測精度有顯著改進。
2.3" BiFPN特征融合
2019年,谷歌大腦團隊在EfficientDet[4]目標檢測算法中引入了雙向特征金字塔網絡(BiFPN),是對PANet的進一步改進。本文將BiFPN引入YOLOv5中進行特征融合,BiFPN結構如圖8所示。通過引入可學習的參數調節各輸入特征的權重,進一步提升了模型的特征提取和融合能力。
為了將BiFPN結構引入YOLOv5?P2模型,需要對BiFPN結構做進一步改進。針對YOLOv5?P2模型,去掉了BiFPN的一個輸入特征層,將輸入端的特征層由5個變為4個,把YOLOv5?P2模型中的P2~P5特征層作為BiFPN的輸入端,根據自頂向下、自底向上規則建立BiP2結構,如圖9所示。
3" 實驗結果與分析
3.1" 引入注意力機制
在相同的實驗環境和實驗條件下,在YOLOv5s的主干網絡中分別加入SE[1]、ECA[2]、CBAM、CA,五種模型的實驗性能結果定量比較如表1所示。
從表1可以看出,加入CBAM注意力機制之后,mAP相比原始YOLOv5s模型提高了0.2%,精確度下降了1.4%,召回率提高了0.9%,FPS達到了47 f/s,滿足實時檢測的要求。
四種注意力機制應用于主干特征提取網絡后的熱力圖如圖10所示,性能明顯得到了提升,其中CBAM[3]表現最佳,能更有效地集中于感興趣區域。針對小目標的檢測結果如圖11所示,用矩形高亮顯示了小目標,對比了添加SE、ECA、CBAM、CA這四種注意力機制后與YOLOv5s比較的檢測效果。
圖11檢測結果表明在加入CBAM注意力機制之后,模型對小目標和遮擋場景的識別能力明顯超過了原始模型及其他注意力機制[12]改進的模型。總體而言,加入CBAM的模型表現出更優越和平衡的性能[11]。因此,本文通過引入CBAM,有效提高了模型的魯棒性和目標特征提取能力,實現了更精準的檢測效果。
3.2" YOLOv5?P2和YOLOv5?BiP2
在相同的實驗環境和數據集下,比較原始YOLOv5s、YOLOv5?P2、YOLOv5?BiP2三種模型的性能,如表2所示。
由表2可以看出,增加小目標檢測層的YOLOv5?P2模型以及采用BiFPN特征融合的YOLOv5?BiP2模型準確率和召回率相比原始的YOLOv5s模型均有所提升,其中YOLOv5?BiP2模型提升最多,準確率提升了1.5%,召回率提升了2.3%,mAP提升了2.8%,FPS達到了47 f/s,雖然相比原始YOLOv5s下降了2 f/s,但是仍能滿足實時檢測的要求。[YOLOv5s]、YOLOv5?P2和YOLOv5?BiP2三種模型的檢測結果如圖12所示。
圖12的檢測結果顯示,在添加小目標檢測層后,目標漏檢現象仍然存在。通過采用BiFPN特征融合策略,目標漏檢問題得到了一定程度的緩解。BiFPN是在PANet架構基礎上進行的改進,它通過在同級特征節點中增加一條從基礎節點到輸出節點的額外連接線,實現了在不顯著增加計算成本的前提下,更有效的特征融合。此外,BiFPN還引入了一種根據不同層級特征對檢測結果貢獻度不同,為不同層節點分配加權值的方法,這一策略在實驗中展示了更良好的性能。
3.3" 各類改進方法實驗結果對比
表3、表4分別顯示了采用CBAM[5]注意力機制、增加檢測層、BiFPN特征融合以及混合改進后的目標檢測模型性能對比。
由表3、表4可知,混合改進后的目標檢測模型mAP達到了85.2%,FPS達到了42 f/s,相比YOLOv5s模型,mAP提升了2.7%,FPS下降了7 f/s。雖然mAP值相比YOLOv5?BiP2模型下降了0.1%,但從各個類別的AP值來看,混合改進后,Car(汽車)、Cyclist(騎行者)、Truck(卡車)三種類別的AP值相比YOLOv5?BiP2模型均有所提升,證明了改進后模型的有效性[10]。圖13為YOLOv5s和混合改進后模型的檢測效果。改進后模型的訓練損失曲線和原YOLOv5s的損失曲線如圖14所示。
由圖14可以看出,改進后的模型相比于原YOLOv5s能夠更快地收斂。
4" 結" 語
本文探討了針對車輛和行人檢測中漏檢問題的解決方案,對YOLOv5s網絡實施三種不同的優化策略,并對每種改進進行了實驗和對比分析。實驗結果顯示,采用一種綜合的改進方法能夠在保持檢測速度和提高精度之間實現最佳平衡。雖然檢測速率有輕微下降,但相比原始網絡模型,檢測精度得到了明顯提升。
參考文獻
[1] HU J, SHEN L, ALBANIE S. Squeeze?and?excitation networks [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2018: 7132?7141.
[2] WANG Q L, WU B G, ZHU P F, et al. ECA?Net: Efficient channel attention for deep convolutional neural networks [C]// CVF Conference on Computer Vision and Pattern Recognition (CVPR). New York: IEEE, 2020: 11531?11539.
[3] WOO S, PARK J, LEE J Y, et al. CBAM: Convolutional block attention module [C]// Proceedings of the European Conference on Computer Vision (ECCV). Heidelberg: Springer, 2018: 3?19.
[4] TAN M X, LE Q V. EfficientNet: Rethinking model scaling for convolutional neural networks [C]// Proceedings of the 2019 IEEE International Conference on Machine Learning. New York: IEEE, 2019: 6105?6114.
[5] 張德春,李海濤,李勛,等.基于CBAM和BiFPN改進YOLOv5的漁船目標檢測[J].漁業現代化,2022,49(3):71?80.
[6] 田宇.基于深度學習的小目標檢測算法研究[D].秦皇島:燕山大學,2021.
[7] 趙婉月.基于YOLOv5的目標檢測算法研究[D].西安:西安電子科技大學,2021.
[8] 孟利霞.基于深度學習的車輛行人檢測方法研究[D].太原:中北大學,2021.
[9] 賈旭強.基于深度學習的船舶目標檢測方法研究[D].蘭州:蘭州大學,2021.
[10] 胡俊超.基于深度學習的多道路場景多尺度車輛目標檢測算法優化研究[D].成都:西南交通大學,2021.
[11] HAN J H, LIANG X W, XU H, et al. SODA10M: A large?scale 2D self/semi?supervised object detection dataset for autonomous driving [EB/OL]. [2021?11?08]. https://arxiv.org/abs/2106.11118?context=cs.
[12] 朱佳麗,宋燕.基于遷移學習的注意力膠囊網絡[J].智能計算機與應用,2021,11(2):44?49.
[13] 郭玉彬.基于視頻圖像的車輛檢測跟蹤及行為識別研究[D].北京:北京交通大學,2021.