(武漢科技大學 機械自動化學院 機械傳動與制造工程湖北省重點實驗室,武漢 430000)
共享車庫實現了小區(qū)私有車庫共享,對改善城市交通以及改造老舊住宅小區(qū)具有重要意義。建立共享車庫首先需要一個完善的車牌識別系統(tǒng)(LPR),以實現車牌定位、字符分割和識別。采集車牌圖像時,由于拍攝角度、車型大小不一等原因常導致出現畸變,而畸變車牌難以快速定位、矯正,使得車牌字符分割、識別無法順利進行。
學者余剛等對Hough檢測[1]方法在機器視覺中的應用進行研究,CNE Anagnostopoulos等[2]提出一種智能交通系統(tǒng)領空間的車牌識別算法,這些研究的對象均處在相對理想的環(huán)境下。為提高在多顏色車牌、非均勻光照條件等復雜場景下車牌識別準確率,算法提出一種畸變車牌定位與矯正方法,實現車牌定位、畸變矯正與字符分割、識別。
形態(tài)學處理(Morphological Processing)[3]需要將車牌RGB圖像轉變?yōu)榛叶葓D以加快處理速度,灰度化后對應像素點灰度值x與RGB空間下對應像素點R、G、B值關系:
將灰度值從[x1,y1]非線性擴大到[x2,y2],變換后灰度值:
取[x1,y1]=[0.3,0.7],[x2,y2]=[0,1],經非線性灰度增強(Grayscale Enhancement)[4]后,灰度值飽和至最低和最高亮度,車牌區(qū)域得到有效增強,有利于處理非均勻光照條件下的車牌定位問題。灰度增強前后對比如圖1所示。
圖1 灰度增強對比圖
為保護車牌區(qū)域邊緣[5]信息,去除灰度增強后產生的高灰度值噪點,使用中值濾波法處理。中值濾波將數字圖像中一點的值用該點鄰空間各點的中值代替,序列x1,x2,x3,…,xn中值:
算法定位車牌優(yōu)先使用形態(tài)學處理獲得車牌粗定位結果,之后調用改進的定位子算法對車牌區(qū)域進行精確定位;若無法獲得粗定位結果,則直接調用定位子算法對車牌進行定位,大幅提升車牌定位成功率。
2.1.1 邊緣檢測
圖像的邊緣包含了用于識別的有用信息,圖像的其他特征可以由邊緣基本特征推導出來。算法使用Roberts算子實現邊緣檢測,原理為檢測函數的偏導數,對應圖像中水平和垂直梯度:
其中f(x,y)是輸入圖像,gx、gy是對應梯度,發(fā)生梯度階躍的點即為圖像的邊緣輪廓,邊緣檢測結果如圖2所示。
圖2 邊緣檢測
邊緣檢測后二值圖像存在很多與車牌區(qū)域無關的邊緣信息,需要進一步處理。
2.1.2 形態(tài)學處理
形態(tài)學處理主要通過腐蝕、膨脹與閉運算等操作逐步過濾無關信息,形態(tài)學(Morphology)[6]定義了腐蝕(Erosion)[7]與膨脹(Dilation)兩種基本運算,其它運算都由這兩種基本運算復合而成。
為處理邊緣檢測后多余邊緣信息,首先對邊緣檢測圖像進行腐蝕處理。腐蝕是將與結構元接觸的背景點排除出圖元,定義為:
A被結構元B腐蝕的結果是所有使B平移z后仍在A中的z的集合,算法使用結構元se1=[1;1;1]。腐蝕操作后,車牌邊緣特征會被削弱,為不影響車牌定位,需使用閉運算進行平滑邊緣輪廓處理。
閉運算由同一結構元對圖像先腐蝕、后膨脹操作復合而成,膨脹操作定義為:
其中?是空集,A被B膨脹的結果是所有滿足結構元素B平移z后,(B)z擊中A的點集合,得閉運算定義:
2.2.1 HSV顏色空間變換
HSV[8]空間中H和S分量代表色彩信息,應用于指定顏色分割時,HSV空間所包含顏色信息多于RGB空間,故算法在HSV顏色空間下對車牌圖像進行處理。通過如下變換將車牌圖像從RGB顏色空間轉換為HSV顏色空間:
2.2.2 車牌定位
設HSV模型三個參數閾值向量p,當滿足:
可提取到圖像中目標顏色像素點,記y,x為車牌圖像最大行、列索引,運用像素點統(tǒng)計和行列掃描方法[9]定位車牌區(qū)域:
1)逐行統(tǒng)計目標像素點數,并保存在y×1列矩陣中,記為Bluey,查找Bluey最大值對應的行索引MaxY。
2)記By=MaxY,滿足Bluey(By)≥5時,將By減去1,繼續(xù)判斷Bluey(By)是否滿足條件,滿足條件時,循環(huán)執(zhí)行By減去1并判斷,逐行索引得車牌區(qū)域豎直方向的臨界行標PY1;同理By加1情況下可得滿足要求的臨界行標PY2,故目標車牌區(qū)域在豎直方向PY1、PY2范圍之間。
3)逐列統(tǒng)計目標像素點數,并保存在1×x行矩陣中,記為Bluex,查找Bluex最大值對應的列索引MaxX。
4)同2)中方法可得目標車牌區(qū)域在PX1、PX2之間。
2.2.3 精定位子算法
在HSV模型定位算法中,H、S、V分量范圍分別為(0,180),(0,255),(0,255),經多次實驗得到我國車牌常見幾種色彩對應的HSV模型各分量如表1所示。
表1 色彩對應分量范圍
每一個閾值向量p對應特定顏色的車牌,本定位子算法在HSV模型定位算法基礎上,通過設置多個閾值向量p,實現檢測多種顏色車牌。
p=[0.56 0.69 0.17 10.171]時,檢測的是藍色信息,對上述粗定位得到的車牌RGB圖像使用定位子算法進行精定位。粗定位之后精定位效果如圖3所示。
圖3 車牌粗定位與精定位
子算法在克服傳統(tǒng)方法只能識別單一顏色車牌的限制的同時,可以對粗定位結果進行精定位,提高車牌定位精度。
傳統(tǒng)HSV模型定位方法無法正確定位藍色車身的藍色車牌并且只能識別單一顏色車牌,而該車牌定位算法結合了形態(tài)學處理和基于顏色信息定位車牌方法的優(yōu)點,經預處理可以排除圖片中車身藍色對車牌定位的影響,使得形態(tài)學方法能夠直接定位藍色車身車牌,之后由定位子算法進行精定位處理。
標準Hough變換只能處理車牌圖像水平傾斜矯正,而無法處理本算法需要矯正的復雜畸變車牌,算法應用多次Huogh變換提取車牌相關信息,結合數學方法對畸變車牌進行快速矯正。
Hough變換可以用于檢測圖像中車牌的邊框直線,一條直線可以描述為極坐標形式:
θ是x軸與從原點到線上點(x,y)的垂直線之間的角度,ρ是垂直線的長度。從圖像空間到Hough[10]空間的映射如圖4所示。
圖4 霍夫變換原理
水平傾斜矯正需要尋找車牌對應水平傾斜角,圖像空間中點(xj,yj)對應Hough空間中一條曲線,將定位后車牌圖像轉化到Hough空間 對應曲線由下式給出:
Hough變換將參數空間設為一個累加器,將通過點(ρ, θ)的曲線數記錄在累加器中,當-90°≤θ≤90°,θ精度為1°時,設H(ρ, θ)初始值為0,對車牌圖像中所有點依次進行如下計算:
當N條H o u g h空間曲線經過點(ρ, θ)時,有H(ρ, θ)=N。累加矩陣最大值對應的極坐標 ( ρ0,θ0)即為車牌最長邊框所在直線,θ0為車牌水平傾斜角。對車牌圖像逆時針旋轉θ0=8°并重新定位。
對水平矯正后車牌圖像再次進行Hough變換,利用累加器可以檢測出某一θ角對應線段上端點坐標等信息。算法如下:
1)將Hough變換后圖像所有前景色像素點(xj, yj)保存在數組Tp中。
Ht表示圖像的高,Wt表示圖像的寬。
4)對所有Tp中像素點,計算ρ=xjcosθbest+yjsinθbest,若ρ=ρbest, 則將該點存放在另一個數組Tp1中。
算法執(zhí)行完后, 數組Tp1中保存了車牌下長邊框像素點(xj,yj)。以此方法,依次從1)開始執(zhí)行,排除掉3)中最大值max(H[ρ1][θ1])后,找到次最大值對應(ρ,θ),得車牌圖像上長邊框對應數組Tp2。將車牌邊框四個端點從左向右、從上到下記為p1,p2,p3,p4。
記M,N為水平矯正并定位后車牌像素矩陣的行、列最大索引,分別提取目標車牌區(qū)域四個端點p1,p2,p3,p4橫縱坐標得:x=[p1(1)p2(1)p3(1)p4(1),y=[p1(2)p2(2)p3(2)p4(2)。
矯正后四個頂點坐標對應區(qū)域組成矩陣B=[X(1)Y(1)X(2)Y(2)X(3)Y(3)X(4)Y(4)],車牌變換關系矩陣:
計算f=A-1×B,得變換系數:a=f(1);b=f(2);c=f(3);d=f(4);e=f(5);f=f(6);g=f(7);h=f(8);全局系數矩陣:r=[d e f; a b c; g h1],得矯正后的車牌四個端點坐標依次為:
從而得到畸變矯正后的車牌圖像。
對上述矯正后車牌圖像進行分割與識別操作,以檢驗該車牌畸變矯正結果的正確性。
用Ostu法對畸變矯正后車牌灰度圖二值化,原理如下:記t為目標像素與背景的分割閾值,目標像素數占圖像比例為ω0,平均灰度為μ0;背景像素數占圖像比例為ω1,平均灰度為μ1。圖像的總平均灰度為:μ=ω0(t)μ0(t)+ω1(t)μ1(t),從最小灰度值到最大灰度值遍歷t,使得值g=ω0(μ0-μ)2+ω1(μ1-μ)2最大時的t即為最佳分割閾值。
對車牌圖像二值化:
其中,BW為二值化后對應像素點灰度值,g(i,j)為該像素點在灰度圖中灰度值,t為最佳閾值。
使用投影法統(tǒng)計豎直方向灰度值為1的像素點,數量記為xn,車牌像素矩陣對應列索引向量R=[x1,x2,…,xn],對R進行歸一化,當xn>1時,令該點值xn=1,從左向右逐列掃描R,記錄xn值發(fā)生0、1轉換的列索引,將這樣的索引值依次記為y1,y2,…,yn,得向量YT=[y1,y2,…,yn]為車牌字符分割點,其中每一個字符區(qū)域向量為Y=[y2n-1,y2n],其中n≥1,當y2n-y2n-1≤5排除掉該區(qū)域。
對YT進行遍歷精確分割車牌后,效果如圖5所示。
圖5 字符分割
我國標準車牌是由漢字、英文字母和阿拉伯數字組成,車牌字符組合規(guī)則:
1)車牌第一個字符是漢字。
2)字符中沒有字母“I”,避免與數字“1”產生視覺錯誤。
3)車牌第二個字符必須是字母,并且字母“O”只能出現在第二個字符位置且數字“0”不會出現在該位置。
根據以上規(guī)則,算法使用模板匹配法對進行字符識別,建立圖6中字符大小為M×N的標準字符模板。
字符識別步驟如下:
1)將分割后車牌字符歸一化為M×N二進制矩陣。
2)根據式(17)計算輸入字符和模板字符二維矩陣之間的相似度D。其中Iij代表輸入車牌字符,T代表模板字符,(i,j)表示矩陣中像素索引。
圖6 模板
通過模板匹配得到正確的車牌號碼,證明該算法能夠正確定位與矯正畸變車牌。
該算法結合數學形態(tài)學方法解決了傳統(tǒng)定位算法無法準確定位藍色車牌的弊端,同時提出一種可以識別多種顏色車牌的定位方法,并創(chuàng)新性地使用多次Hoguh變換提取所需車牌信息,借助數學方法對畸變車牌進行準確矯正,提高了車牌分割、識別準確率。
經實驗分析,所實現畸變車牌定位與矯正方法研究可以有效應用在多顏色車牌、非均勻光照條件等復雜場景下,能夠準確定位并矯正多種畸變車牌,具有較大的實用價值。