文獻標識碼: A
文章編號: 0258-7998(2014)11-0032-04
0 引言
車輛牌照圖像識別是計算機智能化的關(guān)鍵技術(shù)之一,,涉及到模式識別,、圖像處理、人工智能,、信息論,、計算機等多個學(xué)科,有著極其廣泛的實際應(yīng)用價值[1],。
車牌識別系統(tǒng)主要由數(shù)據(jù)采集系統(tǒng)和軟件識別系統(tǒng)兩個主要部分組成,,由于車牌清晰程度、攝像機性能,、氣候條件等因素的影響,,牌照上面的字符可能出現(xiàn)不清楚、扭曲,、缺損或污跡干擾,,這都給識別造成一定難度[2]。因此,,在復(fù)雜背景中快速,、準確地進行車牌定位成為車牌識別系統(tǒng)的難點。
本文設(shè)計了一種智能車牌識別系統(tǒng),,系統(tǒng)采用FPGA平臺,,相對于單片機、CPLD為核心的平臺提高了系統(tǒng)的集成度,,大大節(jié)約了系統(tǒng)面積,,降低了成本,提高了系統(tǒng)識別速度和效率,,具有便攜性好,、易于維護等優(yōu)點。
1 系統(tǒng)總體架構(gòu)
系統(tǒng)采用CMOS攝像頭為前端圖像采集器件,,用以采集車牌圖像信息,,以Altera FPGA作為系統(tǒng)核心完成CMOS攝像頭初始化,圖像采集和處理,、圖像定位以及圖像識別等任務(wù),。系統(tǒng)整體結(jié)構(gòu)如圖1所示。圖中SDRAM用于存儲OV7670采集的圖像數(shù)據(jù),,SRAM用于識別部分緩存一幀采集得到的圖像數(shù)據(jù),,便于Nios II處理器處理數(shù)據(jù)。而EPCS16則用于存放FPGA的配置數(shù)據(jù),。
2 系統(tǒng)硬件設(shè)計
系統(tǒng)FPGA硬件設(shè)計部分如圖2所示,, 通過SCCB編程接口初始化OV7670 CMOS攝像頭,,由OV7670數(shù)據(jù)采集模塊實時采集攝像頭采集的數(shù)據(jù),,并將數(shù)據(jù)緩存在一片深度為512×8 bit的FIFO中,,待FIFO存儲滿,由SDRAM 控制模塊將數(shù)據(jù)發(fā)送到SDRAM存儲,。SDRAM 存儲空間為640×480 B,。同時,SDRAM等待VGA控制模塊的讀請求信號,,從而將數(shù)據(jù)輸送到另一片同樣大小的FIFO中進行緩存,,以備VGA控制模塊讀取。VGA控制器按照標準640×480@60 Hz時序?qū)D像數(shù)據(jù)輸出,。圖像處理模塊接收VGA數(shù)據(jù)并通過對圖像進行車牌粗定位,、圖像灰度化、中值濾波,、Sobel算子邊沿檢測,、圖像二值化、車牌精定位等算法,,實現(xiàn)對車牌的定位,。同時,SOPC系統(tǒng)Nios II軟核處理器也采集VGA控制模塊的數(shù)據(jù)并緩存于SRAM中,,從而實現(xiàn)對圖像字符的分割,、識別,并通過JTAG將識別結(jié)果反饋到控制臺,。
2.1 MATLAB算法驗證
中國國內(nèi)車牌大多數(shù)以藍底白字為主,,大小為440 mm×140 mm。車牌粗定位即利用車牌特有的藍色背景為前提,,通過將RGB圖像轉(zhuǎn)化為HSV制式的圖像,。根據(jù)深藍色在HSV顏色空間中分布在V=0.4、S=1,、H=240度處,,淡藍色分布在V=1、S=0.4,、H=240度處[3],。通過掃描H、S,、V分量,,從而實現(xiàn)分離圖像藍色成分,即可實現(xiàn)車牌的粗定位,。
圖像灰度化:將粗定位后的彩色車牌圖像灰度化,,以減少圖像數(shù)據(jù)的存儲量,,便于圖像的存儲及后續(xù)對圖像的處理。圖像灰度化后的車牌圖像如圖3所示,。
在FPGA中實現(xiàn)中值濾波,,出于實際處理速度、處理效果和器件資源考慮,,本系統(tǒng)選用3×3鄰域窗口,。這種方法比傳統(tǒng)的冒泡排序法減少了邏輯資源的占用,卻和其一樣能找出中值,,且只需經(jīng)過3級的比較(即3個時鐘周期的延時)就可以找出中值[4],。
系統(tǒng)采用Altera公司的DSP builder來完成該濾波器的設(shè)計。利用Verilog硬件描述語言,,描述一個8位的3輸入比較器,,其功能可將輸入的3個8位寬數(shù)據(jù)進行排序,分別以最大值,、中值,、最小值的形式輸出。
系統(tǒng)中圖像邊沿檢測模塊,,采用的是Sobel算子,,實現(xiàn)3×3領(lǐng)域像素的圖像邊沿檢測。該算子是在以F(x,,y)為中心的3×3鄰域上計算x和y方向的偏導(dǎo)數(shù),,是一種將方向差運算與局部平均相結(jié)合的方法[5]。其邊緣檢測算子的卷積算子如圖4所示,。
系統(tǒng)采用3個深度為640的FIFO對數(shù)據(jù)進行緩存,,在進行邊沿檢測時,以便于實時操作采集圖像3行之內(nèi)的數(shù)據(jù),,從而使得能夠同時讀取到圖像3×3領(lǐng)域的像素值,,以達到能夠進行圖像邊沿檢測算法的條件。通過設(shè)置灰度化后的像素閾值,,從而實現(xiàn)圖像的二值化,,為后續(xù)的圖像處理進一步減少存儲容量,以利于后續(xù)的定位識別處理及存儲,。車牌圖像二值化后的圖像如圖5所示,。
在車牌定位部分的車牌精定位模塊,采用圖像在水平方向和垂直方向上進行投影的方法來實現(xiàn)車牌的精確定位,。通過緩存的粗定位后的圖像數(shù)據(jù),,實時掃描采集圖像的兩行與兩列,對每行每列像素點1的個數(shù)進行統(tǒng)計,,并計算相鄰兩行,、兩列的差值,。通過利用車牌形態(tài)學(xué)特征,設(shè)定差值的閾值,,從而可判斷出車牌的準確長度與寬度[6],,并通過設(shè)置長度與寬度的比例,進一步增強車牌定位的準確性,。車牌精定位后的圖像如圖6所示,。
2.2 FPGA硬件實現(xiàn)
FPGA硬件實現(xiàn)上,采用兩片深度為512 bit的8位寬FIFO作為數(shù)據(jù)輸入與輸出緩存,,圖像數(shù)據(jù)采集模塊將數(shù)據(jù)采集到寫FIFO中,待FIFO寫滿,,SDRAM控制器便將數(shù)據(jù)全部讀出,,并寫入SDRAM,SDRAM的存儲地址設(shè)定為640×480個,。在圖像處理算法模塊部分的中值濾波模塊,,采用兩個640像素的FIFO對前兩行內(nèi)數(shù)據(jù)進行緩存,通過7個3輸入比較器對數(shù)據(jù)進行排序,,取得其中值,,該值即為此3×3領(lǐng)域中心的像素值[7]。該方法很好地濾除了圖像高頻噪聲信號,。中值濾波硬件結(jié)構(gòu)圖如圖7所示,。
在圖像邊沿檢測模塊,采用3個640×8 bit的線性FIFO緩存對3行內(nèi)的數(shù)據(jù)進行緩存,,同時采用9個乘法器對這3行內(nèi)的3×3領(lǐng)域的各個像素進行加權(quán),,然后通過4個加法器求和,得到該3×3領(lǐng)域中心像素值,。依次對整幅圖像進行處理,,從而實現(xiàn)圖像的邊沿檢測。其Sobel邊沿檢測硬件結(jié)構(gòu)圖如圖8所示,。
在圖像的二值化模塊,,通過采用一個比較器,對灰度化后的圖像數(shù)據(jù)設(shè)定一個比較閾值,,從而實現(xiàn)灰度圖像的二值化,。在圖像的精定位模塊,同時緩存圖像粗定位后的兩行兩列數(shù)據(jù),,分別統(tǒng)計兩行兩列數(shù)據(jù)中的像素1的個數(shù),,同時設(shè)定閾值范圍,判斷得到圖像精定位的上下左右邊界值[8],。然后通過設(shè)定圖像邊界長度與寬度的比例,,從而精確地實現(xiàn)車牌的定位,。
3 系統(tǒng)軟件設(shè)計
為更加靈活地實現(xiàn)車牌識別的功能,本設(shè)計采用Altera的32位處理器Nios II軟核對圖像數(shù)據(jù)進行進一步的分割識別處理,。
圖像數(shù)據(jù)由數(shù)據(jù)輸入端口輸入,,經(jīng)三態(tài)橋緩存于SRAM中,待Nios II處理器處理,。按鍵PIO實現(xiàn)開始一幀圖像處理的控制,,控制車牌識別結(jié)果的輸出。片上存儲器OnchipMemory以及EPCS控制器用以實現(xiàn)Nios II 軟核的正常運行,。
在對車牌進行定位后,,考慮到車牌字符的排放特點與字符間的微小間隙,采用垂直灰度法進行車牌字符的分割,。字符識別部分采用的是模板匹配的方法,。我國的車牌,字符標志的首位為漢字的省名縮寫,,次位為英文字母,,再次位為英文字母或阿拉伯數(shù)字,末4位均為數(shù)字,。由于實際可能出現(xiàn)的英文字母和數(shù)字字符數(shù)目不多,,再基于Nios II軟核的運算能力考慮,采用模板匹配方法進行字符識別,。即將待識別的車牌字符矩陣與庫內(nèi)的標準字符矩陣對比,,相似度最大的則認為一致[9]。
當車牌上的待識別字符歸一化以后,,依次與標準庫中的模板進行匹配,,即矩陣對應(yīng)位依次做差,分別計算總的相同像素個數(shù),,則有最大相同數(shù)目的那一組數(shù)認為是相似度最大,,用此時的標準模板所對應(yīng)的數(shù)字或字母作為最終識別的結(jié)果。
4 測試分析及結(jié)論
系統(tǒng)測試根據(jù)對不同天氣,、拍攝角度,、拍攝距離、車牌完整性等因素給出了綜合測試與分析,。測試結(jié)果顯示在極端環(huán)境下,,圖像的對比度較低,識別率不高,,一般情況下圖像對比度較強,,識別率較高。整體測試顯示,本系統(tǒng)在較為理想的環(huán)境下,,識別率可達到94%,,白天識別率可達到98%;平均識別時間約為0.05 s,。相比參考文獻[9],,其平均識別率提高了3%,識別速度提高了50%,。
設(shè)計通過了Altera FPGA平臺EP2C35實際板級驗證測試,,順利地實現(xiàn)了對所采集的車牌圖像進行車牌的定位與識別,其識別效果如圖9所示,,并從控制臺得到了來自JTAG的車牌識別結(jié)果,。由設(shè)計的整體資源消耗報告分析可知,其占用的FPGA內(nèi)部邏輯資源相對較少,。驗證測試結(jié)果表明,,該設(shè)計實現(xiàn)了小面積高速智能車牌的定位與識別。
參考文獻
[1] 遲鐵軍,,高鵬.國外智能交通系統(tǒng)發(fā)展狀況分析及對我
國的啟示[J].黑龍江交通科技,2009,,32(2):111-114.
[2] Jia Wenjing,,Zhang Huaifeng,He Xiangjian.Region-based
license plate detection[J].Journal of Network and Computer
Applications,,2007,,30(4):1324-1333.
[3] Wang Feng,Man Lichun,,Wang Bangping,,et al.Fuzzy-based algorithm for color recognition of license plates[J].Pattern Recognition Letters,2008,,29(7):1007-1020.
[4] 張玲,,劉勇,何偉.自適應(yīng)遺傳算法在車牌定位中的應(yīng)用[J].計算機應(yīng)用,,2008,,28(1):184-186.
[5] 譚熙,黃樟燦.基于自適應(yīng)性的車牌定位新方法[J].計算機技術(shù)與自動化,,2008,,27(3):73-77.
[6] 謝劍斌,劉通,,文特,,等.基于多特征和加權(quán)模式相似性測度的車牌字符識別方法[J].計算機工程與科學(xué),2008,,30(8):36-38.
[7] CHANG S L,,CHEN L S,,CHUNG Y,et al.Automatic license plate recognition[J].IEEE Transactions on IntelligentTransportation Systems,,2006,,5(1):42-52.
[8] 梅林,劉鋒.基于邊緣檢測與垂直投影相結(jié)合的車牌定位方法[J].甘肅科技,,2009,,25(3):16-17.
[9] 李姍姍,劉純.基于FPGA車牌識別系統(tǒng)的設(shè)計與實現(xiàn)[J].軟件,,2012,,33(3):72-74.