《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的智能車牌定位識別系統(tǒng)設(shè)計(jì)
基于FPGA的智能車牌定位識別系統(tǒng)設(shè)計(jì)
2014年電子技術(shù)應(yīng)用第11期
梁赫西1,謝虎城2,王 建3
1.湖北師范學(xué)院 教育信息與技術(shù)學(xué)院,湖北 黃石435000; 2.武漢華中數(shù)控股份有限公司,湖北 武漢430223; 3.武漢中興軟件有限責(zé)任公司,湖北 武漢430023
摘要: 智能交通體系中,專用計(jì)算機(jī)視覺系統(tǒng)即牌照識別技術(shù)(License Plate Reeognition,LPR)占有極其重要的地位。設(shè)計(jì)了一種基于FPGA平臺的智能車牌定位識別系統(tǒng),在 EP2C35平臺上搭建SOPC系統(tǒng),完成了車牌圖像定位、字符提取識別等功能。該設(shè)計(jì)采用FPGA為核心,大大減小了制板的面積,有效提高了系統(tǒng)定位的速度及準(zhǔn)確性;可定制的軟核Nios II處理器使得智能車牌識別系統(tǒng)具有了更大的靈活性。
中圖分類號: TP391
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2014)11-0032-04
Intelligent license plate positioning identification system based on FPGA
Liang Hexi1,Xie Hucheng2,Wang Jiang3
1.College of Educational Information and Technology, Hubei Normal University,Huangshi 435000,China;2.Wuhan Huazhong Numerical Control co.,LTD.,Wuhan 430223,China;3.Wuhan Zhongxing Software co., LTD.,Wuhan 430023,China
Abstract: In intelligent transportation systems, dedicated computer vision system like license plate recognition takes an extremely important position. This paper presents an intelligent license plate location recognition system based on FPGA platform, builds SOPC system on the EP2C35 platform to complete the license plate image location, character recognition and other functions. The design uses FPGA as core, greatly reducing the system board area and effectively improving the speed and accuracy of the positioning system. Customizable NIOS II soft-core processor makes intelligent license plate recognition system with greater flexibility.
Key words : license plate positioning;FPGA;the image processing;character segmentation

0 引言

  車輛牌照圖像識別是計(jì)算機(jī)智能化的關(guān)鍵技術(shù)之一,涉及到模式識別、圖像處理、人工智能、信息論、計(jì)算機(jī)等多個(gè)學(xué)科,有著極其廣泛的實(shí)際應(yīng)用價(jià)值[1]。

  車牌識別系統(tǒng)主要由數(shù)據(jù)采集系統(tǒng)和軟件識別系統(tǒng)兩個(gè)主要部分組成,由于車牌清晰程度、攝像機(jī)性能、氣候條件等因素的影響,牌照上面的字符可能出現(xiàn)不清楚、扭曲、缺損或污跡干擾,這都給識別造成一定難度[2]。因此,在復(fù)雜背景中快速、準(zhǔn)確地進(jìn)行車牌定位成為車牌識別系統(tǒng)的難點(diǎn)。

  本文設(shè)計(jì)了一種智能車牌識別系統(tǒng),系統(tǒng)采用FPGA平臺,相對于單片機(jī)、CPLD為核心的平臺提高了系統(tǒng)的集成度,大大節(jié)約了系統(tǒng)面積,降低了成本,提高了系統(tǒng)識別速度和效率,具有便攜性好、易于維護(hù)等優(yōu)點(diǎn)。

1 系統(tǒng)總體架構(gòu)


001.jpg

  系統(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è)計(jì)


002.jpg

  系統(tǒng)FPGA硬件設(shè)計(jì)部分如圖2所示, 通過SCCB編程接口初始化OV7670 CMOS攝像頭,由OV7670數(shù)據(jù)采集模塊實(shí)時(shí)采集攝像頭采集的數(shù)據(jù),并將數(shù)據(jù)緩存在一片深度為512×8 bit的FIFO中,待FIFO存儲滿,由SDRAM 控制模塊將數(shù)據(jù)發(fā)送到SDRAM存儲。SDRAM 存儲空間為640×480 B。同時(shí),SDRAM等待VGA控制模塊的讀請求信號,從而將數(shù)據(jù)輸送到另一片同樣大小的FIFO中進(jìn)行緩存,以備VGA控制模塊讀取。VGA控制器按照標(biāo)準(zhǔn)640×480@60 Hz時(shí)序?qū)D像數(shù)據(jù)輸出。圖像處理模塊接收VGA數(shù)據(jù)并通過對圖像進(jìn)行車牌粗定位、圖像灰度化、中值濾波、Sobel算子邊沿檢測、圖像二值化、車牌精定位等算法,實(shí)現(xiàn)對車牌的定位。同時(shí),SOPC系統(tǒng)Nios II軟核處理器也采集VGA控制模塊的數(shù)據(jù)并緩存于SRAM中,從而實(shí)現(xiàn)對圖像字符的分割、識別,并通過JTAG將識別結(jié)果反饋到控制臺。

  2.1 MATLAB算法驗(yàn)證

  中國國內(nèi)車牌大多數(shù)以藍(lán)底白字為主,大小為440 mm×140 mm。車牌粗定位即利用車牌特有的藍(lán)色背景為前提,通過將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]。通過掃描H、S、V分量,從而實(shí)現(xiàn)分離圖像藍(lán)色成分,即可實(shí)現(xiàn)車牌的粗定位。

  圖像灰度化:將粗定位后的彩色車牌圖像灰度化,以減少圖像數(shù)據(jù)的存儲量,便于圖像的存儲及后續(xù)對圖像的處理。圖像灰度化后的車牌圖像如圖3所示。

003.jpg

  在FPGA中實(shí)現(xiàn)中值濾波,出于實(shí)際處理速度、處理效果和器件資源考慮,本系統(tǒng)選用3×3鄰域窗口。這種方法比傳統(tǒng)的冒泡排序法減少了邏輯資源的占用,卻和其一樣能找出中值,且只需經(jīng)過3級的比較(即3個(gè)時(shí)鐘周期的延時(shí))就可以找出中值[4]。

  系統(tǒng)采用Altera公司的DSP builder來完成該濾波器的設(shè)計(jì)。利用Verilog硬件描述語言,描述一個(gè)8位的3輸入比較器,其功能可將輸入的3個(gè)8位寬數(shù)據(jù)進(jìn)行排序,分別以最大值、中值、最小值的形式輸出。

  系統(tǒng)中圖像邊沿檢測模塊,采用的是Sobel算子,實(shí)現(xiàn)3×3領(lǐng)域像素的圖像邊沿檢測。該算子是在以F(x,y)為中心的3×3鄰域上計(jì)算x和y方向的偏導(dǎo)數(shù),是一種將方向差運(yùn)算與局部平均相結(jié)合的方法[5]。其邊緣檢測算子的卷積算子如圖4所示。

004.jpg

  系統(tǒng)采用3個(gè)深度為640的FIFO對數(shù)據(jù)進(jìn)行緩存,在進(jìn)行邊沿檢測時(shí),以便于實(shí)時(shí)操作采集圖像3行之內(nèi)的數(shù)據(jù),從而使得能夠同時(shí)讀取到圖像3×3領(lǐng)域的像素值,以達(dá)到能夠進(jìn)行圖像邊沿檢測算法的條件。通過設(shè)置灰度化后的像素閾值,從而實(shí)現(xiàn)圖像的二值化,為后續(xù)的圖像處理進(jìn)一步減少存儲容量,以利于后續(xù)的定位識別處理及存儲。車牌圖像二值化后的圖像如圖5所示。

005.jpg

  在車牌定位部分的車牌精定位模塊,采用圖像在水平方向和垂直方向上進(jìn)行投影的方法來實(shí)現(xiàn)車牌的精確定位。通過緩存的粗定位后的圖像數(shù)據(jù),實(shí)時(shí)掃描采集圖像的兩行與兩列,對每行每列像素點(diǎn)1的個(gè)數(shù)進(jìn)行統(tǒng)計(jì),并計(jì)算相鄰兩行、兩列的差值。通過利用車牌形態(tài)學(xué)特征,設(shè)定差值的閾值,從而可判斷出車牌的準(zhǔn)確長度與寬度[6],并通過設(shè)置長度與寬度的比例,進(jìn)一步增強(qiáng)車牌定位的準(zhǔn)確性。車牌精定位后的圖像如圖6所示。

006.jpg

  2.2 FPGA硬件實(shí)現(xiàn)

  FPGA硬件實(shí)現(xiàn)上,采用兩片深度為512 bit的8位寬FIFO作為數(shù)據(jù)輸入與輸出緩存,圖像數(shù)據(jù)采集模塊將數(shù)據(jù)采集到寫FIFO中,待FIFO寫滿,SDRAM控制器便將數(shù)據(jù)全部讀出,并寫入SDRAM,SDRAM的存儲地址設(shè)定為640×480個(gè)。在圖像處理算法模塊部分的中值濾波模塊,采用兩個(gè)640像素的FIFO對前兩行內(nèi)數(shù)據(jù)進(jìn)行緩存,通過7個(gè)3輸入比較器對數(shù)據(jù)進(jìn)行排序,取得其中值,該值即為此3×3領(lǐng)域中心的像素值[7]。該方法很好地濾除了圖像高頻噪聲信號。中值濾波硬件結(jié)構(gòu)圖如圖7所示。

007.jpg

  在圖像邊沿檢測模塊,采用3個(gè)640×8 bit的線性FIFO緩存對3行內(nèi)的數(shù)據(jù)進(jìn)行緩存,同時(shí)采用9個(gè)乘法器對這3行內(nèi)的3×3領(lǐng)域的各個(gè)像素進(jìn)行加權(quán),然后通過4個(gè)加法器求和,得到該3×3領(lǐng)域中心像素值。依次對整幅圖像進(jìn)行處理,從而實(shí)現(xiàn)圖像的邊沿檢測。其Sobel邊沿檢測硬件結(jié)構(gòu)圖如圖8所示。

008.jpg

  在圖像的二值化模塊,通過采用一個(gè)比較器,對灰度化后的圖像數(shù)據(jù)設(shè)定一個(gè)比較閾值,從而實(shí)現(xiàn)灰度圖像的二值化。在圖像的精定位模塊,同時(shí)緩存圖像粗定位后的兩行兩列數(shù)據(jù),分別統(tǒng)計(jì)兩行兩列數(shù)據(jù)中的像素1的個(gè)數(shù),同時(shí)設(shè)定閾值范圍,判斷得到圖像精定位的上下左右邊界值[8]。然后通過設(shè)定圖像邊界長度與寬度的比例,從而精確地實(shí)現(xiàn)車牌的定位。

3 系統(tǒng)軟件設(shè)計(jì)

  為更加靈活地實(shí)現(xiàn)車牌識別的功能,本設(shè)計(jì)采用Altera的32位處理器Nios II軟核對圖像數(shù)據(jù)進(jìn)行進(jìn)一步的分割識別處理。

  圖像數(shù)據(jù)由數(shù)據(jù)輸入端口輸入,經(jīng)三態(tài)橋緩存于SRAM中,待Nios II處理器處理。按鍵PIO實(shí)現(xiàn)開始一幀圖像處理的控制,控制車牌識別結(jié)果的輸出。片上存儲器OnchipMemory以及EPCS控制器用以實(shí)現(xiàn)Nios II 軟核的正常運(yùn)行。

  在對車牌進(jìn)行定位后,考慮到車牌字符的排放特點(diǎn)與字符間的微小間隙,采用垂直灰度法進(jìn)行車牌字符的分割。字符識別部分采用的是模板匹配的方法。我國的車牌,字符標(biāo)志的首位為漢字的省名縮寫,次位為英文字母,再次位為英文字母或阿拉伯?dāng)?shù)字,末4位均為數(shù)字。由于實(shí)際可能出現(xiàn)的英文字母和數(shù)字字符數(shù)目不多,再基于Nios II軟核的運(yùn)算能力考慮,采用模板匹配方法進(jìn)行字符識別。即將待識別的車牌字符矩陣與庫內(nèi)的標(biāo)準(zhǔn)字符矩陣對比,相似度最大的則認(rèn)為一致[9]。

  當(dāng)車牌上的待識別字符歸一化以后,依次與標(biāo)準(zhǔn)庫中的模板進(jìn)行匹配,即矩陣對應(yīng)位依次做差,分別計(jì)算總的相同像素個(gè)數(shù),則有最大相同數(shù)目的那一組數(shù)認(rèn)為是相似度最大,用此時(shí)的標(biāo)準(zhǔn)模板所對應(yīng)的數(shù)字或字母作為最終識別的結(jié)果。

4 測試分析及結(jié)論

  系統(tǒng)測試根據(jù)對不同天氣、拍攝角度、拍攝距離、車牌完整性等因素給出了綜合測試與分析。測試結(jié)果顯示在極端環(huán)境下,圖像的對比度較低,識別率不高,一般情況下圖像對比度較強(qiáng),識別率較高。整體測試顯示,本系統(tǒng)在較為理想的環(huán)境下,識別率可達(dá)到94%,白天識別率可達(dá)到98%;平均識別時(shí)間約為0.05 s。相比參考文獻(xiàn)[9],其平均識別率提高了3%,識別速度提高了50%。

009.jpg

  設(shè)計(jì)通過了Altera FPGA平臺EP2C35實(shí)際板級驗(yàn)證測試,順利地實(shí)現(xiàn)了對所采集的車牌圖像進(jìn)行車牌的定位與識別,其識別效果如圖9所示,并從控制臺得到了來自JTAG的車牌識別結(jié)果。由設(shè)計(jì)的整體資源消耗報(bào)告分析可知,其占用的FPGA內(nèi)部邏輯資源相對較少。驗(yàn)證測試結(jié)果表明,該設(shè)計(jì)實(shí)現(xiàn)了小面積高速智能車牌的定位與識別。

參考文獻(xiàn)

  [1] 遲鐵軍,高鵬.國外智能交通系統(tǒng)發(fā)展?fàn)顩r分析及對我

  國的啟示[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].計(jì)算機(jī)應(yīng)用,2008,28(1):184-186.

  [5] 譚熙,黃樟燦.基于自適應(yīng)性的車牌定位新方法[J].計(jì)算機(jī)技術(shù)與自動化,2008,27(3):73-77.

  [6] 謝劍斌,劉通,文特,等.基于多特征和加權(quán)模式相似性測度的車牌字符識別方法[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] 梅林,劉鋒.基于邊緣檢測與垂直投影相結(jié)合的車牌定位方法[J].甘肅科技,2009,25(3):16-17.

  [9] 李姍姍,劉純.基于FPGA車牌識別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件,2012,33(3):72-74.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。