田秋紅,孫政榮
(浙江理工大學(xué) 信息電子學(xué)院,浙江 杭州310018)
條碼技術(shù)是信息數(shù)據(jù)自動(dòng)識(shí)別和輸入的重要方法。在條碼技術(shù)中,條碼識(shí)別是條碼技術(shù)應(yīng)用的關(guān)鍵技術(shù)。目前流行的條形碼在外觀(guān)上有明顯區(qū)別:一維碼是縱向黑白條紋相間且條紋的粗細(xì)不同,通常條紋下還有英文字母或阿拉伯?dāng)?shù)字。二維碼通常為方形點(diǎn)陣形式,由橫向和縱向的條碼組成,且碼區(qū)內(nèi)還會(huì)有多邊形的圖案;應(yīng)用側(cè)重點(diǎn)也不同:一維條碼是對(duì)物品類(lèi)型等基本信息進(jìn)行標(biāo)識(shí),不能提供商品的詳細(xì)信息,要調(diào)用更多的信息,需要配合數(shù)據(jù)庫(kù)完成。二維條碼則是對(duì)物品進(jìn)行描述,可顯示更詳細(xì)的商品內(nèi)容,識(shí)別時(shí)不需要配合數(shù)據(jù)庫(kù),操作簡(jiǎn)單方便。二維條碼比一維條碼包含的信息容量大,圖像結(jié)構(gòu)復(fù)雜[1-2],故二維條碼被廣泛應(yīng)用到社會(huì)、經(jīng)濟(jì)、軍事和科技等領(lǐng)域。
目前,對(duì)于條形碼的識(shí)別,學(xué)者們己經(jīng)進(jìn)行了大量的研究。其中邊緣檢測(cè)是簡(jiǎn)單有效的條形碼識(shí)別技術(shù),王文豪等人根據(jù)QR碼圖形結(jié)構(gòu)的特點(diǎn)提出了一種基于邊緣檢測(cè)和QR碼圖形特征的快速檢測(cè)算法[2],該方法綜合運(yùn)用了圖像灰度化、二值化、去噪、邊緣檢測(cè)、圖像旋轉(zhuǎn)等多種圖像處理方法實(shí)現(xiàn)條碼圖像的預(yù)處理、條碼定位、條碼分割和數(shù)據(jù)提取。實(shí)驗(yàn)表明:此方法大大提高了識(shí)讀的靈活性和可靠性。余芳等人提出了適合手機(jī)組成結(jié)構(gòu)的PDF417二維條形碼圖像識(shí)別算法,在極為有限的手機(jī)處理器資源下,針對(duì)手機(jī)攝像模組普遍存在的光學(xué)退化特性提出了圖像復(fù)原的方法,針對(duì)手機(jī)應(yīng)用處理器的特性設(shè)計(jì)了計(jì)算量小、內(nèi)存開(kāi)銷(xiāo)少的條形碼圖像識(shí)別算法。實(shí)測(cè)表明,對(duì)中小規(guī)模的PDF417條形碼圖像的識(shí)別速度和準(zhǔn)確度完全達(dá)到實(shí)用的水平。唐琎等人則提出了對(duì)PDF417二維碼進(jìn)行解碼時(shí),將二維條碼的單元模塊寬度的求取和二維碼碼字的提取分割開(kāi)來(lái)進(jìn)行,在同等條件下,可以比較精確地提取出圖像碼字,實(shí)驗(yàn)證明此方法具有較高的檢測(cè)精度。
隨著智能手機(jī)技術(shù)的發(fā)展,利用智能手機(jī)作為條形碼的掃描輸入端的應(yīng)用場(chǎng)合越來(lái)越多,并利用手機(jī)的通信功能,可以使條形碼識(shí)別應(yīng)用于地域分散、數(shù)據(jù)集中、移動(dòng)性強(qiáng)的領(lǐng)域。由于在使用手機(jī)CMOS攝像頭獲取條形碼圖像時(shí),很難保證攝像頭位置和被拍圖像位置完全相同,故由手機(jī)CMOS攝像頭抓拍的條形碼圖像存在旋轉(zhuǎn)、縮放和平移等幾何失真現(xiàn)象,或條形碼圖像在拍攝獲取前可能存在磨損或噪聲等干擾[3],這些干擾都會(huì)影響條形碼識(shí)別的準(zhǔn)確率。
針對(duì)以上問(wèn)題,本文提出了一種基于Hu不變矩和BP神經(jīng)網(wǎng)絡(luò)的條形碼識(shí)別方法。該方法具有實(shí)現(xiàn)簡(jiǎn)單,準(zhǔn)確率高,應(yīng)用范圍廣等優(yōu)點(diǎn)。
基于不變矩和BP網(wǎng)絡(luò)條形碼圖像識(shí)別系統(tǒng)結(jié)構(gòu)如圖1所示。由具有2×1GHz雙核處理器和500萬(wàn)像素的攝像頭的Moto ATRIXTMME860手機(jī)對(duì)不同條形碼拍照,獲得不同真彩色條形碼圖像,由于每次拍攝時(shí),攝像頭位置的遠(yuǎn)近不能保證完全一致,所拍圖像存在大小差異,故先對(duì)彩色條形碼圖像進(jìn)行剪裁完成大小歸一化處理,然后對(duì)歸一化的真彩色圖像進(jìn)行灰度化得到條形碼的灰度圖像,條形碼灰度圖像的邊緣信息在條形碼圖像定位與提取中是關(guān)鍵因素,故本文選擇了中值濾波[4]對(duì)圖像進(jìn)行去噪,去噪處理可以在有效地去除噪聲的同時(shí),比較好的保留圖像邊緣細(xì)節(jié),而且圖像也不會(huì)變模糊,對(duì)濾波后條形碼圖像進(jìn)行二值化處理得到訓(xùn)練樣本,計(jì)算原始圖像和存在各類(lèi)幾何失真圖像的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ò)對(duì)各類(lèi)條形碼圖像進(jìn)行分類(lèi)識(shí)別。
圖1 條形碼圖像識(shí)別系統(tǒng)
Hu矩是1962年Hu最早提出的二維不變矩理論[5],是提取圖像大小、旋轉(zhuǎn)情況等形態(tài)特征的方法。由于Hu不變矩概念簡(jiǎn)單、識(shí)別率穩(wěn)定,具有縮放、平移和旋轉(zhuǎn)不變性,故被廣泛的應(yīng)用在圖像識(shí)別的特征提取中。基于此本文選擇Hu不變矩作為BP網(wǎng)絡(luò)的特征輸入向量。設(shè)f(x,y)是圖像點(diǎn) (x,y)的灰度值,則整幅圖像的 (p+q)階矩為[6-7]
為了使上述階矩在圖像平移、縮放和旋轉(zhuǎn)時(shí)保持不變性,求其中心矩,定義為[6-7]
其中,x0=m10/m0[60-7],y0=m01/m0[60-7],即整幅圖像的重心坐標(biāo),(x0,y0)是目標(biāo)圖像區(qū)域的灰度質(zhì)心。顯然,中心矩upq是圖像平移的不變量。
對(duì)上述中心矩規(guī)范化,可得到具有圖像平移與縮放不變的矩
應(yīng)用代數(shù)不變矩理論,對(duì)f(x,y)的 (p+q)階中心矩歸一化后,并進(jìn)行線(xiàn)性組合[8-9]如下式
這7個(gè)不變矩具有圖像平移、縮放和旋轉(zhuǎn)不變性,但由于這7個(gè)不變矩變化范圍很大,可能出現(xiàn)負(fù)值,因此實(shí)際采用的 不變矩為[10-11]
在實(shí)際應(yīng)用中圖像不僅存在位置和旋轉(zhuǎn)差別,而且還有可能存在尺度、對(duì)比度上的差別。對(duì)式 (5)中不變矩進(jìn)行組合運(yùn)算得到式 (6)的各不變矩具有尺度、位置和旋轉(zhuǎn)不變性[10-11]。
本文將式 (6)中的β1,β2,β3,β4,β5,β6作為條形碼圖像的不變性特征,具有平移、縮放和旋轉(zhuǎn)不變形。
1986年,Kumelhart等人提出的一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),簡(jiǎn)稱(chēng)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算法其實(shí)質(zhì)上是把一組樣本輸入和輸出問(wèn)題轉(zhuǎn)化為一個(gè)非線(xiàn)性?xún)?yōu)化問(wèn)題,理論證明,具有非線(xiàn)性Sigmoid函數(shù)的三層神經(jīng)網(wǎng)絡(luò)可以以任意精度逼近任何連續(xù)函數(shù)。而實(shí)踐中由于BP網(wǎng)絡(luò)存在以下一些缺陷:訓(xùn)練學(xué)習(xí)的速度非常慢、BP學(xué)習(xí)算法存在陷入局部極小點(diǎn)的問(wèn)題等,制約著B(niǎo)P網(wǎng)絡(luò)的訓(xùn)練速度和識(shí)別精度。但BP網(wǎng)絡(luò)無(wú)論在理論上還是實(shí)用上都已經(jīng)相當(dāng)成熟,故被廣泛的應(yīng)用在模式識(shí)別領(lǐng)域,本文選擇典型的三層BP網(wǎng)絡(luò)作為工具,對(duì)文中的提取的圖像6個(gè)不變矩進(jìn)行訓(xùn)練識(shí)別。BP網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置如下:
(1)輸入層與輸出層節(jié)點(diǎn):BP網(wǎng)絡(luò)的輸入層[12-13]神經(jīng)元的個(gè)數(shù)由圖像特征值決定,本文以改進(jìn)的6個(gè)不變矩作為圖像特征值,故輸入層節(jié)點(diǎn)數(shù)為6;BP網(wǎng)絡(luò)的輸出層節(jié)點(diǎn)數(shù)的確定是根據(jù)所要分的類(lèi)別數(shù)來(lái)確定。實(shí)驗(yàn)中是針對(duì)3類(lèi)條形碼圖像進(jìn)行識(shí)別,所以輸出層[14]的節(jié)點(diǎn)數(shù)為3個(gè);輸出模式即如果輸入為第j類(lèi)標(biāo)志,則輸出矢量Y= [y0y1…yn-1]中的第j個(gè)分量為0.9,其余為0;當(dāng)?shù)趈個(gè)分量小于0.5,或?qū)嶋H輸出節(jié)點(diǎn)同時(shí)存在多個(gè)較大值時(shí),則拒識(shí)別。
(2)隱含層節(jié)點(diǎn):隱含層神經(jīng)元[12]的個(gè)數(shù)由式 (7)來(lái)確定
式中:n1、m、n——BP神經(jīng)網(wǎng)絡(luò)的隱含層、輸入層、輸出層的節(jié)點(diǎn)數(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í)因子小收斂速度慢、誤差大。所以可以采用變步長(zhǎng)法對(duì)α自適應(yīng)調(diào)整
式中:c——學(xué)習(xí)次數(shù)。
實(shí)驗(yàn)時(shí)先由具有2×1GHz雙核處理器和500萬(wàn)像素的攝像頭的Moto ATRIXTMME860手機(jī)獲得3類(lèi)不同的真彩色條形碼圖像,對(duì)其分別進(jìn)行大小歸一化處理、灰度化處理、中值去噪處理和二值化處理,以bmp文件格式存儲(chǔ),圖像為150×130像素大小,如圖3所示。識(shí)別中對(duì)其灰度圖像進(jìn)行Hu不變矩特征值提取。
圖3 灰度一維和二維條形碼灰度原始圖像
實(shí)驗(yàn)對(duì)上述三類(lèi)圖像進(jìn)行了訓(xùn)練和分類(lèi)識(shí)別。分別對(duì)三類(lèi)條形碼圖像進(jìn)行旋轉(zhuǎn)、縮放和平移共得到45幅圖像,對(duì)其提取Hu不便矩特征作為BP網(wǎng)絡(luò)的訓(xùn)練樣本。圖4、圖5和圖6給出條形碼用于網(wǎng)絡(luò)訓(xùn)練的部分圖像。
圖4 訓(xùn)練的一維條形碼旋轉(zhuǎn)部分圖像
實(shí)驗(yàn)中先分別計(jì)算了45幅圖像的Hu不變矩特征值,表1和表2分別給出了提取不同失真條件下條形碼圖像的Hu不變矩特征值的部分結(jié)果。從表1中可得,三類(lèi)條形碼圖像的6個(gè)不變矩特征值存在差別,可以作為分類(lèi)識(shí)別的依據(jù);在表2中,行表示一幅條形碼圖像的6個(gè)不變矩特征值,列表示同一幅條形碼圖像在不同失真情況下的同一個(gè)不變矩特征,對(duì)于同幅圖像的不同失真情況下的同一個(gè)不變矩特征值差別很小,如此可得不變矩具有良好的不變性。圖7給出pdf417二維條形碼圖像發(fā)生旋轉(zhuǎn)20度、縮小0.9、放大1.1和下移等幾何失真時(shí)與原始圖像的Hu不變矩的對(duì)比結(jié)果,從圖7可以看到:產(chǎn)生幾何失真的Pdf417條形碼圖像與原始圖像的Hu不變矩誤差較小,由此可證明Hu不變矩具有很強(qiáng)的抗干擾能力,和平移、縮放和旋轉(zhuǎn)等不變性能好。
表3給出訓(xùn)練次數(shù)相同的情況下,隱含層神經(jīng)元個(gè)數(shù)不同對(duì)最小均方差的影響,從表中可得隱含層神經(jīng)元節(jié)點(diǎn)個(gè)數(shù)的多少對(duì)最小均方差的影響,當(dāng)隱含層節(jié)點(diǎn)個(gè)數(shù)為13個(gè)時(shí),得到的最小均方誤差最??;而表4給出隱含層節(jié)點(diǎn)個(gè)數(shù)都為13個(gè)時(shí),不同訓(xùn)練次數(shù)得到的對(duì)應(yīng)的最小均方差,從表4中可得在隱含層神經(jīng)元個(gè)數(shù)相同情況下,學(xué)習(xí)次數(shù)對(duì)最小均方誤差的影響趨勢(shì),可得當(dāng)訓(xùn)練次數(shù)為15000時(shí),訓(xùn)練最小均方誤差最小。因此,實(shí)驗(yàn)中構(gòu)建BP時(shí)選取隱含層節(jié)點(diǎn)個(gè)數(shù)為13個(gè),訓(xùn)練次數(shù)為15000次。BP網(wǎng)絡(luò)訓(xùn)練收斂后,再通過(guò)旋轉(zhuǎn)、平移和縮放增加30幅圖像,加上已有的樣本共75個(gè)測(cè)試樣本,分別用獲得的神經(jīng)網(wǎng)絡(luò)分類(lèi)器進(jìn)行識(shí)別。
表1 三類(lèi)條形碼不變矩特征提取結(jié)果
表2 Pdf417二維條形碼不變矩特征提取結(jié)果
圖7 原始圖與產(chǎn)生幾何失真圖像的Hu不變矩的對(duì)比
表3 隱含層神經(jīng)元個(gè)數(shù)對(duì)BP網(wǎng)絡(luò)收斂的影響
表4 訓(xùn)練次數(shù)對(duì)BP網(wǎng)絡(luò)收斂的影響
表5中給出了基于Hu不變矩和BP網(wǎng)絡(luò)的識(shí)別算法對(duì)三類(lèi)條形碼圖像的識(shí)別精度,從中可以看出在相同的學(xué)習(xí)次數(shù)和訓(xùn)練誤差基礎(chǔ)下,由于一維條形碼圖像結(jié)構(gòu)簡(jiǎn)單,信息量少,所以識(shí)別效果優(yōu)于結(jié)構(gòu)復(fù)雜、信息量大的二維條形碼;但即使Pdf417和QR Code等二維條形碼結(jié)構(gòu)復(fù)雜、信息量大,應(yīng)用此算法的識(shí)別效果良好,準(zhǔn)確率較高。
表5 對(duì)三類(lèi)條形碼的識(shí)別精度對(duì)比
本文利用Hu不變矩作為條形碼的特征向量,用神經(jīng)網(wǎng)絡(luò)分類(lèi)器對(duì)提取的特征向量作為輸入節(jié)點(diǎn),進(jìn)行分類(lèi)識(shí)別。實(shí)驗(yàn)結(jié)果表明,以不變矩代替圖像灰度作為BP網(wǎng)絡(luò)的輸入,大大簡(jiǎn)化了BP網(wǎng)絡(luò)的規(guī)模,提高了網(wǎng)絡(luò)的訓(xùn)練速度,具有良好的分類(lèi)能力,并且對(duì)一維條形碼和二維條形碼可進(jìn)行同時(shí)識(shí)別處理,并且糾正了條形碼圖像的旋轉(zhuǎn)、縮放和平移等幾何失真,識(shí)別效果良好,實(shí)現(xiàn)簡(jiǎn)單;對(duì)用智能手機(jī)作為條形碼識(shí)別的實(shí)現(xiàn)提供了有力的支持和實(shí)際的指導(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). [余芳,劉萍,袁豪磊.在智能手機(jī)上實(shí)現(xiàn)二維條形碼識(shí)別 [J].微計(jì)算機(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二維條形碼的圖像識(shí)別 [J].計(jì)算機(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二維條形碼識(shí)別算法 [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é)強(qiáng),汪渤,于家城,等.一種新型不變矩在圖像識(shí)別中的應(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)識(shí)別方法 [J].微電子學(xué)與計(jì)算機(jī),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)志識(shí)別方法研究 [J].計(jì)算機(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).[李國(guó)祥,張顯全,秦芳遠(yuǎn).基于不變矩和BP神經(jīng)網(wǎng)絡(luò)的剪紙紋樣識(shí)別 [J].計(jì)算機(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ò)的圖像模式識(shí)別 [J].河北大學(xué)學(xué)報(bào)(自然科學(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ò)的車(chē)型分類(lèi) [J].華南理工大學(xué)學(xué)報(bào) (自然科學(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ò)的三維物體識(shí)別 [J].計(jì)算機(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ò)分類(lèi)器識(shí)別交通標(biāo)志 [J].計(jì)算機(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).[李會(huì)民,張仁津.基于改進(jìn)BP網(wǎng)絡(luò)的車(chē)牌字符識(shí)別方法研究 [J].計(jì)算機(jī)工程與設(shè)計(jì),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ò)的掌紋識(shí)別方法 [J].東北林業(yè)大學(xué)學(xué)報(bào),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].沈陽(yáng):東北大學(xué)出版社,2000.]