谷學(xué)靜,李宗輝
(1.河北聯(lián)合大學(xué)電氣工程學(xué)院,河北唐山 063009;2.河北聯(lián)合大學(xué)信息工程學(xué)院,河北唐山 063009;)
隨著城市的發(fā)展和汽車(chē)的普及,道路交通問(wèn)題日益嚴(yán)重,主要體現(xiàn)在:道路擁擠、運(yùn)輸效率低、交通事故率高、環(huán)境惡化等。交通問(wèn)題已成為世界各國(guó)大中城市共同面臨的問(wèn)題。由于資源、環(huán)境等條件的限制,傳統(tǒng)依靠增大道路建設(shè)量、提高路網(wǎng)容量解決交通問(wèn)題的方法已經(jīng)無(wú)法滿足現(xiàn)代城市道路交通的需要。在這種境況下,人們提出了智能交通系統(tǒng)(Intelligent Transportation System,ITS)的概念:從系統(tǒng)的觀點(diǎn)出發(fā),綜合考慮車(chē)輛和道路設(shè)施,依靠科學(xué)管理、運(yùn)用現(xiàn)代科技手段解決道路交通問(wèn)題。20世紀(jì)80年代中期以來(lái),計(jì)算機(jī)和通信技術(shù)的快速發(fā)展,為ITS技術(shù)的發(fā)展創(chuàng)造了良好的條件??梢哉f(shuō)ITS技術(shù)是以計(jì)算機(jī)技術(shù)和通信技術(shù)為基礎(chǔ)的。發(fā)展ITS技術(shù)的目的,在于減少交通擁擠和提高整個(gè)交通運(yùn)輸系統(tǒng)的效率以及為駕駛員提高良好的信息服務(wù)和安全舒適的駕駛環(huán)境。
智能交通系統(tǒng)就是將先進(jìn)的信息技術(shù)、數(shù)據(jù)通訊傳輸技術(shù)、電子傳感技術(shù)、電子控制技術(shù)以及計(jì)算機(jī)處理技術(shù)等有效地集成運(yùn)用于整個(gè)交通運(yùn)輸管理體系,而建立起的一種在大范圍內(nèi)、全方位發(fā)揮作用的,實(shí)時(shí)、準(zhǔn)確、高效的綜合運(yùn)輸和管理系統(tǒng)[1]。
隨著智能交通的不斷發(fā)展,計(jì)算機(jī)視覺(jué)技術(shù)對(duì)車(chē)輛數(shù)目、車(chē)型、車(chē)速、車(chē)流量、車(chē)輛密度、車(chē)輛隊(duì)列長(zhǎng)度以及車(chē)牌等內(nèi)容的采集和識(shí)別,在智能交通中占據(jù)著十分重要的地位。車(chē)牌自動(dòng)識(shí)別系統(tǒng)[2](License Plate Recognition簡(jiǎn)稱(chēng)LPR)是智能交通系統(tǒng)的核心。該系能從一張車(chē)輛圖像中自動(dòng)提取車(chē)牌圖像,自動(dòng)分割字符,得到車(chē)牌號(hào)碼。
車(chē)牌自動(dòng)識(shí)別系統(tǒng)主要由以下幾個(gè)模塊組成[3]:圖像采集,車(chē)牌定位,字符分割,字符識(shí)別及傳輸。本文基于數(shù)學(xué)二值形態(tài)學(xué)原理解決車(chē)牌定位和字符分割問(wèn)題。
由于智能交通系統(tǒng)的環(huán)境比較復(fù)雜,例如光照條件,車(chē)牌褪色,車(chē)牌開(kāi)裂等,所以得到的圖像存在較大的噪聲,不能直接用于車(chē)牌的定位,需要進(jìn)行圖像的預(yù)處理,盡可能的去除噪聲對(duì)圖像的干擾,方便對(duì)車(chē)牌的定位。光照的影響是所有基于圖像的系統(tǒng)所需要克服的問(wèn)題。由于基于交通檢測(cè)系統(tǒng)是全天候的應(yīng)用系統(tǒng),視頻檢測(cè)和跟蹤算法應(yīng)該使用于各種光照下的應(yīng)用場(chǎng)合。尤其是在光照不充分的情況下,比如陰天、雨天、雪天,圖像的對(duì)比度比較低,會(huì)影響車(chē)輛檢測(cè)和跟蹤的正確性。由于是戶外場(chǎng)景,下雨、下雪、刮風(fēng)引起的樹(shù)木搖動(dòng)或者惡劣天氣等會(huì)在畫(huà)面上產(chǎn)生各種噪聲,另外光照條件的不同也會(huì)導(dǎo)致圖像發(fā)生變化,還有影子的影響,以及移動(dòng)車(chē)輛的一部分被遮擋等因素,這些都使得目標(biāo)的提取變得更加困難。
考慮到光照條件的不同和車(chē)牌褪色等問(wèn)題,本方法在車(chē)牌預(yù)處理及車(chē)牌定位中采用了edge函數(shù)運(yùn)用robert算子對(duì)圖像進(jìn)行二值化操作,這樣就很好地去除了光照條件和車(chē)牌褪色引起的噪聲。roberts[4]算子是一種邊緣檢測(cè)算子。根據(jù)任一相互垂直方向上的差分都可用來(lái)估計(jì)梯度,roberts算子采用對(duì)角方向相鄰兩像素之差,即
原始圖像如圖1所示。用roberts算子做邊界處理后,再對(duì)二值圖像進(jìn)行腐蝕[6]操作,腐蝕操作采用的結(jié)構(gòu)元素矩陣[7]為以去除圖像中大量的小的水平方向的與車(chē)牌無(wú)關(guān)的邊界。之后用 [ 20×20]的矩形結(jié)構(gòu)元素[8]對(duì)腐蝕后的圖像進(jìn)行閉操作[9],用以膨脹[10]圖像將車(chē)牌等區(qū)域連通。計(jì)算所有的連通域中面積最大一塊[11],最后去除圖像中連通域面積小于最大面積的區(qū)域。最終剩下的就是最大的連通區(qū)域即車(chē)牌所在的位置。具體matlab程序如下所示:
在實(shí)際的應(yīng)用中,對(duì)處理速度有較高的要求,所以對(duì)對(duì)行和列分別采取了不同的處理方法,以提高處理速度:
(1)分別對(duì)每行和每列上的元素個(gè)數(shù)求和。
(2)在對(duì)行的處理中,從行元素個(gè)數(shù)最大值所在的行數(shù)開(kāi)始比較,如果某一行元素個(gè)數(shù)小于5或到達(dá)了圖像的邊界,則說(shuō)明得到了車(chē)牌的上下邊界位置,這樣就可以去除鉚釘?shù)葘?duì)車(chē)牌定位的影響。
(3)在對(duì)列的處理中,從圖像的左右邊界開(kāi)始,如果圖像個(gè)數(shù)大于20則認(rèn)為到達(dá)了車(chē)牌的左右邊界。
這樣車(chē)牌在原圖像中的位置就確定了,切割原圖像得到車(chē)牌。最后車(chē)牌定位的效果如圖1所示。
圖1 車(chē)牌定位效果圖
由于智能交通系統(tǒng)的環(huán)境比較復(fù)雜,并且檢測(cè)系統(tǒng)是全天候的應(yīng)用系統(tǒng),車(chē)輛的具體情況又各不相同,其中對(duì)系統(tǒng)影響最大的當(dāng)屬車(chē)牌的污損和開(kāi)裂情況。在現(xiàn)實(shí)環(huán)境中,我們也經(jīng)常見(jiàn)到污損的車(chē)牌和開(kāi)裂的車(chē)牌?,F(xiàn)有系統(tǒng)和方法沒(méi)有很好地考慮這個(gè)問(wèn)題。
為了解決這一突出的問(wèn)題,本方法采用的原理是數(shù)學(xué)二值形態(tài)學(xué)。因?yàn)檐?chē)牌污損和開(kāi)裂對(duì)字符分割的準(zhǔn)確性影響卻比較大,所以此部分主要考慮的就是車(chē)牌開(kāi)裂和車(chē)牌污損的問(wèn)題,并提出了一種可以解決車(chē)牌污損和車(chē)牌開(kāi)裂的字符分割的方法。流程圖如圖2和圖3所示。
(1)對(duì)車(chē)牌圖像進(jìn)行一定的濾波處理,盡可能的去除一些噪聲[12]。如果車(chē)牌存在傾斜進(jìn)行相應(yīng)的矯正,本方法中沒(méi)有涉及此部分。實(shí)驗(yàn)中的圖片都為非傾斜的圖片。將圖片二值化為下一步處理做好準(zhǔn)備,但由于車(chē)牌開(kāi)裂等問(wèn)題形成的噪聲是無(wú)法用濾波的方法去除的,所以需要用其它方法做進(jìn)一步的處理操作。
(2)由于車(chē)牌污損和開(kāi)裂對(duì)整個(gè)車(chē)牌來(lái)說(shuō)畢竟是一小部分,所以采取求均值的方法,即計(jì)算圖像中全部的白色像素的個(gè)數(shù),然后分別除以行數(shù)和列數(shù),便可得到行和列中像素的平均數(shù)。
(3)以行為例來(lái)說(shuō)明,依次掃描圖像的每一行,如果該行的像素?cái)?shù)目多于平均值則認(rèn)為該行不是噪聲,屬于字符部分,則將添加到新的數(shù)組中。反之,不添加。這樣所得到的新的圖像就是進(jìn)行行處理后的圖像。此種行處理方法可以有效的去除鉚釘和車(chē)牌上諸如“一路平安”等字符的影響。
(4)在列處理中,需要考慮字符不連通的問(wèn)題。如“四川”的“川”字。這是一個(gè)典型的非連通的漢字。本方法在對(duì)車(chē)牌圖像進(jìn)行預(yù)處理是將其調(diào)整到寬度為440像素的固定大小,所以分割后的每個(gè)字符的寬度大小就受到了嚴(yán)格的限制。本方法將列元素個(gè)數(shù)小于某一值的列視為非字符部分。字符分割的具體步驟如下:
〈1〉初始化一個(gè)全零列向量。該列向量與行處理后的新數(shù)組具有相同的行數(shù)。
〈2〉然后依次比較新數(shù)組中每列的白色像素個(gè)數(shù),如果像素個(gè)數(shù)小于設(shè)定的值,則跳過(guò)該列依次向后比較。如果遇到了像素個(gè)數(shù)大于設(shè)定的值是,將該列添加到零列向量的后面,依次進(jìn)行下去。
〈3〉如果再次遇到了元素個(gè)數(shù)小于設(shè)定值的情況,則可能有兩種情況發(fā)生。一種情況是到達(dá)了字符的右邊界。這是我們希望的,這樣一個(gè)字符就分割了出來(lái)。另一種情況是到達(dá)了非連通字符內(nèi)部的一個(gè)邊界。這時(shí)我們還沒(méi)有得到完整的字符,只是得到了字符的一部分。為了解決非連通漢字問(wèn)題,根據(jù)我國(guó)車(chē)牌的具體情況,對(duì)從左到右的7個(gè)字符采取不同的字符寬度。判斷字符的數(shù)組的寬度值,如果是第一個(gè)漢字,并且寬度小于30,則跳過(guò)元素個(gè)數(shù)較少的列繼續(xù)添加后面的列,直到再次出現(xiàn)元素較少的列并且字符數(shù)數(shù)組的寬度大于30才進(jìn)行下一個(gè)字符的分割。這樣非連通字符就可以被分割出來(lái)。再進(jìn)行其它的字符分割時(shí),字符寬度設(shè)置為5,這樣就可以將車(chē)牌中連續(xù)的數(shù)字1分割出來(lái)。同時(shí)解決了車(chē)牌中存在不連通的漢字和連續(xù)的數(shù)字1的問(wèn)題。
〈4〉返回的步驟〈1〉,依次進(jìn)行下去直到到達(dá)車(chē)牌的右邊界,就可以分割出所有的字符。
本方法有效地解決了非連通漢字的分割問(wèn)題,如圖4所示。車(chē)牌開(kāi)裂的字符分割問(wèn)題,如圖5所示。車(chē)牌污損的字符分割問(wèn)題,如圖6所示。非連通的漢字和連續(xù)的數(shù)字1的字符分割如圖7所示。
首先,本方法從二值化的圖像中可以看到車(chē)牌的內(nèi)部存在一定的空洞,這是由于車(chē)牌中字符的相對(duì)位置和一下非連通漢子造成的。在二值化時(shí),整個(gè)車(chē)牌區(qū)域就不在是一個(gè)完整的連通區(qū)域。為了獲取更加準(zhǔn)確的車(chē)牌特征,應(yīng)盡量得到完整的連通域。膨脹操作可以填補(bǔ)物體中的空洞,用適當(dāng)且不易過(guò)大的結(jié)構(gòu)元素對(duì)二值化圖像作膨脹處理,這樣就可以得到完整的連通區(qū)域。然后,在得到完整的連通區(qū)域后,這些區(qū)域的大小經(jīng)過(guò)膨脹后會(huì)有些偏大,這對(duì)后續(xù)提取車(chē)牌的特征有些影響,會(huì)存在一定的精度偏差。同時(shí),圖像中還有很多噪點(diǎn),通過(guò)腐蝕操作,也能將這些噪點(diǎn)濾出一些。一般,腐蝕操作時(shí)的結(jié)果元素應(yīng)與膨脹操作時(shí)的結(jié)構(gòu)元素一樣,這樣能將連通區(qū)域縮減回去。
其次,在字符分割前,對(duì)圖像進(jìn)行了一些膨脹和腐蝕操作,以盡可能地去除車(chē)牌污損和車(chē)牌開(kāi)裂對(duì)字符分割的影響,并將車(chē)牌圖像調(diào)整的固定的大小,以方便字符的分割。在對(duì)二值圖像進(jìn)行字符分割時(shí),先對(duì)車(chē)牌進(jìn)行行處理,以確定車(chē)牌中所以字符的上下邊界。然后在根據(jù)車(chē)牌的大小、車(chē)牌中字符的個(gè)數(shù)和相對(duì)位置判斷字符的邊界,進(jìn)而分割字符。由于車(chē)牌的大小是固定的,車(chē)牌中字符的個(gè)數(shù)和相對(duì)位置是固定的,根據(jù)實(shí)驗(yàn)所得,認(rèn)為30個(gè)像素寬度為一個(gè)字符的最大寬度,兩個(gè)字符左邊界之間的最大寬度大于30。所以認(rèn)為字符的寬度小于30的部分是非連通漢字的一部分,大于30則認(rèn)為是另一個(gè)字符的開(kāi)始。這樣非連通的漢字和連續(xù)的數(shù)字1的問(wèn)題就解決了。
本方法適用于智能交通中比較復(fù)雜的環(huán)境,能夠適應(yīng)由于光照條件,車(chē)牌褪色和車(chē)牌開(kāi)裂等形成的噪聲。本方法提出了一種新的字符分割的算法,可以快速地處理車(chē)牌中含有非連通字符和連續(xù)的數(shù)字1的分割問(wèn)題。
本方法對(duì)圖像的大小有一定的適應(yīng)性,但是圖像的采集過(guò)程中車(chē)輛的位置不宜過(guò)遠(yuǎn),如果過(guò)遠(yuǎn)就會(huì)造成定位后的車(chē)牌圖像不清晰,即使采取了一定的放大和濾波策略,放大和濾波后的圖像的清晰度也會(huì)明顯下降,不利于字符的分割。
[1]杜鵬.智能交通系統(tǒng)簡(jiǎn)單場(chǎng)景下通信性能的研究[D].北京:北京郵電大學(xué),2010.
[2]李坤,彭延軍.車(chē)牌自動(dòng)識(shí)別系統(tǒng)的研究與實(shí)現(xiàn)[J].青島大學(xué)學(xué)報(bào),2010,25(4):42-43.
[3]李輝.智能交通系統(tǒng)中基于視頻的車(chē)輛檢測(cè)與跟蹤方法研究[D].上海:華東師范大學(xué).
[4]胡尚舉,田國(guó)法,申江波.邊緣檢測(cè)算子的分析比較[J].大眾科技,2008(9):48-49.
[5]艾海舟,武勃等譯.圖像處理,分析與機(jī)器視覺(jué)[M].北京:人民郵電出版社.2003.
[6]鄒攀紅,孫曉燕,張雄偉,曹鐵勇.一種基于數(shù)學(xué)形態(tài)學(xué)的二值圖像去噪算法[J].微計(jì)算機(jī)信息,2010,26(11-2):200-203.
[7]王家文.Matlab 7.6圖形圖像處理[M].北京:國(guó)防工業(yè)出版社,2009:270-275.
[8]王朋偉,牛瑞卿.基于灰度形態(tài)學(xué)與小波相位濾波的高分辨率遙感影像邊緣檢測(cè)[J].四川,計(jì)算機(jī)應(yīng)用,2011(9):30.
[9]王玉軍,董增壽.利用數(shù)學(xué)形態(tài)學(xué)與圖像二值化進(jìn)行車(chē)牌定位[J].太原科技大學(xué)學(xué)報(bào),2011,32(2):89-92.
[10]賓西川,裘正定,章春娥,曾高榮.一種基于數(shù)學(xué)形態(tài)學(xué)膨脹運(yùn)算的文本數(shù)字水印[J].計(jì)算機(jī)安全,2009,11:4-6.
[11]孫兆林.Matlab 6.x圖像處理[M].北京:清華大學(xué)出版社。2002:276—278.
[12]周玲.基于MATLAB的語(yǔ)音信號(hào)數(shù)字濾波處理[J].安慶師范學(xué)院學(xué)報(bào),2011,17(3):46-47.