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