APP下载

基于Gabor滤波和BP神经网络的二维条码区域提取

2010-05-10杨兆选吴佳鹏白卓夫苏育挺王曾敏

关键词:条码特征向量尺度

杨兆选,吴佳鹏,白卓夫,苏育挺,王曾敏

(天津大学电子信息工程学院,天津300072)

近年来,随着资料自动收集技术的发展,用条码符号表示更多资讯的要求与日俱增,一维条码已无法满足人们的需求[1].二维条码因其具有高密度、大容量、可靠性高、保密性强、防伪性强和抗污损能力强等优点,得到了迅速的发展,应用领域不断拓宽,目前已广泛应用于国防、海关、税务、公共安全、交通运输、产品制造等信息自动携带、传递、防伪领域.

Data Matrix条码[2]是一种应用广泛的矩阵式二维条码,如图1所示.Data Matrix条码由规则排列的方形模块构成,每一个相同大小的黑色或白色方格称为一个数据单位,分别代表着矩阵中的 1、0信息.条码边界是由两条暗实线和两条由黑白交替的小方格组成的铁路线组成的寻边区,只用于限定物理尺寸、定位和定义数据单位的大小,无任何编码信息.被寻边区包围的数据区包含着编码信息矩阵,信息密度高,信息量大.由于编码时加入了纠错码,条码具有较强的纠错能力.

图1 Data Matrix条码Fig.1 Data Matrix barcode

要对 Data Matrix条码进行识别,读取其中的信息,首先要对条码进行区域提取和精确定位,其中条码区域提取则是其他处理的前提.文献[3]提出利用投影的方法进行条码区域提取.他们首先对条码图像进行边缘检测,然后对得到的边缘图分别进行水平投影和垂直投影,最后将水平投影和垂直投影中投影值较大的区域结合起来确定条码的大概位置从而将条码区域提取出来.这种方法基于条码区域边缘比较复杂和密集而其他区域灰度比较平坦边缘点少的假设,对于背景比较简单、条码周围比较干净的图像有比较好的效果.但当背景比较复杂,条码周围有其他具有密集边缘的物体甚至条码被其他物体所包围时,此方法的效果会有很大程度的下降.文献[4]中则采用将图像分块,在每块中计算各点梯度得到每块中的边缘点,根据各块中边缘点的数量和方向等性质判断各块是否属于潜在的条码区域,然后对可能属于条码区域的块进行连通合并等后处理提取出条码区域.这种方法可利用条码本身的纹理特征排除许多伪区域,但对块大小的设定至关重要,块设定得太大无法很好地进行潜在块选择,得到的区域过大会包含一部分条码周围的其他物体;块设定太小则无法体现条码纹理的统计特性.文献[5]提出利用数学形态学对图像进行版面分析,通过腐蚀(白色背景下)或膨胀(黑色背景下)使条码区域连成一个连通域,然后通过后处理在一定程度上保证条码区域完整性并去除一部分伪区域进而提取出可能的条码区域.这种方法因计算简单而被广泛应用,但很难选出在不同的条件下都适用的结构体.而且当背景比较复杂时,这种方法会将图像中灰度与条码区域相似的区域一同提取出来,形成大量伪区域,产生较高的虚警率.为解决这一问题,提出一种基于Gabor滤波和BP神经网络的 Data Matrix条码区域提取方法(GF-BPNN),利用BP神经网络按照经Gabor滤波得到的图像纹理特征对像素进行分类,从而提取出条码区域.

1 GF-BPNN方法流程

GF-BPNN方法的流程,如图2所示.首先,将待处理图像通过不同尺度不同方向的多个 Gabor滤波器滤波,得到不同尺度不同方向的纹理特征;然后,对这些特征进行变换,使得到的特征向量具有尺度不变性和旋转不变性;再将得到的特征向量通过 BP神经网络对各个像素进行分类,此处用来训练 BP网络的参考向量是由参考图像经上述步骤得到的;最后,利用数学形态学对得到的分类图进行后处理,提取出完整的条码区域.

图2 GF-BPNN方法流程Fig.2 Block diagram of GF-BPNN

2 Gabor滤波器提取纹理特征

在纹理分析方面,共生矩阵[6]、马尔科夫随机场[7]和 Gabor滤波[8]等都是常用的纹理分析工具.Gabor滤波器则因在时域和频域中都具有良好的局部特性[9],且只需改变参数就可对图像进行不同尺度不同方向的滤波而被广泛应用.本文中提出的 GF-BPNN方法就用 Gabor滤波进行图像纹理特征的提取.Gabor滤波器的表达式为

3 特征变换

经 Gabor滤波器滤波得到的特征向量F不具有尺度不变性和旋转不变性,且维数太高,无法直接用于BP神经网络进行分类.所以要对F进行降维和变换,使其具有尺度不变性和旋转不变性.

首先,消除F对尺度的敏感性,生成具有尺度不变性的特征向量,同时实现降维.要实现这一目标,可对具有相同方向不同尺度的特征相加并求均值,从而消除尺度对特征的影响,得到对尺度不变的含8个元素的特征向量 F =[F0, F1,F2, F3, F4, F5,F6, F7],式中定义

对F进行变换使其具有旋转不变性.由图 1可知,Data Matrix条码区域内有很多相互垂直的边缘,因此条码区域内的像素经过 Gabor滤波后会在两个相互垂直的方向上响应比较大而其他方向的响应会相应地小一些,从而在两个相互垂直的方向上形成两个峰值.这种分布是区分该像素是否属于条码区域的重要特征.而由于旋转和各种失真的存在,使得属于不同条码区域或同一条码区域不同位置的像素的特征分布中峰值出现的角度不同,但只要属于条码区域,其双峰特性是不变的.因此只需要在由式(3)所得的特征向量进行循环移位,使其中的响应最大值固定在特征向量的第一个元素位置 F0处,即可得到具有 旋 转 不 变 性 的 新 特 征 向 量 F = [ F0′ ,F1′,F2′ ,F3′ ,F4′,F5′ ,F6′ ,F7′],设 式(3)所得向 量 中 的响应最 大 值为Fimax,则

至此,图像每个像素处的纹理特征已具有尺度不变性和旋转不变性,并已降至8维.

4 BP神经网络对像素分类

BP神经网络是一种被广泛应用的分类器,可实现从输入空间到输出空间的非线性映射[10].它采用最小均方(least mean square,LMS)学习算法,经过迭代运算求解权值,将所需要的输出与实际输出间的误差逐步最小化.此输出误差还会向输入方向“反向传播”回去,以调整权值使误差减小.

本文中提出的 GF-BPNN方法采用经过特征变换的图像 Gabor纹理特征作为网络输入.输入之前要先将特征线性映射至[0,1]之间,以便于后续权值的调整和运算,并提高网络泛化能力.

式中 Fmin和 Fmax分别表示向量中的最小值和最大值.

网络训练由一幅背景比较复杂的参考图像经过前述特征提取所得到的特征向量作为输入,期望的输出为

对输入图像随机取 11,000个点,其中条码区域像素 1,000个,非条码区域像素 10,000个,训练 100次.然后用训练好的网络对待处理图像进行分类,网络输出以 0.5为阈值,输出大于 0.5的像素为条码区域像素,否则为背景像素.

图 3给出了图像经过 Gabor滤波、特征变换和BP网络分类后的结果.

图3 BP神经网络分类结果Fig.3 Classification result by BP neural network

5 区域提取

因神经网络分类结果不可能达到 100%正确,所以经 BP神经网络分类之后的结果图像还无法成为最终结果,还需要进行后处理以提取条码区域.

进行处理时,首先利用形态学的开、闭运算去除图像中孤立的小面积目标或背景,使条码区域形成一片完整的连通域,再对各区域做凸壳运算,确保目标区域的完整性,以利于区域标记.然后对区域进行标记,并利用各区域面积、长短轴之比等几何特性,消除伪区域,得到最终提取结果,主要流程如图4所示.

图4 区域提取流程Fig.4 Procedure of region extraction

6 实验结果

实验中利用GF-BPNN方法对3幅包含Data Matrix条码的图像进行了条码区域提取,并与文献[5]提出的利用数学形态学对图像进行版面分析提取条码区域的方法进行了对比,结果如下.本文采用像素错分率r来定量描述条码区域提取效果,即以分类错误像素数 nincorrect除以总像素数 ntotal得到的百分数表示,即

图 5(a)为一幅背景复杂但条码没有旋转的图像.图 5(b)为用 GF-BPNN方法提取的条码区域;图5(c)为用文献[5]的方法提取的条码区域.从中可以清楚地看出,GF-BPNN方法提取的条码区域完整且没有伪区域,像素错分率为 0.05%,而文献[5]的方法则出现伪区域,像素错分率为3.33%.

图5 复杂背景下的无旋转条码区域提取Fig.5 Non-rotating barcode region extraction in complex background

图 6(a)是含有旋转后条码的图像.图 6(b)为用GF-BPNN方法提取的条码区域;图6(c)为用文献[5]的方法提取的条码区域(结构体与前一实验中所用一致).可看出GF-BPNN方法对旋转不敏感,可提取出完整的条码区域,像素错分率为 0.1%;而文献[5]的方法则因为结构体选择不合适而无法准确提取出完整的条码区域,且出现伪区域,像素错分率为4.95%.

图6 旋转条码区域提取Fig.6 Rotating barcode region extraction

图 7(a)是一幅含有较大条码的图像.图 7(b)为用GF-BPNN方法提取的条码区域;图7(c)为用文献[5]的方法提取的条码区域(结构体与前一实验中所用一致).可以看出GF-BPNN方法对尺度不敏感,可提取出完整的条码区域,像素错分率为 0.08%;而文献[5]提出的方法则同样因为结构体选择不合适而无法准确提取出完整的条码区域,像素错分率为1.84%.

图7 大条码区域提取Fig.7 Big barcode region extraction

在计算量方面,本文所提出的办法与文献[5]提出的方法相比,大概增加1倍.但这个数据是在不考虑文献[5]提方法中不可避免的结构体选择问题的情况下得出的.文献[5]提出的方法要取得较好的效果必须自适应地选取结构体,这需要花费大量计算量,而本文提出的方法由于采用 BP神经网络对像素分类消除了很多伪区域,只需再以一个相对固定的结构体进行形态学后处理即可得到较好的结果,省略了自适应选取结构体的过程.所以,本文提出的方法增加的计算量是完全可以接受的.

7 结 语

本文中提出的 GF-BPNN方法,可以很好地提取出复杂背景下的 Data Matrix条码区域,且具有旋转不变性和尺度不变性.此方法很好地克服了文献[5]提出的基于形态学分析进行条码区域提取的方法存在的结构体难以选择和虚警率较高的缺点.与文献[5]提出的方法相比,本文提出的GF-BPNN方法具有更高的准确性和鲁棒性,更能适应不同应用环境的需要,是一个非常有效的方法,已在自行研制的用于工业生产线的嵌入式二维条码识别装置中得到应用.

[1]陈丹晖,刘 红. 条码技术与应用[M]. 北京:化学工业出版社,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]陈媛媛,施鹏飞. 二维条形码的识别与应用[J]. 测控技术,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]周 健. 自然环境下的二维条码自动识读技术的研究[D]. 西安:西安理工大学,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]范立南,韩晓微,张广渊. 图像处理与模式识别[M].北京:科学出版社,2007.

Fan Linan,Han Xiaowei,Zhang Guangyuan.Image Processing and Pattern Recognition[M]. Beijing:Science Press,2007(in Chinese).

猜你喜欢

条码特征向量尺度
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
热线互动
浅析影响商品条码质量的主要因素
财产的五大尺度和五重应对
日杂商品条码质量现状研究
一类特殊矩阵特征向量的求法
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
宇宙的尺度
ISSN条码的制作和印前输出要点