李 金,宮寧生,張 蕾
(南京工業(yè)大學(xué) 電子與信息工程學(xué)院,江蘇 南京 211816)
基于改進(jìn)的K-means的車牌字符分割
李 金,宮寧生,張 蕾
(南京工業(yè)大學(xué) 電子與信息工程學(xué)院,江蘇 南京 211816)
提出了一種基于改進(jìn)的K-means的車牌字符分割方法。該方法首先利用均值跳變法對車牌區(qū)域進(jìn)行精確定位,再利用改進(jìn)的K-means算法對車牌字符進(jìn)行聚類,最后根據(jù)K-means算法得到的聚類中心對車牌字符進(jìn)行分割。實(shí)驗(yàn)結(jié)果表明,該方法能夠準(zhǔn)確地分割出車牌字符,且具有較強(qiáng)的抗干擾性。
車牌字符分割;均值跳變;K-means
隨著現(xiàn)代社會的發(fā)展,對交通的管理趨于智能化,其中車牌識別是智能交通系統(tǒng)一個(gè)很重要的組成部分。目前車牌自動(dòng)識別主要用在高速公路收費(fèi)站、道路交通情況監(jiān)測、停車場等場合。車牌識別系統(tǒng)主要包括3個(gè)部分:車牌定位、車牌字符分割、車牌字符識別。其中車牌字符分割是車牌識別系統(tǒng)中很重要的一個(gè)環(huán)節(jié),字符分割的準(zhǔn)確度直接決定后面字符識別的正確與否。
目前常用的車牌字符分割方法主要有垂直投影法、基于Hough變換的方法、基于聚類分析的方法及質(zhì)量退化法等。本文提出了一種基于改進(jìn)的K-means的車牌字符分割方法,該方法通過改進(jìn)的K-means方法,對精確定位后的車牌字符進(jìn)行聚類,進(jìn)而對車牌字符進(jìn)行分割。通過實(shí)驗(yàn)證明,該方法能較準(zhǔn)確地分割出字符,具有很強(qiáng)的實(shí)用性。
本文的車牌字符分割是建立在車牌已經(jīng)初步定位的基礎(chǔ)之上,由于初步定位得到的車牌圖像還含有邊框、鉚釘?shù)?,會對后續(xù)的操作造成影響,因此,需要對車牌進(jìn)行精確定位。
1.1 圖像的均衡化
初次定位后得到的車牌區(qū)域包含大量的色彩信息,為便于處理,需要將其變成灰度圖像。同時(shí),由于圖片采集時(shí)的環(huán)境、照明等條件互不相同,使得圖片的亮度也互不相同。為了提高圖像對比度,需要對其進(jìn)行均衡化處理,即將特定區(qū)域內(nèi)的像素拉開,使得它們均勻地分布在整個(gè)灰度空間中。
1.2 圖像的二值化
為了突出車牌底色與字符的區(qū)別,需要對其進(jìn)行二值化處理。在這里選擇OTSU算法(最大類間方差法),該算法被認(rèn)為是圖像分割中閾值選取的最佳算法。
該算法的主要思想是按圖像的灰度特性,將圖像分成背景和目標(biāo)兩部分。背景和目標(biāo)之間的類間方差越大,說明構(gòu)成圖像的兩部分差別越大。其表達(dá)式如下
σ2=ω0(u0-u)2+ω1(u1-u)2=ω0ω1(u0-u1)2
(1)
式中:σ2為類間方差;ω0為目標(biāo)的像素點(diǎn)數(shù)占整幅圖像的比例;ω1為背景的像素點(diǎn)數(shù)占整幅圖像的比例;u0為目標(biāo)像素點(diǎn)的平均灰度;u1為背景像素點(diǎn)的平均灰度;u為整個(gè)圖像的平均灰度。
源圖像和經(jīng)過二值化處理后的圖像如圖1和圖2所示。
圖1 源圖像
圖2 二值化
1.3 均值跳變法
對前文二值化后的圖像,采用均值跳變法來確定車牌字符區(qū)域的上、下、左、右4個(gè)邊界。具體算法步驟如下:
1)將二值化后的圖像等分成若干個(gè)包含3×3像素點(diǎn)的小方格,如圖3所示。
圖3 分成小方格后的車牌
2)由上到下逐行遍歷小方格,統(tǒng)計(jì)每個(gè)小方格中包含像素點(diǎn)為0的點(diǎn)的個(gè)數(shù),并計(jì)算每行中像素點(diǎn)為0的點(diǎn)的個(gè)數(shù)的均值。
3)由圖像的中間行分別向上、向下逐行遍歷,當(dāng)向上遍歷時(shí),若相鄰兩行中,下面一行方格的均值大于0.5,且上面一行方格的均值小于0.5,則可以認(rèn)為上面一行為字符的上邊界;當(dāng)向下遍歷時(shí),若相鄰兩行中,上面一行方格的均值大于1,且下面一行方格的均值小于1,則可以認(rèn)為下面一行為字符的下邊界。
4)在步驟3)確定的上下邊界基礎(chǔ)之上,從左到右逐列遍歷小方格,統(tǒng)計(jì)每個(gè)小方格中包含像素點(diǎn)為0的點(diǎn)的個(gè)數(shù),并計(jì)算每列中像素點(diǎn)為0的點(diǎn)的個(gè)數(shù)的均值。
5)由圖像的兩端分別向右、向左逐列遍歷,當(dāng)向右遍歷時(shí),若相鄰兩列中,左邊一列方格的均值小于1,且右邊一列方格的均值大于1,則可以認(rèn)為左邊一列為字符的左邊界;當(dāng)向左遍歷時(shí),若相鄰兩列中,右邊一列方格的均值小于1,且左邊一列方格的均值大于1,則可以認(rèn)為右邊一列為字符的右邊界。
經(jīng)過均值跳變法精確定位的車牌區(qū)域如圖4所示,圖中矩形框?yàn)榫_定位后的車牌區(qū)域。
圖4 精確定位后的車牌
(2)
聚類中心為
(3)
輸入:聚類的數(shù)目k和包含n個(gè)對象的數(shù)據(jù)集。
輸出:滿足目標(biāo)函數(shù)值最小的k個(gè)簇。
1)從n個(gè)數(shù)據(jù)對象中任意選擇k個(gè)作為初始聚類中心;
2)根據(jù)每個(gè)聚類對象的均值,計(jì)算每個(gè)對象與這些中心對象的距離,并且根據(jù)最小距離重新對相應(yīng)的對象進(jìn)行劃分;
3)重新計(jì)算每個(gè)聚類的均值;
4)循環(huán)2)和3),直到目標(biāo)函數(shù)E不再發(fā)生變化為止。
3.1 改進(jìn)的K-means算法
通過觀察車牌的特征可知,一般的車牌只有7個(gè)字符,且其相對位置比較固定,為了提高K-means算法的效率,可以自行選定初始聚類中心,而不采用隨機(jī)產(chǎn)生的方法。改進(jìn)的K-means算法具體步驟如下:
輸入:聚類的數(shù)目k和包含n個(gè)對象的數(shù)據(jù)集。
輸出:滿足目標(biāo)函數(shù)值最小的k個(gè)簇。
1)選擇7個(gè)字符的中心點(diǎn)作為初始聚類中心;
2)根據(jù)每個(gè)聚類對象的均值,計(jì)算每個(gè)對象與這些中心對象的距離,并且根據(jù)最小距離重新對相應(yīng)的對象進(jìn)行劃分;
3)重新計(jì)算每個(gè)聚類的均值;
4)循環(huán)2)和3),直到目標(biāo)函數(shù)E不再發(fā)生變化為止。
3.2 字符分割方法
字符分割方法步驟為:
1)以車牌圖片的左上角為零點(diǎn),逐行掃描圖片,統(tǒng)計(jì)圖片中像素點(diǎn)為0的個(gè)數(shù)及其坐標(biāo)。
2)選取7個(gè)車牌字符的中心點(diǎn)作為初始聚類的中心,如圖5所示。
圖5 初始聚類中心
3)使用改進(jìn)后的K-means算法對車牌字符進(jìn)行聚類,將1)中點(diǎn)的坐標(biāo)作為K-means算法的輸入,則經(jīng)過改進(jìn)的K-means算法聚類后得到的車牌字符如圖6所示。
4)根據(jù)K-means算法得到7個(gè)車牌字符的最終聚類中心,坐標(biāo)數(shù)據(jù)如表1所示。
圖6 K-means算法聚類后的圖像
表1 聚類中心坐標(biāo)
5)根據(jù)4)中得到的聚類中心橫坐標(biāo),分別向左、向右擴(kuò)展9個(gè)像素作為邊界分割字符,其中第一個(gè)字符僅需向右擴(kuò)展9個(gè)像素點(diǎn),以圖片的左邊界作為其左邊界,最后一個(gè)字符僅需向左擴(kuò)展9個(gè)像素點(diǎn),以圖片的右邊界作為其右邊界,則字符分割示意圖如圖7所示。
圖7 字符分割示意圖
6)分割后的字符有可能大小不一樣,為了便于后續(xù)的字符識別操作,需要對得到的車牌進(jìn)行調(diào)整大小,這里將車牌字符大小統(tǒng)一調(diào)整為20×30像素,調(diào)整后的字符圖像如圖8所示。
圖8 調(diào)整后的字符
本文中所有算法的實(shí)現(xiàn)都是基于VS2010和OpenCV開源視覺庫,實(shí)驗(yàn)隨機(jī)選取了50張圖片,這些圖片都是由關(guān)卡固定的攝像頭拍攝的,且正對車頭方向,經(jīng)過車牌初步定位后得到。限于篇幅,本文只選擇了其中的2幅車牌分割實(shí)驗(yàn)效果圖,如圖9所示。
圖9 車牌分割效果圖
由于經(jīng)典的垂直投影法簡單易于實(shí)現(xiàn),經(jīng)常用于車牌字符分割方法中。因此利用上述50幅圖像,將本文算法與垂直投影法做比較。采用垂直投影法,其字符分割效果如圖10所示。
通過對比投影法和本文算法可知,本文算法成功分割的正確率更高,達(dá)到了98%,而投影法分割成功的正確率只有88%。由此可見,運(yùn)用本文算法分割字符具有較好的魯棒性,實(shí)驗(yàn)結(jié)果如表2所示。
圖10 垂直投影法
表2 實(shí)驗(yàn)結(jié)果對比
本文提出的算法利用均值跳變法對車牌進(jìn)行精確定位,再利用改進(jìn)的K-means算法對車牌字符進(jìn)行聚類后分割,經(jīng)實(shí)驗(yàn)證明該方法抗干擾能力強(qiáng),車牌字符分割的準(zhǔn)確度高,具有很強(qiáng)的實(shí)用性。
[1]劉海波,沈晶,郭聳.VisualC++數(shù)字圖像處理技術(shù)詳解[M].北京:機(jī)械工業(yè)出版社,2010:246-249.
[2]汪中,劉貴全,陳恩紅.一種優(yōu)化初始中心點(diǎn)的K-means算法[J].模式識別與人工智能,2009,22(2):299-304.
[3]張?jiān)苿?,張長水. 利用Hough變換和先驗(yàn)知識的車牌字符分割算法[J].計(jì)算機(jī)學(xué)報(bào),2004,27(1):130-135.
[4]甘玲,林小晶. 基于連通域提取的車牌字符分割算法[J].計(jì)算機(jī)仿真,2011,28(4):336-339.
[5]遲曉君,孟慶春. 基于投影特征值的車牌字符分割算法[J].計(jì)算機(jī)應(yīng)用研究,2006(7):256-257.
[6]瞿中,李夢露,常慶麗,等. 退化車牌字符的兩級分割算法研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(7):2465-2469.
[7]白建華. 車牌字符分割及識別算法研究[D].西安:西安電子科技大學(xué),2010.
[8]胡金鳳. 車牌字符分割和識別算法研究[D].重慶:重慶大學(xué),2010.
李 金(1989— ),碩士生,研究方向?yàn)閳D像處理;
宮寧生(1958— ),教授,碩士生導(dǎo)師,研究方向?yàn)槟J阶R別、圖像處理;
張 蕾(1989— ),女,碩士生,研究方向?yàn)閳D像處理。
責(zé)任編輯:任健男
License Plate Character Segmentation Based on Improved K-means Algorithm
LI Jin,GONG Ningsheng,ZHANG Lei
(CollegeofElectronicsandInformationEngineering,NanjingUniversityofTechnology,Nanjing211816,China)
A character segmentation method of license plate is proposed based on improved K-means algorithm. This method firstly uses the mean jump method to locate the license plate precisely. And the character of license plate is clustered by using improved K-means algorithm. Finally, according to the cluster center, which is acquired by K-means algorithm, segment the character of license plate. The experimental results show that this method can segment the character of license plate accurately, and has a strong anti-interference.
license plate character segmentation;mean jump;K-means
國家重點(diǎn)基礎(chǔ)研究發(fā)展計(jì)劃項(xiàng)目(2005CB321901);軟件開發(fā)環(huán)境國家重點(diǎn)開放實(shí)驗(yàn)室開放課題(BUAA-SKLSDE-09KF-03)
TP391
A
10.16280/j.videoe.2015.01.034
2014-05-11
【本文獻(xiàn)信息】李金,宮寧生,張蕾.基于改進(jìn)的K-means的車牌字符分割[J].電視技術(shù),2015,39(1).