曾雷鳴,侯 進(jìn),陳子銳,周浩然
(1.西南交通大學(xué) 計(jì)算機(jī)與人工智能學(xué)院,成都 611756;2.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 611756;3.西南交通大學(xué)綜合交通大數(shù)據(jù)應(yīng)用技術(shù)國家工程實(shí)驗(yàn)室,成都 611756)
隨著無人駕駛技術(shù)日漸成熟,國內(nèi)外均已將該技術(shù)推進(jìn)到限定條件下的開放道路測試階段。交通標(biāo)志作為真實(shí)道路場景中不可回避的識(shí)別對(duì)象,其識(shí)別和定位成為無人駕駛環(huán)境感知的研究熱點(diǎn)。然而,現(xiàn)實(shí)情景中諸如光照條件難以控制、交通標(biāo)志損毀、褪色等對(duì)實(shí)時(shí)交通標(biāo)志的檢測造成了很大干擾。在實(shí)際應(yīng)用中的測試結(jié)果表明,基于感興趣區(qū)域(Region of Interest,RoI),使用HOG[1]、Gabor[2]、Haar-like[3]等人工設(shè)計(jì)特征對(duì)RoI進(jìn)行分類的傳統(tǒng)方法不足以應(yīng)對(duì)上述列舉的挑戰(zhàn)。
得益于硬件尤其是GPU 性能的提升,KRIZHEVSKY 等[4]搭建了神經(jīng)網(wǎng)絡(luò)AlexNet,并在ImageNet 挑戰(zhàn)賽中奪冠。受此啟發(fā),GIRSHICK 等[5]將區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Regions with Convolutional Neural Networks Features,R-CNN)引入目標(biāo)檢測領(lǐng)域,用一個(gè)完整網(wǎng)絡(luò)的不同分支完成了分類和定位任務(wù)。而后,F(xiàn)ast R-CNN[6]、Faster R-CNN[7]完善了以RoI 為導(dǎo)向的兩次回歸算法流程,確立了端到端的、兩階段的檢測模型。與此同時(shí),YOLO[8]、SSD[9]等一階段方法優(yōu)化了回歸過程,以少量的精確度損失獲得了檢測速度的大幅提升。隨后涌現(xiàn)出的語義融合方法FPN[10]、正負(fù)樣本平衡的方法Focal loss[11]降低了一階段模型與兩階段模型的精確度差距,使一階段檢測模型逐漸成為研究的主流。
隨著深度神經(jīng)網(wǎng)絡(luò)的快速發(fā)展,諸多關(guān)于交通標(biāo)志檢測的算法被研發(fā)推出。文獻(xiàn)[12]使用統(tǒng)一的神經(jīng)網(wǎng)絡(luò)檢測高分辨率交通標(biāo)志,文獻(xiàn)[13]使用多重注意力機(jī)制相結(jié)合的方法提升檢測精確度。目前,交通標(biāo)志檢測算法的主要改進(jìn)方向有探尋更高效的特征提取網(wǎng)絡(luò)、更有效的語義融合插件、即插即用的tricks 等。
本文選取綜合性能較優(yōu)的一階段網(wǎng)絡(luò)YOLOv4[14]作為改進(jìn)和對(duì)比的基準(zhǔn),重新設(shè)計(jì)特征提取網(wǎng)絡(luò)來替換YOLOv4 中原特征提取網(wǎng)絡(luò)CSPDarkNet53[15],以降低模型計(jì)算量,從而提升響應(yīng)速度。在此基礎(chǔ)上,舍棄MobileNetv3-Large[16]中的部分耗時(shí)層,更改第8 層和第14 層的輸出通道數(shù),并改進(jìn)基礎(chǔ)模塊中通道域注意力網(wǎng)絡(luò)(Squeeze and Excitation Network,SENet)[17]的注意力機(jī)制,使輸出的權(quán)重?cái)?shù)值能更準(zhǔn)確地表征特征的重要程度。此外,設(shè)計(jì)一種弱語義分割模塊,以檢測目標(biāo)的標(biāo)注信息作為監(jiān)督,進(jìn)行前景和背景的分割,得到一個(gè)預(yù)測的分割掩膜,并將此掩膜作為空間權(quán)重分布對(duì)特征進(jìn)行重新標(biāo)定,以增強(qiáng)本文網(wǎng)絡(luò)YOLOv4-SLite 應(yīng)對(duì)漏檢和誤檢的能力。
YOLOv4 是YOLO 系列[18-19]網(wǎng)絡(luò)的第4 個(gè)版本。相較于前兩次迭代對(duì)樣本劃分策略和網(wǎng)絡(luò)結(jié)構(gòu)等瓶頸的突破,YOLOv4 并沒有進(jìn)一步提升,而是綜合了跨階段部分連接(Cross Stage Partial-connections,CSP)、路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PANet)[20]、Mish 激活函數(shù)[21]、馬賽克增強(qiáng)等近年來深度神經(jīng)網(wǎng)絡(luò)研究中優(yōu)秀的子網(wǎng)絡(luò)、數(shù)據(jù)增強(qiáng)和訓(xùn)練技巧,形成了“CSPDarkNet+FPAN-SPP+YOLOHead”的結(jié)構(gòu)。YOLOv4 相較于前一個(gè)版本極大增強(qiáng)了模型的特征提取、特征融合和特征學(xué)習(xí)能力,成為現(xiàn)階段在精確度和速度表現(xiàn)上均十分優(yōu)異的一階段目標(biāo)檢測網(wǎng)絡(luò)。
有研究指出,數(shù)據(jù)在流經(jīng)神經(jīng)網(wǎng)絡(luò)時(shí)最耗時(shí)的結(jié)構(gòu)是卷積層。文獻(xiàn)[22]提出一種適應(yīng)移動(dòng)設(shè)備的輕量級(jí)網(wǎng)絡(luò)MobileNetv1,設(shè)計(jì)深度可分離卷積(Depthwise Separable Convolution,DW),通過使用DW 卷積替換傳統(tǒng)卷積,達(dá)到降低模型參數(shù)復(fù)雜度和運(yùn)算量的目的,具體的量化公式如式(1)所示:
其中:Fdw和Fconv分別表示可分離卷積與傳統(tǒng)卷積的浮點(diǎn)運(yùn)算數(shù);Cout和Ksize分別表示輸出特征的通道數(shù)和卷積核的尺寸。
MobileNetv1 其后的兩次迭代分別融入了倒殘差結(jié)構(gòu)和基于通道域注意力(Squeeze and Excitation,SE)機(jī)制的SENet,形成MobileNetv3 模型。
語義分割任務(wù)利用語義標(biāo)簽對(duì)全圖像素進(jìn)行逐一分類,從而得到關(guān)于語義信息的分割圖像。FCN[23]網(wǎng)絡(luò)的出現(xiàn)使語義分割有了里程碑式的突破,它摒棄了基于滑窗的方法,轉(zhuǎn)而使用一個(gè)全卷積的網(wǎng)絡(luò),確立了編碼-解碼的模型架構(gòu),克服了區(qū)域標(biāo)注方法的低精確度和低效率缺點(diǎn)。Mask R-CNN[24]以經(jīng)典的目標(biāo)檢測網(wǎng)絡(luò)Faster R-CNN 為基礎(chǔ),并額外增加一個(gè)檢測頭作為語義分割的輸出。通過與分類、回歸分支共享深層特征,完成模塊化地修改網(wǎng)絡(luò),從而將目標(biāo)檢測算法擴(kuò)展到語義分割任務(wù)中。Mask R-CNN 在MS COCO[25]公共數(shù)據(jù)集上的優(yōu)良性能表明在一個(gè)網(wǎng)絡(luò)中,不同任務(wù)可以通過共享深層特征的方式,利用不同的訓(xùn)練標(biāo)簽和損失函數(shù),完成聯(lián)合學(xué)習(xí)的任務(wù)。
隨著目標(biāo)檢測需求的增多,其應(yīng)用場景和部署平臺(tái)也越來越多樣。嵌入式設(shè)備和移動(dòng)終端要求模型更小巧,自動(dòng)駕駛、視頻檢測等應(yīng)用要求模型擁有更好的實(shí)時(shí)性。SSD、YOLO 系列等成熟且應(yīng)用廣泛的網(wǎng)絡(luò)日漸不能應(yīng)對(duì)這些狀況。近年來,為適應(yīng)這些新特性,已出現(xiàn)諸多傳統(tǒng)算法的改進(jìn)版本,比如YOLOv4-tiny[26]和MobileNet-SSD[27]采用簡化特征提取網(wǎng)絡(luò)壓縮模型,從而提高實(shí)時(shí)性。
YOLOv4-SLite 網(wǎng)絡(luò)的整體框架:以改進(jìn)的MobileNetv3-Lite 作為基礎(chǔ)語義特征提取網(wǎng)絡(luò),以FPN 加PAN 的組合來實(shí)現(xiàn)雙重特征融合,最后以SSB 弱語義分割模塊作為檢測頭的動(dòng)態(tài)增強(qiáng)附件。網(wǎng)絡(luò)輸入尺寸為512×512,經(jīng)過32 倍、16 倍和8 倍的下采樣倍率得到3 種不同尺寸的特征,在網(wǎng)絡(luò)neck部分進(jìn)行2 次上采樣實(shí)現(xiàn)淺層特征和深層語義特征的融合,3 個(gè)檢測頭的輸出分別為64×64×141、32×32×141、16×16×141,分別對(duì)應(yīng)小型目標(biāo)、中型目標(biāo)和大型目標(biāo)的檢測。輸出中第3 個(gè)維度的構(gòu)成如下:每個(gè)網(wǎng)格預(yù)測3 個(gè)錨框(anchor),每個(gè)anchor 包含42 個(gè)類別值、4 個(gè)坐標(biāo)相關(guān)值以及1 個(gè)置信度值(x,y,w,h,conf,Ccls)。當(dāng)使用R_DP 模塊時(shí),基礎(chǔ)結(jié)構(gòu)中包含殘差結(jié)構(gòu)。當(dāng)使用DP 模塊時(shí),基礎(chǔ)結(jié)構(gòu)中沒有殘差結(jié)構(gòu),用虛線加以區(qū)分。YOLOv4-SLite 網(wǎng)絡(luò)的結(jié)構(gòu)如圖1 所示。
圖1 YOLOv4-SLite 網(wǎng)絡(luò)整體結(jié)構(gòu)Fig.1 Overall structure YOLOv4-SLite network
MobileNetv3-Large 作為一款優(yōu)秀的輕量化網(wǎng)絡(luò),在ImageNet 分類、MS COCO 檢測等基準(zhǔn)任務(wù)上表現(xiàn)良好。但本文所用交通標(biāo)志數(shù)據(jù)集中圖片具有高分辨率和目標(biāo)區(qū)域小的獨(dú)特性,針對(duì)這2 個(gè)特點(diǎn),本文對(duì)MobileNetv3-Large 進(jìn)行了相應(yīng)改進(jìn)。
為解決圖片裁剪操作拖慢模型檢測速度的問題,本文對(duì)MobileNetv3-Large 進(jìn)行優(yōu)化。具體做法:保留原模型的前14 層,舍棄其余結(jié)構(gòu);為避免引入更多卷積來對(duì)齊特征融合的輸入通道數(shù),將第8 層的輸出通道數(shù)由80 更改為40,最后一層的通道數(shù)由160 更改為112。為抑制特征通道的減少對(duì)模型學(xué)習(xí)能力的劇烈影響,且不過多增加浮點(diǎn)運(yùn)算數(shù),對(duì)MobileNetv3 中的重要模塊SENet 進(jìn)行改進(jìn)增強(qiáng),從而得到MobileNetv3-Lite 網(wǎng)絡(luò),其結(jié)構(gòu)如表1 所示。其中“√”表示使用SE 注意力模塊,“—”表示不使用SE 注意力模塊。
表1 MobileNetv3-Lite 網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Structure of MobileNetv3-Lite network
原始的SENet 模塊通過將輸入特征在空間維度上進(jìn)行壓縮,使原本的特征通道轉(zhuǎn)變成一個(gè)能表征全局感受野的一維向量,計(jì)算原理如式(2)所示:
其中:f(i,j)代表特征圖上每個(gè)像素點(diǎn)的值;H1、W1分別代表特征圖的長與寬;Zc為網(wǎng)絡(luò)輸出,代表該通道重要性的實(shí)數(shù)。
但SENet 模塊使用全局平均池化(Global Average Pooling,GAP)作為壓縮機(jī)制,對(duì)于目標(biāo)占比均衡的任務(wù),通道特征的平均值能夠較好地代表該通道的響應(yīng)情況,因此通過該方法獲取全局的上下文關(guān)系。正如上文提到,本文的實(shí)驗(yàn)數(shù)據(jù)集具有目標(biāo)區(qū)域占比小的特點(diǎn),此時(shí)輸入圖片在經(jīng)過卷積進(jìn)行特性提取后,在特征圖上只能占據(jù)很小的激活區(qū)域。因此,在空間維度進(jìn)行特征平均池化會(huì)致使背景和干擾信息淹沒前景,導(dǎo)致網(wǎng)絡(luò)對(duì)前景目標(biāo)的響應(yīng)失真。這是因?yàn)槟繕?biāo)小,一般作為紋理提取的全局最大池化(Global Max Pooling,GMP)會(huì)篩選出信號(hào)最強(qiáng)的區(qū)域,能夠更好地反映該通道對(duì)前景目標(biāo)的響應(yīng)情況,計(jì)算原理如式(3)所示:
基于此,本文重新設(shè)計(jì)了SENet的壓縮機(jī)制,使用2 個(gè)實(shí)數(shù)表征全局感受野,得到EN-SENet 模塊。具體實(shí)現(xiàn):分別使用GAP 和GMP 對(duì)每個(gè)通道的特征進(jìn)行壓縮,并將池化結(jié)果在通道方向上進(jìn)行拼接,得到維度為1×1×2C的向量,然后將該向量送入全連接網(wǎng)絡(luò),得到通道注意力權(quán)重Ac。計(jì)算原理如式(4)所示:
得到融合通道注意力的特征圖F的具體流程如圖2 所示。
圖2 改進(jìn)的通道注意力模塊EN-SENetFig.2 Improved channel attention module EN-SENet
2.3.1 弱語義分割網(wǎng)絡(luò)
對(duì)神經(jīng)網(wǎng)絡(luò)的輸出進(jìn)行研究發(fā)現(xiàn),特征圖的激活區(qū)域與原圖中的檢測區(qū)域存在映射重疊,這說明神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)流動(dòng)過程中會(huì)逐漸收斂關(guān)注范圍,將視閾聚焦在真實(shí)的檢測區(qū)域。然而在本文的檢測任務(wù)中,目標(biāo)物體占圖像的像素面積較小,而且圖像多余部分不是純粹的背景。這些噪聲使深層特征表征的檢測物體空間映射發(fā)生畸變,若將學(xué)習(xí)到的特征直接輸入檢測頭會(huì)嚴(yán)重影響網(wǎng)絡(luò)對(duì)目標(biāo)的識(shí)別與檢測效果。文獻(xiàn)[28]提出一種解決辦法:采取無監(jiān)督的方式,通過堆疊如圖3 所示的殘差注意力模塊,增強(qiáng)特征圖中的有效部分。但該方法的缺點(diǎn)也很明顯,即整體的運(yùn)算時(shí)間會(huì)增加。
圖3 無監(jiān)督注意力掩碼模塊Fig.3 Unsupervised attention mask module
本文旨在設(shè)計(jì)一種輕量化的檢測網(wǎng)路,若沿用這種基礎(chǔ)模塊層層堆疊的方式,明顯與主旨相悖。受文獻(xiàn)[13]和文獻(xiàn)[28]的啟發(fā),本文設(shè)計(jì)了一種弱語義分割模塊,并把它作為一種動(dòng)態(tài)增強(qiáng)附件而非構(gòu)建網(wǎng)絡(luò)基礎(chǔ)模塊,僅在YOLOv4-SLite 網(wǎng)絡(luò)的檢測頭之前使用一次,將該模塊的輸出作為模型學(xué)習(xí)到的空間權(quán)重分布來矯正特征,從而提升模型的檢測能力。
基于弱語義分割的空間注意力的算法流程如圖4所示。將輸入圖像經(jīng)MobileNetv3-Lite 和特征融合子模塊后的輸出作為弱語義分割模塊的輸入特征圖,并將輸入特征圖傳入語義分割模塊進(jìn)行前景和背景的預(yù)測,從而得到空間注意力權(quán)重。接著,把注意力權(quán)重分配給對(duì)應(yīng)的輸入特征圖以加強(qiáng)目標(biāo)特征。
圖4 語義分割算法流程Fig.4 Procedure of semantic segmentation algorithm
2.3.2 語義分割模塊
語義分割模塊作為一種典型的編碼-解碼模型,編碼部分一般使用卷積或者池化用于縮小特征圖尺寸,解碼部分采用雙線性插值的方法逐級(jí)恢復(fù)特征圖。本文設(shè)計(jì)了基礎(chǔ)語義分割模塊SSA 和效果增強(qiáng)的語義分割模塊SSB,分別如圖5 和圖6所示。
圖5 語義分割模塊SSAFig.5 Semantic segmentation module SSA
圖6 語義分割模塊SSBFig.6 Semantic segmentation module SSB
SSA 模塊參照文獻(xiàn)[24]的設(shè)計(jì)思想,使用語義分割任務(wù)中最簡單的框架,僅使用2 個(gè)步距為2 的卷積作為編碼器,2 個(gè)步距為2 的轉(zhuǎn)置卷積作為解碼器,以此來驗(yàn)證語義分割是否有效。為擴(kuò)大模塊感受野的同時(shí)結(jié)合多尺度的上下文,將經(jīng)典語義分割模型DeepLabv3 中的空洞空間卷積池化金字塔(Atrous Spatial Pyramid Pooling,ASPP)[29]改進(jìn)后引入SSA 模塊,最終擴(kuò)充形成SSB 模塊。
ASPP 模塊采用多分支并聯(lián)的形式,通過膨脹率不同的空洞卷積(Dilated Convolution,DC)獲取更大的感受野,再對(duì)各分支的特征進(jìn)行融合,從而獲得精確的上下文信息。本文在ASPP 模塊的基礎(chǔ)上進(jìn)行改進(jìn):為降低模塊的運(yùn)算量,對(duì)每個(gè)分支使用1×1 的標(biāo)準(zhǔn)卷積進(jìn)行降維;將DC 層的膨脹率分別降低為1、3、5;對(duì)膨脹率為3 和5 的分支添加3×3 的標(biāo)準(zhǔn)卷積來獲取基礎(chǔ)特征;對(duì)4 分支的特征進(jìn)行拼接,最后經(jīng)過1×1 的標(biāo)準(zhǔn)卷積進(jìn)行特征融合和通道降維。
2.3.3 監(jiān)督信息和注意力權(quán)重的生成
由于本次任務(wù)提供的數(shù)據(jù)集缺少語義標(biāo)簽,因此本文只能利用標(biāo)注信息來生成語義掩膜,為區(qū)別于傳統(tǒng)方法,將之稱為弱語義掩膜[30]。具體做法:輸入原始圖片,若語義分割模塊輸出矩陣上的像素點(diǎn)落入坐標(biāo)框內(nèi),則將該點(diǎn)處的像素?cái)?shù)值置1,反之則置0。為避免模糊性,將落在標(biāo)注框上點(diǎn)的像素?cái)?shù)值設(shè)置為255,并在訓(xùn)練時(shí)忽略掉。然后將該像素?cái)?shù)值圖映射至與YOLOv4-SLite 網(wǎng)絡(luò)檢測頭匹配的尺寸,本文沒有使用如PASCAL VOC 數(shù)據(jù)集中用過的調(diào)色板模式,而是簡單選擇二值作為區(qū)分,得到最終的弱語義掩碼。弱語義掩碼生成流程如圖7 所示。使用弱語義掩碼進(jìn)行監(jiān)督訓(xùn)練,模塊SSA 或SSB 的輸出Mx即為空間注意力權(quán)重。為了防止網(wǎng)絡(luò)性能的退化,引入殘差結(jié)構(gòu)作為恒等映射,即:
圖7 弱語義掩碼生成流程Fig.7 Generation process of weak semantic mask
由于本文只需要語義分割模塊進(jìn)行前景和背景的預(yù)測,實(shí)際上是個(gè)二分類任務(wù),因此只需要計(jì)算分割結(jié)果Mx和弱語義掩膜M*的交叉熵?fù)p失,如式(6)所示:
其中:h與w分別為弱語義掩膜的長度和寬度;Mij為特征圖上坐標(biāo)為(i,j)的點(diǎn)的像素值;為掩碼上對(duì)應(yīng)坐標(biāo)的像素值。
本文采用清華大學(xué)與騰訊公司聯(lián)合制作的TT100K[12]數(shù)據(jù)集,數(shù)據(jù)來源于車載攝像頭的街景實(shí)拍,具有場景真實(shí)、類型多樣的特點(diǎn)。該數(shù)據(jù)集包含訓(xùn)練集圖片6 107 張,驗(yàn)證集圖片3 073 張,涵蓋了不同光照強(qiáng)度和氣候條件下的樣本[13],數(shù)據(jù)集中的圖像分辨率為2 048×2 048 像素,其中尺寸小于32×32的檢測對(duì)象占總目標(biāo)個(gè)數(shù)的40.5%,造成了小目標(biāo)檢測的難題。此外,高分辨率圖像包含了更多的背景信息,網(wǎng)絡(luò)更易出現(xiàn)誤檢情況。本文通過統(tǒng)計(jì)數(shù)據(jù)集中221 個(gè)類別的分布情況,發(fā)現(xiàn)樣本分布存在嚴(yán)重的長尾效應(yīng),如圖8 所示。綜上所述,相比于其他公開的交通標(biāo)志數(shù)據(jù)集,TT100K 數(shù)據(jù)集的挑戰(zhàn)難度更大。為抑制長尾效應(yīng)對(duì)模型的影響,本文對(duì)數(shù)據(jù)集進(jìn)行重構(gòu)。具體做法:對(duì)于數(shù)量少于50 的類別,直接剔除它們的標(biāo)注信息;對(duì)于數(shù)量大于50 但小于100 的類別,則使用隨機(jī)高斯噪聲、水平翻轉(zhuǎn)、馬賽克增強(qiáng)等手段將其樣本數(shù)擴(kuò)充至100。最后的數(shù)據(jù)集包括42 個(gè)類別,數(shù)據(jù)分布如圖9 所示。
圖8 TT100K 數(shù)據(jù)集原始樣本分布Fig.8 Original sample distribution of TT100K data set
圖9 抑制長尾效應(yīng)后的樣本分布Fig.9 Sample distribution after suppressing the long tail effect
經(jīng)過3.1 節(jié)的處理,數(shù)據(jù)分布不均的問題得到解決,但重構(gòu)數(shù)據(jù)集的圖像分辨率依舊為2 048×2 048,若直接送入模型進(jìn)行訓(xùn)練,模型會(huì)因顯存爆炸而無法訓(xùn)練。若設(shè)置過小的批量(batch size)勉強(qiáng)訓(xùn)練,不但會(huì)增加訓(xùn)練時(shí)間,而且由于相鄰batch size 差異過大,容易導(dǎo)致模型震蕩不能收斂。
為解決這個(gè)問題,本文參考文獻(xiàn)[31]處理高分辨率圖片的方法。使用大小為512×512 的滑窗,將重疊率(overlap rate)設(shè)置為0.2,對(duì)訓(xùn)練集進(jìn)行裁剪,隨機(jī)地對(duì)圖像進(jìn)行HSV 空間顏色變換。濾除不含目標(biāo)和包含不完整目標(biāo)的樣本之后,共得到15 702 張訓(xùn)練圖片。通過對(duì)高分辨率圖片進(jìn)行裁剪,不但解決了上述提到的問題,而且增加了樣本的多樣性。
由于增加了語義分割模塊進(jìn)行聯(lián)合訓(xùn)練,YOLOv4-SLite 網(wǎng)絡(luò)除了回歸損失、置信度損失和分類損失之外,還需要額外加上分割損失,總損失的表達(dá)式如式(7)所示:
其中:λ1、λ2、λ3、λ4分別為各項(xiàng)損失設(shè)置的權(quán)重系數(shù)。
實(shí)驗(yàn)以預(yù)處理后的數(shù)據(jù)集為輸入,以深度學(xué)習(xí)框架Pytorch、Intel Core i7 和NVIDA GTX1080Ti 搭建運(yùn)行環(huán)境。使用SGD 優(yōu)化器,并使用自定義調(diào)度器動(dòng)態(tài)調(diào)整學(xué)習(xí)率,初始化學(xué)習(xí)率為0.01,動(dòng)量為0.937,權(quán)重衰減為5×10-4,batch size 設(shè)置為48,總共訓(xùn)練300 個(gè)epoch。
本文使用平均精確度(MeanAveragePrecision,mAP)、召回率、精確度、浮點(diǎn)運(yùn)算數(shù)共4 項(xiàng)指標(biāo)來評(píng)價(jià)模型性能,其中精確度與召回率為主要評(píng)價(jià)指標(biāo)。但是單一地使用精確度或者召回率指標(biāo)都不能準(zhǔn)確反映模型的性能,為全面評(píng)價(jià)模型,本文使用主流檢測方法,將P-R 曲線作為核心指標(biāo)來驗(yàn)證模型的檢測效果。通過計(jì)算閾值為0.5 時(shí)的平均精確度(mAP@0.5),即各個(gè)類別AP 的平均值,從而定量比較模型的性能。mAP 的計(jì)算公式如式(8)所示:
其中:N為該數(shù)據(jù)集的樣本類別數(shù)量;Pn為該樣本類別的AP 值。
3.4.1 改進(jìn)有效性分析
為驗(yàn)證EN-SENet 結(jié)構(gòu)的有效性,將對(duì)照組壓縮機(jī)制設(shè)置為SENet,而其他結(jié)構(gòu)與改進(jìn)組保持一致。檢驗(yàn)?zāi)P皖A(yù)測是否正確的條件設(shè)置如下:預(yù)測框與真實(shí)框(Ground Truth,GT)的IOU 閾值為0.5,類別置信度閾值為0.6。實(shí)驗(yàn)結(jié)果表明,使用GMP 加GAP的拼接組合能顯著增強(qiáng)特征提取能力,而浮點(diǎn)運(yùn)算數(shù)僅增加了0.4×109frame/s,具體數(shù)據(jù)見表2。
表2 不同特征壓縮方法的結(jié)果對(duì)比Table 2 Comparison of results of different feature compression methods
此外,針對(duì)本文提出的壓縮機(jī)制和兩種分割模塊,本文進(jìn)行了相關(guān)消融實(shí)驗(yàn)。分別將MobileNetv3-Lite和語義分割模塊SSA 和SSB 添加到Y(jié)OLOv4 網(wǎng)絡(luò)中,保持訓(xùn)練和測試方法一致,結(jié)果如表3 所示,其中“√”表示使用了相應(yīng)的模塊,“—”則表示不使用對(duì)應(yīng)的模塊。
表3 模塊消融實(shí)驗(yàn)Table 3 Module ablation experiment
通過分析表3 數(shù)據(jù)可知,分割模塊能夠?qū)z測結(jié)果起正面作用,且僅使用基礎(chǔ)分割模塊SSA 就能顯著提升模型性能。在綜合考量性能提升和計(jì)算負(fù)擔(dān)的因素下,增強(qiáng)模塊SSB 的表現(xiàn)更優(yōu)。
3.4.2 預(yù)測結(jié)果分析
通過模塊消融實(shí)驗(yàn)確定模型使用的模塊后,將驗(yàn)證集輸入模型,并統(tǒng)計(jì)模型預(yù)測,結(jié)果如表4 所示,可以發(fā)現(xiàn):數(shù)據(jù)集中所有類別(42 個(gè))的預(yù)測精確度與YOLOv4 基本持平。對(duì)復(fù)雜背景和極小物體的檢測情況進(jìn)行分析,也可以達(dá)到預(yù)期,預(yù)測結(jié)果如圖10、圖11 所示。
表4 YOLOv4-SLite 與YOLOv4 網(wǎng)絡(luò)在不同預(yù)測類上的預(yù)測精確度對(duì)比Table 4 Comparison of prediction accuracy between YOLOv4-SLite and YOLOv4 on different prediction classes
圖10 復(fù)雜背景下的預(yù)測結(jié)果Fig.10 Forecast results in a complex context
圖11 對(duì)小目標(biāo)的預(yù)測結(jié)果Fig.11 Predicted results of small targets
本文選取RetinaNet50[11]、YOLOv4[15]、YOLOv3[20]、YOLOv4-tiny[26]、Cascade R-CNN[32]、ATSS[33]、PAA[34]共7 種網(wǎng)絡(luò)進(jìn)行性能對(duì)比,囊括了近幾年涌現(xiàn)的經(jīng)典框架和最新的改進(jìn)。RetinaNet50 通過緩解正負(fù)樣本不均衡的問題,極大提升了模型性能,成為后續(xù)一階段算法沿用的設(shè)計(jì)模式;ATSS 則沿用RetinaNet 框架的例子,證明了影響模型性能的關(guān)鍵因素是正負(fù)樣本的選擇策略,而與回歸的方式、anchor 的數(shù)量無關(guān);PAA 進(jìn)一步消除了ATSS 中的超參數(shù),采用概率的方式分配正負(fù)樣本,進(jìn)一步提升了模型的性能;Cascade R-CNN 通過為多檢測頭設(shè)置不同的IOU 改善了性能,是兩階段算法的代表。
將上述模型的P-R 曲線繪制在同一坐標(biāo)軸下,如圖12 所示,可以清晰看到代表YOLOv4-SLite(本文網(wǎng)絡(luò))的曲線包裹了其網(wǎng)絡(luò)法曲線,并幾乎與YOLOv4 曲線重合,直觀上斷定本文網(wǎng)絡(luò)勝過最新的主流網(wǎng)絡(luò),與YOLOv4 效果相當(dāng)。
圖12 YOLOv4-SLite 與其他主流網(wǎng)絡(luò)的P-R 曲線對(duì)比Fig.12 Comparison of P-R curve between YOLOv4-SLite and other mainstream networks
為更全面、綜合地比較本文網(wǎng)絡(luò)的優(yōu)勢,在精確度的基礎(chǔ)上,加入模型大小和檢測速度兩項(xiàng)指標(biāo)對(duì)這7 種網(wǎng)絡(luò)進(jìn)行對(duì)比,結(jié)果如表5 所示,可以看到,YOLOv4-SLite 在精確度和速度綜合考慮的情況下明顯優(yōu)于其他網(wǎng)絡(luò)。此外,相較于YOLOv4 網(wǎng)絡(luò),YOLOv4-SLite網(wǎng)絡(luò)在mAP@0.5 僅損失0.2%的情況下,模型大小降低了96.5%,浮點(diǎn)運(yùn)算數(shù)提升了227%。
表5 YOLOv4-SLite 與其他主流網(wǎng)絡(luò)的綜合比較Table 5 Comprehensive comparison between YOLOv4-SLite and other mainstream networks
針對(duì)現(xiàn)有交通標(biāo)志識(shí)別網(wǎng)絡(luò)在處理高分辨率輸入時(shí)存在檢測速度慢、識(shí)別精確度偏低等不足,本文設(shè)計(jì)一種基于YOLOv4 的輕量化改進(jìn)網(wǎng)絡(luò)YOLOv4-SLite。為應(yīng)對(duì)輕量化可能導(dǎo)致的性能下降問題,額外為檢測頭設(shè)計(jì)一種基于弱語義分割的動(dòng)態(tài)增強(qiáng)附件,且不過多增加模型的浮點(diǎn)運(yùn)算數(shù)。實(shí)驗(yàn)結(jié)果表明,YOLOv4-SLite 相較于YOLOv4 基準(zhǔn)網(wǎng)絡(luò),在mAP@0.5 僅損失0.2%的情況下,模型大小降低了96.5%,浮點(diǎn)運(yùn)算數(shù)提升了227%,在綜合性能上具有較大優(yōu)勢。但本文仍存在裁剪環(huán)節(jié)為算法瓶頸以及沒有解決YOLO 系列網(wǎng)絡(luò)檢測頭耦合的問題,而解決這些問題能夠提升YOLO 系列網(wǎng)絡(luò)的準(zhǔn)確度[35]。下一步將尋求合適的裁剪方式破除瓶頸,并將分類與回歸任務(wù)進(jìn)行解耦,以提升模型的性能。