李佳悅
【摘 要】作為車牌識(shí)別系統(tǒng)的關(guān)鍵環(huán)節(jié),車牌傾斜直接導(dǎo)致車牌識(shí)別準(zhǔn)確率降低。本文主要基于FPGA實(shí)現(xiàn)車牌傾斜校正算法,完成如下功能:采用Hough變換計(jì)算傾斜角度,采用CO RDIC(坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算)算法計(jì)算三角函數(shù)值;采用雙線性插值實(shí)現(xiàn)重采樣。
【關(guān)鍵詞】?jī)A斜校正;FPGA;Hough變換;CO RDIC
引言
隨著我國(guó)科學(xué)和技術(shù)的日益發(fā)展,世界范圍內(nèi)汽車數(shù)量的增長(zhǎng),城市智能化交通系統(tǒng)(ITS, Intelligent Traffic System)[1]受到人們?cè)絹?lái)越多的關(guān)注并且成為了一個(gè)熱門的研究領(lǐng)域。車牌識(shí)別(LPR, License Plate Recognition)作為重要技術(shù)已經(jīng)成為系統(tǒng)關(guān)鍵部分的組成。采集到的車牌圖像在一定程度上存在著角度的傾斜,若傾斜角度偏大,則會(huì)干擾到了字符識(shí)別的準(zhǔn)確性,對(duì)字符進(jìn)行分割和識(shí)別等工作帶來(lái)相當(dāng)大的困擾。所以說(shuō)車牌傾斜校正在車牌識(shí)別系統(tǒng)中起到了重中之重的地位?;贔PGA在硬件層面對(duì)車牌圖像進(jìn)行傾斜校正,根據(jù)傾斜校正算法的特點(diǎn)要求的是實(shí)時(shí)性和并行性,因此FPGA能很好的達(dá)到系統(tǒng)要求,無(wú)論是在速度、穩(wěn)健性、存儲(chǔ)容量、復(fù)雜環(huán)境等方面都可以有可觀的改善。并且基于FPGA的車牌圖像傾斜校正系統(tǒng)可以廣泛的應(yīng)用在車牌圖像處理和識(shí)別系統(tǒng)當(dāng)中。
系統(tǒng)的整體框架設(shè)計(jì)
如圖1所示為系統(tǒng)的整體設(shè)計(jì)框圖,車牌圖像經(jīng)過(guò)DA轉(zhuǎn)換模塊ADV7180轉(zhuǎn)換成圖像數(shù)據(jù),將數(shù)字圖像輸入到圖片輸入FIFO,再進(jìn)入到Hough變換模塊,同時(shí)由CORDIC算法得到的正余弦函數(shù)值存入片內(nèi)ROM后,將函數(shù)值送到Hough變換模塊進(jìn)行傾斜角度的測(cè)量,將角度存入片內(nèi)RAM中,進(jìn)入圖像旋轉(zhuǎn)模塊進(jìn)行圖像旋轉(zhuǎn),再對(duì)旋轉(zhuǎn)后的圖像進(jìn)行雙線性插值,將經(jīng)過(guò)傾斜校正的車牌圖像存入FIFO通過(guò)顯示控制器到D/A轉(zhuǎn)換模塊ADV7123,最后通過(guò)VGA顯示出傾斜校正后的車牌圖像。
車牌傾斜校正的軟件實(shí)現(xiàn)
對(duì)于車牌傾斜校正算法,要確定車牌的傾斜角,之后對(duì)其進(jìn)行旋轉(zhuǎn),采用Hough變換測(cè)得直線,從而得到傾斜角,在Hough變換的過(guò)程中通過(guò)CORDIC算法來(lái)實(shí)現(xiàn)正余弦三角函數(shù)值的確定,通過(guò)基于CORDIC算法的Hough變換實(shí)現(xiàn)得到傾斜角度,最后對(duì)圖像進(jìn)行相應(yīng)的旋轉(zhuǎn)和插值,最終達(dá)到傾斜校正的目的。
對(duì)于車牌傾斜校正算法的基本原理,Hough變換,CORDIC算法以及圖像旋轉(zhuǎn)原理和插值方法這些傳統(tǒng)的方法,經(jīng)過(guò)進(jìn)一步的研究后得出新的優(yōu)化算法。首先,傾斜校正算法由兩部分來(lái)完成,一個(gè)是通過(guò)Hough變換來(lái)求得車牌圖像的傾斜角度,第二部分是通過(guò)得到的傾斜角度,對(duì)車牌圖像進(jìn)行旋轉(zhuǎn)為了產(chǎn)生“空洞現(xiàn)象”再進(jìn)行插值方法,最終得到結(jié)果圖像,以達(dá)到傾斜校正的目的。不論是Hough變換,還是旋轉(zhuǎn)變換,都需要大量的三角函數(shù)計(jì)算,在FPGA硬件實(shí)現(xiàn)中,通常都是使用三角函數(shù)查找表來(lái)完成,在這里,將用到的是基于CODRIC算法來(lái)得到三角函數(shù)值,并存在FPGA內(nèi)部的ROM中,來(lái)配合Hough變換的進(jìn)行。
采用CORDIC迭代算法的流水線結(jié)構(gòu)[2],每一級(jí)CORDIC迭代運(yùn)算都采用獨(dú)立的一組運(yùn)算單元,流水線被填滿后,每個(gè)時(shí)鐘周期都會(huì)計(jì)算得到一組數(shù)據(jù),它的快速處理確保了數(shù)據(jù)實(shí)現(xiàn)實(shí)時(shí)高速處理的前提,每一級(jí)功能的實(shí)現(xiàn)都迭代一次,移位的位數(shù)與當(dāng)前的迭代級(jí)數(shù)相等,選擇加減法的依據(jù)由該級(jí)中Z的最高符號(hào)位來(lái)決定,從而得到下一級(jí)運(yùn)算中的x、y、z值。經(jīng)過(guò)流水線運(yùn)算N級(jí)后,z等于0,x為初始值z(mì)0的余弦值,y為初始值z(mì)0的正弦值。每一級(jí)運(yùn)算單元的結(jié)構(gòu)主要由3個(gè)加(減)法器和2個(gè)移位器組成,級(jí)與級(jí)之間不需要其他的寄存器,直接相連。唯有值為arctan(2- i),可將其轉(zhuǎn)換為二進(jìn)制數(shù)后,在存儲(chǔ)單元內(nèi)提供查找表給每一級(jí)流水線。
對(duì)于FPGA實(shí)現(xiàn)Hough變換主要分為對(duì)ρ值的計(jì)算和Hough變換空間點(diǎn)坐標(biāo)值累加兩部分。對(duì)于平面空間中的直線上的所有點(diǎn),在參數(shù)空間中的正弦曲線都將交于一點(diǎn),因此,對(duì)值進(jìn)行計(jì)算,并且逐次加1,完成累加后,設(shè)定閾值,因此,在閾值上的點(diǎn)就是參數(shù)空間中相交的這個(gè)點(diǎn),在平面空間中對(duì)應(yīng)的就是要檢測(cè)得到的直線,最后獲得傾斜角度。ρ值的計(jì)算過(guò)程,用乘法模塊計(jì)算α從CODRIC算法模塊中sinα和cosα得出的值和空間坐標(biāo)的x與y相乘的值,最后通過(guò)加法模塊的運(yùn)算得出ρ的值[3]。
乘法模塊的作用是完成傾斜校正算法中Hough變換和旋轉(zhuǎn)算法中圖像坐標(biāo)變換所需要的乘法運(yùn)算。在Hough變換中x,y是8bit,在圖像旋轉(zhuǎn)中,正余弦三角函數(shù)值是16bit,由此,本系統(tǒng)中,構(gòu)造乘法模塊的規(guī)格是8bit×16bit,這樣才能進(jìn)行乘法運(yùn)算,在乘法模塊的輸入端是8bit和16bit的變量,輸出端為24bit的數(shù)據(jù)。
符號(hào)運(yùn)算模塊的作用是完成傾斜校正算法中符號(hào)數(shù)的處理和運(yùn)算操作。這里主要是針對(duì)算法中的正余弦函數(shù)值以及在圖像旋轉(zhuǎn)算法中的減法運(yùn)算結(jié)果可能為正也可能為負(fù)。對(duì)于sin和cos可以通過(guò)對(duì)sin_sign和cos_sign賦值來(lái)表示,0正,1負(fù)。在圖像旋轉(zhuǎn)中,x,y則用x_sign和y_sign賦值表示,0正,l負(fù)[4]。通過(guò)對(duì)符號(hào)進(jìn)行異或運(yùn)算得到疊加運(yùn)算中的所有符號(hào),最后得到運(yùn)算結(jié)果。
仿真結(jié)果
采用ModelSim仿真工具進(jìn)行仿真,下圖為對(duì)系統(tǒng)整體仿真的波形圖,并且對(duì)仿真的結(jié)果進(jìn)行了分析。
角度的精確值與系統(tǒng)中處理過(guò)后的三角函數(shù)值,精度基本為10- 5,所得誤差在接受范圍內(nèi)。從仿真圖可以看到,該系統(tǒng)能完成對(duì)傾斜車牌圖像的校正,對(duì)于圖像的效果需要接下來(lái)的車牌識(shí)別的步驟得以完善,最終呈現(xiàn)出一副端正清晰地車牌圖像。
參考文獻(xiàn):
[l]史其信,陸化普.中國(guó)ITS發(fā)展戰(zhàn)略構(gòu)想.公路交通科技.1998.
[2] 孔德元.針對(duì)正余弦計(jì)算的CORDIC算法優(yōu)化及其FPGA實(shí)現(xiàn):[碩士學(xué)位論文].長(zhǎng)沙:中南大學(xué),2008.
[3]商爾科,李健,安向京等.基于FPGA的實(shí)時(shí)Hough變換.計(jì)算機(jī)工程.2010,36(16).
[4]曾祥萍.實(shí)時(shí)圖像的電子消旋技術(shù):[碩士學(xué)位論文].西安:中國(guó)科學(xué)院光電技術(shù)研究所,2006.
[5]李洪偉.圖像跟蹤器中視頻處理系統(tǒng)的設(shè)計(jì)與電子消像旋的實(shí)現(xiàn):[碩士學(xué)位論文].成都:電子科技大學(xué),2006.
[6]王新新,于素萍,趙小明.基于CORDIC算法的Hough變換及其FPGA實(shí)現(xiàn).通信技術(shù)2010,7(43)
[7]Tso- Bing Juang,Ming- Y u Tsai.Para- CORDIC:Parallel CORDIC RotationAlgorithm[J].IEEE Transactions on Circuits and Systems,2004,51(8):1515- 1524.