国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進YOLOv5的交通目標檢測算法

2024-09-04 00:00:00周琛張?zhí)m春
電腦知識與技術(shù) 2024年20期

關(guān)鍵詞:YOLOv5;注意力機制;目標檢測

0 引言

隨著時代和經(jīng)濟的飛速發(fā)展,汽車保有量和出行人數(shù)不斷上漲。許多問題也由此產(chǎn)生,如汽車不按規(guī)定停放和交通擁堵。研究道路交通目標檢測方法對提高相關(guān)部門管理效率具有重要作用。作為智能交通系統(tǒng)[1]中的關(guān)鍵技術(shù),道路交通目標檢測技術(shù)對智能交通系統(tǒng)的發(fā)展起到舉足輕重的作用。道路交通目標檢測[2]是通過計算機的快速計算能力,對真實場景圖像進行分析,對車輛、行人等目標進行識別和定位?,F(xiàn)如今深度學習在固定場景的目標檢測任務中已經(jīng)得到普遍運用并且取得了不錯的效果,但在一些特定任務中結(jié)果不是很理想。尤其是在道路交通檢測中,實際場景復雜多變,背景中存在不同程度的噪聲,因為目標距離遠所以被檢測圖像的尺寸過小。雨天或大霧等天氣造成的拍攝視野模糊都會影響檢測精度。

近年來卷積神經(jīng)網(wǎng)絡[3]發(fā)展迅速,深度學習也逐漸被學者運用到目標檢測算法中?,F(xiàn)如今人們把這些算法分為兩類,一類是兩階段目標檢測算法:該算法先產(chǎn)生候選區(qū)域再得到目標的分類及位置信息。代表算法有R-CNN[4]系列,該類算法精度較高但在速度方面有所欠缺。另一類是一階段[5]目標檢測算法:該算法在圖像中提取特征得到物體的分類結(jié)果和位置,代表算法有SSD[6]和YOLO[7]系列。

其中, YOLO系列算法已經(jīng)發(fā)展得很成熟,并且被不斷完善。但是由于小目標的特性像素占比少,有效信息難以被準確提取。因此其在交通小目標檢測[8]中的表現(xiàn)仍有缺陷,易出現(xiàn)錯檢、漏檢的情況。本文在YOLOV5模型基礎上進行改進并運用于交通目標檢測研究,在模型中加入CBAM[9]注意力機制模塊以增強特征提取能力,并將原始的三層檢測增加為四層,提升對小目標的檢測效果,提升了對交通目標檢測的精度。

1 原始YOLOv5算法

YOLOv5是由YOLOv4改進而來,在模型結(jié)構(gòu)上YOLOv4 采用的是Darknet 結(jié)構(gòu),擁有更多的層和參數(shù),而YOLOv5則采用了新的CSPNet結(jié)構(gòu),減少了計算量和參數(shù)量。YOLOv5還采用了數(shù)據(jù)增強策略,在訓練中隨機改變圖像大小、旋轉(zhuǎn)角度和亮度等參數(shù)增加數(shù)據(jù)的多樣性,提高了模型的泛化能力。因此YO?LOv5不論是檢測速度還是精度都有一定的提升且更為簡潔。其網(wǎng)絡結(jié)構(gòu)由Input(輸入)、Backbone(骨干網(wǎng)絡)、Neck(頸部)、Prediction(檢測頭)四個部分組成,其模型結(jié)構(gòu)如圖1所示。

其中Input 由Mosaic 數(shù)據(jù)增強[10]、自適應錨框計算和自適應圖片縮放三部分組成。其中,Mosaic 可以豐富數(shù)據(jù)集。通過把四幅圖像隨機拼接成一張新的圖片的方式來做數(shù)據(jù)增強,并將新的圖片讓網(wǎng)絡去學習。自適應錨框通過Kmeans計算不同數(shù)據(jù)集對應的錨框大?。挥捎谳斎氲膱D像尺寸可能不同,自適應圖片縮放就是將圖像縮放到相同大小,本文輸入圖像尺寸設置為640×640 像素。模型中的Backbone部分包含F(xiàn)ocus結(jié)構(gòu)和特征提取結(jié)構(gòu),F(xiàn)ocus 結(jié)構(gòu)對圖像進行切片操作,切片后圖像的寬和高縮減至原來的一半,通道數(shù)則變?yōu)樵瓉淼?倍。Backbone 主要提取輸入特征并獲得不同大小的特征圖,其包含C3模塊、Conv模塊和spp模塊。而C3模塊由Conv塊構(gòu)成,通過增加的網(wǎng)絡深度,提高了感受野,提高了特征提取的能力,減少了計算量。Conv模塊由卷積層、BN層和激活函數(shù)組成。SPP模塊先通過Conv模塊提取特征,再經(jīng)過三個并行的最大池化,與原特征圖用concat拼接。其中三個最大池化的卷積核分別為5×5、9×9、13×13,最后由一個Conv 模塊來調(diào)整輸出尺寸。Neck通過FPN和PAN來融合特征,其中FPN是由上而下,通過上采樣融合高層特征和低層特征;PAN則是由下而上,通過下采樣融合低層特征和高層特征。FPN與PAN結(jié)構(gòu)結(jié)合可以對圖像進行多尺度融合。Prediction包括邊界框損失和加權(quán)NMS。NMS 算法可以消除多余(交叉重復)的窗口,輸出預測階段最準確的目標框。

2 算法模型改進

為改善道路交通小目標檢測中存在的難檢,漏檢的現(xiàn)狀,本文對YOLOv5算法提出兩點改進。增加一個小目標檢測層,并且將CBAM注意力機制模塊插入C3模塊前,從而使算法能夠序列化地在通道和空間兩個維度產(chǎn)生注意力特征圖信息。聚焦圖像重要信息,抑制不必要的區(qū)域響應。算法經(jīng)過以上兩點改進后的模型結(jié)構(gòu)見圖2。

2.1增加小目標檢測層

YOLOv5在多尺度特征融合方面采用了特殊的網(wǎng)絡結(jié)構(gòu),以特征金字塔為基礎,對主干網(wǎng)絡分別采用8 倍下采樣得到P3(80×80) 特征層,16倍下采樣得到P4(40×40) 特征層,32倍下采樣得到P5(20×20) 特征層。隨著下采樣次數(shù)增加,其感受野范圍也隨之擴大,導致不同感受野之間重疊區(qū)域越來越多,使得提取的特征也因此缺乏細粒度。某些淺層特征圖才具有的空間位置信息被忽略,小目標檢測中的定位和精度也因此效果不佳。所以只有不斷創(chuàng)新將不同層次特征圖的信息進行融合得到的特征圖才可以同時具有豐富的空間信息和較強的語義信息,使其能夠改善小目標檢測中存在的問題。因此,為改善YOLOv5算法中由于下采樣導致的P3、P4、P5特征層對應特征圖中包含的像素信息過少的問題,本文設計在原結(jié)構(gòu)中增加一個4倍下采樣的特征層P2,該特征層對應的特征圖尺度為160×160,P2特征層對應的檢測頭感受野更小、提取到的圖像信息更豐富、位置信息更精確。

2.2 插入注意力機制

注意力機制對輸入數(shù)據(jù)進行加權(quán)處理,可以更快地提取權(quán)重較高的數(shù)據(jù)。在交通小目標的檢測中引入注意力機制,可以使模型關(guān)注圖像局部的重要信息。因此,為更好地提取特征,本文在每個C3模塊前分別插入一個CBAM注意力機制模塊,使網(wǎng)絡能夠高效地分析復雜場景信息,動態(tài)選擇圖像的輸入信息,更好地關(guān)注圖像中的某些局部信息,減少提取特征的損失,提高網(wǎng)絡的表達能力和檢測精度。CBAM可以和任何CNN框架集成,其結(jié)構(gòu)如圖3所示,CBAM是一種用于前饋卷積神經(jīng)網(wǎng)絡的簡單而有效的注意模塊,輸入的特征層先后經(jīng)過通道注意力模塊和空間注意力模塊。

CBAM通道注意力機制模塊原理如圖4所示。通道注意力模塊可以選出權(quán)重較高的特征通道,忽略權(quán)重較低的無關(guān)通道。CBAM的通道注意力模塊的作用原理是對輸入的特征圖進行兩次最大池化操作,分別是最大池化和平均池化。而且同時用兩種池化比只使用一種池化的效果更好,得到了重要的空間特征信息后。再經(jīng)過MLP模塊,MLP包括輸入層,輸出層和隱藏層,其對輸出的兩條分支進行加和處理,再對加和處理后的輸出用sigmod函數(shù)對其激活,經(jīng)過以上處理后最后能夠得到特征層不同通道的一個權(quán)重系數(shù)Mc。其公式總結(jié)如下:

將權(quán)重系數(shù)Mc 與特征F 相乘加權(quán),得到新特征F',并將其作為空間注意力模塊(圖5) 的輸入。經(jīng)過空間注意力模塊后得到空間的權(quán)重系數(shù)Ms,將其與輸入的新特征F'相乘后能夠?qū)崿F(xiàn)特征在通道維度上的壓縮。對于輸入特征F',先沿著每一個特征點的通道方向應用全局最大池化和全局平均池化,并且按通道拼接,用尺寸為7×7的卷積核卷積,最后用sigmod函數(shù)對其進行激活得到權(quán)重系數(shù)Ms。整個過程的表達式如下:

3 試驗及分析

3.1 實驗環(huán)境

本文的實驗環(huán)境基于64GB內(nèi)存,Intel Corev In?tel Core i9-10900F 處理器,12GB 的FEGORCE GTX3060Ti獨立顯卡,操作系統(tǒng)為Windows10,運行環(huán)境為Python3.9,深度學習框架為Pytorch。

3.2 數(shù)據(jù)集

在不同場景下定義小目標的標準不盡相同,但現(xiàn)有的定義方式按學術(shù)上可主要分為兩類。

一種是根據(jù)相對尺度來定義其是否為小目標,即目標面積與圖像面積的比例。如果目標邊界框面積與圖像面積[11]的比值的中位數(shù)在0.08%~0.58%,則將其定義為小目標。

另一種是根據(jù)絕對尺度對其定義,即根據(jù)目標的絕對像素大小來定義其是否為小目標。目標檢測領域通用的MS COCO[12]數(shù)據(jù)集將分辨率小于32×32像素的目標定義為小目標。而在DOTA 數(shù)據(jù)集與WIDER FACE數(shù)據(jù)集中則將小目標定義為像素值范圍在[10,50]之間的目標。根據(jù)不同場景也可以對小目標進行不同的定義[13],在行人識別數(shù)據(jù)集CityPer?sons中,將小目標定義為了高度小于75像素的目標。

本文用KITTI[14]數(shù)據(jù)集進行試驗,該數(shù)據(jù)集中部分圖片如圖6 所示。該數(shù)據(jù)集中圖像像素大小為1 224×370,由市區(qū)、鄉(xiāng)村以及高速公路等約50個現(xiàn)實場景拍攝而來。其中的每幅圖片中的車輛及行人數(shù)量最多分別為15和30,且大部分目標的像素不超過60×25或45×30,可將其視為小目標。數(shù)據(jù)集包含八個類別,分別為Van(秒包車)、Car(汽車)、Truck(卡車)、CycList(騎自行車的人)、Pedestrain(行人)、Pe?destrain(sitting)(坐車的人)、Tram(有軌電車)以及Misc (其他目標),實驗時將目標標注不清晰且數(shù)量較少的CycList和Misc刪除,并將Pedestrain、Pedestrain(sitting) 兩個類別合并為Pedestrain。實驗時從中選取7 500 張圖片,其中6 000張作為訓練集數(shù)據(jù),1 500張作為測試集數(shù)據(jù),訓練集和測試集比例為4比1。

3.3評價標準

本文主要以AP(平均精度)、mAP(平均精度均值)來作為實驗結(jié)果的評價指標。對本文選取的評價指標作如下說明。

1) 平均精度AP 定義為每個類別精確率-召回率曲線的積分值,取值范圍為0~1。

2) 平均精度均值mAP 為各類別AP 的均值。AP衡量的是訓練好的模型在每個類別上的好壞,而mAP為衡量的則是模型在所有類別上的好壞。精確率定義為實際正樣本且預測結(jié)果為正的樣本數(shù)與預測結(jié)果為正的樣本數(shù)的比值,召回率定義為實際正樣本且預測結(jié)果為正的樣本數(shù)與實際的正樣本數(shù)的比值。公式總結(jié)如下:

式中:N 代表表示樣本類別的總數(shù),TP 代表實際是正的樣本并且預測結(jié)果為正的樣本數(shù),F(xiàn)P 代表實際為的負樣本但是預測結(jié)果為正的樣本數(shù),F(xiàn)N 則代表實際為正的樣本但是預測結(jié)果為負的樣本數(shù)。

3.4 實驗結(jié)果

3.4.1 本文算法檢測結(jié)果

YOLOv5算法和改進的YOLOv5算法使用上述訓練集訓練得到權(quán)重后,用測試集在改進前后的模型上進行實驗,其結(jié)果如表1所示。

由表1可知改進后 YOLOv5 算法在mAP方面提高了1.4%,在AP 值方面對Pedestrain 類別的提升最大,且與其他類別目標相比Pedestrain尺寸較小,說明該算法在小目標檢測任務中表現(xiàn)更好。

在驗證集中選取四組圖片分別在YOLOv5算法以及改進的YOLOv5 算法上進行實驗,實驗結(jié)果如圖7所示。

從圖7可看出改進的YOLOv5算法模型漏檢的情況得到減少,某些尺寸較小的目標在改進后的算法中被檢出。

3.4.2 加入不同模塊對檢測性能的提升

將上文提出的幾點改進模塊依次融合到原YO?LOv5算法中并進行實驗,其結(jié)果如表2所示。由表2 可知在原始YOLOv5網(wǎng)絡模型中增加一個4倍下采樣的小目標檢測層后,檢測的結(jié)果在mAP方面提升了0.6%,在此基礎上同時插入CBAM 意力機制模塊,mAP值再次提升0.8%。由此可知加入上述模塊后,增強了模型對小目標的檢測性能。

3.5 與其他算法的對比

將本文改進的算法與其他檢測算法在平均精度均值和檢測速度方面進行對比。本文選擇的是SSD、YOLOv3、YOLOv4、Fast R-CNN、Faster R-CNN、Re?fineDet、Vehicle-YOLO和Refined YOLOv4算法,對比結(jié)果見下表3。

從表3可以看出,將原YOLOv5算法改進后,檢測結(jié)果的mAP值達到了96.3%,和表中其他目標檢測算法相比在一定程度上有所提升。綜上可知,本文算法在使檢測的平均精度值更高的同時保證了較高檢測速度,性能更好,達到了預期的效果。

4 結(jié)束語

本文針對復雜場景下交通小目標其像素占比少,目標尺寸小易重疊等原因?qū)е碌穆z、誤檢,檢測精度低等現(xiàn)象,在 YOLOv5網(wǎng)絡模型上進行改進。首先增加一個四層檢測頭以增加淺層特征圖,使其更有利于遠距離交通小目標的檢測與識別,在此基礎上插入CBAM注意力機制模塊,以增強模型在通道和空間兩個維度的特征提取能力。將改進前后的模型在本文處理后的數(shù)據(jù)集上做對比實驗,增加了兩個模塊后的YOLOv5算法在交通小目標檢測中的效果更好,平均精度更高。但是由于增加了小目標檢測模塊的緣故,改進后的模型在速度方面比原YOLOv5算法稍慢了3.4FPS,但考慮到原YOLOv5算法在速度上的優(yōu)勢,改進后的算法在速度方面的少許下降可以忽略不計,并不會對模型的整體性能造成太大影響。將本文所提改進的YOLOv5 算法與SSD、Faster R-CNN、Refine?Det、Vehicle-YOLO等目標檢測算法對比驗證,從實驗結(jié)果中可以看出改進的YOLOv5算法不僅提高了檢測精度并且保證了檢測速度。計劃在后續(xù)的研究工作中保證檢測速度不受太大影響的前提下繼續(xù)提高模型的檢測精度并盡可能減少計算量,使模型輕量化。

石首市| 海林市| 潼关县| 永和县| 泸定县| 琼结县| 湘阴县| 和林格尔县| 乡宁县| 普宁市| 黄浦区| 纳雍县| 东丽区| 安龙县| 永宁县| 中方县| 旬阳县| 丰宁| 郧西县| 永丰县| 神农架林区| 韩城市| 长汀县| 峡江县| 苗栗市| 甘洛县| 岳阳市| 绥阳县| 祁阳县| 海安县| 晋城| 荔波县| 崇左市| 乌拉特前旗| 会东县| 陵川县| 滕州市| 广宁县| 临汾市| 伊金霍洛旗| 高碑店市|