劉小園
(羅定職業(yè)技術(shù)學(xué)院,羅定 527200)
數(shù)字圖像處理技術(shù)發(fā)展迅速,應(yīng)用于各個行業(yè)和領(lǐng)域,已成為當(dāng)前研究的熱點課題。數(shù)字圖像處理方法的研究源于兩個主要應(yīng)用領(lǐng)域:其一是為了便于人們分析而對圖像信息進行改進;其二是為使機器自動理解而對圖像數(shù)據(jù)進行存儲、傳輸及顯示。人們的研究熱點主要在于對算法處理方便,由于數(shù)字圖像的海量信息和復(fù)雜算法實現(xiàn)時的反復(fù)運算,對于單線程的CPU來說要付出昂貴的代價。而FPGA的靈活性和強大的并行處理能力能以較小的硬件開銷實現(xiàn)圖像的處理過程。人們已在近期內(nèi)開展這方面的研究,文獻[1]討論了用FPGA實現(xiàn)快速中值濾波算法,分析利用Sobel算子和系統(tǒng)級并行流水線進行圖像邊緣檢測硬件電路設(shè)計的優(yōu)點和可行性。文獻[2]應(yīng)用提高程序效率、實現(xiàn)快速運算的一種方法,并設(shè)計了一個利用中值濾波進行圖像預(yù)處理的系統(tǒng),之后進行了仿真和實驗驗證。所見研究都集中于圖像預(yù)處理方面,而在圖像最終識別方面研究甚少。
本文以實際項目鈔票流轉(zhuǎn)智能監(jiān)控系統(tǒng)為依托,利用CIS(接觸式圖像傳感器)獲取鈔票、支票和轉(zhuǎn)賬單的圖像信息,由FPGA和ARM組成了實時圖像處理識別系統(tǒng),利用FPGA構(gòu)建了各種噪聲去除、圖像增強、圖像預(yù)處理、模板匹配等圖像硬件處理器,實現(xiàn)對26個英文字母和10個阿拉伯?dāng)?shù)字的實時識別。在匹配算法的基礎(chǔ)上,利用FPGA大規(guī)模的布爾代數(shù)并行計算特性,實現(xiàn)了識別的時鐘周期級別的識別速度。在大幅度降低了硬件成本的同時大幅度提高了識別的速度。由于鈔票流轉(zhuǎn)智能監(jiān)控系統(tǒng)特殊的工作要求,圖像采集是由高速CIS來完成的。CIS采集與其它圖像傳感器不同,它成像物距幾乎為零,按照實物與圖像1:1的比例來完成的,所以采集到的字符圖像大小縮放和形變非常小,為后期的識別減少了大量的圖形校正工作。在實驗過程中加入定位裝置以后,經(jīng)過幾千次的采集實驗,均未出現(xiàn)字符圖像較大形變的現(xiàn)象。
中值濾波既能消除圖像中的噪聲,而且還能較好地保持圖像的邊緣。因此,本系統(tǒng)采用中值濾波來降噪。中值濾波的基本原理是把數(shù)字圖像中一點的值用該點的一個鄰域(即濾波窗口)中各點值的中值代替。所以,在實際的中值濾波設(shè)計中,主要的工作就是確定鄰域形狀及大小,選擇合理的方法找出中值即可。根據(jù)實際處理速度、處理效果和器件資源要求,本文選用的是3×3鄰域窗口。傳統(tǒng)的中值濾波算法,是使用冒泡法對濾波窗口內(nèi)像素值排序找出中值來實現(xiàn)的,需經(jīng)過12級的比較排序找出中值,也就是說,至少要經(jīng)過12個時鐘周期的延時。本文所使用的排序方法對傳統(tǒng)方法進行了改進[3],它基于三輸入排序單元(每個三輸入單元又是由若干二輸入單元構(gòu)成)。其指導(dǎo)思想并不是對整個鄰域窗口內(nèi)所有的像素值進行排序,而是直接找出其中的最大值、最小值和中間值,并不管其他像素值的排列順序。排序過程如1圖所示。
圖1 排序過程圖
這種方法比前一種方法減少了邏輯資源的占用,卻和前一種方法一樣能找出中值。本設(shè)計模塊共進行了三級排序操作,每一級采用了流水線緩存技術(shù),使得每一組3×3鄰域窗口內(nèi)的輸入像素值在每一時鐘節(jié)拍都得到處理,保證了模塊的處理頻率。
銳化處理主要是突出圖像中的細節(jié)或者增強被模糊了的細節(jié),這些模糊是圖像采集時不可避免的?;谖⒎值募毠?jié)銳化濾波器是應(yīng)用很廣而又相對容易實現(xiàn)的銳化濾波器,其中二階微分處理對細節(jié)有較強的響應(yīng),對線的響應(yīng)階梯性強,非常適合字符識別圖像的銳化處理。拉普拉斯算子是一種各向同性二階微分濾波器,其響應(yīng)與圖像的突變方向無關(guān)[4]。二元圖像函數(shù)f(x, y)的拉普拉斯變換定義為:
在x軸和y軸方向上的離散形式可表示為:2f=[f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)]-4f(x,y)
如以3×3掩模為基礎(chǔ)(原圖如圖2所示),將對角線上的項也加以考慮,其銳化效果將更加明顯(如圖3所示),拉普拉斯的離散形式表達式為:
圖像二值化的關(guān)鍵在于閾值T的選擇既門限處理。設(shè)圖像f(x,y),有筆劃的部分的f(x,y)小,白背景部分的f(x,y)大。二值化可以通過設(shè)定灰度閾值來完成,即當(dāng)f(x,y)值比預(yù)定閾值大時,看成背景,以0表示;否則看成筆劃,以1表示。這樣,經(jīng)過門限處理后,各點重新表示為:
由于人民幣號碼字符與背量灰度差異較大,所以二值化閾值T的可選擇范圍較廣。取T=158對圖3的處理如圖4所示。
圖4 二值化后
號碼字符的垂直切分,就是從垂直方向上將號碼中的字符分離開來。最基本的分割原理基于字符間存在一個垂直投影值接近于0的區(qū)域這一特征。因為有兩種類型,應(yīng)先在系統(tǒng)內(nèi)制定兩個切分模板M1,M2,再從標準模板中派生出一系列子模板M'。子模板用于垂直切分位置的匹配。設(shè)子模板M'中有k個字符,于是有k+1條切分線。設(shè)切分線在垂直投影直方圖H上對應(yīng)的位置分別是:s1,s2,…,s(k+1)。切分線si的切分權(quán)重為wi,對應(yīng)的直方圖投影為mi。決策函數(shù)f定義為
水平切分就是要確定號碼上每個字符的上下邊界。當(dāng)垂直切分完成后,由垂直切分線可以確定某個字符所在的垂直方向的條形區(qū)域。把這一區(qū)域向水平方向作投影,就能確定字符的大致水平邊界。以此計算各個字符的高度并統(tǒng)計相近高度的字符數(shù),從而找到具有最多字符個數(shù)的相似組。凡與相似組相近高度的字符區(qū)設(shè)置為有效。
字符規(guī)一化包括位置和大小兩方面。位置處理又分重心和外框處理兩種。重心歸一化后字符的重心位于圖像中心;外框歸一化是將字符的外框移到圖像的規(guī)定位置上。重心計算是全局的,抗干擾能力強,不會造成字形失真,但對一些分布不勻的字符如9、6等失真;邊框搜索是局部性的,易受干擾影響,因此可考慮在邊框搜索的基礎(chǔ)上結(jié)合重心處理[5]。大小歸一化采用了二值圖像快速采樣的線性算法,建立坐標映射關(guān)系表。原始圖像(大小為Col*Row)中(x.y)處的像素點在規(guī)一化圖像(大小為Size*Size)中對應(yīng)的坐標(X,Y)有如下關(guān)系:
在識別的過程中,本文運用FPGA的異或門來判別實現(xiàn),從而進一步大幅度地提高了識別的速度。在進行識別之前的切分階段已經(jīng)將字符的尺寸統(tǒng)一為高7像素,寬5像素,字符模板的尺寸也按照這樣的要求事先設(shè)計好。
將字符模板T疊放在待測圖S上。比較T和S的內(nèi)容。若兩者一致,則T和S之差為零,可用以下測度來衡量T和S的相似度。
上述匹配過程如果由CPU來完成,對每一個像素點只能串行操作,而且每一個像素點的匹配都需要3-4個總線周期。這樣就占用了大量的時間和硬件資源,使系統(tǒng)的成本大幅上升。FPGA的布爾代數(shù)運算突出,具有高速并行運算能力,總線帶寬幾乎不受限制,而且成本很低。如果我們構(gòu)建一個由異或門組成的矩陣來完成匹配的過程,那么一次匹配就只需要一個時鐘周期就可以完成。如果我們構(gòu)建25個匹配矩陣(人民幣實際只用了除V以外的25個大字英文字母),就可以在一個時鐘周期內(nèi)完成一個字符識別的匹配過程。
由圖5可見,匹配矩陣的匹配結(jié)果直接由35位位加法器完成,CPU只需檢測XSD[6..0]的結(jié)果就可以得出相似度最高的字母。
圖5 加法器
圖像識別處理的實時應(yīng)用越來越多,如人臉識別、高速票據(jù)處理等。傳統(tǒng)的實時圖像處理算法和方法實現(xiàn)的代價太高,而且同樣的算法在不同的實現(xiàn)平臺上實時性也會有巨大差異。此外,真正實用的實時系統(tǒng)不僅能夠滿足核心的算法設(shè)計要求,而且還適應(yīng)于不同的應(yīng)用場合。比如可以擴展系統(tǒng)使之具備信號輸入模塊、實時控制模塊、網(wǎng)絡(luò)通信模塊等等。一個圖像識別系統(tǒng)的處理時間,一方面和算法所采用的實現(xiàn)策略有關(guān),另一方面也和系統(tǒng)的架構(gòu)和硬件性能有關(guān)。對于實時圖像識別系統(tǒng)的實現(xiàn),基于計算機CPU體系結(jié)構(gòu)和操作系統(tǒng)不適合實時大量的圖像快速處理的要求;而面向算法的高性能DSP處理器的并行結(jié)構(gòu)相對于微機而言開發(fā)周期比較長,算法的靈活性也比較差。綜合考慮開發(fā)成本、靈活性、實時性以及系統(tǒng)的集成度等方面因素,本文采用了ARM+FPGA系統(tǒng),能很好的滿足高速實時圖像處理的要求。
[1] 王耀南.計算機圖像處理與識別技術(shù)[J].2001,6,1.
[2] 胡愛明,周孝寬.車牌圖像的快速匹配識別方法[M].計算機工程與應(yīng)用,2003.
[3] 方翰華,陳新華,沈國新,焦?jié)h明.基于FPGA圖像濾波算法硬件化設(shè)計[J].電子測量技術(shù),2009,12:68-71.
[4] Rafacel C.Gonzalez,Richard E.Woods Digital Image Processing Second Edition,2007.
[5] 王欣,殷肖川,周翔翔.一種改進的模版匹配識別算法[M].計算機工程與應(yīng)用,2007.