劉海斌,張友兵,周 奎,張宇豐,呂 圣
湖北汽車工業(yè)學(xué)院汽車工程師學(xué)院Sharing-X移動服務(wù)技術(shù)平臺聯(lián)合實(shí)驗(yàn)室,湖北 十堰 442000
在無人駕駛領(lǐng)域,道路交通規(guī)則制約著智能汽車的應(yīng)用與部署,對于智能汽車來說,實(shí)時(shí)可靠的交通信息是其在道路上安全行駛的首要前提[1-2]。作為智能交通系統(tǒng)(intelligent transportation system,ⅠTS)的一項(xiàng)基礎(chǔ)功能,同時(shí)也是無人駕駛體系下的一個(gè)研究對象,交通標(biāo)志的感知及其含義的理解有著重要的研究意義。
交通標(biāo)志檢測旨在識別圖像或視頻序列中交通標(biāo)志的位置、類別和大小,根據(jù)技術(shù)種類的不同分為傳統(tǒng)的交通標(biāo)志檢測方法和基于深度學(xué)習(xí)的交通標(biāo)志檢測方法。傳統(tǒng)的檢測方法更多的是結(jié)合交通標(biāo)志自身的顏色與形狀特征[3-4],采用滑動窗口等方式產(chǎn)生候選區(qū)域,使用諸如尺度不變特征變換(scale invariant feature transform,SⅠFT)或者方向梯度直方圖(histogram of oriented gradient,HOG)等算法提取候選區(qū)域的圖像特征,再使用諸如支持向量機(jī)(support vector machine,SVM)等分類器篩選目標(biāo)類別。綜合來看,傳統(tǒng)方法需要結(jié)合多個(gè)處理步驟,算法的設(shè)計(jì)更復(fù)雜,同時(shí)人工設(shè)計(jì)的特征魯棒性差、適用性弱,不能滿足無人駕駛場景下的可靠性需求。
隨著深度學(xué)習(xí)技術(shù)的興起,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)在模式識別領(lǐng)域取得了重大的技術(shù)突破。基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法可以克服傳統(tǒng)方法的諸多缺陷,具有更高的檢測精度和魯棒性。根據(jù)是否生成目標(biāo)的區(qū)域建議,基于深度學(xué)習(xí)技術(shù)的目標(biāo)檢測算法分為兩類:two-stage 算法和singlestage 檢測算法。在two-stage 檢測算法中,選擇性搜索或區(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN)被用來生成目標(biāo)的區(qū)域建議,在此基礎(chǔ)上通過神經(jīng)網(wǎng)絡(luò)進(jìn)行分類處理,在結(jié)構(gòu)上略為復(fù)雜,常見的有Fast R-CNN[5]、Faster R-CNN[6]、Mask R-CNN[7]等。張毅等人[8]通過改進(jìn)Faster R-CNN的基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu),在TT100K數(shù)據(jù)集上將檢測精度提高了13.14%,但是算法的計(jì)算量太大,實(shí)時(shí)表現(xiàn)差。Han 等人[9]提出了一種改進(jìn)Faster R-CNN的實(shí)時(shí)小尺寸交通標(biāo)志檢測方法,通過修剪冗余網(wǎng)絡(luò)層以及采用空洞卷積的方式使得算法在分割小尺寸交通標(biāo)志候選區(qū)域時(shí)更加穩(wěn)健。雖然two-stage 算法具有不錯(cuò)的檢測精度,但其整體性能依賴于候選區(qū)域選擇算法,實(shí)時(shí)性較差。而single-stage算法不需要生成目標(biāo)的區(qū)域建議,可同時(shí)完成不同目標(biāo)的定位和分類,檢測效率更高,常見的有SSD[10]和YOLO[11-18]系列。劉紫燕等人[19]通過改進(jìn)空間金字塔池化(spatial pyramid pooling,SPP)[20]層以及特征金字塔網(wǎng)絡(luò)(feature pyramid network,F(xiàn)PN)[21]層產(chǎn)生更大尺度的特征圖,提高了YOLOv3 對小尺寸交通標(biāo)志的檢測精度。Fan等人[22]使用DenseNet作為YOLOv3的骨干網(wǎng)絡(luò),使得模型具有更少的參數(shù)量和更快的檢測速度。馮愛棋等人[23]通過融合注意力機(jī)制以及視覺Transformer 來增強(qiáng)對交通標(biāo)志的關(guān)注程度,改善了對小尺寸交通標(biāo)志的漏檢情況。俞林森等人[24]提出YOLOT 算法,采用注意力機(jī)制以及改進(jìn)損失函數(shù)的方法改善算法對交通標(biāo)志的檢測效果,但是實(shí)時(shí)性不夠好,檢測速度不夠快。
長期以來,交通標(biāo)志的檢測是計(jì)算機(jī)視覺領(lǐng)域當(dāng)中具有挑戰(zhàn)性的一項(xiàng)任務(wù)。交通標(biāo)志通常是小尺寸目標(biāo),缺乏足夠的視覺特征,因此有時(shí)很難將其與背景或類似的物體區(qū)分開來,這也使得交通標(biāo)志更容易受到自然因素如復(fù)雜光照或遮擋問題的影響。為了能夠更好地識別道路場景中的交通標(biāo)志,需要定制一種能夠抑制背景噪聲干擾、具有高精度和高計(jì)算效率的交通標(biāo)志檢測算法。YOLOv5作為當(dāng)前流行的深度學(xué)習(xí)目標(biāo)檢測算法,其已經(jīng)整合了大量的優(yōu)化策略,但是在檢測交通標(biāo)志時(shí)還是容易出現(xiàn)錯(cuò)檢或漏檢的問題?;诖?,本文提出一種改進(jìn)YOLOv5-S的交通標(biāo)志檢測算法,在保證實(shí)時(shí)檢測的同時(shí)有著更高的檢測精度及魯棒性。本文的主要工作如下:(1)提出一種融合了坐標(biāo)注意力(coordinate attention,CA)[25]機(jī)制的C3 模塊并將其應(yīng)用到Y(jié)OLOv5的主干網(wǎng)絡(luò)當(dāng)中,在減少網(wǎng)絡(luò)層數(shù)占用的同時(shí)獲得更好的注意力關(guān)注效果。(2)在邊界框回歸階段引入定位損失計(jì)算函數(shù)Focal-EⅠoU[26],使得算法更加關(guān)注高質(zhì)量的分類樣本,提高對難分類樣本的學(xué)習(xí)能力。(3)在頸部網(wǎng)絡(luò)當(dāng)中采用輕量級卷積結(jié)構(gòu)GSConv[27]來替換普通降維卷積,在降低網(wǎng)絡(luò)參數(shù)量的同時(shí)提高特征的豐富程度。(4)本文改進(jìn)了YOLOv5 的特征金字塔結(jié)構(gòu),通過更大尺度的特征圖來檢測小尺寸物體,在不增加過多計(jì)算量的前提下獲得更好的交通標(biāo)志檢測效果。
YOLOv5 是一種single-stage 的目標(biāo)檢測算法,它結(jié)合了以往YOLO 系列的諸多優(yōu)點(diǎn),有著不錯(cuò)的精準(zhǔn)度以及實(shí)時(shí)性表現(xiàn)。YOLOv5 包含多種版本,包括YOLOv5-N、YOLOv5-S、YOLOv5-M、YOLOv5-L 和YOLOv5-X等,通過調(diào)整配置文件可以自由的改變網(wǎng)絡(luò)的深度和寬度。YOLOv5有著出色的可擴(kuò)展性,在生產(chǎn)環(huán)境當(dāng)中有著廣泛的應(yīng)用部署。YOLOv5 的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of YOLOv5
YOLOv5 采用了分類損失、定位損失以及置信度損失三種損失函數(shù)來評估算法的預(yù)測性能。交并比(intersection over union,ⅠoU)是一個(gè)計(jì)算定位損失的簡單函數(shù),通過計(jì)算交并比來評估兩個(gè)邊界框的重疊程度。然而,ⅠoU 有著諸多的缺陷,無法應(yīng)用于實(shí)際情況。如今,定位損失的計(jì)算方法有著許多不同的改進(jìn)版本,常見的如GⅠoU[28]、DⅠoU 和CⅠoU[29]等,其中CⅠoU 是一種考慮了更多優(yōu)化策略的損失函數(shù),有著比較好的評價(jià)準(zhǔn)確度。最新的YOLOv5算法使用了CⅠoU函數(shù)來計(jì)算定位損失。ⅠoU 以及CⅠoU 的表達(dá)式如式(1)和式(2)所示:
其中,b和分別表示預(yù)測框和真實(shí)框,ρ表示兩者之間的歐式距離,C表示兩者的最小閉包區(qū)域內(nèi)的對角線距離。v和α分別為長寬比評價(jià)參數(shù)和平衡因子,其公式如式(3)、式(4)所示:
作為當(dāng)前流行的目標(biāo)檢測算法,YOLOv5已經(jīng)整合了大量的優(yōu)化策略,但其提取到的特征易受噪聲的影響、特征信息的豐富程度不足等問題使得YOLOv5 容易出現(xiàn)錯(cuò)檢或漏檢的問題。對此,本文設(shè)計(jì)了改進(jìn)的YOLOv5檢測算法,能夠更加有效地檢測交通標(biāo)志。
注意力機(jī)制可以降低背景噪聲帶來的干擾,使得神經(jīng)網(wǎng)絡(luò)更關(guān)注于目標(biāo)物體的顯著特征區(qū)域,生成質(zhì)量更優(yōu)的特征圖。常見的注意力機(jī)制從特征通道[30]或者特征空間域[31]的角度出發(fā),獲取目標(biāo)信息在不同通道和空間維度上的重要性權(quán)值。但是這種方法僅可以捕獲到物體的局部信息,缺乏對長范圍依賴特征的捕獲能力。坐標(biāo)注意力CA是一種能夠產(chǎn)生精確位置感知的注意力機(jī)制,能夠在空間方向進(jìn)行位置感知,使得網(wǎng)絡(luò)能夠在更大的區(qū)域上進(jìn)行注意力關(guān)注。坐標(biāo)注意力同時(shí)考慮了特征通道間的關(guān)系以及位置信息,能夠更好的定位敏感區(qū)域。坐標(biāo)注意力機(jī)制主要由坐標(biāo)信息嵌入和坐標(biāo)注意力生成兩個(gè)部分來構(gòu)建對目標(biāo)的長范圍依賴,圖2為坐標(biāo)注意力機(jī)制的結(jié)構(gòu)組成圖。
圖2 坐標(biāo)注意力機(jī)制的結(jié)構(gòu)Fig.2 Structure of coordinate attention mechanism
2.1.1 坐標(biāo)信息嵌入
不同于采用二維全局池化來計(jì)算通道注意力,坐標(biāo)注意力機(jī)制將二維全局池化拆分為兩個(gè)一維的編碼過程,分別從水平和垂直兩個(gè)方向獲取位置信息。具體而言采用一對尺寸為(H,1)和(1,W)的池化核對輸入特征的每個(gè)通道進(jìn)行水平和垂直方向的特征編碼,得到兩個(gè)方向的感知特征,計(jì)算過程如式(5)、式(6)所示:
其中,表示垂直方向上的感知特征,表示水平方向上的感知特征,Pc表示來自上層網(wǎng)絡(luò)的輸入特征,下標(biāo)c為特征向量的所屬通道。
2.1.2 坐標(biāo)注意力生成
在得到感知特征之后,就可以對通道信息進(jìn)行編碼。編碼時(shí)首先將兩個(gè)方向的感知特征進(jìn)行拼接,再使用一個(gè)卷積核為1×1 的卷積對通道進(jìn)行壓縮。隨后使用批標(biāo)準(zhǔn)化和非線性回歸來編碼兩個(gè)不同方向的空間信息,得到注意力關(guān)系圖fc,如式(7)所示:
在得到注意力關(guān)系圖后,將其先后經(jīng)過切分、1×1卷積變換和激活函數(shù)激活得到最終的區(qū)域權(quán)重和,將其作用于輸入特征Pc,就可以得到注意力增強(qiáng)后的特征圖。其中垂直區(qū)域權(quán)重的表達(dá)式如式(8)所示,水平區(qū)域權(quán)重的表達(dá)式如式(9)所示,調(diào)整后的特征如式(10)所示:
其中,和為切分之后的兩個(gè)獨(dú)立的張量,σ表示sigmoid激活函數(shù),Dc為經(jīng)過注意力調(diào)整后的特征圖。
本文在C3 模塊的輸出端連接坐標(biāo)注意力機(jī)制,形成新的C3CA模塊。相較于在網(wǎng)絡(luò)當(dāng)中單獨(dú)插入CA模塊,這種方法可以減少網(wǎng)絡(luò)層數(shù)的占用,計(jì)算效率更高。新的C3CA 模塊融合在主干網(wǎng)絡(luò)當(dāng)中有著最大感受野的位置,可以充分地捕獲全局特征信息,有效地發(fā)揮注意機(jī)制的作用。
雖然CⅠoU 考慮了邊界框的相交面積、中心點(diǎn)距離以及邊界框的長寬比,但是長寬比的衡量參數(shù)v計(jì)算比較復(fù)雜,降低了模型的收斂速度。當(dāng)v滿足條件{(w=kwgt,h=khgt)|k∈R+}時(shí)參數(shù)v就會失效,無法反映邊界框的差距。進(jìn)一步地對v求偏導(dǎo)數(shù),可以得知w和v不能同步增減,阻礙了算法評估邊界框相似度的準(zhǔn)確性。
交通標(biāo)志有著眾多的類別,常見種類如警告標(biāo)志、強(qiáng)制標(biāo)志和禁止標(biāo)志,而多數(shù)類別的標(biāo)志特征不夠明顯,識別起來存在困難;同時(shí),處在室外場景下的交通標(biāo)志會受到多種因素的影響,使得算法在樣本分類時(shí)會產(chǎn)生大量的負(fù)例,進(jìn)一步降低了難分樣本的識別?;诖?,本文采用Focal-EⅠoU 損失函數(shù)取代默認(rèn)函數(shù),提升算法對多分類的識別精確度和魯棒性。Focal-EⅠoU 由兩部分組成,分別是Focal Loss[32]和EⅠoU 損失函數(shù)。EⅠoU 取消了對邊界框長寬比的計(jì)算,改為邊界框長寬值的回歸,解決了w和v不能同步增減的問題。而引入Focal Loss 是因?yàn)镾ingle-Stage 算法在訓(xùn)練時(shí)更容易受到難易樣本以及正負(fù)樣本不均衡問題的影響,導(dǎo)致模型泛化能力的降低,而Focal Loss通過平衡不同類別和不同質(zhì)量樣本的權(quán)重,減少對易分類樣本的依賴,更加關(guān)注高質(zhì)量樣本,提高對難分類樣本的學(xué)習(xí)能力。Focal-EⅠoU的公式如式(11)、式(12)和式(13)所示:
式中,LIoU為ⅠoU損失,Ldis為距離損失,Lasp為方位損失,wc和hc為包含兩個(gè)邊界框的最小閉包區(qū)域的寬度和高度,參數(shù)α、β和γ為控制抑制程度的超參數(shù),用來平衡有益梯度和抑制有害梯度對模型的影響,C為保持函數(shù)連續(xù)的常數(shù)值。
深度可分離卷積(depth-wise separable convolution,DSC)是一種輕量級的卷積結(jié)構(gòu),通常情況下,在網(wǎng)絡(luò)當(dāng)中部署DSC 能夠有效地緩解計(jì)算成本帶來的壓力,但隨之而來的問題就是檢測精度的大幅度下降。由于DSC在計(jì)算過程中拆分處理每個(gè)通道的信息,丟失了大量的隱藏連接,其特征提取能力不如普通卷積。因此,本文參考了一種更優(yōu)秀的DSC 結(jié)構(gòu)GSConv。相對于標(biāo)準(zhǔn)卷積,GSConv參數(shù)量更少,更適合于構(gòu)建輕量級的檢測模型。
如圖3所示,GSConv是由標(biāo)準(zhǔn)卷積、DSC和隨機(jī)排序所組成的混合卷積結(jié)構(gòu),通過隨機(jī)排序混合標(biāo)準(zhǔn)卷積和DSC 所產(chǎn)生的特征圖,使得標(biāo)準(zhǔn)卷積所保留的特征信息滲透到DSC內(nèi)部,保持通道間的隱藏連接,提高特征的豐富程度??紤]到主干網(wǎng)絡(luò)的優(yōu)勢是特征提取,本文將GSConv模塊部署到網(wǎng)絡(luò)的頸部,在保證特征圖質(zhì)量的同時(shí)降低對模型推理時(shí)間的影響。
圖3 GSConv模塊結(jié)構(gòu)Fig.3 GSConv module structure
YOLOv5 采用了特征金字塔網(wǎng)絡(luò)FPN 以及路徑聚合網(wǎng)絡(luò)(path aggregation network,PANet)[33]相結(jié)合的結(jié)構(gòu)來融合不同尺度的特征。然而,默認(rèn)融合路徑產(chǎn)生的特征圖尺度最大為80×80,按照等比縮放的原則,原圖像相應(yīng)區(qū)域的物體在特征圖當(dāng)中占比只會更小,這不利于小尺寸物體的檢測。因此,本文將頸部網(wǎng)絡(luò)進(jìn)行加深,產(chǎn)生尺度更大的特征圖。具體來說就是在FPN結(jié)構(gòu)當(dāng)中添加一個(gè)上采樣層,產(chǎn)生160×160 大小的特征圖,再與骨干網(wǎng)絡(luò)的P2 輸出端進(jìn)行拼接。同時(shí)充分利用大尺寸特征圖的優(yōu)勢,在PAN結(jié)構(gòu)中將特征進(jìn)行一次下采樣,增強(qiáng)小尺寸特征圖的表達(dá)能力。最后得到4種不同尺度的特征圖(160×160,80×80,40×40,20×20)分別用來檢測小尺寸、中尺寸、大尺寸和最大尺寸的物體,在不增加過多計(jì)算量、不損失檢測精度的前提下獲得更好的小尺寸物體檢測效果。調(diào)整后的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 調(diào)整后的特征融合網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Structure of adapted feature fusion network
由于更改了特征融合網(wǎng)絡(luò),原有的錨框不再適用,因此本文基于TT100K 數(shù)據(jù)集使用K-means 聚類算法來重新計(jì)算新的錨框,聚類結(jié)果如表1 所示。對比默認(rèn)錨框,新的錨框尺寸更小,更符合交通標(biāo)志檢測的實(shí)際情況。
表1 K-means算法聚類結(jié)果Table 1 Cluster results of K-means algorithm
改進(jìn)后的網(wǎng)絡(luò)整體結(jié)構(gòu)如圖5所示。
圖5 改進(jìn)算法的網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Network structure of improved algorithm
實(shí)驗(yàn)所采用的硬件與軟件環(huán)境,如表2所示。
表2 實(shí)驗(yàn)環(huán)境Table 2 Experimental environment
除此之外,網(wǎng)絡(luò)輸入的大小為640×640,啟用MOSAⅠC圖像增強(qiáng);模型訓(xùn)練時(shí)的batch size 為自動確定,訓(xùn)練周期設(shè)置為200;權(quán)重參數(shù)優(yōu)化器使用隨機(jī)梯度下降(SGD)算法,初始學(xué)習(xí)率為0.01,使用余弦周期退火調(diào)整學(xué)習(xí)率。
本文采用TT100K[34]數(shù)據(jù)集來訓(xùn)練和驗(yàn)證改進(jìn)后的算法。TT100K是一個(gè)大型的中國交通標(biāo)志檢測基準(zhǔn)數(shù)據(jù)集,單張圖像的分辨率為2 048×2 048,在標(biāo)志尺寸、角度和遮擋程度等方面都有很大的變化。由于該數(shù)據(jù)集標(biāo)注了數(shù)百種檢測類別,而多數(shù)類別樣本量不足,會影響模型的訓(xùn)練效果。本實(shí)驗(yàn)從中篩選出了樣本數(shù)大于100的45個(gè)類別,總共8 293張圖片,按照8∶1∶1的比例劃分訓(xùn)練集、驗(yàn)證集與測試集。由于不同類別的訓(xùn)練樣本數(shù)量有較大差異,使用copy-paste 功能對訓(xùn)練樣本進(jìn)行擴(kuò)充。
本實(shí)驗(yàn)選擇了一些常見指標(biāo)來評價(jià)檢測算法的性能,包括精準(zhǔn)率(precision)、召回率(recall)、F1 分?jǐn)?shù)、mAP@0.5、mAP@0.5:0.95、參數(shù)量、FLOPs 和每秒幀速率FPS。F1分?jǐn)?shù)是一個(gè)綜合指標(biāo),同時(shí)考慮了精準(zhǔn)率和召回率來評價(jià)算法在正負(fù)樣本上的性能表現(xiàn)。均值平均精度(mAP)用于衡量多類別目標(biāo)檢測的準(zhǔn)確性,是所有類別平均精度(AP)的均值。mAP@0.5表示ⅠoU閾值為0.5時(shí)所有類別的均值平均精度;mAP@0.5:0.95表示ⅠoU閾值為0.5到0.95時(shí)的均值平均精度,其步長取0.05。
3.3.1 消融實(shí)驗(yàn)結(jié)果與分析
本文采用了多種方法來改進(jìn)YOLOv5-S算法,本小節(jié)設(shè)計(jì)了幾組消融實(shí)驗(yàn)來對比分析改進(jìn)的效果,實(shí)驗(yàn)結(jié)果匯總?cè)绫?所示。
表3 消融實(shí)驗(yàn)Table 3 Ablation experiment單位:%
從表中可以看出,對比前兩種方法的實(shí)驗(yàn)數(shù)據(jù),整合了小尺寸檢測層后的模型在精準(zhǔn)率、召回率和F1 分?jǐn)?shù)上均提升了5.1 個(gè)百分點(diǎn),同時(shí)mAP@0.5 提升了5.5個(gè)百分點(diǎn)、mAP@0.5:0.95 提升了5.6 個(gè)百分點(diǎn),這說明新的小尺寸檢測層能夠顯著改善算法對交通標(biāo)志的檢測效果,提升整體的性能表現(xiàn);第3 種方法在此基礎(chǔ)上融合了坐標(biāo)注意力機(jī)制,能夠輔助網(wǎng)絡(luò)在特征提取過程中捕獲目標(biāo)信息,獲得更多有效的特征細(xì)節(jié),訓(xùn)練結(jié)果顯示各項(xiàng)指標(biāo)均得到了一定程度的提升,對比上一種方法精準(zhǔn)率提高了0.7個(gè)百分點(diǎn),召回率提升了0.3個(gè)百分點(diǎn),F(xiàn)1分?jǐn)?shù)提升了0.5個(gè)百分點(diǎn),mAP@0.5提升了0.6個(gè)百分點(diǎn),mAP@0.5:0.95 提升了0.2 個(gè)百分點(diǎn);第4 種方法采用了GSConv卷積模塊來取代網(wǎng)絡(luò)頸部的普通1×1卷積,實(shí)驗(yàn)結(jié)果顯示整合了GSConv之后模型的精準(zhǔn)率和召回率出現(xiàn)了一定的波動,F(xiàn)1分?jǐn)?shù)有所下降,而mAP指標(biāo)有著0.1個(gè)百分點(diǎn)左右的小幅提升,這說明GSConv在構(gòu)建輕量化模型的同時(shí)也能夠有效地輔助網(wǎng)絡(luò)提取特征;第5種方法采用了Focal EⅠoU作為邊界框回歸的損失函數(shù),F(xiàn)ocal EⅠoU通過平衡不同類別和不同質(zhì)量的樣本來提高模型的泛化能力,而EⅠoU 損失函數(shù)則克服了CⅠoU 的缺陷,提升多分類模型的魯棒性。通過分析實(shí)驗(yàn)結(jié)果,在引入Focal EⅠoU損失函數(shù)之后模型的精準(zhǔn)率和召回率維持在89.7%和82.8%,而mAP@0.5 和mAP@0.5:0.95繼續(xù)提升,達(dá)到了88.1%和68.5%。總的來說,這些改進(jìn)方法顯著提升了模型檢測交通標(biāo)志的能力,所帶來的效果是顯而易見的。
為了驗(yàn)證不同的注意力機(jī)制對算法性能的影響,分別選取幾種不同種類的注意力機(jī)制進(jìn)行對比分析,實(shí)驗(yàn)結(jié)果如表4所示。
表4 不同的注意力模塊對算法的影響Table 4 Effect of different attention modules on algorithm單位:%
從表4 中可以看出,坐標(biāo)注意機(jī)制CA 有著最好的F1 分?jǐn)?shù)和mAP 精度表現(xiàn),這說明坐標(biāo)注意機(jī)制可以有效地構(gòu)建物體的位置感知,實(shí)際效果優(yōu)于常見的幾種注意力機(jī)制,更適合于交通標(biāo)志的檢測。
改進(jìn)模型在所有類別上的precision-recall曲線如圖6所示。得益于各種改進(jìn)方法,綜合了所有改進(jìn)策略的模型曲線有著最大的橫縱軸覆蓋面積,說明其在所有的檢測類別上有著最高的查準(zhǔn)率和查全率。
圖6 所有類別的precision-recall曲線Fig.6 Precision-recall curves for all categories
為了直觀對比YOLOv5-S 和改進(jìn)后的模型在每個(gè)類別上的精度,本文計(jì)算了每個(gè)類別的平均精度并制作柱狀圖,結(jié)果如圖7 所示??偟膩碚f,改進(jìn)后的模型對各個(gè)種類的交通標(biāo)志都有著更好的檢測精度,對于某些類別如p12、ph4和ph5則有著顯著的改善。
圖7 YOLOv5-S和改進(jìn)模型在所有標(biāo)志類別上的平均精度Fig.7 Average accuracy of YOLOv5-S and improved models on various sign categories
圖8 為各個(gè)模型在訓(xùn)練時(shí)的mAP 變化曲線??梢钥吹皆谝胄〕叽鐧z測層后mAP保持著較快的增長速度,在100 輪左右達(dá)到了擬合狀態(tài)。而在引入Focal EⅠoU 損失函數(shù)后mAP 的增長速度開始放緩,直至訓(xùn)練后期才逐漸超越其他模型,達(dá)到擬合狀態(tài)。
圖8 mAP曲線Fig.8 mAP curves
提升算法計(jì)算效率的一種途徑是使用TensorRT 推理引擎來優(yōu)化深度學(xué)習(xí)模型的網(wǎng)絡(luò)結(jié)構(gòu)和推理過程,減少模型的計(jì)算量和資源消耗。為了使用TensorRT 推理引擎需要把權(quán)重文件從.pt 格式文件轉(zhuǎn)換為.onnx 中間文件,再由其構(gòu)建.engine 引擎文件。表5 為YOLOv5-S和本文模型在使用TensorRT 加速前后所耗費(fèi)的推理時(shí)間。
表5 TensorRT加速對推理時(shí)間的影響Table 5 Ⅰmpact of TensorRT acceleration on inference time
從表5中可以看出,本文所提出的模型略微增加了推理時(shí)間,而在使用TensorRT 引擎加速后推理時(shí)間平均降低了約3 倍,有效地降低了計(jì)算延遲,節(jié)省計(jì)算資源,使得模型具有更好的實(shí)時(shí)性。
3.3.2 與其他算法的對比實(shí)驗(yàn)結(jié)果與分析
本小節(jié)在相同的實(shí)驗(yàn)環(huán)境下訓(xùn)練了多種流行的檢測算法,包括YOLO系列、RetinaNet以及Faster R-CNN,實(shí)驗(yàn)數(shù)據(jù)匯總見表6。其中YOLOv6、YOLOv7 以及DAMO-YOLO屬于較新的檢測算法,在網(wǎng)絡(luò)架構(gòu)、優(yōu)化策略以及復(fù)雜度等方面有著很大的不同,因此在網(wǎng)絡(luò)輸入端采取統(tǒng)一的輸入大小。
表6 與其他算法的性能對比Table 6 Performance comparisons with other algorithms
從表6當(dāng)中可以看出,對比YOLOv3、YOLOv5-L以及YOLOX等參數(shù)量和FLOPs規(guī)模更大的檢測模型,本文模型有著最高的mAP@0.5和平均mAP@0.5:0.95,在檢測速度上處于領(lǐng)先。對比較新的模型如YOLOv6-S、YOLOv7以及DAMO-YOLO-S,本文模型的總體檢測精度更高,參數(shù)量及FLOPs 更少,檢測速度更快。對于小目標(biāo)的檢測,本文模型的mAP@0.5:0.95 比YOLOv3 高出了8.1 個(gè)百分點(diǎn),比YOLOv5-L 高出了3.0 個(gè)百分點(diǎn),比YOLOX 高出了2.2 個(gè)百分點(diǎn),這說明改進(jìn)后的模型對小尺寸目標(biāo)的檢測效果更加顯著。而YOLOv6-S、YOLOv7 以及DAMO-YOLO-S 更傾向于檢測中型和大型目標(biāo),對小目標(biāo)的檢測不夠好。對比YOLOv5-S 模型,本文模型對于小目標(biāo)的mAP@0.5:0.95 提高了6.7個(gè)百分點(diǎn),對于全部目標(biāo)則有著6.6個(gè)百分點(diǎn)的提升,參數(shù)量則減少了約4.2個(gè)百分點(diǎn)。雖然檢測精度得到了提升,但FLOPs也從16.1×109增加到18.7×109,對FPS也產(chǎn)生了一定的影響,但這沒有過多的影響到算法的實(shí)時(shí)性,改進(jìn)后的模型依然有著83 FPS 的實(shí)時(shí)檢測速度。對比參數(shù)量以及FLOPs更少的YOLOv7-Tiny模型,本文模型在檢測精度上更優(yōu)。其他模型當(dāng)中文獻(xiàn)[38]的mAP@0.5 較本文模型低了0.8 個(gè)百分點(diǎn),文獻(xiàn)[39]低了3.2個(gè)百分點(diǎn),同時(shí)本文模型的檢測速度優(yōu)勢更加明顯。對比RetinaNet和Faster R-CNN,兩者則達(dá)不到可靠檢測和實(shí)時(shí)檢測的需求,它們的性能表現(xiàn)均遜色于采用了更多優(yōu)化策略的算法。
如圖9 為YOLOv5-S 和改進(jìn)模型的檢測效果。圖中每個(gè)子圖的左上角為標(biāo)志區(qū)域的放大圖,右下角是在160×160 的檢測層上繪制的熱力圖。從圖中可以看出YOLOv5-S 在檢測場景當(dāng)中的小尺寸標(biāo)志時(shí)給出的分?jǐn)?shù)偏低,同時(shí)還存在漏檢的問題,而改進(jìn)后的模型有著更高的檢測分?jǐn)?shù),漏檢問題得到了緩解。通過熱力圖可以看到Y(jié)OLOv5-S的輸出有著更多的不均勻熱點(diǎn),說明其受到了背景噪聲的干擾。而改進(jìn)模型由于采用了坐標(biāo)注意力機(jī)制,可以抑制噪聲帶來的干擾,熱點(diǎn)的分布也更多的集中在標(biāo)志區(qū)域。
針對現(xiàn)有的目標(biāo)檢測方法在檢測交通標(biāo)志時(shí)出現(xiàn)的錯(cuò)檢、漏檢和低精度問題,本文提出了一種改進(jìn)YOLOv5-S的實(shí)時(shí)交通標(biāo)志檢測算法。為了增強(qiáng)神經(jīng)網(wǎng)絡(luò)對目標(biāo)關(guān)鍵特征的關(guān)注度,提出了一種融合坐標(biāo)注意機(jī)制的C3CA模塊,將其部署在網(wǎng)絡(luò)當(dāng)中來感知物體的位置信息;使用Focal-EⅠoU損失函數(shù)使得算法更加關(guān)注高質(zhì)量的分類樣本,提高對難分類樣本的學(xué)習(xí)能力;在網(wǎng)絡(luò)頸部融合GSConv卷積,減少模型參數(shù),提升計(jì)算效率;最后改進(jìn)頸部的特征融合路徑,將特征圖大小擴(kuò)大一倍,同時(shí)使用K-means聚類算法更新錨框。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后模型的mAP@0.5 和mAP@0.5:0.95 分別提升了6.4個(gè)百分點(diǎn)和6.6個(gè)百分點(diǎn),其中對于小目標(biāo)的mAP@0.5:0.95 提高了6.7 個(gè)百分點(diǎn),模型的參數(shù)量減少了約4.2%。與其他的一些目標(biāo)檢測算法相比,改進(jìn)后的算法在交通標(biāo)志檢測任務(wù)中更有優(yōu)勢。未來的工作將在移動計(jì)算設(shè)備上開展實(shí)驗(yàn)分析,實(shí)現(xiàn)實(shí)時(shí)可靠的道路交通標(biāo)志檢測。