0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

机器视觉自动化 来源:工业机器人培训 作者:工业机器人培训 2021-05-29 10:23 次阅读

背 景

表面缺陷检测工业生产中起着非常重要的作用,基于机器视觉的表面缺陷检测可以极大的提升工业生产的效率。随着近年来深度学习计算机视觉领域的发展,卷积神经网络在诸多图像任务上都取得了显著的效果,然而这些方法往往是需要大量标注数据的有监督学习。

在实际的工业场景中,缺陷样本往往是难以收集的,而且标注的成本也十分巨大。针对上述有监督学习在实际应用中存在的问题,本文提出了一种仅基于正样本训练的缺陷检测方法。训练过程中只需要提供足够的正样本,无需缺陷数据和手动标注,也可以取得较好的缺陷检测效果,具有较高的应用价值。

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

cf1adf96-bfc5-11eb-9e57-12bb97331649.png

图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距离来表征它们的相似程度。

cf31438a-bfc5-11eb-9e57-12bb97331649.png

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

cf58c964-bfc5-11eb-9e57-12bb97331649.png

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

cf6ec340-bfc5-11eb-9e57-12bb97331649.png

3.3网络结构细节

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

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

cfa28ad6-bfc5-11eb-9e57-12bb97331649.png

图3. 人工缺陷示意图

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

3.4定位缺陷

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

cfe7da6e-bfc5-11eb-9e57-12bb97331649.png

图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

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

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

5 结 论

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

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 解码器
    +关注

    关注

    9

    文章

    1073

    浏览量

    40146
  • 编码器
    +关注

    关注

    41

    文章

    3360

    浏览量

    131479
  • GaN
    GaN
    +关注

    关注

    19

    文章

    1762

    浏览量

    67905
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24347

原文标题:基于正样本的表面缺陷检测

文章出处:【微信号:jiqishijue2020,微信公众号:机器视觉自动化】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    赛默斐视X射线薄膜测厚仪与薄膜表面缺陷检测

    的及时检测显得尤为重要。X射线薄膜测厚仪作为一种先进的检测设备,为薄膜表面缺陷检测提供了有效的解决方案。 薄膜
    的头像 发表于 04-17 15:52 83次阅读

    基于深度学习的芯片缺陷检测梳理分析

    虽然表面缺陷检测技术已经不断从学术研究走向成熟的工业应用,但是依然有一些需要解决的问题。基于以上分析可以发现,由于芯片表面缺陷的独特性质,通
    发表于 02-25 14:30 294次阅读
    基于深度学习的芯片<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>梳理分析

    2023年工业视觉缺陷检测经验分享

    表面缺陷检测任务是指通过对产品表面进行仔细的检查和评估,以发现和识别任何不符合质量标准或设计要求的表面
    发表于 02-21 14:31 164次阅读
    2023年工业视觉<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>经验分享

    良品学习在高良率制造业中缺陷检测的应用

    电子制造行业正逐步迈向高度“数智化”时代,越来越多的企业开始采用AI机器视觉技术进行缺陷检测和品质管控。由于良品率极高,在大量正常的产品中,收集缺陷样本既耗时又低效。而模拟制造
    的头像 发表于 01-26 08:25 207次阅读
    良品学习在高良率制造业中<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>的应用

    墙体机器视觉金属复杂表面缺陷的分类及成因

    检测过程中金属工件的复杂表面会增加表面缺陷检测难度,在本文研究中,金属工件为手机内部芯片屏蔽罩,其表面
    发表于 10-18 10:44 204次阅读
    墙体机器视觉金属复杂<b class='flag-5'>表面</b><b class='flag-5'>缺陷</b>的分类及成因

    项目案例:基于YOLO的铝型材表面缺陷识别

    方法多采用传统机器视觉算法,通过图像形态学处理与特征提取进行缺陷识别,往往需要根据不同形态的缺陷特征,设计不同的特征提取与识别算法。铝型材表面缺陷形态不规则、位置随机且大小不一,采用传
    的头像 发表于 10-08 15:30 536次阅读
    项目案例:基于YOLO的铝型材<b class='flag-5'>表面</b><b class='flag-5'>缺陷</b>识别

    基于改进FCOS的表面缺陷检测算法

    首先使用深度卷积神经网络提取输入图像特征图,然后使用分类网络、回归网络、中心度网络对特征图上的所有特征点逐个进行检测,分类网络输出原图上以此特征点为中心的区域所含缺陷类别,回归网络输出原图上以此特征
    发表于 09-28 09:41 241次阅读
    基于改进FCOS的<b class='flag-5'>表面</b><b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>算法

    基于机器视觉的表面缺陷检测技术研究

    表面缺陷是工业产品生产中不可避免的问题,如果不及时发现处理,将会影响产品的外观质量及性能,导致企业生产效益下降。现如今,基于机器视觉的表面检测方法在很多现代化企业中得到了广泛的应用,在
    的头像 发表于 09-27 11:09 373次阅读

    工业产品表面缺陷检测方法研究

    了工业表面缺陷检测中常见的关键问题及其解决方法;关键问题包括实时问题、小样本问题、小目标问题、不平衡样本问题。最后对近年来常用的工业
    的头像 发表于 08-17 11:23 581次阅读
    工业产品<b class='flag-5'>表面</b><b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>方法研究

    基于Halcon图像处理的表面缺陷检测方案

    本文采用Halcon图像处理软件来搭建工业标签表面缺陷检测检测系统,主要检测过程为:利用工业相机对传送带上待检的工业标签进行图像采集和预处
    发表于 07-13 12:19 858次阅读
    基于Halcon图像处理的<b class='flag-5'>表面</b><b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>方案

    新材料检测必备实验室资源:表面检测

    新材料表面检测,多会面临表面缺陷检测表面瑕疵检测
    的头像 发表于 07-07 10:02 653次阅读
    新材料<b class='flag-5'>检测</b>必备实验室资源:<b class='flag-5'>表面</b><b class='flag-5'>检测</b>

    机器视觉中的表面缺陷检测有什么用?

    表面缺陷检测是机器视觉技术的一种,通常是指检测物品表面的瑕疵,利用计算机视觉模拟人眼视觉的功能,对图像进行采集、处理和计算,最后对特定物体进
    发表于 06-30 11:50 381次阅读
    机器视觉中的<b class='flag-5'>表面</b><b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>有什么用?

    如何在缺陷样本少的情况下实现高精度的检测

    样本少的情况下实现高精度的检测呢?目前有两种方法,一种是小样本学习,另一种是用GAN。本文将介绍一种GAN用于无缺陷样本产品
    的头像 发表于 06-26 09:54 775次阅读
    如何在<b class='flag-5'>缺陷</b><b class='flag-5'>样本</b>少的情况下实现高精度的<b class='flag-5'>检测</b>

    基于GAN的零缺陷样本产品表面缺陷检测

    少的情况下实现高精度的检测呢?目前有两种方法,一种是小样本学习,另一种是用GAN。本文将介绍一种GAN用于无缺陷样本产品表面
    的头像 发表于 06-26 09:49 615次阅读
    基于GAN的零<b class='flag-5'>缺陷</b><b class='flag-5'>样本</b>产品<b class='flag-5'>表面</b><b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>

    高效扩充样本库 | AIDG AI 样本生成器 2.0 焕新而来

    高质量样本有利于快速构建理想的深度学习模型,然而在动力电池、3C电子、汽车制造等高良率的生产场景中,想要获取足够数量的缺陷样本用于AI品质检测,可能需要做出额外的努力。用图像处理软件制
    的头像 发表于 05-08 09:41 1077次阅读
    高效扩充<b class='flag-5'>样本</b>库 | AIDG AI <b class='flag-5'>样本</b>生成器 2.0 焕新而来