劉元峰,姬海軍,劉立波*
(1.寧夏大學(xué) 信息工程學(xué)院,寧夏 銀川 750021;2.寧夏路網(wǎng)監(jiān)測(cè)與應(yīng)急處置中心,寧夏 銀川 750021)
精準(zhǔn)、快速檢測(cè)出車輛目標(biāo)是高速交通控制和管理的重點(diǎn)、難點(diǎn)問(wèn)題,具有重要的研究?jī)r(jià)值[1]。為提升檢測(cè)效率,研究人員提出了單階段目 標(biāo) 檢 測(cè) 方 法,主 要 代 表 有SSD[2]、YOLO系列[3-6]等。該類方法通過(guò)卷積網(wǎng)絡(luò)提取特征并直接對(duì)目標(biāo)定位識(shí)別,通過(guò)減少網(wǎng)絡(luò)參數(shù)使檢測(cè)速度得以提高,但卻導(dǎo)致檢測(cè)精度有所下降。因此,如何在車輛目標(biāo)實(shí)時(shí)檢測(cè)中既能保證檢測(cè)速度又能提升檢測(cè)精度,已成為研究的熱點(diǎn)問(wèn)題。
王瀅暄等[7]提出一種基于改進(jìn)YOLOv4高速公路車輛目標(biāo)實(shí)時(shí)檢測(cè)方法,制作了各種復(fù)雜場(chǎng)景下的車輛數(shù)據(jù)集并對(duì)其進(jìn)行數(shù)據(jù)增強(qiáng),提升了檢測(cè)精度。袁小平等[8]提出一種改進(jìn)YOLOv3的行人車輛目標(biāo)檢測(cè)算法,采用ResNeXt代替ResNet模塊,并引入密集連接,提升了小目標(biāo)的檢測(cè)精度。于博等[9]采用一種用于遠(yuǎn)紅外圖像的優(yōu)化YOLO檢測(cè)與分割網(wǎng)絡(luò)模型,通過(guò)KMeans算法設(shè)定錨框尺寸以及使用自適應(yīng)閾值分割方法,保證了實(shí)時(shí)檢測(cè)要求,且能較有效地檢測(cè)行人目標(biāo)。Lai等[10]提出了一種基于車輛檢測(cè)和交通計(jì)數(shù)區(qū)域的二次檢測(cè)框架,通過(guò)多角度、多路況數(shù)據(jù)采集,能夠較精確地檢測(cè)和統(tǒng)計(jì)出車輛信息。上述方法在車輛目標(biāo)實(shí)時(shí)檢測(cè)方面均有應(yīng)用價(jià)值,但在檢測(cè)過(guò)程中,模型對(duì)于細(xì)節(jié)特征學(xué)習(xí)能力較弱且提取了大量冗余信息,導(dǎo)致檢測(cè)精度降低。
本文提出一種基于YOLOv5s的高速公路車輛實(shí)時(shí)檢測(cè)算法,通過(guò)在殘差單元中加入卷積注意力模塊,強(qiáng)化模型學(xué)習(xí)細(xì)節(jié)特征,抑制冗余信息干擾;在金字塔網(wǎng)絡(luò)中加入卷積注意力模型,加強(qiáng)關(guān)鍵特征融合;在自行構(gòu)建的寧夏高速公路車輛數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明,本文方法能夠準(zhǔn)確、快速地檢測(cè)出車輛目標(biāo),在高速公路車輛管理和控制方面具有一定的應(yīng)用價(jià)值。
YOLOv5系列包含s、m、l、x四種不同大小的網(wǎng)絡(luò)模型[11-13],其中YOLOv5s網(wǎng)絡(luò)參數(shù)最少,檢測(cè)速度更適合實(shí)時(shí)車輛目標(biāo)檢測(cè)場(chǎng)景。YOLOv5s主要由Backbone和Head兩部分組成。Backbone部分用于提取圖像特征,包含F(xiàn)ocus、4個(gè)基礎(chǔ)卷積(Convolution,Conv)、3個(gè)ResBCSPn模塊和空間金字塔池化(Spatial Pyramid Pooling,SPP);Head部分由金字塔網(wǎng)絡(luò)(Pyramid Attention Network,PANet)和 分 類 回 歸 預(yù) 測(cè) 模 塊Detect構(gòu)成,分別用于多尺度特征信息融合和預(yù)測(cè)。整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLOv5模型架構(gòu)Fig.1 Model architecture of YOLOv5s
ResBCSPn作為Backbone的核心模塊,主要由一個(gè)及以上殘差單元(ResBottlebeck)和跨階段局部模塊(Cross Stage Partial,CSP)組成。其中,殘差單元用于加深網(wǎng)絡(luò)記憶,防止網(wǎng)絡(luò)因?qū)訑?shù)加深而導(dǎo)致梯度消失;跨階段局部模塊用于組合特征、降低網(wǎng)絡(luò)參數(shù)量。Head的核心模塊是金字塔網(wǎng)絡(luò),該部分采用自頂向下與自底向上聯(lián)合的特征融合方式,更好地進(jìn)行了多尺度融合,加強(qiáng)了不同尺度特征之間的語(yǔ)義關(guān)聯(lián)性。
注意力機(jī)制是計(jì)算機(jī)視覺(jué)領(lǐng)域常用的特征強(qiáng)化方法,源于人類大腦對(duì)視覺(jué)信號(hào)處理機(jī)制的模擬。人類在觀察某一物體時(shí),會(huì)重點(diǎn)關(guān)注目標(biāo)有特點(diǎn)的細(xì)節(jié)部位,忽略全局和背景等冗余信息。這種選擇性關(guān)注的方式與車輛目標(biāo)實(shí)時(shí)檢測(cè)任務(wù)中依靠車輛特點(diǎn)進(jìn)行識(shí)別分類的理念相一致,近年來(lái)已在該領(lǐng)域得到了廣泛應(yīng)用。因此,為達(dá)到抑制圖像中冗余信息、學(xué)習(xí)和融合關(guān)鍵細(xì)節(jié)特征進(jìn)而提升模型檢測(cè)精度的目的,本文引入一種多維注意力機(jī)制——卷積注意力模型(Convolutional Block Attention Module,CBAM)[14-16],其包括通道域(Channel Attention Module,CAM)和空間域(Spartial Attention Module,SAM)兩部分,分別處理圖像的特征通道和特征空間。
由卷積網(wǎng)絡(luò)生成的特征圖中包含不同的特征空間和通道,每個(gè)空間、通道表示圖像中的不同信息,其中可能包含與目標(biāo)無(wú)關(guān)的背景冗余特征。因此,讓網(wǎng)絡(luò)將注意力集中于提取和學(xué)習(xí)圖像中關(guān)鍵細(xì)節(jié)特征,使其具備更高的權(quán)重系數(shù),能有效提升模型的檢測(cè)精度。本文在主干網(wǎng)絡(luò)中使用CBAM提取特征的通道和空間生成注意力權(quán)重圖,并將其與原特征圖進(jìn)行特征融合,將融合后的模塊添加到殘差單元之后,形成卷積注意力殘差單元以獲取并學(xué)習(xí)不同維度、更為豐富的關(guān)鍵細(xì)節(jié)特征。在金字塔網(wǎng)絡(luò)中,使用相同的方法得到融合后的模塊,將其放置在不同尺度特征圖的上采樣和下采樣后,形成卷積注意力金字塔網(wǎng)絡(luò)以加強(qiáng)不同尺度的關(guān)鍵細(xì)節(jié)特征融合。
主干網(wǎng)絡(luò)中由卷積函數(shù)生成特征圖,由于卷積函數(shù)具有相同卷積核,導(dǎo)致無(wú)法辨析圖像中關(guān)鍵細(xì)節(jié)特征。而卷積注意力模塊作為一種特征強(qiáng)化方法,通過(guò)提高關(guān)鍵細(xì)節(jié)特征權(quán)重、降低冗余信息權(quán)重,使網(wǎng)絡(luò)著重關(guān)注感興趣區(qū)域,從而實(shí)現(xiàn)提升檢測(cè)精度的目的。因此,本文將卷積注意力模塊放置于殘差單元后,形成卷積注意力殘差單元(CBAMReBottleneck,CR),如圖2所示。
圖2 卷積注意力殘差模塊。(a)殘差單元;(b)CAM;(c)SAM。Fig.2 Convolutional attention residual module.(a)ResBottleNeck;(b)CAM;(c)SAM.
卷積注意力殘差模塊主要由殘差單元(Res-BottleNeck)、CAM和SAM三部分構(gòu)成,分別如圖2中(a)、(b)、(c)所示。輸入特征x∈Rw×h×c進(jìn)入殘差單元。殘差單元通過(guò)兩層3×3的卷積提取x得到具備高級(jí)語(yǔ)義信息的特征f(x)后,使用跳躍連接將其與x相加得到X,這使流入到下一層網(wǎng)絡(luò)的特征由f(x)變?yōu)閒(x)+x,從而保留了淺層信息。該過(guò)程增強(qiáng)了特征信息。但并未改變特征維度,因此特征X∈Rw×h×c。處理流程如圖3(a)所示,具體公式如式(1)、(2)所示:
式中:w×h為特征維度大小,c為特征通道數(shù),Conv代表卷積核為3×3的卷積,X是保留淺層信息的殘差單元輸出特征圖。
經(jīng)過(guò)殘差單元疊加淺層信息的特征X由CAM單元處理,CAM重點(diǎn)關(guān)注特征的通道維度。不同卷積核生成的特征通道存在重要性差異,但網(wǎng)絡(luò)公平捕獲特征的方式忽略了這一問(wèn)題。為此,CAM賦予各通道不同的權(quán)重系數(shù)來(lái)衡量其差異性,使網(wǎng)絡(luò)根據(jù)權(quán)重系數(shù)聚焦關(guān)鍵通道特征。具體操作如下:首先,并行平均和最大池化將X的空間信息聚合壓縮得到兩個(gè)1×1×c大小的張量。然后,將其輸送到共享網(wǎng)絡(luò)MLP中獲取通道注意力分布。MLP是包含一個(gè)隱藏層的感知機(jī),利用其處理非線性數(shù)據(jù)分類的能力實(shí)現(xiàn)了通道注意力分布。接著對(duì)重新分配通道注意力權(quán)重的張量進(jìn)行求和運(yùn)算得到最終的通道 權(quán) 重Cweight,Cweight∈R1×1×c。最 后 將 其 與X相乘融合得到通道注意力特征圖Mc,Mc∈Rw×h×c。處理流程如圖3(b)所示,具體公式如式(3)所示:
式中:AP為平均池化,MP為最大池化,σ為sigmoid激活函數(shù),MLP為多層感知機(jī),⊕為矩陣求和運(yùn)算,?為矩陣乘積運(yùn)算,Mc是生成的通道注意力特征圖。
經(jīng)過(guò)CAM處理得到的特征圖Me進(jìn)入SAM模塊用以計(jì)算空間特征權(quán)重。SAM首先將不同通道在同一平面空間點(diǎn)上的值并行平均和最大池化分別獲取兩個(gè)維度為w×h×1的空間權(quán)重圖,再通過(guò)卷積層和sigmoid函數(shù)對(duì)兩個(gè)空間特征圖進(jìn)行非線性激活得到最終的空間權(quán)重圖Sweight,Sweight∈Rw×h×1,最后將其與Mc相乘融合得到空間注意力特征圖。處理流程如圖3(c)所示,具體操作公式如式(4)所示:
式中:Conv7是卷積核大小7×7的卷積,Ms為生成的空間注意力特征圖。
上述步驟產(chǎn)生的中間特征X、Mc和Ms,經(jīng)過(guò)卷積等操作處理后,無(wú)法明確分析其中的差異性,為此給予中間過(guò)程特征的相應(yīng)熱力圖[17]進(jìn)行直觀描述,具體效果如圖3所示。
圖3 中間過(guò)程效果圖Fig.3 Intermediate process renderings
由圖3可知,特征圖X能夠檢測(cè)出車輛目標(biāo)并將注意力集中在車側(cè)上方,說(shuō)明信息主要疊加在該區(qū)域;特征圖Mc通過(guò)通道域處理,加強(qiáng)了各通道之間的依賴性,使注意力權(quán)重集中在信息豐富的區(qū)域,在圖3(b)中已知車側(cè)上方信息豐富,因此圖3(c)中該位置高亮效果更為顯著;特征圖Ms經(jīng)過(guò)空間域處理,突出了各通道上不同空間重要程度,在圖3(c)基礎(chǔ)上,額外獲取了車頭、車門(mén)等關(guān)鍵部位特征,增大了有效預(yù)測(cè)區(qū)域。
由于YOLOv5s將輸入圖像調(diào)整為640×640×3的格式,因此在經(jīng)過(guò)主干特征提取網(wǎng)絡(luò)卷積后會(huì)得到維度分別為80×80×256、40×40×512、20×20×1 024的特征圖f1、f2和f3,并將其輸入到金字塔網(wǎng)絡(luò)中進(jìn)行多尺度特征融合。金字塔網(wǎng)絡(luò)通過(guò)融合多尺度特征圖加強(qiáng)了不同語(yǔ)義、分辨率特征圖像的信息關(guān)聯(lián)度,但破壞了特征的權(quán)重系數(shù),網(wǎng)絡(luò)無(wú)法著重融合關(guān)鍵位置信息。
目標(biāo)檢測(cè)主要有兩大任務(wù):目標(biāo)分類和定位,兩者分別依賴于深層網(wǎng)絡(luò)中的高級(jí)語(yǔ)義信息和淺層網(wǎng)絡(luò)中的車輛目標(biāo)位置信息。在3.2節(jié)中,卷積注意力殘差單元主要通過(guò)提取關(guān)鍵特征用以提升分類精確度,在本小節(jié)中,卷積注意力金字塔網(wǎng)絡(luò)則側(cè)重于解決目標(biāo)定位問(wèn)題。
金字塔網(wǎng)絡(luò)主要通過(guò)采樣操作融合不同層級(jí)之間的特征,以保證其兼顧高級(jí)語(yǔ)義和車輛位置信息,但如3.2節(jié)中提到的網(wǎng)絡(luò)無(wú)法區(qū)分特征重要程度。為此,借鑒上述思想,通過(guò)在不同層次特征融合之前加入CBAM注意力機(jī)制,給定特征空間和通道方向上的一個(gè)權(quán)重,以保證金字塔網(wǎng)絡(luò)能夠融合關(guān)鍵信息,進(jìn)而提升模型準(zhǔn)確度。具體方式是在金字塔網(wǎng)絡(luò)上采樣和下采樣模塊后加入卷積注意力機(jī)制,形成卷積注意力金字塔網(wǎng)絡(luò)(CBAMPANet,CP)。卷積注意力金字塔網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。其中,圖4(a)為主干特征提取網(wǎng)絡(luò);圖4(b)代表深層特征降通道 維度拼接淺層位置信息的過(guò)程,中間特征為[P3,P2,P1];圖4(c)代表淺層升通道維度融合深層語(yǔ)義的過(guò)程,該過(guò)程會(huì)產(chǎn)生最終待分類回歸特征[N1,N2,N3]。為清晰直觀地描述中間過(guò)程特征,通過(guò)給予對(duì)應(yīng)熱力圖進(jìn)行分析,效果如圖5所示。
圖4 卷積注意力金字塔網(wǎng)絡(luò)。(a)主干特征提取網(wǎng)絡(luò);(b)自上向下的路徑增強(qiáng);(c)自下向上的路徑增強(qiáng)。Fig.4 Convolutional attention pyramid network.(a)Backbone;(b)Up-bottom path augmentation;(c)Bottom-up path augmentaion.
圖5 中間過(guò)程熱力圖Fig.5 Intermediate process heat map
特征圖P3來(lái)自于深層特征f1,因此具備全網(wǎng)絡(luò)中最為豐富的語(yǔ)義信息,但由于深層網(wǎng)絡(luò)目標(biāo)位置信息欠缺,導(dǎo)致最終預(yù)測(cè)區(qū)域并不理想,僅能檢測(cè)到車側(cè)上方部分,這一效果與3.2節(jié)中最終效果類似,說(shuō)明圖像中該區(qū)域特征在全局中的信息最為豐富;P3經(jīng)上采樣、CBAM處理后與特征圖f2拼接形成P2,f2相較于f1,兼顧了語(yǔ)義和位置信息,而P3上采樣過(guò)程中融入了CBAM模塊,使用權(quán)重將注意力集中在關(guān)鍵區(qū)域,因此預(yù)測(cè)范圍囊括了車身和車頭等關(guān)鍵部位,基本覆蓋整體車輛,具有較好的檢測(cè)效果;P1來(lái)自于同級(jí)特征f3和經(jīng)CBAM處理的上級(jí)特征,由于P1作為圖4(b)中最后一步,包含的特征信息更為豐富,覆蓋預(yù)測(cè)區(qū)域更為廣泛且明顯。N1是基于P1進(jìn)行的卷積等操作,從而預(yù)測(cè)區(qū)域與P1相似;N2檢測(cè)效果較好的原因,一方面是來(lái)自同級(jí)特征P2在上采樣操作中包含的信息已較為豐富,另一方面下級(jí)特征P1經(jīng)CBAM處理后將注意力集中在特征關(guān)鍵部分;N3與N2原理基本相同,作為圖4(c)中最后一步,其包含了豐富的疊加信息,因此預(yù)測(cè)區(qū)域優(yōu)于所有中間過(guò)程效果圖。
在圖4(b)中,淺層特征(如f3)車輛位置清晰,但由于卷積處理較少,特征語(yǔ)義信息欠缺,無(wú)法精確進(jìn)行分類;深層特征(如P3)車輛信息模糊,但經(jīng)過(guò)更多卷積提取,語(yǔ)義信息豐富;因此圖4(a)過(guò)程主要利用深層特征的語(yǔ)義信息豐富淺層特征,使其能夠精確定位和分類,融合后的特征如P1所示,該過(guò)程可描述為:深層特征通過(guò)上采樣降低特征維度、增強(qiáng)位置信息,然后經(jīng)過(guò)CBAM進(jìn)行賦權(quán),最后與淺層特征進(jìn)行拼接。而圖4(b)過(guò)程的目的在于,通過(guò)利用淺層特征的位置信息豐富深層特征,使其具備明顯的車輛信息,拼接后的特征如N3所示,該過(guò)程可描述為:淺層特征通過(guò)下采樣提升特征維度、豐富語(yǔ)義信息,經(jīng)過(guò)CBAM進(jìn)行賦權(quán)后與淺層特征進(jìn)行融合。上采樣(UpSample)用于擴(kuò)展圖像尺度并壓縮通道,下采樣(DownSaple)用于壓縮圖像空間并擴(kuò)張通道。具體公式如式(5)、(6)所示:
式中:TransConv是卷積核2×2的反卷積,Conv是卷積核為3×3的卷積,fc代表當(dāng)前特征的通道,fw×h為當(dāng)前特征的寬高。
在殘差單元之后加入CBAM,強(qiáng)化主干特征提取網(wǎng)絡(luò)對(duì)目標(biāo)細(xì)節(jié)的學(xué)習(xí)能力,抑制冗余信息干擾,獲取關(guān)鍵的高級(jí)語(yǔ)義信息以保證提升目標(biāo)分類準(zhǔn)確度;在不同的層級(jí)特征融合之前加入CBAM,給予待融合特征重要性權(quán)重,豐富特征的關(guān)鍵車輛位置信息來(lái)增強(qiáng)目標(biāo)定位精準(zhǔn)度。通過(guò)上述內(nèi)容可知,卷積注意力殘差單元和卷積金字塔網(wǎng)絡(luò)分別用于完善目標(biāo)分類和定位任務(wù)。為證明改進(jìn)方法的有效性,在4.5節(jié)中將對(duì)各改進(jìn)模塊進(jìn)行消融實(shí)驗(yàn)。
實(shí)驗(yàn)過(guò)程在Pytorch框架下進(jìn)行,訓(xùn)練及測(cè)試的計(jì)算機(jī)硬件配置GPU為NVIDIA Geforce RTX 3 090 Ti,操 作 系 統(tǒng) 為Ubuntu 16.04.12,python版本為3.6.5。使用寧夏地區(qū)2020年8月6日至2021年11月24日的高速公路視頻數(shù)據(jù),共計(jì)26.2G,視頻顯示格式為1 080 P,每秒傳輸幀數(shù)為25,囊括普通高速公路、分岔路口、收費(fèi)站、盤(pán)山公路、隧道和高架橋等6類高速道路場(chǎng)景下的各類遮擋物與截?cái)嗄繕?biāo),可滿足本文方法對(duì)于復(fù)雜場(chǎng)景數(shù)據(jù)的需求。
寧夏高速公路車輛數(shù)據(jù)集構(gòu)建方式如下:首先通過(guò)人工清洗車輛缺失目標(biāo)、模糊視頻;然后使用Python腳本文件將視頻截幀(截幀間隔2 s)并清洗,去除冗余、圖像撕裂、馬賽克等無(wú)效數(shù)據(jù);接著使用labelimg工具標(biāo)注圖像車輛目標(biāo),并設(shè)置Car、Van、Bus和Truck四種車輛類別標(biāo)簽,標(biāo)注完成1 200張圖片后經(jīng)數(shù)據(jù)增強(qiáng)得到3 000張;最后按照訓(xùn)練集∶驗(yàn)證集∶測(cè)試集=8∶1∶1的比例對(duì)數(shù)據(jù)集進(jìn)行劃分,得到訓(xùn)練集圖像數(shù)量2 400張、驗(yàn)證集圖像數(shù)量300張、測(cè)試集圖像300張。各類車型數(shù)據(jù)如表1所示。
表1 數(shù)據(jù)集內(nèi)容描述Tab.1 Datasets content description
本文使用每秒傳輸幀數(shù)(Frames Per Second,F(xiàn)PS)[18]評(píng)估算法檢測(cè)速度,采用均值平均精度(Mean Average Precision,mAP)[19-24]對(duì)算法檢測(cè)精度進(jìn)行定量評(píng)估。
FPS即視頻中的畫(huà)面數(shù),每秒幀數(shù)越多,所顯示的動(dòng)作就越流暢。通常情況下,F(xiàn)PS高于50 f/s時(shí),就可滿足實(shí)時(shí)目標(biāo)檢測(cè)的要求。計(jì)算公式如式(7)所示:
式中:frameCount代表視頻總幀數(shù),elapsedTime代表視頻總時(shí)間。
mAP由精確率(Precision)和召回率(Recall)求出。精確率又被稱為查準(zhǔn)率,用于衡量算法的準(zhǔn)確度;召回率又稱查全率,用于衡量算法的漏檢率,計(jì)算公式如式(8)、(9)所示:
其中:TP表示正確分類樣本數(shù)量,F(xiàn)P表示誤分樣本數(shù)量,F(xiàn)N表示樣本誤檢數(shù)量。
平均精度(Average Precision,AP)用于計(jì)算單類別的檢測(cè)精度;其表示精確率與召回率所圍成曲線的面積,均值平均精度用于計(jì)算多個(gè)類別的平均精度,計(jì)算公式如式(10)所示:
其中,M代表數(shù)據(jù)集的類別總數(shù)。
本實(shí)驗(yàn)采用多任務(wù)損失函數(shù)優(yōu)化網(wǎng)絡(luò)參數(shù),利用k-means算法[25]對(duì)寧夏高速公路車輛數(shù)據(jù)集進(jìn)行聚類獲得多尺度錨框,寬高分別為(15,12)、(23,18)、(41,18),(36,28)、(65,30)、(78,59),(122,51)、(154,90)、(189,171)。設(shè)置相同模型參數(shù):輸入圖像尺寸為640×640,初始學(xué)習(xí)率設(shè)置為0.001,網(wǎng)絡(luò)模型訓(xùn)練過(guò)程中選擇余弦退火方式[26]來(lái)降低學(xué)習(xí)率,訓(xùn)練批次大小(Batch size)設(shè)置為32,迭代次數(shù)為15 000次。訓(xùn)練過(guò)程損失下降曲線如圖6所示。由圖6可知,網(wǎng)絡(luò)訓(xùn)練初期下降較快,在2 000次左右到達(dá)拐點(diǎn),損失下降梯度減緩,14 500次左右損失下降趨于平穩(wěn),最終損失收斂在0.025左右。
圖6 損失下降曲線Fig.6 Loss decline curve
為驗(yàn)證和評(píng)估本文改進(jìn)方法的性能,實(shí)驗(yàn)將本文方法(YOLOv5s-CRCP)與主流的車輛目標(biāo)實(shí) 時(shí) 檢 測(cè) 算 法SSD、YOLOv3、YOLOv4、YOLOv5s在寧夏高速公路車輛數(shù)據(jù)集上進(jìn)行對(duì)比。檢測(cè)精度和檢測(cè)速度的實(shí)驗(yàn)結(jié)果如表2和表3所示。
表2 不同算法在寧夏高速公路車輛數(shù)據(jù)集的檢測(cè)精度對(duì)比Tab.2 Comparison of detection accuracy of different algorithms on Ningxia expressway vehicle datasets
表3 不同算法在寧夏高速公路車輛數(shù)據(jù)集的檢測(cè)速度對(duì)比Tab.3 Comparison of test results of different algorithms on Ningxia expressway vehicle datasets
由表2可知,本文方法通過(guò)在殘差單元和金字塔網(wǎng)絡(luò)中融合卷積注意力模塊,提高了模型的檢測(cè)精度,各類車輛的檢測(cè)精度分別為99.5%、74.4%、92.3%和98.6%,均值檢測(cè)精度高達(dá)91.2%,優(yōu)于表中任一主流車輛目標(biāo)實(shí)時(shí)檢測(cè)模型。SSD模型均值檢測(cè)精度僅為78.2%,主要原因是主干網(wǎng)絡(luò)的低級(jí)特征卷積層數(shù)少,特征提取不充分,并且未對(duì)不同尺度特征進(jìn)行融合。YOLOv3模型通過(guò)使用DarkNet53作為骨干網(wǎng)絡(luò)以加深網(wǎng)絡(luò)層數(shù),充分提取特征信息,并使用特征金字塔網(wǎng)絡(luò)充分融合不同尺度特征,將均值檢測(cè)精度提升到84.5%。YOLOv4使用數(shù)據(jù)增強(qiáng),擴(kuò)充訓(xùn)練數(shù)據(jù)將模型均值檢測(cè)精度提高到88.6%。YOLOv5s模型由于網(wǎng)絡(luò)參數(shù)量大幅減少導(dǎo)致檢測(cè)精度相較于YOLOv4下降1.5%,為87.1%,能達(dá)到實(shí)時(shí)目標(biāo)檢測(cè)的要求。
由表3可知,在同一環(huán)境下,SSD模型主要采用VGG16作為特征提取網(wǎng)絡(luò),因參數(shù)量過(guò)多導(dǎo)致網(wǎng)絡(luò)檢測(cè)速度較慢,其檢測(cè)速度僅為26 f/s。YOLOv3模型以DarkNet53作為骨干網(wǎng)絡(luò)模型,網(wǎng)絡(luò)中參數(shù)量大幅降低,檢測(cè)速度為36 f/s,相較于SSD模型具有明顯的提升。YOLOv4使用CSPDarkNet53模型分組處理特征,降低了網(wǎng)絡(luò)參數(shù)量,使檢測(cè)速度略微提升,達(dá)到38 f/s。YOLOv5s模型對(duì)主干網(wǎng)絡(luò)模型進(jìn)行深度和寬度壓縮并使用focus結(jié)構(gòu)分治處理輸入特征,極大降低了網(wǎng)絡(luò)參數(shù)量,檢測(cè)速度達(dá)到77 f/s。本文方法在YOLOv5s的基礎(chǔ)上添加了CBAM機(jī)制,由于CBAM中包含MLP結(jié)構(gòu),導(dǎo)致參數(shù)量有所增加,使檢測(cè)速度略微降低,為75 f/s,但仍能達(dá)到實(shí)時(shí)檢測(cè)的要求。
本文以圖3輸入的特征圖像為例,對(duì)上述各模塊進(jìn)行消融實(shí)驗(yàn)過(guò)程說(shuō)明。整體處理流程為:(1)待檢測(cè)圖像經(jīng)過(guò)包含卷積注意力殘差單元的主干特征提取網(wǎng)絡(luò)提取到多尺度特征;(2)輸入到卷積注意力金字塔網(wǎng)絡(luò)中進(jìn)行多尺度特征融合。處理步驟(1)、(2)分別如圖7所示。
圖7 整體實(shí)驗(yàn)流程圖Fig.7 Overall process flowchart
4.5.1卷積注意力殘差單元實(shí)驗(yàn)分析
為驗(yàn)證卷積注意力殘差單元融入主干特征提取網(wǎng)絡(luò)后的性能,本文基于寧夏高速車輛數(shù)據(jù)集進(jìn)行實(shí)驗(yàn):實(shí)驗(yàn)1.基準(zhǔn)模型(YOLOv5s);實(shí)驗(yàn)2.僅使用CAM模塊;實(shí)驗(yàn)3.僅引入SAM單元;實(shí)驗(yàn)4.同時(shí)添加CAM和SAM模塊(YOLOv5s-CR)。實(shí)驗(yàn)結(jié)果如表4所示。
由表4可知,加入CAM模塊后,檢測(cè)精度提升了1.6%,這主要?dú)w功于MLP多層感知機(jī)使用全連接提取了更多的細(xì)節(jié)特征;引入SAM模塊檢測(cè)精度提升不明顯,原因在于SAM僅通過(guò)串行池化的方式增大了感受野,但依舊采用卷積捕獲特征,因此精度提升不大;同時(shí)引入SAM和CAM時(shí),模型精度相較于原模型提升了2.2%,有著較好的檢測(cè)效果,故最終本文采用實(shí)驗(yàn)4的模型架構(gòu)。
表4 卷積注意力殘差單元的消融實(shí)驗(yàn)Tab.4 Ablation experiment of CR
為進(jìn)一步說(shuō)明CAM和SAM的作用,對(duì)其引入到主干特征提取網(wǎng)絡(luò)前后的提取結(jié)果通過(guò)熱力圖進(jìn)行對(duì)比分析,如圖8所示。在不引入任何注意力機(jī)制時(shí),具體實(shí)驗(yàn)結(jié)果如圖8(b)所示;引入SAM時(shí),主干特征提取網(wǎng)絡(luò)提取結(jié)果如圖8(c)所示;引入CAM時(shí),提取特征實(shí)驗(yàn)結(jié)果如圖8(d)所示;同時(shí)引入CAM和SAM的提取結(jié)果如圖8(e)所示。
圖8 主干網(wǎng)絡(luò)提取特征結(jié)果Fig.8 Backbone network extraction feature results
由圖8可知,引入注意力機(jī)制后,網(wǎng)絡(luò)能夠更加關(guān)注目標(biāo)關(guān)鍵特征,進(jìn)而突出車輛輪廓,忽略背景冗余信息,因此特征的提取效果均高于原模型;使用CAM捕獲特征的效果要高于SAM,主要表現(xiàn)CAM能夠?qū)⒆⒁饬性谡w車身等明顯的車輛特征部位,而SAM僅能突出車頂部位,對(duì)于其他關(guān)鍵部位的處理效果較弱;同時(shí)引入CAM和SAM時(shí),整體車身、車頭等關(guān)鍵部位均能關(guān)注,效果顯著。
4.5.2卷積注意力金字塔網(wǎng)絡(luò)實(shí)驗(yàn)分析
為驗(yàn)證CBAM加入特征融合網(wǎng)絡(luò)后的性能,本文進(jìn)行如下實(shí)驗(yàn):實(shí)驗(yàn)1.基準(zhǔn)模型(YOLOv5s);實(shí)驗(yàn)2.僅在上采樣單元添加CBAM模塊;實(shí)驗(yàn)3.僅在下采樣單元添加CBAM模塊;實(shí)驗(yàn)4.在上、下采樣后同時(shí)添加CBAM模塊(YOLOv5s-CP)。最終實(shí)驗(yàn)結(jié)果如表5所示。
由表5可知,僅在特征融合網(wǎng)絡(luò)中上采樣后加入CBAM模塊精度提升了2.3%;僅在下采樣后添加CBAM,精度提升了1.6%,低于實(shí)驗(yàn)3的原因?yàn)椋虏蓸舆^(guò)程在上采樣特征融合完成之后,其目標(biāo)位置信息并不清晰,因而提升效果略低;同時(shí)添加CBAM模塊的檢測(cè)精度較于原模型提升了3%,在實(shí)際應(yīng)用中表現(xiàn)良好,因而本文使用實(shí)驗(yàn)4的模型架構(gòu)。
表5 卷積注意力殘差單元的消融實(shí)驗(yàn)Tab.5 Ablation experiment of CP
為進(jìn)一步說(shuō)明在特征融合網(wǎng)絡(luò)的上下采樣操作后加入CBAM的作用,對(duì)提取結(jié)果通過(guò)熱力圖進(jìn)行對(duì)比分析,如圖9所示。在不添加CBAM時(shí),PANet具體融合實(shí)驗(yàn)結(jié)果如圖9(b)所示;下采樣后引入CBAM的實(shí)驗(yàn)結(jié)果如圖9(c)所示;上采樣后添加CBAM的特征融合效果如圖9(d)所示;上、下采樣后同時(shí)引入CBAM的提取結(jié)果如圖9(e)所示。
圖9 特征融合結(jié)果Fig.9 Feature fusion result
由圖9可知,未添加注意力機(jī)制的特征圖注意力主要集中在車頂部位,并不能很好地將注意力集中在車輛整體模塊;在下采樣操作后添加CBAM,能夠?qū)⒆⒁饬μ嵘杰図敽蛙嚿聿糠治恢?,但效果依舊不理想;在上采樣過(guò)程后添加CBAM的效果明顯優(yōu)于前者,網(wǎng)絡(luò)將注意力擴(kuò)散至車輛整體架構(gòu),對(duì)于車身能夠整體覆蓋;在上下采樣后同時(shí)添加CBAM,突出重點(diǎn)位置基本與圖9(d)相似,但是覆蓋面積更為廣泛,效果更好。
4.5.3最終模型實(shí)驗(yàn)分析
為探究各改進(jìn)模塊對(duì)最終模型檢測(cè)效果的影響,在寧夏高速公路車輛數(shù)據(jù)集上進(jìn)行了以下實(shí)驗(yàn):實(shí)驗(yàn)1.基準(zhǔn)模型(YOLOv5s);實(shí)驗(yàn)2.加入卷積注意力殘差單元;實(shí)驗(yàn)3.加入卷積金字塔網(wǎng)絡(luò);實(shí)驗(yàn)4.同時(shí)添加卷積注意力殘差單元和卷積注意力金字塔網(wǎng)絡(luò)。結(jié)果如表6所示。
在4.5.1和4.5.2節(jié)中詳細(xì)分析了引入卷積注意力殘差單元和卷積注意力金字塔網(wǎng)絡(luò)的效果,本實(shí)驗(yàn)主要關(guān)注同時(shí)融入兩者的影響。從表6中可知,實(shí)驗(yàn)4通過(guò)同時(shí)在主干特征提取網(wǎng)絡(luò)和特征融合網(wǎng)絡(luò)中加入CBAM模塊,分別用于提取關(guān)鍵特征和融合關(guān)鍵信息,最終檢測(cè)精度達(dá)到了91.2%,相較于基準(zhǔn)模型提升4.1%;在檢測(cè)速度方面,由于添加了CBAM模塊,導(dǎo)致網(wǎng)絡(luò)參數(shù)略微增加,F(xiàn)PS降低為75,但與原模型差距不大,仍能保持實(shí)時(shí)檢測(cè)。因此,本文改進(jìn)模型能夠在兼顧檢測(cè)速度的同時(shí),提升了檢測(cè)精度,更能滿足實(shí)際車輛目標(biāo)檢測(cè)場(chǎng)景。本文模型對(duì)寧夏高速公路數(shù)據(jù)集中的Car、Van、Truck和Bus四類車型進(jìn)行檢測(cè),效果如圖10所示。由圖10可知,本文方法能夠?qū)⒆⒁饬性谲囕v目標(biāo)的關(guān)鍵部位,如車頭、車身以及車頂?shù)龋渲蠧ar和Truck效果最佳,基本可將車輛整體進(jìn)行覆蓋;Bus和Van可覆蓋主要車身部分,但對(duì)于車頭注意力較弱,主要由于數(shù)據(jù)量相對(duì)較少,特征提取不充分。
表6 最終算法消融實(shí)驗(yàn)Tab.6 Final algorithm ablation experiment
圖10 特征融合結(jié)果Fig10 Feature fusion results
為直觀表述本文方法在不同道路環(huán)境下的有效性,選取寧夏高速公路測(cè)試集中普通道路、分岔路口、收費(fèi)站、盤(pán)山公路、隧道和高架橋等不同道路場(chǎng)景進(jìn)行定性分析測(cè)試,并將本文模型與主流實(shí)時(shí)目標(biāo)檢測(cè)算法進(jìn)行對(duì)比。檢測(cè)效果如圖11所示,每組依次為原圖、SSD、YOLOv3、YOLOv4、YOLOv5s和 本 文算法。
圖11 寧夏高速公路車輛測(cè)試集上的效果圖Fig.11 Renderings on Ningxia expressway vehicle test sets
通過(guò)對(duì)比發(fā)現(xiàn),在普通道路、分岔路口和收費(fèi)站口場(chǎng)景下,各算法均能正確檢測(cè)出車輛類別,主要原因是道路情況較為簡(jiǎn)單,數(shù)據(jù)集中Truck和Car標(biāo)簽充足,但本文方法檢測(cè)得分更高;在盤(pán)山公路場(chǎng)景下,SSD出現(xiàn)漏檢車輛Car,其余算法均能正確檢測(cè)出目標(biāo);在隧道中,SSD算法再次出現(xiàn)漏檢現(xiàn)象,并且各算法均將Van誤檢為T(mén)ruck,主要原因在于Van的特征與Truck相似、不易區(qū)分,而本文算法通過(guò)卷積注意力機(jī)制模塊的添加則能很好學(xué)習(xí)車輛細(xì)節(jié)特征,最終正確檢測(cè)出車輛類別;在高架橋中,SSD和YOLOv3將Van分 別 誤 檢 為Car和Bus并均存在漏檢車輛,YOLOv4檢測(cè)正確但檢測(cè)精度較低,YOLOv5s則出現(xiàn)了重復(fù)標(biāo)簽現(xiàn)象,本文方法則取得了較高的檢測(cè)精度。
針對(duì)復(fù)雜高速場(chǎng)景下YOLOv5s算法細(xì)節(jié)特征學(xué)習(xí)能力弱、提取冗余信息過(guò)多和關(guān)鍵特征融合不充分等問(wèn)題,本文提出了基于YOLOv5s的實(shí)時(shí)車輛目標(biāo)檢測(cè)模型,在YOLOv5s的殘差單元和金字塔網(wǎng)絡(luò)中加入卷積注意力機(jī)制模塊,通過(guò)動(dòng)態(tài)分配特征權(quán)重系數(shù)的方式,改善了上述問(wèn)題。在自構(gòu)建的寧夏高速公路車輛數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),通過(guò)評(píng)價(jià)指標(biāo)mAP、FPS和測(cè)試效果圖可知,相較于主流的實(shí)時(shí)目標(biāo)檢測(cè)算法,本文的改進(jìn)模型具有更好的檢測(cè)性能,但仍存在數(shù)據(jù)集不充分和極小目標(biāo)車輛檢測(cè)精度低等問(wèn)題,因此在后續(xù)工作中將繼續(xù)擴(kuò)充數(shù)據(jù)集并提升極小目標(biāo)車輛的檢測(cè)精度。