胡峰松,朱 浩
(湖南大學 信息科學與工程學院,湖南 長沙410082)
近年來車牌定位算法受到許多研究者的關注,主要在以下方面取得了相應成果:基于紋理特征分析的算法[1,2],該算法對光照不均、車牌傾斜等情況定位較好,但當車牌背景較復雜時,易將圖像中紋理分布類似車牌的區(qū)域定位進來,不但增加了計算難度,而且容易造成車牌誤定位;基于邊緣檢測和形態(tài)學的算法[3-6],該算法對邊緣特征簡單的車牌圖像能快速定位,但當圖像中疑似車牌區(qū)域較多或車輛前身邊緣較復雜時,誤定率較高;基于顏色分割的車牌定位算法[7-9],該算法充分利用車牌區(qū)域的顏色特征,當車牌區(qū)域顏色與車身顏色存在較大差異時,定位準確率高,而當車牌顏色與車身顏色相近時,該算法難以準確定位。針對以上算法的特點與不足,提出一種基于HSI顏色空間和行掃描的車牌定位算法。該算法綜合利用了車牌的顏色特征、幾何特征以及紋理特征,克服了單一利用某種特征所引起的定位誤差,且采用行掃描算法分析按序提取標號候選區(qū)域的紋理特征時,優(yōu)先處理包含車牌的候選區(qū)域,加快了定位速度;另外利用行掃描算法對車牌候選區(qū)域進行紋理分析時,只需掃描符合車牌顏色的候選區(qū)域,降低了計算復雜度。
由于采集的車輛圖像是彩色圖像,處理前需將其灰度化。本文采用加權平均值法進行灰度化處理,如式 (1)所示
式中:f(x,y)——坐 標 點 為 (x,y)的 灰 度 值,R(x,y),G(x,y),B(x,y)——圖像中坐標點為 (x,y)的紅色分量、綠色分量以及藍色分量的值,Wr,Wg,Wb——R(x,y),G(x,y),B(x,y)的權值,當 Wr,Wg,Wb取不同值時,加權平均值法形成的灰度圖像也不相同。根據(jù)實驗和理論推導可知,當Wr=0.30,Wg=0.59,Wb=0.11時,即當f(x,y)=0.30*R(x,y)+0.59*G(x,y)+0.11*B(x,y)時,得到的灰度圖像最合理。
由于采集的車輛圖像取自不同的自然環(huán)境,背景較復雜,尤其在曝光不足或過度情況下,圖像的灰度值將局限于小范圍內,此時得到的圖像模糊不清,影響車牌定位與識別。因此需增強灰度化后的圖像,改善圖像質量,提高識別率。本文利用數(shù)學形態(tài)學高帽與低帽變換實現(xiàn)對灰度圖像的增強。圖像f(x,y)的高帽變換h(x,y)定義為圖像f(x,y)與該圖像開運算之差,如式 (2)所示
式中:f(x,y)——原灰度圖像,s結構元素,f(x,y)s——使用結構元素s對圖像f(x,y)進行開運算。
圖像f(x,y)的低帽變換l(x,y)定義為圖像f(x,y)與該圖像閉運算之差,可表示為式 (3)
式中:f(x,y)·s——使用結構元素s對圖像f(x,y)進行閉運算。
利用高帽變換與低帽變換增強灰度圖像,如式 (4)所示
式中:gray(x,y)——灰度增強后的圖像。
由于車牌在二值圖像中存在黑白兩像素跳變的紋理特征,而行掃描算法[10]主要是根據(jù)區(qū)域連續(xù)跳變數(shù)目來判斷是否該區(qū)域包含車牌并確定車牌的上下邊界,因此需要對增強后圖像二值化。因最大類間方差法 (OSTU)計算簡單,自動選擇閥值,二值化效果好,故本文選取該方法進行二值化。
由于二值化后的車輛圖像存在一些孤立點和小區(qū)域,因此需要對圖像腐蝕去除干擾。本文采用3×3大小的結構體元素對二值化后的圖像進行形態(tài)學腐蝕,消除圖像中的孤立點和小區(qū)域。
我國車牌區(qū)域中字符顏色和車牌底色存在較大差異,且車牌區(qū)域內有多個水平排列的字符并存在豐富的邊緣,呈現(xiàn)規(guī)則的紋理特征。因此可采用邊緣檢測算子突出圖像中車牌區(qū)域。常用的邊緣檢測算子有Roberts、Log、Prewitt、Sobel和Canny等。其中Roberts算子利用局部差分算子檢測圖像邊緣,但容易丟失一部分邊緣,并且未對圖像進行平滑處理,無法抑制噪聲。Log算子檢測圖像邊緣時會出現(xiàn)雙邊緣像素邊界,并且該算子對噪聲較敏感。Prewitt算子利用圖像各像素點上下、左右鄰點的灰度差,在邊緣處達到極值時檢測邊緣,能去掉部分偽邊緣,對噪聲具有平滑作用。與Prewitt算子相比,Sobel算子對圖像中各像素的位置的影響做了加權處理,降低了邊緣模糊程度。Canny算子雖然邊緣檢測效果較好,但是容易平滑掉一些邊緣信息。對比以上幾種邊緣檢測算子,發(fā)現(xiàn)Sobel算子能抑制噪聲,且可檢測水平和垂直邊緣,而我國汽車車牌區(qū)域內字符在垂直方向上邊緣特征較明顯,因此本文選取了Sobel算子來檢測圖像的邊緣信息,其水平方向Sobel算子如式 (5)所示
垂直方向Sobel算子如式 (6)所示
本文為減少計算量,所以將原圖像從1280×960壓縮為640×480像素,再對壓縮后圖像灰度化,其壓縮后圖像和灰度圖像分別如圖1和圖2所示。
圖1 壓縮后圖像
圖2 灰度圖像
接著利用形態(tài)學高帽與低帽變換增強灰度圖像的對比度,再通過OSTU算法二值化增強后圖像,實驗結果分別如圖3和圖4所示。
圖3 灰度增強圖像
圖4 二值化圖像
從圖4可看出,圖像中存在孤立的小白點,因此需先采用形態(tài)學腐蝕運算來消除,再利用Sobel算子對處理后圖像進行邊緣檢測,如圖5所示。
圖5 形態(tài)學腐蝕與邊緣檢測后圖像
本文綜合利用車牌的顏色、面積、長寬比、紋理等多重特征,提出了一種基于HSI顏色空間和行掃描的車牌定位算法,具體流程如圖6所示。
(1)預處理:首先將彩色車輛圖像灰度化,利用形態(tài)學高帽與低帽變換增強圖像對比度,再采用OSTU算法二值化增強后圖像并用腐蝕運算消除孤立白點,最后利用Sobel算子進行邊緣檢測。
(2)將彩色車牌圖像從RGB顏色空間轉為HSI顏色空間。
(3)顏色分割:根據(jù)我國已有的車牌顏色,設置約束條件,并遍歷轉換后圖像的每個像素點,將符合約束條件的點的像素值設為255,否則設為0。
(4)連通域分析與標號:對顏色分割后的圖像執(zhí)行數(shù)學形態(tài)學開運算,去除干擾并使相鄰區(qū)域連通。分析圖像中各候選區(qū)域外接矩形的面積與長寬比,設定閾值,剔除面積及長寬比不在閾值范圍內的區(qū)域。將剩下各連通區(qū)域的長寬比與標準車牌長寬比進行比較并排序,再按設定的規(guī)則標號 (越接近標準的區(qū)域序號越?。?。
(5)行掃描分析:按序提取標號區(qū)域在預處理后圖像中對應的區(qū)域,利用行掃描算法分析該區(qū)域紋理跳變,判斷該區(qū)域是否包含車牌,若包含則記錄車牌的上下邊界以及存在干擾的左右邊界,進入步驟 (6);否則提取下一塊標號區(qū)域進行掃描分析,重復直至獲取車牌區(qū)域。
(6)垂直投影:在預處理二值化后的圖像中截取步驟(5)得到的區(qū)域并利用形態(tài)學開運算處理,對處理后圖像垂直投影,設定閾值,去除左右兩邊的干擾,得到精確的車牌區(qū)域。
圖6 車牌定位算法流程
由于采集得到的車輛圖像均是RGB模型,且該模型下R、G、B這3個分量對光線的強弱較敏感,因此RGB模型不適合進行彩色分割。而HSI顏色模型使用色度 (H)、飽和度 (S)和亮度 (I)描述顏色,更符合人的視覺特性。因此本文選取HSI顏色模型對車輛圖像進行彩色分割。將彩色車輛圖像從RGB轉換為HSI顏色空間,其轉換式如式(7)~式 (10)所示
其中
中國的車牌類型分為藍底白字、黃底黑字、白底黑字和黑底白字4種,本文以藍底白字的車輛牌照為例進行顏色分割。首先將彩色車輛圖像從RGB顏色空間轉換為HIS顏色空間,通過實驗測試統(tǒng)計得出HSI顏色空間中車牌顏色的取值見表1。
表1 車牌顏色在HSI空間中取值范圍
從表1中可知藍色車牌的取值范圍為:H∈ [161,301],S∈ [0.25,1],I∈ [0.25,1]。遍歷轉換后圖像中各像素點的值,將符合取值范圍的像素點的值設為1,否則設為0,得到二值化后的車牌圖像如圖7所示。
圖7 顏色分割二值化后圖像
從圖7可看出,圖中仍存在孤立的小白點,因此需用腐蝕方法進行消除。本文先利用3×3大小的結構體對二值化后圖像進行腐蝕,再使用5×5大小的結構體進行膨脹,這樣不僅可消除孤立的白點,而且能連通鄰近的非連通區(qū)域,實驗結果如圖8所示。
圖8 形態(tài)學處理后圖像
由于采集的車輛圖像背景中存在藍色區(qū)域,因此在圖8中會存在多個車牌候選區(qū)域。為在最短的時間內確定車牌所在區(qū)域,必須采取合適的策略對車牌候選區(qū)域進行分析,使得包含車牌的區(qū)域優(yōu)先進入行掃描紋理分析。通過實驗分析,本文綜合考慮了各候選區(qū)域外接矩形的面積和長寬比,提出一種新的篩選方法,具體規(guī)則如下:
(1)計算各候選區(qū)域的面積與長寬比LWi,設定閥值T1,去除面積小于T1的候選區(qū)域。
(2)計算步驟 (1)處理后的候選區(qū)域外接矩形長寬比LWi,設定閾值T2,剔除長寬比LWi不在T2范圍內的區(qū)域。
(3)將剩下的各候選區(qū)域的長寬比LWi與標準車牌長寬比LW 進行比較并排序,再按設定的規(guī)則標號 (越接近標準的區(qū)域序號越?。?。
中國的汽車車牌標準輪廓尺寸為440×140mm,長寬比為 3.14,故本文選取 T1=200,T2 ∈ [2,4],LW=3.14。
由于車牌圖像在二值化后具有黑白兩像素的紋理跳變特征,且車牌區(qū)域內有7個連續(xù)的字符,字符間的間距較均勻,每個字符至少會出現(xiàn)2次跳變,因此車牌區(qū)域內每行連續(xù)跳變個數(shù)會比其他非車牌區(qū)域多。在邊緣檢測后圖像中按序提取顏色分割后的標號區(qū)域,利用行掃描算法分析該區(qū)域紋理跳變,確定車牌上下邊界。
水平定位算法步驟如下:
(1)自上而下、從左至右掃描區(qū)域中的行,計算每行連續(xù)跳變次數(shù)并用數(shù)組sum [i]保存 (數(shù)組下標位置對應行號),同時記錄每行連續(xù)跳變起始與終止位置。將像素點的值由0到255或由255到0記為一次跳變,記相鄰跳變距離在閾值T1范圍內為連續(xù)跳變,其中T1的選取跟車輛圖像采集的參數(shù)有關,本文中選取T1=10。
(2)設定閾值T2,分析數(shù)組sum [i]的值。如果數(shù)組中存在連續(xù)10個以上大于T2的值,則記錄該值的起止下標,即為車牌的上下邊界;否則取下一個標記區(qū)域繼續(xù)掃描分析。
(3)根據(jù)車牌上下邊界的跳變起始與終止位置,確定車牌區(qū)域在原圖的位置。
由于車牌區(qū)域內有7個連續(xù)的字符,每個字符至少存在2次跳變,所以取T2值為14,行掃描算法分析標號區(qū)域每行紋理跳變個數(shù)及起始、終止位置,結果見表2。
從表2可知,車牌區(qū)域左上角和右下角在原圖中位置為 [184,192],[201,292]。截取原彩色圖像和二值化圖像中此坐標區(qū)域,得到結果如圖9所示。
表2 行掃描分析結果
圖9 行掃描后得到車牌圖像
通過行掃描算法可精確定位車牌上下邊界,但左右邊界仍存在干擾區(qū)域,效果不是很理想。本文采用垂直投影法去除車牌左右兩邊的干擾。具體的算法步驟如下:
(1)在預處理二值化后圖像中提取行掃描算法得到的車牌區(qū)域;
(2)對步驟 (1)得到的二值化圖像先采用3×3的結構體元素進行形態(tài)學腐蝕運算,再采用4×4大小的結構體元素進行膨脹處理,這樣既可以消除車牌左右兩邊的噪點,又能夠將車牌區(qū)域連通。
(3)將步驟 (2)得到的圖像進行垂直投影,計算每列的白點像素個數(shù),并保存到數(shù)組count[i]中;
(4)設定閾值T,對步驟 (3)得到的數(shù)組count[i]從左右兩邊分別尋找第一個大于T的值,即可確定車牌的左右邊界位置,其中閾值T的選取跟車輛圖像采集的參數(shù)有關。
通過垂直投影,可去除行掃描算法得到的車牌區(qū)域左右兩邊的干擾以及邊框,從而得到精確的車牌區(qū)域,如圖10所示。
圖10 垂直投影后得到精確的車牌圖像
為了驗證基于HSI顏色空間和行掃描的車牌定位算法的準確率,本文共采集了300張來自不同背景、不同角度的車輛圖像并在 Visual Studio 2010和 OpenCV 2.4.3平臺下進行實驗測試,定位準確率達到98%。在硬件配置為CPU Intel 2.0GHz,內存2G的計算機上運行本程序,平均定位時間為0.24s。未能成功定位的6張車輛圖像主要是由于車牌傾斜過多以及采集時曝光不均等情況造成的。車牌傾斜過多會導致行掃描算法時定位不準確,無法得到完整的車牌圖像,而曝光不均使得利用HSI顏色分割時得到車牌候選區(qū)域不準確,因而無法得到真正的車牌區(qū)域。
在相同圖庫下將本文算法與行掃描算法、基于邊緣檢測和形態(tài)學算法以及基于HSV色彩空間和形態(tài)學算法進行對比,實驗結果見表3。
表3 車牌定位算法比較
從表3可看出,本文提出的算法定位準確率高。對比行掃描算法,本文算法先利用車牌顏色特征得到車牌的候選區(qū)域,再利用行掃描算法對候選區(qū)域進行紋理分析,減少了行掃描的計算量,并考慮到行掃描算法在定位車牌左右邊界時并不精確,所以采用垂直投影算法定位車牌的左右邊界,因而準確率更高。與基于邊緣檢測和形態(tài)學的車牌定位算法相比,本文算法綜合利用了車牌顏色、紋理、面積、長寬比等特征來進行定位,比單一特征定位準確率更高。基于HSV色彩空間和形態(tài)學算法先利用車牌的顏色特征得到車牌的候選區(qū)域,再利用數(shù)學形態(tài)學對候選區(qū)域進行處理,使其連通,最后結合車牌的面積與長寬比得到車牌區(qū)域。但當車牌的顏色與車身顏色相似或背景中存在顏色與大小跟車牌相近的區(qū)域時,定位準確率較低。而本文在利用車牌顏色、數(shù)學形態(tài)學以及車牌幾何特征得到候選區(qū)域后,再結合車牌的紋理特征進行分析,因此得到的車牌區(qū)域會更精確。
本文分析了已有車牌定位算法的優(yōu)缺點,提出了一種基于HSI顏色空間和行掃描的車牌定位算法。該算法充分利用了車牌的多重特征,算法的創(chuàng)新點就是在HSI顏色空間中分割車牌區(qū)域后,利用車牌幾何特征篩選候選區(qū)域并按設定規(guī)則標號,然后按序提取標號區(qū)域在邊緣檢測后圖像中對應的區(qū)域,利用行掃描算法對該區(qū)域進行紋理分析,這樣使得包含車牌區(qū)域優(yōu)先處理,加快了定位速度,同時使用行掃描算法分析紋理特征時只分析符合車牌顏色的區(qū)域,降低了計算復雜度,縮短了定位時間。實驗結果表明,該算法定位準確率高,在車牌顏色與車身顏色接近、一張圖像中存在多個車牌等情況下也能定位成功,具有較強的實用性。
[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).[劉濛,吳成東,樊玉泉,等.復雜背景圖像中的車牌定位算法 [J].中國圖象圖形學報,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].計算機工程,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)學的車牌定位算法 [J].現(xiàn)代電子技術,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).[王磊,王瀚漓,何良華.基于雙邊緣檢測的車牌識別算法 [J].計算機工程與應用,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ù)學形態(tài)學車牌定位算法仿真研究 [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). [任得華.自然復雜環(huán)境中基于顏色的多車牌定位研究 [J].中國圖象圖形學報,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ù)學形態(tài)學的車牌定位研究 [J].圖學學報,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].計算機應用與軟件,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].小型微型計算機系統(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).[韓立明,王波濤.車牌識別技術中關鍵技術的研究與實現(xiàn) [J].計算機工程與設計,2010,31(17):3919-3923.]