隨著現代交通的發展,車牌自動識別技術越來越成為智能交通的重要組成部分。車牌識別技術主要是采用計算機圖像處理技術對車牌的圖像進行分析,以自動提取車牌信息,確定車牌號。一般說來,在車牌自動識別系統中,處理的關鍵技術問題是車牌的定位及字符的分割。對于車牌自動識別系統已經提出了許多方法,如運用多重特征的車牌定位算法,基于彩色和紋理分析的車牌定位方法,用神經網絡算法進行車牌自動識別等。針對通過攝像頭動態采集到的圖像有可能存在模糊、噪聲干擾等問題,我們先用改進模糊C-均值聚類算法對采集到的圖像進行分割,然后根據車牌區域的特點對車牌進行定位。車牌定位后,根據車牌中字符的分布特點,對字符進行分割及識別。對于采集到的復雜背景的圖像進行實驗后,得到了較理想的車牌自動識別效果。
1 車牌的定位
車牌定位是車牌識別系統的核心,它是從一個復雜背景的圖像找到車牌所在的區域。為了更好對車牌加以定位,需先對采集到的圖像進行分割。
1.1 用改進的模糊C-均值聚類算法進行圖像分割
模糊C-均值(FCM)算法是常用的圖像分割方法,它是通過迭代法優化目標函數來實現圖像分割的,該算法的不足是收斂速度較慢。為了提高該算法的速度,已提出了不同的改進FCM算法,在文獻[5]中,利用分層聚類把圖像數據分成一定數量的色彩相近的子集,來提高FCM算法的計算速度。該改進算法是通過減少聚類樣本來提高聚類的速度的。
在FCM算法中,初始聚類中心及聚類數目的選取對算法速度有一定的影響,較好的初始值,有助于提高聚類的速度。聚類中心與聚類數目與圖像的灰度直方圖的極值點相關聯。對一幅較復雜的圖像,其灰度直方圖不是連續的圖形,直方圖中存在很多的毛刺,確定出的極值點一般有很多個。為了更有效地獲取其極值點,我們對圖像的灰度值做如下處理,將灰度值為[h,h+n]間的像素的個數疊加在一起,其中n為灰度區間,這可以避免一些像素值較小的極值點出現。通過處理后的圖像灰度值col[i](其中0≤i≤255),來獲得灰度直方圖的極值點。當col[i-1]
為提高聚類的收斂速度,還需對隸屬度進行修正,在半抑制式模糊C-均值聚類算法(HSFCM)中引入了一抑制門限參數β,將最大隸屬度值uRj與該門限進行比較,若其大于該門限,則對其進行修正;否則就不對其修正。為了更好地提高聚類的速度,將隸屬度修正公式變為:
在式(1a),當最大隸屬度值uRi大于門限值β1時,uRi=1,轉為硬C聚類算法;當uRi小于門限值β2時,不修正;當β1≥uRj>β 2時,uRj增加為原來的2-uRj倍,提高其隸屬度。在式(1b)中,將其它隸屬度做相應的修改,以滿足
改進后的模糊C-均值聚類算法的具體操作步驟如下:
(1)對圖像進行灰度處理,獲得灰度值的極值點及個數來初始化聚類中心初始聚類中心V(0)及聚類數目C,并具體選取ε>0,令迭代次數k=0。
(2)計算U(K),如果∨j,r,drj(k)>0,則
如果存在j,r,使得drj(k)=0,則令urj(k)=1,且i≠r,uij(k)=0。
(3)根據式(1a)、(1b),修正隸屬度矩陣U(k)。
(5)如果||V(k)-V(k+1)||<ε,則停止,否則令k=k+1,重復步驟(2)、(3)、(4)、(5)。
對圖1所示的原始圖像中,處理后的灰度直方圖如圖2所示,獲得的極值點的個數(即聚類數目)為4,聚類中心灰度值特征量的初始化值分別為(21、66、141、186)。通過改進FCM算法后,獲得分割后的圖像如圖3所示。
1.2 車牌的定位
根據拍攝到的車牌圖像的特點,牌照一般是在圖像的下方,且牌照下方多數是地面,在水平方向上,地面的圖像灰度分布比較均勻;而牌照區域由于圖像字符的分布,使得圖像灰度值在水平方向上的變化頻率比較大,且變化間隔較均勻。根據上面的分析,車牌從下至上來定位可以避免上面復雜背景的干擾,縮短定位時間。圖像不同部分的水平灰度值變化如圖4~7所示,其中圖4是車牌區域中字符下邊緣的與上邊緣的水平灰度值的變化(圖中白線所示),圖5是車牌區域外下邊緣與上邊緣的水平灰度值的變化。根據灰度值的變化便可定位出車牌的字符區域,如圖6所示。
2 字符的分割
經過圖像分割后的車牌區域中,字符與牌照底的內部灰度較均勻,而字符與底色在灰度上有較大差異,并且字符間有明顯的間距。根據這個特點,將字符區域中字符像素的個數垂直投影來進行字符的分割。設置一個閾值T用來區分字符與牌照底色,hhi(0≤i
根據hhi的值,當
根據式(2)分割后的字符如圖8所示,分割效果比較明顯。
3 結論
本文提出了一種改進的模糊C均值聚類算法用來對車牌圖像進行分割,改進算法中通過圖像灰度直方圖來初始化聚類中心與聚類數目,并對聚類中的隸屬度做了相應的修正。在車牌定位與字符分割中,結合車牌中字符的分布特點,根據水平灰度值的變化曲線,來實現車牌的定位;根據字符區域中字符像素個數的垂直投影,來實現字符的分割。本文中的算法采用VC++6.0編程實現,并對多幅背景復雜的車輛圖像進行了實驗,實驗結果表明該算法能夠較快、較準確地獲得車牌自動識別效果。