APP下载

基于机器视觉的点阵字符分割方法

2023-08-04李百明

吉林化工学院学报 2023年1期
关键词:喷码字符识别包装盒

李百明

(黎明职业大学 智能制造工程学院,福建 泉州 362000)

食品包装行业通常采用喷码技术将食品的生产日期和生产流水号等信息以点阵字符的形式标注于食品包装的表面。由于在喷码过程中会受到喷头振动、喷墨不均匀等因素的影响,不可避免地会出现部分字符的漏喷和模糊等缺陷,进而影响食品的安全。目前,大多数食品生产企业对喷码信息的检测仍采用人工目测的方式完成,但该方法存在检测效率低、成本高的问题,而且因检测人员易疲劳还存在误检的问题[1]。因此,研究一种高效低成本的喷码字符检测方法,不仅可以提高企业的检测效率、降低企业成本,还有利于确保食品的安全。目前,一些学者针对食品包装上点阵喷码字符的识别问题进行了一些研究。例如:马玲等[2]提出了一种将模板匹配与支持向量机相结合的点阵字符识别方法,该方法在字符倾角不大时字符分割的准确率较高,但当字符倾角变大时单个字符分割的准确率降低,且该方法分割出的字符变形较大,降低了识别的准确性。林冬婷等[3]提出了一种喷点合并特征的点阵字符分割方法,该方法在系统照明均匀、背景不复杂时分割字符的准确率较高,但当点阵字符的周围有锡纸、贯穿字符区域的包装盒接缝等复杂背景时,字符定位效果不佳,导致分割准确率降低。林慧莹等[4]提出了一种复杂背景下的点阵字符识别方法,该方法可准确定位字符,且对黏连字符有较好的分割效果,但当点阵字符存在局部漏喷或字符模糊时,会出现字符分割不完整的现象。基于上述研究,本文以牛奶包装盒上喷印的生产日期为研究对象,提出了一种基于机器视觉的点阵字符分割方法,并通过实验验证了该方法的有效性。

1 分割方法设计

1.1 字符定位

字符定位的目的是将待识别字符所在区域与周围背景分开,避免背景对待识别字符造成干扰。字符定位是准确完成字符分割和正确实现字符识别的重要前提。Blob分析是一种可综合运用二值化、形态学和特征筛选等方法对图像中像素相同的连通域进行分析的方法[5],该方法可有效分析特定目标定位、数量统计和缺陷检测等问题。因此,本文采用Blob分析对喷码字符所在区域进行定位。

1.1.1 二值化

对牛奶包装盒顶面图像进行二值化的目的是缩小目标区域,其中关键步骤是如何确定阈值[6]。最大类间方差法[7]是一种基于全局的、非参数的、无监督的自适应阈值法。由于该方法不受图像亮度和对比度的影响,可有效确定图像的全局阈值。因此,本文采用最大类间方差法对采集到的牛奶包装盒图像做二值化处理。

利用最大类间方差法自动确定牛奶包装盒图像全局阈值的方法为:首先利用阈值将牛奶包装盒图像分成前景和背景两部分[8],然后根据前景和背景的平均灰度值及其所占总图像的灰度百分比求出图像的类间方差。当类间方差值最大时,所选取的阈值即为最佳分割阈值。利用最大类间方差法对某一牛奶包装盒顶面图像进行二值化的结果,如图1所示。

图1 最大类间方差二值化图

1.1.2 形态学处理

形态学基本操作包括膨胀、腐蚀、开运算及闭运算等[9]。在进行形态学操作前,须先定义一个类似滤波核的结构元素。膨胀和腐蚀的程度由结构元素的大小决定,即:结构元素越大,被膨胀或腐蚀的区域就越大;反之,被膨胀或腐蚀的区域就越小。从图1可知,对牛奶包装盒进行二值化处理后,有一条垂直分布的细小的断续噪点(由牛奶包装盒顶部纵向接缝所致)贯穿了喷码字符所在区域。为了便于准确定位喷码字符所在区域,本文先用半径为3.5的圆形结构元素对图1做开运算操作,以消除此条噪点对喷码字符区域定位影响;然后再用宽140、高40的矩形结构元素对开运算后的区域做膨胀处理,由此将点阵喷码字符连成一个整体。形态学处理后的结果,如图2所示。

图2 对二值化区域进行形态学处理后的结果图

1.1.3 特征筛选

图像经过二值化和形态学处理后,变为由若干区域组成的集合。在集合中选出特定的区域需以特征作为筛选依据。由图2可知,喷码字符所在区域的面积、长度、宽度、长宽比等几何形状特征和其他区域有明显差异,因此本文采用区域面积特征对图2进行筛选。对筛选结果做最小外接矩形后再将其从灰度图像中裁剪出来即得如图3所示的点阵喷码字符图像。由图3可以看出,采用上述方法可实现对喷码字符的精准定位。

图3 点阵喷码字符

1.1.4 喷码字符的转正

在喷码时由于牛奶包装盒的位置及喷墨角度易发生变动,导致喷码字符易出现倾斜情况(见图4)。因此,当喷码字符倾斜角度较大时,需要先将其转正,以便后续的正确分割和识别。

图4 倾斜的点阵喷码字符

图5 图像旋转示意图

1)将直线PV平移至P′V′位置,且将点P′与原点O重合。根据平面几何坐标平移公式,得其对应的齐次坐标矩阵公式为

(1)

2)将直线P′V′绕O点同旋转角度θ。根据平面几何坐标旋转公式,得其对应的齐次坐标矩阵公式为

(2)

3)将直线P′V′平移到PV‴位置,得其对应的齐次坐标矩阵公式为

(3)

将(1)式和(2)式带入(3)式可得

(4)

由以上可知,只需计算出图4中喷码字符的中心点坐标和字符倾斜角度,根据式(4)便可完成对倾斜字符的转正。转正后的图像如图6所示。

图6 转正后的点阵喷码字符

1.2 字符分割

牛奶包装盒顶部的喷码字符具有如下特点:字符由阵列分布的散点组成;整个字符是断续的,不具有普通字符的连通性;不同包装盒上两行字符之间的行距是固定的;同一行字符之间的距离不相等;字符的宽度是一定的。针对这些特点,本文采用灰度投影法[10]结合字符宽度特征对点阵字符进行分割处理。分割处理的方法:首先,逐行逐列地计算灰度特征(即水平灰度投影和垂直灰度投影),以此得到能够反应二维图像在一维方向上总体变化趋势的特征曲线[11];然后,利用一维特征曲线结合字符宽度特征对图像进行分割,由此即可实现字符的提取。

1.2.1 字符行分割

采用水平灰度投影法对转正后的喷码字符进行行分割的结果如图7所示。由图7可知,投影后灰度值超过200的曲线共有3段,分别对应图6的最顶部无字符区域、中间无字符区域和最底下无字符区域。

行数/行图7 转正后喷码字符的水平灰度投影曲线

因此,只需从图7中第2段曲线的波峰位置分割即可,分割后的结果如图8所示。

(a) 第一行字符

1.2.2 字符列分割

由于识别字符时不须识别冒号,因此在列分割之先对图8(b)进行预处理,即去掉图像中“时、分、秒”之间的两个“:”。去掉冒号后,将图像取反成黑底白字,并在垂直方向进行灰度投影,结果见图9。

列数/列图9 第2行字符的垂直投影曲线

由图9可知,图中共有9个灰度值为0的波谷,与单行字符之间的9段间隔刚好对应。此外,由于字符的宽度是一定的,因此在字符分割时将垂直投影法和字符宽度特征相结合可较好地避免因局部漏喷或字符模糊造成的误分割现象,分割后的10个独立字符如图10所示。

图10 第二行字符列分割的结果

由于分割出的单个字符大小往往不一致(影响字符识别的稳定性和效率),故本文采用双线性插值法将分割后的字符统一归一化为70×110[10-12]。

2 实验结果与分析

本文设计的点阵字符分割方法采用深圳迈德威视公司的MV-G2448M相机对牛奶包装盒顶部点阵喷码图像进行采集。该相机是有效视场为2/3英寸,分辨率为2 448×2 048像素的CMOS相机;光源使用发光面外径为155 mm,内径为120 mm的低角度环形光源;镜头选用大恒图像的HN-P-2528-6M-C2/3型工业镜头,分辨率为600万像素。算法实验平台为Halcon20.11版。

2.1 点阵喷码字符定位实验

为了验证本文提出的Blob分析定位算法的性能,与文献[3]的方法(采用水平投影对点阵字符所在区域进行定位)进行了比较,部分实验结果如图11所示。

图11 不同方法定位点阵喷码字符的实验结果

图11(a)是在本文实验对象中随机选取的4幅点阵喷码图像。图11(b)是用文献[3]中定位方法得到的定位结果。由11(b)可以看出,该方法存在定位范围过大和定位不完整的情况。图11(c)是采用本文的定位方法得到的定位结果。由图11(c)可以看出,4幅图中喷码字符所在区域均被准确定位,且定位范围大小合适。

文献[3]的定位方法较差的原因是背景复杂(如背景反光、对比度差异大)、局部漏喷和字符模糊对其影响较大;而本文提出的Blob分析定位方法效果较好的原因是该方法能够对灰度值相同的团块进行处理(并不单独研究每行或一列的灰度值),因此可以很好地克服上述问题。

2.2 点阵喷码字符分割实验

为了验证本文提出的灰度投影法结合字符宽度特征的分割性能,与文献[4]中的算法(采用连通域最小外接矩形进行二次等间距分割)进行了对比,部分分割结果如图12所示。图12(a)为随机选取的4个分割出来的单行字符。图12(b)为采用文献[4]的方法得到的分割结果。由图12(b)可以看出:第1行与第2行字符均实现了完美的分割;第3行字符的数字“0”被分割成两个不完全字符,且0右边的数字“2”上部分信息丢失,已无法辨别原字符是数字还是其他特殊标记;第4行左边第一个数字“0”分割成了字母“U”。图12(c)为本文采用的分割方法。由图12(c)可以看出,4行字符均实现了完美分割。

图12 不同方法字符分割结果

文献[4]的分割方法较差的原因是分割后的字符会从漏喷或喷印模糊的地方断开,从而出现分割不完整的问题;而本文提出的分割方法其效果较好的原因是在利用字符之间灰度值为零的特性的基础上融合了喷码字符的宽度特征,因此能够保证分割的准确性。表1为利用上述两种方法对120幅图像中的喷码字符进行分割后的结果统计。由表1可以看出,本文的分割准确率(98.7%)显著优于文献[4]中方法的分割准确率(92.2%),由此进一步表明本文提出的分割方法比文献[4]中的分割方法更具有优势。

表1 字符分割实验对比表

2.3 点阵字符识别实验

为了进一步验证本文提出的分割算法的有效性,将分割后的字符在MLP模型中进行识别。实验采集的每幅图像共有22个点阵字符,其中“0~9”之间的数字有19个,字母“A”1个,特殊字符“:”2个,共计12个类别。实验平台为halcon20.11版,其内部自带58种常用字符识别库,可完全满足本文需要。识别结果见表2。

表2 MLP分类器对分割字符的识别结果

从表2可以看出,本文方法的识别准确率为97%,识别的平均时间为0.87 s.该结果表明:本文提出的基于机器视觉的点阵字符分割方法对背景复杂、局部漏喷或模糊的点阵喷码字符识别具有很好的鲁棒性。

3 结 论

实验表明,提出的基于机器视觉的点阵字符分割方法在反光、照明不均匀等复杂背景下对喷码字符的定位准确性明显优于文献[3]中的定位方法;在字符出现局部漏喷、喷印模糊时对字符的分割准确率显著优于文献[4]中的分割方法。另外,本文提出的定位和分割方法具有很强的鲁棒性。因此,本文方法在喷码字符识别上具有良好的应用性。本文仅对复杂背景、局部漏喷和局部字符模糊的情况进行了研究,今后将在现有方法基础上对单个字符出现较大面积的漏喷或较大面积的字符模糊情况进行研究,以提升本文方法的应用范围。

猜你喜欢

喷码字符识别包装盒
一种喷码位置偏移的检测方法及装置设计
DOD 喷码技术在激光切割行业的应用
基于安川工业机器人的钢卷自动喷码系统开发
包装趣事
零食包装盒的百变大咖秀
全新70 微米喷嘴为制造商提供更多优势
一种改进深度学习网络结构的英文字符识别
仪表字符识别中的图像处理算法研究
包装盒的来历
基于CUDA和深度置信网络的手写字符识别