程 鑫,同軍超,施恢勝,張 帆,吳臻冕,張衛(wèi)超
(1.武漢理工大學(xué) 機(jī)電工程學(xué)院,湖北 武漢 430070;2.湖北省磁懸浮工程技術(shù)研究中心,湖北 武漢 430070)
光學(xué)字符識(shí)別(optical character recognition,OCR)技術(shù)的概念由德國(guó)科學(xué)家提出,接著美國(guó)科學(xué)家也提出了類(lèi)似的想法,之后世界各國(guó)開(kāi)始了對(duì)OCR技術(shù)的研究[1]。日本學(xué)者最先研究漢字識(shí)別。中國(guó)起步比較晚,但在后來(lái)取得了實(shí)質(zhì)性的進(jìn)展。目前,OCR技術(shù)應(yīng)用的領(lǐng)域越來(lái)越多,包括列車(chē)號(hào)識(shí)別、車(chē)牌識(shí)別、手工填寫(xiě)表格識(shí)別、鐵路集裝箱號(hào)識(shí)別、港口集裝箱號(hào)識(shí)別以及芯片批號(hào)識(shí)別等[2-6],市場(chǎng)上也有很多相關(guān)的產(chǎn)品。但在弱光條件下,這些產(chǎn)品對(duì)非規(guī)則曲面,淺刻蝕字符識(shí)別的適應(yīng)性不理想,因此對(duì)弱光條件下非規(guī)則曲面和淺刻蝕字符識(shí)別的研究有重要意義。
弱光條件下會(huì)降低待識(shí)別字符與區(qū)域背景的對(duì)比度,降低獲取圖像的信噪比,給識(shí)別算法以及系統(tǒng)設(shè)計(jì)帶來(lái)很多問(wèn)題。非規(guī)則曲面和淺刻蝕條件會(huì)給補(bǔ)光帶來(lái)光線覆蓋范圍和光線反射不規(guī)律問(wèn)題,并且淺刻蝕的字符清晰度很差,不利于圖像預(yù)處理和字符識(shí)別。
文獻(xiàn)[7]研發(fā)了一套圖像獲取自適應(yīng)系統(tǒng),采用LED燈打光的方式解決了環(huán)境光線造成的字符成像不清晰的問(wèn)題。針對(duì)不規(guī)則曲面字符以及圖像顯示微弱難以獲取的情況,文獻(xiàn)[8]利用照明的方式提高弱光情況下的圖像亮度,并用偏振片來(lái)減少反射到攝像頭的強(qiáng)光來(lái)提高成像清晰度。文獻(xiàn)[9]通過(guò)研究各種單色光對(duì)圖像清晰度的變化,利用單色光照射提高了顯示微弱圖像的清晰度。
針對(duì)上述弱光條件、非規(guī)則曲面及淺刻蝕問(wèn)題,筆者提出了一種外部光線阻斷,攝像頭腔體內(nèi)部單色補(bǔ)光的方法,實(shí)現(xiàn)了較高的字符識(shí)別精度。
字符識(shí)別系統(tǒng)的整體結(jié)構(gòu)如圖1所示,其主要實(shí)現(xiàn)思路為:①將被識(shí)別物體放置在黑箱中,采用內(nèi)部光源補(bǔ)光,增強(qiáng)了需識(shí)別對(duì)象的光照條件,也避免了外部強(qiáng)光干擾,增強(qiáng)了弱光條件字符識(shí)別效果;②采用特定照射角度及光源選擇來(lái)應(yīng)對(duì)非規(guī)則曲面下的光線反射不均勻的問(wèn)題。圖像信息通過(guò)攝像頭傳輸?shù)缴衔挥?jì)算機(jī),通過(guò)區(qū)域定位、字符分割及識(shí)別獲取字符編碼。
圖1 字符視頻識(shí)別系統(tǒng)的整體構(gòu)成
通過(guò)攝像頭獲取圖像之后,不能直接進(jìn)行字符的定位分割識(shí)別。首先要對(duì)圖像進(jìn)行預(yù)處理,把圖像中的干擾噪聲,沒(méi)有用的信息給濾除掉。通常采用的預(yù)處理有:圖像灰度化、中值濾波、二值化處理和圖像開(kāi)操作。待識(shí)別字符如圖2所示。
在黑箱中通過(guò)光照獲取的圖像如圖2(b)所示。從圖2(b)可知,通過(guò)調(diào)節(jié)設(shè)備的角度,獲取的圖像中只有編號(hào)和單一背景,沒(méi)有其他信息,這為后面的工作提供了很大便利。
圖像灰度化就是把彩色圖像變成沒(méi)有彩色的圖像。常用的處理方法,如分量法、最大值法、平均值法等,他們對(duì)于具有不平衡顏色值區(qū)域的彩色圖像,僅僅通過(guò)處理三通道的亮度無(wú)法如實(shí)地表示原圖的結(jié)構(gòu)和對(duì)比度,因此采用加權(quán)平均法來(lái)進(jìn)行灰度化,加權(quán)平均值法可以在一定程度上保留圖像的這些信息[10]。處理結(jié)果如圖3所示。
圖3 灰度化處理后的圖像
加權(quán)平均法對(duì)RGB三分量分配合適的權(quán)重進(jìn)行均值運(yùn)算,結(jié)果作為灰度值。因?yàn)槿搜蹖?duì)綠色的敏感度高,藍(lán)色低,所以權(quán)重分配如式(1)所示[2]。
Gray(i,j)=0.3×R(i,j)+
0.59×G(i,j)+0.11×B(i,j)
(1)
式中:Gray(i,j)為像素點(diǎn)(i,j)處的灰度值;R(i,j)、G(i,j)和B(i,j)分別為像素點(diǎn)(i,j)處的紅色分量、綠色分量和藍(lán)色分量。
從圖3可知,在灰度化處理后有很多灰白點(diǎn),這種噪聲稱(chēng)為固定值噪聲,中值濾波可以有效地處理這種噪聲[11]。
中值濾波通過(guò)選擇一個(gè)像素塊,計(jì)算像素塊的中值并把中值賦給像素塊。太大的像素塊會(huì)把圖像必要的信息給濾除掉,而過(guò)小的像素塊又會(huì)造成噪聲濾除不完全。通過(guò)觀察圖3各個(gè)像素的灰度值以及經(jīng)過(guò)多次的實(shí)驗(yàn),發(fā)現(xiàn)塊大小選擇11×11能最好地對(duì)圖像進(jìn)行濾波,濾波效果如圖4所示。
圖4 中值濾波處理后的圖像
中值濾波之后,需要對(duì)圖像進(jìn)行二值化操作。因?yàn)樵诤谙渲杏袩艄庹丈?,所以采用全局閾值的方式?lái)進(jìn)行二值化。全局閾值在光照充足的情況下計(jì)算速度快,響應(yīng)靈敏。全局濾波的數(shù)學(xué)表達(dá)式為:
(2)
其中f(i,j)為像素點(diǎn)(i,j)處的灰度值。要確定閾值的大小,首先來(lái)看一下圖像的灰度直方圖,如圖5所示。
圖5 濾波后圖像灰度直方圖
從圖5中可以看出,字符和背景出現(xiàn)了兩個(gè)駝峰。這樣就為把字符和背景分離提供了一個(gè)方法。只要找到兩個(gè)駝峰之間的最佳閾值,就可以實(shí)現(xiàn)字符和背景分離。而最大類(lèi)間方差法是一個(gè)比較好的確定閾值的方法。
(3)
(4)
則閾值T為:
(5)
根據(jù)最大類(lèi)間方差法得到的閾值為90。將其作為程序參數(shù)得到的二值化處理圖像如圖6所示。
圖6 二值化處理后的圖像
二值化后圖像中只剩下黑白兩種灰度值。而圖像開(kāi)操作可以把黑色字符連成一片。
開(kāi)操作的原理就是對(duì)圖像先進(jìn)行腐蝕,然后進(jìn)行膨脹。數(shù)學(xué)表達(dá)式為:
A°B=(A?B)⊕B
(6)
式中:A為圖像;B為需進(jìn)行開(kāi)操作的像素點(diǎn)矩陣。
從式(6)可知,B的大小對(duì)圖像開(kāi)操作的影響很大。過(guò)大的B會(huì)將不必要的信息帶入要選擇的區(qū)域中,過(guò)小的B會(huì)造成區(qū)域選擇不完整,如圖7所示。
圖7 開(kāi)操作錯(cuò)誤圖
為了選擇合適的B大小,觀察圖像字符區(qū)域的像素關(guān)系,發(fā)現(xiàn)字符橫向的像素間隔在20到25之間,豎向的像素間隔在12到18之間。經(jīng)過(guò)多次試驗(yàn),B的大小選擇(21,15)能把字符連成一片。結(jié)果如圖8所示。
圖8 開(kāi)操作處理后的圖像
字符定位采用的方法為基于邊緣檢測(cè)的定位方法,其目的是找到圖像中的矩形區(qū)域,然后根據(jù)矩形區(qū)域的面積大小來(lái)篩選定位。這與前面的圖像預(yù)處理剛好符合,并且定位精度較高。字符定位結(jié)果如圖9所示。
圖9 字符定位提取的圖像
字符區(qū)域提取出來(lái)后,接下來(lái)就是要把這些字符進(jìn)行分割,才能進(jìn)行一對(duì)一的識(shí)別。
常用的分割方法有兩種:
(1)連通域分割。字符區(qū)域的每個(gè)字符筆畫(huà)都是連續(xù)的。從左開(kāi)始在垂直領(lǐng)域定位字符的開(kāi)始位置和結(jié)束位置。然后計(jì)算它的外接矩形,可以分割出字符來(lái)。
(2)垂直投影分割。垂直投影分割是在垂直方向上進(jìn)行灰度值投影,可以得到一個(gè)統(tǒng)計(jì)圖。每一列表示灰度值的累加。通過(guò)掃描統(tǒng)計(jì)圖,判斷累加值就可以分割出字符來(lái)并且不會(huì)亂序。
上述兩種方法理論上對(duì)字符分割都可以實(shí)現(xiàn)。但是經(jīng)過(guò)試驗(yàn)后,發(fā)現(xiàn)連通域分割法對(duì)圖像的角度很敏感,很小的角度就會(huì)造成分割出來(lái)的字符順序混亂,沒(méi)有具體的規(guī)律可循,很難進(jìn)行排序。而垂直投影法則不會(huì)造成這樣的結(jié)果,分割出來(lái)的字符順序不會(huì)亂,對(duì)角度也不敏感。
因此采用垂直投影法來(lái)進(jìn)行字符分割。在進(jìn)行投影之前,首先要對(duì)圖像進(jìn)行反相操作,如圖10所示。
圖10 反相操作后的圖像
垂直投影分割處理的結(jié)果如圖11所示。
圖11 垂直投影分割處理結(jié)果
從圖11可以看出,垂直投影圖中的黑色部分對(duì)應(yīng)圖10中的每一個(gè)字符。每個(gè)白色間隔與圖10中的字符間黑色間隔對(duì)應(yīng)。編寫(xiě)程序檢測(cè)圖11中黑色的起始位置和結(jié)束位置來(lái)分割出字符,結(jié)果如圖12所示。
圖12 分割出來(lái)字符圖
本文要識(shí)別的字符是汽車(chē)?yán)鋮s水泵的泵體編號(hào),字符字體一定,不會(huì)改變,并且是在黑箱中進(jìn)行的圖像采集??蛇\(yùn)用模板匹配法進(jìn)行字符識(shí)別。模板匹配法簡(jiǎn)單有效,只需要把分割出來(lái)的字符進(jìn)行歸一化,然后與準(zhǔn)備好的字符進(jìn)行對(duì)比即可得出結(jié)果。
采用的模板匹配策略為:(1)依次使用一個(gè)字符與模板的圖像進(jìn)行像素做差;(2)累加圖像做差產(chǎn)生的像素值;(3)求出所有累加值中的最小值,最小值即為所求。
(7)
一個(gè)字符最終匹配得到的結(jié)果為:
min(ε1,ε2,…,ε36)
通過(guò)編寫(xiě)程序識(shí)別的結(jié)果如圖13所示。從圖13可知,識(shí)別的結(jié)果正確。
圖13 字符識(shí)別結(jié)果
在水泵的生產(chǎn)線中,泵體編號(hào)的采集是在黑箱狀態(tài)下,用燈光照明采集得到的。圖14為在亮光下采集的同一個(gè)泵體的編號(hào)。利用上述系統(tǒng)進(jìn)行字符識(shí)別,得到結(jié)果如圖15所示。
圖14 亮光下采集的編號(hào)
圖15 不同光照的識(shí)別結(jié)果
從圖15可知,識(shí)別的結(jié)果是錯(cuò)誤的,這表明光照強(qiáng)度對(duì)識(shí)別結(jié)果有很大的影響。
因?yàn)閳D像采集是在生產(chǎn)線上進(jìn)行,所以不宜選擇大的照明設(shè)備。通常用的補(bǔ)光光源有熒光燈、鹵素?zé)艉蚅ED等,其主要性能如表1所示。
通過(guò)表1對(duì)比發(fā)現(xiàn)LED燈是一個(gè)很好的選擇,并且其比普通光源單色性能好,成本低。選擇5 mm的LED燈作為照明器件,燈光的顏色對(duì)于獲取圖像的清晰度有很大的影響。根據(jù)文獻(xiàn)[9]的研究,紅光對(duì)藍(lán)色的太陽(yáng)電池補(bǔ)光獲取的圖像清晰度最好,另外根據(jù)光色散以及吸收理論,使用與字符顏色相同或相近的單色光照射物體,會(huì)對(duì)該光的反射率很大,獲得的圖像很亮;使用與字符顏色互補(bǔ)的光或者與互補(bǔ)光相近的光照射,會(huì)使字符很暗[12]。顏色間的互補(bǔ)關(guān)系如圖16所示。
表1 常見(jiàn)光源性能
圖16 顏色互補(bǔ)關(guān)系圖
因?yàn)樾枰R(shí)別字符區(qū)域是很深的黃色并且趨于黑色,背景區(qū)域?yàn)殂y白色且有點(diǎn)發(fā)藍(lán),所以選用白發(fā)黃的LED燈進(jìn)行補(bǔ)光實(shí)驗(yàn)。白發(fā)黃LED燈發(fā)光強(qiáng)度和電流的關(guān)系曲線如圖17所示,曲線以25 mA額定電流為基準(zhǔn)。
圖17 白發(fā)黃LED發(fā)光強(qiáng)度和電流關(guān)系曲線
4.2.1 不同光照強(qiáng)度下的圖像獲取
此次實(shí)驗(yàn)通過(guò)控制同一角度下不同電流大小對(duì)光照強(qiáng)度進(jìn)行控制。控制的電流大小分別為10 mA、15 mA、20 mA、25 mA、30 mA。不同電流下采集的圖像如圖18所示。
圖18 不同電流強(qiáng)度下采集的圖像
4.2.2 實(shí)驗(yàn)分析
這些圖像肉眼看起來(lái)沒(méi)多大的區(qū)別,但是用計(jì)算機(jī)來(lái)識(shí)別會(huì)有很大的差距。為了更好地對(duì)這些圖像進(jìn)行區(qū)別,采用圖像熵來(lái)對(duì)這些圖像進(jìn)行評(píng)價(jià)。
圖像熵[13]表達(dá)的是圖像特征的一種統(tǒng)計(jì)形式,可以很好反映圖像中平均信息量的多少,它不僅表達(dá)了圖像灰度的聚集特征,還反映了圖像灰度分布的空間特征,他是一個(gè)表示圖像信息量很好的方法。
數(shù)學(xué)表達(dá)式為:
(8)
式中:i為像素的灰度值;j為鄰域灰度均值;f(i,j)為特征二元組(i,j)出現(xiàn)的頻數(shù);N為圖像的深度。
定義圖像的二維熵為:
(9)
利用式(8)和式(9)計(jì)算圖18的圖像熵,結(jié)果如圖19所示。
圖19 圖像熵與LED電流強(qiáng)度曲線
利用圖像熵給采集的圖像進(jìn)行了定量的評(píng)價(jià),對(duì)圖像進(jìn)行識(shí)別,識(shí)別結(jié)果如圖20所示。
圖20 不同電流強(qiáng)度下采集圖像的識(shí)別結(jié)果
從圖20可知,在電流10 mA和15 mA的光照強(qiáng)度下識(shí)別正確。其他光照強(qiáng)度下識(shí)別結(jié)果都不正確。再根據(jù)圖像熵分析,可以得到在電流10 mA和15 mA的光照強(qiáng)度下,圖像熵的值都在6.9以上,其他的都在6.9以下。因此可以得到結(jié)論,光照強(qiáng)度不是越大越好,在適當(dāng)?shù)墓庹諒?qiáng)度和匹配識(shí)別程序的參數(shù)設(shè)置下,圖像熵在大于6.9是能正確識(shí)別的條件。
筆者實(shí)現(xiàn)了針對(duì)弱光條件下非規(guī)則曲面上的淺刻蝕字符的字符識(shí)別工作,并在不同的光照條件下,對(duì)識(shí)別效果進(jìn)行了實(shí)驗(yàn)研究,結(jié)論如下:
(1)實(shí)現(xiàn)了弱光條件下非規(guī)則曲面上的淺刻蝕字符的模板匹配,通過(guò)編碼模板庫(kù),可準(zhǔn)確識(shí)別上述不理想條件下的淺刻蝕字符。
(2)隔離外部光源具備較好的外部干擾屏蔽效果,但內(nèi)部光源的強(qiáng)度、顏色和照射角度對(duì)識(shí)別效果有較大影響。在實(shí)驗(yàn)中,常規(guī)白發(fā)黃LED燈在10~15 mA工作電流下能實(shí)現(xiàn)圖像熵6.9以上,具備較好的照射條件,能保證淺刻蝕字符的準(zhǔn)確識(shí)別。