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