田秋紅,孫政榮
(浙江理工大學(xué) 信息電子學(xué)院,浙江 杭州310018)
條碼技術(shù)是信息數(shù)據(jù)自動識別和輸入的重要方法。在條碼技術(shù)中,條碼識別是條碼技術(shù)應(yīng)用的關(guān)鍵技術(shù)。目前流行的條形碼在外觀上有明顯區(qū)別:一維碼是縱向黑白條紋相間且條紋的粗細(xì)不同,通常條紋下還有英文字母或阿拉伯?dāng)?shù)字。二維碼通常為方形點陣形式,由橫向和縱向的條碼組成,且碼區(qū)內(nèi)還會有多邊形的圖案;應(yīng)用側(cè)重點也不同:一維條碼是對物品類型等基本信息進(jìn)行標(biāo)識,不能提供商品的詳細(xì)信息,要調(diào)用更多的信息,需要配合數(shù)據(jù)庫完成。二維條碼則是對物品進(jìn)行描述,可顯示更詳細(xì)的商品內(nèi)容,識別時不需要配合數(shù)據(jù)庫,操作簡單方便。二維條碼比一維條碼包含的信息容量大,圖像結(jié)構(gòu)復(fù)雜[1-2],故二維條碼被廣泛應(yīng)用到社會、經(jīng)濟(jì)、軍事和科技等領(lǐng)域。
目前,對于條形碼的識別,學(xué)者們己經(jīng)進(jìn)行了大量的研究。其中邊緣檢測是簡單有效的條形碼識別技術(shù),王文豪等人根據(jù)QR碼圖形結(jié)構(gòu)的特點提出了一種基于邊緣檢測和QR碼圖形特征的快速檢測算法[2],該方法綜合運用了圖像灰度化、二值化、去噪、邊緣檢測、圖像旋轉(zhuǎn)等多種圖像處理方法實現(xiàn)條碼圖像的預(yù)處理、條碼定位、條碼分割和數(shù)據(jù)提取。實驗表明:此方法大大提高了識讀的靈活性和可靠性。余芳等人提出了適合手機組成結(jié)構(gòu)的PDF417二維條形碼圖像識別算法,在極為有限的手機處理器資源下,針對手機攝像模組普遍存在的光學(xué)退化特性提出了圖像復(fù)原的方法,針對手機應(yīng)用處理器的特性設(shè)計了計算量小、內(nèi)存開銷少的條形碼圖像識別算法。實測表明,對中小規(guī)模的PDF417條形碼圖像的識別速度和準(zhǔn)確度完全達(dá)到實用的水平。唐琎等人則提出了對PDF417二維碼進(jìn)行解碼時,將二維條碼的單元模塊寬度的求取和二維碼碼字的提取分割開來進(jìn)行,在同等條件下,可以比較精確地提取出圖像碼字,實驗證明此方法具有較高的檢測精度。
隨著智能手機技術(shù)的發(fā)展,利用智能手機作為條形碼的掃描輸入端的應(yīng)用場合越來越多,并利用手機的通信功能,可以使條形碼識別應(yīng)用于地域分散、數(shù)據(jù)集中、移動性強的領(lǐng)域。由于在使用手機CMOS攝像頭獲取條形碼圖像時,很難保證攝像頭位置和被拍圖像位置完全相同,故由手機CMOS攝像頭抓拍的條形碼圖像存在旋轉(zhuǎn)、縮放和平移等幾何失真現(xiàn)象,或條形碼圖像在拍攝獲取前可能存在磨損或噪聲等干擾[3],這些干擾都會影響條形碼識別的準(zhǔn)確率。
針對以上問題,本文提出了一種基于Hu不變矩和BP神經(jīng)網(wǎng)絡(luò)的條形碼識別方法。該方法具有實現(xiàn)簡單,準(zhǔn)確率高,應(yīng)用范圍廣等優(yōu)點。
基于不變矩和BP網(wǎng)絡(luò)條形碼圖像識別系統(tǒng)結(jié)構(gòu)如圖1所示。由具有2×1GHz雙核處理器和500萬像素的攝像頭的Moto ATRIXTMME860手機對不同條形碼拍照,獲得不同真彩色條形碼圖像,由于每次拍攝時,攝像頭位置的遠(yuǎn)近不能保證完全一致,所拍圖像存在大小差異,故先對彩色條形碼圖像進(jìn)行剪裁完成大小歸一化處理,然后對歸一化的真彩色圖像進(jìn)行灰度化得到條形碼的灰度圖像,條形碼灰度圖像的邊緣信息在條形碼圖像定位與提取中是關(guān)鍵因素,故本文選擇了中值濾波[4]對圖像進(jìn)行去噪,去噪處理可以在有效地去除噪聲的同時,比較好的保留圖像邊緣細(xì)節(jié),而且圖像也不會變模糊,對濾波后條形碼圖像進(jìn)行二值化處理得到訓(xùn)練樣本,計算原始圖像和存在各類幾何失真圖像的Hu不變矩特征值,輸入BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,在不斷訓(xùn)練中調(diào)整權(quán)值、學(xué)習(xí)因子等參數(shù),使BP網(wǎng)絡(luò)趨向穩(wěn)定狀態(tài),最后利用訓(xùn)練好的BP網(wǎng)絡(luò)對各類條形碼圖像進(jìn)行分類識別。
圖1 條形碼圖像識別系統(tǒng)
Hu矩是1962年Hu最早提出的二維不變矩理論[5],是提取圖像大小、旋轉(zhuǎn)情況等形態(tài)特征的方法。由于Hu不變矩概念簡單、識別率穩(wěn)定,具有縮放、平移和旋轉(zhuǎn)不變性,故被廣泛的應(yīng)用在圖像識別的特征提取中?;诖吮疚倪x擇Hu不變矩作為BP網(wǎng)絡(luò)的特征輸入向量。設(shè)f(x,y)是圖像點 (x,y)的灰度值,則整幅圖像的 (p+q)階矩為[6-7]
為了使上述階矩在圖像平移、縮放和旋轉(zhuǎn)時保持不變性,求其中心矩,定義為[6-7]
其中,x0=m10/m0[60-7],y0=m01/m0[60-7],即整幅圖像的重心坐標(biāo),(x0,y0)是目標(biāo)圖像區(qū)域的灰度質(zhì)心。顯然,中心矩upq是圖像平移的不變量。
對上述中心矩規(guī)范化,可得到具有圖像平移與縮放不變的矩
應(yīng)用代數(shù)不變矩理論,對f(x,y)的 (p+q)階中心矩歸一化后,并進(jìn)行線性組合[8-9]如下式
這7個不變矩具有圖像平移、縮放和旋轉(zhuǎn)不變性,但由于這7個不變矩變化范圍很大,可能出現(xiàn)負(fù)值,因此實際采用的 不變矩為[10-11]
在實際應(yīng)用中圖像不僅存在位置和旋轉(zhuǎn)差別,而且還有可能存在尺度、對比度上的差別。對式 (5)中不變矩進(jìn)行組合運算得到式 (6)的各不變矩具有尺度、位置和旋轉(zhuǎn)不變性[10-11]。
本文將式 (6)中的β1,β2,β3,β4,β5,β6作為條形碼圖像的不變性特征,具有平移、縮放和旋轉(zhuǎn)不變形。
1986年,Kumelhart等人提出的一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),簡稱BP網(wǎng)絡(luò) (back propagation),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。其模型拓?fù)浣Y(jié)構(gòu)包括輸入層、隱層和輸出層,具體結(jié)構(gòu)如圖2[12]所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
BP算法其實質(zhì)上是把一組樣本輸入和輸出問題轉(zhuǎn)化為一個非線性優(yōu)化問題,理論證明,具有非線性Sigmoid函數(shù)的三層神經(jīng)網(wǎng)絡(luò)可以以任意精度逼近任何連續(xù)函數(shù)。而實踐中由于BP網(wǎng)絡(luò)存在以下一些缺陷:訓(xùn)練學(xué)習(xí)的速度非常慢、BP學(xué)習(xí)算法存在陷入局部極小點的問題等,制約著BP網(wǎng)絡(luò)的訓(xùn)練速度和識別精度。但BP網(wǎng)絡(luò)無論在理論上還是實用上都已經(jīng)相當(dāng)成熟,故被廣泛的應(yīng)用在模式識別領(lǐng)域,本文選擇典型的三層BP網(wǎng)絡(luò)作為工具,對文中的提取的圖像6個不變矩進(jìn)行訓(xùn)練識別。BP網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置如下:
(1)輸入層與輸出層節(jié)點:BP網(wǎng)絡(luò)的輸入層[12-13]神經(jīng)元的個數(shù)由圖像特征值決定,本文以改進(jìn)的6個不變矩作為圖像特征值,故輸入層節(jié)點數(shù)為6;BP網(wǎng)絡(luò)的輸出層節(jié)點數(shù)的確定是根據(jù)所要分的類別數(shù)來確定。實驗中是針對3類條形碼圖像進(jìn)行識別,所以輸出層[14]的節(jié)點數(shù)為3個;輸出模式即如果輸入為第j類標(biāo)志,則輸出矢量Y= [y0y1…yn-1]中的第j個分量為0.9,其余為0;當(dāng)?shù)趈個分量小于0.5,或?qū)嶋H輸出節(jié)點同時存在多個較大值時,則拒識別。
(2)隱含層節(jié)點:隱含層神經(jīng)元[12]的個數(shù)由式 (7)來確定
式中:n1、m、n——BP神經(jīng)網(wǎng)絡(luò)的隱含層、輸入層、輸出層的節(jié)點數(shù)。α為1~10之間的整數(shù)。
(3)學(xué)習(xí)因子:BP網(wǎng)絡(luò)中影響收斂速度的關(guān)鍵因素之一是學(xué)習(xí)因子α[15]。學(xué)習(xí)因子大容易使網(wǎng)絡(luò)產(chǎn)生振蕩,學(xué)習(xí)因子小收斂速度慢、誤差大。所以可以采用變步長法對α自適應(yīng)調(diào)整
式中:c——學(xué)習(xí)次數(shù)。
實驗時先由具有2×1GHz雙核處理器和500萬像素的攝像頭的Moto ATRIXTMME860手機獲得3類不同的真彩色條形碼圖像,對其分別進(jìn)行大小歸一化處理、灰度化處理、中值去噪處理和二值化處理,以bmp文件格式存儲,圖像為150×130像素大小,如圖3所示。識別中對其灰度圖像進(jìn)行Hu不變矩特征值提取。
圖3 灰度一維和二維條形碼灰度原始圖像
實驗對上述三類圖像進(jìn)行了訓(xùn)練和分類識別。分別對三類條形碼圖像進(jìn)行旋轉(zhuǎn)、縮放和平移共得到45幅圖像,對其提取Hu不便矩特征作為BP網(wǎng)絡(luò)的訓(xùn)練樣本。圖4、圖5和圖6給出條形碼用于網(wǎng)絡(luò)訓(xùn)練的部分圖像。
圖4 訓(xùn)練的一維條形碼旋轉(zhuǎn)部分圖像
實驗中先分別計算了45幅圖像的Hu不變矩特征值,表1和表2分別給出了提取不同失真條件下條形碼圖像的Hu不變矩特征值的部分結(jié)果。從表1中可得,三類條形碼圖像的6個不變矩特征值存在差別,可以作為分類識別的依據(jù);在表2中,行表示一幅條形碼圖像的6個不變矩特征值,列表示同一幅條形碼圖像在不同失真情況下的同一個不變矩特征,對于同幅圖像的不同失真情況下的同一個不變矩特征值差別很小,如此可得不變矩具有良好的不變性。圖7給出pdf417二維條形碼圖像發(fā)生旋轉(zhuǎn)20度、縮小0.9、放大1.1和下移等幾何失真時與原始圖像的Hu不變矩的對比結(jié)果,從圖7可以看到:產(chǎn)生幾何失真的Pdf417條形碼圖像與原始圖像的Hu不變矩誤差較小,由此可證明Hu不變矩具有很強的抗干擾能力,和平移、縮放和旋轉(zhuǎn)等不變性能好。
表3給出訓(xùn)練次數(shù)相同的情況下,隱含層神經(jīng)元個數(shù)不同對最小均方差的影響,從表中可得隱含層神經(jīng)元節(jié)點個數(shù)的多少對最小均方差的影響,當(dāng)隱含層節(jié)點個數(shù)為13個時,得到的最小均方誤差最??;而表4給出隱含層節(jié)點個數(shù)都為13個時,不同訓(xùn)練次數(shù)得到的對應(yīng)的最小均方差,從表4中可得在隱含層神經(jīng)元個數(shù)相同情況下,學(xué)習(xí)次數(shù)對最小均方誤差的影響趨勢,可得當(dāng)訓(xùn)練次數(shù)為15000時,訓(xùn)練最小均方誤差最小。因此,實驗中構(gòu)建BP時選取隱含層節(jié)點個數(shù)為13個,訓(xùn)練次數(shù)為15000次。BP網(wǎng)絡(luò)訓(xùn)練收斂后,再通過旋轉(zhuǎn)、平移和縮放增加30幅圖像,加上已有的樣本共75個測試樣本,分別用獲得的神經(jīng)網(wǎng)絡(luò)分類器進(jìn)行識別。
表1 三類條形碼不變矩特征提取結(jié)果
表2 Pdf417二維條形碼不變矩特征提取結(jié)果
圖7 原始圖與產(chǎn)生幾何失真圖像的Hu不變矩的對比
表3 隱含層神經(jīng)元個數(shù)對BP網(wǎng)絡(luò)收斂的影響
表4 訓(xùn)練次數(shù)對BP網(wǎng)絡(luò)收斂的影響
表5中給出了基于Hu不變矩和BP網(wǎng)絡(luò)的識別算法對三類條形碼圖像的識別精度,從中可以看出在相同的學(xué)習(xí)次數(shù)和訓(xùn)練誤差基礎(chǔ)下,由于一維條形碼圖像結(jié)構(gòu)簡單,信息量少,所以識別效果優(yōu)于結(jié)構(gòu)復(fù)雜、信息量大的二維條形碼;但即使Pdf417和QR Code等二維條形碼結(jié)構(gòu)復(fù)雜、信息量大,應(yīng)用此算法的識別效果良好,準(zhǔn)確率較高。
表5 對三類條形碼的識別精度對比
本文利用Hu不變矩作為條形碼的特征向量,用神經(jīng)網(wǎng)絡(luò)分類器對提取的特征向量作為輸入節(jié)點,進(jìn)行分類識別。實驗結(jié)果表明,以不變矩代替圖像灰度作為BP網(wǎng)絡(luò)的輸入,大大簡化了BP網(wǎng)絡(luò)的規(guī)模,提高了網(wǎng)絡(luò)的訓(xùn)練速度,具有良好的分類能力,并且對一維條形碼和二維條形碼可進(jìn)行同時識別處理,并且糾正了條形碼圖像的旋轉(zhuǎn)、縮放和平移等幾何失真,識別效果良好,實現(xiàn)簡單;對用智能手機作為條形碼識別的實現(xiàn)提供了有力的支持和實際的指導(dǎo)意義。
[1]YU Fang,LIU Ping,YUAN Haolei.To realize two-dimension barcode in the smart phone [J].Microcomputer Information,2010,26 (3-1):199-201 (in Chinese). [余芳,劉萍,袁豪磊.在智能手機上實現(xiàn)二維條形碼識別 [J].微計算機信息,2010,26 (3-1):199-201.]
[2]WANG Wenhao,ZHANG Yahong,ZHU Quanyin,et al.Image recognition in 2-D bar code based on QR-Code [J].Computer Technology and Development,2009,19 (10):123-126(in Chinese)[王文豪,張亞紅,朱全銀,等.QR Code二維條形碼的圖像識別 [J].計算機技術(shù)與發(fā)展,2009,19(10):123-126.].
[3]TANG Jin,DU Zhijun.Novel algorithm for PDF417 2-D bar code recognition [J].Chinese Journal of Liquid Crystals and Displays,2008,23 (5):625-628 (in Chinese).[唐琎,杜志俊.一種新的PDF417二維條形碼識別算法 [J].液晶與顯示,2008,23 (5):625-628.]
[4]Taubman D,Ordentlich E.Embedded block coding in JPEG[J].Signal Processing:Image Communication,2002,17(1):49-72.
[5]XU Xueqiang,WANG Bo,YU Jiacheng,et al.Application of a new invariant moments on image recognition [J].Optical Technique,2007,33 (4):580-583 (in Chinese). [徐學(xué)強,汪渤,于家城,等.一種新型不變矩在圖像識別中的應(yīng)用[J].光學(xué)技術(shù),2007,33 (4):580-583.]
[6]SUN Honghui,WANG Hongxia,TIAN Tao.The recognition method of objects based on moment invariant and BP neural network [J].Microelectronics &Computer,2011,28 (3):63-69(in Chinese).[孫紅輝,王紅霞,田濤.一種基于不變矩和BP網(wǎng)絡(luò)的目標(biāo)識別方法 [J].微電子學(xué)與計算機,2011,28 (3):63-69.]
[7]WANG Kunming,XU Zhongren.Study on method of traffic signs recognition based on neural network and invariant moments[J].Application Research of Computers,2004,21(3):254-260 (in Chinese).[王坤明,許忠仁.基于不變矩和神經(jīng)網(wǎng)絡(luò)的交通標(biāo)志識別方法研究 [J].計算機應(yīng)用研究,2004,21 (3):254-260.]
[8]LI Guoxiang,ZHANG Xianquan, QIN Fangyuan.Paper cut-out patterns recognition based on moment invariants and BPneural network [J].Computer Engineering and Applications,2010,46 (29):158-169 (in Chinese).[李國祥,張顯全,秦芳遠(yuǎn).基于不變矩和BP神經(jīng)網(wǎng)絡(luò)的剪紙紋樣識別 [J].計算機工程與應(yīng)用,2010,46 (29):158-169.]
[9]TIAN Hua,SHI Shengyu,ZONG Xiaoping.Pattern recognition based on moment invariant feature and BP neural network for image[J].Journal of Hebei University (Natural Science Edition),2008,28 (2):214-217 (in Chinese). [田華,石圣羽,宗曉萍.基于不變矩特征及BP神經(jīng)網(wǎng)絡(luò)的圖像模式識別 [J].河北大學(xué)學(xué)報(自然科學(xué)版),2008,28 (2):214-217.]
[10]QIN Zhong.Vehicle classification based on image moment invariant feature and BP neural network [J].Journal of South China University of Technology (Natural Science Edition),2009,37 (2):87-91 (in Chinese).[秦鐘.基于圖像不變矩特征和BP神經(jīng)網(wǎng)絡(luò)的車型分類 [J].華南理工大學(xué)學(xué)報 (自然科學(xué)版),2009,37 (2):87-91.]
[11]XU Sheng,PENG Qicong.Three dimensional object recognition based combined moment invariants and neural network[J].Computer Engineering and Applications,2008,44(31):78-80 (in Chinese).[徐勝,彭啟琮.基于組合不變矩和神經(jīng)網(wǎng)絡(luò)的三維物體識別 [J].計算機工程與應(yīng)用,2008,44 (31):78-80.]
[12]YANG Fei,WANG Kunming,MA Xin,et al.Application of BP neural net work classifier for road traffic sign recognition[J].Computer Engineering,2003,29 (10):120-121 (in Chinese).[楊斐,王坤明,馬欣,等.應(yīng)用BP神經(jīng)網(wǎng)絡(luò)分類器識別交通標(biāo)志 [J].計算機工程,2003,29 (10):120-121.]
[13]LI Huimin,ZHANG Renjin.Research of vehicle license plate recognition based on BP neural network [J].Computer Engineering and Design,2010,31 (3):619-621 (in Chinese).[李會民,張仁津.基于改進(jìn)BP網(wǎng)絡(luò)的車牌字符識別方法研究 [J].計算機工程與設(shè)計,2010,31 (3):619-621.]
[14]YANG Wangli,MA Ruimin,XU Shaohu,et al.Palm print identification method based on Zernike moment and neural network [J].Journal of Northeast Forestry University,2009,37 (8):118-120 (in Chinese). [楊王黎,馬瑞民,許少華,等.基于Zernike矩及神經(jīng)網(wǎng)絡(luò)的掌紋識別方法 [J].東北林業(yè)大學(xué)學(xué)報,2009,37 (8):118-120.]
[15]ZHU Shuangdong.Neural network application [M].Shenyang:North-eastern University Press,2000 (in Chinese). [朱雙東.神經(jīng)網(wǎng)絡(luò)應(yīng)用基礎(chǔ) [M].沈陽:東北大學(xué)出版社,2000.]