張文俊 李小蘭
關(guān)鍵詞:智能交通;車輛牌照識別技術(shù);MATLAB;圖像處理;形態(tài)學(xué)處理
0引言
隨著經(jīng)濟的不斷發(fā)展,汽車已成為人們交通出行的常用選擇。隨著車輛數(shù)量的增加,交通管理問題變得更加突出,智能化車輛管理成為道路交通管理的重點。在智能化車輛管理中,車輛牌照識別(VehicleLi?censePlateRecognition,VLPR)技術(shù)顯得尤為重要,可應(yīng)用于停車場管理、高速公路違法車輛監(jiān)控識別、小區(qū)智慧車輛管理等場景。車牌作為車輛的唯一標(biāo)識,是車輛的“身份證”,如何進行快速、實時、準(zhǔn)確的車輛牌照識別是關(guān)鍵。
要實現(xiàn)車輛牌照的精確識別,有多種方法可選:基于特征提取的方法[1]、基于模板匹配的方法[2]、基于分類器的方法[3]、基于神經(jīng)網(wǎng)絡(luò)的方法[4]等?;谔卣魈崛〉能嚺谱R別方法對于處理車牌畸變、傾斜或光照不均等復(fù)雜背景下的識別效果較好,但需要消耗大量計算資源,當(dāng)數(shù)據(jù)量過大時會導(dǎo)致識別速度變慢?;诜诸惼骱突谏窠?jīng)網(wǎng)絡(luò)的識別方法雖然能夠快速處理不同類型的車牌并識別字符,但需要大量訓(xùn)練數(shù)據(jù)和計算資源,并需要根據(jù)評估結(jié)果反復(fù)調(diào)整模型參數(shù)。而基于模板匹配的方法快速簡單,不需要大量數(shù)據(jù)作為訓(xùn)練支撐,因此本文選擇研究基于模板匹配的車輛識別方法??紤]到車牌圖像的角度、大小和字體等問題,本文引入結(jié)構(gòu)相似性度量(SSIM)值來計算字符的匹配程度,從而成功識別出車牌號碼。
1相關(guān)方法概述
在車牌號碼識別的過程中,圖像質(zhì)量的好壞直接影響最終識別結(jié)果的準(zhǔn)確率。為了改善圖像質(zhì)量,在處理車牌圖像時需要進行一系列的預(yù)處理操作,以去除背景噪聲和干擾信息。經(jīng)過預(yù)處理后,能夠增強圖像中目標(biāo)區(qū)域特征,有助于后續(xù)的車牌定位、分割和識別。
車牌區(qū)域的分割是識別過程中的關(guān)鍵步驟之一。文獻[5]提到了基于二值圖像像素分割的方法,利用閾值將圖像轉(zhuǎn)換為黑白形式,并通過標(biāo)記連通區(qū)域來實現(xiàn)分割。另外,文獻[6]利用極值區(qū)域和Top-Hat變換來分割車牌區(qū)域,通過判斷關(guān)聯(lián)區(qū)域來獲取特征,使得分割更準(zhǔn)確。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(CNN)、BP神經(jīng)網(wǎng)絡(luò)等模型[7]也被廣泛應(yīng)用于車牌字符的分割和識別,能夠自動學(xué)習(xí)和提取圖像中的特征,實現(xiàn)高精度的字符分割和識別。
在車牌定位方面,也有多種算法用于精確定位車牌位置。數(shù)學(xué)形態(tài)學(xué)方法通過膨脹和腐蝕等操作來提取車牌區(qū)域,而基于顏色的分割方法[8]則通過設(shè)定特定的顏色范圍來定位車牌。另外,基于紋理和特征的方法利用圖像中的紋理和邊緣信息來識別車牌位置。
對于車牌字符的識別,模板匹配是一種常用的方法,通過將待識別的字符與預(yù)定義的標(biāo)準(zhǔn)模板進行匹配來確定字符的類別。Gabor變換也被用于車牌字符的識別,通過提取特定頻率和方向的信息來進行識別。當(dāng)然,基于深度學(xué)習(xí)的方法也在車牌字符識別中得到廣泛應(yīng)用,能夠提高識別的準(zhǔn)確性和效率。
2總體設(shè)計方案
在本文中,車輛牌照識別系統(tǒng)的總體設(shè)計主要包括車輛圖像預(yù)處理、車輛區(qū)域的分割、車牌字符的分割和車牌字符的識別。首先,對采集到的車輛圖像進行預(yù)處理,去除部分會影響最終結(jié)果的噪聲和干擾信息。隨后,通過行列像素掃描定位車牌位置并粗略分割出車牌圖像,利用形態(tài)學(xué)方法去除車牌圖像的邊框,精準(zhǔn)定位到車牌字符區(qū)域。接著,通過垂直方向投影,結(jié)合字符的寬高比,選取合適的分割閾值進行車牌字符的分割。然后,建立字符模板庫,通過計算分割字符與模板字符的結(jié)構(gòu)相似性度量(SSIM)值來識別車牌號碼,最后輸出結(jié)果。總體流程如圖1所示,該過程采用MATLAB2019a軟件實現(xiàn),并在Windows10系統(tǒng)環(huán)境下完成。
2.1車輛圖像預(yù)處理
由于實驗數(shù)據(jù)獲取條件有限,采集到的自然圖像中包含大量干擾信息,如光照不均勻、空氣中的灰塵、非車輛物體噪聲等。為了消除圖像中噪聲對結(jié)果的影響,需要對采集到的圖像進行預(yù)處理。預(yù)處理過程包括:圖像灰度化、中值濾波、邊緣檢測和形態(tài)學(xué)圖像處理操作(腐蝕、閉操作、刪除小對象)。彩色圖像中的每個像素由R、G、B三個分量決定,為了降低計算量,對自然圖像進行灰度化處理。本文使用公式(1)所示的加權(quán)平均值法進行灰度化,并將灰度化后的圖像存儲下來便于后續(xù)操作。
其中,Gray為圖像的灰度值像素,R、G、B分別為圖像的紅、綠、藍三個通道對應(yīng)的像素值。計算出Gray灰度值后,將該灰度值賦給對應(yīng)位置,從而得到灰度圖像,如圖2所示。
灰度化處理后,對圖像進行濾波操作可以有效減少圖像中的噪聲。本文運用中值濾波器去除噪聲,改善了圖像質(zhì)量,同時保留了圖像的邊緣信息。中值濾波是一種常見的濾波方法,可以有效抑制椒鹽噪聲和脈沖噪聲等。
在完成圖像濾波后,本文采用Roberts算子進行邊緣檢測,以增強圖像中車輛的邊緣信息。Roberts算子,也稱為羅伯茨算子,是一種利用局部差分算子尋找邊緣的算子,通過計算對角線方向相鄰像素之差的近似梯度幅值來檢測邊緣,對垂直邊緣的檢測效果尤佳。在圖像中,車牌區(qū)域主要為矩形或類矩形區(qū)域,因此采用Roberts算子來增強車牌位置的邊緣信息,處理后的結(jié)果如圖3所示。
經(jīng)過邊緣檢測后,對圖像進行形態(tài)學(xué)處理。形態(tài)學(xué)圖像處理操作包括圖像腐蝕、膨脹、開運算、閉運算和擊中-擊不中變換。通過形態(tài)學(xué)操作,可以從圖像中提取有利于描述和使用的區(qū)域形狀,如邊界、骨架和凸殼等圖像分量。在本文中,主要使用了腐蝕、閉運算和刪除小對象操作。通過腐蝕,可以去除背景中的不連通區(qū)域,如樹木等。隨后采用閉運算平滑邊界,通過刪除小對象操作即可得到車牌區(qū)域,如圖3所示??梢钥吹剑ㄟ^腐蝕運算,圖像中雜亂的背景信息被有效去除;經(jīng)過閉運算,得到了較大的車牌連通區(qū)域以及小的背景干擾區(qū)域;最后,通過刪除小對象,得到了完整的車牌區(qū)域。通過形態(tài)學(xué)處理,可以有效消除圖像中非車牌位置的干擾信息,為后續(xù)的車牌定位和分割操作提供便利。
2.2車牌區(qū)域定位及分割
在得到僅包含車牌區(qū)域的二值圖像后,為了準(zhǔn)確地對車牌進行定位和分割,本文采用了行列像素掃描法。該方法通過逐行逐列地掃描圖像中的像素值,統(tǒng)計行和列上的像素變化情況,從而識別出車牌區(qū)域邊界。通過這種方式,可以獲取車牌區(qū)域的邊界坐標(biāo)信息,為后續(xù)的車牌定位和識別提供準(zhǔn)確的數(shù)據(jù)基礎(chǔ)。
根據(jù)多張圖像實驗結(jié)果,本文選擇分割的最佳閾值為35,超過該值時判定其為車牌區(qū)域。根據(jù)行和列的像素掃描結(jié)果,結(jié)合車牌的寬高比等信息,得出車牌區(qū)域的四個待分割邊界點坐標(biāo)。根據(jù)邊界點坐標(biāo)可以精準(zhǔn)地分割出車牌區(qū)域,如圖4所示。
2.3車牌字符分割
在獲取到車牌區(qū)域圖像之后,需要對其進行分割以獲得單獨的車牌字符圖像。由于采集角度的問題,車牌可能存在傾斜情況,從而影響字符識別的準(zhǔn)確率。
為了解決這個問題,本文采用Radon變換對圖像進行傾斜矯正。Radon變換是一種圖像處理技術(shù),通過將圖像投影到不同方向的線上,計算其投影值,然后整合得到變換后的圖像。Radon變換對圖像進行旋轉(zhuǎn)和平移等變換操作,實現(xiàn)圖像的傾斜矯正。通過Radon變換的應(yīng)用,我們可以將車牌圖像調(diào)整到正確的角度,從而提高后續(xù)字符識別的準(zhǔn)確率,其數(shù)學(xué)表達式如式(2)所示。
在對車牌圖像進行傾斜校正后,進行二值化操作以進一步簡化圖像并突出車牌字符特征。在車牌圖像中,除了車牌字符外,還包含間隔符“·”。為了更好地分割車牌字符,在分割前將間隔符去掉,得到非連通的車牌字符圖像,即每個字符在圖像中是相互獨立的。
接下來,為了更好地識別和定位車牌字符,本文采用水平方向上的垂直投影法。通過對垂直方向進行投影,生成一個垂直投影直方圖,如圖5所示。這個直方圖清晰地展現(xiàn)了每個字符在垂直方向上的分布情況。通過觀察這個直方圖,可以看到每個字符之間明顯存在一定的空隙,這些空隙為我們提供了字符間的位置信息。根據(jù)該位置信息結(jié)合字符寬度對車牌字符進行分割,分割后的車牌圖像如圖6所示。
2.4車牌字符識別
得到分割后的車牌字符圖像之后,本文通過計算圖像的相似性SSIM值來對車牌字符進行識別。在進行此步驟前建立了無干擾信息的車牌字符圖片模板庫,并將所有圖片進行歸一化操作,統(tǒng)一它們的像素值范圍和尺寸。接下來,將分割后的車牌字符圖像與模板庫中的圖像進行比較從而得到字符識別結(jié)果。
SSIM是結(jié)構(gòu)相似性度量指標(biāo),可以衡量兩種圖像之間的相似度。SSIM算法注重圖像的結(jié)構(gòu)相似性,對于不同字體的字形,可以更好地檢測出其細微差異。通過計算每張車牌字符圖像與模板庫中字符圖像的SSIM值,可以評估它們的相似度。SSIM值越接近1,表示兩個圖像越相似,即被識別的車牌字符與對應(yīng)的模板字符圖像越匹配。圖像SSIM值的計算公式如(3)、(4)所示。
式中,分別代表兩張圖像,為圖像的標(biāo)準(zhǔn)差,為圖像的均值,為0.01,為0.03,L為255。
計算車牌字符與模板字符的SSIM值,值越高說明兩張圖像越相似,匹配度越高,即可獲得對應(yīng)的字符。最終識別得到的結(jié)果如圖7所示。
3實驗結(jié)果展示
本文的實驗數(shù)據(jù)部分來源于網(wǎng)絡(luò),部分為采集拍攝的真實車輛圖像。為了避免造成隱私信息泄露,本文在進行實驗前對真實車輛號碼進行了處理。由于拍攝設(shè)備及環(huán)境影響,實驗用到的圖像數(shù)據(jù)存在像素模糊、大小不一等問題,從而導(dǎo)致算法分割后的車牌大小也不盡相同。因此,在進行實驗之前,先對實驗圖像通過最近鄰插值法進行處理,保證圖像數(shù)據(jù)大小的統(tǒng)一。本文中所展示的數(shù)據(jù)僅用于此次實驗,圖8展示了部分實驗圖片中的車輛原始圖像。
通過灰度化處理后,得到的車輛圖像如圖9所示。
圖10展示了通過車牌定位分割,以及進行Ran?don傾斜校正后的車牌圖像??梢钥吹皆撥嚺茍D像中車牌字符清晰,且角度正常,為后續(xù)的車牌字符分割提供了支持。
對圖10中的車牌圖像,采用垂直投影直方圖法對其進行分割,分割后的車牌字符圖像如圖11所示。
最終識別結(jié)果如圖12所示。從圖中可以看出,本文采用的方法能夠準(zhǔn)確識別車牌號碼。其中,部分圖片由于車牌占整個圖像比例大,車牌定位更加精準(zhǔn);但也存在部分圖片因車輛玻璃反光等干擾信息導(dǎo)致預(yù)處理后圖像存在噪聲,因此定位相對不夠精準(zhǔn)。然而,在腐蝕閉運算等形態(tài)學(xué)操作處理下,也能正確定位并識別出車牌字符。最后,通過模板匹配成功識別出車牌號碼。
4結(jié)論
本文主要對車輛牌照識別整個過程進行了研究,在MATLAB軟件中實現(xiàn)了車輛圖像預(yù)處理、車牌定位與分割、車牌字符分割處理、車牌字符識別。通過對包含車輛的自然圖像進行預(yù)處理,增強車牌特征信息,然后采用行列像素掃描法分割得到車牌區(qū)域;通過垂直投影直方圖法對間隙進行分割得到車牌字符圖像;隨后建立車牌字符模板庫,通過計算待識別車牌字符圖像與模板庫中字符圖像的SSIM值來完成識別。最后,通過實驗驗證了本文使用的方法能夠準(zhǔn)確快速地識別出車牌號碼。
對于車牌的模板匹配,一開始采用的是計算兩張圖像的絕對差值,值越小則匹配度越高。然而,對于歪曲字符,由于其結(jié)構(gòu)變換或圖像角度等問題,導(dǎo)致匹配結(jié)果錯誤。而SSIM對于字形細微差異比較敏感,因此選擇了SSIM值來判斷。最后的實驗結(jié)果也表明該方法具有一定的魯棒性。