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