摘要:提出了一種基于機器視覺和深度學(xué)習(xí)的智能路牌識別系統(tǒng)。采用嵌入式的ARM9作為前端采集系統(tǒng),在服務(wù)器上采用圖像處理算法先對前端采集的路牌圖像進(jìn)行文字區(qū)域的提取和分割,然后用訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)對分割的文字進(jìn)行識別,最后將識別信息以語音的形式反饋給使用者。使用前端硬件在高速公路上采集路牌圖像并在服務(wù)器的CAFFE框架上進(jìn)行測試,結(jié)果表明該系統(tǒng)能實時準(zhǔn)確地將路牌信息以語音的方式播報給使用者。
0 引言
隨著社會的快速發(fā)展,現(xiàn)今的生活中,汽車已經(jīng)成為主要的交通工具,路牌也成為一種重要的導(dǎo)航工具。無論是高速公路還是國道、省道,到處都樹立著路牌。然而,由于路牌常常被豎立在路的兩邊,當(dāng)司機需要了解路旁路牌的信息時,注意力很容易被分散,當(dāng)駕駛者對自己所在道路不熟悉的時候,前方路況和各種標(biāo)志的路牌會讓駕駛者的心里壓力變大,駕駛者由于減速觀看路牌很容易發(fā)生交通堵塞和交通事故,使得交通狀況變得更加惡劣。對此,國內(nèi)外一些研究學(xué)者對路牌的識別進(jìn)行了研究[1],但效果不是很理想,將路牌識別系統(tǒng)實現(xiàn)的更是少之又少。智能路牌識別系統(tǒng)能有效地提取路牌信息,幫助駕駛者理解路牌的信息,對于安全駕駛有著極其重要意義,對將來智能駕駛戰(zhàn)略也將做出突出的貢獻(xiàn)。
1 智能路牌識別控制系統(tǒng)的總體設(shè)計
本系統(tǒng)由基于嵌入式技術(shù)的前端采集、通信傳輸系統(tǒng)和遠(yuǎn)程云服務(wù)器識別系統(tǒng)組成。前端采集傳輸采用基于三星Cortex-A9架構(gòu)的核心板,配備一千萬像素攝像頭、語音播報模塊和4G通信模塊構(gòu)建智能路牌識別系統(tǒng)的硬件平臺。攝像頭采集含有路牌的圖像,由主控芯片對圖像進(jìn)行壓縮,壓縮后的圖像在4G模塊下通過SOCKET程序傳送到云服務(wù)器上。采用云平臺服務(wù)器作為智能路牌識別器的數(shù)據(jù)處理中心,在服務(wù)器上通過深度學(xué)習(xí)算法訓(xùn)練文字識別網(wǎng)絡(luò),將分割后的圖像在訓(xùn)練好的網(wǎng)絡(luò)上進(jìn)行識別,然后將得到的結(jié)果傳輸?shù)角岸耍ㄟ^語音模塊播報給使用者。智能路牌識別器的總體設(shè)計如圖1所示。
2 智能路牌識別控制系統(tǒng)的硬件設(shè)計
2.1 主控單元模塊
該模塊采用ARM9核心的處理器作為中央控制單元模塊,用它實現(xiàn)對前端采集系統(tǒng)各個單元模塊所采集的數(shù)據(jù)信息進(jìn)行匯總分析和處理,對各個功能模塊發(fā)出控制指令,協(xié)調(diào)整個系統(tǒng)穩(wěn)定運行。中央控制單元完成圖像采集,根據(jù)預(yù)先板載的壓縮算法程序完成圖像壓縮,通常可達(dá)到6:1的壓縮率,并發(fā)給云服務(wù)器,減小了傳輸時間,保證了信息傳輸?shù)膶崟r性。中央控制單元同時接收來自云服務(wù)器發(fā)送的識別結(jié)果,并將結(jié)果通過語音模塊反饋給使用者。
2.2 前端采集模塊
前端采集采用的是一千萬像素的CMOS高清攝像頭,它能夠清晰地拍攝前方場景信息,用于智能路牌識別系統(tǒng)對路牌信息的采集。得到的高清圖片存儲在中央控制單元,并由中央控制單元對其進(jìn)行處理。
2.3 無線通信模塊
無線通信模塊由外圍電路和4G通信芯片構(gòu)成,使用SOCKET通信和4G通信技術(shù),完成智能路牌識別系統(tǒng)和云端服務(wù)器的相互連接。在中央處理器模塊的控制下,前端采集壓縮的圖片在無線通信模塊的作用下發(fā)送給云端服務(wù)器,同時云端服務(wù)器將處理完成的信息通過無線傳輸模塊發(fā)送給中央控制單元,把結(jié)果實時反饋給使用者。
2.4 語音文字播報模塊
語音播報模塊主要作用是將云端服務(wù)器處理的路牌文字信息以語音播報的形式展現(xiàn)給駕駛者,使得駕駛者不用因環(huán)顧四周的路牌文字而分心。該模塊主要采用SYN6288中文語音合成芯片實現(xiàn)對語音文字的播報,把云端服務(wù)器發(fā)送的文本文字轉(zhuǎn)化為音頻信息。SYN6288語音芯片采用UART和SPI兩種通信方式,實現(xiàn)文本智能分析處理、多音字處理功能。該模塊的電路如圖2所示。
3 智能路牌識別控制系統(tǒng)的軟件設(shè)計
本系統(tǒng)軟件的設(shè)計由兩部分組成。一部分是前端ARM9加載Linux系統(tǒng)的設(shè)計,完成前端信息的采集壓縮、云端服務(wù)器通信和語音播報的功能。前端采集程序流程圖如圖3所示。
另一部分是在云端服務(wù)器上實現(xiàn)對采集圖像的預(yù)處理、檢測、分割和分類識別功能。云端服務(wù)器首先對前端發(fā)送的圖像解壓縮、預(yù)處理,利用支持向量機(SVM)算法檢測是否含有路牌。檢測到路牌之后對路牌區(qū)域進(jìn)行提取,對提取后的路牌進(jìn)行圖像處理,然后利用投影法對文字進(jìn)行分割,最后進(jìn)行文字識別。其中文字識別部分采用的是目前流行的深度學(xué)習(xí)框架——CAFFE框架,主要采用C++/CUDA高級語言來實現(xiàn)對深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練和文字的識別。云端服務(wù)器程序流程圖如圖4所示。
4 基于卷積神經(jīng)網(wǎng)絡(luò)的文字識別算法
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是深度學(xué)習(xí)領(lǐng)域的一個重要算法,在很多應(yīng)用上表現(xiàn)出卓越的效果[2-3]。目前字符識別算法有很多種,但對漢字的識別,特別是自然場景的文字識別都有一定的局限[4-5]。將多種文檔字符識別算法與CNN比較,會發(fā)現(xiàn)CNN算法比其他算法的效果都好。在本文的智能路牌識別系統(tǒng)中,主要利用CNN對日常生活中常見的3 000個漢字進(jìn)行訓(xùn)練然后識別。CNN是在BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)上改進(jìn)得到的,它們都是采用了向前傳播計算網(wǎng)絡(luò)的輸出值,通過誤差計算公式,向后傳播修正權(quán)重和偏置的值。與傳統(tǒng)的特征提取方法相比,CNN最大的改進(jìn)就是卷積神經(jīng)網(wǎng)絡(luò)是利用卷積核進(jìn)行特征提取,相鄰層之間不是全連接,而只是部分進(jìn)行連接,從而得到局部特征。在一個特征平面采用權(quán)值共享機制,很大程度上減少了權(quán)值的數(shù)量。
本文設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示,輸入的數(shù)據(jù)為一張40×40像素的圖片,第一層為卷積層,由64個3×3卷積核組成,每個卷積核都各自提取不同的一種特征,通過輸入與卷積核運算來提取圖像的局部特征。然后進(jìn)入池化層,在2×2的窗口中選取最大值作為一個輸出值,從而降低了數(shù)據(jù)維度。以此類推,計算第二層128個卷積核和第三層256個卷積核的卷積運算。全連接層分別采用4 096和3 000個1×1的卷積核進(jìn)行全連接來提取圖片文字的全局特征進(jìn)行分類。然后根據(jù)誤差輸出公式進(jìn)行誤差計算,反向進(jìn)行權(quán)值和偏置更新。為了防止過擬合,采用dropout對網(wǎng)絡(luò)權(quán)值和偏置進(jìn)行部分更新。反復(fù)進(jìn)行計算多次實現(xiàn)對網(wǎng)絡(luò)參數(shù)進(jìn)行訓(xùn)練的目的。
在智能路牌識別系統(tǒng)中,挑選日常常用的3 000個漢字進(jìn)行了訓(xùn)練,基于國家標(biāo)準(zhǔn)規(guī)定——道路路牌采用方正黑體格式漢字,實驗中通過計算機生成了相應(yīng)圖像數(shù)據(jù)。利用C#語言生成40像素×40像素的漢字圖片作為測試集和訓(xùn)練集,如圖6所示。
考慮到前端采集模塊在實際采集圖片時會出現(xiàn)各種干擾,如硬件發(fā)熱、外界環(huán)境干擾、光線的亮暗等因素的影響,使得圖像帶有噪聲點、圖片模糊、字跡不清或者產(chǎn)生旋轉(zhuǎn)和扭曲等狀況,因此,需將生成的每個漢字圖像進(jìn)行圖像處理,分別對其進(jìn)行各種隨機的噪聲點生成、腐蝕膨脹以及不同角度的旋轉(zhuǎn)和扭曲。這樣對每一個漢字圖片產(chǎn)生300張不同的圖片,獲得了更多的數(shù)據(jù)量,這樣測試集和訓(xùn)練集一共有900 000個數(shù)據(jù)。通過圖5所示的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
5 系統(tǒng)的測試與分析
由于現(xiàn)在路牌場景種類繁多,測試實驗中采用比較規(guī)范、應(yīng)用比較多、文字方向從左自右的路牌進(jìn)行實驗。如圖7(a)所示,對前端發(fā)送到服務(wù)器的圖像,先通過Canny算子邊緣檢測粗定位和MSER算法細(xì)定位,使用SVM算法來判斷是否含有路牌,判斷出路牌標(biāo)識后對圖像進(jìn)行路牌區(qū)域提取。
路牌區(qū)域提取采用基于HSI顏色空間的方法。基于我國以綠底和藍(lán)底作為路牌的背景,采用HSI空間中的H分量將路牌區(qū)域提取出來。本實驗將H參數(shù)設(shè)定在[150,190]區(qū)間,得出實驗結(jié)果如圖7(b)所示。
在文字檢測部分,采用Canny算子進(jìn)行邊緣檢測[6],提取漢字的邊緣,然后用形態(tài)學(xué)對漢字進(jìn)行處理,將文字與文字分開同時將文字的各個部分進(jìn)行連接,以便于進(jìn)行文字分割。在文字分割部分,采用投影法,根據(jù)像素值的特征進(jìn)行分割。首先對路牌進(jìn)行二值化處理,先進(jìn)行水平投影像素值相加,進(jìn)行行分割,分割效果如圖8所示。
然后豎直方向投影進(jìn)行像素值相加,進(jìn)行豎直方向分割,分割效果如圖9所示。通過連通區(qū)域算法分析得到各個文字區(qū)域,最后歸一化為40像素×40像素圖像,送入深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類識別。
采用本實驗設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu),將數(shù)據(jù)集的800 000個數(shù)據(jù)作為訓(xùn)練集,100 000個數(shù)據(jù)集作為測試集,在云服務(wù)器上迭代8 000次,得到99%的準(zhǔn)確率,測試的準(zhǔn)確率和損失值如圖10所示,當(dāng)?shù)螖?shù)達(dá)到900次左右時,準(zhǔn)確率趨于平穩(wěn),由此可見CNN在路牌漢字識別上具有優(yōu)勢和潛在的應(yīng)用價值。
6 結(jié)論
本文完成了智能路牌識別系統(tǒng)從硬件到軟件的設(shè)計,實現(xiàn)了硬件的圖像采集壓縮和軟件的圖像處理、區(qū)域檢測和文字分割,最后通過語音模塊播報給使用者的功能。該系統(tǒng)對駕駛者有十分重要的作用,并可運用在無人駕駛領(lǐng)域,對新世紀(jì)的智能交通也將做出突出的貢獻(xiàn)。本文系統(tǒng)未考慮前端動態(tài)拍攝時的模糊圖像處理問題,即當(dāng)車輛行駛太快情況下,前端采集的圖像可能會不清晰,這也是下一步將努力的方向。
-
機器視覺
+關(guān)注
關(guān)注
162文章
4378瀏覽量
120393 -
嵌入式技術(shù)
+關(guān)注
關(guān)注
10文章
360瀏覽量
36056 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5504瀏覽量
121221
原文標(biāo)題:【學(xué)術(shù)論文】基于深度學(xué)習(xí)的智能路牌識別系統(tǒng)設(shè)計
文章出處:【微信號:ChinaAET,微信公眾號:電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論