陶瓷膜表面缺陷的表征与分类研究
2018-09-21孙进,王宁,孙傲,丁煜
孙 进,王 宁,孙 傲,丁 煜
(1.扬州大学 机械工程学院,江苏 扬州 225127;2.扬州树人学校,江苏 扬州 225001)
陶瓷膜是一种新兴材料,随着科学技术的快速发展,已广泛应用于生物发酵、食物饮料、污水处理等领域.企业因批量生产的产品出现缺陷,需要对陶瓷基板图像进行预处理[1],常规的检测方法为人工检验,检测标准不统一,由于主观性和环境的影响,往往导致生产效率降低.
图1 实验流程图
近年来,伴随着计算机技术、电子技术的快速发展,基于机器视觉的自动化检测技术也得到了飞速的发展,为陶瓷膜表面检测提供了一种切实可靠的方案.采用“机器”代替人眼进行产品缺陷检测,已经成为未来检测行业的一个重要发展方向.机器视觉检测系统通过设计相应的光学成像系统,采用CCD等图像传感器对待测物进行图像采集,然后对采集的图像进行分析,可实现对待测物快速、高精度、客观地检测,已经广泛应用于表面缺陷检测、尺寸测量、目标检测等领域[2].2012年Zhou等[3]针对球体零件表面缺陷,选用了最先进的canny算子将图像的可搜区域缩到最小,确定了凸起、凹陷、剥落、磨蚀、被氧化这5种缺陷类型,并利用BP神经网络对这5类缺陷进行分类.进行陶瓷基板图像的自动缺陷检测需要依赖于经典的数字图像处理技术[4].由于陶瓷膜材料的特殊性,如今大多数研究都指向了微观纳米级的膜层(不在表面),支撑体对膜层提供机械性能的保证.支撑体的表面缺陷与一般工业材料相似,但特定的缺陷会对其膜层起到破坏性的作用,如裂纹、孔洞;而像划痕,落渣损伤这类的缺陷对膜层起的破坏作用几乎可以忽略不计.本文针对陶瓷膜的上述4个表面缺陷进行表征,以现有的图像处理的方法和理论为基础,通过对提取的缺陷图像进行处理和信息提取,获取信息并进行分类判断,以便能找到那些对其膜层起到破坏性作用的表面缺陷.
1 系统总体设计方案
本研究将机器视觉技术、MATLAB图像处理、基于MATLAB的概率神经网络分类技术等应用于陶瓷膜表面缺陷的表征与分类中.
对缺陷图像进行必要的预处理.此过程有灰度化、二值化、中值滤波、边缘检测等步骤;然后在已处理图片的基础上提取特征参数,导入Excel表格做成一个特征参数数据库;此后用BP概率神经网络作为分类器对缺陷图像训练,训练完成后对植物叶片分类.实验流程如图1所示.
由于彩色图片所包含的信息多,占用的存储空间大,计算机处理起来极为困难,再加上其特征较多,很难提取其中有用的信息.使用灰度化能使图片所占空间大大缩小,计算机处理更加方便.因此,利用图像灰度化能方便地处理特征和提高检测效率.
图像的二值化是将图像上的每个像素点的灰度置为0或255,这些缺陷图像在二值化处理后就只有黑与白两种颜色.比如一个裂纹缺陷,二值化后裂纹处为黑色,而其他部分则为白色.在数字图像处理中,二值化处理可以大大减少图像的数据量,使得重点区域的特征更加明显,为后面的边缘检测做了铺垫.
对图像进行阈值分割[5]是二值化的前提和关键,它需要选定一个阈值,对灰度化后的按照图像不同区域像素的值,小于所设阈值的分为一类,大于所设阈值的分为另一类.换言之,灰度图的阈值分割就是先确定某一阈值,然后实现对图像的二值化处理,从而得到处理后的二值化图像.其函数表达式为
(1)
式中:f(x,y)为原始图像函数,g(x,y)为二值化图像函数.
数字图像中可以用直方图的方式来表达每一灰度级与其灰度像素数量之间的统计关系.在直角坐标系中,通常用x轴坐标表示灰度级,y轴坐标表示灰度级频数,直方图可以用概率分布函数[6]表达:
(2)
式中:p(rk)是估计灰度级为rk的发生概率,n是图像中像素总数,L为图像的灰度值.
图2是落渣原始缺陷图像的直方图、灰度图、均衡化直方图和均衡图的对比,可以看出图像缺陷部分的位置和大小更加分明,通过缺陷图像可以直接读出其缺陷的类型,降低了检测人员辨别的难度,给后续的人工复检环节提供了便利.
图2 落渣原始缺陷图像的直方图、灰度图,均衡化直方图和均衡图的对比
边缘检测是图像特征提取的核心,它蕴含了如方向形状等信息,边缘是图像中局部特征如灰度、颜色、纹理结构等突变的反映.图像边缘检测大幅度地减少了数据量,并且剔除了认为不相关的量,保留了图像中的结构属性[7].陶瓷膜表面缺陷的图像边缘并不是连续的,沿着边缘走向的像素基本不变或变化幅度较小,垂直于边缘走向的像素则有明显的改变.检测出图像中的边缘点,然后将检测到的边缘点相互连接形成边缘轮廓,就可得到边缘图像[8].
在MATLAB中,可使用的边缘算子很多,其中一阶算子(梯度算子)常用的有Sobel、Prewitt、Robert算子等,二阶算子常用的有Log、Canny算子等[9].本文采用的Canny算子能更好地估计边缘强度,同时又有较好的单、双边定位精度,能平衡平滑噪声和边缘检测之间的相互关系.
2 BP神经网络训练
选用区域面积、长宽比(最小外接矩形)、区域周长、圆形度、最小外接矩形对角线长度、平均灰度等6个特征量来对缺陷进行分类.所提取缺陷样本的特征数据见表1.
表1 缺陷样本的特征提取数据
数据分类是数据挖掘的主要任务之一[10],而BP神经网络是神经网络在分类算法中使用最广泛的算法之一[11-12].BP网络是一种按误差逆传播算法训练的多层前馈网络,通过对BP神经网络原理和结构及算法的了解和探索,可以用BP神经网络算法来对陶瓷膜表面缺陷进行识别.在BP神经网络中实现BP神经网络学习算法的过程称为BP神经网络的训练过程,包括以下几个步骤:
1) 权值的初始化.通常可以用随机数给网络中的各个权值和阈值赋初值,以防止饱和,同时要求保证各初始的权值和阈值不尽相同.
2) 归一化处理.需要对输入采样特征值进行归一化处理,避免向量中极大值对极小值的影响,以降低计算的复杂性.一般将采样的特征值进行处理,让其处于特定范围内.
图3 BP神经网络模型训练结果
3) 网络结构的选择.本文采用典型三层BP神经网络实现缺陷识别.选取6个缺陷特征值作为BP神经网络的输入值;选择4个主要识别缺陷和构成的4个输出值作为BP神经网络的输出;根据经验公式BP神经网络的隐含层节点个数取5个,并对训练好的网络模型进行缺陷图像识别测试.
4) 相关参数的确定.需要设定学习系数、期望误差及最大迭代次数等,根据梯度下降法来找到误差收敛方向,选择神经网络的学习规则.
5) 设定输出期望值.根据BP神经网络的特点,在训练之前应该设定输出期望值.对不同类型的输入缺陷样本,分别设定一个输出向量,根据缺陷类别不同,最大限度分开其中输入的缺陷.图3为神经网络模型训练结果.当训练的次数为12时,训练结果收敛于1.306×10-5.
3 缺陷识别结果及分析
结束训练后,选测试网络训练,选取每种缺陷10个样本,共40个样本.于是随机选择32个数据作为训练对象,对8组数据进行检验,重复12次来求得最后的正确率.BP神经网络的分类识别结果如图4所示.12次分类正确率结果分别为100%,75%,75%,75%,87.5%,75%,50%,75%,87.5%,50%,100%,87.5%,平均正确率为78.125%.
图4 BP神经网络的分类识别结果
4 结语
基于机器视觉的陶瓷膜表面缺陷的识别、分类是研究的热点.本文研究了图像的形态学处理与缺陷图像的缺陷特征提取方法,提取了6个缺陷特征向量;对BP神经网络进行了简单介绍,并对40个采集的样本进行了多次测试.实验结果表明,BP神经网络分类识别的正确率达到78.125%,但对落渣、凹坑的缺陷分类识别效果不佳,应增加其特征向量个数,尤其是灰度特征、纹理特征、颜色特征等.