張松蘭
(蕪湖職業(yè)技術學院 安徽省蕪湖市 241006)
隨著工業(yè)化進程的深入和人民生活水平的提高,人們對汽車等交通工具的需求日益增加。汽車已經成為人們日常出行的主要交通工具,隨著車輛數(shù)量的增加,車輛的流動也不斷增大,城市面臨著交通擁擠及交通環(huán)境日趨惡化等交通問題[1],為了實現(xiàn)城市的可持續(xù)發(fā)展,城市交通管理現(xiàn)代化和高速公路智能化程度的提高勢在必行,迫切地需要高科技技術來提高交通管理的力度和水平,因此智慧城市[2]的發(fā)展成為當今城市發(fā)展的潮流。
智慧城市利用先進的信息技術實現(xiàn)智慧化地管理城市,為人們創(chuàng)造和諧美好而便捷的生活。而車牌識別系統(tǒng)是智能城市的組成部分之一,采用數(shù)字圖像處理、模式識別和計算機視覺技術,在不影響車輛行駛的條件下,準確而迅速地獲得車輛的數(shù)字化信息,最終實現(xiàn)車輛的智能化管理。
車牌識別系統(tǒng)是一個由監(jiān)控設備或攝像頭采集汽車圖像,經模式識別后判別出車牌上的字符為目的的計算機視覺系統(tǒng)。完整過程為:首先從采集到的車輛圖像中自動定位到車牌圖像,再由定位到的車牌圖像完成車牌上各個字符的分割,最后運用模式識別技術準確地識別出車牌中的漢字、字母和數(shù)字字符,實現(xiàn)車輛的智能化監(jiān)控和管理。因而車牌的識別過程[3-4]為:先將采集到的原始圖像經預處理去除干擾后,再從整車圖像中定位出車牌的圖像,然后把定位出的車牌圖像分割出單個字符,最后將分割出的各字符識別出來再合成一個完整的車牌號,其流程圖如圖1 所示。
車牌圖像一般通過攝像機來采集,由于受外界環(huán)境和拍攝角度等影響,獲取的圖像會有光照、傾斜、陰影等多種干擾因素,這給車牌識別造成干擾,因而需要進行預處理,包括對圖像灰度化、灰度拉伸,增強對比度、圖像二值化、圖像傾斜及濾波平滑處理以去除更多的干擾信息[4]。
車牌定位是從車輛復雜的完整圖像中將車牌區(qū)域分辨出來,完成車牌區(qū)域的定位,這是車牌識別系統(tǒng)的第一步工作。在車牌定位中常見的定位算法有基于特征的算法如顏色特征和邊緣特征,有基于數(shù)學形態(tài)學的算法,還有基于機器學習的算法如支持向量機、小波變換、遺傳算法、聚類分析、神經網(wǎng)絡及基于混合特征的車牌定位算法等。

圖1:車牌識別系統(tǒng)流程圖
此方法一般是根據(jù)車牌中字符和車牌底色的顏色中尋找車牌的周邊區(qū)域,由于采集的車牌圖像一般是RGB 圖像,三個顏色分量均在0~255 之間,且三色間的相關性較強,在此空間進行顏色定位比較麻煩,因此常將RGB 空間通過模型變換成HSV 空間中[5-7]。H表示顏色的色調分量(hue),S 為顏色的飽和度(saturation)V 表示顏色的明亮度(value)再根據(jù)車牌底色與H、S、V 之間的關系,提取車輛的底色圖像,過濾掉其他顏色的背景圖像,從而可在車牌圖像中大幅度縮小車牌的搜索區(qū)域。這種定位方法當車身或周側環(huán)境顏色和車牌顏色相差較大時,檢測定位準確度很高;但兩者顏色相近或車牌顏色褪色時要實現(xiàn)準確定位比較難,同時這種基于顏色的定位方法還會受到光照影響,造成定位效果不佳[8]。
數(shù)學形態(tài)學(Mathematical Morphology)是用具有一定形狀特征的矩陣元素去和車輛圖像做膨脹、腐蝕及其組合運算[9-10],從而去除圖像中的相應區(qū)域,它可在保持原有圖像形狀的基礎上,提取出圖像的目標區(qū)域,達到簡化圖像數(shù)據(jù)的作用。在車牌定位處理中首先將車輛的彩色圖像轉換成二值化圖像,然后對二值化圖像進行膨脹腐蝕等操作,實現(xiàn)區(qū)域圖像的鮮明對比。通過形態(tài)學操作后能排除大部分復雜背景圖像區(qū)域,有效提高了車牌定位速度。
邊緣檢測是圖像處理和計算機視覺中獲取圖像特征的一種有效手段,利用圖像中像素點的對比度來判別圖像中的邊界區(qū)域。一般用于圖像某一局部區(qū)域內像素灰度有顯著變化之處。我國現(xiàn)有車牌有藍底白字、黃底黑字組合以及白底黑字組合等,這些汽車車牌區(qū)域中字符顏色和車牌底色均有比較大的差異,而我國汽車車牌首字符一般為漢字,其后為字母和數(shù)字的組合,字符邊緣呈現(xiàn)規(guī)則的紋理特征,因而采用邊緣檢測方法來突出圖像中的車牌區(qū)域實現(xiàn)車牌的定位。常用的邊緣檢測算子[11]有Roberts、Prewitte、Sobel、Canny 等。
Roberts 算子是一個2x2 局部差分算子,在垂直邊緣方向的檢測效果較好,但檢測過程中會丟失一部分邊緣,且未對圖像進行平滑處理,對噪聲敏感。Prewitte 算子是一階微分算子,由算子與車輛圖像進行卷積運算后,得到圖像相鄰像素點的灰度差極值,去掉圖像的部分偽邊緣,對圖像邊緣的噪聲起到平滑濾波作用。Sobel算子[12]是一個兩組3x3 矩陣,將兩組矩陣與圖像作卷積操作,計算出車輛圖像縱橫兩個方向亮度的差分值,同時在像素位置做了加權運算,可起到平滑圖像邊界的作用,因此效果更好應用廣泛。Canny 算法有水平、垂直和對角線四個方向的梯度算子,是一種多級檢測算法,主要作用是去除噪聲。圖像邊緣信息和噪聲大多是高頻信號,噪聲容易被識別為偽邊緣,因此在檢測算法應該精確地找到圖像中的盡可能多的邊緣,盡可能的減少漏檢和誤檢。
在采集車輛圖像時受光照條件的影響,車牌圖像邊緣信息存在干擾信息較多時,傳統(tǒng)的邊緣檢測算法不易實現(xiàn)車牌準確定位,同時邊緣檢測算法還受車牌污損、背景復雜等因素干擾,車牌很難被定位[13]。
遺傳算法的理論基礎是自然選擇和遺傳交叉變異理論[14],它是一個全局尋優(yōu)的過程,通過選取相應選擇算子和交叉算子和變異規(guī)則進行遺傳和變異操作。在車牌定位時以統(tǒng)計車牌顏色像素點時要尋找的閾值為尋優(yōu)目標,并設置迭代次數(shù)和終止條件來尋找車牌區(qū)域。利用遺傳算法定位車牌的優(yōu)點是:即使圖像質量較差由于其全局尋優(yōu)的能力可對目標區(qū)域有很好的增強效果;缺點是:遺傳算法隨著迭代次數(shù)的增多,會使車牌定位的速度變慢,導致實時性變差及效率不高。
支持向量機(Support Vector Machine,SVM)是一種有監(jiān)督的機器學習方法[15-16]尤其在高維模式識別及圖像模板庫樣本數(shù)據(jù)較小時具有突出的優(yōu)勢,通過選取合適的核函數(shù)實現(xiàn)低維空間向高維空間的映射。在車牌定位中將SVM 分類器的特征向量取為水平與垂直的直方圖值,選擇大量的訓練樣本進行訓練,最后取部分樣本進行測試實現(xiàn)車牌定位。
小波變換[17](wavelet transform,WT)的車牌定位方法是:在車牌圖像的定位處理中將輸入的原始圖像信息進行小波分解,通過選擇合適的參數(shù)對車牌圖像進行伸縮平移多尺度變換作局部化分析,提取對象的特征可得到圖像的任意細節(jié),再送入分類器中完成車牌的定位,小波變換法對有噪聲的車牌圖像能很好地實現(xiàn)定位,缺點是實時性比較差。
人工神經網(wǎng)絡(Artificial Neural Networks,簡寫為ANNs)[18-20]由輸入層、隱層和輸出層組成,前向網(wǎng)絡由輸入經隱含層傳到輸出,再由反向傳播調整內部網(wǎng)絡連接節(jié)點之間的權值,具有自動學習車牌圖像特征的能力。在車牌圖像定位時,先把大量不同的圖像標注樣本和對應的應識別結果輸入到神經網(wǎng)絡[21],網(wǎng)絡通過前向網(wǎng)絡和反向傳播自動學習輸入與輸出的映射模型,完成訓練學習過程,然后利用訓練好的神經網(wǎng)絡來識別采集到的車牌圖像,從而定位到車牌區(qū)域。
該方法[22]主要是利用聚類分析并結合車牌的邊緣信息來定位車牌,此方法具有一定的適應性和抗干擾能力,但是對于某些特殊的車牌定位效果不好,如定位雙層車牌時易丟失信息。
實際獲得的車牌圖像都含有很多干擾信息,利用單一特征定位車牌會帶來環(huán)境適應性差,因此提出了結合幾種特征的優(yōu)點多特征相融合的算法,如文獻[23]中將車牌的顏色和字符的邊緣特征結合;文獻[24]結合形態(tài)學和車牌的邊緣特征來定位車牌區(qū)域;文獻[25]結合顏色與結構特征來定位車牌,先將車輛灰度圖像轉化為二值化圖像,然后根據(jù)車牌的尺寸形狀特征粗步篩選出可能的車牌區(qū)域,最后利用顏色特征來定位車牌。多種特征相結合的算法[26-27]定位過程相對復雜,但效果較好關鍵在于如何根據(jù)具體車牌的特點合理利用這些特征。
字符分割是將上一步定位后的車牌圖像分割為一個個單字符圖像的過程,是在二化圖像的基礎上,根據(jù)字符的結構特點或像素點的特征來分離出單個字符。車牌上的字符有漢字、字母和數(shù)字,針對各字符主要的方法有投影法、連通域法和靜態(tài)邊界等方法。
投影法[28-29]是字符分割的常用方法,實現(xiàn)方式比較簡單。具體過程為;利用車牌上字符本身的特點,把二值化后的車牌字符圖像進行水平和垂直兩個方向上的投影,水平投影是從上向下掃描并統(tǒng)計字符區(qū)域中的黑色像素點,根據(jù)投影后的統(tǒng)計值得到切割字符高度方向的起點和終點;而垂直投影是從左到右掃描統(tǒng)計字符區(qū)域中的黑色像素點,由垂直投影得到的統(tǒng)計值得到寬度方向的起點和終點,定位出每個字符的上下和左右邊界,將其分割最終得到車牌的字符,從而將車牌字符從車牌圖像中分割出來。
每次掃描二值化圖像的N 個像素點,統(tǒng)計出黑色像素點的個數(shù)來確定字符部分的連通域,數(shù)字和字母一般形成單連通域,而漢字相對比較復雜且是首字符,可能會形成多個連通域,因此一般掃描時根據(jù)我國車牌的特點從右到左切割尋找連通域的最小外圍矩形得到字母和數(shù)字,最后剩下的多連通區(qū)域即為漢字。
該方法[30]在車牌定位十分精確的情況下,將車牌圖像縮放至某個合適的大小,結合車牌的長寬比以及字符間距等特點,判斷出各字符在二值化圖像中所占據(jù)的位置,從最終將每個字符從車牌圖像中分割出來,得到同樣大小的圖片。
字符識別是對分割出的每個字符圖像分別送入分類器,采用模式識別方法后得到各個字符的類別,最終按從左到右的字符順序組合在一起得到車輛牌照號碼。字符識別中常見的方法有將字符與模板庫相匹配的方法、統(tǒng)計字符特征的方法及機器學習方法,如支持向量機和神經網(wǎng)絡的識別方法等。
基于模板匹配的方法[30-32]有基于特征提取的模板匹配法和基于灰度值匹配法。基于特征提取的模板匹配方法會涉及大量的幾何形態(tài)學計算,計算過程較復雜不能滿足車牌識別實時性的要求,故一般不使用此方法。基于灰度值的模板匹配法不需要提取特征,但首先要有標準化的模板庫,識別時將待檢測的字符做尺寸變換,縮放與模板庫中字符的大小相一致,然后將該字符與模板庫中相應字庫的所有樣本作相似比對,相似度可取距離函數(shù)、余弦相似度或統(tǒng)計方法等,最終的識別結果取相似值最大的那個樣本字符。這種方法簡單易行,可并行處理多個字符,但此算法只局限于與模板庫同樣大小、同種字體的字符,否則要做前期處理或識別精度不高,對于傾斜、筆劃變粗變細或字符模糊均會導致識別下降,另外歸一化字符會造成字符失真現(xiàn)象,在模板庫數(shù)據(jù)大時,識別準確度會有所提高,但匹配和識別速度會變慢。
基于特征統(tǒng)計的識別方法[30]先要根據(jù)每個字符的特征建立特征向量,再由不同的結構和統(tǒng)計特征定義分類器。統(tǒng)計特征包括外部輪廓、內部結構和筆畫變化特征等,由于漢字字母眾多,需要對定義的大量特征進行降維處理,再輸入到分類器中。識別時先從字符圖像中提取字符的特征,經處理分析后得到進行分類標簽。這種識別方法受車牌分割準確性及噪聲影響;對漢字而言,由于其特性信息較多,計算量較大。
我國的車牌字符有漢字、數(shù)字和字母,依次對這些訓練數(shù)據(jù)進行分類和標記后,將數(shù)據(jù)放入SVM 模型中進行訓練得到訓練模型,然后將待識別的字符送入訓練模型中進行識別出結果。基于支持向量機的字符識別方法[33]具有很強的學習能力,即使在統(tǒng)計樣本量較少的情況下,也可以獲得很好的效果,但對字符平移和旋轉敏感。
基于人工神經網(wǎng)絡的算法[34]分為兩種:有特征提取和無特征提取的人工神經網(wǎng)絡,顧名思義有特征提取的神經網(wǎng)絡首先要選擇并提取字符特征,然后用所得到的特征來訓練神經網(wǎng)絡[35],此算法中字符特征的選取對識別結果的準確度至關重要,另外特征的提取會使識別過程變慢;無特征提取則是把待識別字符直接輸入網(wǎng)絡,由網(wǎng)絡自動提取特征得到識別結果。基于神經網(wǎng)絡的字符識別算法自學能力很強,但網(wǎng)絡結構較復雜,網(wǎng)絡模型不宜理解,訓練時間長。
實際上汽車車牌的識別受到諸多因素的干擾,比如光照、傾斜度、車牌變形、各種情況造成車牌字符的舊損等都給車牌識別增加了難度。此種情形下,車牌識別準確率的提高仍是車牌研究的難點。目前車牌識別對象主要的是單個無遮擋的靜止車牌圖像[1],對于運動中的車牌識別仍有待進一步研究。