摘 要:提出了一種新的基于紋理模式的車牌定位方法。該方法能較準確地搜索車牌區域,并分割出車牌。
關鍵詞:紋理圖像; 紋理譜描述子; 紋理模式; 車牌定位
中圖分類號:TP391文獻標志碼:A
文章編號:1001—3695(2007)03—0215—03
在圖像分析中,紋理是一個非常重要的特征。紋理是表達物體表面或結構(分別對于反射或透射形成的圖像)的屬性,反映圖像的一種局部結構化特征。具體表現為圖像像素點某鄰域內像素點灰度級或者顏色的變化,這種變化是空間相關的。它由紋理基元(Texture Primitive)或紋理元素(Texture Element)和基元的排列兩個要素構成[1],如犬毛、草、文字等。紋理基元是一個具有某種色調屬性或區域屬性的像素和連續集,可以通過它的平均亮度、最大或最小亮度、尺寸、形狀等來描述。基元的空間關系是兩兩相關的或某個數目的基元之間可能是互相依賴的,通過基元的數目和類型以及它們的空間關系來描述圖像紋理。
紋理分析的主要目標是紋理識別和基于紋理的形狀分析。紋理特征就是圖像局部性質(灰度分布函數)的統計,如粗糙性、方向性和精細等。這些特征可以在紋理的色調(Tone)和結構(Structure)中找到[1,2]。MPEG—7[3,4]提出了三種描述紋理圖像特征的方法,即同構型紋理圖像描述子、紋理圖像瀏覽描述子和邊界直方圖描述子。
紋理特征的分析方法大致分為統計方法、結構方法和頻譜法。Haralick[5]提出了基于共生矩陣(Co—occurrence Matrix)的紋理描述方法。共生方法的良好性質是對色調像素間的空間關系的描述,且它對于單調的灰度變換是不變量的。但它不考慮基元形狀,不適合于大的基元組成的紋理分析,且要求宏大的存儲空間。Fung[6]提出了基于邊緣頻率的紋理分析方法,是在基于由粗到精原理的邊緣檢測基礎上進行的,但對噪聲極其敏感。Pentland[7]介紹了基于分形的紋理分析,Gabor變換和小波(Wavelet)適合于多尺度的紋理表征[8,9]。
Ojala T[10]提出了LBP(Local Binary Pattern,局域二值模式)作為紋理算子來分析紋理特征。劉繼敏[11]提出了圖像特征譜的概念,論述了使用圖像特征譜進行圖像紋理分析的好處,論證了其實驗的可行性,給出了實驗結果。紋理譜分析法的主要思想是利用局部紋理模式作為紋理單元或紋理元素對圖像紋理進行分析。通過刻畫圖像像素點局部鄰域內灰度的變化來描述圖像的紋理結構特征。本文根據劉繼敏提出的圖像特征譜的概念,Ojala T的局域模式,給出了局域紋理模式的具體定義形式,在此基礎上,提出了一種基于局域紋理模式的車牌定位方法。車牌部分的文字具有豐富的紋理特征。實驗表明,該車牌定位算法能夠較好地搜索車牌并能準確定位,有利于下一步的車牌字符分割和識別。
1 局域紋理模式
Ojala T的LBP紋理算子作為一種對局域圖像像素灰度值進行比較而提出的,對圖像紋理特征進行分析。本文給出其新的定義方法。由于圖像是離散的,為了刻畫圖像像素點在某鄰域內的灰度變化,考慮圖像像素點的3×3鄰域,如表1所示。
其中,i=-1,0,1。經過式(2)的計算, f(x-i,y-j)是一個二值矩陣,可以將其看成一個二值紋理模式(紋理基元或紋理元素)來刻畫鄰域內像素點的灰度值相對于中心點的變化情況。它實際上是一種相對于中心點像素值的八鄰域處理方式。H是系數變換矩陣,將3×3鄰域的紋理基元變換為一個[0,255]的值,易于表示和計算。
將圖像按局域紋理模式進行處理,其處理過程可以用以下簡潔的圖形(圖1)來表示。假設3×3鄰域的中心像素f(x,y)的值為5,其余值如圖1所示。
上述紋理模式的定義可以描述如下:取圖像的3×3鄰域(圖1(a)),不管中間一格(由于中間格沒有參與后面的運算,可以把它涂成黑色),其余各格與中間一格的像素值相比較,大于或等于中間格像素值的格置為1;否則置為0,得到新的3×3鄰域(圖1(b))。再與H系數變換矩陣(圖1(c))相乘,得到最后的3×3鄰域(圖1(d))。則LBP=1+2+4+8+32,代替原3×3鄰域中間像素的像素值。
將紋理模式的值作為像素值,可以得到紋理譜圖像,如圖2(b)所示。由于紋理譜的局域特性,紋理譜圖像也具有原圖的視覺特性。人類視覺系統對紋理的感知與平均灰度(亮度)無關[12]。二值模式方法注重像素灰度的變化,這符合人類視覺對圖像紋理的感知。上述算法中的3×3鄰域的像素可以看作3×3個小窗口,一個窗口可以是任意尺度的像素塊,窗口顏色用像素塊的平均顏色表示,以體現局域分析和多尺度分析的特性。
2 基于紋理譜描述子的車牌定位算法
AVI(Automatic Vehicle Identification,車輛自動識別)技術是指識別車輛所具有的車牌、條形碼或射頻識別標志等特征來自動識別車輛的技術。LPR(License Plate Recognition,汽車牌照識別)技術是車輛自動識別的重要組成部分,是對車輛牌照字符進行分割和識別的基礎和前提。
車牌區域內字符具有豐富的紋理特征,紋理對于光照強弱、傾斜及變形不敏感,所以可采用紋理分析的方法來進行車牌定位,分割車牌區域。因此,本文提出了一種基于車牌區域字符串紋理特征的車牌定位算法。實驗證明,該算法能較快地定位車牌。具體算法描述及實現如下:
(1)輸入帶有車牌的圖像。CCD拍攝的汽車圖像,車牌部分一般居于圖像的中下部分。初步確定車牌的合理區域,有利于車牌區域的準確定位,如圖2(a)所示。
(2)以3×3鄰域紋理模式對獲得的汽車圖像進行變換,得到新圖像,如圖2(b)所示,可以非常清晰地識別車牌區域的文字字符串。
(3)進行二值化處理。用一初始閾值T對得到的新圖像進行二值化,得到二值化圖像。初始閾值T為
該閾值對不同牌照有一定的適度性,能夠保證背景基本設置為0,以突出牌照區域。二值化后的圖像如圖3(a)所示。
(4)對二值化圖像作簡單相鄰像值相減,得到圖像D,上邊緣直接賦值,不影響整體效
其中,0≤i≤M-1,0≤j≤N-1,M和N分別為圖像B的高度和寬度。此步驟將盡一步削弱背景干擾,突出車牌區域。處理后的圖像如圖3(b)所示。
(5)定位車牌區域。在本算法中,利用垂直投影法[13,14]檢測車牌垂直位置,利用水平投影法檢測車牌水平位置。用CCD拍攝的圖像,車牌字符區域高度在25—40個像素之間,長度在100—160個像素之間。通過設定一個40×160的區域,以此區域在水平、垂直方向進行圖像投影,考慮其像素點個數,確定一個閾值,定位車牌區域并可初步分割出一個矩形區域。通過定位車牌區域,可得到車牌區域的四角坐標,如圖3(c)所示。
(6)車牌提取。根據步驟(5)得到的車牌區域,利用區域內的四個頂點坐標,提取圖2(a)中的車牌,得到車牌子圖像,如圖3(d)所示。
3 實驗結果
通過描述的上述算法,現在給出一些例子。實驗結果可以看出,其定位效果均比較準確。當車牌有傾斜時,在定位牌照時,考慮到誤差,可以將區域在算法中根據區域內像素點的個數自動設置,因此不會影響定位效果。
4 結束語
在車牌定位的各種算法中,由于定位條件的不同,導致車牌定位質量的不同(圖4)。多數車牌定位方法對光照、牌照傾斜及變形較為敏感,而紋理分析方法則對這些特性不敏感,適用于車牌處理。本文采用基于紋理模式的方法,首先進行紋理處理,再進行二值化處理,最后通過水平投影及垂直投影定位車牌區域。實驗證明,這種方法能較準確地定位車牌。通過150幅在不同條件下拍攝的車牌圖像進行定位實驗,定位成功率在95%以上。需要改進的地方:由于紋理模式對CCD的分辨率要求高,若要提高提取精確度,需要更高清晰的CCD拍攝圖像。本算法在C++ Builder 6環境下實現。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。