袁穆佳惠 陳 曉
(陜西科技大學(xué)電子信息與人工智能學(xué)院 西安 710021)
2020年2月疫情來襲,在武漢多地都使用了無人智能化汽車來進行噴灑消毒液、運送物資等工作,對于嚴重的疫情的地區(qū)而言,無人汽車的使用大大降低了防疫工作人員的操作風險,在由Future Today Institute 發(fā)布的《2021 年科技趨勢報告》中可以看到中國對人工智能技術(shù)高度重視,給予AI 產(chǎn)業(yè)強大的推動力,促進人工智能方面的算法研究[1],伴隨著人工智能、計算機視覺等技術(shù)的快速發(fā)展,智能汽車也在這些年里不斷被研發(fā)和推廣并轉(zhuǎn)向商用,智能化將是下一個汽車時代的分水嶺。
交通標志是汽車駕駛中極其重要的部分,而交通標志的識別任務(wù)更是無人智能化汽車中關(guān)鍵性的一步,它負責將檢測到的標志進行判別,以確定其所歸屬的種類從而得到相應(yīng)的識別結(jié)果。Wail[2]發(fā)表的報告詳細介紹了交通標志自動檢測與識別所面臨的挑戰(zhàn)以及未來的發(fā)展趨勢,由于交通環(huán)境復(fù)雜多變,對識別的結(jié)果也有極大的影響。
交通標志識別算法有很多,目前主流的有模板匹配法、機器學(xué)習(xí)法和深度學(xué)習(xí)法。模板匹配法就是利用滑窗從待識別圖像中提取特征向量與模板對應(yīng)的特征向量進行比較[3],其弊端在于只能識別相同條件下的圖像,不利于真實場景的識別工作;機器學(xué)習(xí)法就是通過提取特征并將其特征輸入到分類器中來進行圖像的識別,該方法可以兼顧識別分類操作的計算量及其魯棒性,但是特征提取的操作多為人工手動設(shè)計,泛化性差且效率較低,典型的分類方法有支持向量機[4]、決策樹[5]、隨機森林[6]等。而深度學(xué)習(xí)法是現(xiàn)如今應(yīng)用最為廣泛的方法之一,它模擬人類大腦對未知事物的學(xué)習(xí)分析能力,使用卷積神經(jīng)網(wǎng)絡(luò)進行圖像特征提取。近年來,深度學(xué)習(xí)法在交通標志識別領(lǐng)域迅速發(fā)展,其中最為經(jīng)典的模型分別是RCNN[7]、Fast-RCNN[8]、YOLO[9]、SSD[10]等,由于深度學(xué)習(xí)的方法不需要人工設(shè)計來提取圖像特征,在數(shù)據(jù)集足夠龐大的時候可以準確的識別圖像,得到了大力的推廣。
在國內(nèi),雖然交通標志識別技術(shù)起步較晚,但是近年來該技術(shù)不斷的得到突破。2017 年,黨倩等提出一種基于二級改進LeNet-5 的交通標志識別算法,其中第一級將感興趣區(qū)域包含的交通標志分為6 類,第二級改進粗分類結(jié)果進行細分類[11],從而進行交通標志的識別。2019 年,褚瑩等提出了TSRCNN 模型,對經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)LeNet-5 進行四大改進,對模型進行基礎(chǔ)結(jié)構(gòu)調(diào)整,提升數(shù)據(jù)集平衡性的數(shù)據(jù)增廣以及加入Drop層改善過擬合等策略[12]。2020 年,張猛等提出了ILN-CNN 模型對交通標志進行識別,該模型對原有的LeNet-50 網(wǎng)絡(luò)模型構(gòu)造兩個相對獨立的不同卷積核的子卷積網(wǎng)絡(luò),用于加快特征提??;其次增加子網(wǎng)絡(luò)中的卷積核個數(shù)以增強網(wǎng)絡(luò)區(qū)分不同交通標志的能力[13]。
現(xiàn)如今深度學(xué)習(xí)算法模型層出不窮,對于交通標志識別的準確度也大大提高,本文提出一種將提取到的特征圖連接起來進行識別的模型RI-Model,該模型基于遷移學(xué)習(xí),將圖像輸入模型進行預(yù)處理,結(jié)合ResNet-50 與Inception-V3 兩種在深度學(xué)習(xí)算法中對識別分類操作效果較好的網(wǎng)絡(luò)進行改進識別,在比利時交通標志數(shù)據(jù)集(BelgiumTS)上得到了較好的識別準確度,并有效提高了訓(xùn)練的收斂速度。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是由輸入層、卷積層、池化層、全連接層和輸出層組成的,其訓(xùn)練通常分為兩個過程。第一階段是輸入的數(shù)據(jù)從網(wǎng)絡(luò)模型開頭向網(wǎng)絡(luò)模型末尾傳播的階段,即前向傳播,另一個階段是比對得出結(jié)果與輸入理想之間的差距,將它們的誤差從模型末尾向模型開頭傳播進行權(quán)重更新的階段,即反向傳播[14]。CNN 之所以在圖像識別方向有很好的應(yīng)用是因為它選用局部連接的方式,在一定程度上較少了網(wǎng)絡(luò)的復(fù)雜性;其次是共用權(quán)重,網(wǎng)絡(luò)中同一層的一些神經(jīng)元使用相同的權(quán)值?;谶@兩個特點,卷積神經(jīng)網(wǎng)絡(luò)可以在一定程度上降低模型的復(fù)雜度和運算時間。
由于卷積神經(jīng)網(wǎng)絡(luò)需要經(jīng)過大量的樣本訓(xùn)練才能得到最優(yōu)化的訓(xùn)練結(jié)果,可現(xiàn)實中優(yōu)質(zhì)的數(shù)據(jù)集少之又少,所以在2014 年,Bengio 等提出了深度學(xué)習(xí)中各個層的特征可遷移性[15]。遷移學(xué)習(xí)是指將源領(lǐng)域中某一任務(wù)學(xué)習(xí)到的知識遷移到另外的目標領(lǐng)域中完成新的任務(wù),即是把已經(jīng)訓(xùn)練好的模型參數(shù)遷移到新的模型來幫助訓(xùn)練,大大減少了訓(xùn)練所耗費的時間以及需要收集的數(shù)據(jù)等,此次實驗采用遷移學(xué)習(xí)來訓(xùn)練模型,將最后全連接層的參數(shù)改為62來適用于此次的標志識別分類操作。
2012 年,AlexNet[16]在ILSVRC 挑戰(zhàn)賽中大幅度領(lǐng)先后面的選手并取得了冠軍,讓人們對該網(wǎng)絡(luò)進行了廣泛的研究,“越深的網(wǎng)絡(luò)正確率越高”的說法在廣泛傳播,但是隨著網(wǎng)絡(luò)的不斷加深,準確率在不斷提高的同時出現(xiàn)了所謂的“退化”現(xiàn)象。何愷明等針對這個問題利用殘差學(xué)習(xí)的思想[17]來解決由于模型過于復(fù)雜而導(dǎo)致的過擬合、梯度消失等現(xiàn)象,殘差網(wǎng)絡(luò)現(xiàn)如今被廣泛應(yīng)用于織物疵點檢測[18]、網(wǎng)絡(luò)的年齡估計[19]等。
ResNet 核心結(jié)構(gòu)如圖1 所示,它提出了一種“shortcut connection”的連接方式,通過提供residual mapping 及identity mapping 兩種方式來解決“退化”問題。圖中X為輸入數(shù)據(jù),X經(jīng)過兩個權(quán)重層后得到輸出結(jié)果為F(X),在殘差模塊中還有一個分支是輸入數(shù)據(jù)X不經(jīng)過任何處理直接和卷積輸出的結(jié)果F(X)做加法堆疊得到最優(yōu)輸出結(jié)果為F(X)+X,從而避免了因為網(wǎng)絡(luò)層數(shù)的加深而丟失信息的情況發(fā)生。
圖1 殘差模塊示意圖
此次實驗中選擇其中ResNet-50 作為識別網(wǎng)絡(luò),因為在ImageNet 上ResNet-50 的表現(xiàn)結(jié)果很好,相較于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜度更低,且該網(wǎng)絡(luò)層次更深但是不會出現(xiàn)梯度彌散等問題。
提升網(wǎng)絡(luò)性能的方法一般是增加網(wǎng)絡(luò)的深度和寬度,但是不斷增加網(wǎng)絡(luò)深度和寬度時需要計算的參數(shù)也會不斷地增加,因此Google引入了稀疏特性提出了Inception 結(jié)構(gòu)。此次使用的Inception-V3[20]結(jié)構(gòu)是在GoogLeNet[21]的基礎(chǔ)上改進而來的,GoogLeNet 又叫做Inception-V1,Inception 的基礎(chǔ)模塊如圖2 所示,它通過擴展網(wǎng)絡(luò)的寬度來提升模型的復(fù)雜度,并使用了多分支分別進行處理,使用1×1 的卷積來處理輸入的尺寸從而降低計算量,Inception-V3 將5×5 的卷積替換成兩個連續(xù)的3×3進一步降低了計算成本,使用不同大小的卷積核來實現(xiàn)拼接從而實現(xiàn)不同尺度的特征融合。Inception-V3 可以在不斷增加計算成本的基礎(chǔ)上擴張網(wǎng)格[22],在相同的計算能力下提取更多的特征從而大大提高訓(xùn)練的效果。
圖2 Inception基礎(chǔ)模塊
基于遷移學(xué)習(xí),使用ImageNet大型數(shù)據(jù)集上訓(xùn)練好的ResNet-50 與Inception-V3 兩種模型,用其與訓(xùn)練好的卷積基來進行數(shù)據(jù)的特征提取,對其全連接層進行優(yōu)化改進并在此次實驗中所使用的數(shù)據(jù)集上進行局部訓(xùn)練,使用Dropout來抑制過擬合,圖3、圖4 是其使用Inception-V3 與ResNet-50 網(wǎng)絡(luò)進行訓(xùn)練的結(jié)構(gòu),首先將標注好的圖像數(shù)據(jù)輸入模型中,進行數(shù)據(jù)預(yù)處理以及數(shù)據(jù)增強的操作后輸入到預(yù)訓(xùn)練模型中進行特征提取,再通過全局平均池化、Dropout 層以及全連接層輸出最后的62 種標志種類。
圖3 引入ResNet-50模型
圖4 引入Inception-V3模型
該模型是一個對稱結(jié)構(gòu)的網(wǎng)絡(luò)模型,將ResNet-50 與Inception-V3 特征提取網(wǎng)絡(luò)所提取到的特征結(jié)合起來,得到更細?;奶卣?,得到更好的識別效果。首先將輸入圖像進行預(yù)處理與數(shù)據(jù)增強后并行輸入到兩個封裝好的ResNet-50 以及Inception-V3 兩種模型中,將再ImageNet 上與訓(xùn)練好的卷積基遷移到BelgiumTS 上進行特征提取,采用對稱結(jié)構(gòu)提取到圖像中的特征向量將其進行匯合后轉(zhuǎn)為一個綜合特征向量,最后通過全連接層對綜合特征向量進行多分類后得到最高概率的類別,其RI-Model的網(wǎng)絡(luò)架構(gòu)如圖5所示。
圖5 RI-Model模型
圖6 BelgiumTS示例圖
實驗在windows 開發(fā)系統(tǒng)下進行,使用的硬件處理器配置為Intel(R)Core(TM)I5-8250U CPU@ 1.60GHz,軟件使用集成開發(fā)環(huán)境Annaconda 開發(fā)環(huán)境,Python3 作為編程語言,由于TensorFlow 具有較好的移植性和靈活性,被廣泛應(yīng)用于圖像識別、智能交通等領(lǐng)域,故使用TensorFlow進行開發(fā)。
本文在選用的是BelgiumTS,它是一種包含了62 種交通標志的數(shù)據(jù)集,其中有7074 張交通標志的圖片。該數(shù)據(jù)集中的圖片質(zhì)量較高,包含了汽車行駛路線中的各個拍攝角度、光照條件、有無遮擋以及陰暗、變形等復(fù)雜情況,提高了訓(xùn)練模型質(zhì)量。由于數(shù)據(jù)集中的圖片都是大小不一的,所以將圖片都裁剪或拉伸為180×180 大小的圖片,使用這個尺寸的照片可以盡可能多地保存圖片的信息。
由于選擇學(xué)習(xí)的樣本較少,導(dǎo)致無法訓(xùn)練出最優(yōu)的結(jié)果,所以需要通過對現(xiàn)有訓(xùn)練樣本的強化,生成更多的訓(xùn)練數(shù)據(jù)。數(shù)據(jù)增強方法是通過隨機變換來增加樣本,從而生成各種可靠的圖像。該方法的目標是在模型訓(xùn)練過程中不必看同一幅圖像兩次,使模型能夠觀察到更多的數(shù)據(jù),具有良好的泛化能力。表1就是常用的數(shù)據(jù)增強的方法。圖7是進行數(shù)據(jù)增強后的結(jié)果圖。
表1 圖像增強方法
圖7 數(shù)據(jù)增強的示例圖片
本次實驗的損失函數(shù)使用的是稀疏類別的Cross Entropy Loss Function(交叉熵損失函數(shù))和Adam 優(yōu)化器來對網(wǎng)絡(luò)模型進行Forward Propagation、Back Propagation 以及參數(shù)的更新,Batch 設(shè)置為32,Epoch設(shè)置為40。
將ResNet-50 模型、Inception-V3 模型、RI-Model 分別在BelgiumTS 中進行訓(xùn)練,得到的驗證集Accurary以及Loss值如表2所示。
表2 實驗結(jié)果
由表可以看出,在ResNet-50 和Inception-V3上的準確率分別為97.10%、97.65%。RI-Model 在數(shù)據(jù)集上的準確率達到了98.86%。實驗證明,使用RI-Model 的識別正確率要比直接使用ResNet-50以及Inception-V3模型高1.5%左右,在測試集中進行測試的結(jié)果正確率也遠遠優(yōu)于單獨使用網(wǎng)絡(luò)模型。BelgiumTS 包含了拍攝角度、大小像素以及光照等各個情況,證明該模型具有很好的分類效果,算法具有很好的魯棒性。
本文提出了RI-Model 模型來提高交通標志的識別精度,該模型是一種對稱結(jié)構(gòu),基于遷移學(xué)習(xí)與特征結(jié)合的方法,對于處理后的圖像進行特征提取,將對稱結(jié)構(gòu)中的兩個網(wǎng)絡(luò)提取的特征結(jié)合起來的到細?;奶卣?,利用BelgiumTS進行實驗,其結(jié)果表明:該方法能夠在較短的訓(xùn)練時間內(nèi)達到更好的收斂性能,相較于原模型的識別準確率有了一定的提升;由于該數(shù)據(jù)集包含了各種環(huán)境下的交通標志,RI-Model 模型識別正確率高,證明該方法可以在昏暗、運動模糊以及不定像素的情況下均可以達到較好的識別結(jié)果,具有很好的魯棒性。但是整個網(wǎng)絡(luò)結(jié)構(gòu)還有很多的改進空間,亦可以選擇更具有現(xiàn)實意義的數(shù)據(jù)進行擴充,例如霧霾、惡劣天氣等不利識別情形下的交通標志,由此來提升其實用性。