基于正样本的表面缺陷检测

浩瀚之水_csdn 浩瀚之水_csdn     2023-02-20     182

关键词:

表面缺陷检测在工业生产中起着非常重要的作用,基于机器视觉的表面缺陷检测可以极大的提升工业生产的效率。随着近年来深度学习在计算机视觉领域的发展,卷积神经网络在诸多图像任务上都取得了显著的效果,然而这些方法往往是需要大量标注数据的有监督学习。在实际的工业场景中,缺陷样本往往是难以收集的,而且标注的成本也十分巨大。针对上述有监督学习在实际应用中存在的问题,本文提出了一种仅基于正样本训练的缺陷检测方法。训练过程中只需要提供足够的正样本,无需缺陷数据和手动标注,也可以取得较好的缺陷检测效果,具有较高的应用价值。

1  介  绍    

机器视觉表面缺陷检测在工业生产中扮演着重要的角色。传统都是直接人工肉眼鉴别是否存在表面缺陷,不仅耗费人力且不能准确识别缺陷。

机器视觉可以替代人眼进行检测,但在实际应用中仍面临很多挑战,尤其是近几年的传统图像算法解决方案基于经验手工设计,算法存在精度较低且不够鲁棒的问题,特别是在诸如打光、形变、失真和遮挡等复杂的场景中。现今深度学习在特征提取方面有着亮眼的表现,在诸多有监督的任务上都取得了优质的表现,例如分类、目标检测和图像分割。

同时,近年来也涌现了不少用卷积神经网络来进行缺陷检测的方案,其中最常见的是直接利用目标检测网络如Faster RCNN或者SSD对缺陷进行定位和分类。也有先用目标检测进行粗定位,然后用FCN进行语义分割得到精确定位的方法,这种方法可以得到缺陷的精准轮廓,但是这些方法都属于有监督的学习,在实际的工业应用中存在以下问题:

缺少缺陷样本:在实际应用中,用于训练的缺陷样本往往是非常稀少且难以获取的。因此在训练过程中正负样本是非常不均衡的,这极大的限制了模型的性能,甚至导致模型完全不可用。在缺陷外观多变的场景下,有监督学习的方法往往无法满足正常的生产需求。

人工标注成本高昂:实际的工业缺陷检测场景中,通常存在许多不同种类的缺陷,检测的标准和质量指标往往也不同。这就需要人为标注大量的训练数据来满足特定需求,这需要付出大量的人力资源。

2 相关工作  

2.1基于正样本的修复模型

本文的灵感来自于一系列基于对抗生成网络GAN的检测和修复模型。GAN的基本框架如图1,主要包括生成器G和判别器D两个部分。生成器G接收从一个高斯分布中随机采样的信号来生成图片,判别器D接收真实图片和生成器生成的虚假图片并区分它们。生成器和判别器在训练时不断对抗从而改善生成图片的质量。

之前有学者使用GAN来进行图像修复。首先使用正常的无缺陷图片来训练GAN,然后再修复已知位置的缺陷时,我们优化生成器的输入z,获得最优的z来让重建图片y和缺陷图片的正常部分最大程度的接近。 另外一个基于图像修复的缺陷检测算法的做法是用中间层的重建误差来重建图像而无需知道缺陷的位置,通过重建图片和原始图片的差异来定位缺陷。

2.2 自编码器

Pix2pix 用自编码器和GAN联合解决图像迁移任务。它可以生产清晰而真实的图像。为了获得质量更佳的细节和边缘,pix2pix使用了类似unet的跨层链接。该结构并不利于去除整个缺陷,因此我们的模型没有使用这个结构。一般自编码器用于图像风格迁移等任务,如给黑白图像上色或者将照片转化为简笔画等。我们用自编码器完成图像重建的任务。

在上述工作的基础上本文完成了以下工作:

(1) 使用自编码器重建图像。我们通过加入GANloss来让生成的图像更加真实。

(2) 在训练时人工加入缺陷,不依赖大量的真实缺陷数据,也不用人工标注。

(3) 使用LBP算法来对比重建图片和原始图片,从而定位缺陷。

3  方  案   

3.1基本框架图

本文提出的模型的基本框架如图2

图2. 网络框架

C(x~|x)是设计的一个人工制造缺陷的模块,在训练阶段,通过该模块将训练集x人为的加上缺陷得到缺陷图片x~。EN为编码器,它将输入的缺陷图片x~映射为一个潜在变量z ,DE为解码器,它将潜在变量z重新建模成图片y。EN和DE共同组成一个自编码器,作为GAN中的生成器,其任务便是让输出的图片y不断接近正常的图片x。判别器D用来判断其输入是来自于真实的训练集还是生成器的输出图片。通过对抗训练,生成器G便拥有了修复缺陷的能力。

在测试阶段,将之前训练好的自编码器G作为修复模块,将测试图片x输入到自编码器G中,获得修复后的图片y。修复图片y和原图作为输入一起用LBP算法来提取特征并对比,从而定位缺陷。

3.2 损失函数

缺陷样本在经过自编码器G重建后应该与原始的正常图片相同,本文参考pix2pix,用L1距离来表征它们的相似程度。

然而在实验中发现,如果仅仅使用L1 loss来作为目标函数,获取的图像边缘会变得模糊而且会丢失细节。本文通过加入判别器D,用GAN loss来改善图像质量,提升重建效果。

因此最终的优化目标如下:

3.3 网络结构细节

本文的网络结构参考了DCGAN。在生成器和判别器中增加batchnorm层。在判别器中使用LeakyRelu激活函数,在生成器中使用Relu激活函数。

在本文的模型中,自编码器只需要将图片修复成最接近的样本图片,并不在乎缺陷的具体形式。在实际训练过程中,人为的随机生成不同位置、大小、灰度和数量的缺陷块到图片中,如图3。

图3. 人工缺陷示意图

数据增强方面,本文在0.5到2之间进行尺度变换,并随机加入-180和180°的旋转以及随机高斯模糊。

3.4定位缺陷

由于重建后的图片和原始图片在细节上存在一些误差,我们不能直接将原始图片和修复图片做差分来得到缺陷位置。本文使用LBP算法来进行特征提取,并匹配每个像素。具体流程如图4。

图4. 定位缺陷的过程

将原始图像x和修复图像y输入到LBP模块,提取出特征图x+和y+。对于x+的所有像素点,在y+中对应位置搜索最匹配的特征点,从而对齐了特征。最后逐个对比匹配点之间的特征值,通过设置一个阈值来筛选,便可以得到缺陷的位置。

4

实验效果

本文在DAGM表面纹理数据集和纺织物数据集上做了实验来检验性能。并与FCN算法进行比较。使用平均精度来作为衡量标准。

4.1表面纹理缺陷

纹理表面有着较好的一致性,所以在训练集中有足够的缺陷样本来学习。

表1. 表面纹理数据集的测试信息

训练集

本文:400张无缺陷图FCN: 85张带缺陷图+400张无缺陷图

测试集

85张带缺陷图

图像尺寸

512*512

表4. 纺织图片数据集的测试结果

模型

平均精度

耗时

FCN(8s)

81.6833

31.2ms

本文

94.4253%

22.3ms

图5. (A) 初始输入图片 (B) 重建图片 (C) 本文的结果 (D) FCN的结果 (E) 真实标签

4.2 纺织物图片

由于真实场景中的纺织物的不同样式,训练集中的缺陷样本很少。在实验里共有五种缺陷,每种缺陷有五张图片,还有25张正样本。对于语义分割模型,每种缺陷图像中3张作为训练集,2张为测试集。

表3. 纺织图片数据集的测试信息

模型

平均精度

耗时

FCN(8s)

98.3547%

80.3ms

本文

98.5323%

52.1ms

表4. 纺织图片数据集的测试结果

模型

平均精度

耗时

FCN(8s)

81.6833

31.2ms

本文

94.4253%

22.3ms

图6. (A) 初始输入图片 (B) 重建图片 (C) 本文的结果 (D) FCN的结果 (E) 真实标签

实验表明,在规则的背景下,当标记缺陷样本足够时,本文的精度接近有监督的语义分割模型,当缺陷样本不足时,本文的模型要强于语义分割。而且本文提出的模型速度更快,可实时运行。

5

  结  论   

本文提出了一种结合自编码器和GAN的缺陷检测算法,无需负样本和人工标注。在训练时通过数据增强和人为加入缺陷,该模型可以自动修复规则纹理图像的缺陷,并定位缺陷的具体位置。在训练集中标注缺陷较少乃至没有的情况时,本文的模型可以取得比有监督模型更好的结果。

木材表面缺陷如何检测?

基于机器视觉的木材表面缺陷的在线检测技术研究基于莫士特科技机器视觉技术和模式识别理论的木材表面缺陷检测技术,具有无损性、快速性、准确性和经济性等优点,对锯材等级分选、提高锯材商品质量和加速木材加工自动化... 查看详情

表面缺陷检测基于yolov7的钢板表面缺陷检测(ubuntu系统)(代码片段)

...ugustqi。今天手把手带大家做一个深度学习实战项目:基于yolov7的钢板表面缺陷检测(Ubuntu系统)。多的不说,少的不唠,下面开始今天的教程。  以下内容,完全是我根据参考资料和个人理解撰写出来的,不... 查看详情

缺陷检测基于matlab形态学液晶显示器表面缺陷检测含matlab源码1304期

一、形态学检测简介1图像分析及预处理拍摄图像会产生随机的扰动,图像有一定的噪声,为消除掉图像中的无关信息,对图像进行预处理。1.1灰度化为降低运算量,需要将拍摄的三通道的RGB图像转化为单通道的灰度图像。采用... 查看详情

基于pix2pix的数据增强方法在工业芯片表面缺陷检测中的应用

查看详情

基于pix2pix的数据增强方法在工业芯片表面缺陷检测中的应用

查看详情

毕设题目:matlab瑕疵检测

...R、G、B值范围,依据此范围识别瑕疵红枣,据此研究出一种基于RGB值的识别算法,利用Matlab实现了必要的图像预处理以及检测算法,并经过了实验验证,2现成案例(代码+参考文献)1【缺陷检测】基于matlabGUI形态学PCB电路板... 查看详情

表面缺陷检测,当机器拥有视觉

...术,加以判断甄别,减少人工工作量和失误。现在,各种基于人工智能、机器学习、深度学习的自动检测、探伤、表面缺陷检测的产品部署在一条条生产线上。当你买到拿到心仪的产品的时候,映入眼帘的,就是它的外观,这是... 查看详情

合肥工业大学2021届物联网工程毕业设计《基于pix2pix的数据增强方法在工业芯片表面缺陷检测中的应用》(代码片段)

...2021届物联网工程毕业设计(代码):  《基于pix2pix的数据增强方法在工业芯片表面缺陷检测中的应用》  GraduationprojectofInternetofThingsofHefeiUniversityofTechnologyin2021  ApplicationofDataEnhancementMethodBasedonpi 查看详情

毕设论文基于pix2pix的数据增强方法在工业芯片表面缺陷检测中的应用(合肥工业大学2021届物联网工程毕业论文)

  论文的tex源码已经上传到GitHub了。基于pix2pix的数据增强方法在工业芯片表面缺陷检测中的应用Applicationofdataenhancementmethodbasedonpix2pixinSurfaceDefectDetectionofIndustrialChips摘要  工业芯片被广泛应用于各个领域,种类繁多,... 查看详情

基于matlab形态学水果蔬菜缺陷检测

文件大小:7.4M代码行数:267行(主函数)开发环境:Matlab2020点击下载:点击下载简要概述:在Matlab中使用k均值分割和Otsu阈值检测水果和蔬菜中的缺陷。检测到外部和内部缺陷。对于外部缺陷,对图像中的水... 查看详情

基于matlab形态学水果蔬菜缺陷检测

文件大小:7.4M代码行数:267行(主函数)开发环境:Matlab2020点击下载:点击下载简要概述:在Matlab中使用k均值分割和Otsu阈值检测水果和蔬菜中的缺陷。检测到外部和内部缺陷。对于外部缺陷,对图像中的水... 查看详情

苹果分类基于matlab机器视觉苹果疾病识别分类含matlab源码2325期

⛄一、简介0引言苹果分级是根据苹果大小、形状、色泽和表面缺陷等几个方面进行的。当前成熟的分级方法是质量分级和大小分级。这两种分级方法实现了苹果分级的部分自动化,分级过程中的形状、色泽和表面缺陷检测和分类... 查看详情

苹果分类基于matlab机器视觉苹果疾病识别分类含matlab源码2325期

⛄一、简介0引言苹果分级是根据苹果大小、形状、色泽和表面缺陷等几个方面进行的。当前成熟的分级方法是质量分级和大小分级。这两种分级方法实现了苹果分级的部分自动化,分级过程中的形状、色泽和表面缺陷检测和分类... 查看详情

缺陷检测相关论文阅读总结(记录自己读过的论文主要内容/ideas)

...议私信/csdn文章评论区/Gitee提出issues均可;MainContents基于深度学习的表面缺陷检测方法综述ContentSummary介绍了表面缺陷检测中不同场景下的成像方案,又从四个方向说明了表面缺陷检测的方法:基于全监督学习、半监... 查看详情

论文解读用于弱监督表面缺陷分割的缺陷注意模板循环对抗网络(defectattentiontemplategenerationcycleganforweaklysupervised)

...码器的标签上,以增加模型对缺陷区域的关注。同时基于SSIM和L1设计了缺陷循环一致损失以提高模型对结构与灰度特征的检测能力。论文英文名:DefectattentiontemplategenerationcycleGANforweaklysupervisedsurfacedefectsegmentation论文链接&... 查看详情

机器视觉之表面缺陷检测

曾有一个科研项目,青岛啤酒厂委托,研究啤酒瓶的质量检测。一般这种玻璃瓶会有一定次品、不良品,特征是,内部细细的裂缝纹路长度长于一定限制,那么这种啤酒瓶在运输或者开瓶盖的过程中就有炸裂... 查看详情

缺陷识别基于matlabguisvm金属表面缺陷分类与测量(带面板)含matlab源码1652期

一、简介(附lunwen、答辩PPT)1题目内容金属板广泛应用在工业生产与生产生活的各方面。由于金属板制造过程涉及到的设备、工艺等多因素的影响,金属板表面容易出现种类较多、形态各异的缺陷,这些缺陷对金... 查看详情

python-opencv表面缺陷检测(模式识别)(代码片段)

对于现在很多工业检测,特别是对一些精密的器件进行筛选,往往都是像素级别的,十分的精确。主要思想将图像转化为二值图像在对图像进行腐蚀/膨胀处理在进行轮廓检测筛选目标大小符合的轮廓(排除误差小... 查看详情