凌 翔,賴 錕,王昔鵬
(合肥工業(yè)大學(xué) 汽車與交通工程學(xué)院,安徽 合肥 230009)
車輛牌照識別(License Plate Recognition,LPR)系統(tǒng)主要應(yīng)用于智能交通系統(tǒng),是智能交通領(lǐng)域的重要研究課題之一[1-2]。車牌定位、字符分割和字符識別是車牌識別系統(tǒng)的3項主要技術(shù),而車牌識別更是其中的關(guān)鍵環(huán)節(jié)。目前,車牌識別技術(shù)主要有基于模板匹配的車牌識別方法[3- 5]、基于機器學(xué)習(xí)的車牌識別方法[6-8]以及基于上述方法的組合運用[9]等。
基于模板匹配的方法主要通過比較模板圖像和實際圖像的相似度來判定識別結(jié)果。在實際應(yīng)用中,基于模板匹配的方法操作簡單,且能夠保證較高的識別率,應(yīng)用非常廣泛。然而,基于模板匹配的方法對噪聲很敏感,其識別正確率隨著光照強度、字符清晰度和字符大小的變化而波動,穩(wěn)定性較差,當(dāng)天氣和環(huán)境較差或車牌污損嚴重時,車牌識別的準確率將嚴重下降?;跈C器學(xué)習(xí)的車牌識別方法可細分為淺層學(xué)習(xí)(Shallow Learning)和深度學(xué)習(xí)(Deep Learning)?;跍\層學(xué)習(xí)的方法包括BP神經(jīng)網(wǎng)絡(luò)、支持向量機(SVM)等,此類方法需要通過預(yù)先訓(xùn)練大量樣本數(shù)據(jù),利用車牌字符的結(jié)構(gòu)、紋理、邊緣等特征提取出信息,而樣本數(shù)據(jù)的構(gòu)建和提取特征的方法直接影響到該方法的準確率?;谏疃葘W(xué)習(xí)的識別方法包括CNN神經(jīng)網(wǎng)絡(luò)、限制玻爾茲曼機(RBM)等,此類方法需要構(gòu)造多層網(wǎng)絡(luò)對整幅圖像進行深度學(xué)習(xí)訓(xùn)練,但需對大量參數(shù)進行訓(xùn)練,計算時間相對較長,無法滿足智能交通系統(tǒng)實時、快速處理的要求。
在自然場景中,車牌識別系統(tǒng)全天候工作,導(dǎo)致車輛圖像采集受光照、車速、天氣情況(霧、雨、雪)影響,這些因素都在一定程度上增加了車牌準確識別的難度。為此,筆者在前人研究的基礎(chǔ)上提出一種基于改進的頂帽重構(gòu)和模板匹配方法的車牌識別算法:首先,采用改進的頂帽變換[10]和投影分割算法[11]將字符圖像從復(fù)雜的車牌背景中提出來;然后,基于字符圖像全局相似度,將字符圖像與模板庫進行匹配,識別車牌圖像。
實際獲取的車牌圖像,受到光照不均、車牌污損和車牌變形等因素的影響,不利于對車牌單個字符信息的提取,必須通過對其進行預(yù)處理消除圖像噪聲干擾,增強字符圖像拓撲信息,提高車牌圖像的信噪比。具體流程如圖1。
圖1 車牌預(yù)處理流程
Fig. 1 Pretreatment process for classifying license plate
為了進一步將車牌字符信息從復(fù)雜的車牌背景中提取出來,還需對圖像進行灰度變換和二值化處理。直接對自然條件下拍攝的車牌圖像進行灰度變換和二值化處理,往往達不到理想的效果。例如在晴天拍攝時,由于自然光照射角度的不同,使車牌圖像發(fā)生部分區(qū)域反光或車牌邊框陰影遮蓋字符的現(xiàn)象。這類圖片在二值化處理時可能會出現(xiàn)字符變形、粘連、細節(jié)模糊等情況,從而影響字符識別的準確率。如圖2,輸入灰度圖像LA,使用最大類間差分法(OTSU)二值化處理后得到圖像LB,圖像LB中含有大量的噪聲。
圖2 二值化效果Fig. 2 Binary results
在實際操作過程中,OTSU屬于基于全局閾值的二值化算法,對噪聲敏感。而基于局域閥值的二值化算法易引入噪聲,且耗時較長。筆者使用一種替代方法:首先使用頂帽重構(gòu)補償灰度圖像不均勻的背景亮度,凸顯圖像上的文字,然后使用OTSU進行二值化處理。頂帽重構(gòu)是一種基于數(shù)學(xué)形態(tài)學(xué)的變換方法,屬于非線性濾波器。其能抑制噪聲、提取特征和分割圖像。頂帽變換如式(1):
Top_hat(A)=A-RA(AΘB)
(1)
式中:RA(AΘB)為圖像A和結(jié)構(gòu)元B的形態(tài)學(xué)開運算重構(gòu)。形態(tài)學(xué)開運算的操作是先腐蝕再膨脹。開運算可去除圖像中較小的亮點,但開運算中的膨脹過程會使字符形狀變形。因此,可用重構(gòu)代替膨脹來做開運算。結(jié)構(gòu)元B形狀和尺寸的選取直接影響頂帽重構(gòu)處理的效果。若尺寸過大,達不到均勻背景灰度的效果。若尺寸過小,車牌字符可能會被識別為背景,使得有效信息被刪除。
對不同情況,應(yīng)使用不同結(jié)構(gòu)元素進行灰度平滑。筆者依據(jù)我國車牌標準規(guī)范,通過對多幅車牌圖像的試驗,提出一種有效的結(jié)構(gòu)元尺寸計算方法。根據(jù)粘連部分寬度最大值為2個字符間距,結(jié)構(gòu)元B的寬度以第2個字符和第3個字符間的寬度為基準,結(jié)構(gòu)元B的高度以字符高度的1/5為基準。已知:輸入圖像的寬度為W;車牌字符間隔寬度與原始圖像之比為α;字符高度與車牌高度之比為β。α、β取值與車牌傾斜角度等有關(guān)。經(jīng)過適當(dāng)傾斜矯正后,α、β取值一般變化不大,可根據(jù)具體情況對多幅圖像進行統(tǒng)計估算。由此,結(jié)構(gòu)元B的尺寸可用式(2)計算:
(2)
式中:α=12/440=0.025;β=90/440=0.20。
利用結(jié)構(gòu)元在輸入圖像LA中的具體操作步驟如下:
步驟1圖像背景灰度值均勻化
為了使圖像背景的灰度值均勻化,采用上述單位矩陣結(jié)構(gòu)元對圖像LA進行腐蝕,然后將其與原圖像進行重構(gòu),得到圖像LC。將原圖像LA減去重構(gòu)后的圖像LC生成一幅背景灰度值較均勻的圖像LD。
步驟2求灰度圖像LD的灰度直方圖
以灰度值Gray為閾值T將灰度直方圖分成兩組并計算兩組的方差。當(dāng)兩組之間方差最大時,閾值T=Gray。將灰度圖像LD以閾值T轉(zhuǎn)化為二值圖像,得到圖像BW。
步驟3使用形態(tài)學(xué)開運算消除車牌圖像BW內(nèi)孤立的噪聲點
通過對多幅車牌圖像進行試驗,噪聲點面積最大值取標準字符數(shù)字1面積大小的一半,即車牌圖像面積的1/200,處理后得到圖像BW1。二值化過程如圖3。
圖3 頂帽重構(gòu)和二值化處理過程Fig. 3 Top-hat reconstruction and binaryzation
經(jīng)過二值化處理后的車牌圖像需進行分割,得到含有單個字符信息的圖像。傳統(tǒng)的投影分割法可能出現(xiàn)邊框與字符粘連造成分割失效的情況。對車牌圖像垂直投影,當(dāng)兩側(cè)邊框過寬或出現(xiàn)邊框與字符粘連時,分割失敗的幾率更大。針對以上情況,筆者對傳統(tǒng)投影分割法進行了改進,具體步驟如下:
步驟1沿水平方向分割車牌圖像
首先將二值化后的車牌圖像沿水平方向投影,因車牌邊框的影響,投影直方圖兩側(cè)可能有兩個明顯的波谷,從波谷處截去上下邊框區(qū)域即可去除上下邊框。為了盡可能獲得更多有效區(qū)域,筆者通過從直方圖中間向兩邊搜索的方式尋找波谷。
步驟2沿豎直方向分割車牌圖像
因車牌字符之間有明顯空隙,根據(jù)我國車牌標準規(guī)范,設(shè)計了一個車牌字符模板框,模板框有13個空格,具體如圖4。
圖4 車牌字符模板框Fig. 4 License plate character template box
圖中:z1、z2、z3、z4、z5、z6、z7的空格為車牌字符位置,其他為車牌空隙位置;模板框高l為水平分割后車牌圖像高度;z=0.5l;k=12l/90;t=34l/90。將字符模板框沿水平方向在車牌二值圖像上移動,統(tǒng)計編號k1、k3、k4、k5、k6空格內(nèi)的像素數(shù)Ki(i=1、3、4、5、6)。若Ki小于閾值Tk,則停止移動模板框,此時編號為z1、z2、z3、z4、z5、z6、z7的空格內(nèi)字符即為分割出的車牌字符。閾值Tk可由試驗統(tǒng)計獲得。筆者取閾值Tk=100,分割后的車牌如圖5。
圖5 車牌分割后效果Fig. 5 Effect after license plate segmentation
步驟3背景修正
經(jīng)過分割后的車牌字符一般會偏離圖像中心位置,進而對字符匹配準確率產(chǎn)生影響。因此,需對字符圖像背景進行修正,去除冗余背景,填充有效背景。修正過程如下:
1)標記圖像中連通域的位置,找到連通域質(zhì)心坐標(row,col)。
2)從中心出發(fā),對字符邊界進行搜索,以搜索圖像左邊界為例,對圖像進行列求和得到函數(shù)f。
3)從質(zhì)心橫坐標col開始向左搜索,當(dāng)函數(shù)f小于2時停止,記錄下坐標left-side。
4)通過圖像的4個邊界將字符從不規(guī)則的背景邊框截取出來,給圖像添加一個邊長為2個像素的邊框。
5)使用雙線性插值法將圖像大小歸一化。
筆者使用的模板圖片大小為50×25,修正后的圖片如圖6。
圖6 字符圖像修正后的效果Fig. 6 Effect after character-image background correction
使用模板匹配法對分割后的字符圖像進行識別。該方法是將待識別的字符與模板庫中的字符進行比對,將相似度最高的模板字符確定為識別結(jié)果。該方法的本質(zhì)是通過計量輸入模式與樣本之間的某種相似性,取樣本中相似性最大者為輸入模式所屬類別。
常見的模板匹配方法通過比較字符與模板的前景像素相似度來識別字符圖像。這類方法忽略了背景像素中隱含的字符拓撲信息,對相似字符識別率較差,當(dāng)字符前景像素受到噪聲干擾造成前景像素缺失時,可能造成兩個字符匹配程度相同,如“0”和“D”,“C”和“G”等。針對以上情況,通過比較字符圖像與模板圖像前景和背景的相似度,使字符圖像類間差異最大化,提出了全局相似度函數(shù),如式(3):
(3)
式中:f為模板二值圖像;g為字符圖像;⊕為異或運算符;~為取反運算符。f與g大小一致,其值與M×N大小相等。
為測試預(yù)處理方法的有效性,隨機拍攝獲得車牌圖像200幅。其中多數(shù)圖像的拍攝地點為公園停車場、校園、路邊等,拍攝的環(huán)境條件為晴天和夜晚等多種自然狀況。為了獲得背景照度不均的車牌圖像,晴天拍攝時采取逆光拍攝的方法,夜晚拍攝時使用閃光燈輔助拍攝。涉及算法在MATLAB 2012b軟件平臺上編程實現(xiàn)。實驗用計算機配置為win7系統(tǒng)、Intel(R)G3260 CPU、8G內(nèi)存。使用筆者提出的算法和OTSU方法分別對200幅車牌圖像進行對比測試,預(yù)處理后的二值化圖像字符完整且不含有大面積噪聲的為處理成功。測試結(jié)果如表1。
表1 預(yù)處理測試結(jié)果Table 1 Pretreatment test results
部分測試效果對比如圖7,傳統(tǒng)的全局閾值二值化算法在處理背景照度不均的車牌圖像時會引入大量噪聲,而筆者提出的方法可以有效消除由背景照度不均引起的噪聲,并有效提取車牌字符信息。
圖7 預(yù)處理效果比較Fig. 7 Comparison of pretreatment effect
使用模板匹配方法識別車牌過程中,當(dāng)二值化效果不理想時,圖像內(nèi)的字符會產(chǎn)生變形,極大增加字符識別難度。為了測試筆者提出的模板匹配函數(shù)的有效性,設(shè)計一個變形字符樣本集合,模擬二值化過程中由于車牌背景照度不均使字符圖像產(chǎn)生的變形的情況,將車牌字符二值化后產(chǎn)生的變形分類,并量化了變形規(guī)律。在車牌識別系統(tǒng)中,漢字的識別具有一定的特殊性,與數(shù)字和字母的識別過程是區(qū)分開的。筆者針對34個數(shù)字和字母的字符圖像采取添加傾斜角度、模糊字符圖像和添加噪聲的手段,生成了3 200幅二值化變形字符圖像,并將這些圖像組成測試樣本集合。部分變形字符圖像如圖8。
圖8 樣本圖像Fig. 8 Sample image
對樣本圖片進行測試,設(shè)計了3組對比實驗:第1組使用全局重合度函數(shù);第2組使用傳統(tǒng)匹配函數(shù)[5];第3組使用重合度的最小標準差函數(shù)[4]。具體測試結(jié)果如表2。
表2 樣本測試結(jié)果Table 2 Sample test results
全局重合度函數(shù)的識別率為77.86%,高于其他兩組實驗。實驗證明,筆者提出的基于全局重合度的匹配函數(shù)有效提高了字符信息的利用效率,從而提升了字符識別的效率。
車牌字符識別是車牌識別系統(tǒng)中公認的技術(shù)難題之一。筆者針對車牌識別過程二值化、字符分割和字符匹配問題進行研究,基于MATLAB平臺設(shè)計了車牌識別算法。首先通過對灰度車牌使用頂帽重構(gòu)來均衡灰度圖像背景光照,然后使用最大類間差分法求取閾值對圖像進行二值化。通過對200幅實景拍攝的圖像進行驗證,筆者提出的預(yù)處理方法取得了較好的二值化效果。在此基礎(chǔ)上,改進了車牌字符分割方法和模板匹配的重合度函數(shù),并與傳統(tǒng)的匹配函數(shù)進行比較。測試結(jié)果表明,筆者提出的全局重合度函數(shù)取得了較好的識別效果。