褚瑩, 陶紀宇, 凌力
(復旦大學 通信科學與工程學, 上海 200433)
隨著社會的快速發展和居民收入的增加,汽車保有量急劇上升,汽車行業受到越來越多的關注。WayMo公司研發的無人駕駛汽車已經在公路上測試[1];特斯拉已經在汽車上推出了自動駕駛系統[2]。
作為自動駕駛系統中的關鍵部分,交通標志識別系統(traffic sign recognition)一般分為交通標志位置檢測和交通標志識別兩個部分。本文將側重對交通標志識別系統中交通標志識別的部分進行研究。
國外學者早在20世紀80年代就意識到了智能交通的重要性。1987年,日本Akatsuka[4]等學者通過模板匹配方法,率先實現了交通標志檢測識別系統。1996年,美國學者Estevez[5]等人通過RGB差分和Maxima邊緣檢測定位待識別區域中的交通標志邊緣。2011年,主題為交通標志識別的國際神經網絡聯合會議召開,大力推動了交通標志識別的發展。
國內對于交通標志識別的研究起步較晚,在交通標志識別領域距離國外研究在技術和水平上仍有一定差距。
在此基礎上,本文主要針對卷積神經網絡以及卷積神經網絡在交通標志識別領域的應用進行了研究,提出了適用于真實場景的交通標志識別的高性能卷積神經網絡TSRCNN網絡。
LeNet-5模型是由Yann[6]等人提出的輕量級卷積神經網絡模型。LeNet-5模型作為首個在手寫數字識別領域中獲得優異成績的卷積神經網絡,奠定了卷積神經網絡在圖像識別領域中的地位。
LeNet-5模型共包含7層網絡(不包含輸入層),針對手寫數字識別的模型的結構及參數如圖1所示。
LeNet-5作為手寫數目識別的經典模型,在交通標志識別領域表現并不十分出色。不過在實驗中我們發現LeNet-5的經典結構對于構造交通標志識別領域的卷積神經網絡仍有很大的參考價值,因此在LeNet-5的基礎上,我們構建了交通標志識別領域的TSRCNN卷積神經網絡,最終在比利時交通標志數據集上達到了98.56%的正確率。

圖1 LeNet-5模型結構示意圖
TSRCNN模型結構如圖2所示,具體參數如表1所示。

圖2 TSRCNN模型結構示意圖

層名特征圖大小特征圖個數核大小步長輸入64×643———C160×60405×51S230×30402×22C326×26605×51S413×13602×22C59×91205×51S64×41203×32F7500個神經元———輸出62個神經元
其中Dropout策略和BN層的有效性在模型性能測試與分析一節中將通過實驗驗證。
因為標準數據集均在真實場景下采集,因此我們選擇采用比利時交通標志標準數據集作為模型的訓練數據集。
比利時交通標志數據集共包含62種交通標志,共4 575張訓練圖,2 520張測試圖。數據集中部分交通標志,由車載相機在車輛行駛途中拍攝得到,如圖3所示。

圖3 比利時交通標志數據集中部分標志圖
如圖4所示。

圖4 64×64像素和32×32像素的交通標志
圖片的尺寸分別是64×64和32×32,可以看到32×32的圖片中肉眼也已經難以辨別細節,因此最終在本實驗中我們選取64×64為歸一化的圖片尺寸。
數據集中每類交通標志的分布圖,如圖5所示。

圖5 比利時訓練集中各類交通標志數量分布示意圖
可以看到交通標志的分布并不均衡。考慮到由于每個類別的樣本基數不同,需要擴充的數量也不同,所以最終采用了重復的方式擴充數據集,平衡各分類的分布。
我們以訓練樣本數最多的類別為標準——類別為22的交通標志擁有375張訓練圖,以375為標準擴充現有的數據集,每類數據集重復次數可以表示為式(1)。
(1)
式中xi為每i類數據集現有的訓練樣本數目,yi為數據集需要重復的次數。為了保證數據平衡,每類數據集采用重復本類數據集內所有的訓練樣本的方法,避免對清晰圖像/模糊圖像的判別率失衡。較之前得到了顯著的提升。
經過重復操作后,訓練集樣本總數由原來的4 575張,擴充到21 094張。新的訓練數據集分布圖可以看到均衡性得到了提升。如圖6所示。

圖6 比利時訓練集數據增廣后各類交通標志數量分布示意圖
本文中使用的仿真實驗平臺為Ubuntu16.04操作系統,硬件環境為2核Intel(R) Core(TM) i5-7 500 CPU @ 3.40 GHz,內存為10 GB,顯卡為NVIDA的 GTX 1 050 Ti,顯存為4 G。
本實驗模型實驗均在Caffe環境下搭建。Caffe是由伯克利視覺學習中心和社區共同開發,該項目創建于伯克利大學的賈揚清博士[7]在攻讀博士期間。
本小節中的對比實驗中僅對使用的數據集作區別。模型采用Adam優化器,初始學習率為0.001,每個實驗中共對訓練集進行10 000次迭代,每100次迭代后對模型進行準確率測試,如表2所示。

表2 數據集增廣對比實驗
從表2可見,當我們使用經過增廣的數據集,TSRCNN模型能夠到達98.56%的識別準確率,說明模型對整個數據集的識別率得到了提升。
Sergey[8]等人于2015年提出批量歸一化(batch normalize, BN層)的方法。該方法的提出是為了解決模型訓練過程中內部協變量轉移的問題。
我們共構建兩種網絡模型進行對比試驗。除網絡結構外,訓練相關的參數均保持一致。
對兩種不同結構網絡進行仿真實驗后得到的結果如表3所示。

表3 BN層對比實驗
可以看出在加入BN層后,網絡的準確率從98.12%提升到98.56%。兩種網絡結構在訓練過程中準確率的上升趨勢圖,如圖7所示。

圖7 包含BN層TSRCNN模型與不包含BN層模型
可以看到BN層的加入讓準確率的上升過程顯得更為平穩。
Dropout作為一種經典的正則化方法[9],在卷積神經網絡中的作用主要是防止網絡過擬合。Dropout策略通常在全連接層使用,因此我們選擇對F7全連接層使用該策略。使用Dropout的經驗值一般設置為0.5,在本實驗中我們選擇0,0.4,0.5,0.6三個數值進行比較,如表4所示。

表4 不同概率Dropout對照實驗準確率
從表4中我們可以看到在使用Dropout策略后,模型的識別準確率得到了顯著提升。其中當Dropout概率為0.5時,模型達到了最高的準確率98.56%,因此我們在TSRCNN模型中Dropout概率采用0.5。
本小節將通過多組對比實驗,確認模型中卷積核尺寸及數目和全連接層節點數。
(1)卷積核尺寸對比實驗
在TSRCNN模型的卷積核尺寸實驗中,我們對所有卷積層均采用一樣的卷積核尺寸。我們將測試三種常用的卷積核尺寸:3×7,5×5,7×7。除網絡結構外,訓練相關的參數均保持一致,如表5、圖8所示。

表5 卷積核尺寸對照實驗準確率

圖8 不同卷積核模型準確率變化趨勢
從表5和圖8中可以看到采用5×5的卷積核尺寸的模型在測試集上獲得了最高的準確率,因此我們卷積核尺寸均采用5×5。
(2)卷積核數目對比實驗
為了確認最佳的模型結構,我們對卷積核數目開展了9組對比實驗,如表6所示。
從表6中可以看到采用當C1卷積層采用40個卷積核,C3卷積層采用60個卷積核,C5卷積層采用120個卷積核時,模型在測試集上獲得了最高的準確率。因此,我們最后三層卷積層卷積核數目選用40、60、120。
(3)全連接層節點數對比實驗
全連接層我們測試了3種節點數:400、500和600,除全連接層的節點數目外,TSRCNN模型其他結構不做更改,如表7所示。
從表7中可以看到采用當全連接層采用500個節點時,模型在測試集上獲得了最高的準確率。因此我們全連接層采用500個節點。

表6 卷積核數目對照實驗準確率
在本小節中,我們將對TSRCNN模型進行測試分析。為了更直觀的展示各個優化措施的有效性,我們設置了包含五種模型結構的對比實驗,五種模型結構為:
(1)LeNet-5模型:數據集使用未增廣的原數據集;
(2)TSRCNN基礎模型:TSRCNN基礎模型是指使用未增廣數據集及未加上Dropout和BN層訓練得到的模型;
(3)TSRCNN基礎模型+增廣數據集;
(4)TSRCNN基礎模型+增廣數據集+Dropout;
(5)TSRCNN模型(TSRCNN基礎模型+增廣數據集+Dropout+BN)。
我們在表8中使用序號代表模型的類別,LeNet-5模型為模型一,TSRCNN基礎模型為模型二,其他模型以此類推,如表8所示。

表8 對照實驗準確率
從表8中可以看到,我們使用的優化措施使得模型的識別準確率從95.44%逐步上升至98.56%。可以看到TSRCNN誤差的下降趨勢較為穩定,如圖9所示。

圖9 TSRCNN模型誤差變化趨勢
同時如圖10所示。
TSRCNN模型在保持高準確率的同時,整體的準確率趨勢同樣表現的很穩定。

圖10 TSRCNN模型準確率變化趨勢
實驗結果證明,對LeNet-5模型做的改進措施包括:基礎結構的調整、數據集增廣、加入的Dropout策略和BN層,均有效的提升了模型的識別準確率。
本文通過對交通標志數據集、LeNet-5網絡結構進行優化調整,構造了在交通標志識別領域表現更為優秀的TSRCNN網絡。經實驗驗證,TSRCNN模型在交通標志識別數據集上能夠獲得98.56%的高準確率。未來的工作中,可以通過模型壓縮的算法,在保持正確率的情況對模型的結構進行壓縮,獲得更高性能的網絡。