一種車(chē)牌字符識別方法的設計實(shí)現
車(chē)牌識別是智能交通系統的一個(gè)重要研究課題,存在巨大的市場(chǎng)需求。車(chē)牌識別系統分車(chē)輛圖像的獲取、車(chē)牌的定位與字符分割、車(chē)牌字符識別3大部分。對于車(chē)牌字符識別,目前最常用的方法是基于模板匹配的方法和基于神經(jīng)網(wǎng)絡(luò )的方法兩大類(lèi)。前者多利用了字符的輪廓、網(wǎng)格、投影等統計特征,相似字符區分能力差,且因特征數據維數過(guò)大會(huì )導致識別速度慢;而后者則存在網(wǎng)絡(luò )輸入數據的選擇和網(wǎng)絡(luò )結構設計等問(wèn)題。
本文引用地址:http://dyxdggzs.com/article/149762.htm目前,普遍采用3類(lèi)方法來(lái)提高字符的識別性能:第1類(lèi)是尋找更好的分類(lèi)識別算法;第2類(lèi)是將幾種分類(lèi)器結合起來(lái),相互補充,根據不同方面的特征分類(lèi),如文獻;第3類(lèi)是抽取具有更強描述能力的特征,結合其它輔助特征來(lái)進(jìn)行分類(lèi)。本文所構建的車(chē)牌字符系統基于FPGA平臺,具有并行運算能力強、接口邏輯豐富等特性,為構建實(shí)時(shí)、便攜的車(chē)牌字符識別系統提供了一種有效、可行的解決方案。
1 系統概述
本系統主要采用Altera公司的DE2開(kāi)發(fā)板為實(shí)驗平臺,根據該系統實(shí)現的功能,將系統劃分為硬、軟件兩部分,硬件部分包括車(chē)牌采集[5][6]和A/D轉換、車(chē)牌預處理等;軟件部分主要使用CyclONe II FPGA內嵌的NIOS II軟核,采用SOPC Builder配置生成片上系統,并使用模板匹配算法對車(chē)牌進(jìn)行識別,最后識別結果在LED上顯示。
FPGA(Field-Programmable Gate Array),即現場(chǎng)可編程門(mén)陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數有限的缺點(diǎn)。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(xiàn)(Interconnect)三個(gè)部分
2 車(chē)牌預處理
2.1 粗定位和灰度化
車(chē)牌定位是整個(gè)系統的關(guān)鍵問(wèn)題之一,它直接影響了后續的分割以及識別的準確率??紤]到整個(gè)圖像車(chē)牌部分的字符顏色和車(chē)牌背景顏色差別很大,其灰度級別分布有一定規律和范圍,兼之車(chē)牌的寬度有一定的比例,因此可以將車(chē)牌從背景圖片中分離出來(lái)。
我國現有的車(chē)輛主要有藍底白字牌照、黃底黑字牌照等四種類(lèi)型。鑒于車(chē)牌前景、背景色的顏色特征,可以通過(guò)對顏色通道的分析來(lái)大致的確定車(chē)牌所在的位置以完成車(chē)牌位置的粗定位。在確定參數的時(shí)候,除了要考慮主色的下限參數以外還要考慮另外二個(gè)通道的上限參數。經(jīng)過(guò)反復的試驗對比后得出經(jīng)驗參數值為:以藍底白字的車(chē)牌為例,在RGB 三個(gè)通道中:R 10'b0110110000; G10'b0111010000; B>10'0110110000,由以上參數為掃描閾值,自動(dòng)剔除車(chē)牌位置之外的其他圖像部分,完成粗定位。
2.2 中值濾波處理
中值濾波法是一種非線(xiàn)性平滑技術(shù),它將每一象素點(diǎn)的灰度值設置為該點(diǎn)某鄰域窗口內的所有象素點(diǎn)灰度值的中值。
粗定位后的車(chē)牌首先進(jìn)行灰度化處理以減小數據量利于實(shí)時(shí)處理。其次為了抑制車(chē)牌圖像在采集時(shí)產(chǎn)生的椒鹽噪聲等脈沖噪聲影響,改善圖像質(zhì)量,本文對灰度化后的車(chē)牌圖像進(jìn)行中值濾波處理。
在FPGA中實(shí)現中值濾波,出于實(shí)際處理速度、處理效果和器件資源考慮,本文選用3×3鄰域窗口??紤]到FPGA強大的并行處理數據能力,此處設計一種對3×3鄰域中九個(gè)數據一起處理的方法,它是基于三輸入排序單元構成,而每個(gè)三輸入單元又是由若干二輸入單元構成。這種方法比傳統的冒泡排序法減少了邏輯資源的占用,卻和其一樣能找出中值,且只需經(jīng)過(guò)3級的比較,即3個(gè)時(shí)鐘周期的延時(shí)就可以找出中值。圖2-2為本文在FPGA中設計實(shí)現快速中值濾波的框圖。據此即完成了所采集的車(chē)牌圖像的中值濾波去噪。
2.3 二值化處理
因為車(chē)牌定位和字符分割都是基于車(chē)牌區域的二值化結果進(jìn)行,所以二值化的效果直接影響到車(chē)牌識別的效果。由于要從待檢測的車(chē)牌圖像區域截取圖像的背景不會(huì )很復雜。前景區域和背景區域的差異比較明顯,所以車(chē)牌圖像的灰度直方圖將有明顯雙峰效果。本文通過(guò)直方圖的雙峰法的方法來(lái)求取閾值,對車(chē)牌圖像進(jìn)行二值化處理。
一幅圖像包括目標物體、背景還有噪聲,要想從多值的數字圖像中直接提取出目標物體,最常用的方法就是設定一個(gè)閾值T,用T將圖像的數據分成兩部分:大于T的像素群和小于T的像素群。這是研究灰度變換的最特殊的方法,稱(chēng)為圖像的二值化(BINARIZATION)。圖像的二值化,就是將圖像上的像素點(diǎn)的灰度值設置為0或255,也就是將整個(gè)圖像呈現出明顯的只有黑和白的視覺(jué)效果。
3 車(chē)牌檢測
在對采集到的車(chē)牌圖像二值化處理以后,一幀圖像的大小大幅度減小,約為400k 左右,下面就是把該二值化車(chē)牌圖像傳輸至NIOS II 軟核內進(jìn)行分割等后續處理,考慮到NIOS II軟核中資源豐富的特點(diǎn),本文通過(guò)增加輸入輸出口的數量來(lái)提升數據傳入的速度,從而滿(mǎn)足系統的實(shí)時(shí)性處理要求。根據數據傳輸需求,本文設計通過(guò)22 個(gè)32bit 的輸入輸出口來(lái)傳送數據,雖然22×32=704bit 相比一幀圖像的一行720bit 少了16bit,但考慮到車(chē)牌圖像的邊緣是非字符目標區域的背景圖像,對最終識別結果的影響甚小,故可以近乎忽略。
3.1 基于車(chē)牌字母及數字特征的準確定位
通過(guò)車(chē)牌的彩色特性對車(chē)牌進(jìn)行預定位后,再根據車(chē)牌號碼的字母和數字在二值化后的特性準確定位出車(chē)牌的位置,如果此時(shí)定位出車(chē)牌的位置在彩色通道預定位的車(chē)牌區域內,則說(shuō)明車(chē)牌位置已經(jīng)確定,如果不在彩色通道定義的車(chē)牌位置范圍之內,則需要重新判斷。
(1)定位牌照的上下邊界:若某一行的0→1(白到黑)和1→0(黑到白)變化次數大于設定的閾值,則設其為待測車(chē)牌的最低點(diǎn),繼續掃描直至0→1 和1→0 變化次數小于閾值,將該閾值設為待測車(chē)牌的最高點(diǎn)。若最高點(diǎn)與最低點(diǎn)之差大于15,則認為目標已檢測到,否則繼續進(jìn)行掃描;如果未檢測到符合上述條件的目標,則自動(dòng)門(mén)限值重復以上的操作,直到找到目標為止。
(2)定位牌照的左右邊界:在找到車(chē)牌的上下限后,利用二值圖像在豎直方向上的投影作為特征,從左到右尋找目標的中心點(diǎn)坐標。
3.2 基于垂直灰度法的字符分割
在對車(chē)牌進(jìn)行定位后,考慮到車(chē)牌字符的排放特點(diǎn)與字符間的微小間隙,采用垂直灰度法進(jìn)行車(chē)牌字符的分割。主要思想是設定一個(gè)垂直投影的閾值,判斷投影大于閾值則標記并保存,遇到空隙則分割,最后判斷字符區域的長(cháng)度是否滿(mǎn)足字符的長(cháng)度,滿(mǎn)足字符長(cháng)度的則記錄為有效字符,不滿(mǎn)足將剔除繼續掃描下一個(gè)知道掃描完整行為止。
3.3 模板匹配
我國的車(chē)牌,字符標志的首位為漢字的省名縮寫(xiě),次位為英文字母,再次位為英文字母或阿拉伯數字,末四位均為數字。由于實(shí)際可能出現的英文字母和數字字符數目不多,再基于NIOS II 軟核的運算能力考慮,采用模板匹配方法進(jìn)行字符識別。即將待識別的車(chē)牌字符矩陣與庫內的標準字符矩陣(標準模版)對比,相似度最大的則認為一致。
首先將標準模板入庫,按國家車(chē)牌標準的大小、字體、字符間距等打印出數張樣品,其前景、背景清晰,字符沒(méi)有斷續,很少噪聲、且包含了所有可能的車(chē)牌字符,作為標準車(chē)牌,用以采樣制作標準字符矩陣庫。把每一張標準車(chē)牌分割出來(lái)的字符歸一化[7],接著(zhù)將歸一化后的模板矩陣存入FPGA中作為標準模板庫,根據實(shí)驗情況,模板越大識別率越高,但同時(shí)會(huì )帶來(lái)運算數據量的大大增加,于是在綜合考慮準確度和NIOS II軟核的工作效率后采用20×15 bit大小的數組作為標準模板。
當車(chē)牌上的待識別字符歸一化以后,依次與標準庫中的模板進(jìn)行匹配,即矩陣對應位依次做差,分別計算總的相同像素個(gè)數,則有最大相同數目的那一組數認為是相似度最大,則用此時(shí)的標準模板所對應的數字或字母作為最終識別的結果。
在PAL 制式的CCD 攝像頭、Altera DE2 開(kāi)發(fā)板和普通VGA 顯示器的實(shí)驗環(huán)境下,隨機選取20 張車(chē)牌進(jìn)行檢測,在不同的光照條件下,正確檢測出的字符率達到了90%以上,在光照較好的情況下,識別率達到94%以上,且平均識別時(shí)間不到0.1 秒,完全滿(mǎn)足實(shí)時(shí)性的需求。實(shí)驗結果表明,采用FPGA 可以很好的完成對車(chē)牌實(shí)時(shí)檢測的任務(wù),且具有體積小、功耗低、速度快等明顯的優(yōu)點(diǎn)。
4 結論
本文在利用FPGA 采集車(chē)牌圖像的基礎上,實(shí)現了一種利用字符歸一化和模板匹配的簡(jiǎn)單快速的車(chē)牌字符識別系統,并在SOPC 中實(shí)現。系統具有視頻圖像采集實(shí)時(shí),車(chē)牌定位分割準確和識別誤差低等特點(diǎn)。這種基于SOPC 技術(shù)的片上系統設計方法具有硬件設計靈活,可擴展性強等優(yōu)點(diǎn),它彌補了傳統PC 機系統和DSP 系統設計的不足,有效地降低了系統軟硬件設計的難度,縮短了開(kāi)發(fā)周期,并提高了設計的可靠性??捎糜诘缆奋?chē)輛監控、智能交通管理等應用領(lǐng)域,具有較高的實(shí)用價(jià)值和應用前景。
全息投影相關(guān)文章:全息投影原理
評論