摘 要:車牌識(shí)別系統(tǒng)在我國智慧交通系統(tǒng)中起著重要作用。為解決識(shí)別不精準(zhǔn)、易受環(huán)境影響等問題,本文設(shè)計(jì)一種基于BP神經(jīng)網(wǎng)絡(luò)的智慧車牌識(shí)別系統(tǒng),該系統(tǒng)主要包含車牌圖像預(yù)處理模塊、BP神經(jīng)網(wǎng)絡(luò)模塊和GUI用戶界面模塊。通過MATLAB仿真,得出該系統(tǒng)可以在較為復(fù)雜的環(huán)境中識(shí)別車牌,并實(shí)現(xiàn)了在可視化用戶界面進(jìn)行數(shù)字圖像的可視化操作。
關(guān)鍵詞:車牌識(shí)別 BP神經(jīng)網(wǎng)絡(luò) 圖像處理 GUI界面
0 引言
隨著機(jī)器視覺與模式識(shí)別等技術(shù)的迅速發(fā)展,智慧車牌識(shí)別技術(shù)在現(xiàn)代智慧交通中發(fā)揮了重要作用。車牌識(shí)別技術(shù)包括模式識(shí)別技術(shù)、信號(hào)處理技術(shù)以及圖像處理技術(shù)等 , ,廣泛應(yīng)用于智慧停車場、違章檢測、車流監(jiān)控等方面。但目前車牌識(shí)別技術(shù)仍存在準(zhǔn)確度低,易受環(huán)境影響等問題。神經(jīng)網(wǎng)絡(luò)具有容錯(cuò)率低和適應(yīng)性強(qiáng)的特點(diǎn),并具備良好的建模和數(shù)據(jù)分析能力,為解決這一難題提供了出口。
本文在MATLAB環(huán)境下,基于BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)了一種智慧車牌識(shí)別系統(tǒng),整個(gè)系統(tǒng)包括車牌圖像預(yù)處理模塊、BP神經(jīng)網(wǎng)路模塊以及GUI用戶界面模塊,通過樣本圖像的搜集和數(shù)據(jù)庫的建立,在對目標(biāo)圖像進(jìn)行圖像預(yù)處理等操作的基礎(chǔ)上,通過與樣本圖像庫的比對,得到車牌識(shí)別結(jié)果。
1 車牌圖像預(yù)處理
1.1 車牌灰度化
在圖像處理中,將真彩色圖像通過RGB的三種分量進(jìn)行顯示(R:Red,G:Green,B:Blue)。在MATLAB環(huán)境中,使用RGB2gray函數(shù),將RGB真彩色圖像通過一系列處理后變換成單通道的灰度圖像。在車牌識(shí)別中處理的顏色信息比較少,為了提高識(shí)別的快速性,一般都會(huì)將彩色車牌圖像進(jìn)行灰度化,根據(jù)如下公式計(jì)算每個(gè)像素點(diǎn)的灰度值:
灰度值==0.299R+0.587G+0.114B (1)
1.2 圖像增強(qiáng)
由于黑暗條件下環(huán)境影響等問題,圖像拍攝的清晰度不高,因此需要圖像增強(qiáng)技術(shù)提高圖像的清晰度。通過調(diào)整圖像的亮度、對比度、色彩等屬性,可以突出顯示感興趣的特征,降低噪聲,提高圖像的清晰度、對比度和可讀性。本文通過直方圖均衡化實(shí)現(xiàn)圖像的增強(qiáng)。直方圖均衡化的基本原理是:通過對在同一視覺畫面中像素?cái)?shù)量多的灰度值(即對視覺畫面起作用的灰度值)加以展寬,而對像素?cái)?shù)量少的灰度值(即對視覺畫面不起作用的灰度值)加以歸并,以便提高反差,從而使視覺畫面更加清晰,起到強(qiáng)化的目的。而通過調(diào)整直方圖均衡后的視覺畫面明暗對比得到了明顯提高,質(zhì)量得以增強(qiáng)。
1.3 邊緣檢測
邊緣提取在車牌識(shí)別系統(tǒng)中對車牌位置的檢測有著非常重要的作用,常用的邊緣檢測算子有Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、log算子和Canny算子等。Canny算子相比于Sobel,Prewitt,Laplacian 算子,根據(jù)邊緣梯度方向?qū)崿F(xiàn)了非極大值的抑制,同時(shí)解決了雙閾值的滯后問題[3],是圖像邊緣檢測算法中最為典型,先進(jìn)的算法之一。據(jù)實(shí)驗(yàn)分析,Canny算子對弱邊緣的檢測相對精確,能更多地保留車牌區(qū)域的特征信息,因此本文采用Canny算法實(shí)現(xiàn)邊緣檢測。Canny算子在邊緣檢測中有信噪比和定位精度兩個(gè)判別指標(biāo)。信噪比越大,提取的邊緣質(zhì)量越高。
1.4 車牌定位及分割
使車牌區(qū)域具有明顯的特征,因此根據(jù)車牌顏色和字符顏色的知識(shí),用先膨脹后腐蝕的開運(yùn)算數(shù)字形態(tài)學(xué)濾波,統(tǒng)計(jì)面積分布,顯示區(qū)域總數(shù),從而確定車牌邊界,準(zhǔn)確定位車牌區(qū)域。同時(shí),選取常見的藍(lán)底白字白框線車牌,通過藍(lán)色車牌閾值進(jìn)行車牌的分割。
1.5 車牌傾斜調(diào)整
由于拍攝角度以及車輛位置不同而造成拍攝圖片傾斜等差異,車牌水平方向投影和垂直方向投影不能正常運(yùn)行。因此,在車牌分割后,調(diào)用拉東(radon)變換進(jìn)行水平方向的投影,令 R 為拉東變換算子,則 Rf(x,y) = R (s,α) 的定義如下[4]:由于狄拉克δ函數(shù)的限制,沿著直線 x cosα+y sinα = s 進(jìn)行積分。CT 掃描可以沿任意法方向 α、與原點(diǎn)成任意距離 s 的直線[5]。通過拉東變換得到車牌的傾斜角度,調(diào)用imrotate函數(shù)對車牌圖像進(jìn)行旋轉(zhuǎn)校正。
1.6 字符分割
將7個(gè)字符分別從車牌圖像中分割出來。按照圖像的大小,設(shè)定閾值,通過字符寬度和閾值相同則切割的方法,設(shè)置圖像y軸,檢測圖像x軸,將7個(gè)字符逐一分離出來。分割出來的字符尺寸需要與樣本圖像中的字符尺寸相匹配,以便后續(xù)通過BP神經(jīng)網(wǎng)絡(luò)進(jìn)行字符識(shí)別。
2 BP神經(jīng)網(wǎng)絡(luò)進(jìn)行字符識(shí)別
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),是應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一[6] 。本文將通過BP神經(jīng)網(wǎng)絡(luò)進(jìn)行字符識(shí)別。BP神經(jīng)網(wǎng)絡(luò)包括兩個(gè)過程,分別是信號(hào)前向傳播和誤差反向傳播。通過前向傳播得到預(yù)測結(jié)果,反向傳播對權(quán)重和偏置進(jìn)行調(diào)整。 本文的神經(jīng)網(wǎng)絡(luò)模型如圖2所示,將數(shù)字圖像的像素值輸入。由于圖像的尺寸是24×12,因此將輸入層單元設(shè)置為288個(gè)(不包含始終輸出+1的額外偏置單位),隱藏層單元設(shè)置為30個(gè)。通過對所有樣本的代價(jià)進(jìn)行求和,實(shí)現(xiàn)前饋計(jì)算。運(yùn)用正規(guī)化神經(jīng)代價(jià)函數(shù)進(jìn)行邏輯回歸,利用fmincg函數(shù)和sigmoid函數(shù)分別進(jìn)行最優(yōu)化參數(shù)的求解和梯度下降。在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),隨機(jī)初始化神經(jīng)網(wǎng)絡(luò)的參數(shù),本次采用epsilon_init =0.12,此值范圍可確保參數(shù)保持較小并提高學(xué)習(xí)效率。反向傳播時(shí),通過最小化代價(jià)函數(shù)對參數(shù)進(jìn)行梯度檢驗(yàn)。同時(shí),為了獲得更高的訓(xùn)練精度,將MaxIter設(shè)置為500,隨著迭代次數(shù)的增加,樣本代價(jià)逐漸降低,神經(jīng)網(wǎng)絡(luò)模型與訓(xùn)練集也逐漸適配。
3 MATLAB仿真實(shí)現(xiàn)及GUI用戶界面
為了提高車牌字符識(shí)別的準(zhǔn)確性和效率,將對圖像進(jìn)行了一系列預(yù)處理操作。這包括將彩像轉(zhuǎn)換為灰度圖像,以便減少后續(xù)處理的復(fù)雜性并突出必要的特征。緊接著,進(jìn)行了圖像增強(qiáng),以改善圖像質(zhì)量,增強(qiáng)對比度,為邊緣檢測創(chuàng)造更有利的條件。在完成上述基礎(chǔ)步驟后,我們采用了邊緣檢測算法來識(shí)別和突出車牌區(qū)域的邊緣,這是字符分割和識(shí)別的關(guān)鍵步驟。下面給出部分車牌圖像識(shí)別結(jié)果。在MATLAB環(huán)境下進(jìn)入GUI用戶界面,通過從左至右,從上至下按鈕以及圖片位置的擺放和布局,包括車牌原始圖片、灰度化、圖像增強(qiáng)、邊緣檢測、車輛定位、車牌預(yù)處理、字符分割等窗口。在程序運(yùn)行及訓(xùn)練后,可實(shí)現(xiàn)通過功能按鈕在數(shù)字圖像中進(jìn)行可視化操作。
4 結(jié)論
本文設(shè)計(jì)了一個(gè)基于BP神經(jīng)網(wǎng)絡(luò)的汽車車牌識(shí)別系統(tǒng)。從圖像采集到車牌定位,再到字符分割和識(shí)別,每個(gè)環(huán)節(jié)都采用了有效的技術(shù)和方法。在進(jìn)行字符識(shí)別的過程中,隨著迭代時(shí)間的增長,系統(tǒng)誤差逐步降低并趨于穩(wěn)定,識(shí)別結(jié)果也越來越精確,可以實(shí)現(xiàn)在不同環(huán)境影響下準(zhǔn)確進(jìn)行車牌識(shí)別。同時(shí),通過樣本圖像數(shù)據(jù)庫的不斷完善,進(jìn)行大量測試后的結(jié)果證明該車牌識(shí)別系統(tǒng)功能良好。
基金項(xiàng)目:廣西師范大學(xué)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(S202410602140);廣西自然科學(xué)面上項(xiàng)目(2022GXNSFAA035487)。
參考文獻(xiàn)
[1]梁凱.基于MATLAB的汽車車牌識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:黑龍江大學(xué),2018.
[2]魯揚(yáng).基于BP神經(jīng)網(wǎng)絡(luò)的車牌識(shí)別算法研究[D].大慶:東北石油大學(xué),2018.
[3]陳超.基于Linux的手持式電子助視器軟件系統(tǒng)設(shè)計(jì)和開發(fā)[D].浙江:浙江工業(yè)大學(xué),2020.
[4]Minlos, R.A., Radontransform, (編)Hazewinkel, Michiel,數(shù)學(xué)百科全書, Springer, 2001,ISBN978-1-55608-010-4.
[5]咸志杰,儲(chǔ)若男,方芹芹,等.基于混合BP神經(jīng)網(wǎng)絡(luò)的車牌識(shí)別研究[J].信息技術(shù)與信息化,2021(02):85-88.
[6]聞新,張興旺,朱亞萍,等.智能故障診斷技術(shù):MATLAB應(yīng)用[J].北京:北京航空航天大學(xué)出版社,2015.09.
[7]聞新編著.應(yīng)用MATLAB實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)[M].北京:國防工業(yè)出版社出版,2015:95.