一种工件缺胶检测方法与流程

文档序号:17094000发布日期:2019-03-13 23:42阅读:268来源:国知局
一种工件缺胶检测方法与流程

本发明涉及一种计算机视觉技术领域,特别是涉及一种工件缺胶检测方法。



背景技术:

随着工业产品对质量要求的提高、自动化检测的普及,工业中对工件缺陷的自动检测越来越重视,因而需要一种可靠、快速、通用的检测方法。

近年来,表面缺陷检测技术得到了迅速发展。现有的表面缺陷检测技术有统计法、频谱法和模型法等。在统计法中,灰度值的空间分布可以由灰度共生矩阵、自相关系数、数学形态学、直方图统计特征和分形体等特征描述。基于直方图统计特征的表面缺陷检测方法的前提是缺陷区域的灰度与正常区域的灰度是可分离的;灰度共生矩阵通过计算图像中一定距离和一定方向的两个像素之间的灰度相关性来获取,描述了纹理的空间分布,描述纹理的灰度共生矩阵的二阶统计特征有能量、熵、对比度、一致性和相关性,这就涉及到专门的特征选择问题;自相关法特征产生的基础是一些特征在本质上是重复性的,因而自相关函数不适合随机纹理;数学形态学提取图像的轮廓、骨骼等有效信息来描述区域的形状,基于形态学的缺陷检测方法对缺陷的大小和形状敏感;在频谱法中,表面缺陷的特征可以由傅里叶特征、小波特征、gabor特征来描述等。

以上方法为传统的图像处理方法,这类算法适合于紧密工件的外形形变检测,结合图像本身的特征提取特征,进而根据特征进行缺陷检测,因此该类方法要求图片特征明显,对图片的质量要求较高,但因工厂环境复杂,光照不均,油污等影响,在流水线上采集的图片的质量并不能满足该方法的要求,其实现效果并不理想。

归其原因是由于工厂环境复杂,工件种类越来越多,尺寸越来越小,存在多种因素影响图片的质量。此外,工厂正样本多,而缺陷样本不足,也给缺胶检测带来一定难度。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种工件缺胶检测方法。

为了实现本发明的上述目的,本发明提供了一种工件缺胶检测方法,该方法包括以下步骤:

s1,计算最佳分割阈值,获得预处理图像的二值图;

s2,获得所述二值图的模板图;

s3,提取所述模板图中的目标轮廓信息;

s4,根据所述目标轮廓信息圈定目标区域;

s5,将目标区域进行k等分,所述k为不小于2的正整数,作为训练数据集;增加训练集图片的数量,防止过拟合。

s6,将图像输入到神经网络,进行分类,得到缺陷检测结果。

在本发明的一种优选实施方式中,步骤s5中,k=k2,所述k为偶数。将目标区域划分的更加的均匀。

在本发明的一种优选实施方式中,步骤s1中,获得二值图的方法包括以下步骤:

s11,建立图像灰度直方图:

其中,i为灰度级,l为灰度级个数,ni表示灰度级为i的像素数,n为图像中像素总数,pi为每个灰度级出现的概率;

s12,计算背景和目标出现的概率:

其中,t为所选定的阈值,a表示背景,pa为背景出现的概率,b表示目标区域,pb为目标区域出现的概率;

s13,计算目标区域以及背景区域的类间方差:

其中,ωa为背景像素点占整幅图像的比例,ωb为目标像素点所占的比例,ω0为全局平均灰度值,σ为类间方差值;

s14,当背景与目标的类间灰度方差最大时,此时所选定的阈值t就是最佳分割阈值。将预处理图像处理成最佳的二值图。

在本发明的一种优选实施方式中,在步骤s14之后还包括,

s15,统计二值图里面像素值为1的个数x和像素值为0的个数y,如果x大于y,则二值图进行取反;否则,二值图不变。

在本发明的一种优选实施方式中,步骤s2中,获得模板图的方法包括以下步骤:

s21,扫描二值图中的每一个像素,用结构元素b与其覆盖的二值图像素做“与”操作,如果都为1,则图像的该像素为1,否则为0;

s22,通过获得的连通域的长宽比排除其他的连通域,获取中间圆形连通域的矩形边界,其中,矩形边界的宽为w,长为l;

s23,以矩形边界的中心为圆心,在w×0.5为半径的区域内,将像素点为0的变成1,获得最终的模板图。有利于排除噪声影响。

在本发明的一种优选实施方式中,步骤s3中,获得目标轮廓信息的方法包括以下步骤:

s31,在模板图上使用sobel的过滤器,获得图像的梯度方向和大小:

magnitude为梯度大小,direction为梯度方向,gx表示x方向上的梯度,gy表示y方向上的梯度;

s32,在找到边缘方向后,在边缘方向跟踪左和右的像素,如果它小于左和右像素的大小,则令当前的像素为0;

s33,用第一阈值来标记这些边缘,从这些边缘开始,使用获得的边缘方向信息,跟踪用第一阈值标记的边缘;用第二阈值找到起始点跟踪边缘的模糊部分;其中第一阈值大于第二阈值;

s34,在提取边缘后,保存所选边的x和y的导数,以及作为模板模型的坐标信息,将这些坐标重新排列,获得轮廓信息。

在本发明的一种优选实施方式中,步骤s4中,圈定目标区域的方法包括如下步骤:

s41,根据获得的边缘信息,计算出边缘上点的梯度;

s42,计算出梯度后,得到m条垂直于对应点切线的直线,所述m为边缘上点的个数,m条直线上所有点组成一个二维数组a,将数组a中出现频率最高的点作为圆心;

s43,计算边缘上点到该圆心的距离,若某个距离出现次数最高,则将该距离作为圆的半径,得到初步目标区域。

在本发明的一种优选实施方式中,在步骤s43之后还包括,

s44,扩大圆的半径,将待检测的缺胶部分都包含在目标区域中,从而得到最终目标区域。

在本发明的一种优选实施方式中,扩大圆的半径的计算方法为:原始半径加上经验值。

在本发明的一种优选实施方式中,在步骤s6中包括以下步骤:

将输入图像大小归一化为227*227*1,第一层对图像卷模板核大小为11的模板进行卷积,卷积核的个数为96个,卷积模板大小为3的模板进行最大池化;

第一层输出的结果作为第二层输入,第二层卷积模板大小为5的模板进行卷积,卷积核的个数为256个,卷积模板大小为3的模板进行最大池化;

第二层输出的结果作为第三层输入,第三层卷积模板大小为3的模板进行卷积,卷积核的个数为384个;

第三层输出的结果作为第四层输入,第四层卷积模板大小为3的模板进行卷积,卷积核的个数为384个;

第四层输出的结果作为第五层输入,第五层卷积模板大小为3的模板进行卷积,卷积核的个数为256个,卷积模板大小为3的模板进行最大池化;

第五层输出的结果作为第六层输入,将数据输入第六层的全连接层,随机抛弃一些得到的权重,偏置值,将数据扩展成4096维的向量;

第六层输出的结果作为第七层输入,将数据输入第七层全连接层,随机抛弃一些得到的权重,偏置值;

第七层输出的结果作为第八层输入,采用svm对数据进行2分类,分为有缺陷的残次品或者是良品。

采用alexnet网络进行训练,将网络最后一层采用的softmax替换成svm进行分类,提高输出的精度。

综上所述,由于采用了上述技术方案,本发明的有益效果是:本发明能够找出工件中的缺胶缺陷,快速简便。

附图说明

图1是本发明缺胶缺陷检测流程示意图。

图2是本发明工厂采集螺丝样例示意图。

图3是本发明最大类间方差二值化示意图。

图4是本发明腐蚀后的模板示意图。

图5是本发明提取图4的连通区域示意图。

图6是本发明最终模板示意图。

图7是本发明halcon模板示意图。

图8是本发明模板匹配提取轮廓效果示意图。

图9是本发明最终感兴趣区域示意图。

图10是本发明感兴趣区域16等分示意图。

图11是本发明网络结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

本发明提供了一种工件缺胶检测方法,工厂采集螺丝样例示意图如图2所示,如图1所示,该方法包括以下步骤:

第一步,计算最佳分割阈值,获得预处理图像的二值图。在本实施方式中,二值图的获取方法具体包括以下步骤:

s11,建立图像灰度直方图:

其中,i为灰度级,l为灰度级个数,ni表示灰度级为i的像素数,n为图像中像素总数,pi为每个灰度级出现的概率;

s12,计算背景和目标出现的概率:

其中,t为所选定的阈值,a表示背景,pa为背景出现的概率,b表示目标区域,pb为目标区域出现的概率;

s13,计算目标区域以及背景区域的类间方差:

σ2=pa(ωa-ω0)2+pb(ωb-ω0)2

其中,ωa为背景像素点占整幅图像的比例,ωb为目标像素点所占的比例,ω0为全局平均灰度值,σ为类间方差值;

s14,当背景与目标的类间灰度方差最大时,此时所选定的阈值t就是最佳分割阈值。优选的,还包括s15,统计二值图里面像素值为1的个数x和像素值为0的个数y,如果x大于y,则二值图进行取反;否则,二值图不变。

第二步,获得所述二值图的模板图。在本实施方式中,步骤s2中,模板图的获取方法具体包括以下步骤:

s21,扫描二值图中的每一个像素,用结构元素b与其覆盖的二值图像素做“与”操作,如果都为1,则图像的该像素为1,否则为0;其中,结构元素b为一幅比预处理的二值图像小的图像中的像素,用于处理预处理的图像;图像可以看成像素矩阵,对应位置上的值可以进行“与”运算。

s22,通过获得的连通域的长宽比排除其他的连通域,获取中间圆形连通域的矩形边界,其中,矩形边界的宽为w,长为l;

s23,以矩形边界的中心为圆心,在w×0.5为半径的区域内,将像素点为0的变成1,获得最终的模板图。

第三步,提取所述模板图中的目标轮廓信息。在本实施方式中,获得目标轮廓信息的方法具体包括以下步骤:

s31,在模板图上使用sobel的过滤器,获得图像的梯度方向和大小:

magnitude为梯度大小,direction为梯度方向,gx表示x方向上的梯度,gy表示y方向上的梯度;

s32,在找到边缘方向后,在边缘方向跟踪左和右的像素,如果它小于左和右像素的大小,则令当前的像素为0;

s33,用第一阈值来标记这些边缘,从这些边缘开始,使用获得的边缘方向信息,跟踪用第一阈值标记的边缘;在跟踪边缘时,用第二阈值找到起始点跟踪边缘的模糊部分;其中第一阈值大于第二阈值;

s34,在提取边缘后,保存所选边的x和y的导数,以及作为模板模型的坐标信息,将这些坐标重新排列,获得轮廓信息。

第四步,根据所述目标轮廓信息圈定目标区域。在本实施方式中,圈定目标区域的方法具体包括如下步骤:

s41,根据获得的边缘信息,计算出边缘上点的梯度;

s42,计算出梯度后,得到m条垂直于对应点切线的直线,所述m为边缘上点的个数,m条直线上所有点组成一个二维数组a,将数组a中出现频率最高的点作为圆心;

s43,计算边缘上点到该圆心的距离,若某个距离出现次数最高,则将该距离作为圆的半径,得到初步目标区域。优选的,还包括s44,扩大圆的半径,将待检测的缺胶部分都包含在目标区域中,从而得到最终目标区域。其中,扩大圆的半径的计算方法为:原始半径加上经验值,经验值根据实际图像的大小进行设置,优选的,经验值设为10像素。

第五步,将目标区域进行k等分,所述k为不小于2的正整数,作为训练数据集。在本实施方式中,k=k2,所述k为偶数。

第六步,将图像输入到神经网络,进行分类,得到缺陷检测结果。将神经网络创新性的运用到工业缺胶缺陷检测中,为保证分类的结果,采用卷积网络alexnet加上svm的方法,对图片进行分类。alexnet网络结构如说明附图图11所示,首先用多层卷积结构对图片提取特征,在最后的分类中摒弃网络结构中的softmax分类,而采用svm进行分类;svm与softmax在训练过程中定义的正负样本标准不同,softmax输出比采用svm的精度低。在本实施方式中,具体包括以下步骤:

将输入图像大小归一化为227*227*1,其中,第一个227表示图像的长,中间227表示图像的宽,1表示灰度图单通道,第一层对图像卷积模板大小为11的模板进行卷积,卷积核的个数为96个,卷积核大小为3的模板进行最大池化;

第一层输出的结果作为第二层输入,第二层卷积模板大小为5的模板进行卷积,卷积核个数为256个,卷积模板大小为3的模板进行最大池化;

第二层输出的结果作为第三层输入,第三层卷积模板大小为3的模板进行卷积,卷积核的个数为384个;

第三层输出的结果作为第四层输入,第四层卷积模板大小为3的模板进行卷积,卷积核的个数384个;

第四层输出的结果作为第五层输入,第五层卷积模板大小为3的模板进行卷积,卷积核的个数256个,卷积模板大小为3的模板进行最大池化;

第五层输出的结果作为第六层输入,将数据输入第六层的全连接层,随机抛弃一些得到的权重,偏置值,将数据扩展成4096维的向量;

第六层输出的结果作为第七层输入,将数据输入第七层全连接层,随机抛弃一些得到的权重,偏置值;

第七层输出的结果作为第八层输入,采用svm对数据进行2分类,分为有缺陷的残次品或者是良品。

在本实施方式中,根据图片的特征,目标区域占有较大比例,采用最大类间方差法,使得背景与目标之间的方差最大,获得最佳分割阈值,得到较好质量的二值图像,一种优选实施方式中经过处理后的工件图形如图3所示。选取一张二值图,根据图片特征进行预处理去燥。首先对进行预腐蚀,再将中间黑色区域的像素1变为0,如图4所示,制作成一张模板图。再采用halcon模板匹配的方法,得到目标区域的轮廓信息,如图7所示,再采用hough变换,检测圆目标区域。为保证待检测区域均在目标区域范围内,放大目标区域,从而得到最终目标区域,如图9所示。

如图5-8所示,采用基于特征的模板匹配提取轮廓,其主要步骤如下:

制作模板图:(1)首先对二值图像进行腐蚀,图像圆形白色区域类有集合a和b,b对a进行腐蚀的整个过程如下:用结构元素b,扫描图像a的每一个像素;用结构元素与其覆盖的二值图像做“与”操作;如果都为1,结果图像的该像素为1,否则为0;(2)通过获得的连通域区域的长宽比排除其他的连通域,如图5所示,获取中间圆形的连通区域的boundingbox,宽为w,长为h;(3)以boundingbox为圆心,w*0.5为半径的区域内,将像素点为0的变成1,排除噪声影响,获得图6所示最终的模板图。

获得图像的梯度方向:在模板图像上使用sobel的过滤器,返回x和y方向的梯度。根据这个梯度,用下面的公式计算边缘的大小和方向:

非极大值抑制处理:在找到边缘方向后,做一个非最大的抑制算法。非最大的抑制可以跟踪左和右的像素在边缘方向,如果它小于左和右像素的大小,则会抑制当前的像素大小。这将导致一个很薄的图像。

滞后阈值处理:使用滞后的阈值需要两个阈值:高和低。用一个高的阈值来标记这些边缘,从这些开始,使用前面派生的方向信息,通过图像跟踪其他的边。在跟踪边缘时,应用较低的阈值,允许在找到起始点时跟踪边缘的模糊部分。

获得轮廓信息:在提取边缘后,保存所选边的x和y的导数,以及作为模板模型的坐标信息,这些坐标将被重新排列,获得轮廓信息。

获得训练数据集:为防止过拟合,采用扩大数据集,将目标区域进行等分,作为训练数据集,例如4等分或者如图10所示的16等分。

将经过一系列预处理得到的最终目标区域图像,进行分割成4等分,作为训练集图片,增加训练集图片的数量,防止过拟合。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

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