羅建晨 楊蕾



摘 ?要:在智能交通系統中,車輛目標檢測有廣泛應用。為了提高車輛目標檢測性能,采用基于FPN的YOLOv3算法進行車輛多目標檢測,并且通過添加注意力機制模塊進行網絡優化,提出了一種基于空間注意力機制SAM的YOLOv3車輛多目標檢測優化算法,并在所構造的車輛多目標數據集上對提出的算法進行了驗證,證明其對車輛多目標檢測的優勢。實驗表明,優化后的檢測算法相比原檢測算法模型參數量降低了55.36%,mAP值提升了1.15%,優于原檢測算法。
關鍵詞:車輛目標檢測;注意力機制;YOLOv3;SAM
中圖分類號:TP391.4 ? ?文獻標識碼:A ? ? 文章編號:2096-4706(2021)06-0103-04
Research on Vehicle Target Detection Algorithm Based on Attention Mechanism
LUO Jianchen,YANG Lei
(School of Electronic and Information,Zhongyuan University of Technology,Zhengzhou ?450007,China)
Abstract:Vehicle target detection is widely used in intelligent transportation system. In order to improve vehicle target detection performance,the FPN-based YOLOv3 algorithm is used for vehicle multi-target detection,and the attention mechanism module is added to optimize the network. An optimized YOLOv3 vehicle multi-target detection algorithm based on spatial attention mechanism(SAM)is proposed. The proposed algorithm is verified on the constructed vehicle multi-target dataset,which proves its advantage in multi-target vehicle detection. The experimental results show that compared with the original detection algorithm,the model parameters of the optimized detection algorithm are reduced by 55.36%,and the mAP value is increased by 1.15%,which is better than the original detection algorithm.
Keywords:vehicle target detection;attention mechanism;YOLOv3;SAM
0 ?引 ?言
目標檢測是計算機視覺的一個重要研究方向,是一種基于目標特征的圖像分類和識別方法。在對交通目標進行動態檢測和跟蹤的智能化交通系統中具有廣泛的應用價值,如車速智能監控與測量、自動駕駛行為識別等[1]。由于目標檢測算法對不同目標的適應性不同,故需要選擇適于交通目標檢測的檢測算法,并對其進行優化研究。
現代目標檢測算法是基于卷積神經網絡(Convolutional Neural Network,CNN)的,旨在通過自動學習圖像高層特征,從圖像中檢測出感興趣的目標,準確判斷出每個目標的類別,并用檢測框標記出每個目標所在的位置[2]。
特征提取主干網絡是目標檢測網絡的基礎,其作用是生成反映不同層次圖片信息的、具有不同尺度的特征圖,其中,低層特征圖分辨率高,位置信息準確,可以較好地關注小目標的特征,但是包含的語義信息不豐富;高層特征圖分辨率低,包含的語義信息豐富,可以充分地提取大目標的特征,但是位置信息粗糙、容易忽略小目標。在交通目標檢測的應用場景中,由于車速較快,車輛及車輛上的檢測目標在視頻圖像中的大小會迅速變化,這構成一個多尺度變化的目標檢測問題,因此需要選取恰當的特征層利用方式。
根據特征圖的利用方式不同,目標檢測網絡分為三類:基于單層特征圖、基于金字塔型特征層級、基于特征金字塔網絡(Feature Pyramid Network,FPN)[3]。基于單層特征圖的目標檢測網絡僅使用單個最高層特征圖進行預測,檢測速度快,但是僅利用最后一層高層特征,分辨率低,不利于小目標檢測。基于金字塔型特征層級的目標檢測網絡利用多個不同層次、不同尺度的特征圖進行預測,檢測速度快,但是沒有使用已經計算出的低層高分辨率特征圖,也不利于小目標檢測。基于FPN的目標檢測算法利用多個不同層次、不同尺度的特征圖,對每一層的特征圖分別自上而下進行特征融合,使新的特征圖包含高層特征圖的信息,充分補充低層的語義信息,獲得高分辨率、語義信息豐富的特征,能出色完成小目標檢測的任務,更適于完成交通目標檢測的任務。
注意力機制符合人腦和人眼的感知機制,本質是更加關注感興趣的信息,抑制無用信息。注意力模塊分為空間注意力模塊、通道注意力模塊、混合注意力模塊三類,其中,空間注意力模塊的任務是尋找單層特征中包含有效信息的2D空間位置,通道注意力模塊的任務是尋找不同特征通道中包含有效信息的通道位置,混合注意力模塊的任務是同時尋找不同特征通道中包含有效信息的通道位置以及每個通道中包含有效信息的2D空間位置[4,5]。在目標檢測網絡中,可以使用注意力模塊對網絡結構進行優化,將更多的權重分配給包含有效信息的區域,同時減小包含干擾信息區域的權重,從而進一步提高交通目標檢測的精度。
本文面向交通目標檢測的應用場景,優選了一種基于FPN的YOLOv3車輛多目標檢測算法,然后又提出了一種基于空間注意力機制(Spatial Attention Mechanism,SAM)的YOLOv3車輛多目標檢測優化算法,并在所構造的車輛多目標數據集上對提出的算法進行了驗證,證明其對車輛多目標的檢測性能優于現有算法。
1 ?車輛多目標數據集構造
本文訓練使用的數據集是車輛多特性數據集,數據集由四部分構成,分別是OpenITS數據集、BIT Vehicle數據集、CCPD數據集和本實驗室自主采集的數據集。從Open ITS數據集[6]中隨機選擇了6 103張分辨率為1 600×1 200的車輛圖片、從BIT Vehicle數據集[7]中隨機選擇了1 921張分辨率為1 920×1 080的車輛圖片、從CCPD[8]數據集中隨機選擇了280張分辨率為720×1 160的車輛圖片,用尼康相機d3200 SLR采集了3 351張分辨率為6 000×4 000的車輛圖片,并且用海康威視攝像頭MV-CA050-11UC采集了480張分辨率為2 448×2 048的車輛圖片,共12 135張車輛圖片。
2 ?基于注意力機制的YOLOv3車輛多目標檢測算法
基于FPN的目標檢測算法適合解決交通目標檢測應用場景中多尺度變化的目標檢測問題。因此,選擇基于FPN的目標檢測算法對車輛及其上的多個目標進行檢測,其中,YOLOv3以更高的檢測速度和精度,成為優先選擇的網絡,圖1是基于YOLOv3的車輛多目標檢測算法原理框圖。
輸入的車輛場景圖片經過特征提取主干網絡Darknet53提取特征,提取的特征經過FPN結構完成不同尺度特征圖的融合,最終利用13×13,26×26,52×52三個不同尺度的特征圖進行預測,獲得車輛多特性的檢測框、類別和置信度。
Darknet53一共有23個殘差模塊,殘差模塊如圖2所示,殘差單元能有效解決網絡層數增多時出現的梯度消失和過擬合現象。CBL模塊由Conv函數、標準化(Batch Norma-lization)和LReLU(Leaky-ReLU)激活函數構成,如圖3所示。殘差單元的結構如圖4所示,輸入的特征圖經過兩次卷積操作之后與原特征圖相加。
在圖3中的CBL模塊中,卷積核的尺寸為3×3和1×1,假設卷積核對應的輸入維度為Cin,輸出維度為Cout,需要的總參數量為Cin×Cout×3×3+Cin×Cout×1×1。為了減少參數量,本文分別采用空間注意力模塊SAM、通道注意力模塊SE、混合注意力模塊CBAM代替常規的卷積模塊,對YOLOv3車輛多目標檢測算法的網絡結構進行了改進,如圖5所示。
3 ?實驗與結果分析
在訓練模型的時候,為了控制變量對比模型的性能,將每次模型訓練的epoch設置為相同,并且使用相同的數據集。模型訓練參數如表1所示。本文進行訓練時所使用的GPU是技嘉GeForce GTX 2080Ti,顯存為11 GB,CPU是Intel E5 2678 V3。
從表2可以看出,在模型尺寸都為416×416的情況下,YOLOv3的模型參數量為236.32 MB;SAM-YOLOv3的模型參數量為105.50 MB,模型壓縮了55.36%;SE-YOLOv3的模型參數量為108.80 MB,模型壓縮了53.96%;CBAM-YOLOv3的模型參數量為112.12 MB,模型壓縮了52.56%,由以上數據可知SAM-YOLOv3的模型參數量最小。
在實驗過程中,選擇相同的模型訓練參數,用于衡量檢測準確性的指標包括:Precision、Recall、AP(Average Precision)。其中,Precision是精確率,表示模型檢測結果中正確的目標樣本所占的比率;Recall表示召回率,表示目標正樣本被正確檢測的占總體樣本的比率,如式(1)和(2)所示:
(1)
(2)
AP綜合考慮了Precision和Recall的變化,等于Precision- Recall曲線所包圍的面積,如式(3)所示:
(3)
mAP等于所有物體的類的AP之和與所有物體類別的總和的比值,如式(4)所示:
(4)
用于衡量檢測效率的指標是FPS,即模型每秒鐘可以處理的圖片數量。
實驗結果如表3所示。可以看出,從對整車、車牌、車燈、車鏡的檢測AP分析,SAM-YOLOv3的檢測性能明顯優于YOLOv3;從對車標的檢測AP分析,SAM-YOLOv3的檢測性能略低于YOLOv3;但從mAP分析,SAM-YOLOv3的平均檢測性能明顯優于YOLOv3,也明顯優于作為對比的SE-YOLOv3和CBAM-YOLOv3;從FPS分析,SAM-YOLOv3的檢測速度明顯優于YOLOv3,也明顯優于作為對比的SE-YOLOv3和CBAM-YOLOv3。
綜上所述,SAM-YOLOv3檢測算法性能和檢測速度均優于YOLOv3,也均優于對比算法SE-YOLOv3和CBAM-YOLOv3。因此,通過實驗驗證確定并提出了該基于SAM的YOLOv3車輛多目標檢測優化算法。
4 ?結 ?論
車輛目標的正確檢測對智能交通監控系統有重大意義。在行駛過程中不同距離處的車輛目標存在多尺度問題,給準確檢測帶來了巨大挑戰。本文針對此問題選擇了基于FPN型的YOLOv3作為車輛目標的目標檢測算法;然后在所選的YOLOv3車輛目標檢測算法的基礎上,融合了SAM進行優化,提出了一種基于SAM的YOLOv3車輛目標檢測算法,并通過實驗結果驗證了所提出的算法在模型參數量縮減、模型檢測精度改善、模型檢測效率提高方面所表現出的優勢。
參考文獻
[1] 肖雨晴,楊慧敏.目標檢測算法在交通場景中應用綜述 [J].計算機工程與應用,2021,57(6):30-41.
[2] JIAO L C,ZHANG F,LIU F,et al. A Survey of Deep Learning-based Object Detection [J].IEEE Access,2019,7:128837-128868.
[3] LIN T Y,DOLLAR P,GIRSHICK R,et al. Feature Pyramid Networks for Object Detection [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Honolulu:IEEE,2017:936-994.
[4] HU J,SHEN L,SAMUEL A,et al. Squeeze-and-Excitation Networks [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2020,42(8):2011-2023.
[5] WOO S,PARK J,LEE J Y,et al. CBAM:Convolutional Block Attention Module [C]//ECCV:European Conference on Computer Vision.Munich:Springer,2018:3-19.
[6] OpenITS. OpenData V11.0-車輛重識別數據集 VRID [EB/OL].[2021-02-11].https://www.openits.cn/openData4/ 748.jhtml.
[7] DONG Z,WU Y W,PEI M T,et al. Vehicle Type Classification Using a Semisupervised Convolutional Neural Network [J].IEEE Transactions on Intelligent Transportation Systems,2015,16(4):2247-2256.
[8] XU Z B,YANG W,MENG A J,et al. Towards End-to-End License Plate Detection and Recognition:A Large Dataset and Baseline [C]//ECCV:European Conference on Computer Vision.Munich:Springer,2018:261-277.
作者簡介:羅建晨(1993—),男,漢族,河南信陽人,碩士研究生在讀,主要研究方向:計算機視覺,深度學習;楊蕾(1979 —),女,回族,河南洛陽人,教授,博士,主要研究方向:圖像處理,計算機視覺。