胡峰松,朱 浩
(湖南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙410082)
近年來車牌定位算法受到許多研究者的關(guān)注,主要在以下方面取得了相應(yīng)成果:基于紋理特征分析的算法[1,2],該算法對(duì)光照不均、車牌傾斜等情況定位較好,但當(dāng)車牌背景較復(fù)雜時(shí),易將圖像中紋理分布類似車牌的區(qū)域定位進(jìn)來,不但增加了計(jì)算難度,而且容易造成車牌誤定位;基于邊緣檢測和形態(tài)學(xué)的算法[3-6],該算法對(duì)邊緣特征簡單的車牌圖像能快速定位,但當(dāng)圖像中疑似車牌區(qū)域較多或車輛前身邊緣較復(fù)雜時(shí),誤定率較高;基于顏色分割的車牌定位算法[7-9],該算法充分利用車牌區(qū)域的顏色特征,當(dāng)車牌區(qū)域顏色與車身顏色存在較大差異時(shí),定位準(zhǔn)確率高,而當(dāng)車牌顏色與車身顏色相近時(shí),該算法難以準(zhǔn)確定位。針對(duì)以上算法的特點(diǎn)與不足,提出一種基于HSI顏色空間和行掃描的車牌定位算法。該算法綜合利用了車牌的顏色特征、幾何特征以及紋理特征,克服了單一利用某種特征所引起的定位誤差,且采用行掃描算法分析按序提取標(biāo)號(hào)候選區(qū)域的紋理特征時(shí),優(yōu)先處理包含車牌的候選區(qū)域,加快了定位速度;另外利用行掃描算法對(duì)車牌候選區(qū)域進(jìn)行紋理分析時(shí),只需掃描符合車牌顏色的候選區(qū)域,降低了計(jì)算復(fù)雜度。
由于采集的車輛圖像是彩色圖像,處理前需將其灰度化。本文采用加權(quán)平均值法進(jìn)行灰度化處理,如式 (1)所示
式中:f(x,y)——坐 標(biāo) 點(diǎn) 為 (x,y)的 灰 度 值,R(x,y),G(x,y),B(x,y)——圖像中坐標(biāo)點(diǎn)為 (x,y)的紅色分量、綠色分量以及藍(lán)色分量的值,Wr,Wg,Wb——R(x,y),G(x,y),B(x,y)的權(quán)值,當(dāng) Wr,Wg,Wb取不同值時(shí),加權(quán)平均值法形成的灰度圖像也不相同。根據(jù)實(shí)驗(yàn)和理論推導(dǎo)可知,當(dāng)Wr=0.30,Wg=0.59,Wb=0.11時(shí),即當(dāng)f(x,y)=0.30*R(x,y)+0.59*G(x,y)+0.11*B(x,y)時(shí),得到的灰度圖像最合理。
由于采集的車輛圖像取自不同的自然環(huán)境,背景較復(fù)雜,尤其在曝光不足或過度情況下,圖像的灰度值將局限于小范圍內(nèi),此時(shí)得到的圖像模糊不清,影響車牌定位與識(shí)別。因此需增強(qiáng)灰度化后的圖像,改善圖像質(zhì)量,提高識(shí)別率。本文利用數(shù)學(xué)形態(tài)學(xué)高帽與低帽變換實(shí)現(xiàn)對(duì)灰度圖像的增強(qiáng)。圖像f(x,y)的高帽變換h(x,y)定義為圖像f(x,y)與該圖像開運(yùn)算之差,如式 (2)所示
式中:f(x,y)——原灰度圖像,s結(jié)構(gòu)元素,f(x,y)s——使用結(jié)構(gòu)元素s對(duì)圖像f(x,y)進(jìn)行開運(yùn)算。
圖像f(x,y)的低帽變換l(x,y)定義為圖像f(x,y)與該圖像閉運(yùn)算之差,可表示為式 (3)
式中:f(x,y)·s——使用結(jié)構(gòu)元素s對(duì)圖像f(x,y)進(jìn)行閉運(yùn)算。
利用高帽變換與低帽變換增強(qiáng)灰度圖像,如式 (4)所示
式中:gray(x,y)——灰度增強(qiáng)后的圖像。
由于車牌在二值圖像中存在黑白兩像素跳變的紋理特征,而行掃描算法[10]主要是根據(jù)區(qū)域連續(xù)跳變數(shù)目來判斷是否該區(qū)域包含車牌并確定車牌的上下邊界,因此需要對(duì)增強(qiáng)后圖像二值化。因最大類間方差法 (OSTU)計(jì)算簡單,自動(dòng)選擇閥值,二值化效果好,故本文選取該方法進(jìn)行二值化。
由于二值化后的車輛圖像存在一些孤立點(diǎn)和小區(qū)域,因此需要對(duì)圖像腐蝕去除干擾。本文采用3×3大小的結(jié)構(gòu)體元素對(duì)二值化后的圖像進(jìn)行形態(tài)學(xué)腐蝕,消除圖像中的孤立點(diǎn)和小區(qū)域。
我國車牌區(qū)域中字符顏色和車牌底色存在較大差異,且車牌區(qū)域內(nèi)有多個(gè)水平排列的字符并存在豐富的邊緣,呈現(xiàn)規(guī)則的紋理特征。因此可采用邊緣檢測算子突出圖像中車牌區(qū)域。常用的邊緣檢測算子有Roberts、Log、Prewitt、Sobel和Canny等。其中Roberts算子利用局部差分算子檢測圖像邊緣,但容易丟失一部分邊緣,并且未對(duì)圖像進(jìn)行平滑處理,無法抑制噪聲。Log算子檢測圖像邊緣時(shí)會(huì)出現(xiàn)雙邊緣像素邊界,并且該算子對(duì)噪聲較敏感。Prewitt算子利用圖像各像素點(diǎn)上下、左右鄰點(diǎn)的灰度差,在邊緣處達(dá)到極值時(shí)檢測邊緣,能去掉部分偽邊緣,對(duì)噪聲具有平滑作用。與Prewitt算子相比,Sobel算子對(duì)圖像中各像素的位置的影響做了加權(quán)處理,降低了邊緣模糊程度。Canny算子雖然邊緣檢測效果較好,但是容易平滑掉一些邊緣信息。對(duì)比以上幾種邊緣檢測算子,發(fā)現(xiàn)Sobel算子能抑制噪聲,且可檢測水平和垂直邊緣,而我國汽車車牌區(qū)域內(nèi)字符在垂直方向上邊緣特征較明顯,因此本文選取了Sobel算子來檢測圖像的邊緣信息,其水平方向Sobel算子如式 (5)所示
垂直方向Sobel算子如式 (6)所示
本文為減少計(jì)算量,所以將原圖像從1280×960壓縮為640×480像素,再對(duì)壓縮后圖像灰度化,其壓縮后圖像和灰度圖像分別如圖1和圖2所示。
圖1 壓縮后圖像
圖2 灰度圖像
接著利用形態(tài)學(xué)高帽與低帽變換增強(qiáng)灰度圖像的對(duì)比度,再通過OSTU算法二值化增強(qiáng)后圖像,實(shí)驗(yàn)結(jié)果分別如圖3和圖4所示。
圖3 灰度增強(qiáng)圖像
圖4 二值化圖像
從圖4可看出,圖像中存在孤立的小白點(diǎn),因此需先采用形態(tài)學(xué)腐蝕運(yùn)算來消除,再利用Sobel算子對(duì)處理后圖像進(jìn)行邊緣檢測,如圖5所示。
圖5 形態(tài)學(xué)腐蝕與邊緣檢測后圖像
本文綜合利用車牌的顏色、面積、長寬比、紋理等多重特征,提出了一種基于HSI顏色空間和行掃描的車牌定位算法,具體流程如圖6所示。
(1)預(yù)處理:首先將彩色車輛圖像灰度化,利用形態(tài)學(xué)高帽與低帽變換增強(qiáng)圖像對(duì)比度,再采用OSTU算法二值化增強(qiáng)后圖像并用腐蝕運(yùn)算消除孤立白點(diǎn),最后利用Sobel算子進(jìn)行邊緣檢測。
(2)將彩色車牌圖像從RGB顏色空間轉(zhuǎn)為HSI顏色空間。
(3)顏色分割:根據(jù)我國已有的車牌顏色,設(shè)置約束條件,并遍歷轉(zhuǎn)換后圖像的每個(gè)像素點(diǎn),將符合約束條件的點(diǎn)的像素值設(shè)為255,否則設(shè)為0。
(4)連通域分析與標(biāo)號(hào):對(duì)顏色分割后的圖像執(zhí)行數(shù)學(xué)形態(tài)學(xué)開運(yùn)算,去除干擾并使相鄰區(qū)域連通。分析圖像中各候選區(qū)域外接矩形的面積與長寬比,設(shè)定閾值,剔除面積及長寬比不在閾值范圍內(nèi)的區(qū)域。將剩下各連通區(qū)域的長寬比與標(biāo)準(zhǔn)車牌長寬比進(jìn)行比較并排序,再按設(shè)定的規(guī)則標(biāo)號(hào) (越接近標(biāo)準(zhǔn)的區(qū)域序號(hào)越小)。
(5)行掃描分析:按序提取標(biāo)號(hào)區(qū)域在預(yù)處理后圖像中對(duì)應(yīng)的區(qū)域,利用行掃描算法分析該區(qū)域紋理跳變,判斷該區(qū)域是否包含車牌,若包含則記錄車牌的上下邊界以及存在干擾的左右邊界,進(jìn)入步驟 (6);否則提取下一塊標(biāo)號(hào)區(qū)域進(jìn)行掃描分析,重復(fù)直至獲取車牌區(qū)域。
(6)垂直投影:在預(yù)處理二值化后的圖像中截取步驟(5)得到的區(qū)域并利用形態(tài)學(xué)開運(yùn)算處理,對(duì)處理后圖像垂直投影,設(shè)定閾值,去除左右兩邊的干擾,得到精確的車牌區(qū)域。
圖6 車牌定位算法流程
由于采集得到的車輛圖像均是RGB模型,且該模型下R、G、B這3個(gè)分量對(duì)光線的強(qiáng)弱較敏感,因此RGB模型不適合進(jìn)行彩色分割。而HSI顏色模型使用色度 (H)、飽和度 (S)和亮度 (I)描述顏色,更符合人的視覺特性。因此本文選取HSI顏色模型對(duì)車輛圖像進(jìn)行彩色分割。將彩色車輛圖像從RGB轉(zhuǎn)換為HSI顏色空間,其轉(zhuǎn)換式如式(7)~式 (10)所示
其中
中國的車牌類型分為藍(lán)底白字、黃底黑字、白底黑字和黑底白字4種,本文以藍(lán)底白字的車輛牌照為例進(jìn)行顏色分割。首先將彩色車輛圖像從RGB顏色空間轉(zhuǎn)換為HIS顏色空間,通過實(shí)驗(yàn)測試統(tǒng)計(jì)得出HSI顏色空間中車牌顏色的取值見表1。
表1 車牌顏色在HSI空間中取值范圍
從表1中可知藍(lán)色車牌的取值范圍為:H∈ [161,301],S∈ [0.25,1],I∈ [0.25,1]。遍歷轉(zhuǎn)換后圖像中各像素點(diǎn)的值,將符合取值范圍的像素點(diǎn)的值設(shè)為1,否則設(shè)為0,得到二值化后的車牌圖像如圖7所示。
圖7 顏色分割二值化后圖像
從圖7可看出,圖中仍存在孤立的小白點(diǎn),因此需用腐蝕方法進(jìn)行消除。本文先利用3×3大小的結(jié)構(gòu)體對(duì)二值化后圖像進(jìn)行腐蝕,再使用5×5大小的結(jié)構(gòu)體進(jìn)行膨脹,這樣不僅可消除孤立的白點(diǎn),而且能連通鄰近的非連通區(qū)域,實(shí)驗(yàn)結(jié)果如圖8所示。
圖8 形態(tài)學(xué)處理后圖像
由于采集的車輛圖像背景中存在藍(lán)色區(qū)域,因此在圖8中會(huì)存在多個(gè)車牌候選區(qū)域。為在最短的時(shí)間內(nèi)確定車牌所在區(qū)域,必須采取合適的策略對(duì)車牌候選區(qū)域進(jìn)行分析,使得包含車牌的區(qū)域優(yōu)先進(jìn)入行掃描紋理分析。通過實(shí)驗(yàn)分析,本文綜合考慮了各候選區(qū)域外接矩形的面積和長寬比,提出一種新的篩選方法,具體規(guī)則如下:
(1)計(jì)算各候選區(qū)域的面積與長寬比LWi,設(shè)定閥值T1,去除面積小于T1的候選區(qū)域。
(2)計(jì)算步驟 (1)處理后的候選區(qū)域外接矩形長寬比LWi,設(shè)定閾值T2,剔除長寬比LWi不在T2范圍內(nèi)的區(qū)域。
(3)將剩下的各候選區(qū)域的長寬比LWi與標(biāo)準(zhǔn)車牌長寬比LW 進(jìn)行比較并排序,再按設(shè)定的規(guī)則標(biāo)號(hào) (越接近標(biāo)準(zhǔn)的區(qū)域序號(hào)越小)。
中國的汽車車牌標(biāo)準(zhǔn)輪廓尺寸為440×140mm,長寬比為 3.14,故本文選取 T1=200,T2 ∈ [2,4],LW=3.14。
由于車牌圖像在二值化后具有黑白兩像素的紋理跳變特征,且車牌區(qū)域內(nèi)有7個(gè)連續(xù)的字符,字符間的間距較均勻,每個(gè)字符至少會(huì)出現(xiàn)2次跳變,因此車牌區(qū)域內(nèi)每行連續(xù)跳變個(gè)數(shù)會(huì)比其他非車牌區(qū)域多。在邊緣檢測后圖像中按序提取顏色分割后的標(biāo)號(hào)區(qū)域,利用行掃描算法分析該區(qū)域紋理跳變,確定車牌上下邊界。
水平定位算法步驟如下:
(1)自上而下、從左至右掃描區(qū)域中的行,計(jì)算每行連續(xù)跳變次數(shù)并用數(shù)組sum [i]保存 (數(shù)組下標(biāo)位置對(duì)應(yīng)行號(hào)),同時(shí)記錄每行連續(xù)跳變起始與終止位置。將像素點(diǎn)的值由0到255或由255到0記為一次跳變,記相鄰跳變距離在閾值T1范圍內(nèi)為連續(xù)跳變,其中T1的選取跟車輛圖像采集的參數(shù)有關(guān),本文中選取T1=10。
(2)設(shè)定閾值T2,分析數(shù)組sum [i]的值。如果數(shù)組中存在連續(xù)10個(gè)以上大于T2的值,則記錄該值的起止下標(biāo),即為車牌的上下邊界;否則取下一個(gè)標(biāo)記區(qū)域繼續(xù)掃描分析。
(3)根據(jù)車牌上下邊界的跳變起始與終止位置,確定車牌區(qū)域在原圖的位置。
由于車牌區(qū)域內(nèi)有7個(gè)連續(xù)的字符,每個(gè)字符至少存在2次跳變,所以取T2值為14,行掃描算法分析標(biāo)號(hào)區(qū)域每行紋理跳變個(gè)數(shù)及起始、終止位置,結(jié)果見表2。
從表2可知,車牌區(qū)域左上角和右下角在原圖中位置為 [184,192],[201,292]。截取原彩色圖像和二值化圖像中此坐標(biāo)區(qū)域,得到結(jié)果如圖9所示。
表2 行掃描分析結(jié)果
圖9 行掃描后得到車牌圖像
通過行掃描算法可精確定位車牌上下邊界,但左右邊界仍存在干擾區(qū)域,效果不是很理想。本文采用垂直投影法去除車牌左右兩邊的干擾。具體的算法步驟如下:
(1)在預(yù)處理二值化后圖像中提取行掃描算法得到的車牌區(qū)域;
(2)對(duì)步驟 (1)得到的二值化圖像先采用3×3的結(jié)構(gòu)體元素進(jìn)行形態(tài)學(xué)腐蝕運(yùn)算,再采用4×4大小的結(jié)構(gòu)體元素進(jìn)行膨脹處理,這樣既可以消除車牌左右兩邊的噪點(diǎn),又能夠?qū)④嚺茀^(qū)域連通。
(3)將步驟 (2)得到的圖像進(jìn)行垂直投影,計(jì)算每列的白點(diǎn)像素個(gè)數(shù),并保存到數(shù)組count[i]中;
(4)設(shè)定閾值T,對(duì)步驟 (3)得到的數(shù)組count[i]從左右兩邊分別尋找第一個(gè)大于T的值,即可確定車牌的左右邊界位置,其中閾值T的選取跟車輛圖像采集的參數(shù)有關(guān)。
通過垂直投影,可去除行掃描算法得到的車牌區(qū)域左右兩邊的干擾以及邊框,從而得到精確的車牌區(qū)域,如圖10所示。
圖10 垂直投影后得到精確的車牌圖像
為了驗(yàn)證基于HSI顏色空間和行掃描的車牌定位算法的準(zhǔn)確率,本文共采集了300張來自不同背景、不同角度的車輛圖像并在 Visual Studio 2010和 OpenCV 2.4.3平臺(tái)下進(jìn)行實(shí)驗(yàn)測試,定位準(zhǔn)確率達(dá)到98%。在硬件配置為CPU Intel 2.0GHz,內(nèi)存2G的計(jì)算機(jī)上運(yùn)行本程序,平均定位時(shí)間為0.24s。未能成功定位的6張車輛圖像主要是由于車牌傾斜過多以及采集時(shí)曝光不均等情況造成的。車牌傾斜過多會(huì)導(dǎo)致行掃描算法時(shí)定位不準(zhǔn)確,無法得到完整的車牌圖像,而曝光不均使得利用HSI顏色分割時(shí)得到車牌候選區(qū)域不準(zhǔn)確,因而無法得到真正的車牌區(qū)域。
在相同圖庫下將本文算法與行掃描算法、基于邊緣檢測和形態(tài)學(xué)算法以及基于HSV色彩空間和形態(tài)學(xué)算法進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果見表3。
表3 車牌定位算法比較
從表3可看出,本文提出的算法定位準(zhǔn)確率高。對(duì)比行掃描算法,本文算法先利用車牌顏色特征得到車牌的候選區(qū)域,再利用行掃描算法對(duì)候選區(qū)域進(jìn)行紋理分析,減少了行掃描的計(jì)算量,并考慮到行掃描算法在定位車牌左右邊界時(shí)并不精確,所以采用垂直投影算法定位車牌的左右邊界,因而準(zhǔn)確率更高。與基于邊緣檢測和形態(tài)學(xué)的車牌定位算法相比,本文算法綜合利用了車牌顏色、紋理、面積、長寬比等特征來進(jìn)行定位,比單一特征定位準(zhǔn)確率更高?;贖SV色彩空間和形態(tài)學(xué)算法先利用車牌的顏色特征得到車牌的候選區(qū)域,再利用數(shù)學(xué)形態(tài)學(xué)對(duì)候選區(qū)域進(jìn)行處理,使其連通,最后結(jié)合車牌的面積與長寬比得到車牌區(qū)域。但當(dāng)車牌的顏色與車身顏色相似或背景中存在顏色與大小跟車牌相近的區(qū)域時(shí),定位準(zhǔn)確率較低。而本文在利用車牌顏色、數(shù)學(xué)形態(tài)學(xué)以及車牌幾何特征得到候選區(qū)域后,再結(jié)合車牌的紋理特征進(jìn)行分析,因此得到的車牌區(qū)域會(huì)更精確。
本文分析了已有車牌定位算法的優(yōu)缺點(diǎn),提出了一種基于HSI顏色空間和行掃描的車牌定位算法。該算法充分利用了車牌的多重特征,算法的創(chuàng)新點(diǎn)就是在HSI顏色空間中分割車牌區(qū)域后,利用車牌幾何特征篩選候選區(qū)域并按設(shè)定規(guī)則標(biāo)號(hào),然后按序提取標(biāo)號(hào)區(qū)域在邊緣檢測后圖像中對(duì)應(yīng)的區(qū)域,利用行掃描算法對(duì)該區(qū)域進(jìn)行紋理分析,這樣使得包含車牌區(qū)域優(yōu)先處理,加快了定位速度,同時(shí)使用行掃描算法分析紋理特征時(shí)只分析符合車牌顏色的區(qū)域,降低了計(jì)算復(fù)雜度,縮短了定位時(shí)間。實(shí)驗(yàn)結(jié)果表明,該算法定位準(zhǔn)確率高,在車牌顏色與車身顏色接近、一張圖像中存在多個(gè)車牌等情況下也能定位成功,具有較強(qiáng)的實(shí)用性。
[1]LIU Meng,WU Chengdong,F(xiàn)AN Yuquan,et al.License plate position algorithm in complicated scenes [J].Journal of Image and Graphics,2010,15 (9):1357-1362 (in Chinese).[劉濛,吳成東,樊玉泉,等.復(fù)雜背景圖像中的車牌定位算法 [J].中國圖象圖形學(xué)報(bào),2010,15 (9):1357-1362.]
[2] WANG Cheng,LI Shaofa,HE Kai.Car plate localization method based on simplified pulse coupled neural network [J].Computer Engineering,2010,36 (24):178-182 (in Chinese).[王成,黎紹發(fā),何凱.基于簡化PCNN的車牌定位算法 [J].計(jì)算機(jī)工程,2010,36 (24):178-182.]
[3]LIAO Xiaojiao,LI Ying.A license plate location algorithm based on edge detection and morphology [J].Modern Electronics Technique,2011,34 (10):17-19 (in Chinese). [廖曉姣,李英.基于邊緣檢測和形態(tài)學(xué)的車牌定位算法 [J].現(xiàn)代電子技術(shù),2011,34 (10):17-19.]
[4]WANG Lei,WANG Hanli,HE Lianghua.License plate recognition based on double-edge detection [J].Computer Engineering and Applications,2013,49 (8):169-173 (in Chinese).[王磊,王瀚漓,何良華.基于雙邊緣檢測的車牌識(shí)別算法 [J].計(jì)算機(jī)工程與應(yīng)用,2013,49 (8):169-173.]
[5]LIAO Chunsheng.Car plate detection and recognition using morphological method [J].Computer Simulation,2011,28(12):353-356 (in Chinese).[廖春生.基于數(shù)學(xué)形態(tài)學(xué)車牌定位算法仿真研究 [J].計(jì)算機(jī)仿真,2011,28 (12):353-356.]
[6]LIU Yichuan,ZHENG Chunhong.Vehicle license plate location based on mathematical morphology and variance projection[C]//International Conference on Image Analysis and Signal Processing,2011:360-363.
[7]REN Dehua.Multi-license plate extraction based on color features in nature complex environment [J].Journal of Image and Graphics,2009,14 (12):2517-2525 (in Chinese). [任得華.自然復(fù)雜環(huán)境中基于顏色的多車牌定位研究 [J].中國圖象圖形學(xué)報(bào),2009,14 (12):2517-2525.]
[8]Vahid Abolghasemi,Alireza Ahmadyfars.An edge-based coloraided method for license plate detection [J].Image and Vision Computing,2009,27 (8):1134-1142.
[9]CHANG Qiaohong,GAO Mantun.Research on license plate location based on HSV color space and mathematical morphology [J].Journal of Graphic,2013,34 (4):159-162 (in Chinese).[常巧紅,高滿屯.基于HSV色彩空間和數(shù)學(xué)形態(tài)學(xué)的車牌定位研究 [J].圖學(xué)學(xué)報(bào),2013,34 (4):159-162.]
[10]LIU Xiongfei,LONG Qiaoyun,LI Gen,et al.License plate location algorithm based on line scanning and wavelet transform [J].Computer Applications and Software,2013,30(5):279-282 (in Chinese). [劉雄飛,龍巧云,李根,等.基于行掃描和小波變換的車牌定位算法 [J].計(jì)算機(jī)應(yīng)用與軟件,2013,30 (5):279-282.]
[11]LI Wenju,WEI Lihua,WANG Hongdong,et al.License plate location method using comprehensive features [J].Mini-MicroSystem,2011,22 (8):156-170 (in Chinese). [李文舉,韋麗華,王洪東,等.利用綜合特征的車牌定位方法[J].小型微型計(jì)算機(jī)系統(tǒng),2011,22 (8):156-170.]
[12]HAN Liming,WANG Botao.Research and implementation on key technology in license plate recognition system [J].Computer Engineering and Design,2010,31 (17):3919-3923(in Chinese).[韓立明,王波濤.車牌識(shí)別技術(shù)中關(guān)鍵技術(shù)的研究與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(17):3919-3923.]