基于机器视觉的日用瓷表面缺陷检测
2014-10-30谢森林,曾辉,董晓庆
潮州市陶瓷生产历史悠久,是潮州三大经济支柱之一,特别是日用瓷、建筑卫生瓷,其出口量分别占全国的60%、30%,产品远销世界160多个国家和地区.陶瓷在生产过程中不可避免地会出现瑕疵(其中包括斑点、裂痕、起泡、变形等问题),其产生的原因,一方面是在陶瓷生产过程中,因泥釉过筛设备性能差或设备老化,在对泥釉料进行过筛处理后,泥釉料中仍含有过多过粗的有害杂质颗粒,导致烧结过程中不能全部熔融;另一方面是原料的配比、烧制温度和时间的控制不当等,造成产品表面缺陷[1-2].
对于这些缺陷,目前本地企业主要是根据缺陷的类型和大小,通过人工检查的方法来区分其等级,这种方法存在着检测效率低、准确性差且随意性大等问题.而传统的神经网络和SVM算法需要事先建立辨识模型,不能应对企业产品类型多的特点,且速度较慢.
本文运用图像识别技术,分析缺陷产品的特征和识别方法,提出一种日用瓷缺陷的识别方法,研制一套陶瓷表面缺陷在线检测系统.该系统采用同轴光照方式,CCD 为图像获取工具.根据地方企业生产的白釉面陶瓷的特点,将CCD获取的图像作均值滤波处理,以减少噪声干扰,再使用图像阈值分割提取初步陶瓷区域,然后使用形态学闭运算生成最终ROI,最后将ROI与经过分离中值滤波算法处理过的ROI进行对比,从而确定陶瓷的缺陷信息.
1 检测原理
基于陶瓷缺陷检测的特点与要求,机器视觉的陶瓷表面缺陷检测系统主要由图像采集部分、图像处理部分和运动控制部分等几个部分组成,如图1所示.图像采集部分一般由光源组成的照明系统、镜头、CCD摄像头等组成,而图像处理部分和运动控制部分则通过Halcon产生算子、VC++制作界面和调用算子来完成.在一定的光源照明条件下,定位检测器探测到物体已经运动至接近摄像头的拍摄中心,向摄像头发出启动脉冲,摄像头将图像转变成数字信号并保存在摄像头的FIFO内,从而保证图片的快速获取、保存和读取,然后由图像采集部分接收摄像机数字化后的数字图像信号(即原始图像)送入计算机内,图像处理单元对采集到的原始图像进行预处理、分析、识别,获得测量结果并输出逻辑控制值控制执行部分流水线的动作.
图1 检测系统基本结构图
图像获取是图像处理的基础和关键,要对图像进行处理,第一步就是需要通过合适的成像系统,尽可能获得好的图像.图像质量的好坏直接关系到图像处理系统的稳定性,决定了图像处理是否会成功.一幅好的图像可以简化图像处理的过程,相反,一幅差的图像也会增加图像处理的难度,甚至使系统无法做出正确的判断.为搭建出用于本课题研究的陶瓷斑点检测系统,首先需要合理选择系统的图像成像、图像采集及图像处理等硬件部分.
2 照明方式
不同的光源和照明方式对于检测效果的影响是不同的[3],为了尽量突出被检测陶瓷缺陷的特征,避免干扰,应该选择恰当的照明方式用于检测.根据相机、光源、被测物体之间的位置关系不同,照明方式主要分为:直接照明、背光照明、同轴照明三种不同方式.其中背光照明主要用于检测尺寸,直接照明和同轴照明都可用于检测物品表面特征.从实验结果来看,直接照明亮度高,照明效果好,但是对于上釉的陶瓷器来说,容易形成光斑,影响辨识效果.而同轴照明方式指将光源置于相机与被测物之间,LED的高强度均匀光线通过半镜面后成为与镜头同轴的光,具有特殊涂层的半镜面可以抑制反光和消除图像中的重影,同轴光照明主要用来检测表面光滑的物体,能够清楚的显示出表面特征和减少阴影.通过以上分析及实验结果可知,针对陶瓷表面斑点的检测,在LED灯作为照明光源条件下,从陶瓷表面可以得到基本信息,由于陶瓷表面光滑,且具有反光性质,可以采用同轴照明方式对陶瓷进行照明,以清楚检测物体的表面特征并避免成像时产生光斑.因此最终选择使用LED灯的同轴照明方式.
3 陶瓷斑点检测算法
首先从采集得到的原始图像中提取初步的陶瓷物体区域(即初始感兴趣区域),然后对初始感兴趣区域进行形态学处理得到最终感兴趣区域,最后通过滤波处理,并计算原始感兴趣区域与处理后感兴趣区域的灰度差,根据各像素点灰度差的大小即可得出检测结果.算法流程如图2所示.
图2 陶瓷斑点检测系统图像处理流程图
3.1 图像平滑
在图像采集以及后期传输的过程中,容易引入外界的干扰噪声,从而使图像的原始特征信息被湮灭.有时在模拟图像进行数字转换的过程中也会引入噪声.这些干扰可能会使原始图像中连续的均匀分布的灰度在某点突然变大或者陡然减小,这是在物体轮廓边缘才能够发生的灰度陡变.为了避免出现这种情况,要采取一定的措施来消除噪声,提高图像质量.在这里使用均值滤波,滤波效果取决于滤波窗口的大小,滤波窗口越大,滤波结果图像越模糊,这里采用3×3的矩阵滤波窗口,采集到的图片和滤波结果如图3、图4所示.
图3 采集到的陶瓷图像图
图4 均值平滑滤波预处理后陶瓷图像图
3.2 目标图像边界提取
需要从滤波图像中分割提取陶瓷目标区域,设(x,y)是采集到的二维数字图像R的平面坐标,图像灰度级的取值范围是G={0 ,1,2,…L-1} (0 代表最暗的像素点,L-1 代表最亮的像素点),位于坐标点(x,y)上的像素点的灰度值表示为f(x,y).设阈值t 为一个灰度范围[tmin,tmax],于是图像函数(x,y) 在阈值t 上的分割结果输出区域S 可以表示为
由于使用同轴光照明,图片上不会产生阴影和光斑,利用黑色的垫板作为背景,而陶瓷本身偏为白色,不难找到一个合适的阈值,为了分割结果输出陶瓷区域,采用阈值tmin=50,tmax=250.处理后结果如图5所示.
图5 阈值分割出的陶瓷目标区域图
3.3 闭运算提取感兴趣区域
由于部分陶瓷斑点等瑕疵的颜色与背景颜色接近,使用图像阈值分割的方法不能完全提取陶瓷区域,通过调用形态学闭运算将斑点归为目标区域.在图像中陶瓷斑点是位于陶瓷区域的内部,如图6(a)所示,灰色区域表示提取到的初步陶瓷区域S(目标区域),白色区域表示斑点或背景区域,由于闭运算可以填充原图像中的凹入部分或空洞部分,本文采用闭运算对图像进行处理,过程如图6所示,经过闭运算后初步陶瓷区域S包含的斑点区域归为目标区域,而背景区域保持不变.处理后结果如图7所示.
图6 陶瓷区域闭运算过程图
图7 闭运算后的陶瓷目标区域图
3.4 行列分离中值滤波
此时已经把图像中陶瓷区域完全分割出来,接下来则对分割陶瓷区域进行处理,本文采用行列分离中值滤波算法对提取的陶瓷区域(目标区域)进行滤波,行列分离中值滤波算法运算速度比传统的中值滤波快,因为每次的矩形滤波窗口的宽度都是一个像素点的宽度,运行时间主要取决于矩形滤波窗口的长度,行列分离中值滤波在纹理滤波需要很大滤波窗口的情况下非常适用.通过对比实验和分析,发现行列分离中值算法对提取斑点、抑制光斑很有效果.滤波前后图像如图8所示.矩形滤波窗口长度越大时,图像越模糊,通过试验得出水平和垂直的矩形滤波窗口长度都为7时效果最佳,处理后结果如图8所示.
图8 行列分离中值滤波前后的陶瓷目标区域图
3.5 缺陷检测
最后计算图像中各像素点滤波前与滤波后灰度的变化差,根据灰度差的大小与偏移量Off⁃set 进行比较,根据比较结果判定像素点是否属于斑点区域,处理结果如图9.其中参数Offset的设定对处理结果影响比较大,如果Offset选择太小,容易把非斑点区域误判为斑点区域,反之则容易漏判斑点区域,这里将偏移量Offset设置为20.
图9 陶瓷斑点检测处理结果图
4 结语
本文根据白釉面陶瓷的特点,提出一种陶瓷表面缺陷在线检测系统的检测方法.该方法首先提取目标边界,利用图形形态学闭运算获取ROI(感兴趣区域),再将ROI与经过分离中值滤波算法处理过的ROI进行对比,从而确定陶瓷的缺陷信息.实验表明:该方法检测速度快(系统的检测效率超过3个熟练工人),准确度高(低于4%的误报率),且不像传统的神经网络和SVM算法需要建模,可以满足当地企业生产陶瓷种类多外形不定的检测要求.
[1]梁钜兵,卢玉厚.瓷器斑点产生的原因及预防[J].陶瓷工程,2000,34(2):35-36.
[2]徐子芳.浅谈瓷器斑点的成因及克服方法[J].山东陶瓷,2004,27(5):30-32.
[3]张巧芬,高健.机器视觉中照明技术的研究进展[J].照明工程学报,2011(22):231-37.
[4]黄河,李庆武,范习健.采用局部动态阈值的图像分割算法[J].光电子技术,2011,31(1):10-13.
[5]HOU Z LI J H,PARKER J M.Real-time Automated Visual Inspection of Fabrics Inhomogeneities[J].Proceedings of the 2005 IEEE/ASME International Conference on Advanced Intelligent Mechatronics.2005:360-365.
[6]BAHLMANN C, HEIDEMANN G, RITTER H.Artificial Neural Networks for Automated Quality Control of Textile Seams[J].Pattern Reconnition,1999,32:1049-1060.