李百明
(閩南理工學(xué)院,工業(yè)機(jī)器人測控與模具快速制造福建省高校重點(diǎn)實(shí)驗(yàn)室,福建石獅362700)
隨著科技的進(jìn)步和人們生活水平的提高,對汽車的需求量逐年上漲,導(dǎo)致城市交通問題日益嚴(yán)峻。智能交通系統(tǒng)(Intelligent Traffic System,簡稱ITS)的出現(xiàn)帶來了高效可行的解決方案[1]。ITS將計(jì)算機(jī)、圖像處理、通信、自動控制及模式識別等技術(shù)綜合運(yùn)用于現(xiàn)代交通管理體系中,實(shí)現(xiàn)交通管理的自動化與車輛行駛的智能化,解決了交通管理中存在的一系列問題[2-3]。車牌識別技術(shù)是ITS不可或缺的核心技術(shù),30年間受到大量學(xué)者和企業(yè)的廣泛研究,誕生的識別方法層出不窮。目前,國外的車牌識別系統(tǒng)已經(jīng)非常成熟,比如英國PIPS公司的號牌識別系統(tǒng)堪稱世界最先進(jìn)的識別系統(tǒng)[4];美國SCT公司研發(fā)的車牌識別系統(tǒng),在車速高達(dá)350 km/h的情況下仍可以捕捉到車牌牌照[5-6];以色列Hi-Tech公司的See Car系統(tǒng),幾乎可以識別所有國家的車牌。但國外的車牌識別系統(tǒng)無法識別中國的車牌,因?yàn)橹袊能嚺瞥藬?shù)字和字母外還有漢字字符。國內(nèi)對車牌識別系統(tǒng)的研究始于20世紀(jì)90年代,業(yè)界口碑較好的車牌識別系統(tǒng)有廈門宸天車牌識別公司的SupPlate、深圳科安信實(shí)業(yè)有限公司的KC系列等產(chǎn)品,并已在高速公路收費(fèi)站和大型停車場等場所得到了成功的應(yīng)用。然而,現(xiàn)有的車牌識別系統(tǒng)在交通監(jiān)控、卡口治安系統(tǒng)上對違章或違法犯罪車輛快速進(jìn)行車牌鎖定的時(shí)效性和準(zhǔn)確性上仍有很大的差距[7]。因此,建立一個(gè)成熟完善的車牌識別系統(tǒng)迫在眉睫。
車牌識別技術(shù)的核心是車牌的定位和字符識別,其中車牌能否精準(zhǔn)定位直接決定了系統(tǒng)識別成功率的高低。目前,常用的車牌定位方法有基于顏色識別定位法、基于邊緣檢測定位法和基于Blob分析定位法。顏色識別法依據(jù)車牌的背景色進(jìn)行目標(biāo)區(qū)域定位,利用顏色模型通過車牌的顏色來尋找車牌所在位置[8、9]。顏色識別法的優(yōu)點(diǎn)是對車牌的大小、位置及圖像背景的限制較少;缺點(diǎn)是當(dāng)車身顏色與車牌顏色相近時(shí),差錯(cuò)率較高。邊緣檢測法根據(jù)車輛、車牌及字符之間存在著明顯的灰度變化這一特點(diǎn),只保留高頻的車牌區(qū)域、車輛邊緣和字符,去除圖像中大量無關(guān)信息,僅保留最基本的輪廓結(jié)構(gòu),再利用車牌的形狀特征實(shí)現(xiàn)目標(biāo)區(qū)域定位。邊緣檢測的優(yōu)點(diǎn)是能成功定位大多數(shù)車牌;缺點(diǎn)是當(dāng)車牌圖像中有大量矩形邊緣時(shí),難以準(zhǔn)確的定位車牌所在區(qū)域。Blob分析法根據(jù)車牌區(qū)域與周圍背景灰度值存在較大差異這一特點(diǎn),運(yùn)用二值化、形態(tài)學(xué)和特征篩選等手段實(shí)現(xiàn)車牌區(qū)域的定位。Blob分析的優(yōu)點(diǎn)是靈活性好[10]、能保留車牌的完整圖像信息;缺點(diǎn)是受背景光的影響較大、適應(yīng)性差。
針對上述問題,本文提出了一種改進(jìn)型定位方法——基于邊緣檢測和Blob分析定位法,并設(shè)計(jì)了一套完整的車牌自動識別系統(tǒng)。該系統(tǒng)具有適應(yīng)性強(qiáng)、定位快速和識別準(zhǔn)確率高等特點(diǎn)。本文的創(chuàng)新點(diǎn)如下:(1)在HSV顏色空間采用邊緣檢測算法對車牌在圖像中的區(qū)域進(jìn)行粗定位。(2)利用Blob分析法對粗定位的區(qū)域做進(jìn)一步篩選,實(shí)現(xiàn)車牌的準(zhǔn)確定位。
本文設(shè)計(jì)的車牌識別系統(tǒng)由車牌采集、通道轉(zhuǎn)換、車牌定位、字符分割、字符識別和車牌顯示六個(gè)模塊組成,系統(tǒng)的原理如圖1所示。
圖1 車牌識別系統(tǒng)原理圖
車牌采集模塊負(fù)責(zé)加載事先拍攝好的車牌圖像,或從攝像機(jī)中實(shí)時(shí)獲取車牌圖像;通道轉(zhuǎn)換模塊負(fù)責(zé)顏色空間的轉(zhuǎn)換;車牌定位模塊負(fù)責(zé)提取出車牌所在區(qū)域,定位時(shí)先用邊緣檢測法進(jìn)行粗定位,再由Blob分析進(jìn)行精定位;字符分割模塊負(fù)責(zé)將車牌中的字符分割開來;字符識別模塊完成車牌的識別功能;車牌顯示模塊負(fù)責(zé)顯示提取出的車牌信息。
圖像的顏色有多種表示方式,最常用的是RGB顏色模型。車牌采集模塊采集到的圖像便是RGB三通道圖像。R、G、B分別表示紅、綠、藍(lán)三種基本的顏色。彩色圖像在處理前,一般需要進(jìn)行降維處理,常用的降維方法有圖像灰度化處理和圖像通道拆分。在實(shí)際的車牌識別系統(tǒng)中,無論是將車牌圖像直接轉(zhuǎn)成灰度圖像還是拆分成R、G、B三個(gè)單通道的灰度圖像,車牌的特征都不太明顯,不利于車牌的準(zhǔn)確定位。
除了RGB顏色模型外,圖像的顏色還可以用HSV顏色模型來描述。其中,H為色調(diào),表示顏色的純度;S為飽和度,表示顏色由濃漸漸變淡的特征;V為亮度,表示光場的強(qiáng)度。HSV顏色空間能較好的反映人對色彩的感知和鑒別能力。將RGB顏色模型轉(zhuǎn)成 HSV顏色模型可用公式(1)~(3)來表示[11]。
圖2為對原彩色圖像拆分后得到的R、G、B三個(gè)單通道灰度圖像。圖3為由R、G、B轉(zhuǎn)換的H、S、V圖像。從圖2和圖3可知,在RGB空間車牌區(qū)域特征并不明顯,將其轉(zhuǎn)換為HSV通道后,S通道的車牌區(qū)域特征特別明顯,為下一步的車牌定位做好了準(zhǔn)備。
圖3 車牌圖像HSV通道
1.2.1 邊緣檢測粗定位
常用的邊緣檢測算法有Robert算法、Sobel算法、Prewitt算法和Canny算法。其中,由于Canny算法具有對信號干擾適應(yīng)性強(qiáng)、邊緣檢測準(zhǔn)確完整、連續(xù)性好等優(yōu)點(diǎn)[12],所以本文采用Canny算法對車牌區(qū)域進(jìn)行粗定位。
Canny算法邊緣檢測的步驟[6]如下:
(1)濾波
用高斯濾波器和車牌圖像進(jìn)行卷積,達(dá)到平滑降噪的目的,具體實(shí)現(xiàn)如公式(4)所示。
式中:G(x,y)表示二維高斯卷積核;σ表示高斯分布參數(shù);f(x,y)表示處理前的圖像;R(x,y)表示處理后的圖像。
(2)計(jì)算梯度的幅值和方向
用一階偏導(dǎo)的有限差分計(jì)算圖像沿X與Y方向的偏導(dǎo)數(shù)Gx、Gy,則梯度的幅值和方向如公式(5)所示。
(3)對梯度幅度值進(jìn)行非極大值抑制
非極大值抑制就是尋找像素點(diǎn)的局部最大值。非極大值抑制的原理是先沿幅角方向檢測模值,其最大值處即為邊緣點(diǎn),再沿8個(gè)方向進(jìn)行遍歷,并比較像素點(diǎn)偏導(dǎo)值與鄰像素的模值,得到的最大值點(diǎn)為邊緣點(diǎn),然后將其灰度值清0。重復(fù)上述操作,即可得到初步的邊緣位置。
(4)用雙閾值算法檢測,并對邊緣進(jìn)行鏈接
用兩個(gè)閾值 A,B(令 A<B)作用于步驟(3)獲取的圖像,閾值A(chǔ)檢測出的圖像邊緣相對完整,但噪聲多;閾值B檢測出的圖像濾掉了大部分噪點(diǎn),但邊緣信息不完整;最后用A檢測的圖像對B檢測出的圖像進(jìn)行補(bǔ)充,便可得到鏈接邊緣。
圖4是用Canny邊緣檢測算法提取的車牌區(qū)域。從圖4可知,利用Canny算子準(zhǔn)確的找到了車牌區(qū)域的邊界,且邊界信息完整,但也產(chǎn)生了很多假邊緣,需要進(jìn)一步處理。
圖4 邊緣檢測結(jié)果
1.2.2 Blob分析精定位
Blob又稱團(tuán)塊,是指像素相連通的區(qū)域。Blob分析就是對連通閾的形狀、數(shù)量、方向等特征進(jìn)行統(tǒng)計(jì)和處理,進(jìn)而達(dá)到檢測目的。
(1)二值化
二值化的目的是將邊緣檢測后的圖像對象轉(zhuǎn)換為區(qū)域?qū)ο螅瑫r(shí)縮減車牌區(qū)域以外的區(qū)域,減少干擾,保留關(guān)鍵信息。車牌圖像二值化的難點(diǎn)是閾值的選取。常用的閾值確定方法有固定閾值法和自適應(yīng)閾值法。本文采用自適應(yīng)閾值法中的大津法(OTSU)來實(shí)現(xiàn)車牌圖像的二值化[13],OTSU的原理如下。
設(shè)當(dāng)前的閾值為T,背景點(diǎn)占整幅圖像的比例為ω背,背景點(diǎn)的灰度均值為,前景點(diǎn)占圖像的比例為ω前,前景點(diǎn)的灰度均值為,則整幅圖像的灰度均值u為:
設(shè)前景與背景的類間方差為g(T),則
將(6)式帶入(7)式,得類間方差的等價(jià)公式為:
最后只需遍歷每個(gè)灰度值,找到這個(gè)灰度值所對應(yīng)的類間方差,當(dāng)某個(gè)灰度值使g(T)最大時(shí),該灰度值即為最佳分割閾值。對粗定位后的圖像進(jìn)行OTSU閾值分割后的結(jié)果如圖5所示。
圖5 OTSU二值化圖
(2)形態(tài)學(xué)處理
經(jīng)二值化處理后,車牌字符之間可能變成多個(gè)分離的區(qū)域,在車牌的定位中,需要將這些部分變成一個(gè)整體。因此,先對二值化后的區(qū)域進(jìn)行膨脹處理,使分開的相鄰字符區(qū)域連成一個(gè)整體,并對區(qū)域中的細(xì)小孔洞進(jìn)行填充。但經(jīng)膨脹處理后,車牌所在區(qū)域變大了,為了獲得車牌的實(shí)際大小,還需在進(jìn)行一次腐蝕處理。圖6為先膨脹后腐蝕后的結(jié)果。
圖6 先膨脹后腐蝕結(jié)果
(3)特征篩選
我國的車牌都是矩形的,且長寬比為3∶1,可根據(jù)這一特征對圖像的候選區(qū)域進(jìn)行篩選。對于實(shí)際拍攝的圖片,車牌可能發(fā)生傾斜和變形,故將車牌的長寬比設(shè)為2~6。另外在圖像中車牌區(qū)域還有一定的面積,且外形似矩形,因此本文同時(shí)選擇了面積、長寬比和矩形度三個(gè)方面的特征對候選區(qū)域做最終的篩選。圖7為經(jīng)過篩選后得到的車牌位置,圖8為轉(zhuǎn)正后的車牌。
圖7 定位后的車牌
圖8 轉(zhuǎn)正后的車牌
字符分割是指將車牌中的7個(gè)字符分割成相互獨(dú)立的連通域,每個(gè)連通域代表一個(gè)待識別的字符。中國的車牌是由字符、數(shù)字加漢字組成的。通過分析不難發(fā)現(xiàn)所有的數(shù)字和字母都是一個(gè)完整的連通域,而漢字在提取時(shí)卻有些復(fù)雜。由于漢字存在上下結(jié)構(gòu)、左右結(jié)構(gòu),很容易誤將一個(gè)漢字拆成多個(gè)字符,進(jìn)而影響識別結(jié)果的準(zhǔn)確性。為解決這個(gè)問題,本文先將轉(zhuǎn)正后的車牌圖像轉(zhuǎn)成灰度圖像,然后將灰度圖像變成白底黑字模式,為后續(xù)字符識別做好準(zhǔn)備;接下來對灰度圖像進(jìn)行二值化,并聯(lián)合特征篩選實(shí)現(xiàn)車牌字符的篩選。經(jīng)二值化處理后,漢字可能被拆成兩個(gè)獨(dú)立的連通域,因此需要對特征篩選后的區(qū)域進(jìn)行膨脹處理,使分開的區(qū)域連在一起。膨脹后車牌的字符會發(fā)生變形,影響識別結(jié)果,故還需做每個(gè)字符的最小外接矩形,最后用這些外接矩形和原圖像求交集,便可得到7個(gè)完整獨(dú)立的區(qū)域。圖9為字符分割的詳細(xì)流程,圖10為分割后的效果。
圖9 字符分割流程圖
圖10 字符分割結(jié)果
目前,車牌字符識別的常見方法有基于規(guī)則推理、基于模板匹配和基于人工智能等方式[14]。本文采用基于MLP(Multilayer Perceptron,多層感知)分類器進(jìn)行字符識別。MLP也叫人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN),是一種模仿生物神經(jīng)元傳輸?shù)臋C(jī)制,主要由輸入層、輸出層和多個(gè)中間隱藏層構(gòu)成。最簡單的MLP只有一個(gè)中間隱藏層[15]。MLP的三層結(jié)構(gòu)如圖11所示。圖12為MLP分類器字符識別的基本流程。
圖11 多層感知器
圖12 MLP分類器車牌字符識別流程圖
車牌識別系統(tǒng)的算法部分采用德國Mvtec公司開發(fā)的Halcon機(jī)器視覺軟件平臺進(jìn)行設(shè)計(jì),該平臺具有強(qiáng)大的幾何與圖像計(jì)算能力,被廣泛應(yīng)用于工業(yè)自動檢測領(lǐng)域。但Halcon軟件無法直接生成應(yīng)用程序,故系統(tǒng)的GUI界面部分在VS2015平臺上采用C#編程語言設(shè)計(jì)。
本文從網(wǎng)絡(luò)上搜集了20幅白天拍攝的車輛照片對該系統(tǒng)進(jìn)行測試。經(jīng)過統(tǒng)計(jì)20張車牌中有19張車牌可以實(shí)現(xiàn)精準(zhǔn)定位,1張車牌定位區(qū)域偏大,但并未對車牌的正確識別產(chǎn)生影響;有18張車牌被準(zhǔn)確識別,2張識別失敗。本系統(tǒng)對白天車牌的精準(zhǔn)定位準(zhǔn)確率為95%、字符識別準(zhǔn)確率為90%,平均識別每幅車牌的時(shí)間為0.485 s。部分識別結(jié)果如圖13所示。其中圖13(a)為正面拍攝時(shí)的識別結(jié)果,圖13(b)為側(cè)拍拍攝時(shí)的識別結(jié)果。
圖13 部分車牌識別結(jié)果
經(jīng)過分析,兩幅車牌識別失敗的主要原因是:(1)拍攝的車牌圖片分辨率低,字符模糊且車牌字符有不同程度的缺損;(2)訓(xùn)練的樣本數(shù)量太少,不能正確識別不完整的字符。
(1)針對傳統(tǒng)車牌定位方法的不足,本文提出了一種在HSV顏色空間下基于邊緣檢測和Blob分析的定位方法。實(shí)驗(yàn)結(jié)果表明,白天時(shí)該方法定位可靠、準(zhǔn)確率接近100%。
(2)在確定了車牌定位方法的基礎(chǔ)上設(shè)計(jì)了一套完整的車牌識別系統(tǒng),實(shí)驗(yàn)表明該系統(tǒng)的識別準(zhǔn)確率為90%,平均識別時(shí)間約為0.5 s,具備良好的使用性能。
(3)設(shè)計(jì)了系統(tǒng)的GUI界面,增強(qiáng)了系統(tǒng)的實(shí)用性能。該系統(tǒng)可以廣泛應(yīng)用于商場、超市、小區(qū)及城市道路交通監(jiān)控等場合。
(4)本系統(tǒng)目前僅對白天的車輛進(jìn)行了實(shí)驗(yàn)測試,未來的研究工作主要有:1)對夜間的車輛進(jìn)行識別調(diào)試,增加系統(tǒng)的通用性;2)大幅增加訓(xùn)練樣本,提高識別準(zhǔn)確率;3)加入遠(yuǎn)程數(shù)據(jù)庫,識別套牌車輛,違章和違法車輛并及時(shí)報(bào)警。