黃尚安
(江門職業(yè)技術(shù)學(xué)院,廣東 江門529090)
伴隨著人工智能技術(shù)的發(fā)展和普及,汽車工業(yè)正在經(jīng)歷一場深度的智能化技術(shù)革命。車輛對于交通現(xiàn)場的智能化理解能力尤為重要,而實(shí)現(xiàn)交通標(biāo)志的識別又是其重要的技術(shù)環(huán)節(jié)。根據(jù)交通標(biāo)志的特征,研究構(gòu)建一種新的交通標(biāo)志識別方法,力求在控制模型計(jì)算量的基礎(chǔ)上,進(jìn)一步提高交通標(biāo)志的識別精度。
A Marchisio等人提出一種低延遲節(jié)能膠囊網(wǎng)絡(luò),采用非占優(yōu)排序遺傳算法,能夠在保證交通標(biāo)志高精度識別的基礎(chǔ)上,控制模型的計(jì)算量[1];O Araar等人為了避免標(biāo)記數(shù)據(jù)的繁瑣過程以及模型計(jì)算量的增加,提出了一種使用合成交通標(biāo)志圖像的CNN卷積神經(jīng)網(wǎng)絡(luò)模型,取得了不錯(cuò)的成績[2];M Singh等人提出了一種基于輸入空間對齊的魯棒性訓(xùn)練方法,他們在輸入圖像與解釋映射之間的空間相關(guān)性上給出了屬性脆弱性的上線,并且使用軟邊緣三重態(tài)損失最小化這個(gè)上限來學(xué)習(xí)穩(wěn)健的特征,最終在交通標(biāo)志識別GTSRB數(shù)據(jù)集得到了99.52 %的好成績[3];A Bouti等人提出一種改進(jìn)的LeNet卷積神經(jīng)網(wǎng)絡(luò)模型,GTSRB數(shù)據(jù)集的測試精度達(dá)到了99.61 %,但模型訓(xùn)練迭代的時(shí)間有待優(yōu)化[4];A Hechri等人提出了一種“兩階段”交通標(biāo)志識別模型,首選通過HOG和支持向量機(jī)進(jìn)行交通標(biāo)志檢測,然后構(gòu)建CNN模型進(jìn)行識別,識別精度達(dá)到99.7 %,但模型的計(jì)算量依然有待進(jìn)一步控制[5]。
如何能夠在保證交通標(biāo)志識別精度的基礎(chǔ)上,依然可以很好控制模型訓(xùn)練迭代的時(shí)間以及計(jì)算量是研究人員一直以來要攻克的技術(shù)難點(diǎn)。本文根據(jù)交通標(biāo)志本身的特點(diǎn),研究構(gòu)建一種基于改進(jìn)ResNet殘差網(wǎng)絡(luò)的交通標(biāo)志識別方法,并通過計(jì)算機(jī)訓(xùn)練網(wǎng)絡(luò)模型,得到本模型在交通標(biāo)志識別公共數(shù)據(jù)集GTSRB上的結(jié)果。
構(gòu)建基于CNN卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)分類模型,會(huì)伴隨網(wǎng)絡(luò)的深入出現(xiàn)一系列問題,其中就有模型梯度爆炸、消失的問題,而ResNet殘差網(wǎng)絡(luò)的出現(xiàn),能很好地解決這個(gè)問題,如圖1為模型中的殘差學(xué)習(xí)單元以及瓶頸結(jié)構(gòu)示意圖[6]。
圖1 殘差學(xué)習(xí)單元、瓶頸結(jié)構(gòu)示意圖
如圖1所示,如果首個(gè)卷積層的權(quán)重是W[m],且有偏置參數(shù)b[m]、加權(quán)輸入Z[m],則有:
把下一個(gè)加權(quán)輸入Z[m+1]令成F(x),既有:
在瓶頸結(jié)構(gòu)中,如果引入一個(gè)映射,且這個(gè)映射為W[s],則有:
如何能夠加深提取數(shù)據(jù)集圖像的特征信息,是進(jìn)一步提高交通標(biāo)志分類精度的關(guān)鍵所在,圖2為本文設(shè)計(jì)構(gòu)建的“八塊結(jié)構(gòu)的ResNet殘差網(wǎng)絡(luò)模型”,且使用卷積核大小、網(wǎng)絡(luò)層數(shù)及像素大小等相關(guān)參數(shù)都已在圖中標(biāo)明。研究根據(jù)交通標(biāo)志本身的特點(diǎn),合理搭建包含批量標(biāo)準(zhǔn)化層、激活函數(shù)層、卷積層、池化層等網(wǎng)絡(luò)層,并引入殘差學(xué)習(xí)單元,是構(gòu)建此模型的重點(diǎn)。
圖2 八塊結(jié)構(gòu)的Re s Ne t殘差網(wǎng)絡(luò)模型
第一、二塊為模型的圖像預(yù)處理部分,在模型的數(shù)據(jù)入口,重點(diǎn)使用批量標(biāo)準(zhǔn)化層(Batch Normalization層)[7],能夠讓圖像的特征數(shù)據(jù)在一開始就擁有較為一致的分布,其核心是計(jì)算批量上面的均值及標(biāo)準(zhǔn)差,從而調(diào)整網(wǎng)絡(luò)層的數(shù)據(jù)輸出,為后續(xù)結(jié)構(gòu)的特征提取奠定基礎(chǔ)。
第三、四塊為模型特征提取的初步階段:且開始引入殘差學(xué)習(xí)單元,并且著重使用PReLU激活函數(shù)(Parametric Rectified Linear Unit)[8]。ReLU激活函數(shù)會(huì)使得卷積層的特征提取變得冗余,而PReLU就可以很好解決這個(gè)問題。實(shí)際上ReLU激活函數(shù)經(jīng)過相關(guān)參數(shù)的調(diào)整就可以得到PReLU,故通過增加較少且可控的計(jì)算量,就可以優(yōu)化ReLU激活函數(shù)帶來的問題。
第五、六塊為模型特征提取的核心階段:在繼續(xù)引入殘差學(xué)習(xí)單元的基礎(chǔ)上,進(jìn)一步引入最大池化層[9]及dropout層[10]。引入最大池化層首先可以完成圖像特征圖下采樣的工作;其次可以對提取的特征圖信息進(jìn)行壓縮,將相關(guān)不必要的冗余信息進(jìn)行刪除,降低模型計(jì)算量;最后還可以擴(kuò)大卷積層提取特征圖信息的感受野,由于交通標(biāo)志識別需要提取更多細(xì)節(jié)特征,故最大池化層可以在特征提取的核心階段較好完成這三項(xiàng)工作。而第六塊中增加的dropout層,可以更好地配合ResNet殘差學(xué)習(xí)單元,防止過擬合的情況出現(xiàn)。在網(wǎng)絡(luò)模型的多次訓(xùn)練迭代中,dropout層可以更新相關(guān)參數(shù),從而保證特征圖信息提取的效率,代價(jià)是增加模型的計(jì)算量,但是這些額外的計(jì)算量可以通過批量標(biāo)準(zhǔn)化層及最大池化層等模型整體設(shè)計(jì)而控制。
第七、八塊為模型特征提取的收尾階段:依然在引入殘差學(xué)習(xí)單元的基礎(chǔ)上,反復(fù)使用卷積核參數(shù)為1×1及3×3的卷積層,梯次配置,加深對交通標(biāo)志特征圖的信息提取。收尾階段的殘差學(xué)習(xí)單元,可以在保證卷積層特征提取效率的基礎(chǔ)上,進(jìn)一步獲得更深層次的信息,提高對交通標(biāo)志的識別精度,最終通過全連接層和Softmax完成數(shù)據(jù)輸出。
構(gòu)建此模型的設(shè)計(jì)思想是:“梯次配置、分段提取、步步加深、相輔相成”。經(jīng)過圖像的預(yù)處理部分,后續(xù)特征提取的網(wǎng)絡(luò)結(jié)構(gòu),全部引入殘差學(xué)習(xí)單元,避免伴隨網(wǎng)絡(luò)的加深,出現(xiàn)過擬合及梯度爆炸、消失的問題。且反復(fù)使用的批量標(biāo)準(zhǔn)化層及最大池化層,能較好控制模型計(jì)算量,避免出現(xiàn)模型訓(xùn)練迭代時(shí)間過長,參數(shù)量過大的問題,力求讓模型在獲得優(yōu)秀分類精度的基礎(chǔ)上,還可以減少模型訓(xùn)練迭代的耗時(shí)。
構(gòu)建模型使用對數(shù)似然代價(jià)函數(shù),如果樣本的數(shù)量用M表示,則樣本用x表示,標(biāo)簽用y表示,權(quán)重向量用θ表示,則有:
對數(shù)似然代價(jià)函數(shù)在梯度下降的過程中,計(jì)算量可以得到較好控制,會(huì)使得所提模型訓(xùn)練迭代的耗時(shí)進(jìn)一步縮短。
提出模型使用深度學(xué)習(xí)框架-Caffe[11]來完成計(jì)算機(jī)仿真測試,此實(shí)驗(yàn)使用的計(jì)算機(jī)平臺(tái)配置:操作系統(tǒng):Ubuntu 18.04 ,處理器:Intel酷睿i7 11700K,顯卡:8G GeForce GTX1080,內(nèi)存條的大小是32G。
實(shí)驗(yàn)使用交通標(biāo)志識別公共數(shù)據(jù)集GTSRB[12],數(shù)據(jù)集共包含43種不同類型的交通標(biāo)志圖像,圖像中最小的像素為15×15,最大的像素為222×193,且交通標(biāo)志所處環(huán)境各不相同,有陽光下的、過度遮光的、過度曝光的、雨霧天氣下及遮擋的,如圖3所示。
圖3 GTSRB公共數(shù)據(jù)集
數(shù)據(jù)集圖片進(jìn)入構(gòu)建的網(wǎng)絡(luò)模型之前,將像素大小統(tǒng)一調(diào)整為28×28,且采用Adam算法來完成模型的訓(xùn)練迭代。學(xué)習(xí)率的設(shè)置如果過大,則模型剛開始訓(xùn)練時(shí)容易損失相關(guān)數(shù)值,發(fā)生數(shù)據(jù)的振蕩;設(shè)置如果過小,則模型訓(xùn)練容易出現(xiàn)過度擬合的現(xiàn)象,且模型訓(xùn)練迭代的收斂速度會(huì)變慢。本實(shí)驗(yàn)剛開始訓(xùn)練時(shí),學(xué)習(xí)率設(shè)置為0.01 ,往后第10輪設(shè)置為0.001 ,再往后第15輪設(shè)置為0.0001 ,圖4為模型迭代次數(shù)達(dá)到150次時(shí)的收斂情況曲線。
如圖4所示,當(dāng)模型訓(xùn)練迭代至30次左右時(shí),代價(jià)函數(shù)曲線已經(jīng)得以收斂,可以迅速降下來;訓(xùn)練迭代至90次以后,代價(jià)函數(shù)值向橫軸靠攏。實(shí)驗(yàn)結(jié)果表明,構(gòu)建模型能夠獲得非常優(yōu)秀的訓(xùn)練結(jié)果。模型在Caffe上的測試精度達(dá)到了99.74 %,圖5為模型迭代次數(shù)與測試精度之間的關(guān)系圖。
圖4 模型代價(jià)函數(shù)曲線圖
圖5 模型精確度與迭代次數(shù)關(guān)系圖
本文方法和當(dāng)前其它算法精確度對比,如表1所示。
表1 與當(dāng)前其他方法的結(jié)果比較
通過和當(dāng)前較多方法實(shí)驗(yàn)結(jié)果的對比,本文提出的算法模型獲得了較為優(yōu)秀的結(jié)果,模型較好控制了計(jì)算量大小,同時(shí)獲得了優(yōu)秀的分類精度。
本文提出了一種基于改進(jìn)ResNet殘差網(wǎng)絡(luò)的交通標(biāo)志識別方法。根據(jù)交通標(biāo)志本身的特點(diǎn),構(gòu)建“八塊結(jié)構(gòu)的ResNet殘差網(wǎng)絡(luò)”模型,并結(jié)合對數(shù)似然代價(jià)函數(shù),層層遞進(jìn),加深特征圖信息提取。所提模型可以在較快訓(xùn)練迭代的基礎(chǔ)上,獲得優(yōu)秀的分類精度。下一步,還將繼續(xù)研究基于CNN卷積神經(jīng)網(wǎng)絡(luò)的交通標(biāo)志識別,以期獲得更快的識別速度,更高的分類精度。