关键词:机器视觉;图像识别;笔芯书写
1 前言
制造业对国民经济有着深远的影响[1]。以制笔行业为例,我国的现代制笔工业诞生于二十世纪二十年代后期,至今已经有了近百年的发展历史,大体上经历了萌芽阶段、缓慢发展阶段、快速扩张阶段这三个过程[2]。国内主要的笔芯生产商,每年生产笔芯十亿只以上,尽管笔芯油墨制造技术与笔芯组装工艺已经十分发达,但是总有2‰左右的笔芯书写性能不能达到标准。现实的问题是,我国每年生成笔芯约400亿支,一个主流的制笔企业,每年大约生成50亿左右的笔芯,这其中大约有1000万支笔芯书写性能不合格。
现在的笔芯书写性能检测,主要依赖于质检员在生产线上对机械臂抓取笔芯做出的螺旋图进行观察,人工找出不符合标准的笔芯。这种依赖于人工的检测方式,劳动强度较大,很容易引起视觉疲劳,造成误判等情况,可靠性不高,效率比较低。因此,针对自动化生产的需要,本文提出一种基于计算机视觉的笔芯性能检测技术,该方法相对于人工检测,可靠性高、实时性好,更适合现代化的笔芯生产制造。
2 笔芯书写性能检测的机器视觉系统设计
检测装置主要包括:工业相机、镜头、光源、工控机、纸带、机械臂和显示器。装置的结构示意图如图 1 所示,生产线上的笔芯移动到机械臂下停止运动,机械臂抓起笔芯,在纸带上做螺旋运动,然后将笔芯放回到生产线上,这时流水线继续开动,对下一组笔芯做同样的操作。流水线在开动的同时,纸带也向上滚动,为下一批笔芯划线留下空间。
图1 笔芯划线检测装置示意图
每完成一个批次笔芯的划线,相机镜头对成像区域进行拍照。相机与纸带的相对位置固定,且光源无变化,采用固定焦距、固定快门、固定光圈的方式,对纸带上的笔芯划线痕迹进行成像。获取的图像存储在计算机内部,等待程序做进一步处理。采集的图像如图2所示。
图2 采集的原始图像
3 基于形态学的笔芯划痕检测
3.1 原图分析及预处理
直接从工业摄像机中获取的是彩色图像。显然,对于笔芯的痕迹分析来说,彩色的图像是没有必要的。因此,首先要把彩色图像转化为灰度图像。其次,分析笔芯划线的形态学特征需要在二值图中进行,所以需要把灰度图像二值化。对于二值化的阈值,由于图像是在光照环境稳定的情况下获取的,因此这里的阈值可以人为的调整,直到找到一个合适的阈值,应用在所有图像上[3]。预处理后的图像如图3所示。
图3 预处理后的图像
从原图中提取单个划线的图像,需要对原图进行分割[4]。由于每个划线的图像行宽与列宽的间距是一定的,因此可以通过投影的方式将图像分割。将图像的横轴和纵轴作投影,得到一维的数组,将数组的峰值作为分割点,最终得到分割的单个图像。直接通过二值化得到的图像存在许多噪点以及不平整的边缘,因此这里作滤波[5]和开运算[6],最终用于应用算法的图像如图4所示。
图4 分割后的图像及处理后的图像
正常的笔芯划线图像是一个大小固定的螺旋图,因此划线的面积在一定范围内波动,且图像的端点个数和线宽都固定。所以,这里人工提取出笔芯划线图像的特征,确立标准的笔芯划线图像的参数范围,通过与标准特征对比,识别出非正常的划线图像,且通过特征参数的偏离值,判断出非正常图像的类型。
3.2 端点的识别
为了识别图像的端点,需要提取出目标图像的骨架。这里使用细化算法提取图像的骨架。早在二十世纪六十年代,图像骨架的概念与细化的雏形便逐渐显露出来[7]。1992年,Louisa Lam等人系统地总结了细化算法[8]。之后,细化的方式便广泛应用于计算机图形学。为了计算出图像的端点,这里需要将图像细化为一条宽度为一个像素的细线。细化算法逐渐移除像素使得一个没有孔的对象缩小为一个最小连接的描边,并且有孔的对象缩小为一个环在每个孔和外边界之间。这样的操作保留了目标的拓扑学欧拉常数。实现细化的算法有很多种,这里我们采用如下的细化算法:
(1)在第一个子循环,删除满足条件G1,G2像素点p。
(2)在第二个子循环,删除满足条件G1,G2,G3的像素点p。
这两个子循环构成了一次细化算法的循环,当算法不断迭代,直到图像没有任何变化时,算法停止执行。此使,留下的图像即为提取的骨架,如图5所示。
图5 图像的骨架
之后,根据骨架图像计算端点数量。在骨架图上,对于每一个值为1的像素p,计算其8个相邻像素值的和,若和等于2,则判定该点像素为端点。由此可知,利用此算法处理图5,得到该图片的端点数为2。
3.3 粗点的识别
在骨架提取的基础上,对笔芯划线的线宽作评估。在算法应用了细化算法后,图像缩小为了相连接的单个像素点的骨架。对于每一个骨架上的像素点,其可用于评估该点位置附近的笔画线宽。一般来讲,以该点为中心作圆,当圆的边界恰好与笔画线内切或一边内切,一边相交时,该圆的直径即可代表该点位置的线宽。然而,如果对每个像素点评估线宽,会消耗大量时间计算不同半径的圆与线宽的几何关系。因此,这里采用一种近似的算法。如图6所示,对于每一个像素点,计算其水平方向上向左和向右与划线边界的距离,其和作为该点对应线宽的横向长度。同理,计算竖直方向上向上和向下与划线边界的距离,其和作为该点的纵向长度。另外,在左上至右下和右上至左下的两个方向上,做同样的操作,区别在于和值除以作为对角线方向上的长度。最终,这四个值的最小值作为线宽的长度。计算完成后,骨架上的像素点每一个都对应着其所在位置的线宽。为了更直观的显示出来,这里对所有的线宽值经归一化处理,并以灰度图的形式画出来。其中,颜色越深,表示当前位置的宽度越宽。结果如图7所示。
图6 划线宽度计算
图7 划线宽度图
图8 线宽分布直方图
根据图8线宽分布直方图可知,大部分的正常宽度的线分布在5~10之间,仅有少部分超过这个范围。因此我们定义超出这个范围的点为粗点。观察图7可知,在笔画线交叉的地方线宽多较宽,会被识别成粗点。这里,删除正常范围内的像素点,留下的均为宽度较宽的点。最后,由于交叉的划线也会被识别为粗点,因此这里过滤掉图上的交叉点。对于所有被评判为粗点的像素点,其分布为如图8所示的几个独立的连通域上。分别求出每个连通域的重心并投影在横轴上,观察可知笔画的交叉点的重心投影在一定范围内波动,通过人工观察多个图像可确定这个范围,以此将图像交叉点除去,留下笔画线上的粗点。
4 不同笔芯划线痕迹的检测试验
通过提取图像的多种特征值,将合格的样本与不合格的样本对比,从而得出合格样本特征值的阈值。同时,根据不合格样本的特征值,来确定不合格类型。合格样本特征值如表1所示。
表1 合格样本特征值
最大灰度值 |
平均灰度值 |
重量 |
标准差 |
面积 |
端点 |
粗点 |
168 |
40.939 |
1264500 |
35.021 |
30888 |
2 |
0 |
174 |
39.494 |
1328400 |
33.482 |
33636 |
2 |
0 |
189 |
40.504 |
1209500 |
36.624 |
29862 |
2 |
0 |
175 |
42.235 |
1239000 |
35.684 |
29335 |
2 |
0 |
188 |
41.447 |
1260400 |
36.376 |
30411 |
2 |
0 |
185 |
40.825 |
1226400 |
36.483 |
30041 |
2 |
0 |
192 |
44.827 |
1374500 |
34.774 |
30663 |
2 |
0 |
190 |
45.084 |
1364400 |
35.055 |
30263 |
2 |
0 |
193 |
46.548 |
1316400 |
37.094 |
28281 |
2 |
0 |
197 |
42.622 |
1195700 |
38.887 |
28053 |
2 |
0 |
202 |
47.213 |
1454200 |
36.679 |
30800 |
2 |
0 |
204 |
42.901 |
1253600 |
37.637 |
29222 |
2 |
0 |
203 |
48.267 |
1381000 |
37.97 |
28612 |
2 |
0 |
209 |
44.927 |
1281100 |
38.181 |
28515 |
2 |
0 |
其中,重量为每个划线图像上灰度值的叠加,不合格类型I:起笔不出墨。
如图9所示,笔芯在划线时在较长的距离上没有出墨,其图像的重量与面积明显小于正常水平。因此,通过重量与面积即可判定不合格。起笔不出墨特征值如表2所示。
图9 起笔不出墨样本
最大灰度值 |
平均灰度值 |
重量 |
标准差 |
面积 |
端点 |
粗点 |
210 |
44.836 |
106758.3 |
36.864 |
2376 |
2 |
0 |
不合格类型II:出墨不畅。
如图10所示,笔芯在划线纸上出现了中断,其图像的重量与面积略小于正常水平,且端点数量明显超过合格图像。因此,可以主要通过端点来判断。出墨不畅特征值如表3所示。
图10 出墨不畅样本
表3 出墨不畅特征值
最大灰度值 |
平均灰度值 |
重量 |
标准差 |
面积 |
端点 |
粗点 |
203 |
48.812 |
1212400 |
38.209 |
24838 |
6 |
0 |
不合格类型III:积墨。
如图11所示,笔芯在划线时出现了明显的积墨现象,其图像的重量与面积略大于正常图像,当与断点一同出现时,便难以判断错误类型。因此,需要统计粗点的数量,当粗点的数量大于或等于1且不出现在特定位置时,就判定为积墨。起笔不出墨特征值如表4所示。
图11 积墨样本
表4 起笔不出墨特征值
最大灰度值 |
平均灰度值 |
重量 |
标准差 |
面积 |
端点 |
粗点 |
196 |
43.857 |
1352200 |
36.513 |
30833 |
4 |
1 |
5 结论
生产自动化是制造业将来的发展方向。随着制笔业的日益发展,行业对自动化生产的要求也日渐提高,机器视觉技术运用的非常广泛。推进机器视觉技术在制笔业中的应用,有助于提高生产自动化的水平。本文提出的笔芯书写性能检测技术基于机器视觉,通过对笔芯的划线痕迹进行相关特征提取,实现了对不合格笔芯的筛选。同传统方法作对比,它具有效率高、精度高等优点,能够大幅提高生产线的良品率,展现出机器视觉的良好应用前景。
共0条 [查看全部] 网友评论