产品表面缺陷检测方法及系统及设备及介质的制作流程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图片简介:
本技术介绍了一种产品表面缺陷检测方法及系统及装置及介质,包括:构建图片重构网络;采集无缺陷图片方法训练图片;利用训练图片训练图片重构网络,得到训练后的图片重构网络;采集待处理产品表面缺陷图片,将待处理产品表面缺陷图片输入训练后的图片重构网络,计算待处理产品表面缺陷图片与重构后的图片的特征值,并计算待处理产品表面缺陷图片与重构后的图片的特征值差值,基于特征值差值得到产品表面缺陷检测结果;本技术仅使用良品图片进行表面缺陷检测,本技术基于全卷积神经网络,通过重构良品图片学习到对表面缺陷的修复能力,从而实现对于各种表面缺陷的像素级识别能力。
技术要求
1.一种产品表面缺陷检测方法,其特征在于,所述方法包括:
构建图片重构网络,图片重构网络对图片的处理过程包括:下采样过程、上采样过程和
跨层链接过程;下采样过程包括:图片经过卷积层处理,然后进行批归一化处理,然后
利用激活函数进行激活;上采样过程包括:图片经过卷积层处理,然后进行批归一化处理,然后利用激活函数进行激活;跨层链接过程包括:将下采样过程中的若干特征图添
加到上采样过程中对应尺度的特征图上;
采集无缺陷图片得到训练图片;
利用训练图片训练图片重构网络,得到训练后的图片重构网络;
采集待处理产品表面缺陷图片,将待处理产品表面缺陷图片输入训练后的图片重构网络,计算待处理产品表面缺陷图片与重构后的图片的特征值,并计算待处理产品表面缺陷图片与重构后的图片的特征值差值,基于特征值差值得到产品表面缺陷检测结果。
2.根据权利要求1所述的产品表面缺陷检测方法,其特征在于,图片重构网络使用3*3的卷积层输出与输入图片通道数相同的重构图片,并使用激活函数将图片重构网络输出限制在-1到1范围内。
3.根据权利要求1所述的产品表面缺陷检测方法,其特征在于,利用训练图片训练图片重构网络,得到训练后的图片重构网络,具体包括:
从训练图片集中提取若干原始图片,在提取的原始图片中添加随机缺陷或噪声,得到不良图片;
将不良图片输入图片重构网络进行计算,输出重构后的图片;
计算重构后的图片与对应原始图片之间的L1 loss与多尺度SSIM loss,并使用随机梯度下降法更新图片重构网络参数,训练至loss收敛时停止训练,得到训练后的图片重构网络。
4.根据权利要求3所述的产品表面缺陷检测方法,其特征在于,在提取的原始图片中添加随机缺陷的方式包括:在提取的原始图片中随机生成的几何图形,或从已采集的缺陷库中随机选取缺陷图块添加至提取的原始图片中,在提取的原始图片中添加噪声的方式包括:在提取的原始图片中随机产生噪声。
5.根据权利要求1所述的产品表面缺陷检测方法,其特征在于,使用SSIM特征算法计算出待处理产品表面缺陷图片与重构后的图片的SSIM特征值,并计算待处理产品表面缺陷图片与重构后的图片的SSIM特征值差值,得到特征值差值图,二值化处理特征值差值图得到产品表面缺陷检测结果。
6.根据权利要求1所述的产品表面缺陷检测方法,其特征在于,所述方法在获得训练图片后以及训练图片重构网络之前,还包括预处理训练图片,包括:
若训练图片的数量大于第一阈值,则筛选训练图片;
若训练图片的数量小于第二阈值,则对训练图片进行数据增强;
若训练图片的尺寸大于预设尺寸,则在训练图片上按固定步长滑动窗口裁剪出固定尺寸的图片块,作为后续训练图片使用。
7.根据权利要求6所述的产品表面缺陷检测方法,其特征在于,数据增强方法包括但不限于以下处理方式中的一种或几种,包括:随机裁剪训练图片、缩放训练图、旋转训练图、翻转训练图、随机调整训练图的亮度和随机调整训练图的对比度。
8.一种产品表面缺陷检测系统,其特征在于,所述系统包括:
图片重构网络构建单元,用于构建图片重构网络,图片重构网络对图片的处理过程包括:下采样过程、上采样过程和跨层链接过程;下采样过程包括:图片经过卷积层处理,然后进行批归一化处理,然后利用激活函数进行激活;上采样过程包括:图片经过卷积层处理,然后进行批归一化处理,然后利用激活函数进行激活;跨层链接过程包括:将下采样过程中的若干特征图添加到上采样过程中对应尺度的特征图上;
训练图片采集单元,用于采集无缺陷图片得到训练图片;
图片重构网络训练单元,用于利用训练图片训练图片重构网络,得到训练后的图片重构网络;
产品表面缺陷检测单元,用于采集待处理产品表面缺陷图片,将待处理产品表面缺陷图片输入训练后的图片重构网络,计算待处理产品表面缺陷图片与重构后的图片的特征值,并计算待处理产品表面缺陷图片与重构后的图片的特征值差值,基于特征值差值得到产品表面缺陷检测结果。
9.一种产品表面缺陷检测装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任意一个所述产品表面缺陷检测方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任意一个所述产品表面缺陷检测方法的步骤。
技术说明书
一种产品表面缺陷检测方法及系统及装置及介质
技术领域
本技术涉及智能制造与人工智能技术领域,具体地,涉及一种产品表面缺陷检测方法及系统及装置及介质。
背景技术
基于机器视觉的表面缺陷检测算法主要包括传统视觉方法与深度学习方法。
传统视觉方法主要是基于人工设计的视觉特征进行的,如分水岭算法,LBP特征法等,深度学习方法主要是基于卷积神经网络进行的,如Faster RCNN算法、MASK RCNN算法等。
目前在表面缺陷自动检测算法中深度学习方法的使用日趋流行。
目前使用深度学习的表面缺陷检测方法中,主要使用的是目标检测算法或语义分割算法等有监督学习方法。
该类方法在实际应用中主要面临四个问题,其一,需要采集大量缺陷图片作为训练数据,实际生产中低概率缺陷图片的采集需要较高的时间成本和人力成本;其二,基于已有训练图片进行的表面缺陷自动检测算法无法应对生产中可能发生的未知的缺陷表现形态,基于有监督学习的方法可以实现对训练数据集内包含的缺陷形态的较好的泛化效果,而实际生产过程中突发的未知的新缺陷不存在于已有训练图片中,算法可能发生缺陷的漏检,造成生产损失;其三,需要大量人工标注的缺陷图片,目标检测与语义分割等人工标注的成本较高,所需时间较长,导致算法对生产情况变化的响应较慢,及时性较差;其四,较难适应新产品图片,在有监督学习中,没有缺陷的良品图片是作为负图片进行学习的,对于不存在于训练数据中的新产品图片,其背景可能发生较大变化,因此可能导致算法对于缺陷的过检,为解决该问题,需要及时投入人力采集与标注新产品图片,进而优化模型,导致算法更新较慢。
技术内容
本技术提供了一种产品表面缺陷检测方法及系统及装置及介质,本技术仅使用良品图片进行表面缺陷检测,本技术基于全卷积神经网络,通过重构良品图片学习到对表面缺陷的修复能力,从而实现对于各种表面缺陷的像素级识别能力。
本技术更符合人类视觉进行缺陷检测的原理,可以在缺陷发生前仅使用良品采集的图片进行算法开发,不需要积累和标注大量的缺陷图片,节省了缺陷检测算法开发前期所需的人力投入。
本技术提供了一种产品表面缺陷检测方法,所述方法包括:
构建图片重构网络,图片重构网络对图片的处理过程包括:下采样过程、上采样过程和跨层链接过程;下采样过程包括:图片经过卷积层处理,然后进行批归一化处理,然后利用激活函数进行激活;上采样过程包括:图片经过卷积层处理,然后进行批归一化处理,然后利用激活函数进行激活;跨层链接过程包括:将下采样过程中的若干特征图添加到上采样过程中对应尺度的特征图上;
采集无缺陷图片得到训练图片;由于实际生产中良品的占比通常较高,收集其图片所需的人力成本较低,可以在短期内采集较大量的无缺陷图片,即前文所述良品图片;
利用训练图片训练图片重构网络,得到训练后的图片重构网络;
采集待处理产品表面缺陷图片,将待处理产品表面缺陷图片输入训练后的图片重构网络,计算待处理产品表面缺陷图片与重构后的图片的特征值,并计算待处理产品表面缺陷图片与重构后的图片的特征值差值,基于特征值差值得到产品表面缺陷检测结果。
其中,本技术的原理为:本技术提出的技术方案使用生产中易于采集的良品图片,即没有缺陷发生的图片,训练基于全卷积网络设计的图片重构网络,使图片重构网络学习到良品图片主要特征并能够对其进行重构。
在测试阶段,将包含缺陷的产品图片使用训练好的深度学习模型进行重构,重构后的图片可以较好的修复缺陷区域,即将缺陷区域抹除,通过对原图与重构后的图片使用LBP等传统计算机视觉方法进行特征提取,然后在特征层面对两图取差值,二值化处理差值图片,即可得到像素级的缺陷区域分割结果。
优选的,图片重构网络接受输入为1通道的灰图或者3通道的彩图,并通过卷积神经网络输出与输入图片通道数相同的重构图片,并利用激活函数将图片重构网络输出限制在-1到1范围内,然后通过线性变换将输出转换为0到255范围内的无符号8位整型数,即可得到重构图片。
优选的,利用训练图片训练图片重构网络,得到训练后的图片重构网络,具体包括:
从训练图片集中提取若干原始图片,在提取的原始图片中添加随机缺陷或噪声,得到不良图片;
将不良图片输入图片重构网络进行计算,输出重构后的图片;
计算重构后的图片与对应原始图片之间的L1 loss与多尺度SSIM loss,并使用随机梯度下降法更新图片重构网络参数,训练至loss收敛时停止训练,得到训练后的图片重构网络。
优选的,在提取的原始图片中添加随机缺陷的方式包括:在提取的原始图片中随机生成的几何图形,或从已采集的缺陷库中随机选取缺陷图块添加至提取的原始图片中,在提取的原始图片中添加噪声的方式包括:在提取的原始图片中随机产生噪声。
优选的,本技术使用SSIM特征算法计算出待处理产品表面缺陷图片与重构后的图片的SSIM特征值,并计算待处理产品表面缺陷图片与重构后的图片的SSIM特征值差值,得到特征值差值图,二值化处理特征值差值图,得到产品表面缺陷检测结果。
SSIM特征即结构相似性特征,是一种衡量两幅图片相似性的度量指标,可以同时考虑重构前后图片之间的亮度、对比度和结构的差异,相比hog特征、LBP特征等更适合度量重构前后图片的差异。
优选的,所述方法在获得训练图片后以及训练图片重构网络之前,还包括预处理训练图片,包括:
若训练图片的数量大于第一阈值,则筛选训练图片;筛选后作为训练图片的良品图片应能够覆盖实际生产场景中全部良品形貌,如包括多种产品,多种拍照设备,多种光照条件下的图片;
若训练图片的数量小于第二阈值,则对训练图片进行数据增强;例如生产良率较低,生产周期较长的情况导致无法短时间内采集大量良品图片数据,则在本步骤中对已采集到的良品数据进行数据增强处理,人为制造一些训练图片;
若训练图片的尺寸大于预设尺寸,则在训练图片上按固定步长滑动窗口裁剪出固定尺寸的图片块,作为后续训练图片使用。
由于使用大尺寸图片输入模型进行训练时,占用显存较多,训练时间较长,难度偏大,因此可在本步骤中在原良品图片上按固定步长滑动窗口裁剪出固定尺寸的图片块,作为后续训练图片使用。
优选的,数据增强方法包括但不限于以下处理方式中的一种或几种,包括:随机裁剪训练图片、缩放训练图、旋转训练图、翻转训练图、随机调整训练图的亮度和随机调整训练图的对比度。
其中,本方法与现有技术中的产品表面缺陷检测方法的区别在于:
1.现有方法是基于DCGAN网络进行图片重构,而本方法是使用基于REDNET的跨层连接网络实现图片重构,不包含GAN网络中的分辨器和生成器网络。
本方法使用的重构网络能够在保证重构质量与鲁棒性的前提下,获得比基于DCGAN网络更快的收敛速度,并且对于超参数的设置更鲁棒。
2.现有方法是使用生成器loss,分辨器loss与MSE loss,本方法是用L1 loss与多尺度SSIM loss等进行模型训练。
而基于L1 loss与多尺度SSIM loss能够更好的综合局部与全局特征,防止模型出现过拟合,提高重构质量。
3.现有方法使用LBP特征进行缺陷区域分割,本方法使用SSIM特征进行缺陷区域分割。
基于SSIM的分割方法可以获得比LBP等特征更好的分割效果。
与本方法对应,本技术还提供了一种产品表面缺陷检测系统,所述系统包括:
图片重构网络构建单元,用于构建图片重构网络,图片重构网络对图片的处理过程包括:下采样过程、上采样过程和跨层链接过程;下采样过程包括:图片经过卷积层处理,然后进行批归一化处理,然后利用激活函数进行激活;上采样过程包括:图片经过卷积层处理,然后进行批归一化处理,然后利用激活函数进行激活;跨层链接过程包括:将下采样过程中的若干特征图添加到上采样过程中对应尺度的特征图上;
训练图片采集单元,用于采集无缺陷图片得到训练图片;
图片重构网络训练单元,用于利用训练图片训练图片重构网络,得到训练后的图片重构网络;
产品表面缺陷检测单元,用于采集待处理产品表面缺陷图片,将待处理产品表面缺陷图片输入训练后的图片重构网络,计算待处理产品表面缺陷图片与重构后的图片的特征值,并计算待处理产品表面缺陷图片与重构后的图片的特征值差值,基于特征值差值得到产品表面缺陷检测结果。
本技术还提供了一种产品表面缺陷检测装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述产品表面缺陷检测方法的步骤。
本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述产品表面缺陷检测方法的步骤。
本技术提供的一个或多个技术方案,至少具有如下技术效果或优点:
使用本技术提出的仅使用良品图片进行训练的表面缺陷检测方法及系统及装置及介质,可以避免传统缺陷检测算法中对于大量缺陷图片的依赖,可以在缺陷实际发生前具备检测缺陷的能力。
传统表面缺陷检测算法为实现像素级的分割效果,需要投入大量的人力成本进行缺陷标注,而本技术仅需要采集无缺陷的良品图片即可实现像素级的缺陷分割,节省了引入缺陷检测系统带来的额外人力投入。
实际生产中使用本技术提取缺陷区域后,可结合缺陷分类算法对缺陷类别进行细分,为良率提升与精细化生产提供数据支撑。
本方法相比现有的基于良品图片的无监督缺陷分割算法,创造性的使用基于卷积神经网络与跨层链接的图片重构网络与多尺度的SSIM loss,可获得比现有方法更快的收敛速度与重构质量,可适应布匹,金属,木材等多种纹理图片。
本方法使用SSIM特征算法与OTSU二值化方法,可以获得比现有方法更加鲁棒,对于局部噪声更加不敏感的缺陷区域提取效果。
附图说明
此处所说明的附图用来提供对本技术实施例的进一步理解,构成本技术的一部分,并不构成对本技术实施例的限定;
图1是本技术中产品表面缺陷检测方法的流程示意图;
图2是本技术中产品表面缺陷检测系统的组成示意图。
具体实施方式
为了能够更清楚地理解本技术的上述目的、特征和优点,下面结合附图和具体实施方式对本技术进行进一步的详细描述。
需要说明的是,在相互不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本技术,但是,本技术还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本技术的保护范围并不受下面公开的具体实施例的限制。
实施例一
本技术实施例一提供了一种产品表面缺陷检测方法,请参加图1,图1为产品表面缺陷检测方法的流程示意图,所述方法包括:
步骤1:进行基于全卷积网络的深度卷积神经网络结构设计,该网络处理图片的过程主要包括:下采样过程、上采样过程和跨层链接过程。
下采样过程包括:多层3*3卷积,批归一化(batch normalize)和relu激活函数。
上采样过程包括2倍上采样,即使用插值算法将输入特征图尺寸扩大到两倍,卷积层,批归一化和relu激活函数。
下采样过程中的若干特征图直接加到上采样过程中对应尺度的特征图上,构成了跨层链接过程。
在模型的最后部分使用一个3*3的卷积层输出包含三个通道的重构图片,并使用tanh激活函数将输出限制在-1到1范围内。
步骤2:在生产环境中采集良品图片。
由于实际生产中良品的占比通常较高,收集其图片所需的人力成本较低,可以在短期内得到较大量的无缺陷图片,即前文所述良品图片。
步骤3:若步骤2中收集到的良品图片数量较大,包含的重复信息较多,在本步骤中可对收集到的良品图片进行人工或随机筛选。
筛选后作为训练图片的良品图片应能够覆盖实际生产场景中全部良品形貌,如包括多种产品,多种拍照设备,多种光照条件下的图片。
步骤4:若步骤2中收集到的良品图片数量较少,例如生产良率较低,生产周期较长的情况导致无法短时间内采集大量良品图片数据,则在本步骤中对已采集到的良品数据进行数据增强处理,人为制造一些训练图片,主要数据增强方法包括:随机裁剪,缩放,旋转,翻转,随机亮度,随机对比度等。
需注意的是,在数据增强过程中,不能引入可能将良品图片处理为某种缺陷形态的操作,例如颜色抖动,随机噪声,仿射变换等。
具体使用的数据增强方法需要根据生产产品的实际情况决定。
步骤5:若处理后的良品图片尺寸较大,细节较多,特征较复杂,可在本步骤中在原良品图片上按固定步长滑动窗口裁剪出固定尺寸的图片块,作为后续训练图片使用,因为使用大尺寸图片作为模型输入进行训练时,占用显存较多,训练时间较长,难度偏大。
步骤6:训练模型。
依次从训练图片集中提取一个批次,即固定数量的一组图片,并在该批次的良品图片上添加随机缺陷或噪声,主要添加人工缺陷的方法包括随机生成的几何图形,随机产生的噪声及从已采集的缺陷库中随机选取的缺陷图块。
将添加过缺陷的图片进入网络计算,生成重构后的图片,计算重构后的图片与原图之间的L1 loss与多尺度SSIM loss,常用的设置为窗口大小分别为3,7,11的SSIM loss,并使用随机梯度下降法更新模型参数。
训练到loss收敛时即可停止训练。
步骤7:在推断阶段,使用训练好的重构网络重构可能包含缺陷的图片,得到重构后的图片。
若模型训练效果较好,重构后的图片中,缺陷部分大概率能够被淡化或完全消除。
步骤8:使用SSIM特征算法计算出原图与重构后的图片的SSIM特征,并对两图的SSIM特征计算差值。
被修复的缺陷部分对应的差值较大,可在差值图上使用OTSU(大津法)法或使用固定阈值进行二值化,即可得到缺陷区域的像素级分割结果。
使用SSIM特征算法可以更好的结合重构前后图片的局部和全局特征,对于局部噪声更加鲁棒,对于由SSIM特征算法获得的重构前后图片的差值,使用OSTU方法可以动态的计算二值化阈值,从而将缺陷区域,即差值较大的区域分割出来。
实施例二
本技术实施例二提供了一种产品表面缺陷检测系统,所述系统包括:
图片重构网络构建单元,用于构建图片重构网络,图片重构网络对图片的处理过程包括:下采样过程、上采样过程和跨层链接过程;下采样过程包括:图片经过卷积层处理,然后进行批归一化处理,然后利用激活函数进行激活;上采样过程包括:图片经过卷积层处理,然后进行批归一化处理,然后利用激活函数进行激活;跨层链接过程包括:将下采样过程中的若干特征图添加到上采样过程中对应尺度的特征图上;
训练图片采集单元,用于采集无缺陷图片得到训练图片;
图片重构网络训练单元,用于利用训练图片训练图片重构网络,得到训练后的图片重构网络;
产品表面缺陷检测单元,用于采集待处理产品表面缺陷图片,将待处理产品表面缺陷图片输入训练后的图片重构网络,计算待处理产品表面缺陷图片与重构后的图片的特征值,并计算待处理产品表面缺陷图片与重构后的图片的特征值差值,基于特征值差值获得产品表面缺陷检测结果。
实施例三
本技术实施例三提供了一种产品表面缺陷检测装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述产品表面缺陷检测方法的步骤。
实施例四
本技术实施例四提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述产品表面缺陷检测方法的步骤。
所述产品表面缺陷检测装置可以是桌上型计算机、笔记本、掌上电脑以及云端服务器等计算设备。
所述装置可包括,但不仅限于,处理器、存储器。
本领域技术人员可以理解,所述装置还可以包括输入输出设备、网络接入设备、总线等。