楊兆選,吳佳鵬,白卓夫,蘇育挺,王曾敏
(天津大學(xué)電子信息工程學(xué)院,天津300072)
近年來(lái),隨著資料自動(dòng)收集技術(shù)的發(fā)展,用條碼符號(hào)表示更多資訊的要求與日俱增,一維條碼已無(wú)法滿(mǎn)足人們的需求[1].二維條碼因其具有高密度、大容量、可靠性高、保密性強(qiáng)、防偽性強(qiáng)和抗污損能力強(qiáng)等優(yōu)點(diǎn),得到了迅速的發(fā)展,應(yīng)用領(lǐng)域不斷拓寬,目前已廣泛應(yīng)用于國(guó)防、海關(guān)、稅務(wù)、公共安全、交通運(yùn)輸、產(chǎn)品制造等信息自動(dòng)攜帶、傳遞、防偽領(lǐng)域.
Data Matrix條碼[2]是一種應(yīng)用廣泛的矩陣式二維條碼,如圖1所示.Data Matrix條碼由規(guī)則排列的方形模塊構(gòu)成,每一個(gè)相同大小的黑色或白色方格稱(chēng)為一個(gè)數(shù)據(jù)單位,分別代表著矩陣中的 1、0信息.條碼邊界是由兩條暗實(shí)線和兩條由黑白交替的小方格組成的鐵路線組成的尋邊區(qū),只用于限定物理尺寸、定位和定義數(shù)據(jù)單位的大小,無(wú)任何編碼信息.被尋邊區(qū)包圍的數(shù)據(jù)區(qū)包含著編碼信息矩陣,信息密度高,信息量大.由于編碼時(shí)加入了糾錯(cuò)碼,條碼具有較強(qiáng)的糾錯(cuò)能力.
圖1 Data Matrix條碼Fig.1 Data Matrix barcode
要對(duì) Data Matrix條碼進(jìn)行識(shí)別,讀取其中的信息,首先要對(duì)條碼進(jìn)行區(qū)域提取和精確定位,其中條碼區(qū)域提取則是其他處理的前提.文獻(xiàn)[3]提出利用投影的方法進(jìn)行條碼區(qū)域提取.他們首先對(duì)條碼圖像進(jìn)行邊緣檢測(cè),然后對(duì)得到的邊緣圖分別進(jìn)行水平投影和垂直投影,最后將水平投影和垂直投影中投影值較大的區(qū)域結(jié)合起來(lái)確定條碼的大概位置從而將條碼區(qū)域提取出來(lái).這種方法基于條碼區(qū)域邊緣比較復(fù)雜和密集而其他區(qū)域灰度比較平坦邊緣點(diǎn)少的假設(shè),對(duì)于背景比較簡(jiǎn)單、條碼周?chē)容^干凈的圖像有比較好的效果.但當(dāng)背景比較復(fù)雜,條碼周?chē)衅渌哂忻芗吘壍奈矬w甚至條碼被其他物體所包圍時(shí),此方法的效果會(huì)有很大程度的下降.文獻(xiàn)[4]中則采用將圖像分塊,在每塊中計(jì)算各點(diǎn)梯度得到每塊中的邊緣點(diǎn),根據(jù)各塊中邊緣點(diǎn)的數(shù)量和方向等性質(zhì)判斷各塊是否屬于潛在的條碼區(qū)域,然后對(duì)可能屬于條碼區(qū)域的塊進(jìn)行連通合并等后處理提取出條碼區(qū)域.這種方法可利用條碼本身的紋理特征排除許多偽區(qū)域,但對(duì)塊大小的設(shè)定至關(guān)重要,塊設(shè)定得太大無(wú)法很好地進(jìn)行潛在塊選擇,得到的區(qū)域過(guò)大會(huì)包含一部分條碼周?chē)钠渌矬w;塊設(shè)定太小則無(wú)法體現(xiàn)條碼紋理的統(tǒng)計(jì)特性.文獻(xiàn)[5]提出利用數(shù)學(xué)形態(tài)學(xué)對(duì)圖像進(jìn)行版面分析,通過(guò)腐蝕(白色背景下)或膨脹(黑色背景下)使條碼區(qū)域連成一個(gè)連通域,然后通過(guò)后處理在一定程度上保證條碼區(qū)域完整性并去除一部分偽區(qū)域進(jìn)而提取出可能的條碼區(qū)域.這種方法因計(jì)算簡(jiǎn)單而被廣泛應(yīng)用,但很難選出在不同的條件下都適用的結(jié)構(gòu)體.而且當(dāng)背景比較復(fù)雜時(shí),這種方法會(huì)將圖像中灰度與條碼區(qū)域相似的區(qū)域一同提取出來(lái),形成大量偽區(qū)域,產(chǎn)生較高的虛警率.為解決這一問(wèn)題,提出一種基于Gabor濾波和BP神經(jīng)網(wǎng)絡(luò)的 Data Matrix條碼區(qū)域提取方法(GF-BPNN),利用BP神經(jīng)網(wǎng)絡(luò)按照經(jīng)Gabor濾波得到的圖像紋理特征對(duì)像素進(jìn)行分類(lèi),從而提取出條碼區(qū)域.
GF-BPNN方法的流程,如圖2所示.首先,將待處理圖像通過(guò)不同尺度不同方向的多個(gè) Gabor濾波器濾波,得到不同尺度不同方向的紋理特征;然后,對(duì)這些特征進(jìn)行變換,使得到的特征向量具有尺度不變性和旋轉(zhuǎn)不變性;再將得到的特征向量通過(guò) BP神經(jīng)網(wǎng)絡(luò)對(duì)各個(gè)像素進(jìn)行分類(lèi),此處用來(lái)訓(xùn)練 BP網(wǎng)絡(luò)的參考向量是由參考圖像經(jīng)上述步驟得到的;最后,利用數(shù)學(xué)形態(tài)學(xué)對(duì)得到的分類(lèi)圖進(jìn)行后處理,提取出完整的條碼區(qū)域.
圖2 GF-BPNN方法流程Fig.2 Block diagram of GF-BPNN
在紋理分析方面,共生矩陣[6]、馬爾科夫隨機(jī)場(chǎng)[7]和 Gabor濾波[8]等都是常用的紋理分析工具.Gabor濾波器則因在時(shí)域和頻域中都具有良好的局部特性[9],且只需改變參數(shù)就可對(duì)圖像進(jìn)行不同尺度不同方向的濾波而被廣泛應(yīng)用.本文中提出的 GF-BPNN方法就用 Gabor濾波進(jìn)行圖像紋理特征的提?。瓽abor濾波器的表達(dá)式為
經(jīng) Gabor濾波器濾波得到的特征向量F不具有尺度不變性和旋轉(zhuǎn)不變性,且維數(shù)太高,無(wú)法直接用于BP神經(jīng)網(wǎng)絡(luò)進(jìn)行分類(lèi).所以要對(duì)F進(jìn)行降維和變換,使其具有尺度不變性和旋轉(zhuǎn)不變性.
首先,消除F對(duì)尺度的敏感性,生成具有尺度不變性的特征向量,同時(shí)實(shí)現(xiàn)降維.要實(shí)現(xiàn)這一目標(biāo),可對(duì)具有相同方向不同尺度的特征相加并求均值,從而消除尺度對(duì)特征的影響,得到對(duì)尺度不變的含8個(gè)元素的特征向量 F =[F0, F1,F2, F3, F4, F5,F6, F7],式中定義
對(duì)F進(jìn)行變換使其具有旋轉(zhuǎn)不變性.由圖 1可知,Data Matrix條碼區(qū)域內(nèi)有很多相互垂直的邊緣,因此條碼區(qū)域內(nèi)的像素經(jīng)過(guò) Gabor濾波后會(huì)在兩個(gè)相互垂直的方向上響應(yīng)比較大而其他方向的響應(yīng)會(huì)相應(yīng)地小一些,從而在兩個(gè)相互垂直的方向上形成兩個(gè)峰值.這種分布是區(qū)分該像素是否屬于條碼區(qū)域的重要特征.而由于旋轉(zhuǎn)和各種失真的存在,使得屬于不同條碼區(qū)域或同一條碼區(qū)域不同位置的像素的特征分布中峰值出現(xiàn)的角度不同,但只要屬于條碼區(qū)域,其雙峰特性是不變的.因此只需要在由式(3)所得的特征向量進(jìn)行循環(huán)移位,使其中的響應(yīng)最大值固定在特征向量的第一個(gè)元素位置 F0處,即可得到具有 旋 轉(zhuǎn) 不 變 性 的 新 特 征 向 量 F = [ F0′ ,F1′,F2′ ,F3′ ,F4′,F5′ ,F6′ ,F7′],設(shè) 式(3)所得向 量 中 的響應(yīng)最 大 值為Fimax,則
至此,圖像每個(gè)像素處的紋理特征已具有尺度不變性和旋轉(zhuǎn)不變性,并已降至8維.
BP神經(jīng)網(wǎng)絡(luò)是一種被廣泛應(yīng)用的分類(lèi)器,可實(shí)現(xiàn)從輸入空間到輸出空間的非線性映射[10].它采用最小均方(least mean square,LMS)學(xué)習(xí)算法,經(jīng)過(guò)迭代運(yùn)算求解權(quán)值,將所需要的輸出與實(shí)際輸出間的誤差逐步最小化.此輸出誤差還會(huì)向輸入方向“反向傳播”回去,以調(diào)整權(quán)值使誤差減?。?/p>
本文中提出的 GF-BPNN方法采用經(jīng)過(guò)特征變換的圖像 Gabor紋理特征作為網(wǎng)絡(luò)輸入.輸入之前要先將特征線性映射至[0,1]之間,以便于后續(xù)權(quán)值的調(diào)整和運(yùn)算,并提高網(wǎng)絡(luò)泛化能力.
式中 Fmin和 Fmax分別表示向量中的最小值和最大值.
網(wǎng)絡(luò)訓(xùn)練由一幅背景比較復(fù)雜的參考圖像經(jīng)過(guò)前述特征提取所得到的特征向量作為輸入,期望的輸出為
對(duì)輸入圖像隨機(jī)取 11,000個(gè)點(diǎn),其中條碼區(qū)域像素 1,000個(gè),非條碼區(qū)域像素 10,000個(gè),訓(xùn)練 100次.然后用訓(xùn)練好的網(wǎng)絡(luò)對(duì)待處理圖像進(jìn)行分類(lèi),網(wǎng)絡(luò)輸出以 0.5為閾值,輸出大于 0.5的像素為條碼區(qū)域像素,否則為背景像素.
圖 3給出了圖像經(jīng)過(guò) Gabor濾波、特征變換和BP網(wǎng)絡(luò)分類(lèi)后的結(jié)果.
圖3 BP神經(jīng)網(wǎng)絡(luò)分類(lèi)結(jié)果Fig.3 Classification result by BP neural network
因神經(jīng)網(wǎng)絡(luò)分類(lèi)結(jié)果不可能達(dá)到 100%正確,所以經(jīng) BP神經(jīng)網(wǎng)絡(luò)分類(lèi)之后的結(jié)果圖像還無(wú)法成為最終結(jié)果,還需要進(jìn)行后處理以提取條碼區(qū)域.
進(jìn)行處理時(shí),首先利用形態(tài)學(xué)的開(kāi)、閉運(yùn)算去除圖像中孤立的小面積目標(biāo)或背景,使條碼區(qū)域形成一片完整的連通域,再對(duì)各區(qū)域做凸殼運(yùn)算,確保目標(biāo)區(qū)域的完整性,以利于區(qū)域標(biāo)記.然后對(duì)區(qū)域進(jìn)行標(biāo)記,并利用各區(qū)域面積、長(zhǎng)短軸之比等幾何特性,消除偽區(qū)域,得到最終提取結(jié)果,主要流程如圖4所示.
圖4 區(qū)域提取流程Fig.4 Procedure of region extraction
實(shí)驗(yàn)中利用GF-BPNN方法對(duì)3幅包含Data Matrix條碼的圖像進(jìn)行了條碼區(qū)域提取,并與文獻(xiàn)[5]提出的利用數(shù)學(xué)形態(tài)學(xué)對(duì)圖像進(jìn)行版面分析提取條碼區(qū)域的方法進(jìn)行了對(duì)比,結(jié)果如下.本文采用像素錯(cuò)分率r來(lái)定量描述條碼區(qū)域提取效果,即以分類(lèi)錯(cuò)誤像素?cái)?shù) nincorrect除以總像素?cái)?shù) ntotal得到的百分?jǐn)?shù)表示,即
圖 5(a)為一幅背景復(fù)雜但條碼沒(méi)有旋轉(zhuǎn)的圖像.圖 5(b)為用 GF-BPNN方法提取的條碼區(qū)域;圖5(c)為用文獻(xiàn)[5]的方法提取的條碼區(qū)域.從中可以清楚地看出,GF-BPNN方法提取的條碼區(qū)域完整且沒(méi)有偽區(qū)域,像素錯(cuò)分率為 0.05%,而文獻(xiàn)[5]的方法則出現(xiàn)偽區(qū)域,像素錯(cuò)分率為3.33%.
圖5 復(fù)雜背景下的無(wú)旋轉(zhuǎn)條碼區(qū)域提取Fig.5 Non-rotating barcode region extraction in complex background
圖 6(a)是含有旋轉(zhuǎn)后條碼的圖像.圖 6(b)為用GF-BPNN方法提取的條碼區(qū)域;圖6(c)為用文獻(xiàn)[5]的方法提取的條碼區(qū)域(結(jié)構(gòu)體與前一實(shí)驗(yàn)中所用一致).可看出GF-BPNN方法對(duì)旋轉(zhuǎn)不敏感,可提取出完整的條碼區(qū)域,像素錯(cuò)分率為 0.1%;而文獻(xiàn)[5]的方法則因?yàn)榻Y(jié)構(gòu)體選擇不合適而無(wú)法準(zhǔn)確提取出完整的條碼區(qū)域,且出現(xiàn)偽區(qū)域,像素錯(cuò)分率為4.95%.
圖6 旋轉(zhuǎn)條碼區(qū)域提取Fig.6 Rotating barcode region extraction
圖 7(a)是一幅含有較大條碼的圖像.圖 7(b)為用GF-BPNN方法提取的條碼區(qū)域;圖7(c)為用文獻(xiàn)[5]的方法提取的條碼區(qū)域(結(jié)構(gòu)體與前一實(shí)驗(yàn)中所用一致).可以看出GF-BPNN方法對(duì)尺度不敏感,可提取出完整的條碼區(qū)域,像素錯(cuò)分率為 0.08%;而文獻(xiàn)[5]提出的方法則同樣因?yàn)榻Y(jié)構(gòu)體選擇不合適而無(wú)法準(zhǔn)確提取出完整的條碼區(qū)域,像素錯(cuò)分率為1.84%.
圖7 大條碼區(qū)域提取Fig.7 Big barcode region extraction
在計(jì)算量方面,本文所提出的辦法與文獻(xiàn)[5]提出的方法相比,大概增加1倍.但這個(gè)數(shù)據(jù)是在不考慮文獻(xiàn)[5]提方法中不可避免的結(jié)構(gòu)體選擇問(wèn)題的情況下得出的.文獻(xiàn)[5]提出的方法要取得較好的效果必須自適應(yīng)地選取結(jié)構(gòu)體,這需要花費(fèi)大量計(jì)算量,而本文提出的方法由于采用 BP神經(jīng)網(wǎng)絡(luò)對(duì)像素分類(lèi)消除了很多偽區(qū)域,只需再以一個(gè)相對(duì)固定的結(jié)構(gòu)體進(jìn)行形態(tài)學(xué)后處理即可得到較好的結(jié)果,省略了自適應(yīng)選取結(jié)構(gòu)體的過(guò)程.所以,本文提出的方法增加的計(jì)算量是完全可以接受的.
本文中提出的 GF-BPNN方法,可以很好地提取出復(fù)雜背景下的 Data Matrix條碼區(qū)域,且具有旋轉(zhuǎn)不變性和尺度不變性.此方法很好地克服了文獻(xiàn)[5]提出的基于形態(tài)學(xué)分析進(jìn)行條碼區(qū)域提取的方法存在的結(jié)構(gòu)體難以選擇和虛警率較高的缺點(diǎn).與文獻(xiàn)[5]提出的方法相比,本文提出的GF-BPNN方法具有更高的準(zhǔn)確性和魯棒性,更能適應(yīng)不同應(yīng)用環(huán)境的需要,是一個(gè)非常有效的方法,已在自行研制的用于工業(yè)生產(chǎn)線的嵌入式二維條碼識(shí)別裝置中得到應(yīng)用.
[1]陳丹暉,劉 紅. 條碼技術(shù)與應(yīng)用[M]. 北京:化學(xué)工業(yè)出版社,2006.
Chen Danhui,Liu Hong.Barcode Technology and Application[M]. Beijing:Chemical Industry Press,2006 (in Chinese).
[2]International Organization for Standardization. ISO/IEC 16022-2006 Information Technology-Automatic Identification and Data Capture Techniques-Data Matrix Bar Code Symbology Specification[S]. Geneva:International Organization for Standardization,2006.
[3]陳媛媛,施鵬飛. 二維條形碼的識(shí)別與應(yīng)用[J]. 測(cè)控技術(shù),2006,25(12):17-19.
Chen Yuanyuan,Shi Pengfei. Image recognition in 2D bar code [J].Measurement and Control Technology,2006,25(12):17-19(in Chinese).
[4]Ouaviani E,Pavan A,Bottazzi M. A common image processing framework for 2D barcode reading[C]//Proceedings of Seventh International Conference on Image Processing and Its Applications.Manchester:IEEE,1999:652-655.
[5]周 健. 自然環(huán)境下的二維條碼自動(dòng)識(shí)讀技術(shù)的研究[D]. 西安:西安理工大學(xué),2003.
Zhou Jian. Study on Two Dimensional Barcode Recognition in Inartificial Conditions [D]. Xi’an:Xi’an University of Technology,2003(in Chinese).
[6]Arivazhagan S,Ganesan L,Kumar T G S. Texture classification using curvelet statistical and co-occurrence features[C]//Proceedings of 18th International Conference on Pattern Recognition.Hong Kong,2006:938-941.
[7]Manjunath B S,Chellappa R. Unsupervised texture segmentation using Markov random field models [J].IEEE Transactions on Pattern Analysis and Machine Learning,1991,13(5):478-482.
[8]Sandler R,Lindenbaum M. Gabor filter analysis for texture segmentation [C]// 2006Conference on Computer Vision and Pattern Recognition Workshop.New York,2006:178-186.
[9]Jain A K,Chen Y. Bar code localization using texture analysis[C]//Proceedings of the Second International Conference on Document Analysis and Recognition.Tsukuba,Japan,1993:41-44.
[10]范立南,韓曉微,張廣淵. 圖像處理與模式識(shí)別[M].北京:科學(xué)出版社,2007.
Fan Linan,Han Xiaowei,Zhang Guangyuan.Image Processing and Pattern Recognition[M]. Beijing:Science Press,2007(in Chinese).