仲會娟,蔡清泳
(陽光學(xué)院 人工智能學(xué)院, 福建 福州 350015 )
交通標(biāo)志識別(traffic sign recognition,TSR)是智能駕駛的重要組成部分.但由于交通標(biāo)志圖像取自自然場景之中,容易受氣候、光照、腐蝕、損壞、遮蓋、運(yùn)動模糊、旋轉(zhuǎn)傾斜等因素的影響,因此如何提高圖像的識別準(zhǔn)確率受到學(xué)者們的關(guān)注[1].傳統(tǒng)的交通標(biāo)志識別算法有基于模板匹配、支持向量機(jī)(SVM)、隨機(jī)森林等,但這些方法需要人為定義特征信息,如SIFT、HOG、SURF、LBP等特征[2-5].由于人為定義的特征容易忽略圖像的很多內(nèi)在有用特征,因此上述方法的識別精度有待進(jìn)一步提高.近年來,隨著深度學(xué)習(xí)的興起,卷積神經(jīng)網(wǎng)絡(luò)因在圖像檢測與識別中能夠獲得較強(qiáng)的魯棒性和較高的識別準(zhǔn)確率而受到學(xué)者的關(guān)注.例如:文獻(xiàn)[6]提出了一種二階段多尺度特征分類算法,該算法在德國交通標(biāo)志基準(zhǔn)數(shù)據(jù)集GTSRB(German traffic sign recognition benchmark)[7]上的識別準(zhǔn)確率為98.97%.文獻(xiàn)[8]提出了一種基于支持向量機(jī)的交通標(biāo)志圖像分類算法,該算法在GTSRB數(shù)據(jù)集上的識別準(zhǔn)確率為98.24%.文獻(xiàn)[9]提出了一種三階段多尺度特征分類算法,該算法在GTSRB數(shù)據(jù)集上的識別準(zhǔn)確率為98.82%.
研究表明:圖像的多尺度特征在人臉識別、數(shù)字識別、圖像分割等領(lǐng)域具有良好的適用性[10-11];VGG卷積神經(jīng)網(wǎng)絡(luò)模型因采用了多個小卷積層代替了單個較大卷積層,因此其網(wǎng)絡(luò)深度得到增加,能夠?qū)W習(xí)更為復(fù)雜的圖像特征,且在感受野不變的情況下能夠提高模型訓(xùn)練與圖像識別的速度[12].基于上述研究結(jié)果,本文結(jié)合多尺度分類算法和VGG模型的小卷積核特性,提出了一種基于多尺度卷積神經(jīng)網(wǎng)絡(luò)的交通標(biāo)志識別方法(traffic sign recognition method based on multi-scale convolutional neural network,TSR -MSCNN),并在自建的數(shù)據(jù)集和GTSRB數(shù)據(jù)集中驗(yàn)證了算法的有效性.
為減少網(wǎng)絡(luò)訓(xùn)練時間以及能夠驗(yàn)證算法的泛化能力,本文采用自定義數(shù)據(jù)集用于后期的參數(shù)對比實(shí)驗(yàn).自定義數(shù)據(jù)集中有40類交通標(biāo)志,共3 250張圖片.圖片分別取自比利時交通標(biāo)志數(shù)據(jù)集及網(wǎng)絡(luò),格式為ppm,其中包含了光線遮擋、拍攝角度、拍攝模糊等復(fù)雜情況.由于ppm格式的圖片無法直接看到,因此將圖片轉(zhuǎn)換為了jpg格式,如圖1所示.同時,為了方便后期驗(yàn)證,對轉(zhuǎn)換后的40類交通標(biāo)志的圖像集合進(jìn)行了重新命名,如圖2所示.
GTSRB數(shù)據(jù)集中的標(biāo)志圖像由車載高清攝像頭在自然環(huán)境下拍攝得到.數(shù)據(jù)集分為5大類和43小類,共51 839幅圖片,其中12 630幅為測試集, 39 209幅為訓(xùn)練集,每張圖片只包含一種交通標(biāo)志,如圖3所示.數(shù)據(jù)集中每類至少包含9種不同角度的圖像,且每個角度包含從小到大的30張圖片.
因數(shù)據(jù)集中的交通標(biāo)志圖片是在多種自然條件下拍攝得到的,其圖像質(zhì)量和尺寸大小存在較大差別,因此需對圖像進(jìn)行預(yù)處理,以便更好地進(jìn)行特征提取,提高模型精度.
GTSRB數(shù)據(jù)庫中的交通標(biāo)志圖像的尺寸范圍在15×15像素至250×250像素之間,因此需對其進(jìn)行尺寸歸一化處理.目前,常用于圖像尺寸變換的算法主要有最近鄰插值、雙線性插值和雙三次插值3種算法[13].其中,雙線性插值法不但能夠克服最近鄰插值法不連續(xù)的問題,而且計算量小于雙三次插值法;因此,本文采用雙線性插值法對圖像的尺寸進(jìn)行歸一化處理,歸一化的尺寸統(tǒng)一設(shè)定為32×32像素.
圖像像素的取值通常為0~255范圍的整數(shù).為了保持?jǐn)?shù)據(jù)之間的相對關(guān)系和提高后續(xù)處理數(shù)據(jù)的速度,本文對像素進(jìn)行了歸一化處理,即將像素值壓縮到0~1之間.
TSR -MSCNN為三階段卷積神經(jīng)網(wǎng)絡(luò)模型,具有識別準(zhǔn)確率高、網(wǎng)絡(luò)參數(shù)量低、識別速率快等優(yōu)點(diǎn),但該方法的模型訓(xùn)練需要大量的圖像.為此,本文采用圖像增廣技術(shù)[14]來擴(kuò)充訓(xùn)練數(shù)據(jù)規(guī)模.由于獲取的交通標(biāo)志圖像常存在變形、角度和大小不一等問題,因此本文將原始圖像以隨機(jī)旋轉(zhuǎn)10°、隨機(jī)縮放0.2倍、隨機(jī)平移(幅度為圖像尺寸的0.08倍)和隨機(jī)翻轉(zhuǎn)的方式進(jìn)行增廣,增廣的圖像如圖4所示.
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)是利用交替的卷積層和池化層獲得圖像特征信息,并將最后一層特征送入全連接層中進(jìn)行分類識別.由于該方法識別圖像的特征尺度單一,因此將該方法直接用于交通標(biāo)志識別其效果并不理想.M.Zeiler等[15]研究表明,卷積神經(jīng)網(wǎng)絡(luò)能夠提取出圖像的多尺度特征信息,其中提取出的低階特征反應(yīng)的是圖像中角、邊緣等簡單的局部特征,提取出的高階特征反應(yīng)的是圖像的整體特征.二階段多尺度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[6]如圖5所示.
由圖5可以看出,網(wǎng)絡(luò)結(jié)構(gòu)中包含2個階段的卷積層, 2個池化層, 1個全連接層和1個分類輸出層.其中,第1階段卷積層的輸出特征在池化后產(chǎn)生分支,該分支的輸出特征經(jīng)過第2個下采樣點(diǎn)后與第2階段卷積層的輸出特征一同被送入分類器.
本文在文獻(xiàn)[6]的基礎(chǔ)上通過對網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)設(shè)置進(jìn)行改進(jìn),提出了一種應(yīng)用于交通標(biāo)志識別領(lǐng)域的TSR -MSCNN模型,模型結(jié)構(gòu)如圖6所示.圖6中:第1個子卷積網(wǎng)絡(luò)Conv1由卷積層Conv11和Conv12構(gòu)成,第2個子卷積網(wǎng)絡(luò)Conv2由Conv21和Conv22構(gòu)成,第3個子卷積網(wǎng)絡(luò)Conv3由Conv31、Conv32和Conv33構(gòu)成.Max_11和Max_22為2個尺寸統(tǒng)一的池化層,分別連接池化層Maxpool1及Maxpool2,其作用是將第1和第2階段輸出的特征圖的尺寸統(tǒng)一為4×4像素.模型將尺寸統(tǒng)一的3個階段的特征融合為交通標(biāo)志的多尺度特征,并將多尺度特征送入全局平均池化層、全連接層進(jìn)行交通標(biāo)志分類.全局平均池化層的輸入為:
GlobalAveragePooling merge_input=
[Max_11,Max_22,Maxpool3]
其中, []表示將Max_11、Max_22和Maxpool3的輸出信號串聯(lián)形成一個張量.
相比文獻(xiàn)[6]的模型結(jié)構(gòu),本文提出的TSR -MSCNN模型做了如下改進(jìn):
1)改進(jìn)了網(wǎng)絡(luò)基本結(jié)構(gòu).①采用3階段卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)代替2階段卷積網(wǎng)絡(luò)結(jié)構(gòu),以此增加網(wǎng)絡(luò)深度,提高網(wǎng)絡(luò)性能.②使用多個小卷積層串聯(lián)代替單個較大卷積層,即在第1和第2階段,用2個直接串聯(lián)的5×5小卷積網(wǎng)絡(luò)替換9×9的較大卷積層,在第3階段用3個直接串聯(lián)的5×5小卷積網(wǎng)絡(luò)替換13×13的大卷積層,以此在保證算法感受野范圍的同時,進(jìn)一步增加網(wǎng)絡(luò)深度以及減少網(wǎng)絡(luò)的訓(xùn)練時間.③在每個子卷積網(wǎng)絡(luò)中加入Batch Normalization (BN)算法,以此克服內(nèi)部協(xié)變量偏移的問題,加快網(wǎng)絡(luò)收斂速度.④使用全局平均池化(global average pooling)代替平坦層(flatten),以此減少空間參數(shù)數(shù)量,使模型更加健壯,提高擬合效果.⑤在模型訓(xùn)練階段,在保持輸入輸出神經(jīng)元數(shù)量不變的情況下加入Dropout策略(每次隨機(jī)關(guān)閉或忽略50%隱藏層神經(jīng)元),以此防止過擬合,提升網(wǎng)絡(luò)泛化能力.
2)通過選比確定網(wǎng)絡(luò)最佳參數(shù).基本確定網(wǎng)絡(luò)結(jié)構(gòu)后,分別對全連接層神經(jīng)元個數(shù)、Dropout參數(shù)、卷積核尺寸等網(wǎng)絡(luò)參數(shù)進(jìn)行選比實(shí)驗(yàn),由此最終確定的全連接層神經(jīng)元個數(shù)為256, Dropout參數(shù)為0.5, 卷積核尺寸為5×5像素.
實(shí)驗(yàn)使用的計算機(jī)為Windows 10操作系統(tǒng),硬件環(huán)境為Inter(R) Core(TM) i5-7300HQ CPU@2.50 GHz,內(nèi)存為8 G,顯卡為4 G.本文的實(shí)驗(yàn)是基于Keras框架和TensorFlow開源庫,并在Jupyter NoteBook開發(fā)環(huán)境中編程實(shí)現(xiàn).
在保持TSR -MSCNN網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù)不變的情況下,對數(shù)據(jù)集增廣前后的模型準(zhǔn)確性進(jìn)行對比.模型采用Adam優(yōu)化器和Relu激活函數(shù),初始學(xué)習(xí)率為0.001,每個實(shí)驗(yàn)中訓(xùn)練集迭代次數(shù)為50, 實(shí)驗(yàn)結(jié)果如表1所示.由表1中的數(shù)據(jù)可知,增廣數(shù)據(jù)集后, TSR -MSCNN模型的識別準(zhǔn)確率達(dá)到99.76%(原始數(shù)據(jù)集的識別準(zhǔn)確率為99.32%),由此說明增廣數(shù)據(jù)集可大幅提高TSR -MSCNN模型的識別準(zhǔn)確率.
表1 數(shù)據(jù)增廣前后的實(shí)驗(yàn)結(jié)果
在保持網(wǎng)絡(luò)參數(shù)不變的情況下,分別采用單尺度特征和多尺度特征對圖像分類特征的種類進(jìn)行對比,結(jié)果如表2所示.由表2中的數(shù)據(jù)可知,多尺度特征的損失和識別準(zhǔn)確率優(yōu)于單尺度特征,且二者的訓(xùn)練時間相同.由此表明采用多尺度特征對交通標(biāo)志進(jìn)行識別是有效可行的.
表2 不同分類特征的性能
1)在其他網(wǎng)絡(luò)參數(shù)不變的情況下,對單個大卷積核模型與TSR -MSCNN模型進(jìn)行對比,即用2個級聯(lián)的5×5卷積核網(wǎng)絡(luò)代替9×9卷積核,3個級聯(lián)的5×5卷積核網(wǎng)絡(luò)代替13×13卷積核,實(shí)驗(yàn)數(shù)據(jù)如表3所示.由表3中的數(shù)據(jù)可知,用小卷積核級聯(lián)的TSR -MSCNN模型代替單個較大卷積核后,系統(tǒng)識別準(zhǔn)確率得到有效提升,且系統(tǒng)總參數(shù)數(shù)量和網(wǎng)絡(luò)訓(xùn)練時間大幅減小.由此表明,采用串聯(lián)的小卷積核代替單個大卷積核對交通標(biāo)志進(jìn)行識別是有效可行的.
表3 不同卷積層的性能
2)在保持其他網(wǎng)絡(luò)參數(shù)不變的情況下,通過改變網(wǎng)絡(luò)中的卷積核尺寸進(jìn)行尺寸選擇實(shí)驗(yàn).實(shí)驗(yàn)設(shè)置的卷積核尺寸分別為3×3、5×5、7×7,實(shí)驗(yàn)所得數(shù)據(jù)如表4所示.由表4可以看出:在3×3卷積核網(wǎng)絡(luò)中,模型的訓(xùn)練時間最少,但網(wǎng)絡(luò)的損失最大,且算法的準(zhǔn)確率最低;在7×7卷積核網(wǎng)絡(luò)中,模型訓(xùn)練花費(fèi)的時間最多,但算法的準(zhǔn)確率并不是最高;在采用5×5卷積核網(wǎng)絡(luò)中,模型的訓(xùn)練時間雖然低于7×7卷積核網(wǎng)絡(luò)和高于3×3卷積核網(wǎng)絡(luò),但網(wǎng)絡(luò)的損失最小,識別準(zhǔn)確率最高.因此本文在設(shè)計中選用5×5像素的卷積核.
表4 不同卷積核尺寸的性能
在保持相關(guān)網(wǎng)絡(luò)參數(shù)不變的情況下,采用3種網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行實(shí)驗(yàn),結(jié)果如表5所示.由表5可知,每個階段都加入BN層的網(wǎng)絡(luò)結(jié)構(gòu),其訓(xùn)練時間雖然比未加入BN層的網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練時間有所增加,但其準(zhǔn)確率最高.
圖7為表5中3種網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練的準(zhǔn)確率和損失函數(shù)的變化曲線.由圖7(c)可知,在3個卷積階段分別加入BN層后,其識別準(zhǔn)確率和損失函數(shù)的變化程度低于圖7(a)和圖7(b).由此表明, 在每個階段分別加入BN算法對交通標(biāo)志進(jìn)行識別是有效可行的.
表5 有無加入BN層的網(wǎng)絡(luò)性能
在保持網(wǎng)絡(luò)參數(shù)及其他網(wǎng)絡(luò)結(jié)構(gòu)不變的情況下,將模型中的Flatten層替換成全局平均池化層進(jìn)行有效性對比,結(jié)果如表6所示.由表6中的數(shù)據(jù)可知,全局平均池化模型在損失、準(zhǔn)確率、訓(xùn)練時間方面均優(yōu)于Flatten模型,且二者的訓(xùn)練次數(shù)相同.由此表明,采用全局平均池化層來代替常規(guī)網(wǎng)絡(luò)的平坦層對交通標(biāo)志進(jìn)行識別是有效可行的.
表6 全局平均池化模型和Flatten模型的性能
為了驗(yàn)證和提高算法的泛化能力,減少系統(tǒng)訓(xùn)練所需消耗的時間,本文在自定義數(shù)據(jù)集中完成網(wǎng)絡(luò)參數(shù)選比實(shí)驗(yàn),實(shí)驗(yàn)包括Dropout最佳參數(shù)的選比實(shí)驗(yàn)和全連接層參數(shù)的選比實(shí)驗(yàn).
1) Dropout最佳參數(shù)的選比實(shí)驗(yàn).在TSR -MSCNN網(wǎng)絡(luò)結(jié)構(gòu)不變的前提下,改變Dropout參數(shù)設(shè)置進(jìn)行選比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表7所示.由表7中的數(shù)據(jù)可知:添加Dropout可以有效減少網(wǎng)絡(luò)的訓(xùn)練時間.當(dāng)將每層Dropout參數(shù)均設(shè)置為0, 即不添加Dropout層時,網(wǎng)絡(luò)的識別準(zhǔn)確率為98.46%,但模型的訓(xùn)練時間最長(351 s);當(dāng)將每層Dropout參數(shù)均設(shè)置為0.25時,網(wǎng)絡(luò)的識別準(zhǔn)確率最低;當(dāng)將每層中Dropout參數(shù)均設(shè)置為0.5時,網(wǎng)絡(luò)識別的準(zhǔn)確率最高(98.85%),損失最小,且模型的訓(xùn)練時間最短(101 s).因此,本文在設(shè)計中將各層的Dropout參數(shù)均設(shè)置為0.5.
表7 Dropout最佳參數(shù)的選比實(shí)驗(yàn)結(jié)果
2)全連接層參數(shù)選比實(shí)驗(yàn).在TSR -MSCNN網(wǎng)絡(luò)結(jié)構(gòu)不變的前提下,通過改變?nèi)B接層神經(jīng)元的個數(shù)進(jìn)行選比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表8所示.由表8中的數(shù)據(jù)可知:全連接層神經(jīng)元個數(shù)為1 024 時,所花費(fèi)的訓(xùn)練時間最長;全連接層神經(jīng)元個數(shù)為512時,損失最大,識別準(zhǔn)確率最低;全連接層神經(jīng)元個數(shù)為256時,算法的損失最小,識別準(zhǔn)確率最高,且訓(xùn)練時間最短.因此,本文在設(shè)計中全連接層選用256個神經(jīng)元.
表8 全連接層最佳參數(shù)的選比實(shí)驗(yàn)結(jié)果
在GTSRB數(shù)據(jù)集上測試了傳統(tǒng)三階段模型(模型1)、二次卷積特征連接模型(模型2)、TSR-MSCNN模型(模型3)、文獻(xiàn)[6]的二階段多尺度卷積神經(jīng)網(wǎng)絡(luò)模型(模型4)和文獻(xiàn)[9]的三階段多尺度特征分類算法(模型5) 5種網(wǎng)絡(luò)結(jié)構(gòu)的識別性能,結(jié)果見表9.其中:模型3采用2×2的最大池化層對不同階段的卷積特征進(jìn)行尺寸統(tǒng)一;模型2采用5×5的二次卷積層對各分支的輸出進(jìn)行尺寸統(tǒng)一;模型5采用單一的5×5卷積層提取3個階段的卷積特征.
由表9可知,雖然模型3的訓(xùn)練參數(shù)數(shù)量略高于模型5和模型1,但模型3在5個模型中的識別準(zhǔn)確率最高(99.76%),損失最小,且訓(xùn)練時間最少;因此,綜合來看,模型3的整體性能最優(yōu).
表9 不同網(wǎng)絡(luò)模型的識別性能
本文以輕量級卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),結(jié)合多尺度特征概念和串聯(lián)的小卷積核,提出了一種應(yīng)用于交通標(biāo)志識別的多尺度卷積神經(jīng)網(wǎng)絡(luò)模型TSR-MSCNN.經(jīng)實(shí)驗(yàn)表明,本文算法在自定義數(shù)據(jù)集和GTSRB數(shù)據(jù)集中的識別準(zhǔn)確率分別為98.85%和99.76%,且整體性能優(yōu)于文獻(xiàn)[6]的方法,因此本文方法在交通標(biāo)志識別領(lǐng)域具有良好的潛在應(yīng)用價值.本文算法的識別速率還有待進(jìn)一步改善.在今后的工作中,我們將嘗試在卷積層中加入模型壓縮算法來提高圖像的識別速度,以進(jìn)一步提高本文算法的適用性.