产品表面缺陷的检测方法、设备及存储介质

文档序号:25427571发布日期:2021-06-11 21:41阅读:101来源:国知局
产品表面缺陷的检测方法、设备及存储介质

本申请涉及图像处理技术领域,具体而言,涉及一种产品表面缺陷的检测方法、设备及存储介质。



背景技术:

被加工产品表面缺陷检测方法大多采取人工逐个观察的方法,然而对于具有一定周期纹理的产品,产品表面存在起伏,人工辨认难度加大。

现有技术中,通过基于机器视觉的检测方法来检测具有一定周期纹理的产品的缺陷,通过分析大量检测对象的缺陷样本,分析缺陷特征然后寻找合适的特征提取方法,使得缺陷在图像处理后灰度值很高,从而使用阈值分割得到缺陷区域。

然而,该检测方法需要获取大量的缺陷样本,对于生产周期短且生产数量少的检测对象,该方法无法适用。



技术实现要素:

有鉴于此,本申请的目的在于提供一种产品表面缺陷的检测方法、设备及存储介质,能够通过比较高斯马尔可夫特征,以对产品进行表面缺陷检测,检测效率高且精准度高。

第一方面,本申请实施例提供一种产品表面缺陷的检测方法,包括:

获取待检测产品的产品表面图像,所述待检测产品为表面具有多个纹理元素的产品;

对所述产品表面图像进行二值化处理,得到所述产品表面图像对应的二值图像,所述二值图像中包括多个连通区域;

根据所述多个连通区域,将所述产品表面图像分割为多个纹理图像,每个纹理图像中包括一个纹理元素;

提取所述每个纹理图像的高斯马尔可夫特征,并根据所述每个纹理图像的高斯马尔可夫特征和预设的高斯马尔可夫特征,对所述待检测产品进行表面缺陷检测,其中,所述预设的高斯马尔可夫特征为根据表面无缺陷产品的多个无缺陷产品图像在每个阶数下的调和平均值所确定的目标阶数下的高斯马尔可夫特征。

可选地,所述提取所述每个纹理图像的高斯马尔可夫特征,并根据所述纹理图像的高斯马尔可夫特征和预设的高斯马尔可夫特征,对所述待检测产品进行表面缺陷检测,包括:

将所述每个纹理图像划分为多个纹理分块;

提取每个纹理分块的高斯马尔可夫特征;

根据所述每个纹理分块的高斯马尔可夫特征和所述预设的高斯马尔可夫特征,对所述待检测产品进行表面缺陷检测。

可选地,所述根据所述每个纹理分块的高斯马尔可夫特征和所述预设的高斯马尔可夫特征,对所述待检测产品进行表面缺陷检测,包括:

计算所述每个纹理分块的高斯马尔可夫特征和所述预设的高斯马尔可夫特征之间的欧式距离;

若所述欧式距离大于预设距离,则确定所述待检测产品在所述每个纹理分块对应的区域存在表面缺陷;

若所述欧式距离小于或等于所述预设距离,则确定所述待检测产品在所述每个纹理分块对应的区域不存在表面缺陷。

可选地,所述方法还包括:

将每个无缺陷产品图像分割为多个无缺陷纹理图像,每个无缺陷纹理图像中包括一个纹理元素;

根据所述多个无缺陷纹理图像在多个阶数下的高斯马尔可夫特征,计算所述每个无缺陷产品图像在所述每个阶数下的调和平均值;

根据所述调和平均值,确定所述目标阶数下的高斯马尔可夫特征为所述预设的高斯马尔可夫特征。

可选地,所述根据所述多个无缺陷纹理图像在多个阶数下的高斯马尔可夫特征,计算所述每个无缺陷产品图像在所述每个阶数下的调和平均值,包括:

根据所述多个无缺陷纹理图像在每个阶数下的高斯马尔可夫特征,计算所述每个阶数下的中心特征;

根据所述多个阶数下的中心特征,计算所述每个无缺陷产品图像在所述每个阶数下的调和平均值。

可选地,所述根据所述多个阶数下的中心特征,计算所述每个无缺陷产品图像在所述每个阶数下的调和平均值,包括:

将所述每个无缺陷纹理图像划分为多个无缺陷纹理分块;

根据所述每个阶数下的中心特征,和所述多个无缺陷纹理分块在所述每个阶数下的高斯马尔可夫特征,计算所述每个无缺陷产品图像在所述每个阶数下的调和平均值。

可选地,所述根据所述调和平均值,确定所述目标阶数下的高斯马尔可夫特征为所述预设的高斯马尔可夫特征,包括:

对多个无缺陷产品图像在所述每个阶数下的调和平均值进行累加,得到所述每个阶数下的累加值;

将最小累加值对应的阶数确定为所述目标阶数;

确定所述目标阶数下的中心特征,为所述预设的高斯马尔可夫特征。

可选地,所述若所述欧式距离大于预设距离,则确定所述待检测产品在所述每个纹理分块对应的区域存在表面缺陷之前,所述方法还包括:

对多个无缺陷产品图像在所述每个阶数下的调和平均值进行累加,得到所述每个阶数下的累加值;

将最小累加值对应的阶数确定为所述目标阶数;

确定所述多个无缺陷产品图像在所述目标阶数下的调和平均值中的最大值,为所述预设距离。

第二方面,本申请实施例提供一种产品表面缺陷的检测装置,包括:

获取模块,用于获取待检测产品的产品表面图像,所述待检测产品为表面具有多个纹理元素的产品;

处理模块,用于对所述产品表面图像进行二值化处理,得到所述产品表面图像对应的二值图像,所述二值图像中包括多个连通区域;

分割模块,用于根据所述多个连通区域,将所述产品表面图像分割为多个纹理图像,每个纹理图像中包括一个纹理元素;

检测模块,用于提取所述每个纹理图像的高斯马尔可夫特征,并根据所述每个纹理图像的高斯马尔可夫特征和预设的高斯马尔可夫特征,对所述待检测产品进行表面缺陷检测,其中,所述预设的高斯马尔可夫特征为根据表面无缺陷产品的多个无缺陷产品图像在每个阶数下的调和平均值所确定的目标阶数下的高斯马尔可夫特征。

第三方面,本申请实施例提供一种产品表面缺陷的检测设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当产品表面缺陷的检测设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行第一方面任一项所述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的方法。

本申请提供了一种产品表面缺陷的检测方法、设备及存储介质,该方法包括:获取待检测产品的产品表面图像,待检测产品为表面具有多个纹理元素的产品,对产品表面图像进行二值化处理,得到产品表面图像对应的二值图像,二值图像中包括多个连通区域,根据多个连通区域,将产品表面图像分割为多个纹理图像,提取每个纹理图像的高斯马尔可夫特征,并根据每个纹理图像的高斯马尔可夫特征和预设的高斯马尔可夫特征,对待检测产品进行表面缺陷检测,其中,预设的高斯马尔可夫特征为根据表面无缺陷产品的多个无缺陷产品图像在每个阶数下的调和平均值所确定的目标阶数下的高斯马尔可夫特征。由于高斯马尔可夫特征能很好地描述纹理特征,采用本方案对产品进行表面缺陷检测,检测效率高且检测精准度高。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例提供的产品表面缺陷的检测方法的流程示意图一;

图2示出了一种二值图像的示意图;

图3示出了本申请实施例提供的波纹管产品图像的示意图;

图4示出了本申请实施例提供的产品表面缺陷的检测方法的流程示意图二;

图5示出了纹理分块的示意图;

图6示出了本申请实施例提供的产品表面缺陷的检测方法的流程示意图三;

图7示出了本申请实施例提供的产品表面缺陷的检测方法的流程示意图四;

图8示出了本申请实施例提供的产品表面缺陷的检测装置的结构示意图;

图9示出了本申请实施例提供的产品表面缺陷的检测设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

目前,为对加工产品进行表面缺陷检测,一般基于机器视觉的检测方法是需要获得大量检测对象的缺陷样本,分析缺陷特征然后寻找合适的特征方法,使得缺陷在图像处理后灰度值很高,从而使用阈值分割得到缺陷区域。但是在生产周期短生产数量少的检测对象上,这一类方法就不能够使用。

针对上述缺陷,本申请提供了一种产品表面缺陷的检测方法,以纹理元素的结构变化为依据,纹理产品表面缺陷可能有不同的种类、形状不同、大小变化,但是都会破坏产品原本的纹理元,与其他无缺陷的纹理元有差别,由于高斯马尔可夫特征可以更好得描述纹理特征,所以在线检测阶段,通过对比每个纹理图像的高斯马尔可夫特征和预设的高斯马尔可夫特征,对待检测产品进行表面缺陷检测,不需要知道造成缺陷的原因种类形状大小等预信息,可以直接选出有缺陷的产品,检测效率高且检测精准度高。

在介绍本申请的技术方案之前,首先对马尔可夫随机场(markovrandomfield,mrf)模型进行说明:

mrf是一个非因果自回归过程,常用于纹理建模,能够很好的体现邻域关系特性,更好地描述纹理特征。不同阶数的高斯马尔可夫特征个数不同,随着阶数提高,特征个数逐渐增加,也更能够描述复杂的特征。

mrf模型是一种描述图像结构的概率模型,是一种较好的描述纹理的方法。其突出特点是通过适当定义的领域系统引入结构信息,提供了一种一般用来表达空间上相关随机变量之间相互作用的模型,由此所生成的参数可以描述纹理不同方向、不同形式的集聚特征,更符合人的感官认识。mrf模型最常用的是高斯—马尔可夫模型(gaussianmarkovrandomfield,gmrf),由于计算量小而得到广泛的应用。

马尔可夫随机场是一个以维因果马尔科夫链到二维的扩展,一个马尔可夫随机场的局部概率密度函数表述如下:

p{(f(m,n)|f(k,l),(k,l)≠(m,n),(k,l)∈λ)}

={(f(m,n)|f(k,l),∈n(m,n))}

n(m,n)表示像素位置(m,n)的领域,如果这个条件概率是一个高斯分布,则称这个mrf模型为gmrf。

gmrf线性模型可以表示为:

f=gtθ+e

g是关于f(m,n)的矩阵,θ是模型的特征参数适量,e是服从高斯分布的随机噪声。各阶gmrf模型的g矩阵算法模型s=(m,n),r=(t,s),r∈n(m,n)(对于一个滑动窗口每个非边缘像素都可以求出一列矢量,为g矩阵的一列,g矩阵的行数是非边缘像素个数,列数为估计参数的个数(由gmrf模型的阶数决定)。

(1)二阶模型

n={r1,r2,r3,r4}={(0,1),(1,0),(1,1),(1,-1)},特征向量θ=(θ1,θ2,θ3,θ4)

可见,gmrf模型的阶数为2,则对应的高斯马尔可夫特征的数量为4。

(2)三阶模型

n={r1,r2,r3,r4,r5,r6}={(0,1),(1,0),(1,1),(1,-1),(0,2),(2,0)},特征向量θ=(θ1,θ2,θ3,θ4,θ5,θ6)

可见,gmrf模型的阶数为3,则对应的高斯马尔可夫特征的数量为6。特征参数的无偏估计如下:

下面结合几个具体实施例对本申请提供的产品表面缺陷的检测方法进行说明。

图1示出了本申请实施例提供的产品表面缺陷的检测方法的流程示意图一,本实施例的执行主体可以为产品表面缺陷的检测设备,例如可以为终端设备、服务器等。如图1所示,该方法可以包括:

s101、获取待检测产品的产品表面图像。

其中,待检测产品为表面具有多个纹理元素的产品,例如被加工产品,多个纹理元素指的是多个纹理图案,由于纹理元素的存在使得待检测产品的表面存在凹凸起伏的区域。为对待检测产品进行表面缺陷检测,可以采用电子设备拍摄待检测产品得到产品表面图像,产品表面图像中包括待检测产品表面的多个纹理元素。

需要说明的是,待检测产品表面的多个纹理元素也可以为周期性的纹理元素,例如波纹管图案,那么待检测产品可以为表面设有波纹管图案的产品。

s102、对产品表面图像进行二值化处理,得到产品表面图像对应的二值图像。

二值化处理可以包括滤波处理和阈值分割处理,也就是,对产品表面图像进行滤波处理,得到滤波后的产品表面图像,然后对滤波后的产品表面图像进行阈值分割处理,得到产品表面图像对应的二值图像,其中,二值图像中包括多个连通区域。

滤波处理的一种可能实施方式可以为:利用gabor滤波器对产品表面图像img(i,j)进行滤波,获得滤波后的产品表面图像其中,(i=1,2,3…m、j=1,2,3…n),(i,j)表示第i行第j列的像素点,m为i的最大取值,n为j的最大取值。

gabor函数的时域表示:

其中,x'=xcosθ+ysinθ,y'=-xsinθ+ycosθ。

波长(λ):以像素为单位指定,一般设置为一个纹理元素在图像中水平长度的像素大小。

方向(θ):代表函数旋转的角度,一般设置为0。

方差系数(σ):σ值的设置通常从带宽角度出发,带宽值一般为1,该值与带宽b的函数关系如下:

长宽比(γ):空间纵横比,决定了gabor函数形状的椭圆率。当γ=1时,形状是圆的;当γ<1时,形状随着平行条纹方向而拉长。通常该值为0.5。

中心频率(u0):波长λ的倒数。

当然,关于gabor滤波器的波长、方向、方差系数、长宽比以及中心频率的具体取值可以根据实际需求设置,本实施例不做限定。

阈值分割处理的一种可能实施方式可以为:根据滤波后的产品表面图像中每个像素点的灰度值和灰度阈值,得到每个像素点的二值化灰度值,根据每个像素点的二值化灰度值,得到二值图像,其中,灰度值阈值为滤波后的产品表面图像中像素点的最大灰度值和预设灰度系数的乘积。

具体地,对滤波后的产品表面图像进行阈值分割处理,得到一张二值图像imgbinary(i,j),(i=1,2,3…m、j=1,2,3…n),二值图像获取公式如下:

其中,imggb(i,j)表示滤波后的产品表面图像中第i行第j列的像素点的灰度值,灰度阈值t1=k*max(imggb(i,j)),max(imggb(i,j))为中像素点的最大灰度值,q预设灰度系数,取值范围为0至1,一般地,q取0.3至0.5中的任意数值。

也就是说,通过对比滤波后的产品表面图像中每个像素点的灰度值和灰度阈值的相对大小,若像素点的灰度值大于或等于灰度阈值,则像素点的二值化灰度值为1,若像素点的灰度值小于灰度阈值,则像素点的二值化灰度值为0。

参见图2,图2示出了一种二值图像的示意图,如图2所示,通过对产品表面图像进行滤波处理和阈值分割处理,得到产品表面图像对应的二值图像,二值化灰度值为1的像素点标记为白色,二值化灰度值为0的像素点标记为黑色,白色区域构成了连通区域,图2的二值图像中包括15个连通区域。

需要说明的是,由于相同的纹理元素在二值化后,连通区域的面积以及与连通区域对应的离心率会在一定范围内波动,连通区域对应的离心率可以为与连通区域具有相同标准二阶中心矩的椭圆的离心率。因此,可以将每个连通区域的cn(n=1,2,3…k)的面积和与连通区域对应的离心率作为初步筛选非纹理区域的特征描述子,其中,k为连通区域的数量。

面积用于衡量连通区域的大小,即纹理元素对gabor波响应的范围,通过设置面积大小范围,可以排除与待检测纹理元素差距过大的纹理部分,eccentricity离心率是一个表示连通区域形状的参数,同样作为不同纹理元分辨参数。通过设置预设面积范围和预设离心率范围,从多个连通区域中可以剔除不满足预设面积范围,和/或离心率不满足预设离心率范围的连通区域。参见图2,可以看出,最右边的两个连通区域的面积和离心率与其他连通区域的面积和离心率明显不同,因此,可以将图2中最右边的两个连通区域剔除,得到13个连通区域。

s103、根据多个连通区域,将产品表面图像分割为多个纹理图像。

其中,每个纹理图像中包括一个纹理元素。具体地,确定每个连通区域的质心,将每个连通区域的质心映射到产品表面图像中,以每两个相邻的质心为长、以产品表面图像中待检测产品的宽度为高,将产品图像分割为多个纹理图像。

可选地,若将x个连通区域按照上述方式筛选后变为x1个,则求出筛选后的每个连通区域的质心(n=1,2,3…x1),将质心映射到原图,即未经处理的产品表面图像中,确定其在产品表面图像中的相对位置。

参考图3,图3示出了本申请实施例提供的波纹管产品图像的示意图,将每个质心映射到波纹管产品图像中,质心标记为圆点,每一节波纹管的波峰的中心位置都被定位。然后将原图分割为长高大小尺寸相同的x1个纹理图像,其中,x1个纹理图像是使用大小相同的矩形,以连通区域的质心为矩形质心将单节波纹管从检测图像中分割得到的,每个纹理图像中包括一个波纹管图案。

s104、提取每个纹理图像的高斯马尔可夫特征,并根据每个纹理图像的高斯马尔可夫特征和预设的高斯马尔可夫特征,对待检测产品进行表面缺陷检测。

提取每个纹理图像的高斯马尔可夫特征,然后根据每个纹理图像的高斯马尔可夫特征和预设的高斯马尔可夫特征之间的相似度,确定待检测产品是否在每个纹理图像对应的区域存在缺陷,其中,预设的高斯马尔可夫特征为根据表面无缺陷产品的多个无缺陷产品图像在每个阶数下的调和平均值所确定的目标阶数下的高斯马尔可夫特征,其中,目标阶数下的高斯马尔可夫特征可以为多个无缺陷产品图像在目标阶数下的中心特征,中心特征为对多个无缺陷产品图像分割得到的多个无缺陷纹理图像在目标阶数下的高斯马尔可夫特征进行求平均值操作得到的。通过与预设的高斯马尔可夫特征进行对比,可以确定待检测产品是否存在表面缺陷。

在一可选的实施方式中,由于加工出的产品很难保证完全没有表面缺陷,因此,可以在存在一定占比的纹理图像的高斯马尔可夫特征均和预设的高斯马尔可夫特征的相似度大于预设相似度时,则判断待检测产品存在表面缺陷,并进行标记,其中,相似度可以通过欧式距离确定。

需要说明的是,预设的高斯马尔可夫特征的阶数为目标阶数,每个纹理图像的高斯马尔可夫特征的阶数与预设的高斯马尔可夫特征的阶数相同,目标阶数可以离线阶段通过大量表面无缺陷产品的正样本计算得到。

本实施例的产品表面缺陷的检测方法,获取待检测产品的产品表面图像,待检测产品为表面具有多个纹理元素的产品,对产品表面图像进行二值化处理,得到产品表面图像对应的二值图像,二值图像中包括多个连通区域,根据多个连通区域,将产品表面图像分割为多个纹理图像,提取每个纹理图像的高斯马尔可夫特征,并根据每个纹理图像的高斯马尔可夫特征和预设的高斯马尔可夫特征,对待检测产品进行表面缺陷检测,其中,预设的高斯马尔可夫特征为根据表面无缺陷产品的多个无缺陷产品图像在每个阶数下的调和平均值所确定的目标阶数下的高斯马尔可夫特征。由于高斯马尔可夫特征能很好地描述纹理特征,采用本方案对产品进行表面缺陷检测,检测效率高且检测精准度高。

下面结合图4实施例对步骤s104的一种可能的实施方式进行说明,图4示出了本申请实施例提供的产品表面缺陷的检测方法的流程示意图二,如图4所示,步骤s104可以包括:

s201、将每个纹理图像划分为多个纹理分块。

s202、提取每个纹理分块的高斯马尔可夫特征。

s203、根据每个纹理分块的高斯马尔可夫特征和预设的高斯马尔可夫特征,对待检测产品进行表面缺陷检测。

为更加精准地确定待检测产品的表面缺陷区域,在本实施例,可以按照相同的规则,对每个纹理图像进行不重叠分块,将每个纹理图像划分为多个纹理分块,每个纹理分块的大小相同,分块大小记作b*b。参见图5,图5示出了纹理分块的示意图,以纹理图像为单节波纹管图像为例,将单节波纹管图像划分为4*6个纹理分块,纹理分块记作vij,表示纵向第i横向第j个纹理分块,v52即为图5中纵向第5横向第2个纹理分块。

然后提取每个纹理分块的高斯马尔可夫特征θij,θij表示vij的高斯马尔可夫特征,θij的阶数与预设的高斯马尔可夫特征的阶数相同,若预设的高斯马尔可夫特征的阶数为2,则预设的高斯马尔可夫特征的数量为4,相应的,每个纹理分块的高斯马尔可夫特征θij的阶数为2,每个纹理分块的高斯马尔可夫特征θij数量为4,即θij=[θ1,θ2,θ3…θn]。

目标阶数下的高斯马尔可夫特征可以为多个无缺陷产品图像在目标阶数下的中心特征,中心特征为对多个无缺陷产品图像分割得到的多个无缺陷纹理图像在目标阶数下的高斯马尔可夫特征进行求平均值操作得到的,其中,每个无缺陷纹理图像可以划分为多个无缺陷纹理分块,也就是说,中心特征为对多个无缺陷纹理图像划分得到的多个无缺陷纹理分块在目标阶数下的高斯马尔可夫特征进行求平均值操作得到的。因此根据每个纹理分块的高斯马尔可夫特征和预设的高斯马尔可夫特征的相似度,可以确定待检测产品在每个纹理分块对应的区域是否存在表面缺陷,也就是说,通过与预设的高斯马尔可夫特征进行对比,若相似度大于预设阈值,则说明待检测产品在该纹理分块对应的区域不存在表面缺陷,若相似度小于或等于预设阈值,说明待检测产品在该纹理分块对应的区域存在表面缺陷。

可选地,步骤s203可以包括:

计算每个纹理分块的高斯马尔可夫特征和预设的高斯马尔可夫特征之间的欧式距离;

若欧式距离大于预设距离,则确定待检测产品在每个纹理分块对应的区域存在表面缺陷;

若欧式距离小于或等于预设距离,则确定待检测产品在每个纹理分块对应的区域不存在表面缺陷。

具体地,计算每个纹理分块的高斯马尔可夫特征θij和预设的高斯马尔可夫特征θp之间的欧式距离,若欧式距离大于预设距离tp,说明待检测产品在每个纹理分块对应的区域存在表面缺陷,则可以将纹理分块对应的区域标记为缺陷;若欧式距离小于或等于预设距离tp,则确定待检测产品在每个纹理分块对应的区域不存在表面缺陷。

其中,i=1,2…r;j=1,2…c,r表示纹理分块的纵向最大数量,c表示纹理分块的横向最大数量,p表示预设的高斯马尔可夫特征的阶数。||θp-θij||2表示θp之间的欧式距离。

需要说明的是,纹理分块的高斯马尔可夫特征和预设的高斯马尔可夫特征的阶数相同,预设的高斯马尔可夫特征的阶数,预设距离t以及预设的高斯马尔可夫特征θp都是在离线阶段通过大量正样本计算获得。如果所有纹理区块对应的区域都没有缺陷,则这个待检测产品可以被判定为没有缺陷;而如果有一个纹理区块对应的区域有缺陷则待检测产品被判定为存在缺陷,并可以标记出该纹理区块对应的区域。

本实施例的产品表面缺陷的检测方法,将每个纹理图像划分为多个纹理分块,提取每个纹理分块的高斯马尔可夫特征,根据每个纹理分块的高斯马尔可夫特征和预设的高斯马尔可夫特征,对待检测产品进行表面缺陷检测。本实施例通过对比每个纹理分块的高斯马尔可夫特征和预设的高斯马尔可夫特征,可以更加精准地确定产品的缺陷区域。

下面结合图6实施例对离线阶段计算出的预设的高斯马尔可夫特征的一种可能的实施方式进行说明,图6示出了本申请实施例提供的产品表面缺陷的检测方法的流程示意图三,如图6所示,步骤s104之前,该方法还可以包括:

s301、将每个无缺陷产品图像分割为多个无缺陷纹理图像。

表面无缺陷产品为表面具有多个纹理元素的无缺陷产品,表面无缺陷产品可以是从产品加工线上得到的,通过对多个表面无缺陷产品的表面进行拍摄得到多个无缺陷产品图像,每个表面无缺陷产品的表面具有多个纹理元素,每个无缺陷产品图像中包括表面无缺陷产品上的多个纹理元素,纹理元素可以为纹理图案,每个无缺陷产品上的纹理元素与待检测产品表面上的纹理元素为同一种纹理元素,例如都为波纹管图案,即表面无缺陷产品和待检测产品均为波纹管产品。

具体地,对每个无缺陷产品图像进行二值化处理,得到每个无缺陷产品图像对应的二值图像,二值图像中包括多个连通区域,然后根据多个连通区域,将每个无缺陷产品图像分割为多个无缺陷纹理图像,每个无缺陷纹理图像中包括一个纹理元素。关于步骤s301的实现过程可以参见步骤s102-s103的实现过程,在此不再赘述。

s302、根据多个无缺陷纹理图像在多个阶数下的高斯马尔可夫特征,计算每个无缺陷产品图像在每个阶数下的调和平均值。

针对每个无缺陷产品图像,提取每个无缺陷纹理图像在多个阶数下的高斯马尔可夫特征,其中,每个阶数下均对应有高斯马尔可夫特征,阶数m的取值为2,3,4…10,因此,可以提取每个无缺陷纹理图像在多个阶数下的高斯马尔可夫特征,也即,每个无缺陷纹理图像在各个阶数下均存在高斯马尔可夫特征。

然后计算每个无缺陷产品图像在每个阶数下的调和平均值,在一可选的实施方式中,步骤s302包括:根据多个无缺陷纹理图像在每个阶数下的高斯马尔可夫特征,计算每个阶数下的中心特征;根据多个阶数下的中心特征,计算每个无缺陷产品图像在每个阶数下的调和平均值。

其中,每个阶数下的中心特征可以通过如下方式计算得到:针对多个缺陷产品图像,将每个无缺陷纹理图像划分为多个无缺陷纹理分块,提取每个无缺陷纹理分块在每个阶数下的高斯马尔可夫特征,对多个无缺陷纹理分块在每个阶数下的高斯马尔可夫特征进行求平均值操作,得到每个阶数下的中心特征。

也就是,将每个无缺陷纹理图像划分为多个无缺陷纹理分块vij,提取每个无缺陷纹理分块vij在m阶的高斯马尔可夫特征然后将多个无缺陷纹理图像的所有区块的均值向量作为特征分布的中心特征θm,即m阶数下的中心特征。

然后根据多个阶数下的中心特征,计算每个无缺陷产品图像在每个阶数下的调和平均值,在一可选的实施方式中,将每个无缺陷纹理图像分割为多个无缺陷纹理分块;根据每个阶数下的中心特征,和多个无缺陷纹理分块在每个阶数下的高斯马尔可夫特征,计算每个无缺陷产品图像在每个阶数下的调和平均值。

具体地,将每个无缺陷纹理图像划分为多个无缺陷纹理分块,具体划分方式可以参见图4实施例,在此不再赘述。针对每个无缺陷产品图像,根据每个阶数下的中心特征,和多个无缺陷纹理分块在每个阶数下的高斯马尔可夫特征,计算每个无缺陷产品图像在m阶数下的调和平均值dm,可以采用如下公式计算得到:

其中,n表示m阶高斯马尔可夫特征的数量,表示无缺陷纹理分块vij在m阶的高斯马尔可夫特征,表示θm之间的欧式距离。

s303、根据调和平均值,确定目标阶数下的高斯马尔可夫特征为预设的高斯马尔可夫特征。

其中,目标阶数下的高斯马尔可夫特征可以为目标阶数下的中心特征。在一可选的实施方式中,步骤s303包括:对多个无缺陷产品图像在每个阶数下的调和平均值进行累加,得到每个阶数下的累加值;将最小累加值对应的阶数确定为目标阶数;确定目标阶数下的中心特征,为预设的高斯马尔可夫特征。

具体地,对多个无缺陷产品图像在每个阶数下的调和平均值进行累加,得到每个阶数下的累加值:

其中,k表示第k个无缺陷产品图像,n为无缺陷产品图像的数量,大于或等于2,表示n个无缺陷产品图像在m阶下的累加值。

接着,将最小累加值对应的阶数确定为目标阶数,也就是说,先确定最小累加值,然后确定最小累加值对应的阶数,即:

最小累加值对应的阶数为目标阶数,确定目标阶数下的中心特征,为预设的高斯马尔可夫特征,例如,若最小累加值对应的阶数m为2,那么2阶下的中心特征为θ2,即预设的高斯马尔可夫特征的阶数p为2。

本实施例的产品表面缺陷的检测方法,将每个无缺陷产品图像分割为多个无缺陷纹理图像,根据多个无缺陷纹理图像在多个阶数下的高斯马尔可夫特征,计算每个无缺陷产品图像在每个阶数下的调和平均值,根据调和平均值,确定目标阶数下的高斯马尔可夫特征为预设的高斯马尔可夫特征。在本实施例,通过该方式筛选出的预设的高斯马尔可夫特征和其他阶数的高斯马尔可夫特征相比,能够更好地描述纹理特征,从而提高了后续产品表面缺陷检测的精准度。

下面结合7实施例对预设距离的一种可能的实施方式进行说明,图7示出了本申请实施例提供的产品表面缺陷的检测方法的流程示意图四,如图7所示,若欧式距离大于预设距离,则确定待检测产品在每个纹理分块对应的区域存在表面缺陷之前,该方法还可以包括:

s401、对多个无缺陷产品图像在每个阶数下的调和平均值进行累加,得到每个阶数下的累加值。

s402、将最小累加值对应的阶数确定为目标阶数。

s403、确定多个无缺陷产品图像在目标阶数下的调和平均值中的最大值,为预设距离。

具体地,将每个无缺陷产品图像分割为多个无缺陷纹理图像,根据多个无缺陷纹理图像在多个阶数下的高斯马尔可夫特征,计算每个无缺陷产品图像在每个阶数下的调和平均值,然后对多个无缺陷产品图像在每个阶数下的调和平均值进行累加,得到每个阶数下的累加值,将最小累加值对应的阶数确定为目标阶数。关于步骤s401-s402的实现过程可以参见图6实施例,在此不再赘述。

其中,目标阶数可以记作:

接着将多个无缺陷产品图像在目标阶数下的调和平均值中的最大值,确定为预设距离,例如,若最小累加值对应的阶数为2,那么确定多个无缺陷产品图像在2阶下的调和平均值中的最大值为预设距离tp,即预设的高斯马尔可夫特征的阶数p为2:

其中,k表示第k个无缺陷产品图像,n为无缺陷产品图像的数量,大于或等于2,表示n个无缺陷产品图像在m阶下的累加值。

本实施例的产品表面缺陷的检测方法,对多个无缺陷产品图像在每个阶数下的调和平均值进行累加,得到每个阶数下的累加值,将最小累加值对应的阶数确定为目标阶数,确定多个无缺陷产品图像在目标阶数下的调和平均值中的最大值,为预设距离。在本实施例,通过该方式筛选出的预设距离,能够提高了后续产品表面缺陷检测的精准度。

图8示出了本申请实施例提供的产品表面缺陷的检测装置的结构示意图,产品表面缺陷的检测装置可以集成在产品表面缺陷的检测设备中。如图8所示,产品表面缺陷的检测装置50包括:

获取模块501,用于获取待检测产品的产品表面图像,待检测产品为表面具有多个纹理元素的产品;

处理模块502,用于对产品表面图像进行二值化处理,得到产品表面图像对应的二值图像,二值图像中包括多个连通区域;

分割模块503,用于根据多个连通区域,将产品表面图像分割为多个纹理图像,每个纹理图像中包括一个纹理元素;

检测模块504,用于提取每个纹理图像的高斯马尔可夫特征,并根据每个纹理图像的高斯马尔可夫特征和预设的高斯马尔可夫特征,对待检测产品进行表面缺陷检测,其中,所述预设的高斯马尔可夫特征为根据表面无缺陷产品的多个无缺陷产品图像在每个阶数下的调和平均值所确定的目标阶数下的高斯马尔可夫特征。

可选地,检测模块504,具体用于:

将所述每个纹理图像划分为多个纹理分块;

提取每个纹理分块的高斯马尔可夫特征;

根据所述每个纹理分块的高斯马尔可夫特征和所述预设的高斯马尔可夫特征,对所述待检测产品进行表面缺陷检测。

可选地,检测模块504,具体用于:

计算所述每个纹理分块的高斯马尔可夫特征和所述预设的高斯马尔可夫特征之间的欧式距离;

若所述欧式距离大于预设距离,则确定所述待检测产品在所述每个纹理分块对应的区域存在表面缺陷;

若所述欧式距离小于或等于所述预设距离,则确定所述待检测产品在所述每个纹理分块对应的区域不存在表面缺陷。

可选地,分割模块503,还用于将每个无缺陷产品图像分割为多个无缺陷纹理图像,每个无缺陷纹理图像中包括一个纹理元素;

处理模块502,用于根据所述多个无缺陷纹理图像在多个阶数下的高斯马尔可夫特征,计算所述每个无缺陷产品图像在所述每个阶数下的调和平均值;

确定模块505,用于根据所述调和平均值,确定所述目标阶数下的高斯马尔可夫特征为所述预设的高斯马尔可夫特征。

可选地,处理模块502,具体用于:

根据所述多个无缺陷纹理图像在每个阶数下的高斯马尔可夫特征,计算所述每个阶数下的中心特征;

根据所述多个阶数下的中心特征,计算所述每个无缺陷产品图像在所述每个阶数下的调和平均值。

可选地,处理模块502,具体用于:

将所述每个无缺陷纹理图像划分为多个无缺陷纹理分块;

根据所述每个阶数下的中心特征,和所述多个无缺陷纹理分块在所述每个阶数下的高斯马尔可夫特征,计算所述每个无缺陷产品图像在所述每个阶数下的调和平均值。

可选地,确定模块505,具体用于:

对多个无缺陷产品图像在所述每个阶数下的调和平均值进行累加,得到所述每个阶数下的累加值;

将最小累加值对应的阶数确定为所述目标阶数;

确定所述目标阶数下的中心特征,为所述预设的高斯马尔可夫特征。

可选地,所述若所述欧式距离大于预设距离,则确定所述待检测产品在所述每个纹理分块对应的区域存在表面缺陷之前,处理模块502,还用于:

对多个无缺陷产品图像在所述每个阶数下的调和平均值进行累加,得到所述每个阶数下的累加值;

确定模块505还用于:将最小累加值对应的阶数确定为所述目标阶数,确定所述多个无缺陷产品图像在所述目标阶数下的调和平均值中的最大值,为所述预设距离。

本实施例的产品表面缺陷的检测装置的实现过程和实现原理,可以参见上述方法实施例提供的产品表面缺陷的检测方法,在此不再赘述。

图9示出了本申请实施例提供的产品表面缺陷的检测设备的结构示意图,产品表面缺陷的检测设备60可以为终端设备、服务器等。如图9所示,产品表面缺陷的检测设备60:处理器601、存储器602和总线603,存储器602存储有处理器601可执行的计算机程序,当产品表面缺陷的检测设备60运行时,处理器601与存储器602之间通过总线603通信,处理器601执行计算机程序,以执行上述方法实施例。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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