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