1.摘要
在智能交通領域,汽車牌照自動識別系統是道路交通智能化的重要因素,包括車牌定位、字符分割和字符識別三個主要部分。本項目主要探討車牌定位和字符分割兩個部分,字符 識別部分由于開發板資源有限,因此采用matlab完成算法驗證。本文首先確定車輛牌照在原始圖像中的水平位置和垂直位置,從而定位車輛牌照,然后采用局部投影進行字符分割。在字符識別部分,采用較為簡單的末班匹配方法進行識別。實驗結果表明,該方法具有良好的識別性能。隨著公路逐漸普及,我國的公路交通 事業發展迅速,所以人工管理方式已經不能滿足實際的需要,微電子、通信和計算機技術在交通領域的應用極大地提高了交通管理效率。汽車牌照的自動識別技術必將得到廣泛應用,如小區門禁、智能電子交通警察、犯罪分子車輛追蹤等等領域。
2.設計原理
由于車輛牌照是機動車唯一的管理標識符號,在交通管理中具有不可替代的作用,因此車輛牌照識別系統應具有很高的識別正確率,對環境光照條件、拍攝位置和車輛行駛速度等因素的影響應有較大的容閾,并且要求滿足實時性要求。
圖1 牌照識別系統總體流程
該系統是圖像處理與字符識別技術在智能化交通管理系統中的應用,它主要由圖像的采集和預處理、牌照區域的定位和提取、牌照字符的分割和識別等幾個部分組成,如圖1 所示。其基本工作過程如下:
(1)當行駛的車輛經過時,觸發埋設在固定位置的傳感器,系統被喚醒處于工作狀態;一旦連接攝像頭光快門的光電傳感器被觸發,設置在車輛前方、后方和側面的相機同時拍攝下車輛圖像;
(2)由攝像頭拍攝的含有車輛牌照的圖像通視頻卡輸入計算機進行預處理,圖像預處理包括圖像轉換、圖像增強、濾波和水平較正等;
(3)由檢索模塊進行牌照搜索與檢測,定位并分割出包含牌照字符號碼的矩形區域;
(4)對牌照字符進行二值化并分割出單個字符,經歸一化后輸入字符識別系統進行識別。
3.算法的詳細設計步驟
3.1 提出總體設計方案
車輛牌照識別整個系統主要是由車牌定位和字符識別兩部分組成,其中車牌定位又可以分為圖像預處理及邊緣提取模塊和牌照的定位及分割模塊;字符識別可以分為字符分割與特征提取和單個字符識別兩個模塊。
為了用于牌照的分割和牌照字符的識別,原始圖象應具有適當的亮度,較大的對比度和清晰可辯的牌照圖象。但由于該系統的攝像部分工作于開放的戶外環境,加之車輛牌照的整潔度、自然光照條件、拍攝時攝像機與牌照的矩離和角度以及車輛行駛速度等因素的影響,牌照圖象可能出現模糊、歪斜和缺損等嚴重缺陷,因此需要對原始圖象進行識別前的預處理。
牌照的定位和分割是牌照識別系統的關鍵技術之一,其主要目的是在經圖象預處理后的原始灰度圖象中確定牌照的具體位置,并將包含牌照字符的一塊子圖象從整個圖象中分割出來,供字符識別子系統識別之用,分割的準確與否直接關系到整個牌照字符識別系統的識別率。
由于拍攝時的光照條件、牌照的整潔程度的影響,和攝像機的焦距調整、鏡頭的光學畸變所產生的噪聲都會不同程度地造成牌照字符的邊界模糊、細節不清、筆劃斷開或粗細不均,加上牌照上的污斑等缺陷,致使字符提取困難,進而影響字符識別的準確性。因此,需要對字符在識別之前再進行一次針對性的處理。
為了進行牌照識別,需要以下幾個基本的步驟:
a.牌照定位,定位圖片中的牌照位置;
b.牌照字符分割,把牌照中的字符分割出來;
c.牌照字符識別,把分割好的字符進行識別,最終組成牌照號碼。
車牌識別的最終目的就是對車牌上的文字進行識別。主要應用的為模板匹配方法。
3.2 圖象的采集與轉換
考慮到現有牌照的字符與背景的顏色搭配一般有藍底白字、黃底黑字、白底紅字、綠底白字和黑底白字等幾種,利用不同的色彩通道就可以將區域與背景明顯地區分出來,本系統中,對藍底白字這種最常見的牌照,采用藍色B 通道時牌照區域為一亮的矩形,而牌照字符在區域中并不呈現。因為藍色(255,0,0)與白色(255,255,255)在B 通道中并無區分,而在G、R 通道或是灰度圖象中并無此便利。同理對白底黑字的牌照可用R 通道,綠底白字的牌照可以用G 通道就可以明顯呈現出牌照區域的位置,便于后續處理。原圖、灰度圖及其直方圖見圖2與圖3。對于將彩色圖象轉換成灰度圖象時,圖象灰度值可由下面的公式計算:
G=0.110B+0.588G+0.302R???????????? (1)
G= (B+G+R)/3?????????????????????? ? ? ?? ? (2)
3.3 預處理及邊緣提取
圖2 預處理及邊緣提取流程圖
3.4 平滑處理
對于受噪聲干擾嚴重的圖象,由于噪聲點多在頻域中映射為高頻分量,因此可以在通過低通濾波器來濾除噪聲,但實際中為了簡化算法也可以直接在空域中用求鄰域平均值的方法來削弱噪聲的影響,這種方法稱為圖象平滑處理。例如,某一象素點的鄰域S 有兩種表示方法:8鄰域和4鄰域分別對應的鄰域平均值為


其中,M 為鄰域中除中心象素點f(i,j) 之外包括的其它象素總數,對于4鄰域M=4,8 鄰域M=8。然而,鄰域平均值的平滑處理會使得圖象灰度急劇變化的地方,尤其是物體邊緣區域和字符輪廓等部分產生模糊作用。為了克服這種平均化引起的圖象模糊現象,我們給中心點象素值與其鄰域平均值的差值設置一固定的閾值,只有大于該閾值的點才能替換為鄰域平均值,而差值不大于閾值時,仍保留原來的值,從而減少由于平均化引起的圖象模糊。
由上圖可以歸納起來以下方面:原始圖像清晰度比較高,從而簡化了預處理,結合MATLAB實驗過程,得出不是每一種圖像處理之初都適合濾波和邊界增強。本次汽車車牌的識別,為了保存更多的有用信息。
3.5 牌照的定位
牌照的定位和分割是牌照識別系統的關鍵技術之一,其主要目的是在經圖象預處理后的原始灰度圖象中確定牌照的具體位置,并將包含牌照字符的一塊子圖象從整個圖象中分割出來,供字符識別子系統識別之用,分割的準確與否直接關系到整個牌照字符識別系統的識別率。由于牌照圖象在原始圖象中是很有特征的一個子區域,確切說是水平度較高的橫向近似的長方形,它在原始圖象中的相對位置比較集中,而且其灰度值與周邊區域有明顯的不同,因而在其邊緣形成了灰度突變的邊界,這樣就便于通過邊緣檢測來對圖象進行分割。
自然環境下,汽車圖像背景復雜、光照不均勻,如何在自然背景中準確地確定牌照區域是整個識別過程的關鍵。首先對采集到的視頻圖像進行大范圍相關搜索,找到符合汽車牌照特征的若干區域作為候選區,然后對這些侯選區域做進一步分析、評判,最后選定一個最佳的區域作為牌照區域,并將其從圖象中分割出來。流程圖如下:

圖3 牌照的定位流程圖
3.6 牌照字符分割
完成牌照區域的定位后,再將牌照區域分割成單個字符,然后進行識別。字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符間或字符內的間隙處取得局部最小值的附近,并且這個位置應滿足牌照的字符書寫格式、字符、尺寸限制和一些其他條件。利用垂直投影法對復雜環境下的汽車圖像中的字符分割有較好的效果。流程圖如下

圖4? 牌照字符分割流程圖
3.7 字符的分割與歸一化
一般分割出來的字符要進行進一步的處理,以滿足下一步字符識別的需要。但是對于車牌的識別,并不需要太多的處理就已經可以達到正確識別的目的。在此只進行了歸一化處理,然后進行后期處理。

圖5 字符分割與歸一化流程圖
3.8 字符的識別
字符的識別目前用于車牌字符識別(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神經網絡的OCR算法。基于模板匹配的OCR的基本過程是:首先對待識別字符進行二值化并將其尺寸大小縮放為字符數據庫中模板的大小,然后與所有的模板進行匹配,最后選最佳匹配作為結果。模板匹配的主要特點是實現簡單,當字符較規整時對字符圖像的缺損、污跡干擾適應力強且識別率相當高。綜合模板匹配的這些優點我們將其用為車牌字符識別的主要方法。
模板匹配是圖象識別方法中最具代表性的基本方法之一,它是將從待識別的圖象或圖象區域f(i,j)中提取的若干特征量與模板T(i,j)相應的特征量逐個進行比較,計算它們之間規格化的互相關量,其中互相關量最大的一個就表示期間相似程度最高,可將圖象歸于相應的類。也可以計算圖象與模板特征量之間的距離,用最小距離法判定所屬類。然而,通常情況下用于匹配的圖象各自的成像條件存在差異,產生較大的噪聲干擾,或圖象經預處理和規格化處理后,使得圖象的灰度或像素點的位置發生改變。在實際設計模板的時候,是根據各區域形狀固有的特點,突出各類似區域之間的差別,并將容易由處理過程引起的噪聲和位移等因素都考慮進去,按照一些基于圖象不變特性所設計的特征量來構建模板,就可以避免上述問題。
圖6 字符識別流程圖
此處我們采用相減的方法來求得字符與模板中哪一個字符最相似,然后找到相似度最大的輸出。汽車牌照的字符一般有七個,大部分車牌第一位是漢字,通常代表車輛所屬省份,緊接其后的為字母與數字。車牌字符識別與一般文字識別在于它的字符數有限,漢字共約50多個,大寫英文字母26個,數字10個。為了實驗方便,結合本次設計所選汽車牌照的特點,只建立了4個數字26個字母與10個數字的模板。其他模板設計的方法與此相同。
首先取字符模板,接著依次取待識別字符與模板進行匹配,將其與模板字符相減,得到的0越多那么就越匹配。把每一幅相減后的圖的0值個數保存,即為識別出來的結果。
4.基于FPGA的算法實現
4.1 攝像頭數據讀取模塊
圖7 攝像頭數據讀取模塊RTL圖
4.2 灰度、二值化模塊
該模塊基于system generator實現。
圖8 灰度變化

圖9 圖像的二值化
4.3 定位模塊
圖10 定位模塊

圖11 車牌號定位具體算法
4.4 分割模塊(略)
4.5 識別模塊
識別模塊由于我們采用開發板的資源不足,故采用mablab仿真模擬,具體分為圖像預處理---車牌定位---字符分割----模板匹配幾個步驟。實現具體的實現結果如下:
圖12 原始圖像
圖13 灰度圖像
圖14 行定位之后的圖像
圖15 列定位及字符分割之后的圖像
圖16 matlab算法識別之后的結果
5.FPGA DIY體會
對現實事物的設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。通過這次設計使 我明白了自己原來知識還比較欠缺。這個設計讓我學到了很多東西,涉及到方方面面的知識,在這整個過程中我們查閱了大量的資料,得到了老師和同學的幫助,我 在此對他們表示謝意。在這期間遇到了很多困難,我知道做什么都不容易,只能塌下心來,一步一個腳印的去完成才行。這學期我們學習了數字圖像處理這門課程, 在這個課程設計中應用到了很多其中的知識。理論只有應用到實際中才能學著更有意義。學習是一個長期積累的過程,在后的工作、生活中都應該不斷的學習,努力 提高自己知識和綜合素質。此外,還得出一個結論:知識必須通過應用才能實現其價值!有些東西以為學會了,但真正到用的時候才發現是兩回事,所以我認為只有 到真正會用的時候才是真的學會了。在整個設計中我懂得了許多東西,也培養了我獨立工作的能力,以及團隊協作的能力,樹立了信心,相信會對今后的學習工作生 活有非常重要的影響。同樣此次設計也大大提高了動手的能力,使我充分體會到了在創造過程中探索的艱難和成功時的喜悅。雖然這個設計做的并非對所以車牌都合 適,但是在設計過程中所學到的學習方法是我最大收獲和財富,相信定會使我受益終身。
6.作品實物圖
7.參考文獻
[1] 岡薩雷斯.數字圖像處理(第二版).電子工業出版社,2007.8
[2] 胡小鋒、趙輝.VC++/MATLAB圖像處理與識別使用案例精選。人民郵電出版社,2004.9
[3] 郁梅等,基于視覺的車輛牌照檢測,計算機應用研究,1999(5),P65~67
[4] 葉晨洲,廖金周,一種基于紋理的牌照圖象二值化方法, 1999(6),P28~29
[5] 朱學芳等,一種自適應細化方法,模式識別與人工智能,Vol.10,No.2,1997(6),P140~145
[6] 楊萬山等,基于BP 神經網絡的工程圖紙圖形符號的識別, Vol.16,No.2,2000
[7] 袁志偉,潘曉露。車輛牌照定位的算法研究[J]。昆明理工大學學報,2001,26(2): 56~60
[8] 劉陽,伊鐵源等。數字圖象處理應用于車輛牌照的識別。遼寧大學學報.2004,65~68
[9] 許志影、李晉平.MATLAB極其在圖像處理中的應用。計算機與現代化,2004(4)
[10] 崔江、王友仁。車牌自動識別方法中的關鍵技術研究。計算機測量與控制,2003.11(4)
[11] 宋建才。汽車牌照識別技術研究[J]。工業控制計算機,2004,44~45.
[12] 韓勇強、李世祥。汽車牌照子圖像的定位算法[M]。微型電腦運用,1999.60~65.
[13] 梁瑋、羅劍鋒、賈云得。一種復雜背景下的多車牌圖像分割與識別方法[D]。 2003.
[14] 張 引,潘云鶴,面向車輛牌照字符識別的預處理算法,計算機應用研究,1999(7),P85~87
[15] 葉晨洲等,車輛牌照字符識別系統,計算機系統應用,1999(5),P10~13
[16] 李宏升等,利用牌照識別技術的停車場安全防盜系統,計算機系統應用,1999(5),P14~16
更多賽靈思FPGA DIY系列文章:
賽靈思FPGA DIY系列(1):車牌號定位與識別系統【詳情】
賽靈思FPGA DIY系列(2):數字存儲掃頻儀【詳情】
賽靈思FPGA DIY系列(3):HDUSec-網絡行為分析監控系統【詳情】
賽靈思FPGA DIY系列(4):溫控風扇系統的設計【詳情】
賽靈思FPGA DIY系列(5):中頻全數字頻譜分析儀的實現【詳情】
?
電子發燒友App


















評論