严小红
(1. 新疆交通职业技术学院 运输管理学院, 新疆 乌鲁木齐 831401;2. 南京航空航天大学 航空宇航学院, 江苏 南京 210016)
计算机视觉在条形码缺陷检测中的应用
严小红1,2
(1. 新疆交通职业技术学院 运输管理学院, 新疆 乌鲁木齐 831401;2. 南京航空航天大学 航空宇航学院, 江苏 南京 210016)
提出一种新的基于计算机视觉技术的识别方法.通过各种计算机视觉算法的合理配置,达成对缺陷条形码的修正和识别.在预处理阶段,采取线性灰度化方法和Ostu阈值分割方法,增强黑色条纹和白色背景之间的对比度;在条纹定位阶段,采取Canny边缘检测和Hough变换,有效定位黑色条纹对应的直线特征.实验结果表明:该方法对缺陷条形码的识别是有效的. 关键词: 缺陷条形码; 机器视觉; Ostu分割; Hough变换
快速有效地识别商品的相关信息,对于自动分拣、智能销售等工作都具有非常重要的意义[1].如同人的身份证一样,商品也有自己的身份识别标志,那就是条形码.Toshihiko等[2]提出一种迭代识别方法,并将该方法从一维条形码识别的应用扩展到二维条形码识别.姚俊等[3]研究了复杂背景对条形码识别的影响,并提出一种基于模板匹配技术的条码图像分割方法.黄小英[4]构建一种基于网格划分的条形码检测方法.Tekin等[5]构建了条形码图像信号的一阶差分方程,通过一阶差分处理对噪声的抑制,实现条形码图像的准确识别.陈萍芸等[6]则选择傅里叶变换方法,将图像信号变换到频率域,在频率域上消除噪声后,再将图像信息映射回灰度空间域,最终完成了条形码图像的识别.马超[7]提出条形码图像中存在缺陷时,模板匹配对解决此类问题是有效的.王霞玲等[8]构建了一种基于稀疏表达和模糊处理的模糊条形码识别方法.基于此,本文针对有缺陷的条形码识别问题,提出一种基于计算机视觉的识别方法.
图1 缺陷条形码图像的识别流程Fig.1 Recognition process of defect barcode image
条形码缺陷出现的原因有多个方面,如包装经常受到磨损、拍摄过程中出现的闪光灯等,都有可能造成条形码图像中条码特征部分的缺失[9-10].这时,用一般的条形码图像的机器视觉识别方法往往因检测不到完整的条纹而无法实现准确的读数.为了解决不完整条形码的机器视觉识别问题,文中结合一些典型的图像处理技术,构建的识别方案,如图1所示.
文中算法包含以下7个步骤:1) 对彩色条形码图像进行灰度化处理;2) 对已经变成灰度的条形码图像执行阈值分割,以增强黑色条纹和背景之间的对比度;3) 执行Hough变换,以检测条形码图像中的矩形轮廓;4) 确定条码的上方边界;5) 确定条码的下方边界;6) 将残缺的条形码执行延伸处理,形成完整的条形码;7) 完成条形码的编码识别.其中,条形码图像的灰度化处理、条形码图像的阈值分割、条形码图像的Hough变换直线特征检测是最关键的环节.
2.1 灰度化处理
彩色图像中,每个像素的颜色信息包含R,G,B三个分量,对其进行线性化灰度处理的方法是将3个颜色分量按照一定的权重系数加权求和,并最终设置为R=G=B,加权求和的数学模型为
(1)
式(1)中:f表示彩色图像灰度化处理之后的灰度值;R,G,B分别表示彩色图像原始信息中,红色、绿色、蓝色3种颜色信息的分量;ω1,ω2,ω3分别表示3种颜色信息的权重系数,即合成最后灰度时,每个颜色分量信息在像素灰度中所占的比例.
按照线性化的处理,并不是所有的ω1,ω2,ω3组合都能达到理想的灰度效果.一般认为,要保持灰度化结果和原有图像信息的不失真表达,ω1,ω2,ω3的配置比例应该为(0.299,0.587,0.114).根据大量的实验结果证实,这组ω1,ω2,ω3配置形成的灰度化处理效果几乎毫无失真地表达了原始图像信息,因此,被认定为灰度化处理的最佳线性组合.
2.2 Ostu阈值分割
首先,采用f表示原始的图像信息,并根据先验知识将其灰度等级设置为L(0,1,…,L-1).如果这幅图像的像素总数为N,那么,存在如下关系,即
(2)
式(2)中:Ni表示f中第i个等级的全部像素数量.
其次,对求取出的全部Ni执行归一化处理,实际的操作为
(3)
再次,根据设定的初始阈值,将原始图像的像素集合进行划分,形成两个子集并分别用C0和C1表示,最终获得的概率和均值分别为
(4)
式(4)中:w0+w1=1.
最后,执行两个子集C0和C1的类间方差计算,此时,能满足最大类间方差的阈值就是最佳阈值.
2.3Canny边缘检测
采取边缘检测,确定各个黑色条纹的边界,以便于后续的Hough变换检测直线特征.常见的边缘检测方法有Roberts边缘检测、Sobel边缘检测、Prewitt边缘检测、Log边缘检测、Canny边缘检测等.其中,Roberts边缘检测、Sobel边缘检测、Prewitt边缘检测等方法获得的边缘检测结果往往都不是单像素边界,这样的结果对于Hough变换检测直线特征无疑会造成障碍.因此,文中选择Canny边缘检测算法定位黑色条纹的边界.
图2 Hough变换的对应关系Fig.2 Corresponding relation of Hough transform
2.4 Hough变换检测直线
Hough变换的核心表达式为
(5)
经过Hough变换,XOY下的直线特征和极坐标系下的正弦曲线对应关系,如图2所示.
用数学模型描述Hough变换前后的对应关系,即
(6)
实验以一台主流配置的Dell笔记本电脑为核心设备,以Matlbab为编译平台.有缺陷条形码的识别实验,如图3所示.
(a) 阈值分割后的条形码图像 (b) Hough变换处理后的条形码图像
(c) 顶部和底部连接后的条形码图像 (d) 缺陷补足处理后的条形码图像图3 有缺陷条形码的识别实验Fig.3 Identification experiment of defective bar code
针对破损条形码图像(图3(a)),首先执行阈值分割,以增强图像特征.因为图像是黑白图像,因此,省去灰度化环节.执行阈值分割后的效果,如图3(b)所示.由图3(b)可知:Hough变换将不完整条形码图像中的所有直线特征全部检测出来,包括完整的直线特征和不完整的直线特征,程序会自动将检测到的直线特征并标记.然后,继续执行不完整条形码识别中的第3步和第4步,搜索并绘制条形码水平边界的直线特征,如图3(c)所示.图3(c)中,这两条直线被标记出来.所有垂直方向上的直线特征将分别向两侧延伸,直至到达这两条水平直线.所有直线特征全部延伸到两条水平直线特征处的效果,如图3(d)所示.原本不完整的直线特征被标记出来.至此,本不完整的矩形条形码特征又重新生成,可以用于条纹宽度比对,进而根据条形码编码规则获得商品信息.
图4 识别准确率的对比实验Fig.4 Comparison experiment of recognition accuracy
为了验证文中方法对破损变形条形码识别处理的有效性,对50幅破损条形码图像进行实验.分别考察其处理前后的识别准确率,对比结果如图4所示.图4中:n为识别条形码图像的总数;η为识别准确率.
由图4可知:对于破损的条形码图像,如果不经过任何处理就执行识别,随着要识别条形码图像数量的增长,其识别准确率基本在30%上下波动,这个识别准确率是非常低的.而经过了文中方法的修复处理,随着要识别条形码图像数量的增长,其识别准确率基本稳定在90%左右.
针对有缺陷的条形码识别问题,提出一种基于计算机视觉的识别方案,分为7个步骤完成条形码的识别.分别采取基于线性处理的灰度化方案,以获得灰度条形码图像,采取Ostu阈值分割方法增强黑色条纹和白色背景之间的对比度,采取Canny边缘检测定位黑色条纹,采取Hough变换检测黑色条纹的直线特征,进而将残缺条纹补全以完成最终的条形码识别.
实验结果表明:各种计算机视觉的处理方法合理地配置在一起,能有效地完成缺陷条形码的识别.相对于一般的条形码识别方法,文中方法对缺陷条形码的识别准确率有大幅度的提高.针对已经出现破损的条形码图像,对其先修复再识别的处理可以大大提升条形码识别的准确率.所以,在商品分类与销售的过程中,文中方法具有可观的理论意义和实用价值.
[1] 赖丽旻,洪青阳.声纹识别在开放仪器管理中的应用[J].华侨大学学报(自然科学版),2015,36(5):517-521.
[2] WAKHARA T,YAMAMOTO N.Image processing of 2-dimensional barcode[J].Network-Based Information Systems,2011,22(4):56-65.
[3] 姚俊,范永法,潘树国.基于模板匹配的有复杂背景的条码图像区域分割[J].河海大学常州分校学报,2013,17(4):24-27,67.
[4] 黄小英.基于图像的条形码识别的算法研究及设计[J].电子技术,2011,38(5):21-22.
[5] TEKIN E,COUGHLAN J.A Bayesian algorithm for reading 1D barcodes[C]∥Canadian Conference on Computer and Robot Vision.Washington D C:IEEE Computer Society,2009:61-67.
[6] 陈萍芸,林春深.一种改进的动脉CT图像去噪方法[J].华侨大学学报(自然科学版),2015,36(4):443-448.
[7] 马超.面对条形码图像缺陷的表面检测系统的研究与实现[D].北京:北京邮电大学,2013:10-21.
[8] 王霞玲,吕岳,文颖.复杂背景和非均匀光照环境下的条码自动定位和识别[J].智能系统学报,2010,5(1):35-40.
[9] SPAGNOLOA G S,COZZELLAA L,De SANTIS M.New 2D barcode solution on computer generated holograms: Holographic barcode[C]∥International Symposium on Communications, Control and Signal Processing.Rome:IEEE Press,2012:1-5.
[10] YAHYANEJAD S,STRÖM J.Removing motion blur from barcode images[C]∥IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.New York:IEEE Press,2010:41-46.
(责任编辑: 黄晓楠 英文审校: 吴逢铁)
Application of Computer Vision in Defect Bar Code Detection
YAN Xiaohong1,2
(1. School of Transportation Management,Xinjiang Vocational and Technical College of Communications, Urumqi 831401, China;2. College of Aerospace Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China)
A new recognition method based on computer vision technology is put forward. Through the reasonable configuration of various computer vision algorithms, the correction and identification of defective bar code is achieved. In the preprocessing stage, the linear gray level method and the Ostu threshold segmentation method are adopted to enhance the contrast between the black stripes and white background. In the phase of fringe orientation, Canny edge detection and Hough transform are adopted to effectively locate the linear features of black stripes. The experimental results show that this method is effective for the identification of defective bar code. Keywords: defect bar code; machine vision; Ostu segmentation; Hough transform
10.11830/ISSN.1000-5013.201701021
2016-11-25
严小红(1987-),女,讲师,博士研究生,主要从事软件工程、测试计量技术及仪器的研究.E-mail:312090008@qq.com.
国家自然科学基金资助项目(12WK02)
TP 242.63
A
1000-5013(2017)01-0109-04