?

基于多尺度YOLOv5的交通標志檢測

2024-03-05 07:35朱寧可張樹地王翰文李紅松余鵬飛
無線電工程 2024年3期
關鍵詞:交通標志注意力特征

朱寧可,張樹地,王翰文,李紅松,余鵬飛

(云南大學 信息學院,云南 昆明 650504)

0 引言

隨著現代網絡技術以及經濟的發展,汽車的使用方便了大眾的生活,自動駕駛以及智能輔助駕駛系統逐漸進入商業領域。交通標志的檢測對于行車安全至關重要,但是交通標志常常會受到天氣、光照、遮擋等因素的影響,這給無人駕駛的應用帶來了很大的安全挑戰,因此設計出一種既實時又準確的交通標志檢測智能系統至關重要。

交通標志檢測是智慧交通系統(Intelligent Traffic System, ITS)以及無人駕駛系統的基礎。在過去的幾十年中,目標檢測所采用的方法較為傳統,通過采用手工設計特征加淺層分類器來進行目標的獲取以及分類。例如,朱雙東等[1]通過將RGB彩色交通標志圖片轉化到HIS顏色空間以降低光照對圖片的影響,但此過程仍具有一定的計算量。Gavrila等[2]通過方向梯度直方圖(Histogram of Oriented Gridients, HOG)進行模板匹配的形狀檢測。湯凱等[3]提出一種顏色特征、形狀特征和尺度特征的多特征協同方法,采用支持向量機(Support Vector Machine,SVM)對融合的特征進行分類來獲取預測結果。甘露等[4]使用Gabor濾波來提取交通標志的紋理特征以及形狀特征,將紋理特征以及形狀特征融合輸入到BP神經網絡進行分類,有效地提升了精度。時至今日,交通標志檢測的主流方法是通過深度學習進行交通標志的分類以及預測位置。由于基于候選框的深度學習目標檢測算法精度較高,被研究人員廣泛關注,其中,兩階段目標檢測算法代表性的是由Girshick等[5]提出的一種基于候選區域的目標檢測算法——R-CNN(Regions with CNN features),該網絡通過深度卷積神經網絡(Convolutional Neural Network,CNN)對目標區域進行分類取得不錯的效果,但是該網絡過多地重復選取候選框造成大量存儲資源以及計算資源的浪費。Girshick[6]提出的Fast R-CNN以及Ren等[7]提出的Faster R-CNN在R-CNN的基礎上進一步將候選窗口的生成和候選窗口的分類與回歸統一到一個網絡中聯合學習,大大提升了網絡的檢測速度。另外,一階段代表性的目標檢測算法主要包括SSD[8]算法以及YOLO系列算法,其中SSD算法采用不同特征層來預測不同大小的物體,YOLO則是將圖像分成N×N大小的子區域,并預測每個區域是否存在目標物體以及目標物體的類別、概率和位置。一階段目標檢測算法速度快,可以滿足實時檢測的要求,但是其精度不如兩階段目標檢測算法。因此,本文選擇YOLO系列進行改進,以提升交通標志檢測的準確率。

YOLOv5是目前比較主流的一種單級目標檢測器,具有優秀的性能以及檢測速度,同時還具有清晰的結構來進行分解和調整[9]。雖然YOLOv5是一個強大的目標檢測模型,但是其本身被設置為一種通用模型,對于交通標志這種小目標物體檢測效果并不會過于顯著[10]。因此本文提出了一種多尺度的YOLOv5檢測模型來融合更多尺度的信息,以更好地提升檢測效果。主要貢獻有:

① 將YOLOv5原本的3層特征融合改進為4層特征融合,以便于更好地保留底層信息(包括位置信息、紋理信息等);

② 為了使網絡更好地關注小目標,對CBAM注意力機制進行改進,在空間注意力中引入U型結構以及殘差結構以提升CBAM對小目標的敏感度;

③ 將Fusion模塊嵌入到Path Aggregation Network(PANet)下采樣過程中,促進底層信息的保留與融合;

④ 將Adaptively Spatial Feature Fusion(ASFF)模塊嵌入到3個檢測頭前,以便于獲取更加豐富的特征進行分類以及位置預測。

1 YOLOv5模型結構

1.1 網絡結構分析

YOLOv5的結構是在YOLOv4的基礎上進行改進,其中改進的部分主要是在主干部分使用了Focus網絡結構,使圖片在下采樣的過程中,在信息不丟失的情況下,將圖像的像素信息集中到通道上,再使用3×3的卷積對其進行特征提取,使得特征提取得更加充分。另外在主干部分以及特征加強網絡中也加入了CSPlayer,以更好地提取特征。中間部分是特征加強網絡,所采用的結構是PANet[11]。最后是檢測頭部分,用于檢測不同大小的目標物體。

1.2 YOLOv5不足之處

首先,YOLOv5是一種通用的一階段目標檢測模型,如果直接應用于自動駕駛領域則存在對小目標檢測能力不足的問題,尤其是在目標存在模糊、密集以及遮擋的情況下;其次,YOLOv5中的特征增強模塊PANet側重于深度特征圖的融合,而忽略了底層的細節特征,削弱了對小目標的檢測能力,對于小目標的交通標志來說會產生大量的特征冗余,造成計算資源的浪費;最后,小目標物體在經過多次卷積之后會存在部分細節信息和位置信息消失的問題[12]。因此本文對YOLOv5模型進行改進,融合多尺度信息來加強網絡對交通標志目標的檢測能力。

2 模型改進

根據以上存在的不足,本文分別對特征加強網絡、注意力機制進行改進。首先,從主干網絡中多引出一層改進特征層,將引出的特征繼續與加強特征網絡融合,使得網絡更多地融合底層的位置信息;其次,底層的特征中也存在著較多的噪聲并且對于目標物體的聚焦程度不足,因此在主干網絡輸出到特征加強網絡的特征中添加改進的注意力機制CBAM_U,能夠有效地融合底層的語義信息并過濾掉大部分噪聲,使得網絡對于目標物體更加敏感。然后在網絡中添加細融合Fusion模塊,促進自身特征之間的細融合;最后在特征加強網絡后加入ASFF消除融合后特征之間的沖突。改進的YOLOv5結構如圖1所示。

圖1 改進YOLOv5結構Fig.1 Structure of improved YOLOv5

2.1 PANet改進

在自動駕駛的真實場景圖片中,交通標志的像素僅占很小一部分;不同的交通標志有著尺度不一的特點,想要更加精確地識別交通標志,低層次的語義信息顯得格外重要。YOLOv5與YOLOv4所使用的PANet結構相似,均是采用雙多向融合的方式,即由下向上融合以及由上向下融合。在YOLOv4的PANet結構中,每次進行Concat拼接之后會經過5次卷積來調整通道數,加深網絡,以此來增強特征的提取能力。而YOLOv5中使用的是C3模塊,對特征進行反復的提取,但在C3模塊中,先將特征的通道數進行降低后再進行卷積,所以產生的參數量更少。在YOLOv5的PANet中,由主干網絡傳入3個有效特征層,層級之間經過尺度變換進行融合,使得卷積網絡的高級特征包含對象的全局語義信息,有助于區分不同的目標對象,具體結構如圖2所示。

圖2 原始PANet結構Fig.2 Structure of original PANet

然而隨著卷積層的加深,卷積網絡對于目標物體位置的變化不再敏感,導致高層次特征在物體的位置定位方面顯得不足[13]。在低層次的特征中存在較多的位置空間信息,為了融合全局語義信息和空間位置信息,本文提出一種改進的PANet——PANet_M,在YOLOv5的PANet基礎上額外增加一層融合,將高層次語義信息與低層次特征相結合,以獲取更加豐富的信息和表達準確的特征圖。

在YOLOv5中,頸部特征加強網絡共設定3個檢測尺度,分別是80×80、40×40和20×20,其中80×80的尺度用來檢測小目標,40×40與20×20的尺度分別用來檢測中目標以及大目標,具體結構見圖2。本文從YOLOv5的主干網絡中額外引出一層160×160的特征層與80×80的特征層進行融合,加強低層的語義信息,使每個特征層的語義信息更加豐富。具體改進結構如圖3所示。

圖3 PANet_M結構Fig.3 Structure of PANet_M

2.2 CBAM注意力機制改進

注意力機制能有效地將計算資源分配給更重要的任務,同時解決信息超載問題。CBAM注意力是一種結合了空間(spatial)和通道(channel)的注意力機制模塊[14]。CBAM中通道注意力機制聚焦于“什么”是有意義的輸入圖像,使用平均池化操作對輸入特征圖的空間維度進行壓縮,來聚合特征圖的空間信息并生成平均池化特征,與此同時使用最大池化聚焦于獨特的物體特征并生成最大池化特征,所生成的2個特征被轉發到一個共享的網絡來產生通道注意力映射,最后共享網絡應用于每個描述符后使用Element-Wise求和的方式來合并輸出特征向量,通過Sigmoid函數進行標準化得到通道特征權值??臻g注意力模塊聚焦在“哪里”是最具信息量的部分,首先將通道注意力模塊產生的特征圖經過最大池化與平均池化得到2個H×W×1的特征圖,其次這2個特征圖基于通道做Concat拼接操作聚合成一個特征圖的通道信息,然后將這些信息通過一個標準卷積產生2D空間注意力,最后通過Sigmoid進行標準化得到最終注意力特征圖,CBAM結構如圖4和圖5所示。

圖4 CBAM模塊Fig.4 CBAM module

圖5 通道注意力模塊與空間注意力模塊Fig.5 Channel attention module and spatial attention module

本文中使用CBAM注意力機制并對其進行改進,使其更適應小目標交通標志的特性。通過對交通真實場景進行分析,可以發現復雜道路背景的干擾信息是交通標志定位和識別過程的一大障礙[15]。在目標檢測的過程中,神經網絡通常會滑動圖片的所有區域進行特征提取,而不區分對象區域和非對象區域,因此沒有特別的模塊突出對象區域的重要性[16]。通過以上分析,本文改進了CBAM中的空間注意力模塊——CBAM_U來解決上述問題,改進結構如圖6和圖7所示。

圖6 CBAM_U模塊Fig.6 CBAM_U module

圖7 改進空間注意力模塊Fig.7 Improved spatial attention module

空間注意力機制主要模擬人眼的視覺神經,聚焦于特征圖中重要的目標區域并過濾掉特征圖中的干擾區域。受PANet以及U-Net[17]的啟發,U型結構能夠有效突出目標物體并且過濾掉部分干擾信息,因此本文在空間注意力模塊中引入U型結構來探索每個特征圖的空間信息,通過2次卷積快速獲取高層次語義信息。高層次特征圖中含有高級語義信息和少量空間位置信息,通過U型機制,低層次的語義信息能夠通過跳躍連接與高層次語義信息進行融合,將底層的位置信息發送給高層。同時為了在不破壞原始特征圖的情況下使用與殘差網絡[18]相似的結構,將高級特征與低級特征合并,并逐元素相加融合。使用Sigmoid函數增加網絡的非線性,輸出特征權值。另外,在通道注意力機制中加入殘差連接確保每次聚焦特征層的有效性。

2.3 Fusion模塊

在特征加強網絡中,由于YOLOv5在特征融合中使用了多個上采樣進行多層次的融合,即不同層級之間實現粗融合,使得一些關鍵性的細節信息丟失。為了解決此問題,在更細粒度的級別上合并多級特征,本文引入了一種Fusion模塊來獲取更精細的特征,具體結構如圖8所示。本文提出的Fusion模塊借鑒了RFB[19]的Inception結構的思想,輸入的特征通過2個不同的分支并行,其中一個分支通過一個1×1卷積獲取原始特征,相當于保險絲的作用;另一個分支增加額外的3×3卷積來增加不同的感受野,不同的2個卷積核產生具有不同感受野的2個特征,相當于產生2個不同的尺度特征。簡單地將這2個特征通過逐元素相加的方式實現精細的局部多尺度融合,使得自身某些細小的特征得到加強,即實現下采樣特征的細融合。

2.4 ASFF模塊

在YOLOv5的特征金字塔中,多尺度融合是解決多尺度目標檢測的有效方法,但是不同層級之間的特征存在一定的信息沖突,即不一致性,不同特征尺度之間的不一致性是基于特征金字塔的單階段檢測器的主要限制。為了抑制這種不一致性,Wang等[20]與Zhu等[21]將相鄰級別的相應區域設置為忽略區域,但相鄰級別的松弛往往會導致更差的預測為誤報。本文引入ASFF模塊[22]來抑制不同層級之間的特征的信息沖突,提高PANet的融合效果,進而提高目標檢測的能力,具體結構如圖9所示。

圖9 ASFF模塊Fig.9 ASFF module

(1)

(2)

即通過不同層級之間自適應學習各尺度特征圖融合的空間權重來解決不同層級之間存在的信息沖突。

3 實驗與結果分析

3.1 數據處理

本文所使用的是長沙理工大學制作的2021版CCTSDB中國交通標志數據集[23],包含1.2萬張圖片以及對應的標注信息。本文的交通標志主要分為3類:警告類(warning)、禁止類(prohibitory)以及指示類(mandatory)。為了提高模型的泛化能力以及魯棒性,使用了YOLOv5中的Mosaic[24]數據增強。

Mosaic數據增強簡單來說就是將4張圖片通過隨機縮放、隨機裁剪和隨機排布的方式進行拼接,該數據增強的方法能夠豐富檢測物體的背景以及小目標,極大地豐富了數據集,使網絡更具有魯棒性。

3.2 實驗環境及評價指標

本文采用pytorch深度學習框架,Windows 10操作系統以及GeForce RTX 3090顯卡進行實驗。使用隨機梯度下降法(SGD)來優化調整網絡參數,初始學習率為0.01,權重衰減系數為0.000 5,還使用了動態調整學習率進行訓練,其中動態調整學習率的方式為cos,另外還使用了混合精度以節省顯存資源。

本文所采用的評價指標為平均準確率(mAP@0.5)、召回率(Recall)、查準率(Precision)以及F1-Score。將測試結果劃分為四大類,分別為真正樣本(True Positive,TP)、假正樣本(False Positive,FP)、真負樣本(True Negative,TN)和假負樣本(False Negative,FN),具體方式如表1所示。

表1 混淆矩陣

Precision是指所有正樣本中檢測結果為正樣本所占的比例,能夠衡量模型的錯檢程度,即:

(3)

Recall是指所有正樣本中正確識別的概率,能夠很好地衡量模型的漏檢程度,即:

(4)

mAP@0.5的值與AP有關,AP表示當混淆矩陣的IoU置信度取0.5時,針對目標檢測中的某一類別具有x個正樣本預測框,按照置信度進行降序排列,每一個預測框對應一個查準率(Pi),將所有的查準率求和取平均即可得到該類別AP的值,即:

(5)

mAP@0.5定義為檢測目標中所有類的AP值取平均,mAP@0.5衡量一個模型對于每一類的查準率隨召回率的變化,能更直觀地表現出分類器的性能,mAP@0.5的計算為:

(6)

F1-Score是查準率與召回率的調和平均數,能夠很好地評價檢測算法的優劣。由于交通標志識別關系到安全方面的問題,需要較高的Precision與Recall,本文將二者的權重設置為相同,具體為:

(7)

3.3 實驗分析

3.3.1 消融實驗與分析

為了驗證本文改進模塊的效果進行消融實驗,消融實驗所得出的結果如表2所示。

表2 消融實驗

由表2消融實驗可得,在CBAM通道注意力中加入殘差連接相比于不加時,在mAP@0.5上提升了0.52%,確保了每次聚焦特征的有效性,通過將不同尺度的特征層分別進行粗融合與細融合,本文所提出的各個模塊在原始模型中都有較大的提升。另外,本文提出的改進YOLOv5與原模型相比,mAP@0.5提升3.07%,Recall提升3.83%,做到交通標志檢測的漏檢程度更低;通過引入改進的注意力機制使得網絡能更好地聚焦于目標物體,使得Precision提升了1.64%,準確率得到較大提升;另外F1-Score提升了2.66%,做到了Recall與Precision的平衡,檢測算法更加優秀,具有良好的應用價值。

3.3.2 交通標志檢測模型對比

交通標志檢測模型對比如表3所示??梢钥闯?本文改進的YOLOv5模型相比于SSD、FCOS、YOLOv4和Centernet檢測模型,mAP@0.5分別提升了4.92%、6.17%、2.59%和1.55%,另外F1-Score分別提高了22.99%、9.33%、2.66%和0.53%。相比于較新的目標檢測模型YOLOv5-6.0、文獻[25-26],mAP@0.5分別高出0.7%、8.54%和0.42%,Recall與Precision也都有部分提升,由于模型參數量增加,所以在檢測速度方面存在少許下降,但仍能滿足實時性的要求??梢娡ㄟ^將多尺度的不同信息進行融合能夠使網絡捕捉到更多的細節信息,提升不同尺寸檢測下的精度,改進的YOLOv5模型相比于這些模型更能滿足在真實駕駛場景中高準確率的需求。

不同尺寸指標對比如表4所示??梢钥闯?在不同尺寸的檢測中,本文的算法相比于原始網絡在APs、APm以及APl中分別提升19.5%、7.2%以及2.7%,另外Recall分別提升18.1%、7.2%以及4.4%,做到了Precision以及Recall的同時提升,基本解決了小目標檢測難、漏檢率高的問題。

表4 不同尺寸指標對比

3.3.3 圖片檢測結果與分析

隨機抽取網絡搜集的不同目標尺寸的交通標志圖片進行可視化比較,如圖10所示,從左到右依次是YOLOv5檢測結果以及改進YOLOv5檢測結果,將目標物體分為小、中、大3種不同的尺寸進行檢測。從圖10可以看出,在小目標檢測中,原始YOLOv5檢測算法存在漏檢的情況,而本文改進的算法對于小目標較為敏感。在中目標檢測中,原始YOLOv5算法存在誤檢的情況,將背景物體檢測為交通標志,這對無人駕駛領域是不安全的。在大目標檢測中,本文的檢測算法精度更高。綜上,改進的YOLOv5算法在交通標志檢測中具有更好的性能。

圖10 CCTSDB檢測結果可視化Fig.10 Visualization of CCTSDB detection results

通過模擬不同場景下的檢測來檢驗網絡的合理性。本文在網絡搜集的交通標志圖片中模擬了霧天、雨天以及夜間的場景分別進行檢測。不同場景檢測結果可視化如圖11所示,通過圖11霧天模擬場景可以看出,改進后的YOLOv5能夠檢測出大部分的交通標志,而原始網絡僅能檢測出一個,并且存在誤檢的情況。雨天場景中2種網絡均能檢測出所有交通標志,但是改進的YOLOv5算法的置信度更高,受噪聲影響較小。在夜間檢測的情況下本文算法沒有出現誤檢的情況,而原始網絡將指示類標志(mandatory)檢測為禁止類(prohibitory),這對于真實的應用場景來說是很不恰當的。

圖11 不同場景檢測結果可視化Fig.11 Visualization of detection results in different scenarios

另外,本文通過熱力圖Grad-CAM[27]來解釋改進的網絡對于不同尺寸目標物體所帶來的提升,通過圖12能直觀地觀察到在小目標檢測中,原始網絡對于小目標的注意是不夠的,在圖12(a)的檢測中存在多個目標并且小目標居多,原始網絡在檢測中存在漏檢的問題,較小的警告類標志未檢測出來;在較遠距離的小目標檢測圖12(b)中對于目標物體的敏感程度是不夠的。本文所提出的網絡能更精確地定位到小目標交通標志,并且不存在漏檢的情況。

圖12 小目標熱力圖Fig.12 Small object heatmap

對于中目標,通過圖13(a)能夠看出,本文的網絡能夠很好地注意到目標區域,而原始網絡受到過多的背景信息干擾使得指示類標志敏感度降低。在圖13(b)的檢測中,原始網絡將背景信息的一卷線纜誤識別為目標物體,這對交通標志檢測領域來說是很不恰當的。

圖13 中目標熱力圖Fig.13 Medium object heatmap

對于大目標物體來說,尺寸較大,相對較好檢測,但是在背景信息比較復雜的情況下原始網絡的目標聚焦程度可能會受到很大的影響。圖14(a)中的背景較為復雜,原始網絡很容易受到干擾,而本文的網絡通過注意力以及多尺度融合使網絡對于目標物體的聚焦程度增加,性能表現更優。圖14(b)中的檢測則是背景信息與目標信息較為相似,原始網絡將目標物體誤認為背景信息,而改進的YOLOv5算法表現更佳,能夠注意到所有的目標物體。

4 結論

本文為了解決交通標志檢測中檢測難、精確度低以及漏檢率高等問題,提出了一種改進的YOLOv5算法。通過融合多層的主干特征解決對目標物體位置信息不足的問題,將輸入的特征層通過改進的注意力機制濾除多余的噪聲。在特征金字塔中加入Fusion結構促進特征之間的細融合,使用ASFF結構對輸出的3個特征進行一致性融合,提升網絡的檢測能力。改進的YOLOv5模型在小、中、大3種目標尺寸的檢測中mAP@0.5、Precision和Recall均有很大提升。所以本文提出的改進算法在自動駕駛輔助系統以及無人駕駛技術中有著較高的實用價值。本文所提出的模型存在一定的局限性,由于CCTSDB僅存在3種類別,模型可檢測的種類可以做進一步拓展。針對自動駕駛的應用還可以將改進的算法進一步優化,以方便移植到算力有限的移動設備中。

猜你喜歡
交通標志注意力特征
交通標志認得清
基于雙向特征融合的交通標志識別
讓注意力“飛”回來
如何表達“特征”
不忠誠的四個特征
抓住特征巧觀察
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
交通標志小課堂
我們歡迎你!
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合