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

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

3天内不再提示

深度学习在表面缺陷检测领域的概述

新机器视觉 来源:新机器视觉 作者:新机器视觉 2021-01-27 10:57 次阅读

近年来,随着深度学习的快速发展,基于卷积神经网络(CNN)的计算机视觉技术在工业领域得到了广泛的应用。目前,机器视觉表面缺陷检测是CNN在工业上最成熟的应用之一。接下来我们将介绍深度学习在表面缺陷检测领域的概述。

450047f2-6042-11eb-8b86-12bb97331649.png

01

缺陷检测问题的定义

1.1 缺陷的定义

当前对于缺陷有两种认知的方式,第一种是有监督的方法,也就是体现在利用标记了标签(包括类别、矩形框或逐像素等)的缺陷图像输入到网络中进行训练. 此时"缺陷"意味着标记过的区域或者图像。第二种是无监督的方法,就是将正常无缺陷的样本进行学习,学习正常区域的特征,网络检测异常的区域。

1.2 缺陷检测任务

缺陷检测的任务大致分为三个阶段分别是缺陷分类、缺陷定位、缺陷分割,如下图所示,缺陷分类需要分类出缺陷的类别(异色、空洞、经线);缺陷定位不仅需要获取缺陷的类别还需要标注出缺陷的位置;缺陷分割将缺陷逐像素从背景中分割出来。

4a3d7230-6042-11eb-8b86-12bb97331649.png

02

表面缺陷检测的深度学习方法

根据缺陷检测的三个阶段其方法大致可以分为三类分别是分类网络、检测网络、分割网络。

2.1分类网络

由于CNN强大的特征提取能力, 采用基于CNN的分类网络目前已成为表面缺陷分类中最常用的模式一般来说,现有表面缺陷分类的网络常常采用计算机视觉中现成的网络结构, 包括AlexNet, VGG, GoogLeNet,ResNet, DenseNet, SENet, ShuteNet,MobileNet等。利用分类网络结合上滑动窗口的方式可以实现缺陷的定位。

Deep learning-based crack damage detection using convolutional neural networks

检测对象:混凝土裂缝 主要方法:最早采用基于滑动窗口的CNN分类网络实现了裂纹表面缺陷定位, 两种滑动窗口冗余路径结合实现图像全覆盖, 如图所示, 图中(a)为滑动窗口路径示意图, 图中(b)为裂纹定位的结果图。

4d9a3062-6042-11eb-8b86-12bb97331649.png

A fast and robust convolutional neural network-based defect detection model in product quality control 检测对象:布匹缺陷 主要方法:作者使用一个多层的CNN网络对布匹缺陷数据集中的六类缺陷样本进行分类,分类结束之后,对于每一类样本进行缺陷检测。具体做法是:1.使用滑动窗口的方法在512×512的原图上进行采样,采样大小为128×128;2.对上部分每一类图像采样后的小图像块进行二分类(有缺陷和无缺陷)。下图为文章两次分类使用的CNN网络,两次分类的区别在于:1.全连接层的输入分别为6和2;2.输入的图像尺寸不同。

5436582e-6042-11eb-8b86-12bb97331649.png

滑动窗口:

5473a620-6042-11eb-8b86-12bb97331649.png

2.2 检测网络

目标定位是计算机视觉领域中最基本的任务之一, 同时它也是和传统意义上缺陷检测最接近的任务, 其目的是获得目标精准的位置和类别信息。目前, 基于深度学习的目标检测方法层出不穷, 一般来说, 基于深度学习的缺陷检测网络从结构上可以划分为: 以Faster R-CNN为代表的两阶段(two stage)网络和以SSD或YOLO为代表的一阶段(one stage)网络。两者的主要差异在于两阶段网络需要首先生成可能包含缺陷的候选框(proposal), 然后在进一步进行目标检测。一阶段网络直接利用网络中提取的特征来预测缺陷的位置和类别。

TDD-net: atiny defect detection networkforprinted circuit boards

检测对象:PCB缺陷

主要方法:作者提出了一种针对PCB表面缺陷检测网络(TDD-Net), 该方法通过使用k均值聚类设计合理锚框大小, 其次引入多尺度金字塔网络(FPN)到Faster RCNN中, 加强了来自底层结构信息的融合, 使得网络适应微小的缺陷检测。最后, 考虑到小数据集和样本不平衡的特点, 在训练阶段采用了在线困难样本挖掘(OHEM)技术.该方法在PCB缺陷数据集上达到了98.90%的mAP。图 a 是没有加入FPN的结构,通过特征可视化图片可以看到,随着提取特征层数的增加,电路板的特征越来越模糊,图 b 是加入FPN结构后的可视化图片。

55fd87e0-6042-11eb-8b86-12bb97331649.png

An End-to-end Steel Surface Defect Detection Approach via Fusing Multiple Hierarchical Features

检测对象:钢表面缺陷 主要方法:基于Faster R-CNN的带钢表面缺陷检测网络, 该网络的改进在于提出的多级特征融合网络(MFN)将多个分层特征组合成一个特征,其可以包括缺陷的更多位置细节。基于这些多级特征,采用区域提议网络(RPN)来生成感兴趣区域(ROI).在缺陷检测数据集NEU-DET上, 提出的方法在采用ResNet-50的backbone下实现了82.3%的mAP。

59cc8830-6042-11eb-8b86-12bb97331649.png

Automatic Defect Detection of Fasteners on theCatenary Support Device Using Deep Convolutional Neural Network

检测对象:紧固件缺陷缺陷检测 主要方法:作者将深度卷积神经网络(DCNNs)应用到高铁线路紧固件缺陷检测。结合SSD、YOLO等网络方法构建了一个从粗到细的级联检测网络。其过程如下图所示,分成三个阶段,第一阶段采用SSD网络对钢材的悬臂节点及其紧固件进行定位,第二阶段crop出紧固件的图片输入到YOLO网络定位缺陷位置,第三阶段一个分类器对紧固件缺陷进行分类。

5e95516c-6042-11eb-8b86-12bb97331649.png

2.2 分割网络

分割网络将表面缺陷检测任务转化为缺陷与正常区域的语义分割甚至实例分割问题, 它不但能精细分割出缺陷区域, 而且可以获取缺陷的位置、类别以及相应的几何属性(包括长度、宽度、面积、轮廓、中心等)。按照分割功能的区别, 其大致可以分为:FCN(Fully Convolutional Networks)方法和Mask R-CNN方法两种。

(1)FCN(Fully Convolutional Networks)方法

Automatic Metallic Surface Defect Detection and Recognition with Convolutional Neural Networks 检测对象:金属表面缺陷 主要方法:该方法是基于FCN网络的改进,提出的一种能够对缺陷进行像素级分割和分类的网络,整个网络可以分成两个阶段:缺陷检测阶段和缺陷分类阶段。在缺陷检测阶段,作者设计了一个级联的自动编码器(CASAE),利用编码器对正常区域和缺陷区域的响应不同,通过阈值分割的方式实现缺陷区域的像素级定位。然后将缺陷区域crop出来输入到缺陷分类网络分类缺陷的类别。整个算法的流程如下图所示:

61ed756a-6042-11eb-8b86-12bb97331649.png

AE Network 全卷积网络:

63999ec0-6042-11eb-8b86-12bb97331649.png

(2)Mask R-CNN方法 Mask R-CNN是目前最常用的图像实例分割方法之一, 可以被看作是一种基于检测和分割网络相结合的多任务学习方法. 当多个同类型缺陷存在粘连或重叠时, 实例分割能将单个缺陷进行分离并进一步统计缺陷数目, 然而语义分割往往将多个同类型缺陷当作整体进行处理. 目前大部分文献都是直接将Mask R-CNN框架应用于缺陷分割。Automatic defect segmentation on leather with deep learning 实现皮革表面缺陷,Road Damage Detection And Classiflcation In Smartphone Captured Images Using Mask R-CNN 实现路面缺陷分割。

03

缺陷检测的关键问题

缺陷检测的关键问题主要是三个方面分别是小样本、小目标、实时性。 (1)小样本问题,表面缺陷检测中面临的最关键的问题是小样本问题, 在很多真实的工业场景下甚至只有几张或几十张缺陷图片. 实际上, 针对于工业表面缺陷检测中关键问题之一的小样本问题, 目前有3种不同的解决方式:

数据扩增、合成与生成

网络预训练或迁移学习

采用无监督与半监督模型方法

(2)小目标问题,表面缺陷检测中面临的另一个问题是部分缺陷偏小,解决这部分问题可以通过引入特征金字塔结构,将不同阶段的特征图,都融合起来,提高多尺度检测的准确率;最简单的办法是放大图像尺寸;如果是在两阶段检测网络中可以使用 ROI align 替换 ROI pooling;其次,也可以使用GAN对小目标生成一个super-resolved feature叠加在原来的小目标的特征图上,以此增强小目标特征表达。 (3)实时性问题,基于深度学习的缺陷检测方法在工业应用中包括三个主要环节: 数据标注、模型训练与模型推断. 在实际工业应用中的实时性更关注模型推断这一环节。目前大多数缺陷检测方法都集中在分类或识别的准确性上, 而很少关注模型推断的效率. 有不少方法用于加速模型, 例如模型权重量化和模型剪枝等。

04

总结

缺陷检测是一个宽泛的应用领域, 具体包括缺陷分类、缺陷定位和缺陷分割等环节, 相比于传统图像处理方法分多个步骤和环节处理缺陷检测任务, 基于深度学习的方法将其统一为端到端的特征提取和分类。虽然表面缺陷检测技术已经不断地从学术研究走向成熟的工业应用, 但是依然有一些需要解决的问题。

陶显等.表面缺陷检测综述,自动化学报。

责任编辑:lq

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

    关注

    8

    文章

    1598

    浏览量

    45606
  • 深度学习
    +关注

    关注

    73

    文章

    5236

    浏览量

    119900
  • cnn
    cnn
    +关注

    关注

    3

    文章

    327

    浏览量

    21296

原文标题:一文梳理缺陷检测方法

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

收藏 人收藏

    评论

    相关推荐

    基于深度学习缺陷检测方案

    图像预处理通常包括直方图均衡化、滤波去噪、灰度二值化、再次滤波几部分,以得到前后景分离的简单化图像信息;随后利用数学形态学、傅里叶变换、Gabor 变换等算法以及机器学习模型完成缺陷的标记与检测
    发表于 04-23 17:23 50次阅读
    基于<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>方案

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

    在现代工业生产中,薄膜材料被广泛应用于包装、电子、光学和其他领域。然而,薄膜制品在生产过程中常常会出现一些表面缺陷,如气泡、杂质、裂纹等,这些缺陷可能会影响产品的质量和性能。因此,对薄
    的头像 发表于 04-17 15:52 83次阅读

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

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

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

    缺陷形态多变,还可能出现各种无法预测的异常情况,传统的缺陷模拟方法往往难以应对,这无疑增加了检测的成本和难度。良品学习阿丘科技的良品学习模式
    的头像 发表于 01-26 08:25 207次阅读
    良品<b class='flag-5'>学习</b>在高良率制造业中<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>的应用

    深度学习在工业缺陷检测中的应用

    工业制造领域中,产品质量的保证是至关重要的任务之一。然而,人工的检测方法不仅费时费力,而且容易受到主观因素的影响,从而降低了检测的准确性和一致性。近年来,基于深度
    的头像 发表于 10-24 09:29 603次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>在工业<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>中的应用

    瑞萨电子深度学习算法在缺陷检测领域的应用

    浪费大量的人力成本。因此,越来越多的工程师开始将深度学习算法引入缺陷检测领域,因为深度
    的头像 发表于 09-22 12:19 499次阅读
    瑞萨电子<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>的应用

    深度学习是什么领域

    深度学习是什么领域  深度学习是机器学习的一种子集,由多层神经网络组成。它是一种自动
    的头像 发表于 08-17 16:02 1205次阅读

    基于机器视觉深度学习缺陷检测系统- 图像采集平台搭建

    在机器视觉表面缺陷检测系统中,镜头与相机的组合对于中密度板表面缺陷图像的质量有着直接的影响,相机成像原理如上图 所示。在采集图像时,镜头必须
    的头像 发表于 08-17 14:51 471次阅读
    基于机器视觉<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>系统- 图像采集平台搭建

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

    、形状特征三个方面总结了传统机器视觉表面缺陷检测方法在工业产品表面缺陷检测中的应用。其次,从监督
    的头像 发表于 08-17 11:23 582次阅读
    工业产品<b class='flag-5'>表面</b><b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>方法研究

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

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

    基于深度学习模型融合的产品工艺缺陷检测算法简述

     基于深度学习模型融合的工业产品(零部件)工艺缺陷检测算法简述 1、序言 随着信息与智能化社会的到来,工业产品生产逐渐走向智能化生产,极大地提高了生产力。但是随着工人大规模解放,产品或
    的头像 发表于 07-06 14:49 367次阅读
    基于<b class='flag-5'>深度</b><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 776次阅读
    如何在<b class='flag-5'>缺陷</b>样本少的情况下实现高精度的<b class='flag-5'>检测</b>

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

    缺陷检测是工业生产过程中的关键环节,其检测结果的好坏直接影响着产品的质量。而在现实场景中,但产品瑕疵率非常低,甚至是没有,缺陷样本的不充足使得需要
    的头像 发表于 06-26 09:49 617次阅读
    基于GAN的零<b class='flag-5'>缺陷</b>样本产品<b class='flag-5'>表面</b><b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>

    AI视觉检测工业领域的应用

    ,极大地降低了人工操作的误判率。 2.精准度:工业AI视觉检测系统对产品的检测精度可以达到极高的水平,细微缺陷、异物等都能够精准识别。 3.灵活性:工业AI视觉检测系统可配备针对不同产
    发表于 06-15 16:21