一种产品表面缺陷检测方法、电子设备及可读存储介质与流程

文档序号:20357651发布日期:2020-04-10 23:27阅读:109来源:国知局
一种产品表面缺陷检测方法、电子设备及可读存储介质与流程

本发明涉及一种产品检测方法,尤其涉及一种产品表面缺陷检测方法、电子设备及可读存储介质。



背景技术:

物体表面的缺陷对于物体质量存在直接的影响,同时也影响到用户使用体验,尤其对于一些精度要求较高、使用场景特殊的物体,表面有无缺陷直接决定了物体能否进入市场。例如主要用于心脑血管介入手术治疗的扩张球囊,是一种常见的介入手术器械,其作用是扩张狭窄的血管或其他管腔以及支架系统。球囊质量问题关乎患者生命安全,如在使用过程中发生破裂,可能给患者造成难以估计的损伤。随着智能制造能力的提升,球囊产品的生产效率快速提升,传统人工肉眼观察来检测产品有无缺陷的方法早已不能满足大规模生产的需求,所以期望开发一套全自动智能检测方法,以提高产品检测效率。

虽然目前已经有了一些智能检测技术,但全自动智能检测仍然是球囊等工业产品生产中一项具有挑战性的任务。其原因是工业产品外形各色各样,表面缺陷形状大小纹理也不尽相同,单一算法或满足特定条件的检测方法显然不能解决实际问题。目前缺陷检测方法主要以人工质检和计算机辅助质检两种,其中计算机辅助的缺陷检测技术主要分为两种:基于传统的特征提取和基于深度学习的目标检测方法,目前公开的技术方案存在如下问题:

(1)人工表面缺陷检测需要经验丰富的员工进行操作,对工厂而言面临着员工难招、培训时间长、流动性大等问题。

(2)基于传统特征提取的技术效果优劣取决于能否有效提取到缺陷的特征,这一点难以保证,且需要花费大量的时间。而且,这种技术只能针对特定的产品,鲁棒性和技术拓展性都比较低。

(3)基于深度学习的缺陷检测方法需要大量的数据作前期训练,但在实际场景中,缺陷品占比很低,很难在短时间内找到大量数据集进行训练。而且单一使用深度学习算法容易忽略产品上不起眼的缺陷点,造成假阴性检测结果。



技术实现要素:

本发明的目的在于提供一种产品表面缺陷检测方法、电子设备及可读存储介质,以提高产品检测效率,降低将缺陷品误判为良品的概率。

本发明为解决上述技术问题而采用的技术方案是提供一种产品表面缺陷检测方法,s1:获取待测产品的图像;s2:将所述待测产品的图像输入到第一处理模块和第二处理模块中进行并行检测;如果第一处理模块和第二处理模块均认定为良品时,则判定所述待测产品为良品;如果第一处理模块和第二处理模块至少一者判定所述待测产品为疑似缺陷品时,则进入步骤s3;s3:对疑似缺陷品进行复查。

优选地,所述步骤s2中的所述第一处理模块为训练好的二分类神经网络模型,所述第二处理模块为基于图像处理的缺陷点定位算法,所述缺陷点定位算法采用第一预设面积阈值对所述待测产品的图像进行处理以判定所述待测产品是否为良品。

优选地,所述二分类神经网络模型模型的训练步骤包括:s211:对现有产品的原始数据进行增强处理后,将现有产品分为良品和缺陷品;s212:将步骤s211处理后的数据输入到神经网络进行训练,初始化所述神经网络的权重参数和偏置参数;s213:使用标注为良品和缺陷品的目标产品数据对所述神经网络进行训练,更新所述神经网络的权重参数和偏置参数,得到针对所述目标产品的训练后的二分类神经网络模型模型。

优选地,所述步骤s211中对现有产品的原始数据进行增强处理的步骤,包括对所述原始数据进行旋转、缩放和对比度增强,以将数据量进行扩充。

优选地,所述步骤s213中利用损失函数和梯度下降法更新所述神经网络的权重参数和偏置参数,所述损失函数和梯度下降法的公式如下:

l=||g(x)-y||2=∑i(c(xi)-yi)2(6)

式(6)为所述损失函数的表达式,其中l是损失函数值,g(x)、g(xi)是网络输出值,y、yi是标签值;

式(7)为所述梯度下降法的表达式,其中wi+1是待更新的神经网络权重,α是学习率,是损失函数值对权重wi的一阶导数。

优选地,所述基于图像处理的缺陷点定位算法采用自适应的梯度检测算法,将针眼、砂眼、白斑、亮点和异物五种缺陷点进行梯度检测,并使用连通域分析找出五种所述缺陷点的相应位置,并计算出所述缺陷点的外接矩形,确定所述缺陷点的位置。

优选地,所述梯度检测算法包括以下步骤:

s221:输入所述待测产品的图像,对所述待测产品的图像进行均值滤波操作,去除噪点,均值滤波公式如下:

式(8)中,width和height分别是与卷积核大小对应的宽和高,经过滤波后,中心点像素值变为卷积核对应的平均值;

s222:使用自适应阈值算法对滤波后的所述待测产品的图像进行二值化,其中设置自适应区域block值为奇数,且所述block值为图像长和宽中较小值的1/40取整后的数值或取整后的数值加1;阈值法公式如下:

式(9)中,f(x,y)为图像上某一点变换前的灰度值,t为阈值,在卷积核大小的范围内,高于阈值的灰度值变为白色255,低于阈值的部分变为黑色0;

s223:使用先膨胀后腐蚀的形态学操作填充孔洞,连接邻近的点,膨胀和腐蚀公式如下:

其中,式(10)为膨胀公式,式(11)为腐蚀公式,a为待测产品图像二值化后产生的图像;b为结构元素,所述结构元素为矩形、十字形、椭圆形或圆形;

s224:对所述步骤s223处理后的待测产品的图像进行连通域查找,将边缘以及缺陷点面积大于第一预设面积阈值的缺陷点查找出来,然后通过设置像素点范围,排除边缘,确定缺陷点;

s225:将所述步骤s224查找出的所述缺陷点进行外接矩形计算,得出外接矩形的四个顶点坐标,从而确定所述缺陷点的位置。

优选地,当所述步骤s2中所述第一处理模块认定所述待测产品为良品时,输出对应的置信度大于0.95。

优选地,所述步骤s3包括步骤s31;如果步骤s2中所述第二处理模块认定所述待测产品为良品而所述第一模块判定为疑似缺陷品,复查时将所述疑似缺陷品的图像再次输入到所述基于图像处理的缺陷点定位算法中运算,如果找到缺陷点且缺陷点面积小于第二预设面积阈值则判定为良品,否则判定为疑似缺陷品并输出缺陷点位置坐标后对所述疑似缺陷品继续复查;其中所述第二面积预设阈值小于所述第一面积预设阈值。

优选地,如果复查时未找到缺陷点,则发出转为人工判断的提醒。

优选地,还包括步骤s41:根据所述缺陷点位置坐标裁剪疑似缺陷点图像,计算裁剪后的疑似缺陷点图像的面积,如果面积小于第三预设面积阈值则判定为良品,否则判定为疑似缺陷品。

优选地,所述步骤s3包括步骤s42;如果步骤s2中基于图像处理的缺陷点定位算法认定所述待测产品为缺陷品,则输出疑似缺陷点位置坐标,根据所述坐标裁剪疑似缺陷点图像,计算裁剪后的疑似缺陷点图像的面积,如果面积小于第三预设面积阈值则判定为良品,否则判定为疑似缺陷品。

优选地,还包括步骤s5:将所述步骤s41或s42判定为疑似缺陷品的裁剪后的疑似缺陷点图像输入到训练好的多分类神经网络工程模型中,输出其缺陷类型。

优选地,所述步骤s5中多分类神经网络工程模型的训练步骤包括:s51:使用卷积神经网络作为基础网络,并使用归一化指数函数作为分类器来计算输入的图像属于某一类的概率,搭建多分类神经网络;s52:使用标注为针眼、砂眼、白斑、亮点、异物五类的目标产品图像对所述多分类神经网络进行参数训练,保存训练后的模型,得到多分类神经网络工程模型。

优选地,所述待测产品为球囊、金属材料、电子产品屏幕、玻璃及玻璃产品、管状物或塑料制品。

本发明为解决上述技术问题还提供一种电子设备,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现任一项上述方法。

本发明为解决上述技术问题还提供一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现任一项上述方法。

本发明对比现有技术有如下的有益效果:本发明提供的产品表面缺陷检测方法、电子设备及可读存储介质采用了两种算法并行处理,其一是基于神经网络和迁移学习搭建的二分类神经网络模型,其二是基于传统图像处理的缺陷点检测算法,两个算法并行执行,只有两者同时满足良品才确定为良品,否则为疑似缺陷品送入复查流程,提高了产品检测效率,降低了将缺陷品误判为良品的概率。同时本发明提供的检测方法即发挥了神经网络对光照、旋转的不变性优势,也发挥了传统图像处理中对灰度变化敏感的优势,解决了小数据集下缺陷品和良品的二分类问题。特别是基于传统图像处理的缺陷点定位算法,通过连通域分析和计算,获得缺陷点的最小外接矩形坐标,从而精确定位缺陷所在位置。

附图说明

图1为本发明实施例中物体表面缺陷检测的流程图;

图2为本发明实施例中二分类神经网络模型的训练及运行流程图;

图3为本发明实施例中基于图像处理的缺陷点定位流程图;

图4为本发明第一实施例中疑似缺陷品的复查流程图;

图5为本发明第二实施例中疑似缺陷品的复查流程图。

具体实施方式

下面结合附图和实施例对本发明作进一步的描述。

在以下描述中,为了提供本发明的透彻理解,阐述了很多具体的细节。然而,本发明可以在没有这些具体的细节的情况下实践,这对本领域普通该技术人员来说将是显而易见的。因此,具体的细节阐述仅仅是示例性的,具体的细节可以由奔放的精神和范围而变化并且仍被认为是在本发明的精神和范围内。

为了实现上述目的,本实施例以球囊产品的表面缺陷检测为例具体说明,但是具体应用时,本发明所要保护的产品表面缺陷检测方法不仅限于球囊产品的表面缺陷检测,也适用于例如金属材料、电子产品屏幕、玻璃及玻璃产品、管状物、塑料制品等物体的表面缺陷检测。

对于质量检测部门而言,最关心的问题是如何将生产出的产品正确的分为良品和缺陷品,良品直接进入下一道工序,缺陷品淘汰或者返回到上一道工序进行再加工,其核心问题是无假阴性出现,即缺陷品误判为良品。为此,本发明提供的产品表面缺陷检测方法基于神经网络和迁移学习的二分类神经网络模型和基于传统图像处理的缺陷点定位算法,两者并行运算,只有两者同时认定为良品才判定为良品,否则就判定为疑似缺陷品进入复查环节。

实施例1

请参见图1,本实施例提供的球囊产品的表面缺陷检测方法步骤如下:

步骤s1:使用工业相机对球囊进行拍照,获取待测球囊的图像;

步骤s2:将所述待测球囊的图像输入到训练好的二分类神经网络模型和基于图像处理的缺陷点定位算法中并行运算,所述缺陷点定位算法中采用第一预设面积阈值判定所述待测球囊是否为良品;如果训练好的二分类神经网络模型和基于图像处理的缺陷点定位算法两者均认定为良品时,则判定所述待测球囊为良品,否则判定所述待测球囊为疑似缺陷品进行复查。

下面分别就二分类神经网络模型的训练和基于图像处理的缺陷点定位算法进行具体说明:

(1)基于神经网络和迁移学习的二分类神经网络模型

神经网络的优势是对光照,旋转具有不变性,鲁棒性好,但需要大量的数据进行训练。由于工业产品中缺陷品数量少,本发明首先对现有产品的原始数据进行增强处理,扩充数据,然后将增强后的数据分为良品和缺陷品两类输入到神经网络中进行训练并改进,最终得到训练后的模型即为二分类神经网络模型,二分类神经网络模型可用于判断良品与缺陷品。本实施例优选采用imagenet数据集提供现有产品的原始数据,imagenet数据集为机器视觉最大的数据集,由上千万张照片组成;本实施例的神经网络优选为inceptionv3网络,inceptionv3网络为一种开源神经网络分类算法。为了提高识别准确率,本发明使用了迁移学习的思想,利用大数据如imagenet数据集学习到的特征提取能力,对小规模数据如球囊图像数据进行特征提取;也就是将使用imagenet数据集对网络模型进行预训练,然后使用训练后的参数对inceptionv3网络进行权重初始化,在训练时固化前面层,只训练最后例如三层及分类器。

请参见图2,二分类神经网络模型的具体训练及运行流程如下:

步骤s211:对采集到的球囊数据集中的原始数据进行旋转、缩放、对比度增强,将数据量扩充为原来的四倍,并将扩充后的球囊数据人工标注为良品和缺陷品两类,数据扩充公式如下:

x2+y2=x12+y12=r2(1)

x1=xcos(a)+ysin(a)(2)

y1=ycos(a)-xsin(a)(3)

x2=kxy2=ky(4)

式(1)-(4)中,x,y为原图坐标点,x1,y1及x2,y2分别为经过旋转和缩放后的坐标点,a为旋转角度,k为缩放比例。

式(5)为图像对比例增强使用的gamma变换,其中vout是经过变换后的图像灰度值,vin是变换前原图的灰度值,γ是变换因子,当γ<1时,经变换后图像变暗,当γ>1时,经变换后的图像变亮。

步骤s212:将步骤s211处理后的数据输入到inceptionv3神经网络进行训练,初始化inceptionv3神经网络的权重参数weight和偏置参数bias,训练时将该网络卷积层、池化层及inception模块前面层进行固化,不调整参数,只训练最后三层及分类器。

步骤s213:使用标注为良品和缺陷品的球囊图片数据对步骤212得到的inceptionv3网络进行训练,更新inceptionv3网络的权重参数和偏置参数,最终得到球囊二分类神经网络模型;同样,训练时将该网络卷积层、池化层及inception模块前面层进行固化,不调整参数,只训练最后三层及分类器。利用损失函数和梯度下降法更新inceptionv3网络的权重参数和偏置参数,损失函数和梯度下降法的公式如下:

l=||g(x)-y||2=∑i(g(xi)-yi)2(6)

式(6)为损失函数表达式,其中l是损失函数值,g(x)、g(xi)是网络输出值,y、yi是标签值。

式(7)为梯度下降法表达式,其中wi+1是待更新的神经网络权重,α是学习率(权重weight每次更新的步幅),是损失函数值对权重的一阶导数。

在实际运行阶段,将待测球囊图片输入到步骤s213生成的二分类神经网络模型中,经过模型计算,最终即可输出待检测球囊图片是良品还是缺陷品,以及对应的置信度。

(2)基于图像处理的缺陷点检测算法

产品表面缺陷种类多,形状、大小、纹理各异,其中针眼、沙眼、白斑、亮点四类缺陷的共同点是与背景相比有明显灰度值梯度变化,本实施例中采用自适应的梯度检测算法,即将针眼、砂眼、白斑、亮点、异物五种缺陷点进行梯度检测,并使用连通域分析找出以上五种缺陷点的相应位置,并计算出缺陷点的外接矩形box,以定位缺陷,从而找到缺陷点所在位置。

请参见图3,梯度检测算法具体分为以下步骤:

步骤s221:输入待测球囊图像,对图像进行滤波去噪,去除极小的噪点,均值滤波公式如下:

式(8)中,width和height分别是与卷积核大小对应的宽和高,经过滤波后,中心点像素值变为核对应的平均值。

步骤s222:使用自适应阈值算法对图像进行二值化,本实施例中自适应区域block值设置为55,所述block值为奇数,且所述block值为图像长和宽中较小值的1/40取整后的数值或取整后的数值加1;具体地,如果图像长和宽中较小值的1/40为奇数且为整数,则block值为图像长和宽中较小值的1/40;如果图像长和宽中较小值的1/40为非整数,则为取整后的奇数,如果图像长和宽中较小值的1/40为偶数或取整后为偶数,则在该数值上加1,如图像尺寸为400*600,则block值优选为11(400*1/40+1),目的是将产品边界和产品表面梯度变化比较大的缺陷点标记出来,阈值法公式如下:

式(9)中,f(x,y)为图像上某一点变换前的灰度值,t为阈值,在卷积核大小的范围内,高于阈值的灰度值变为白色255,低于阈值的部分变为黑色0。

步骤s223:使用先膨胀后腐蚀的形态学操作填充孔洞,连接邻近的点,膨胀和腐蚀公式如下:

式(10)为膨胀公式,式(11)为腐蚀公式,其中a为待处理的二值图像;b为结构元素,常见的结构元素有矩形、十字形、椭圆形、圆形等。

步骤s224:对步骤223处理后的图像进行连通域查找,用于将边缘以及较大的缺陷点查找出来,然后通过设置像素点范围,排除边缘,例如边缘处面积大于5000个像素点,以防止将边缘误判为缺陷点。

将步骤s224查找出的连通区域(也就是缺陷点)进行外接矩形计算,得出外接矩形的四个顶点坐标,进而确定缺陷点的位置。

(3)二分类神经网络模型和基于图像处理的缺陷点检测算法并联检测

此步骤的核心是将步骤s2中的二分类神经网络模型和基于图像处理的缺陷点检测算法进行并联,在实际检测时,只有二分类神经网络模型判定为正样本(良品)且缺陷点梯度检测也判断为正样本(无box)的产品,才认为是正样本(良品),否则为负样本(疑似缺陷品),进入复查环节。这样的方法不仅提高了检测效率,也极大的降低了将负样本误判为正样本的概率,实测误判率降低到5‰以下。

在实际执行中,当二分类神经网络模型输出良品的置信度大于0.95,且基于图像处理的缺陷点检测算法没有检测到连通域(缺陷点)时,系统认为此产品属于良品(即两种算法检测都通过),进入下一环节,否则为疑似缺陷品,进入复查步骤。

通过本发明的并行检测,两种检测方式同时检测通过判定为良品的方式可以大大降低假阴性(缺陷品误判为良品)的出现,对于保障产品安全有重大意义。

步骤s3:对疑似缺陷品进行复查。在实际产线质量检测过程中,对疑似缺陷品需要进行复查,以尽可能降低误判率。请参见图4,本实施例的复查环节包括如下步骤:

步骤s31:如果步骤s2中基于图像处理的缺陷点定位算法判定所述待测产品球囊为良品,而二分类神经网络模型判定所述待测产品球囊为缺陷品,复查时将所述疑似缺陷品图像再次输入到基于图像处理的缺陷点定位算法中运算,如果找到缺陷点且缺陷点面积小于第二预设面积阈值则判定为良品,否则判定所述待测产品球囊为疑似缺陷品并输出缺陷点位置坐标继续进入步骤s41进行复查;其中所述第二面积预设阈值小于所述第一面积预设阈值。复查时如果未找到缺陷点,则发出转为人工判断的提醒。

步骤s41:根据步骤s31的所述缺陷点位置坐标裁剪疑似缺陷点图像,计算裁剪后的疑似缺陷点图像的面积,如果面积小于第三预设面积阈值则认为目标极小,判定所述待测产品球囊为良品,否则判定所述待测产品球囊为疑似缺陷品进入步骤s5复查。第三预设面积阈值可以由质检人员根据具体情况来确定,例如50个像素值。

步骤s5:将步骤s41裁剪后的疑似缺陷点图像输入到训练好的多分类神经网络工程模型中,进而得出裁剪的图片属于五类缺陷中哪一类,以进行更加精确的缺陷判定以及为后续的改进方案提供参考;如果判定疑似缺陷点不属于五类缺陷中的任何一类,则发出转为人工判断的提醒。该方法对各类缺陷分类的准确率达到98%以上,不仅解决了疑似缺陷品复查的问题,同时对缺陷点的分类统计可以进一步指导生产线的技术改进。

依据人工复查过程,本发明在一些实施方式中设计了基于多分类神经网络的全自动算法,多分类神经网络模型的具体训练步骤如下:

步骤s51:使用卷积神经网络作为基础网络,例如其中包括10层卷积,10层池化,3层全连接,并使用归一化指数函数(softmax)作为分类器来计算输入的图像属于某一类的概率,进而执行多任务分类,其中softmax公式如下:

式(12)中,pi为输入的图像属于i分类的概率,其值介于0到1之间,ei为输入的图像经网络计算后属于i分类的结果,ej为属于j分类的计算结果。

步骤s52:使用标注为针眼、砂眼、白斑、亮点、异物五类的球囊产品图像,对所述多分类神经网络进行参数训练,训练神经网络内部参数,即权重weight和偏置bias,保存训练后的模型,得到多分类神经网络工程模型。

实施例2

本实施例的步骤s1、步骤s2与实施例1均相同,不同的是步骤s3中的复查步骤,请参见图5,本实施例的复查环节不包括实施例1的步骤s31和步骤s41,但包括如下步骤s42:

步骤s42;如果步骤s2中基于图像处理的缺陷点定位算法判定所述待测产品球囊为缺陷品,则输出疑似缺陷点位置坐标,根据所述疑似缺陷点位置坐标裁剪疑似缺陷点图像,计算裁剪后的疑似缺陷点图像的面积,如果面积小于第三预设面积阈值则认为目标极小,判定所述待测产品球囊为良品,否则判定所述待测产品球囊为疑似缺陷品进入步骤s5复查。第三预设面积阈值小于第一、第二预设面积,可以由质检人员根据具体情况来确定,例如50个像素值。

步骤s5及多分类神经网络模型的训练步骤s51、s52均与实施例1相同,本实施例不再赘述。

实施例3

本实施例提供一种电子设备,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现实施例1或/和实施例2的检测方法。

实施例4

本实施例提供一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现实施例1或/和实施例2的检测方法。

综上所述,本发明至少可产生如下技术效果:(1)使用基于神经网络的二分类网络与基于图像处理的缺陷点检测算法并行检测的方法,即发挥了神经网络对光照、旋转的不变性、深度学习的强鲁棒性优势,也发挥了传统图像处理中对灰度变化敏感的优势;解决了小数据集下缺陷品和良品的二分类与缺陷点准确定位问题;同时大大降低将缺陷品误判为良品的概率,对于保障产品安全有重大意义;(2)设计了针对疑似缺陷点进行复查的全自动算法,通过计算疑似缺陷点的面积,将低于某一阈值的疑似缺陷品重新定义为良品。通过设置不同的阈值就可对疑似缺陷品进行复查,筛选出合格品以及判断出缺陷品的所属类别,该方法可以大幅降低产品误判率;(3)实现从输入产品图像到输出结果的全自动检测,无需人为参与,可明显提高工业生产效率,对于工业产品表面缺陷的智能化质量检测有重大意义。(4)搭建了一个多分类神经网络,将识别出的缺陷点输入多分类神经网络中,经过分类器处理后输出缺陷类型,对各类缺陷分类的准确率达到98%以上,不仅解决了疑似缺陷品复查的问题,同时对缺陷点的分类统计可以进一步指导生产线的技术改进。

虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1