錢 伍,王國(guó)中,李國(guó)平
上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海201620
交通燈檢測(cè)是指對(duì)交通燈定位和識(shí)別,作為自動(dòng)駕駛和輔助駕駛中的核心算法之一,直接關(guān)系到智能汽車的行駛決策。對(duì)交通燈準(zhǔn)確定位和類別檢測(cè)能夠?yàn)樾旭傊械能囕v提供交通信號(hào)信息,保障車輛行駛安全。顯然,實(shí)時(shí)和魯棒的交通燈檢測(cè)算法可以幫助智能汽車提前獲取交通信號(hào)信息,避免交通事故的發(fā)生,提高汽車的安全性能。
隨著計(jì)算機(jī)視覺和深度學(xué)習(xí)的快速發(fā)展,從視覺方面對(duì)交通燈檢測(cè)取得重大突破。但是,基于計(jì)算機(jī)視覺的交通燈檢測(cè)算法也面臨諸多困難,總結(jié)為以下幾個(gè)方面:(1)交通燈在圖像中具有較小的尺度,算法定位困難;(2)行駛中的車輛抖動(dòng),采集到的圖像模糊,交通燈的邊緣信息難以確定;(3)交通燈的顏色和幾何特征易與環(huán)境中其他物體混淆,算法產(chǎn)生誤檢測(cè);(4)交通燈處于復(fù)雜多變的戶外,算法難以泛化,魯棒性差;(5)檢測(cè)信息需要及時(shí)回傳到汽車的控制系統(tǒng),算法要有可靠的實(shí)時(shí)性。
傳統(tǒng)的交通燈檢測(cè)算法往往只考慮單一環(huán)境,關(guān)注交通燈的顏色和幾何特征,使用特征提取、模板匹配和分類算法對(duì)交通燈進(jìn)行識(shí)別。其中Sobel 邊緣檢測(cè)、Hough 變換和支持向量機(jī)(support vector machine,SVM)等算法被組合應(yīng)用到交通燈的檢測(cè)中。Omachi等人在交通燈顏色特征下,提出歸一化輸入圖像的RGB 空間的方法提取候選區(qū)域,在候選區(qū)域上使用Hough 變換檢測(cè)交通燈。Li 等人將形態(tài)學(xué)濾波和統(tǒng)計(jì)方法結(jié)合在一起,首先使用Top-Hat 變換將輸入圖像變換為二值圖像,再使用閾值分割法提取明亮區(qū)域,結(jié)合形態(tài)學(xué)處理該區(qū)域,最后使用統(tǒng)計(jì)分析方法識(shí)別交通燈。這些算法不可避免地使用了大量人工提取的特征,魯棒性差,只能在特定的場(chǎng)景中實(shí)現(xiàn),實(shí)時(shí)性難以達(dá)到要求。
近年來,以卷積神經(jīng)網(wǎng)絡(luò)為核心的目標(biāo)檢測(cè)算法取得了發(fā)展。這些算法可分為一階段和二階段算法,一階段的代表算法包括:OverFeat、SSD(single shot multibox detector)系列、YOLO(you only look once)家族和EfficientDet等。二階段的代表算法有R-CNN(region-based convolutional neural networks)家族和SPPNet等。
Manana 等人使用一種提前預(yù)處理的Faster RCNN對(duì)車道線進(jìn)行檢測(cè),相比沒有預(yù)處理,縮短了訓(xùn)練的時(shí)間。Wang 等人使用HSV(hue saturation value)空間提取交通燈的候選區(qū)域,結(jié)合6 層卷積神經(jīng)網(wǎng)絡(luò)對(duì)這些區(qū)域進(jìn)行分類,實(shí)現(xiàn)了較高的速度和精度。Liu 等人在自建的交通數(shù)據(jù)集上,提出改進(jìn)YOLOv3 模型,模型檢測(cè)速度達(dá)到了59 frame/s,精度高達(dá)91.12%。Thipsanthia 等人在泰國(guó)交通數(shù)據(jù)集下使用YOLOv3 和YOLOv3-tiny 對(duì)50 類路標(biāo)進(jìn)行檢測(cè),檢測(cè)精度分別達(dá)到了88.10%和80.84%。Choi 等人基于YOLOv3,設(shè)計(jì)了高斯損失函數(shù),增加了模型對(duì)交通燈的召回率,在BDD100K數(shù)據(jù)集上,最好獲得了20.8%的mAP。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法彌補(bǔ)了傳統(tǒng)算法中人工提取特征的不足,但是在特征提取過程中對(duì)原始圖像進(jìn)行多次下采樣,對(duì)小目標(biāo)檢測(cè)能力差。并且,這些算法不僅網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,而且模型規(guī)模大,訓(xùn)練代價(jià)高。
YOLO 算法將目標(biāo)檢測(cè)問題轉(zhuǎn)化為回歸問題,有著快速檢測(cè)的能力。YOLOv5 延續(xù)網(wǎng)格檢測(cè)方法,每個(gè)網(wǎng)格預(yù)測(cè)3 個(gè)bboxes(bounding box),每個(gè)bbox 包含4 個(gè)坐標(biāo)、1 個(gè)置信度和個(gè)條件類別概率。
如圖1,為了增加感受野且不影響模型推理速度,YOLOv5 在骨干網(wǎng)絡(luò)增加Focus 層,將圖像的寬度和高度信息轉(zhuǎn)化為通道信息。為了減少冗余信息,YOLOv5借鑒了CSPNet,設(shè)計(jì)兩種不同的BottleneckCSP 結(jié)構(gòu),分別記作CSP1 和CSP2。其中CSP1 用特征提取部分,CSP2 用于特征融合部分。YOLOv5 有著四種不同規(guī)模的模型,分別記為YOLOv5s、YOLOv5m、YOLOv5l 和YOLOv5x,模型參數(shù)依次增加,目標(biāo)檢測(cè)能力逐漸提升。盡管YOLOv5 有著快速識(shí)別和自適應(yīng)錨框等優(yōu)點(diǎn),但是對(duì)目標(biāo)特征提取能力不足,并且特征融合網(wǎng)絡(luò)僅僅關(guān)注高級(jí)語(yǔ)義信息。因此,在此基礎(chǔ)上提出改進(jìn)方法,增加模型對(duì)類似交通燈這樣小且環(huán)境復(fù)雜目標(biāo)的檢測(cè)能力。
圖1 YOLOv5 的網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 YOLOv5 network structure
本文分別從三方面改進(jìn)YOLOv5:(1)改進(jìn)模型的輸入尺度,使其能夠盡可能輸入較多的目標(biāo)特征;(2)設(shè)計(jì)了ACBlock(asymmetric convolution block)、SoftPool和DSConv(depthwise separable convolution),旨在增加主干網(wǎng)絡(luò)的特征提取能力,減少模型參數(shù);(3)設(shè)計(jì)記憶性特征融合網(wǎng)絡(luò),增加模型對(duì)底層特征的學(xué)習(xí)能力。改進(jìn)YOLOv5 的網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
圖2 I-YOLOv5 的網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 I-YOLOv5 network structure
為了與YOLOv5 的四種模型對(duì)應(yīng),改進(jìn)后的模型分別記作I-YOLOv5s、I-YOLOv5m、I-YOLOv5l 和I-YOLOv5x。
YOLOv5 以640×640 的尺度作為模型輸入,特征提取過程對(duì)目標(biāo)進(jìn)行了8 倍、16 倍和32 倍下采樣。此過程會(huì)使小目標(biāo)丟失顯著特征,因此本節(jié)探究模型輸入,盡可能多地保留目標(biāo)的顯著特征。
本文定義可見標(biāo)簽的概念:標(biāo)簽的GT(ground truth)經(jīng)過主干網(wǎng)絡(luò)的特征提取后,尺度大于1×1,稱這個(gè)標(biāo)簽為可見標(biāo)簽,其對(duì)應(yīng)的特征圖包含著目標(biāo)的顯著特征。不可見標(biāo)簽則會(huì)與周圍環(huán)境融合,生成弱信息特征圖,給檢測(cè)帶來了難度。由此,計(jì)算一個(gè)可見標(biāo)簽閾值,控制模型輸入,使采樣后的特征有更多的顯著特征。以8 倍下采樣作為模型最低的下采樣值,推導(dǎo)模型輸入與可見標(biāo)簽閾值之間的關(guān)系如下:
式中,是計(jì)算得到的模型輸入大小;=max{,},、分別是原始圖像的寬和高;是可見標(biāo)簽閾值。
可見標(biāo)簽比指的是尺度≥的標(biāo)簽個(gè)數(shù)與總標(biāo)簽數(shù)目的比值,可以確定可見標(biāo)簽閾值,控制模型輸入??梢姌?biāo)簽比越大,特征圖中目標(biāo)的顯著特征越多。表1 以BDD100K 為數(shù)據(jù)集,給出了可見標(biāo)簽閾值、可見標(biāo)簽比、模型輸入尺寸、模型檢測(cè)能力、模型運(yùn)行速度和模型訓(xùn)練占用顯存之間的關(guān)系。如表1,隨模型輸入尺度的增加,模型的AP(average precision)也隨之增加。但是,相應(yīng)的計(jì)算量會(huì)隨之增加。為了均衡AP 值和模型顯存占用,使用手肘法確定=13。此時(shí)模型的效益最高,相應(yīng)的模型輸入為800×800。
表1 可見標(biāo)簽比與模型性能關(guān)系Table 1 Relationship between visible label ratio and model performance
為了提高主干網(wǎng)絡(luò)對(duì)目標(biāo)的特征提取能力,本文借鑒ACNet,設(shè)計(jì)了ACBlock作為CSP(cross stage partial)結(jié)構(gòu)的基礎(chǔ)卷積。
如圖3,設(shè)計(jì)的ACBlock 由3 個(gè)卷積核3×3×、3×1×和1×3×組成。其中3×3×卷積核是一個(gè)正則卷積,可以提取圖像的基礎(chǔ)特征;3×1×和1×3×分別是豎形和橫形卷積核,二者可以提取圖像的縱向和橫向特征,以及目標(biāo)的位置和旋轉(zhuǎn)特征。因此,ACBlock 比原卷積核能夠提取到更多的特征信息,提高了主干網(wǎng)絡(luò)的特征提取能力。
圖3 ACBlock 結(jié)構(gòu)Fig.3 ACBlock structure
因?yàn)榫矸e滿足疊加原理(式(2)),所以ACBlock可以直接替換CSP 中的卷積核。ACBlock 提取特征后,依據(jù)式(2)進(jìn)行特征疊加。
式中,是輸入,和是兩個(gè)兼容大小的卷積核,*是卷積運(yùn)算。
在訓(xùn)練階段,ACBlock 中的3 個(gè)卷積核被單獨(dú)訓(xùn)練,疊加后再前向傳播。在推理階段,3個(gè)卷積核的權(quán)重被提前融合成一個(gè)正則卷積形式,再進(jìn)行推理計(jì)算,因此不會(huì)增加額外的推理時(shí)間。融合公式如下:
ACBlock 可以直接替換原始卷積核,使主干網(wǎng)絡(luò)獲取到更多的特征信息。ACBlock 由三種卷積核實(shí)現(xiàn),勢(shì)必也會(huì)增加模型參數(shù),又因?yàn)锳CBlock 中的每個(gè)卷積核被單獨(dú)訓(xùn)練,所以模型訓(xùn)練時(shí)間被延長(zhǎng)。
池化是卷積神經(jīng)網(wǎng)絡(luò)中一種至關(guān)重要的方法,它降低了網(wǎng)絡(luò)的計(jì)算,實(shí)現(xiàn)了空間不變性,更重要的是增加了后續(xù)卷積的感受野。YOLOv5 使用正則卷積實(shí)現(xiàn)模型下采樣,這不僅增加了計(jì)算量,而且還產(chǎn)生了較多的采樣損失。為此,本文提出在激活特征圖的池化區(qū)域內(nèi)使用Softmax 方式實(shí)現(xiàn)池化,對(duì)特征圖進(jìn)行2 倍下采樣。
在池化區(qū)域內(nèi),使用Softmax 計(jì)算每個(gè)元素激活的權(quán)重,將指數(shù)加權(quán)累加激活作為池化鄰域的激活輸出,指數(shù)加權(quán)權(quán)重和鄰域激活公式如下:
如圖4,類似卷積核,本文使用一個(gè)3×3 步長(zhǎng)為2 的掩膜來對(duì)特征圖進(jìn)行池化。在激活后的特征圖中,較高激活(圖中高亮塊)包含特征圖的主要特征信息,較低激活則包含次要信息。下采樣時(shí),掩膜會(huì)覆蓋在特征圖的3×3 區(qū)域上,在此區(qū)域內(nèi)計(jì)算每一個(gè)激活的Softmax 權(quán)重,較高的激活會(huì)獲得更高的權(quán)重。對(duì)此區(qū)域內(nèi)的激活加權(quán)累加后,作為池化結(jié)果傳遞到下一個(gè)特征圖。這個(gè)過程中,池化區(qū)域內(nèi)的所有激活都參與累加,較高的激活攜帶主要特征占據(jù)池化結(jié)果的主導(dǎo)地位,較低的激活也能將自己的次要特征信息傳遞到池化結(jié)果中。
圖4 SoftPool下采樣過程Fig.4 SoftPool down sampling process
因此,SoftPool 以加權(quán)求和保留了激活信息,對(duì)不同激活的關(guān)注度不同,很大程度上保留輸入的屬性,實(shí)現(xiàn)下采樣的同時(shí)能夠減少信息損失。
分析模型規(guī)模時(shí),發(fā)現(xiàn)ACBlock 的引入,將模型參數(shù)增加了約70%。因此本文設(shè)計(jì)了DSConv 卷積核代替主干網(wǎng)絡(luò)中的部分正則卷積,旨在確保精度不變條件下減少模型參數(shù)。
如圖5(a)所示,YOLOv5 的正則卷積是由一個(gè)3×3×的卷積核實(shí)現(xiàn),DSConv 則是由3×3×1 和1×1×兩個(gè)卷積核組成,卷積的過程也是兩步進(jìn)行。先由3×3×1 的卷積核對(duì)特征圖進(jìn)行逐通道卷積,得到結(jié)果;再由1×1×對(duì)進(jìn)行逐點(diǎn)卷積,得到作為DSConv 結(jié)果輸出。
圖5 正則卷積與DSConv 對(duì)比Fig.5 Regular convolution compared with DSConv
將主干網(wǎng)絡(luò)中第二層卷積核(圖1backbone 部分)替換成DSConv(圖2backbone 部分),可以減少模型參數(shù),對(duì)模型性能幾乎沒有任何影響。
對(duì)小目標(biāo)檢測(cè)而言,底層特征比高級(jí)語(yǔ)義信息更重要。如圖6(a),YOLOv5 借鑒了PANet,采用自上而下和自下而上的順序融合方式生成三種高級(jí)語(yǔ)義信息,來計(jì)算損失。顯然,用于計(jì)算損失的只有高級(jí)信息,底層特征沒有被使用,丟失了較多小尺度信息,模型對(duì)目標(biāo)邊緣學(xué)習(xí)能力也被局限。
因此本文提出一種記憶性特征融合網(wǎng)絡(luò),旨在將高級(jí)語(yǔ)義信息和底層特征結(jié)合,讓模型同時(shí)學(xué)習(xí)底層特征和高級(jí)語(yǔ)義信息,增加模型對(duì)小目標(biāo)的學(xué)習(xí)能力,提高模型對(duì)目標(biāo)的定位和回歸能力。
如圖6(b),設(shè)計(jì)的記憶性融合網(wǎng)絡(luò)沒有邊緣融合節(jié)點(diǎn),使用遠(yuǎn)跳鏈接將底層特征直接傳遞到語(yǔ)義生成節(jié)點(diǎn)。因此,網(wǎng)絡(luò)末端可以將原始底層特征和高級(jí)語(yǔ)義信息再次融合。最終送入損失函數(shù)的特征既包含高級(jí)語(yǔ)義信息,又有底層特征。模型在學(xué)習(xí)高級(jí)語(yǔ)義信息的同時(shí)也能夠?qū)W習(xí)到底層信息,有助于模型檢測(cè)小尺度目標(biāo)。
圖6 PANet與本文特征融合網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 PANet and proposed feature fusion network structure
由于融合的信息中包含了較多的底層信息,模型對(duì)目標(biāo)的定位將更加精確,同時(shí)回歸框的精度也得到提高。如圖7,從特征融合的熱力圖中可以分析網(wǎng)絡(luò)對(duì)圖像的關(guān)注點(diǎn)。相比于PANet,記憶性特征融合網(wǎng)絡(luò)關(guān)注中心更集中在目標(biāo)中心,給檢測(cè)頭提供了準(zhǔn)確的位置中心,有助于模型的定位。因此,記憶性特征融合網(wǎng)絡(luò)可以提高定位精度。
圖7 特征融合后的熱力圖Fig.7 Heatmap of fused features
另外,熱力圖中目標(biāo)邊緣處較多的熱點(diǎn)會(huì)增加模型對(duì)邊緣信息的判別難度。通過計(jì)算預(yù)測(cè)框和真實(shí)框的IOU(intersection over union)可以評(píng)估預(yù)測(cè)框回歸的精準(zhǔn)度。表2 在BDD100K 驗(yàn)證集上計(jì)算了改進(jìn)方法的預(yù)測(cè)框與真實(shí)框的平均IOU。YOLOv5 模型預(yù)測(cè)框與真實(shí)框之間的平均IOU 是0.528,使用記憶性特征融合網(wǎng)絡(luò)后的平均IOU提高到了0.591,提高了0.063。記憶性特征融合網(wǎng)絡(luò)能夠克服目標(biāo)邊緣問題,回歸精度增加了6.3 個(gè)百分點(diǎn)。
表2 預(yù)測(cè)框與真實(shí)框的平均IOUTable 2 Average IOU of predict and ground truth boxes
本文在BDDTL(BDD100K traffic light)和Bosch數(shù)據(jù)集上訓(xùn)練模型,并測(cè)試改進(jìn)方法的有效性。相比于Bosch,BDDTL 不僅有著更大的數(shù)據(jù)量,而且還具有更多的數(shù)據(jù)屬性,能夠充分測(cè)試模型的泛化能力。因此,本文在BDDTL 數(shù)據(jù)集上建立消融實(shí)驗(yàn)和測(cè)試模型泛化能力。模型的訓(xùn)練是在Nvidia Tesla V100 PCIE 32 GB GPU 上進(jìn)行,測(cè)試是在Nvidia RTX2080 Super 8 GB GPU 上進(jìn)行。
YOLOv5 的訓(xùn)練參數(shù)見文獻(xiàn)[12],采用余弦退火的衰減方式。在參數(shù)一致的前提下,訓(xùn)練了I-YOLOv5,并對(duì)模型輸入進(jìn)行增強(qiáng)。
實(shí)驗(yàn)內(nèi)容如下:
(1)在BDDTL 數(shù)據(jù)集上建立改進(jìn)方法的消融實(shí)驗(yàn)來分析改進(jìn)方法的可行性和必要性;
(2)在BDDTL 和Bosch 數(shù)據(jù)集上,通過對(duì)比多種算法、改進(jìn)前后的算法,來測(cè)試改進(jìn)的效果;
(3)在BDDTL 數(shù)據(jù)集上測(cè)試模型的魯棒性,評(píng)估模型的泛化能力;
(4)在BDDTL 數(shù)據(jù)集上建立模型魯棒性消融實(shí)驗(yàn),驗(yàn)證改進(jìn)方法對(duì)魯棒性的影響。
本文采用AP.50 作為評(píng)估模型性能的指標(biāo),因此需要計(jì)算模型的和,具體公式如下:
式中,是準(zhǔn)確預(yù)測(cè)標(biāo)簽的個(gè)數(shù);是不存在目標(biāo)的誤檢測(cè),或已存在目標(biāo)的誤檢測(cè);是目標(biāo)的漏檢測(cè)。
如圖8(a),在訓(xùn)練過程中,YOLOv5 收斂速度慢,其 中YOLOv5s 和YOLOv5m 在 第250 個(gè)epoch 附 近開始收斂。I-YOLOv5 在第50 個(gè)epoch 附近開始收斂,有著更快的收斂速度。從圖8(b)可以看出:YOLOv5 在驗(yàn)證集上的AP 先增后降,出現(xiàn)了嚴(yán)重的過擬合;隨著模型收斂,I-YOLOv5 的驗(yàn)證AP 穩(wěn)定上升,沒有出現(xiàn)過擬合現(xiàn)象。
圖8 模型訓(xùn)練過程Fig.8 Model training process
為了充分驗(yàn)證改進(jìn)方法行之有效,通過構(gòu)建消融實(shí)驗(yàn)(見表3),逐步探究改進(jìn)方法對(duì)YOLOv5 影響。消融實(shí)驗(yàn)以YOLOv5l為基礎(chǔ)模型,輸入大小統(tǒng)一為640×640,評(píng)估指標(biāo)為AP和模型計(jì)算量(FLPOS)。
表3 以YOLOv5l為基礎(chǔ)模型的消融實(shí)驗(yàn)Table 3 Ablation experiments based on YOLOv5l
從表3中可知,ACBlock、SoftPool 和Our FPN(feature pyramid network)對(duì)模型檢測(cè)能力有較大的提升。ACBlock 使模型的AP 上升了5.4 個(gè)百分點(diǎn),因此ACBlock 可以提取到更多的特征信息,但也增加了69.2%的計(jì)算量。
SoftPool 池化使模型的AP 增加了2.8 個(gè)百分點(diǎn),參數(shù)量減少了1.7%,這種池化方式實(shí)現(xiàn)了下采樣的同時(shí)可以減少信息丟失。
DSConv直接減少了4.3%的計(jì)算量,將模型的AP降低了0.2個(gè)百分點(diǎn),對(duì)模型的精度幾乎沒有任何影響。
記憶性融合網(wǎng)絡(luò)將模型的檢測(cè)能力提高了5.6個(gè)百分點(diǎn),模型參數(shù)減少了21.4%。因此,使用遠(yuǎn)跳連接使底層特征與高級(jí)語(yǔ)義信息重新再融合可以增加模型的特征學(xué)習(xí)能力。
在消融實(shí)驗(yàn)逐步進(jìn)行的過程中可以發(fā)現(xiàn):改進(jìn)方法疊加,模型的性能并不是直接疊加,而是在上一個(gè)改進(jìn)的基礎(chǔ)上的小幅度提升。通過逐步改進(jìn)YOLOv5 的主干網(wǎng)絡(luò)和特征融合網(wǎng)絡(luò),模型的檢測(cè)能力也隨之逐步提升。
模型在BDDTL 和Bosch 數(shù)據(jù)集上的測(cè)試結(jié)果列在表4 和表5 中。
如表4,在BDDTL數(shù)據(jù)集上,YOLOv5x作為YOLOv5 最優(yōu)秀的模型,在55 frame/s 的檢測(cè)速度下獲得了63.30%的AP。EfficientDet-D2 的AP 只有45.50%,檢測(cè)速度只有24 frame/s。I-YOLOv5s 的AP達(dá)到了72.30%,比YOLOv5x 提升了9 個(gè)百分點(diǎn),推理速度也達(dá)到了111 frame/s。I-YOLOv5x 取得了所有實(shí)驗(yàn)中最優(yōu)的結(jié)果,模型的AP高達(dá)74.30%,比YOLOv5x提高了11 個(gè)百分點(diǎn),檢測(cè)速度保持在40 frame/s。
表4 不同模型在BDDTL 數(shù)據(jù)集上的測(cè)試結(jié)果Table 4 Test results of different models on BDDTL
如表5,在Bosch 數(shù)據(jù)集上,YOLOv5 的AP 達(dá)到了75.1%,檢測(cè)速度最快達(dá)到130 frame/s。相比之下,I-YOLOv5 檢測(cè)速度平均下降了約7 frame/s,但檢測(cè)平均能力提高了12.03個(gè)百分點(diǎn)。其中,I-YOLOv5s在82.8%的AP 下檢測(cè)速度達(dá)到了126 frame/s;IYOLOv5x在84.4%的AP下,檢測(cè)速度也有46 frame/s。
表5 不同模型在Bosch 數(shù)據(jù)集上的測(cè)試結(jié)果Table 5 Test results of different models on Bosch
圖9 展示了改進(jìn)前后的檢測(cè)效果,其中(a)、(c)、(e)和(g)是YOLOv5 檢測(cè)效果,(b)、(d)、(f)和(h)是I-YOLOv5 檢測(cè)效果。從(a)和(b)可知,改進(jìn)后的算法緩解了YOLOv5 的漏檢測(cè)問題,模型對(duì)小尺度交通燈的檢測(cè)能力也得到提高;如(c)和(d),在夜晚場(chǎng)景下,改進(jìn)后的模型修正了檢測(cè)框的位置,提升了定位精度;從(e)和(f)可知,由于大尺度訓(xùn)練樣本少,YOLOv5 對(duì)大尺度交通燈的檢測(cè)能力也同樣不足,而改進(jìn)后的方法彌補(bǔ)了這個(gè)問題;由(g)和(h)可知,改進(jìn)后的模型對(duì)小尺度交通燈的檢測(cè)能力顯著上升。
圖9 模型檢測(cè)效果Fig.9 Model detection effect
如表6,測(cè)試不同的環(huán)境條件下的模型性能,可以評(píng)估改進(jìn)前后模型的魯棒性是否有所提高。
表6 改進(jìn)YOLOv5 和YOLOv5 魯棒性測(cè)試結(jié)果Table 6 Improved YOLOv5 and YOLOv5 robustness test results %
(1)在不同尺度檢測(cè)能力的測(cè)試中,I-YOLOv5在small 尺度中取得了71.9%的AP,在large 尺度中提高了40%??梢园l(fā)現(xiàn),所有模型在large 尺度中的檢測(cè)能力都小于small 尺度下。這是因?yàn)锽DDTL 數(shù)據(jù)集中大尺度標(biāo)簽僅僅只有119個(gè),小尺度標(biāo)簽有164 333個(gè),樣本不均衡,模型對(duì)大尺度目標(biāo)學(xué)習(xí)能力不足。
(2)在不同時(shí)間條件下的測(cè)試結(jié)果表明,IYOLOv5 的AP 顯著提高,在黎明和黃昏條件下,提升了20.7%的AP,在夜晚AP 也有8.3 個(gè)百分點(diǎn)的增加。
(3)通過在不同場(chǎng)景下測(cè)試,I-YOLOv5 幾乎都有較高的提升,其中在parking lot 場(chǎng)景中,I-YOLOv5l將AP 值直接提高了21.1 個(gè)百分點(diǎn)。但是在tunnel場(chǎng)景,I-YOLOv5 表現(xiàn)出較差的檢測(cè)性能。因?yàn)樵搱?chǎng)景中的測(cè)試圖片只有3 張,共9 個(gè)目標(biāo),測(cè)試結(jié)果偏差大。
(4)在不同天氣條件下,I-YOLOv5 對(duì)YOLOv5的AP 提升都在10 個(gè)百分點(diǎn)之上。在foggy 場(chǎng)景中,I-YOLOv5 提升了25.4 個(gè)百分點(diǎn),達(dá)到了75.2%。
為驗(yàn)證改進(jìn)方法對(duì)模型泛化能力的影響,以YOLOv5l 模型為基礎(chǔ),在輸入統(tǒng)一為640×640 的條件下,逐步引入提出的方法,通過測(cè)試不同場(chǎng)景下的mAP(mean average precision)來衡量模型性能,研究改進(jìn)方法對(duì)模型魯棒性能的影響。此外增加A mAP I(average mAP increase)指標(biāo),用于衡量mAP 的平均增加量。
模型魯棒性消融實(shí)驗(yàn)結(jié)果見表7。設(shè)計(jì)的ACBlock 結(jié)構(gòu)在size、time 和weather 場(chǎng)景下的mAP都增加了5.0 個(gè)百分點(diǎn)以上,在scene 場(chǎng)景下,mAP 僅增加了5.2%。SoftPool 對(duì)不同場(chǎng)景下模型的mAP 提升了2.5 個(gè)百分點(diǎn)~3.0 個(gè)百分點(diǎn),其中在scene 場(chǎng)景下對(duì)模型的貢獻(xiàn)最少。DSConv 的使用對(duì)模型檢測(cè)能力的影響較小,在不同size 條件使模型的mAP 降低了1.0%。本文的特征融合網(wǎng)絡(luò)的設(shè)計(jì)對(duì)模型的貢獻(xiàn)最大,在weather 場(chǎng)景下提高模型5.9 個(gè)百分點(diǎn),平均給模型性能增加5.0 個(gè)百分點(diǎn)。
表7 以YOLOv5l為基礎(chǔ)模型的魯棒性消融實(shí)驗(yàn)Table 7 Robust ablation experiment based on YOLOv5l
與3.4 節(jié)內(nèi)容相似的是,改進(jìn)方法對(duì)模型魯棒性的提高不是具體到某一種方法的改進(jìn),而是模型整體特征提取能力的增加,特征融合的優(yōu)化使模型的檢測(cè)能力增加。
針對(duì)目前基于視覺的交通燈檢測(cè)算法存在的難點(diǎn),本文以BDD100K 為數(shù)據(jù)集,以YOLOv5 為基礎(chǔ),使用可見標(biāo)簽比確定模型輸入,引入ACBlock 增加主干網(wǎng)路的特征提取能力,設(shè)計(jì)SoftPool 減少模型采樣損失,使用DSConv 減少模型參數(shù),設(shè)計(jì)一種記憶性特征融合網(wǎng)絡(luò)充分利用特征信息。
實(shí)驗(yàn)結(jié)果證明,改進(jìn)后的方法在BDD100K 和Bosch 數(shù)據(jù)集上使AP 分別提高了11.0 個(gè)百分點(diǎn)和9.3個(gè)百分點(diǎn),檢測(cè)速度最慢也在40 frame/s。在不同的尺度、場(chǎng)景、天氣和時(shí)間條件下,改進(jìn)后的模型均有較大的提升,最多提升了25.4 個(gè)百分點(diǎn),有效增加了模型的魯棒性和小目標(biāo)提取能力。本文通過改進(jìn)YOLOv5 模型,增加了模型的檢測(cè)能力,提高了模型的魯棒性,做到了準(zhǔn)確和實(shí)時(shí)的交通燈檢測(cè)。