?

改進YOLOv5s的車輛目標檢測研究

2024-03-22 14:17李甜林貴敏余燁楷
時代汽車 2024年1期
關鍵詞:注意力機制目標檢測

李甜 林貴敏 余燁楷

摘 要:為改善在車輛目標檢測中實時性和精確度低的問題,提出一種改進的YOLOv5s算法。引入CBAM(Channel Attention Module)注意力模塊,以增強網絡對特征的關注度;將CIoU Loss替換為EIoU Loss提高目標邊界框的回歸速度和定位精度;新增一個小目標檢測頭,提高模型對小目標的檢測能力。實驗結果顯示:改進后的 YOLOv5s算法相較原始算法mAP0.5提高11.4%,mAP0.5:0.95提高了7.3%。在滿足實時性的同時,模型檢測精度大幅提升。

關鍵詞:YOLOv5s 目標檢測 車輛檢測 注意力機制 EIoU

1 引言

面對道路擁堵問題,交通管理部門需要有效緩解交通擁堵、提高交通系統的安全性和通行效率。其中,車輛目標檢測技術在交通管理中扮演著重要的角色。這一技術能夠實時檢測交通場景中的車輛,為交通管理提供更準確和高效的數據支持。特別是,高精度和快速的車輛目標檢測具有關鍵意義。因此,設計實時性和魯棒性強的車輛目標檢測算法對于推動智慧交通、智能駕駛、行人檢測、數字化和網絡化建設具有重要價值。

目標檢測算法在計算機視覺領域扮演著關鍵角色,主要用于在圖像或視頻中識別和定位特定目標。隨著深度學習和GPU技術的發展,深度學習目標檢測方法日益流行,可以被劃分為兩種主要結構:一階段(One-Stage)和兩階段(Two-Stage)[1]。兩階段算法首先生成候選區域,然后對這些區域進行分類和校準,通常帶來更高的準確度。代表模型有 R-CNN 系列[2]。相反,一階段算法在檢測過程中無需生成候選區域。它們直接預測目標的類別和邊界框,因此具有更快的檢測速度。著名模型有 SSD [3]、RetinaNet[4]以及 YOLO 系列[5]。YOLOv5是YOLO系列中的一種模型,兼具快速推理速度和高準確率的優勢。

深度學習車輛檢測表現出高速度和卓越的準確性,適用于多種環境和設備。一些研究已嘗試改進不同方面的車輛檢測和跟蹤方法,但存在一些限制。黃開啟等[6]改進了YOLOv3算法以增加在霧霾天氣下的車輛定位精度,盡管如此,仍需要借助傳統圖像處理方法,難以實現完全端到端的檢測。鞠默然等[7]專注于小目標檢測問題,對YOLOv3的輸出進行上采樣和特征融合,通過K-means聚類分析改進網絡以有效檢測小目標,但研究數據集的多樣性有限。李國進等[8]提出了改進的Inception模塊和特征融合結構,以提升車輛檢測的準確性和速度,然而,他們仍未解決模型權重過大,無法在邊緣設備上部署的問題。在監控視頻中進行車輛跟蹤時,面臨多目標跟蹤任務的挑戰,包括遮擋、動態模糊和尺度變化等問題。李俊彥等[9]提出了將YOLOv3與KCF相結合的方法,但KCF算法對尺度變化和快速變形不夠適用。劉磊等[9]提出了結合YOLO識別和Mean shift跟蹤的方法來改善車流量統計問題,但Mean shift算法對相似顏色目標的干擾不夠魯棒。

在綜合前述研究的基礎上,本文使用輕量級目標檢測模型YOLOv5s 作為基礎,針對車輛識別率低問題進行改進,新增一個小目標檢測頭,使模型可以處理目標的多尺度變換,提高小目標的檢測精度;引入CBAM注意力機制增強了模型的特征提取能力,側重于被檢測目標;同時,使用EIoU Loss替代原始檢測框回歸損失函數,以改善低定位精度和訓練速度慢的問題。對原算法進行改進并在VisDrone2019數據集上實驗。

2 改進YOLOv5s的車輛目標檢測

2.1 YOLOv5s算法

YOLOv5s的結構包括四個關鍵組成部分:Input輸入端、Backbone主干網絡、Neck網絡以及Head輸出端。在Input輸入端,進行數據預處理,包括Mosaic數據增強和自適應圖像填充。此外,為了適應不同數據集,YOLOv5s還集成了自適應錨框計算,能夠根據數據集自動設定初始錨框大小。Backbone部分是主要的特征提取組件,包括Focus、CBS、CSP和SPP結構,用于提取目標特征。CSP(Cross Stage Partial Network)用于局部跨通道融合,以解決網絡梯度信息重復的問題。Neck將高層和底層信息融合,并輸出預測圖像,用于不同尺度物體的檢測。輸出端生成三種不同尺度的圖像,用于目標類別和置信度的預測。YOLOv5版本的優勢在于使用自適應錨框和引入Focus結構,從而顯著提高了檢測精度和速度,相較于以前的版本有重大改進。因此本文選取輕量級YOLOv5s模型進行針對性改進。

2.2 改進YOLOv5s算法

2.2.1 CBAM注意力機制

為了強化模型對道路監控視頻中的車輛目標特征的關注,我們采用了輕量級CBAM注意力機制。它能夠加強網絡對空間和通道信息的聚焦,提高目標特征的提取性能。尤其對于處理大區域圖像時,有助于精準地定位感興趣的區域。CBAM模塊的嵌入位置沒有一個固定的標準答案,因為最佳的嵌入方式需要依賴于具體的場景和任務。在我們的研究中,我們進行了一系列實驗和調整,結果表明只有將CBAM注意力層置于每個檢測頭之前,才能顯著提升檢測準確性。這一方法的關鍵在于,通過在每個檢測頭前面引入CBAM模塊,網絡能夠更好地關注和強化目標特征,從而提高了目標檢測的性能。這種策略是根據我們的實驗結果和任務需求得出的,以確保最佳性能。

2.2.2 損失函數的改進

損失函數在機器學習中起到了重要的作用,它用于度量模型的預測與實際數據之間的差距,以便評估模型的性能并指導訓練過程,選擇合適的損失函數可以加速模型的收斂。YOLOv5的損失函數包含三個要素:邊框回歸損失、置信度損失以及分類概率損失。在邊框回歸損失中,采用了完全交并比損失函數,該損失函數的公式如下:

其中,b表示預測框的中心點,bgt表示真實框的中心點,ρ表示兩個中心點之間的歐式距離,c表示包含預測框和真實框的最小閉包區域的對角線距離,w和wgt分別代表預測框和真實框的寬度,h和hgt分別代表預測框和真實框的寬度,IOU是預測框和真實框之間的交集和并集之比。

CIoU loss是一種用于邊界框回歸的損失函數,綜合了重疊面積、橫縱比以及中心點距離等因素,但它在考慮寬高與置信度之間的真實差異方面存在不足,可能對模型的優化產生不利影響。EIoU Loss在CIoU Loss基礎上引入了Focal機制,專注于提高高質量錨框的準確性。

EIoU Loss解決了邊界框回歸中的問題,特別是在處理不均衡的訓練樣本時,它有助于更好地區分高質量和低質量的錨框。以下是EIoU Loss的公式:

其中,γ表示控制異常值的抑制程度,Cw和Ch分別表示兩個框的最小外接框的寬度和高度,這個公式的關鍵思想是:當兩個邊界框的交并比(IoU)越高時,損失值越大。簡言之,引入了一種權重機制在損失計算中,使得對于擬合效果更好的回歸目標,損失值更為突出,從而有助于提高回歸精度。

2.2.3 新增檢測頭

為增強小目標檢測能力,我們在YOLOv5s模型中引入了小目標檢測頭。這模塊專注于處理尺寸較小的目標,如在車流量檢測中常見的小物體。小目標檢測頭采用更小的錨框設計,適配小目標的尺寸范圍,以確保高效檢測。其主要目的是提升小目標檢測性能,通過操作特定的特征圖來更好地捕獲小目標信息,通常包括選擇高分辨率的特征圖以精細定位小目標。改進后的模型結構圖如圖1所示。

3 實驗結果與分析

3.1 實驗環境準備

本文的實驗是在一臺配置為Ubuntu 18.04操作系統,搭載了Intel Xeon Gold 5218 CPU、512GB 內存和Tesla V100 32G GPU顯卡的機器上進行。網絡框架基于 pytorch1.8.1, CUDA10.2。模型的訓練參數設置為100個迭代次數(epoch),批次大小為32,并采用Adam優化器,其余參數均為默認值。

3.2 評價指標

本文評估改進模型的性能主要使用了精確度(precision)、召回率(recall)、平均準確率均值(mAP)、以及平均準確率(AP)這些指標。

我們使用了以下評估指標用于衡量目標檢測模型的性能,包括TP(True Positives,正確識別的正樣本目標數)、FN(False Negatives,未正確識別的正樣本目標數)和FP(False Positives,誤識別的非正樣本目標數)。其中TP表示成功檢測的目標,FN表示被遺漏的目標,而FP則表示被錯誤地識別為目標的非目標。

平均準確率(AP,Average Precision)和平均準確率均值(mAP,mean Average Precision)是用來評估網絡模型性能的重要指標。它們的計算需要使用模型的精確度和召回率。

3.3 實驗及結果分析

為驗證P2小目標檢測層的添加、EIoU損失函數的改進以及CBAM卷積注意力機制的有效性,本文研究了以YOLOv5s為基準模型,進行了一系列消融實驗,評估不同模塊和方法組合對目標檢測性能的影響,均在相同的實驗條件下進行。消融實驗的結果詳見表1。

消融實驗結果表明,本文提出的模塊和方法明顯提高了小目標檢測的準確性。單獨添加某一模塊方面來看,B實驗將小目標檢測層與特征融合和預測結合,mAP0.5提高了10.5%,mAP0.5:0.95提高了6.7%。盡管增加了模型復雜性和參數量,但顯著提升了檢測準確性,因此添加小目標檢測頭是合理的選擇。C實驗表明,改進后的EIoU損失函數提高了mAP0.5和mAP0.5:0.95各1.3%和0.6%,平衡了不同目標尺度的損失,增強了小目標的位置預測。D實驗引入CBAM注意力機制,mAP0.5和mAP0.5:0.95分別提高了2.6%和1.2%,增強了網絡對小目標的全局感知,有助于更準確地檢測小目標。

不同模塊的組合方面來看,E、F、G實驗顯示,將三種模塊結合顯著提升了模型精度,盡管EIoU與CBAM模塊組合時mAP0.5相對于單獨添加EIoU模塊和CBAM模塊降低了0.5%和0.8%,但當三種模塊一起添加時,模型的檢測精度達到最高。最后,通過實驗H,將三個模塊組合形成的新算法表現最出色,mAP0.5和mAP0.5:0.95分別提高了11.4%和7.3%。盡管檢測速度相對原始算法略有下降,但在滿足實時性需求的情況下,該算法顯著提高了檢測精度,充分證明了其在車輛信息檢測方面的有效性。

另外,本文在VisDrone2019數據集上進行了可視化對比實驗,結果如圖2所示。黃色實線框表示改進后算法檢測到更多的小目標。從圖中可以看出本文改進后的算法能夠檢測到更多的小目標車輛信息,對車流量檢測任務提供了很好的改進依據。

4 結束語

為了解決實際道路中車輛準確精度低的問題,本文基于YOLOv5s算法,通過引入CBAM注意力機制,改進損失函數以及新增小目標檢測頭的方法,提出了一種適用于車輛目標檢測的改進YOLOv5s算法。與原始算法相比,改進后的算法性能得到了顯著的提升,在滿足實時性檢測要求的前提下,能夠更準確的檢測到車輛目標。

項目基金:福建省自然科學基金項目(2019J01761,2023J011401),福建省本科高校教育教學研究項目(FBJY20230095)。

參考文獻:

[1]ZOU Z,SHI Z,GUO Y,et al.Object detection in 20 years:a survey[J].arXiv:1905.05055,2019.

[2]REN S,HE K,GIRSHICK R,et al.Faster R-CNN:Towards real-time object detection with region proposal networks[C]// Advances in Neural Information Processing Systems,2015:91-99.

[3]LIU W,ANGUELOV D,ERHAN D,et al.SSD:Single shot multibox detector[C]//European Conference on Computer Vision,2016:21-37.

[4]LIN T Y,GOYAL P,GIRSHICK R,et al.Focal loss for dense object detection[C]//Proceedings of the IEEE International Conference on Computer Vision,2017:2980-2988.

[5]ZHU X,LYU S,WANG X,et al.TPH-YOLOv5:Improved YOLOv5 based on transformer prediction head for object detection on drone-captured scenarios[C]//2021 IEEE/CVF International Conference on Computer Vision Workshops (ICCVW),Montreal,BC,Canada,2021:2778-2788.

[6]黃開啟,劉小榮,錢艷群,等.霧霾天氣車輛檢測的改進 YOLOv3算法[J].重慶大學學報,2021,45(12):95-102.

[7]鞠默然,羅海波,王仲博,等.改進的 YOLOV3 算法及其在小目標檢測中的應用[J]. 光學學報,2019,39(7):253-260.

[8]李國進,胡潔,艾矯燕.基于改進SSD算法的車輛檢測[J].計算機工程,2022,48(1):266-274.

[9]李俊彥,宋煥生,張朝陽,等.基于視頻的多目標車輛跟蹤及軌跡優化[J].計算機工程與應用,2020,56(5):194-199.

猜你喜歡
注意力機制目標檢測
面向短文本的網絡輿情話題
基于自注意力與動態路由的文本建模方法
基于深度學習的問題回答技術研究
基于LSTM?Attention神經網絡的文本特征提取方法
基于注意力機制的雙向LSTM模型在中文商品評論情感分類中的研究
InsunKBQA:一個基于知識庫的問答系統
視頻中目標檢測算法研究
行為識別中的人體運動目標檢測方法
移動機器人圖像目標識別
基于背景建模法的運動目標檢測
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合