袁穆佳惠 陳 曉
(陜西科技大學電子信息與人工智能學院 西安 710021)
2020年2月疫情來襲,在武漢多地都使用了無人智能化汽車來進行噴灑消毒液、運送物資等工作,對于嚴重的疫情的地區而言,無人汽車的使用大大降低了防疫工作人員的操作風險,在由Future Today Institute 發布的《2021 年科技趨勢報告》中可以看到中國對人工智能技術高度重視,給予AI 產業強大的推動力,促進人工智能方面的算法研究[1],伴隨著人工智能、計算機視覺等技術的快速發展,智能汽車也在這些年里不斷被研發和推廣并轉向商用,智能化將是下一個汽車時代的分水嶺。
交通標志是汽車駕駛中極其重要的部分,而交通標志的識別任務更是無人智能化汽車中關鍵性的一步,它負責將檢測到的標志進行判別,以確定其所歸屬的種類從而得到相應的識別結果。Wail[2]發表的報告詳細介紹了交通標志自動檢測與識別所面臨的挑戰以及未來的發展趨勢,由于交通環境復雜多變,對識別的結果也有極大的影響。
交通標志識別算法有很多,目前主流的有模板匹配法、機器學習法和深度學習法。模板匹配法就是利用滑窗從待識別圖像中提取特征向量與模板對應的特征向量進行比較[3],其弊端在于只能識別相同條件下的圖像,不利于真實場景的識別工作;機器學習法就是通過提取特征并將其特征輸入到分類器中來進行圖像的識別,該方法可以兼顧識別分類操作的計算量及其魯棒性,但是特征提取的操作多為人工手動設計,泛化性差且效率較低,典型的分類方法有支持向量機[4]、決策樹[5]、隨機森林[6]等。而深度學習法是現如今應用最為廣泛的方法之一,它模擬人類大腦對未知事物的學習分析能力,使用卷積神經網絡進行圖像特征提取。近年來,深度學習法在交通標志識別領域迅速發展,其中最為經典的模型分別是RCNN[7]、Fast-RCNN[8]、YOLO[9]、SSD[10]等,由于深度學習的方法不需要人工設計來提取圖像特征,在數據集足夠龐大的時候可以準確的識別圖像,得到了大力的推廣。
在國內,雖然交通標志識別技術起步較晚,但是近年來該技術不斷的得到突破。2017 年,黨倩等提出一種基于二級改進LeNet-5 的交通標志識別算法,其中第一級將感興趣區域包含的交通標志分為6 類,第二級改進粗分類結果進行細分類[11],從而進行交通標志的識別。2019 年,褚瑩等提出了TSRCNN 模型,對經典卷積神經網絡LeNet-5 進行四大改進,對模型進行基礎結構調整,提升數據集平衡性的數據增廣以及加入Drop層改善過擬合等策略[12]。2020 年,張猛等提出了ILN-CNN 模型對交通標志進行識別,該模型對原有的LeNet-50 網絡模型構造兩個相對獨立的不同卷積核的子卷積網絡,用于加快特征提取;其次增加子網絡中的卷積核個數以增強網絡區分不同交通標志的能力[13]。
現如今深度學習算法模型層出不窮,對于交通標志識別的準確度也大大提高,本文提出一種將提取到的特征圖連接起來進行識別的模型RI-Model,該模型基于遷移學習,將圖像輸入模型進行預處理,結合ResNet-50 與Inception-V3 兩種在深度學習算法中對識別分類操作效果較好的網絡進行改進識別,在比利時交通標志數據集(BelgiumTS)上得到了較好的識別準確度,并有效提高了訓練的收斂速度。
卷積神經網絡(Convolutional Neural Networks,CNN)是由輸入層、卷積層、池化層、全連接層和輸出層組成的,其訓練通常分為兩個過程。第一階段是輸入的數據從網絡模型開頭向網絡模型末尾傳播的階段,即前向傳播,另一個階段是比對得出結果與輸入理想之間的差距,將它們的誤差從模型末尾向模型開頭傳播進行權重更新的階段,即反向傳播[14]。CNN 之所以在圖像識別方向有很好的應用是因為它選用局部連接的方式,在一定程度上較少了網絡的復雜性;其次是共用權重,網絡中同一層的一些神經元使用相同的權值。基于這兩個特點,卷積神經網絡可以在一定程度上降低模型的復雜度和運算時間。
由于卷積神經網絡需要經過大量的樣本訓練才能得到最優化的訓練結果,可現實中優質的數據集少之又少,所以在2014 年,Bengio 等提出了深度學習中各個層的特征可遷移性[15]。遷移學習是指將源領域中某一任務學習到的知識遷移到另外的目標領域中完成新的任務,即是把已經訓練好的模型參數遷移到新的模型來幫助訓練,大大減少了訓練所耗費的時間以及需要收集的數據等,此次實驗采用遷移學習來訓練模型,將最后全連接層的參數改為62來適用于此次的標志識別分類操作。
2012 年,AlexNet[16]在ILSVRC 挑戰賽中大幅度領先后面的選手并取得了冠軍,讓人們對該網絡進行了廣泛的研究,“越深的網絡正確率越高”的說法在廣泛傳播,但是隨著網絡的不斷加深,準確率在不斷提高的同時出現了所謂的“退化”現象。何愷明等針對這個問題利用殘差學習的思想[17]來解決由于模型過于復雜而導致的過擬合、梯度消失等現象,殘差網絡現如今被廣泛應用于織物疵點檢測[18]、網絡的年齡估計[19]等。
ResNet 核心結構如圖1 所示,它提出了一種“shortcut connection”的連接方式,通過提供residual mapping 及identity mapping 兩種方式來解決“退化”問題。圖中X為輸入數據,X經過兩個權重層后得到輸出結果為F(X),在殘差模塊中還有一個分支是輸入數據X不經過任何處理直接和卷積輸出的結果F(X)做加法堆疊得到最優輸出結果為F(X)+X,從而避免了因為網絡層數的加深而丟失信息的情況發生。

圖1 殘差模塊示意圖
此次實驗中選擇其中ResNet-50 作為識別網絡,因為在ImageNet 上ResNet-50 的表現結果很好,相較于傳統的卷積神經網絡的復雜度更低,且該網絡層次更深但是不會出現梯度彌散等問題。
提升網絡性能的方法一般是增加網絡的深度和寬度,但是不斷增加網絡深度和寬度時需要計算的參數也會不斷地增加,因此Google引入了稀疏特性提出了Inception 結構。此次使用的Inception-V3[20]結構是在GoogLeNet[21]的基礎上改進而來的,GoogLeNet 又叫做Inception-V1,Inception 的基礎模塊如圖2 所示,它通過擴展網絡的寬度來提升模型的復雜度,并使用了多分支分別進行處理,使用1×1 的卷積來處理輸入的尺寸從而降低計算量,Inception-V3 將5×5 的卷積替換成兩個連續的3×3進一步降低了計算成本,使用不同大小的卷積核來實現拼接從而實現不同尺度的特征融合。Inception-V3 可以在不斷增加計算成本的基礎上擴張網格[22],在相同的計算能力下提取更多的特征從而大大提高訓練的效果。

圖2 Inception基礎模塊
基于遷移學習,使用ImageNet大型數據集上訓練好的ResNet-50 與Inception-V3 兩種模型,用其與訓練好的卷積基來進行數據的特征提取,對其全連接層進行優化改進并在此次實驗中所使用的數據集上進行局部訓練,使用Dropout來抑制過擬合,圖3、圖4 是其使用Inception-V3 與ResNet-50 網絡進行訓練的結構,首先將標注好的圖像數據輸入模型中,進行數據預處理以及數據增強的操作后輸入到預訓練模型中進行特征提取,再通過全局平均池化、Dropout 層以及全連接層輸出最后的62 種標志種類。

圖3 引入ResNet-50模型

圖4 引入Inception-V3模型
該模型是一個對稱結構的網絡模型,將ResNet-50 與Inception-V3 特征提取網絡所提取到的特征結合起來,得到更細粒化的特征,得到更好的識別效果。首先將輸入圖像進行預處理與數據增強后并行輸入到兩個封裝好的ResNet-50 以及Inception-V3 兩種模型中,將再ImageNet 上與訓練好的卷積基遷移到BelgiumTS 上進行特征提取,采用對稱結構提取到圖像中的特征向量將其進行匯合后轉為一個綜合特征向量,最后通過全連接層對綜合特征向量進行多分類后得到最高概率的類別,其RI-Model的網絡架構如圖5所示。

圖5 RI-Model模型

圖6 BelgiumTS示例圖
實驗在windows 開發系統下進行,使用的硬件處理器配置為Intel(R)Core(TM)I5-8250U CPU@ 1.60GHz,軟件使用集成開發環境Annaconda 開發環境,Python3 作為編程語言,由于TensorFlow 具有較好的移植性和靈活性,被廣泛應用于圖像識別、智能交通等領域,故使用TensorFlow進行開發。
本文在選用的是BelgiumTS,它是一種包含了62 種交通標志的數據集,其中有7074 張交通標志的圖片。該數據集中的圖片質量較高,包含了汽車行駛路線中的各個拍攝角度、光照條件、有無遮擋以及陰暗、變形等復雜情況,提高了訓練模型質量。由于數據集中的圖片都是大小不一的,所以將圖片都裁剪或拉伸為180×180 大小的圖片,使用這個尺寸的照片可以盡可能多地保存圖片的信息。
由于選擇學習的樣本較少,導致無法訓練出最優的結果,所以需要通過對現有訓練樣本的強化,生成更多的訓練數據。數據增強方法是通過隨機變換來增加樣本,從而生成各種可靠的圖像。該方法的目標是在模型訓練過程中不必看同一幅圖像兩次,使模型能夠觀察到更多的數據,具有良好的泛化能力。表1就是常用的數據增強的方法。圖7是進行數據增強后的結果圖。

表1 圖像增強方法

圖7 數據增強的示例圖片
本次實驗的損失函數使用的是稀疏類別的Cross Entropy Loss Function(交叉熵損失函數)和Adam 優化器來對網絡模型進行Forward Propagation、Back Propagation 以及參數的更新,Batch 設置為32,Epoch設置為40。
將ResNet-50 模型、Inception-V3 模型、RI-Model 分別在BelgiumTS 中進行訓練,得到的驗證集Accurary以及Loss值如表2所示。

表2 實驗結果
由表可以看出,在ResNet-50 和Inception-V3上的準確率分別為97.10%、97.65%。RI-Model 在數據集上的準確率達到了98.86%。實驗證明,使用RI-Model 的識別正確率要比直接使用ResNet-50以及Inception-V3模型高1.5%左右,在測試集中進行測試的結果正確率也遠遠優于單獨使用網絡模型。BelgiumTS 包含了拍攝角度、大小像素以及光照等各個情況,證明該模型具有很好的分類效果,算法具有很好的魯棒性。
本文提出了RI-Model 模型來提高交通標志的識別精度,該模型是一種對稱結構,基于遷移學習與特征結合的方法,對于處理后的圖像進行特征提取,將對稱結構中的兩個網絡提取的特征結合起來的到細粒化的特征,利用BelgiumTS進行實驗,其結果表明:該方法能夠在較短的訓練時間內達到更好的收斂性能,相較于原模型的識別準確率有了一定的提升;由于該數據集包含了各種環境下的交通標志,RI-Model 模型識別正確率高,證明該方法可以在昏暗、運動模糊以及不定像素的情況下均可以達到較好的識別結果,具有很好的魯棒性。但是整個網絡結構還有很多的改進空間,亦可以選擇更具有現實意義的數據進行擴充,例如霧霾、惡劣天氣等不利識別情形下的交通標志,由此來提升其實用性。