廖璐明,張 偉,王亞剛
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
E-mail:wzhang@usst.edu.cn
無(wú)論是在自動(dòng)駕駛方面還是在高級(jí)駕駛輔助系統(tǒng)(Advanced Driving Assistance System,ADAS)方面,道路交通標(biāo)志信息的獲取都是必不可少的一部分.近年來(lái)隨著我國(guó)車輛不斷增加和道路交通系統(tǒng)不斷完善,智能交通系統(tǒng)發(fā)展迅速,它在交通信號(hào)檢測(cè)、車輛監(jiān)測(cè)等方面廣泛應(yīng)用.交通標(biāo)志識(shí)別作為核心技術(shù)之一,可以準(zhǔn)確、實(shí)時(shí)的識(shí)別交通標(biāo)志并做出提醒或決策,避免交通事故發(fā)生,實(shí)現(xiàn)安全駕駛[1].
2012年開始,深度學(xué)習(xí)蓬勃發(fā)展,以卷積神經(jīng)網(wǎng)絡(luò)的為基礎(chǔ)單元的深度學(xué)習(xí)模型,在計(jì)算機(jī)視覺(jué),自然語(yǔ)言處理和語(yǔ)音等方面相對(duì)于傳統(tǒng)的機(jī)器學(xué)習(xí)方法有著更好的實(shí)時(shí)性和準(zhǔn)確性.應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行交通標(biāo)志識(shí)別一直是研究熱點(diǎn).
傳統(tǒng)的機(jī)器學(xué)習(xí)方法識(shí)別交通標(biāo)志分為兩步,先對(duì)數(shù)據(jù)進(jìn)行特征提取,然后進(jìn)行識(shí)別,Ayoub Ellahyani[2]等使用圖像的方向梯度直方圖和HIS數(shù)字圖像模型來(lái)提取特征,分類器采用隨機(jī)森林和支持向量機(jī).在德國(guó)交通標(biāo)識(shí)數(shù)據(jù)集得到了較好的結(jié)果.文獻(xiàn)[3]使用交通標(biāo)志的二值模式特征進(jìn)行訓(xùn)練,采用AdaBoost[4]分類器,但是該算法只能在少數(shù)類別交通標(biāo)志上使用.基于神經(jīng)網(wǎng)絡(luò)的算法相對(duì)于人工提取圖像特征的方法取得更好的結(jié)果,文獻(xiàn)[5]基于InceptionV3的遷移學(xué)習(xí)[6]方法在微量數(shù)據(jù)集上取得96%的結(jié)果;文獻(xiàn)[7]通過(guò)加權(quán)極限學(xué)習(xí)機(jī)和AdaBoost融合優(yōu)化,通過(guò)加權(quán)最優(yōu)表決得到最優(yōu)分類器,在德國(guó)交通標(biāo)志數(shù)據(jù)集上識(shí)別率達(dá)到99.12%;文獻(xiàn)[8]融合圖片的多尺度特征,增加低層特征的利用率,識(shí)別率達(dá)到99.25%;文獻(xiàn)[9]通過(guò)對(duì)特征進(jìn)行深度重構(gòu)和權(quán)重分配,識(shí)別率達(dá)99.32%.
傳統(tǒng)的圖像特征提取加機(jī)器學(xué)習(xí)的方法,存在識(shí)別率低,特征設(shè)計(jì)復(fù)雜等缺點(diǎn)[10].雖然基于卷積神經(jīng)網(wǎng)絡(luò)的方法可以實(shí)現(xiàn)端到端的交通標(biāo)志識(shí)別,但是目前的算法存在模型參數(shù)多,網(wǎng)絡(luò)復(fù)雜的問(wèn)題,識(shí)別率也有待提高.針對(duì)上述問(wèn)題,本文結(jié)合空間變換網(wǎng)絡(luò)(Spatial Transformer network,STN)[11]和注意力機(jī)制提出一種結(jié)構(gòu)簡(jiǎn)單,參數(shù)量少的卷積神經(jīng)網(wǎng)絡(luò)模型,該模型在德國(guó)交通標(biāo)志數(shù)據(jù)集上的識(shí)別率達(dá)到99.80%.與現(xiàn)有算法相比在識(shí)別率和識(shí)別時(shí)間上達(dá)到最優(yōu).
空間變換網(wǎng)絡(luò)可以增加圖像處理模型的魯棒性,使模型具有空間不變性.當(dāng)目標(biāo)發(fā)生諸如旋轉(zhuǎn)、偏移等轉(zhuǎn)化后,模型依然能給出正確的結(jié)果.當(dāng)交通標(biāo)志發(fā)生放大、旋轉(zhuǎn)、平移等變化后,模型仍然能夠?qū)ζ湔_分類,卷積神經(jīng)網(wǎng)絡(luò)中的池化機(jī)制使得神經(jīng)網(wǎng)絡(luò)具備很少的尺度不變性,但僅依靠池化操作無(wú)法滿足某些情況下模型對(duì)于較大的不變性的需求.
圖1 空間變換網(wǎng)絡(luò)Fig.1 Spatial transformer network
(1)
采樣器利用采樣網(wǎng)格和特征圖U作為輸入.采樣器保證了空間變換網(wǎng)絡(luò)自適應(yīng)變換后輸出圖像的準(zhǔn)確性,建立輸出與輸入上所有像素點(diǎn)灰度值聯(lián)系[9].采樣公式表示為:
(2)
人工神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)靈感來(lái)源于生物的神經(jīng)網(wǎng)絡(luò)行為特征,注意力機(jī)制是人工神經(jīng)網(wǎng)絡(luò)模仿生物神經(jīng)網(wǎng)絡(luò)的經(jīng)典案例.神經(jīng)網(wǎng)絡(luò)中的注意力機(jī)制指在全局信息中重點(diǎn)關(guān)注對(duì)當(dāng)前任務(wù)有益的區(qū)域,如通過(guò)局部信息鳥喙分辨一只鳥.在視覺(jué)任務(wù)中SENet[12]是注意力機(jī)制的代表.SENet模塊創(chuàng)造性地關(guān)注通道之間的關(guān)系,在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中自動(dòng)學(xué)習(xí)到不同通道特征的重要程度,對(duì)特征圖每個(gè)通道施加不同的權(quán)重,關(guān)注重要的通道特征.
CBAM(Convolutional Block Attention Module)[13]結(jié)合了空間(spatial)和通道(channel)注意力機(jī)制模塊,可以輕松嵌入到已有的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中進(jìn)行端到端的訓(xùn)練.CBAM結(jié)構(gòu)改進(jìn)了SENet的通道注意力機(jī)制,并且增加空間注意力機(jī)制.CBAM結(jié)構(gòu)如圖2所示,從圖中可以看出通道和空間注意力模塊是獨(dú)立的,結(jié)構(gòu)簡(jiǎn)單,但功能強(qiáng)大,網(wǎng)絡(luò)中加入CBAM結(jié)構(gòu)實(shí)際上是對(duì)特征圖在通道和空間層面做微調(diào).
圖2 卷積模塊的注意力機(jī)制模塊Fig.2 Convolutional block attention module
CBAM中的通道注意力模塊對(duì)比SENet增加全局平均池化分支提取特征信息,結(jié)構(gòu)如圖3所示,對(duì)輸入的特征圖F,對(duì)每個(gè)特征圖做全局平均值池化和全局最大值池化,分別經(jīng)過(guò)全連接神經(jīng)網(wǎng)絡(luò)(多層感知機(jī)),全連接層的輸出維度和特征圖F的通道數(shù)相同,接著對(duì)兩個(gè)輸出執(zhí)行elementwise加操作,sigmoid激活函數(shù)將值壓縮到0和1之間.得到通道層面的注意力特征圖Mc.將Mc和特征圖F做elementwise乘法操作,得到經(jīng)過(guò)通道注意力機(jī)制微調(diào)后的特征圖.
圖3 通道注意力模塊Fig.3 Channel attention module
CBAM中的空間注意力模塊結(jié)構(gòu)如圖4所示,輸入為通道注意力模塊輸出的特征圖F′,首先對(duì)特征圖F′做基于通道的全局最大值池化和全局平均值池化,得到兩個(gè)和特征圖F′相同寬高,通道數(shù)為1的特征圖,如圖4所示,將這兩個(gè)特征圖在通道維度疊加.經(jīng)過(guò)卷積操作,降維為1個(gè)通道.再經(jīng)過(guò)sigmoid將值壓縮到0和1之間,生成空間層面的注意力特征圖Ms.Ms和特征圖F′做乘法,得到最終的特征圖.
圖4 空間注意力模塊Fig.4 Spatial attention module
多分類問(wèn)題對(duì)類別向量進(jìn)行獨(dú)熱編碼(one-hot vector),對(duì)于長(zhǎng)度為n的數(shù)組只有一個(gè)值為1其余都為0,1所在位置代表物體的類別.獨(dú)熱編碼使得模型容易過(guò)擬合,模型過(guò)于相信預(yù)測(cè)的類別.為了解決這個(gè)問(wèn)題,文獻(xiàn)[14]提出了標(biāo)簽平滑(Label Smoothing Regularization)對(duì)數(shù)據(jù)集的標(biāo)簽進(jìn)行優(yōu)化.將類別概率很小一部分分給其他類別,對(duì)分類正確做了懲罰.標(biāo)簽平滑公式如下:
y′=(1-)×y+×u
(3)
其中,y′為標(biāo)簽平滑后數(shù)據(jù)標(biāo)簽,y為數(shù)據(jù)one-hot標(biāo)簽,為平滑因子,u是人為引入的一個(gè)固定分布.
(1)總吸能E(Total energy absorption),定義為結(jié)構(gòu)密實(shí)化前載荷-位移曲線下的面積,見(jiàn)式(1),式中,δ為壓潰位移:
本文提出的基于注意力機(jī)制的交通標(biāo)志識(shí)別模型由空間變換網(wǎng)絡(luò)、卷積層、池化層和改進(jìn)的注意力機(jī)制模塊組成.圖5為改進(jìn)的注意力機(jī)制模塊.改進(jìn)后的注意力機(jī)制模塊將通道注意力模塊和空間注意力模塊分開.其中,通道注意力模塊和空間注意力模塊的細(xì)節(jié)可以從圖3和圖4中了解.
圖5 改進(jìn)的注意力機(jī)制模塊Fig.5 Improved attention mechanism module
整個(gè)網(wǎng)絡(luò)模型輸入為統(tǒng)一大小的交通標(biāo)志圖片,首先經(jīng)過(guò)空間變換網(wǎng)絡(luò),圖片經(jīng)過(guò)伸縮,旋轉(zhuǎn)和平移等變換,獲得空間不變性,接著卷積層和池化層交替出現(xiàn),提取圖片特征和降維,在網(wǎng)絡(luò)中加入通道注意力模塊和空間注意力模塊,輸出對(duì)應(yīng)43個(gè)類別的交通標(biāo)志.整體網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單明了.空間轉(zhuǎn)換網(wǎng)絡(luò)和兩個(gè)注意力機(jī)制模塊以模塊化的方式嵌入到網(wǎng)絡(luò)中,在模型訓(xùn)練過(guò)程中實(shí)現(xiàn)自學(xué)習(xí).
表1 網(wǎng)絡(luò)參數(shù)表Table 1 Network parameter table
本文設(shè)計(jì)的網(wǎng)絡(luò)模型共764945個(gè)參數(shù).網(wǎng)絡(luò)參數(shù)如表1所示.定義網(wǎng)絡(luò)模型除去空間變換網(wǎng)絡(luò)和注意力機(jī)制模塊的網(wǎng)絡(luò)為Backbone.從表1中看出,本文模型的Backbone包括4個(gè)卷積層,3個(gè)池化層,1個(gè)全局平均池化代替全連接層,減少模型參數(shù).為了防止過(guò)擬合和加快訓(xùn)練,在每個(gè)池化層后面加入Batch Normalization和Dropout.網(wǎng)絡(luò)最后接Softmax分類器用于多分類.
實(shí)驗(yàn)使用Ubuntu18.04,64位操作系統(tǒng),CPU為Inter Corei7,2.6GHz,內(nèi)存16G.顯卡為英偉達(dá)GTX 1660 Ti,顯存6G.Pytorch深度學(xué)習(xí)框架.Miniconda集成開發(fā)環(huán)境,Python3編程語(yǔ)言.
實(shí)驗(yàn)整體流程如圖6所示,首先將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,統(tǒng)一交通標(biāo)志圖片尺寸,數(shù)據(jù)預(yù)處理還包括數(shù)據(jù)增強(qiáng),模型建立完成后,設(shè)置初始超參數(shù),在訓(xùn)練集訓(xùn)練網(wǎng)絡(luò)權(quán)重,驗(yàn)證集調(diào)整超參數(shù),測(cè)試集驗(yàn)證模型泛化能力.
圖6 實(shí)驗(yàn)流程圖Fig.6 Experiment flow chart
本次實(shí)驗(yàn)使用德國(guó)交通標(biāo)志數(shù)據(jù)集,包括35339張訓(xùn)練圖片,3870張驗(yàn)證圖片,12630張測(cè)試圖片,每張圖片包含一個(gè)交通標(biāo)志.共43類交通標(biāo)志,圖片大小從15×15到250×250不等,類別分布不均勻.圖片尺寸統(tǒng)一為43×43×3.部分交通標(biāo)志圖片如圖7所示.
圖7 德國(guó)交通標(biāo)志數(shù)據(jù)集Fig.7 German traffic sign recognition benchmark
在實(shí)驗(yàn)中對(duì)訓(xùn)練數(shù)據(jù)使用數(shù)據(jù)增強(qiáng),它可以增強(qiáng)模型的泛化能力,減小過(guò)擬合.實(shí)驗(yàn)對(duì)訓(xùn)練集進(jìn)行亮度、對(duì)比度、飽和度、翻轉(zhuǎn)、平移、旋轉(zhuǎn)、隨機(jī)裁剪等數(shù)據(jù)增強(qiáng).擴(kuò)充訓(xùn)練集到原訓(xùn)練集的10倍.
本文實(shí)驗(yàn)超參數(shù)設(shè)置為:初始學(xué)習(xí)率為0.001,總損失在5個(gè)epoch后不再減小則學(xué)習(xí)率減半.BatchSize為64,epoch總次數(shù)為50次.Dropout為0.5.使用LeakyReLU激活函數(shù).優(yōu)化器為Ranger,Ranger由RAdam[15]和LookAhead[16]組合而成,被認(rèn)為是當(dāng)前最好的深度學(xué)習(xí)優(yōu)化器之一.
為了解空間轉(zhuǎn)換網(wǎng)絡(luò),數(shù)據(jù)增強(qiáng),標(biāo)簽平滑和注意力機(jī)制對(duì)模型識(shí)別率的影響,進(jìn)行多次消融實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果如表2所示.從表2可以看出,模型Backbone識(shí)別率為99.18%,超過(guò)了文獻(xiàn)[7]和文獻(xiàn)[17]的結(jié)果,說(shuō)明本文算法Backbone的有效性,但是識(shí)別率存在提升的空間;加入空間變換網(wǎng)絡(luò)后模型識(shí)別率達(dá)到99.44%,識(shí)別率提高了0.26%,表明空間不變性在交通標(biāo)志識(shí)別任務(wù)方面非常重要;進(jìn)一步使用數(shù)據(jù)增強(qiáng)之后識(shí)別率進(jìn)一步提高,達(dá)到99.56%,數(shù)據(jù)增強(qiáng)對(duì)識(shí)別率的提高不大,這可能是數(shù)據(jù)增強(qiáng)中的幾何變換(旋轉(zhuǎn),平移等)帶來(lái)的效果和空間變換網(wǎng)絡(luò)對(duì)模型的效果存在部分重疊;標(biāo)簽平滑對(duì)模型的識(shí)別率提高較小,但實(shí)驗(yàn)中證明對(duì)模型識(shí)別率是有積極影響的;加入改進(jìn)的注意力機(jī)制模塊后識(shí)別率提高了0.18%,效果明顯,最終識(shí)別率達(dá)到99.80%.
表2 不同方法對(duì)模型識(shí)別率影響Table 2 Influence of different methods on model recognition rate
將本文算法和其它算法在德國(guó)交通標(biāo)志數(shù)據(jù)集上的識(shí)別率進(jìn)行比較,比較結(jié)果如表3所示.從表中看出,本文算法99.80%的識(shí)別率,比其他算法的識(shí)別率高3%以上,遠(yuǎn)遠(yuǎn)高于人類98.84%的表現(xiàn).Committee of CNNs算法不僅識(shí)別率不如本文算法,而且該模型復(fù)雜,參數(shù)多,訓(xùn)練時(shí)間長(zhǎng).STN+ 重構(gòu) CNN 特征的算法也用了空間變換網(wǎng)絡(luò),還有復(fù)雜的特征重構(gòu)網(wǎng)絡(luò),但識(shí)別率比本文算法低4.8個(gè)百分比.
表3 不同模型識(shí)別率對(duì)比Table 3 Comparison of recognition rates of different models
表4 不同模型識(shí)別時(shí)間對(duì)比Table 4 Comparison of recognition time of different models
表4列出了本文算法和其他算法在單幅交通標(biāo)志平均識(shí)別時(shí)間的對(duì)比.本文算法在測(cè)試集上Batch Size設(shè)置為4,單幅交通標(biāo)志圖片的平均識(shí)別時(shí)間為0.29ms.遠(yuǎn)少于其他算法,在實(shí)時(shí)性方面明顯優(yōu)于其他算法.滿足自動(dòng)駕駛等場(chǎng)景實(shí)際需求.
本文提出了一種基于注意力機(jī)制的交通標(biāo)志識(shí)別算法,該算法結(jié)構(gòu)簡(jiǎn)單,參數(shù)少,結(jié)合STN,數(shù)據(jù)增強(qiáng),標(biāo)簽平滑和改進(jìn)的注意力機(jī)制等方法,在德國(guó)交通標(biāo)志數(shù)據(jù)集上實(shí)驗(yàn),識(shí)別率達(dá)到99.80%,單幅交通標(biāo)志圖片識(shí)別時(shí)間為0.29ms,在識(shí)別率和識(shí)別速度方面對(duì)比其他算法有明顯提高.本文探討了多種方法對(duì)識(shí)別模型的影響,可以對(duì)其他識(shí)別任務(wù)提供參考.下一步可以在模型融合、識(shí)別錯(cuò)誤樣本針對(duì)性數(shù)據(jù)預(yù)處理等方面進(jìn)行研究,進(jìn)一步提高算法識(shí)別率.