《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的智能車牌定位識別系統(tǒng)設計
基于FPGA的智能車牌定位識別系統(tǒng)設計
2014年電子技術應用第11期
梁赫西1,謝虎城2,王 建3
1.湖北師范學院 教育信息與技術學院,湖北 黃石435000; 2.武漢華中數(shù)控股份有限公司,湖北 武漢430223; 3.武漢中興軟件有限責任公司,湖北 武漢430023
摘要: 智能交通體系中,專用計算機視覺系統(tǒng)即牌照識別技術(License Plate Reeognition,LPR)占有極其重要的地位。設計了一種基于FPGA平臺的智能車牌定位識別系統(tǒng),在 EP2C35平臺上搭建SOPC系統(tǒng),完成了車牌圖像定位、字符提取識別等功能。該設計采用FPGA為核心,大大減小了制板的面積,有效提高了系統(tǒng)定位的速度及準確性;可定制的軟核Nios II處理器使得智能車牌識別系統(tǒng)具有了更大的靈活性。
中圖分類號: TP391
文獻標識碼: 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 引言

  車輛牌照圖像識別是計算機智能化的關鍵技術之一,涉及到模式識別、圖像處理、人工智能、信息論、計算機等多個學科,有著極其廣泛的實際應用價值[1]。

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

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

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


001.jpg

  系統(tǒng)采用CMOS攝像頭為前端圖像采集器件,用以采集車牌圖像信息,以Altera FPGA作為系統(tǒng)核心完成CMOS攝像頭初始化,圖像采集和處理、圖像定位以及圖像識別等任務。系統(tǒng)整體結(jié)構如圖1所示。圖中SDRAM用于存儲OV7670采集的圖像數(shù)據(jù),SRAM用于識別部分緩存一幀采集得到的圖像數(shù)據(jù),便于Nios II處理器處理數(shù)據(jù)。而EPCS16則用于存放FPGA的配置數(shù)據(jù)。

2 系統(tǒng)硬件設計


002.jpg

  系統(tǒng)FPGA硬件設計部分如圖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所示。

003.jpg

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

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

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

004.jpg

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

005.jpg

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

006.jpg

  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的存儲地址設定為640×480個。在圖像處理算法模塊部分的中值濾波模塊,采用兩個640像素的FIFO對前兩行內(nèi)數(shù)據(jù)進行緩存,通過7個3輸入比較器對數(shù)據(jù)進行排序,取得其中值,該值即為此3×3領域中心的像素值[7]。該方法很好地濾除了圖像高頻噪聲信號。中值濾波硬件結(jié)構圖如圖7所示。

007.jpg

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

008.jpg

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

3 系統(tǒng)軟件設計

  為更加靈活地實現(xiàn)車牌識別的功能,本設計采用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]。

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

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

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

009.jpg

  設計通過了Altera FPGA平臺EP2C35實際板級驗證測試,順利地實現(xiàn)了對所采集的車牌圖像進行車牌的定位與識別,其識別效果如圖9所示,并從控制臺得到了來自JTAG的車牌識別結(jié)果。由設計的整體資源消耗報告分析可知,其占用的FPGA內(nèi)部邏輯資源相對較少。驗證測試結(jié)果表明,該設計實現(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] 張玲,劉勇,何偉.自適應遺傳算法在車牌定位中的應用[J].計算機應用,2008,28(1):184-186.

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

  [6] 謝劍斌,劉通,文特,等.基于多特征和加權模式相似性測度的車牌字符識別方法[J].計算機工程與科學,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)的設計與實現(xiàn)[J].軟件,2012,33(3):72-74.


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