張永亮,陸陽(yáng),2,3,朱蕪強(qiáng),衛(wèi)星,3,4,魏臻,2,3
(1.合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,合肥 230009;2.礦山物聯(lián)網(wǎng)與安全監(jiān)控技術(shù)安徽省重點(diǎn)實(shí)驗(yàn)室,合肥 230088;3.安全關(guān)鍵工業(yè)測(cè)控技術(shù)教育部工程研究中心,合肥 230009;4.合肥工業(yè)大學(xué) 智能制造研究院,合肥 230009)
隨著智能交通系統(tǒng)以及自動(dòng)駕駛技術(shù)的興起,道路交通問題日益嚴(yán)峻,交通標(biāo)志檢測(cè)作為其主要的組成部分,其可靠性至關(guān)重要。傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的交通標(biāo)志檢測(cè)方法主要是利用交通標(biāo)志的顏色和幾何特征對(duì)其進(jìn)行檢測(cè),這類方法花費(fèi)大量的時(shí)間為不同的交通標(biāo)志進(jìn)行人工制作的特征[1-2],受到天氣變化和遮擋等外部因素的影響非常大。在將傳統(tǒng)方法加入機(jī)器學(xué)習(xí)的研究[3-4]中,通常將檢測(cè)分成兩個(gè)步驟,首先利用傳統(tǒng)方法定位圖片中交通標(biāo)志的區(qū)域,隨后使用支持向量機(jī)(Support Vector Machines,SVM)分類器[5]對(duì)這些區(qū)域中的交通標(biāo)志進(jìn)行分類。SVM 分類器能夠有效緩解外部因素帶來的影響,但是這種方法仍然存在需要為不同的交通標(biāo)志進(jìn)行人工制作的特征。隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)在圖像識(shí)別領(lǐng)域的應(yīng)用,CNN 強(qiáng)大的學(xué)習(xí)能力使其迅速在計(jì)算機(jī)視覺研究領(lǐng)域占據(jù)了主導(dǎo)地位。計(jì)算機(jī)視覺領(lǐng)域主要研究計(jì)算機(jī)獲得對(duì)場(chǎng)景理解的能力,這種能力包括對(duì)場(chǎng)景中不同的對(duì)象進(jìn)行準(zhǔn)確的定位和分類,目標(biāo)檢測(cè)正是對(duì)這一重要任務(wù)的一種概括。通過CNN 不斷地改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),目標(biāo)檢測(cè)領(lǐng)域產(chǎn)生了RCNN[6]、Fast R-CNN[7]、Faster R-CNN[8]、SSD[9]、YOLO[10]等許多優(yōu)秀的算法。交通標(biāo)志檢測(cè)的目的是讓計(jì)算機(jī)能夠定位并識(shí)別出場(chǎng)景內(nèi)的所有交通標(biāo)志,屬于目標(biāo)檢測(cè)任務(wù)的一部分。因此,基于CNN的研究方法同樣適用于交通標(biāo)志檢測(cè)領(lǐng)域?;贑NN 的方法無需像傳統(tǒng)交通標(biāo)志檢測(cè)方法那樣手工制作的特征,而且對(duì)于因光線和天氣變化等外部因素造成背景不同的交通標(biāo)志的檢測(cè)具有魯棒性。
為了使CNN 在目標(biāo)檢測(cè)領(lǐng)域取得的成就遷移到交通標(biāo)志檢測(cè)領(lǐng)域,許多研究[11-13]試圖直接使用目標(biāo)檢測(cè)領(lǐng)域內(nèi)優(yōu)秀的算法來檢測(cè)交通標(biāo)志,但未能取得理想的效果。目標(biāo)檢測(cè)領(lǐng)域的算法在訓(xùn)練和測(cè)試時(shí)使用PASCAL VOC[14]和COCO[15]數(shù)據(jù)集,這些數(shù)據(jù)集提供的圖像中目標(biāo)對(duì)象的尺寸較大,導(dǎo)致算法檢測(cè)小尺寸目標(biāo)的能力較弱,但是在交通場(chǎng)景的圖像中,交通標(biāo)志的尺寸并不以大尺寸為主,也存在許多小尺寸的交通標(biāo)志,因此,目標(biāo)檢測(cè)領(lǐng)域的算法在交通標(biāo)志檢測(cè)領(lǐng)域不能發(fā)揮出應(yīng)有的性能。還有一些研究[16-18]則是針對(duì)圖像中的交通標(biāo)志使用VGGNet[19]、GoogLeNet[20]和ResNet[21]作為基礎(chǔ)網(wǎng)絡(luò),并且借鑒目標(biāo)檢測(cè)領(lǐng)域相關(guān)算法的結(jié)構(gòu)構(gòu)建出檢測(cè)交通標(biāo)志的算法,但這些算法在面對(duì)真實(shí)的交通場(chǎng)景圖像時(shí)不能同時(shí)解決定位和分類這兩個(gè)任務(wù),主要原因是這些算法沒有給出有效的方法來檢測(cè)具有復(fù)雜背景和目標(biāo)對(duì)象尺寸差異較大的交通場(chǎng)景圖像,并且這些算法所使用的數(shù)據(jù)集不能滿足現(xiàn)實(shí)交通場(chǎng)景中遇到的情況。交通標(biāo)志檢測(cè)的難點(diǎn)一方面在于交通場(chǎng)景圖像背景的復(fù)雜性,現(xiàn)實(shí)交通場(chǎng)景圖像中不僅有很多交通標(biāo)志,也有很多在形狀和顏色上與交通標(biāo)志相似的標(biāo)志,這種現(xiàn)象會(huì)在檢測(cè)時(shí)干擾算法;另一方面圖像中交通標(biāo)志的尺寸差異很大,并且以小尺寸的交通標(biāo)志居多,通常小尺寸的目標(biāo)要比大尺寸的目標(biāo)更難檢測(cè)。因此,若要解決交通標(biāo)志檢測(cè)中存在的問題,就必須設(shè)計(jì)一個(gè)在復(fù)雜的交通場(chǎng)景下既可以檢測(cè)出大尺寸交通標(biāo)志,也可以檢測(cè)出小尺寸交通標(biāo)志的算法。
目前有關(guān)交通標(biāo)志檢測(cè)的研究普遍使用的數(shù)據(jù)集是GTSRB[22]和GTSDB[23]。其中,GTSDB 提供的數(shù)據(jù)可用于研究交通標(biāo)志的定位和分類,但其只提供三大類常見交通標(biāo)志的圖像和標(biāo)簽信息,遠(yuǎn)遠(yuǎn)少于現(xiàn)實(shí)中所遇見的交通標(biāo)志的種類。在GTSRB 提供的43 類交通標(biāo)志中,交通標(biāo)志在圖像中占據(jù)了很大的比例,以至于有些圖像中只有一類交通標(biāo)志,這些圖像只能用于研究交通標(biāo)志的分類而不能同時(shí)用于定位和分類。GTSRB、GTSDB 數(shù)據(jù)集中的交通標(biāo)志和圖像是針對(duì)德國(guó)的道路交通場(chǎng)景,而國(guó)內(nèi)的交通場(chǎng)景相對(duì)較為復(fù)雜,并且交通標(biāo)志的種類要遠(yuǎn)多于上述數(shù)據(jù)集中的類別。因此,許多通過GTSRB 和GTSDB 數(shù)據(jù)集訓(xùn)練出來的檢測(cè)算法在對(duì)國(guó)內(nèi)的交通場(chǎng)景進(jìn)行檢測(cè)時(shí)不能獲得良好的檢測(cè)結(jié)果。
本文針對(duì)中國(guó)道路交通場(chǎng)景建立一個(gè)新的數(shù)據(jù)集,包含77 類國(guó)內(nèi)常見的交通標(biāo)志,并對(duì)每張圖像中交通標(biāo)志的類別和位置進(jìn)行標(biāo)注。在YOLOv4 算法的基礎(chǔ)上,設(shè)計(jì)多尺寸特征提取模塊(Multi-size Feature Extraction Module,MsFEM)和增強(qiáng)特征融合模塊(Enhanced Feature Fusion Module,EFFM),其中MsFEM 可使特征提取網(wǎng)絡(luò)提取來自上層特征圖中的特征語義信息,EFFM 能夠在多尺度預(yù)測(cè)中有效地保留和增強(qiáng)小尺寸目標(biāo)的特征語義信息,提高算法對(duì)小目標(biāo)的檢測(cè)能力。
由上節(jié)內(nèi)容可知,基于CNN 的算法已經(jīng)成為交通標(biāo)志檢測(cè)研究領(lǐng)域的主流方法,上述算法的研究與目標(biāo)檢測(cè)領(lǐng)域方法的思路一致。目標(biāo)檢測(cè)實(shí)質(zhì)上是定位和分類兩個(gè)任務(wù),這些目標(biāo)檢測(cè)方法可以分為2 種:第1 種稱為兩階段,它將檢測(cè)分成兩個(gè)步驟,首先定位出圖像中存在目標(biāo)對(duì)象的區(qū)域,接著對(duì)區(qū)域中目標(biāo)對(duì)象的類別進(jìn)行分類;第2 種稱為一階段,它將檢測(cè)作為一個(gè)步驟,直接定位和分類出圖像中不同目標(biāo)對(duì)象的位置與類別。
R-CNN 算法最先使用兩階段方法,首先采用selective search[24]生成候選區(qū)域,接著對(duì)包含目標(biāo)對(duì)象的候選區(qū)域進(jìn)行分類,生成的每個(gè)候選區(qū)域都要經(jīng)過分類網(wǎng)絡(luò)的處理,導(dǎo)致R-CNN 算法的效率較低。隨后,GIRSHICK 提出了Fast R-CNN 算法,在網(wǎng)絡(luò)的最后層使用softmax 層替代R-CNN 算法中的SVM 分類器,但依然沒有解決效率低的問題。為此,REN 提出了Faster R-CNN 算法,該算法使用了區(qū)域候選網(wǎng)絡(luò)(Region Proposal Network,RPN),即有效定位包含目標(biāo)對(duì)象區(qū)域的網(wǎng)絡(luò)結(jié)構(gòu)。RPN 基于VGG16 或者ResNet101 提取到的特征圖生成候選區(qū)域,通過softmax 層判斷這些候選區(qū)域是屬于含有目標(biāo)對(duì)象的區(qū)域還是不含有目標(biāo)對(duì)象的區(qū)域,對(duì)含有目標(biāo)對(duì)象的候選區(qū)域進(jìn)行邊界回歸得到精確的位置信息,完成對(duì)目標(biāo)區(qū)域的有效定位,隨后將這些候選區(qū)域送入到分類網(wǎng)絡(luò)中進(jìn)行分類,并再一次通過邊界回歸獲得最終的精確位置。Faster R-CNN 中所有候選區(qū)域的生成和判別均在RPN 上進(jìn)行,這種操作加快了網(wǎng)絡(luò)的檢測(cè)速度,但依然達(dá)不到實(shí)時(shí)性的要求。
為進(jìn)一步加快 網(wǎng)絡(luò)的檢測(cè)速 度,YOLOv3[25]和SSD 等采用一階段方法的算法相繼被提出,這些算法在設(shè)計(jì)上借鑒了FCN[26]的全卷積和FPN[27]的多尺度預(yù)測(cè)的思想。多尺度預(yù)測(cè)是利用特征提取網(wǎng)絡(luò)得到的不同尺寸的特征圖在進(jìn)行高低層間的特征融合后分別獨(dú)立地進(jìn)行預(yù)測(cè)操作。全卷積與傳統(tǒng)的CNN 網(wǎng)絡(luò)使用全連接層進(jìn)行分類的方式不同,它在網(wǎng)絡(luò)的最后使用1×1 的卷積核代替全連接層,輸出的是與前一層輸入大小相同的特征圖,該特征圖上的每一個(gè)點(diǎn)就是網(wǎng)絡(luò)對(duì)原始輸入圖像的某一塊區(qū)域進(jìn)行的預(yù)測(cè);全卷積的目的在于對(duì)圖像進(jìn)行像素級(jí)的定位與分類,最后逐個(gè)像素地計(jì)算位置和類別的損失,相當(dāng)于每一個(gè)像素對(duì)應(yīng)一個(gè)訓(xùn)練樣本;通過全卷積操作,網(wǎng)絡(luò)可以減少計(jì)算量,從而加快檢測(cè)速度,并且只需要將圖像輸入到網(wǎng)絡(luò)中就能直接預(yù)測(cè)結(jié)果,實(shí)現(xiàn)了單階段檢測(cè)。SSD 和YOLOv3 的檢測(cè)速度要快于Faster R-CNN,但檢測(cè)精度沒有顯著提高。為了提高算法的檢測(cè)精度以及對(duì)小尺寸目標(biāo)檢測(cè)的能力,YOLOv4[28]使用CSPDarknet53 作為基礎(chǔ)特征提取網(wǎng)絡(luò)并且在多尺度預(yù)測(cè)方面使用PANet[29],這些方法在PASCAL VOC 和COCO數(shù)據(jù)集上被證明是有效的。
目標(biāo)檢測(cè)算法在訓(xùn)練和測(cè)試時(shí)使用的圖像中的目標(biāo)對(duì)象尺寸與交通場(chǎng)景圖像中的目標(biāo)對(duì)象尺寸之間存在差異,并且交通場(chǎng)景圖像的背景十分復(fù)雜,這些原因?qū)е履繕?biāo)檢測(cè)算法在直接檢測(cè)交通場(chǎng)景圖像中的交通標(biāo)志時(shí)不能發(fā)揮出應(yīng)有的性能,但隨著網(wǎng)絡(luò)的不斷改進(jìn),這些算法能夠提供較為先進(jìn)的研究思路。因此,本文結(jié)合交通場(chǎng)景圖像中交通標(biāo)志的分布特點(diǎn),對(duì)YOLOv4 進(jìn)行改進(jìn),提出一個(gè)有效檢測(cè)交通標(biāo)志的算法。
本文建立的數(shù)據(jù)集中的圖像是基于中國(guó)城市道路交通場(chǎng)景所拍攝的,其中40%的圖像是由ZHU[30]和ZHANG[31]及其他們的團(tuán)隊(duì)所提供的,其余的是由本文通過相機(jī)拍攝大量有關(guān)城市道路交通場(chǎng)景的圖像并將這些照片經(jīng)過篩選和裁剪后所得。為了保持圖像中真實(shí)的道路場(chǎng)景和交通標(biāo)志,本文將這些圖像尺寸統(tǒng)一成800×800 像素,部分圖像如圖1 所示。這些圖像在不同路況的場(chǎng)景下拍攝,圖像的背景和照片中交通標(biāo)志的尺寸都與現(xiàn)實(shí)中遇到的真實(shí)情況一致。
圖1 交通場(chǎng)景圖像Fig.1 Traffic scene images
如圖2 所示,數(shù)據(jù)集中包含77 種常見的交通標(biāo)志,圖中每種顏色的框代表一個(gè)大的類別,從左到右依次為指示類、禁止類、警告類和交通信號(hào)燈,每種交通標(biāo)志下的字符代表其獨(dú)特的標(biāo)簽(彩圖效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。在對(duì)圖像中的交通標(biāo)志進(jìn)行標(biāo)注時(shí),本文以矩形框的形式標(biāo)出圖像中交通標(biāo)志的位置并且給每個(gè)交通標(biāo)志加上特定的類別標(biāo)簽。這些標(biāo)注信息以XML 文件格式進(jìn)行保存并在訓(xùn)練和測(cè)試時(shí)提供所需要的標(biāo)簽信息。
圖2 交通標(biāo)志類別Fig.2 Traffic sign category
通過對(duì)120 000 張交通圖像進(jìn)行揀選和裁剪,數(shù)據(jù)集最終由包含15 000 個(gè)交通標(biāo)志實(shí)例的11 000 張圖像構(gòu)成。數(shù)據(jù)集中交通標(biāo)志的尺寸(以像素為單位)分布情況如圖3 所示。數(shù)據(jù)集中有些帶數(shù)字的具有相同屬性的交通標(biāo)志(如pl50 和pl60、il50 和il60 等)在訓(xùn)練和檢測(cè)時(shí)將按照各自的屬性分成一類(pl 代表限速標(biāo)志,il 代表最低速度標(biāo)志),每種交通標(biāo)志的實(shí)例數(shù)量如圖4 所示。
圖3 交通標(biāo)志尺寸分布Fig.3 Traffic sign size distribution
圖4 交通標(biāo)志類別分布Fig.4 Traffic sign category distribution
YOLOv4 算法在對(duì)具有復(fù)雜背景和目標(biāo)對(duì)象尺寸差異較大的交通場(chǎng)景圖片進(jìn)行檢測(cè)時(shí)沒有表現(xiàn)出良好的效果。為此,本文算法以交通標(biāo)志檢測(cè)中所存在的問題為背景,對(duì)YOLOv4 算法進(jìn)行改進(jìn),改進(jìn)算法稱為ME-YOLOv4。下文將分別介紹YOLOv4和ME-YOLOv4 的結(jié)構(gòu)。
YOLOv4 結(jié)構(gòu)由以下4 個(gè)部分組成:CSPDarknet53作為基礎(chǔ)網(wǎng)絡(luò);SPP[32]作為頸部的附加模塊;PANet 作為頸部的特征融合模塊;YOLOv3的Head作為頭部結(jié)構(gòu)。
YOLOv4 具體結(jié)構(gòu)如圖5 所示。作為YOLOv4中的基礎(chǔ)網(wǎng)絡(luò),CSPDarknet53 是在Darknet53 的每個(gè)大殘差塊上加上CSP[33],最終由一個(gè)卷積模塊加上5 個(gè)BLOCK 組成;卷積模塊是由Conv2D 層、BN 層和Mish 激活函數(shù)組成;每個(gè)BLOCK 包含若干個(gè)Resblock 和卷積模塊。作為頸部中的附加模塊,SPP模塊對(duì)CSPDarknet53 提取到的特征圖進(jìn)行不同尺寸的最大池化(MaxPooling)操作,其目的是增加網(wǎng)絡(luò)的感受野。作為頸部的特征融合模塊,PANet 在FPN 的上采樣(UpSampling)操作后又進(jìn)行了下采樣(DownSampling)操作,增加來自低層的位置語義信息。YOLOv4 的頭部繼續(xù)沿用YOLOv3 的頭部結(jié)構(gòu),在該結(jié)構(gòu)中,首先使用卷積模塊對(duì)下采樣得到的特征圖進(jìn)行特征提取,然后對(duì)特征提取過的特征圖進(jìn)行全卷積操作得到最終的預(yù)測(cè)結(jié)果。頸部和頭部結(jié)構(gòu)中的卷積模塊是由Conv2D 層、BN 層和Leaky ReLU 激活函數(shù)組成。
圖5 YOLOv4 結(jié)構(gòu)Fig.5 YOLOv4 structure
在圖5 中,concat 表示拼接兩個(gè)輸入,add 表示將兩個(gè)輸入相加,Resblock 表示殘差結(jié)構(gòu),UpSampling表示上采樣,DownSampling 表示下采樣,Head 表示YOLOv3 的頭部結(jié)構(gòu),Predict 表示預(yù)測(cè)值,BLOCK表示具有多個(gè)殘差結(jié)構(gòu)的塊,Resblock×n中n代表特定BLOCK 塊中Resblock 結(jié)構(gòu)的數(shù)量。
ME-YOLOv4 是在YOLOv4 的基礎(chǔ)上進(jìn)行的改進(jìn),具體如下:
1)由于拍攝角度的不同,交通場(chǎng)景圖像中不同交通標(biāo)志的尺寸存在較大的差異。在構(gòu)建特征提取網(wǎng)絡(luò)時(shí),如果網(wǎng)絡(luò)對(duì)每層的特征提取僅使用一個(gè)尺寸的卷積核,那么提取到的特征圖不能全面有效地包含上層圖像中不同尺寸交通標(biāo)志的特征語義信息。受到Inception[34]網(wǎng)絡(luò)的啟發(fā),本文設(shè)計(jì)了多尺寸特征提取模塊(Multi-size Feature Extraction Module,MsFEM),并將其應(yīng)用在特征提取網(wǎng)絡(luò)中。MsFEM 的具體結(jié)構(gòu)如圖6 所示,首先使用2 個(gè)不同尺寸(s,m)的卷積核對(duì)上層的圖像進(jìn)行特征提取,然后將提取到的兩個(gè)特征圖拼接在一起。MsFEM采用不同尺寸的卷積核意味著對(duì)圖像使用不同大小的感受野,這有利于提取不同尺寸交通標(biāo)志的特征語義信息。為了將圖像中不同尺寸交通標(biāo)志的特征語義信息向特征提取網(wǎng)絡(luò)的深層進(jìn)行傳遞,MsFEM 將提取到的特征圖拼接在一起。
圖6 MsFEM 結(jié)構(gòu)Fig.6 MsFEM structure
2)交通場(chǎng)景圖像背景復(fù)雜,除交通標(biāo)志外,還存在許多在顏色或者形狀上與交通標(biāo)志相似的其他標(biāo)志。特征提取網(wǎng)絡(luò)在提取特征時(shí)也會(huì)提取這些標(biāo)志的特征語義信息,這些錯(cuò)誤的特征語義信息會(huì)在訓(xùn)練時(shí)干擾網(wǎng)絡(luò)。如果在網(wǎng)絡(luò)提取特征時(shí)能夠有效地去除這些標(biāo)志,那么提取到的特征圖更加具有代表性,這將會(huì)使網(wǎng)絡(luò)獲得更好的訓(xùn)練效果。本文中的交通標(biāo)志可分為警告類、禁止類、指示類、交通信號(hào)燈。警告類大多是帶有黑色邊界的黃色三角形;禁止類大多是帶有紅色邊界的白色圓形;指示類大多是藍(lán)色背景的圓形或者矩形;交通信號(hào)燈是帶有不同顏色圓圈或箭頭的矩形框。根據(jù)CNN 特征提取不變性的特點(diǎn),特征提取網(wǎng)絡(luò)在對(duì)交通場(chǎng)景圖像進(jìn)行特征提取時(shí),交通標(biāo)志的以上特征被完整地提取出來。因此,適當(dāng)?shù)貙?duì)提取到的特征圖進(jìn)行一系列過濾器尺寸不同且步長(zhǎng)為1 的MaxPooling 操作,可使得該特征圖中除交通標(biāo)志以外的其他標(biāo)志的特征語義信息被削減。因此,本文采用上述方式來去除交通場(chǎng)景圖像中存在的干擾因素。特征提取網(wǎng)絡(luò)中特征圖的尺寸會(huì)隨著下采樣的過程減小,尺寸越小的特征圖代表著越大的感受野。為了適應(yīng)這種變化,本文對(duì)不同尺寸的特征圖使用不同尺寸過濾器的MaxPooling 操作,每個(gè)MaxPooling 操作發(fā)生在一次下采樣的過程中。具體過程如圖7 所示,其中MsFEM、MaxPooling(sizen×sizen,s1)和EFFM 模塊是本文的改進(jìn)之處。
圖7 ME-YOLOv4 結(jié)構(gòu)Fig.7 ME-YOLOv4 structure
3)在FPN 中通過上采樣的方式將高層的特征語義信息與低層的特征語義信息進(jìn)行融合,目的在于使高層的特征語義信息去彌補(bǔ)低層中未提取到的特征語義信息。這種方式雖能夠豐富各尺寸特征圖的特征語義信息,但是也存在局限性。特征提取網(wǎng)絡(luò)在下采樣的過程中會(huì)按照比例縮小特征圖的尺寸,導(dǎo)致特征圖中一個(gè)像素點(diǎn)相當(dāng)于一個(gè)感受野,這個(gè)感受野映射原圖中的一塊區(qū)域并且該區(qū)域的大小由下采樣的倍數(shù)決定。當(dāng)圖像中被檢測(cè)目標(biāo)的尺寸小于當(dāng)前下采樣倍數(shù)時(shí),這個(gè)被檢測(cè)目標(biāo)的特征語義信息就會(huì)隨著下采樣的過程而被遺失。在這種情況下,UpSampling 操作就不能對(duì)圖像中那些因尺寸小而被遺失的目標(biāo)實(shí)現(xiàn)高低層之間的特征語義信息融合。這種情況導(dǎo)致的結(jié)果是網(wǎng)絡(luò)對(duì)小目標(biāo)檢測(cè)能力較差。本文提出的數(shù)據(jù)集中存在一定數(shù)量的小尺寸的交通標(biāo)志,為解決以上問題并提高網(wǎng)絡(luò)對(duì)數(shù)據(jù)集中交通標(biāo)志整體的檢測(cè)能力,本文設(shè)計(jì)了增強(qiáng)特征融合模塊(EFFM),具體結(jié)構(gòu)如圖8 所示,其中,3 和1 分別表示卷積核的尺寸。首先在高層特征圖與低層特征圖進(jìn)行特征融合之前,EFFM 使用卷積模塊對(duì)低層特征圖進(jìn)行特征提取,這樣做的目的是為了進(jìn)一步提取該層特征圖中有效的特征語義信息尤其是對(duì)于尺寸較小目標(biāo)的特征語義信息。接著EFFM 將低層中經(jīng)過卷積模塊提取得到的特征圖與來自高層的特征圖進(jìn)行特征融合,對(duì)特征融合后的特征圖使用一個(gè)卷積模塊進(jìn)行特征壓縮。最后為了保持低層特征圖中的位置語義信息,EFFM 將低層中未經(jīng)過卷積模塊的特征圖通過殘差方式與特征壓縮后的特征圖拼接在一起。通過EFFM 結(jié)構(gòu),低層最終得到的特征圖既豐富了原有的特征語義信息,又能夠得到來自高層的特征語義信息。
圖8 EFFM 結(jié)構(gòu)Fig.8 EFFM structure
本文所有實(shí)驗(yàn)均在新建立的數(shù)據(jù)集上進(jìn)行并對(duì)數(shù)據(jù)集按照8∶2 的比例劃分出訓(xùn)練集和測(cè)試集。此外,本文使用mosaic[28]方法對(duì)數(shù)據(jù)集中樣本數(shù)少的類別進(jìn)行數(shù)據(jù)增強(qiáng),以此來保證每個(gè)類別在一次迭代訓(xùn)練中都能夠被訓(xùn)練一定的次數(shù)。
為驗(yàn)證改進(jìn)方法的有效性,本文從目標(biāo)檢測(cè)領(lǐng)域典型的算法中分別選取SSD、YOLOv3、YOLOv4和Faster R-CNN,將選取的這些算法和ME-YOLOv4設(shè)置了一組對(duì)照實(shí)驗(yàn);另外,還對(duì)ME-YOLOv4 中的MsFEM1、MsFEM2 和MaxPooling(sizen×sizen)模塊設(shè)置了幾組不同的參數(shù)進(jìn)行實(shí)驗(yàn),目的是確定一組在數(shù)據(jù)集上表現(xiàn)較好的參數(shù),這些參數(shù)是為適應(yīng)新建立的數(shù)據(jù)集中交通標(biāo)志的尺寸來設(shè)定,具體每組的參數(shù)設(shè)置如表1 所示。在訓(xùn)練時(shí),每組算法使用相同的超參數(shù)設(shè)置:初始學(xué)習(xí)率設(shè)為0.001,使用Adam 優(yōu)化器,衰減系數(shù)為0.000 5,動(dòng)量為0.9,IoU閾值設(shè)置為0.5,并且從訓(xùn)練集中按照7∶3 的比例劃分出驗(yàn)證集來監(jiān)視整個(gè)訓(xùn)練過程。所有實(shí)驗(yàn)在1 臺(tái)配 備Intel Xeon?Silver 4210 CPU、128 GB 內(nèi)存和2 個(gè)NVIDIA TITAN RTX GPUs 的Linux 服務(wù)器上運(yùn)行,并且使用Tensorflow 深度學(xué)習(xí)框架。
表1 參數(shù)設(shè)置Table 1 Parameter setting
本文運(yùn)用上述各組算法的訓(xùn)練權(quán)重對(duì)測(cè)試集進(jìn)行檢測(cè),并使用PASCAL VOC 測(cè)試的評(píng)價(jià)指標(biāo)來評(píng)估每組算法在測(cè)試集上取得的結(jié)果。每組算法在數(shù)據(jù)集上取得的平均精度均值(mean Average Precision,mAP)如表2 所示,其中加粗字體為最優(yōu)值。
表2 各組算法的mAP值Table 2 mAP value of each group algorithms %
從表2可以看出,在數(shù)據(jù)集上,ME-YOLOv4 I~MEYOLOv4 IV 四組算法取得的mAP 值分別為82.55%、82.90%、83.63%、83.48%,SSD、YOLOv3、YOLOv4 和Faster R-CNN 取得的mAP 值分別為76.22%、75.72%、80.37%和77.13%。本文改進(jìn)的算法取得的最好的mAP 值比SSD、YOLOv3、YOLOv4 和Faster R-CNN取得的mAP 值分別高出7.41、7.91、3.26、6.5 個(gè)百分點(diǎn)。實(shí)驗(yàn)結(jié)果表明,本文改進(jìn)方法提高了YOLOv4算法同時(shí)定位和分類交通標(biāo)志的能力,也表明了MEYOLOv4 III 算法對(duì)交通標(biāo)志檢測(cè)的能力優(yōu)于其他的算法。該算法也可被用于檢測(cè)現(xiàn)實(shí)交通場(chǎng)景圖片中的交通標(biāo)志。
在數(shù)據(jù)集中每個(gè)類別上取得的平均精度(Average Precision,AP)值如表3 所示,其中加粗字體為最優(yōu)值。從表3 可以看出,在所有類別上ME-YOLOv4 I~ME-YOLOv4 IV四組算法取得的最小AP值分別是0.34、0.36、0.40、0.40,SSD、YOLOv3、YOLOv4 和Faster RCNN 取得的最小AP 值分別是0.23、0.29、0.35 和0.26。此外,在每個(gè)類別上,ME-YOLOv4 I~ME-YOLOv4 IV四組算法取得AP 值大于0.7 的類別數(shù)占總類別數(shù)的比例分別是82%、83%、85%、90%,SSD、YOLOv3、YOLOv4和Faster R-CNN 取得AP 值大于0.7 的類別數(shù)占總類別數(shù)的比例分別是73%、74%、77%、73%。
表3 各組算法在每個(gè)類別上的AP值Table 3 AP value of each group of algorithms on each category
針對(duì)交通標(biāo)志檢測(cè)領(lǐng)域存在的問題,本文建立一個(gè)新的交通標(biāo)志數(shù)據(jù)集,并基于YOLOv4 算法設(shè)計(jì)多尺寸特征提取模塊和增強(qiáng)特征融合模塊最終對(duì)改進(jìn)算法中不同的模塊設(shè)置多組不同的參數(shù),進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,改進(jìn)算法能夠有效地提高YOLOv4 算法同時(shí)定位和分類交通標(biāo)志的能力。下一步將繼續(xù)擴(kuò)大數(shù)據(jù)集中交通標(biāo)志的種類和數(shù)量,提高算法在背景復(fù)雜的交通圖像中檢測(cè)與識(shí)別尺寸差異較大的交通標(biāo)志的能力。