王全
摘要:交通標(biāo)志識(shí)別系統(tǒng)是智能駕駛系統(tǒng)的重要組成部分;本文分析了現(xiàn)有方法存在的問(wèn)題,基于TensorFlow框架搭建了改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò),用于識(shí)別交通標(biāo)志;整個(gè)系統(tǒng)在TensorFlow上實(shí)現(xiàn),使用行車(chē)記錄儀采集的視頻驗(yàn)證了本文的算法,結(jié)果表明本文算法有一定的實(shí)用性,而且在準(zhǔn)確率,魯棒性和實(shí)時(shí)性等方面也表現(xiàn)較好。
Abstract: Traffic sign recognition system is an important part of intelligent driving system. This paper analyzes the problems existing in the existing methods. Based on the TensorFlow framework, an improved convolutional neural network is built to identify traffic signs. Finally, ?the whole system is implemented based on TensorFlow, and the algorithm is verified by the collected video in the traffic recorder. The results show that the algorithm is practical, and has excellent performance in accuracy, stability and real-time.
關(guān)鍵詞:交通標(biāo)志識(shí)別;卷積神經(jīng)網(wǎng)絡(luò);Tensor Flow
Key words: traffic sign recognition;convolutional neural networks;Tensor Flow
中圖分類(lèi)號(hào):TP391;U461.6 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文章編號(hào):1006-4311(2019)27-0204-03
1 ?緒論
近年來(lái),智能交通系統(tǒng)[1,2]越來(lái)越受到人們的關(guān)注。隨著其智能化程度越來(lái)越高,它現(xiàn)在可以幫助甚至取代駕駛員的工作。智能交通決策系統(tǒng)需要識(shí)別交通標(biāo)志來(lái)做出判斷,從而提醒駕駛員的各種行為,以減少交通事故的發(fā)生。此外,無(wú)人駕駛技術(shù)[3]也正迅速發(fā)展,各大互聯(lián)網(wǎng)巨頭正在開(kāi)發(fā)無(wú)人車(chē),交通標(biāo)志識(shí)別是其中重要的一環(huán)。因此,本文選取了交通標(biāo)志識(shí)別這個(gè)課題進(jìn)行研究。
2 ?基于TensorFlow的卷積神經(jīng)網(wǎng)絡(luò)的構(gòu)造
本文選擇的是德國(guó)交通標(biāo)志數(shù)據(jù)集GTSRB[4]。這個(gè)數(shù)據(jù)集樣本數(shù)量龐大,有近5五萬(wàn)張圖片,并且涉及到了不同光照強(qiáng)度、不同角度、不同天氣的情況,覆蓋情況較多,能達(dá)到較好的訓(xùn)練效果。這個(gè)數(shù)據(jù)集一共有43種交通標(biāo)志,如圖1所示,每種交通標(biāo)志有樣本200到2000不等。
2.1 數(shù)據(jù)集預(yù)處理
2.1.1 將彩色圖像灰度化
不同國(guó)家的交通標(biāo)志的顏色存在差異,如果此時(shí)通過(guò)顏色來(lái)區(qū)分不同的交通標(biāo)志,準(zhǔn)確率就可能很低。再者,交通標(biāo)志里的顏色,不是區(qū)分不同交通標(biāo)志的主要信息。最后,彩色圖像比灰色圖像要處理的數(shù)據(jù)更多。
圖像灰度化有很多方法,因?yàn)檫x擇的GTSRB數(shù)據(jù)集,所以選擇了加權(quán)平均法,就是把彩色圖像中每一個(gè)像素點(diǎn)的RGB的亮度值分別乘以不同的系數(shù),其結(jié)果就是灰度圖中對(duì)應(yīng)該點(diǎn)的灰度值。
2.1.2 直方圖均衡
本文選擇了直方圖均衡[5,6]的方法進(jìn)行圖像增強(qiáng)。均衡就是將輸入的圖片映射到具有類(lèi)似像素點(diǎn)的輸出圖片,一般是通過(guò)一定的灰度映射的方法來(lái)完成的。簡(jiǎn)言之,就是均衡圖片的亮度級(jí)別,加強(qiáng)明暗對(duì)比。
隨機(jī)的選取三張圖片,依次輸出每一張圖片的原圖、灰度圖和直方圖,灰度化和直方圖均衡的效果如圖2所示。
2.2 搭建卷積神經(jīng)網(wǎng)絡(luò)
2.2.1 定義架構(gòu)
本文使用了LeNet架構(gòu)[7]。有卷積和池化各兩層,全連接三層。建立架構(gòu)的基本步驟如下。
①卷積:要先了解卷積的過(guò)程,才能更深入的了解卷積層。下面簡(jiǎn)單的介紹一下卷積的過(guò)程:首先確定卷積核的大小,它要根據(jù)實(shí)際情況設(shè)定,本文設(shè)定為5*5;另一個(gè)參數(shù)是步長(zhǎng),即卷積核移動(dòng)的距離,假定為1。卷積時(shí),首先輸入圖片,然后卷積核會(huì)從圖片的左上角,按照步長(zhǎng),移動(dòng)到右下角。
②池化:池化的模型有很多,根據(jù)處理方式的不同可將它分為最大池化和平均池化。池化的過(guò)程和卷積的過(guò)程類(lèi)似,不同的是,池化的所使用的池化窗口分別是要處理對(duì)應(yīng)區(qū)域中最大的那個(gè)數(shù)還是該區(qū)域所有數(shù)的平均。池化的主要作用是對(duì)圖像進(jìn)行特征降維,縮減模型的大小,減少參數(shù)的數(shù)量,在避免過(guò)擬合的同時(shí),又保證特征的位置不變,提高識(shí)別的準(zhǔn)確率。
2.2.2 測(cè)試
①測(cè)試驗(yàn)證集:樣本本來(lái)有34799張,后來(lái)對(duì)其進(jìn)行了擴(kuò)充,所以訓(xùn)練集增至47781張。驗(yàn)證集就是從擴(kuò)充過(guò)的訓(xùn)練集中分出來(lái)的,占總量的20%。所以驗(yàn)證集和訓(xùn)練集是完全一樣的。
首先建立session,在會(huì)話中,運(yùn)行模型的時(shí)候通過(guò)feed_dict函數(shù)向占位符傳入數(shù)據(jù)。由于BATCH_SIZE被設(shè)置為128,所以每次會(huì)隨機(jī)選取128張圖片傳入模型。EPOCHS的值為30,也就是將所有的樣本傳遞30次,每傳遞一次輸出一次,顯示其準(zhǔn)確率、損失值和本批次運(yùn)行的時(shí)間,以便更好的監(jiān)控整個(gè)訓(xùn)練過(guò)程。訓(xùn)練結(jié)束,準(zhǔn)確率達(dá)到97.6%。
②測(cè)試測(cè)試集:測(cè)試集是從官網(wǎng)下載的.p文件,它有4410個(gè)樣本,具體的測(cè)試過(guò)程和對(duì)驗(yàn)證集的測(cè)試是類(lèi)似的,只是傳入的樣本不同。最后的訓(xùn)練結(jié)果是“Test Accuracy = 92.6%,Test Loss = 0.536”。用tensorboard分別作出準(zhǔn)確率和損失值的變化曲線圖。如圖3所示,從圖中我們可以看出,隨著傳入批次的增多,準(zhǔn)確率在逐漸增高,慢慢的趨近于1;損失值在逐漸降低,慢慢的趨近于0。
3 ?實(shí)驗(yàn)結(jié)果及分析
3.1 模型的優(yōu)化
3.1.1 學(xué)習(xí)率的選擇
學(xué)習(xí)率對(duì)模型的訓(xùn)練和神經(jīng)網(wǎng)絡(luò)的優(yōu)化有著重要作用。學(xué)習(xí)率是結(jié)合梯度來(lái)更新權(quán)值的,選擇的學(xué)習(xí)率要適應(yīng)當(dāng)前梯度的變化。如果學(xué)習(xí)率設(shè)置過(guò)大,會(huì)導(dǎo)致每次改變的太多,總是錯(cuò)過(guò)那個(gè)最佳的點(diǎn);學(xué)習(xí)率設(shè)置的過(guò)小,又會(huì)導(dǎo)致收斂過(guò)慢,運(yùn)行效率不高。本文選擇了0.0005、0.0009和0.005三組學(xué)習(xí)率進(jìn)行試驗(yàn)。
表1總結(jié)了不同學(xué)習(xí)率運(yùn)行的結(jié)果,包含準(zhǔn)確率和損失值??傮w看來(lái),表現(xiàn)比較好的時(shí)學(xué)習(xí)率為0.0005和0.0009,準(zhǔn)確率均在98%以上,損失值也都在0.1以下;但是0.005的準(zhǔn)確率和損失值都十分不理想,準(zhǔn)確率只有3.5%,損失值也高達(dá)3.7。相比較兩個(gè)表現(xiàn)較好的學(xué)習(xí)率,0.0009的準(zhǔn)確率更高,損失值更低,所以是最優(yōu)的。最終我們選擇了0.0009為我們的學(xué)習(xí)率。
3.1.2 激活函數(shù)的選擇
激活函數(shù)是訓(xùn)練中必不可少的一部分,而激活函數(shù)又有多個(gè)種類(lèi),怎么選擇合適的激活函數(shù)就顯得非常重要。在本研究中,選擇了relu函數(shù)、sigmoid函數(shù)、tanh函數(shù)和softplus函數(shù)四種激活函數(shù)進(jìn)行試驗(yàn)。
從表2中能看到,選的這四種激活函數(shù)的測(cè)試結(jié)果都還可以。其中relu表現(xiàn)最好,準(zhǔn)確率高達(dá)0.983;tanh和softplus的準(zhǔn)確率差不多,但是tanh的損失值有點(diǎn)高;sigmoid表現(xiàn)較差,準(zhǔn)確率最低,損失值最高。綜上所述,在所有的激活函數(shù)中,relu的表現(xiàn)是最好的,所以其被作為本文的激活函數(shù)。
3.2 復(fù)雜環(huán)境下交通標(biāo)志識(shí)別
從研究交通標(biāo)志開(kāi)始,專家們雖然已經(jīng)收獲一些成果,但是都遇到了一些問(wèn)題。出現(xiàn)這些問(wèn)題大部分是因?yàn)榻煌?biāo)志處于室外,陰晴雨雪等復(fù)雜天氣都能對(duì)其產(chǎn)生影響。這些復(fù)雜情況主要有:光照條件多變、運(yùn)動(dòng)模糊、被遮擋一部分和發(fā)生形變等。本文對(duì)各種復(fù)雜環(huán)境下交通標(biāo)志識(shí)別進(jìn)行實(shí)驗(yàn),結(jié)果如圖4所示。
綜上所述,本文訓(xùn)練的網(wǎng)絡(luò)對(duì)光線較強(qiáng)、霧天或者陰雨天氣、運(yùn)動(dòng)模糊和被遮擋一部分條件下的交通標(biāo)志的識(shí)別的準(zhǔn)確率都較高,一般能達(dá)到90%以上,對(duì)發(fā)生形變的測(cè)試勉強(qiáng)使人滿意,只有71%。
4 ?結(jié)論
交通標(biāo)志識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),是智能交通系統(tǒng)的一個(gè)重要分支,具有研究?jī)r(jià)值和使用前景。本文著重研究了基于TensorFlow的交通標(biāo)志識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。本文的主要工作如下所示:①本文首先對(duì)該課題的背景和意義做了深入的探討,對(duì)交通標(biāo)志的識(shí)別的應(yīng)用前景和重要現(xiàn)實(shí)意義有了深刻的認(rèn)識(shí)。②選擇了GTSRB這一標(biāo)準(zhǔn)數(shù)據(jù)集,對(duì)其進(jìn)行了預(yù)處理。預(yù)處理分為三步,分別是灰度化、直方圖均衡(數(shù)據(jù)增強(qiáng))和數(shù)據(jù)擴(kuò)充。以上對(duì)數(shù)據(jù)集的預(yù)處理都是為了改善特征提取,提高識(shí)別的準(zhǔn)確率。③介紹了卷積神經(jīng)網(wǎng)絡(luò)的搭建。通過(guò)卷積、池化、全連接一層層將整個(gè)框架搭建起來(lái)。然后使用訓(xùn)練好的模型分別對(duì)驗(yàn)證集和測(cè)試集進(jìn)行了測(cè)試,并可視化訓(xùn)練結(jié)果。④結(jié)果分析。對(duì)不同的學(xué)習(xí)率、不同的激活函數(shù)進(jìn)行驗(yàn)證和分析,找出了一套最優(yōu)的方案。對(duì)一些復(fù)雜環(huán)境下的交通標(biāo)志進(jìn)行了測(cè)試,包括光線較強(qiáng)、光照較暗、霧天或者陰雨天氣、運(yùn)動(dòng)模糊、被遮擋一部分和發(fā)生形變等各種情況,結(jié)果表明本文算法有一定的實(shí)用性,而且在準(zhǔn)確率,魯棒性和實(shí)時(shí)性等方面也表現(xiàn)較好。
參考文獻(xiàn):
[1]Spadafora W G,Paielli P M, Llewellyn D R, et al. Intelligent transportation system. US. US7689230, 2010.
[2]Wen Y, Lu Y, Yan J, et al. An Algorithm for License Plate Recognition Applied to ?Intelligent Transportation System.IEEE Transactions on Intelligent Transportation Systems, 2011, 12(3 ):830-845.
[3]馬振貴.瘋狂收購(gòu)英特爾布局無(wú)人駕駛.上海信息化,2017(04):40-43.
[4]Stallkamp J,Schlipsing M,Salmen J,et al. The German Traffic Sign Recognition Benchmark: A multi-class classification competition[C]. International Joint Conference on Neural Networks. IEEE, 2011:1453-1460.
[5]白璐.基于圖像處理的車(chē)牌識(shí)別系統(tǒng)的研究[D].長(zhǎng)安大學(xué),2010.
[6]宋小潞.基于大氣物理模型的單幅圖像去霧算法研究[D].華南理工大學(xué),2015.
[7]Lecun Y,Bottou L,Bengio Y,et al.Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.