参考文献:基于机器视觉的表面缺陷检测方法研究进展-赵朗月

声明

此文章仅为作者阅读学习记录,如有错误欢迎指正交流,如果对你有帮助还望点赞支持,谢谢!

文章目录

  • 声明
  • 摘要
  • 1、传统图像处理方式
  • 2、基于机器学习的缺陷检测方法
    • 2.1无监督学习
      • 2.1.1.无监督特征学习
      • 2.1.2.聚类
      • 2.1.3.密度估计
    • 3.2 有监督学习
      • 3.2.1 非概率模型
      • 3.2.2 概率判别模型
      • 3.2.3 生成模型
  • 3、缺陷检测中的深度神经网络
    • 3.1 缺陷检测中的分类网络
    • 3.2 缺陷检测中的检测网络
    • 3.3 缺陷检测中的分割网络
      • 3.3.1 语义分割
        • 3.3.2 实例分割
    • 3.4 轻量级深度神经网络
  • 4、数据集

摘要

  1. 给出了缺陷的定义、分类及缺陷检测的一般步骤,阐述传统方法、机器学习、深度学习,并比较和分析了优缺点。
  2. 传统图像处理:分割和特征提取
  3. 机器学习:有监督学习和无监督学习
  4. 深度学习:检测、分割及分类
  5. 最后指出缺陷检测目前存在的问题及展望

1、传统图像处理方式

  1. 传统方式一般步骤为图像采集、图像预处理(去噪增强等)、图像分割、特整提取及分类识别。
  2. 本文主要概括了图像分割特征提取
  3. 图像分割:阈值分割、边缘检测、区域生长
  4. 特征提取:从颜色、纹理、形状
    (由于作者仅研究深度学习方向,故此部分暂不深入研究,读者感兴趣可根据下图或原文献做进一步研究)

2、基于机器学习的缺陷检测方法

2.1无监督学习

不借助任何人工成本的情况下,根据相似性自行分类
无监督特征学习、聚类和概率密度

2.1.1.无监督特征学习

⽆标签的数据中,挖掘出有效的数据特征或表示
主要⽅法有主成分分析、稀疏编码法、⾃编码器

  1. 主成分分析(principal componnents analysis,PCA) 可用于降维。去除特征数据间的关联性,保留缺陷的必要信息(31-32)1
  2. 稀疏编码法(sparse coding,SC) 是根据哺乳动物的视觉系统设计出的⼈⼯神经网络(artificial neural network,ANN)(33-37)
  3. 自编码器(auto-encoder,AE) 使⽤表征形式来重建数据,除了特征学习外,AE还可分割图像(38-40)
  • ⽆监督特征学习可⽤于降维且鲁棒性好。由于PCA的每个主分量都是原始变量的线性组合,主成分的解释通常带有⼀定的模糊性,所以可稀结合稀疏性与主成分分析法进⾏缺陷检测

2.1.2.聚类

聚类是按照⼀定的规则对样本进⾏划分,是⼀种分类问题(41-43)

2.1.3.密度估计

-密度估计通过样本的分布来估量其与各个分组之间的相似性
-表面缺陷检测主要有4种: 深度信念网络、生成对抗网、变分自编码器、玻尔兹曼机

  1. 深度信念网络(deep belief network,DBN) 是⼀种概率有向图模型。既可⽤于⽆监督学习和有监督学习,此处应⽤均为⽆监督学习(43)
  2. 生成对抗网络(deep adversarial network, GAN) 通过特殊的训练方式生成接近真实数据分布的框架(44-46)
  3. 变分自编码器(variatonal auto encoder,VAE) 包含推断⽹路和⽣成⽹络,可将推断⽹络看作“编码器(encoder)”,⽣成⽹络看作“解码器(decoder)”(47)
  4. 玻尔兹曼机(Boltzmann machine,BM) 是⼀种随机神经⽹路,在实际应⽤中,使⽤较⼴泛的是受限玻尔兹曼机(restricted Boltzmann machine,RBM) (48)
  • GAN和VAE多用于解决数据不平衡;BM结构复杂且效率低,故未大量使用
  • ⽆监督学习并没有像有监督学习那样获得⼴泛的成功,其主要原因在于无监督学习难以衡量其好坏,因为缺少有效的客观评价⽅法

3.2 有监督学习

3类:非概率模型、概率判别模型、生成模型

3.2.1 非概率模型

此方法解决途径比较直接,关键在于最优化的求解。
表面缺陷检测有3种:多层感知机、支持向量机、K近邻

  1. 多层感知机(multilayer perception,MLP) 是⼀种前ANN,可以处理⾮线性可分的问题(49-52)
  2. K近邻(K-nearest nerghbor, KNN) 是在某⼀范围内找到与样本相似的⽬标(53-57)
  3. 支持向量机(support vector machine,SVM)是⼀种经典的⼆分类的⼴义线性分类器;关键在于核函数的选择;为提高分类精度可与其他算法相结合(55.56.58.59)
  • 在使⽤非概率模型进⾏表⾯缺陷检测时,⼤部分模型都是⽤来对缺陷进⾏分类,其中多层感知机除了⽤于分类,还可⽤于表征缺陷[60]、分割[52]、及定位[61]。对于⽀持向量机的优化主要在于结合其他⽅法以提升分类性能;⾮概率模型中,SVM的性能较其他⽅法性能更佳

3.2.2 概率判别模型

概率判别模型间接的使用条件概率进⾏判别
在表⾯缺陷检测中有4种: 决策树、逻辑回归、最大熵模型、条件随机

  1. 决策树(decision tree,DT) 直接通过概率进⾏分类(62)
  2. 逻辑回归(Logistic Regression,LR) 是一种线性回归模型;分类模型,常用于二分类(63)
  3. 最大熵模型(maximum entropy,ME)是按照模型熵最大的原则来选择;缺陷检测中常用与分割
  4. 条件随机场(conditional random field,CRF)是一种直接建模的条件概率无向图模型;能充分利用图像特征上下文信息(67.68)
  • 使⽤决策树对缺陷进⾏分类时需注意树结构冗余、树剪枝复杂,在处理较⼤的特征时效率低等问题,可与KNN、SVM等结合解决上述问题。条件随机场可以在早期检测到基于传统图像处理⽅式⽆法检测到的不清晰的微裂纹

3.2.3 生成模型

⽣成模型与上述⾮概率模型!概率判别模型相⽐,解决问题的途径相对间接;先求解,然后利⽤⻉叶斯定理进⾏判别
在表⾯缺陷检测中有3种: 朴素⻉叶斯、受限玻尔兹曼机、隐马尔可夫模型

  1. 朴素贝叶斯(naive Bayes,NB) 是在特征条件独⽴假设下运⽤⻉叶斯定理进⾏分类的⽅法 (69)
  2. 受限玻尔兹曼机(restricted Boltzmann machine,RBM)是⼀种随机⽣成的**ANN[70]**除了⽤于⽆监督学习,也可⽤于有监督学习(70-72)
  3. 隐⻢尔可夫模型(hidden Markov model,HMM)是结构最简单的⻉叶斯⽹(73)
  • 综上,从⽂献的年代可以看出,使⽤有监督学习的⽅法是表⾯缺陷检测近年来的研究热点,还具有很⼤的发展空间

3、缺陷检测中的深度神经网络

本文主要总结缺陷检测中的DNN。是基于端到端的网络,将特征提取、选择和分类融合在一起[74]。
有4种:分类、检测、分割和轻量化DNN
下图为部分网络的对比

3.1 缺陷检测中的分类网络

基于深度学习的表⾯缺陷检测⽹络⼤都使⽤VGG、GoogleNet、ResNet等作为“Backbone”,其通常被⽤于特征提取和分类

  1. VGG结构简洁具有很强的实用性;缺陷分类和定位方面有较高的可靠性和鲁棒性(75-77)
  2. GoogleNet 采用的是模块化的结构(78.79)
  3. ResNet是VGG-16的延申,添加了残差单元,解决了DNN退化问题(80-82)
  4. 其他:AlexNet、DenseNet

3.2 缺陷检测中的检测网络

根据网络中是否有候选框,分为:单阶段和双阶段
单阶段:输入图像、输出备选框和分类一体化完成
双阶段:一半选择备选框,一半对备选框进行判断

  1. 双阶段网络:Faster R-CNN是双阶段⽹络中的代表,检测速度较前两代有很⼤的提升(83-91)
  2. 单阶段网络:包含SSD(single shot multiBox detector)YOLO(you only look once) 两种。两者都是只用一个网络同时区域检测和输出(92-97)
  • 单阶段速度快,双阶段精度高

3.3 缺陷检测中的分割网络

主要是区分缺陷与非缺陷
实例分割在语义分割的基础上,还可对缺陷进行定位、分类

3.3.1 语义分割

FCN、SegNet、DeepLab系列、U-Net

  1. 全卷积网络(Fully Connvolutional Networks,FCN) 是最初提出的语义分割网络,可以融合多层信息(98-103)
  2. SegNet在FCN的基础上增添了解码器,是由卷积层组成的语义分割网络(104.105)
  3. DeepLab系列解决了FCN分割结果粗糙的问题,更注重细节(106)
  4. U-Net是一种具有编码-解码结构的U型网络(107-110)

3.3.2 实例分割

在语义分割的基础上,区分出同类的不同实例

  1. Mask-R-CNN 是实例分割中最常见,最具有代表性的网络(111.112)
  • 使用语义分割时,将缺陷检测看作二分类问题;实例分割处理多种类的缺陷
  • 分割网络相比于分类和检测网络,缺陷信息特征提取上有优势,但需大量数据

3.4 轻量级深度神经网络

保证精度的情况下,提高精度和减小体积
此方法在缺陷检测中的应用还不是很多

  1. MobileNet系列其核心是深度可分离卷积,有3个类型V1、V2、V3(95-97.113)
  2. SqueezeNet结合GoogLeNet与VGG,提出Fire模块并堆叠使用(114.115)
  3. EfficientNet结合MobileNetV2与SENet,可同时对网络宽度、深度和图像尺寸调整(116-118)
  • 其他轻量级:分类网络ShuffleNet;检测网络Liight-Head R-CNN、ThunderNet、YOLO-Fastest、CSPNet;分割网络:BiSeNet、DFANet

4、数据集

  • 百度飞浆有大量开源数据集
  • 下图是原论文总结的30个工业表面缺陷常用数据集

  1. (31-32)表示原论文中的参考文献31-32,后面的(55.56)也是表示原论文参文献55和56,以此类推 ↩︎

基于机器视觉的表面缺陷检测方法研究进展(2022最新)相关推荐

  1. 论文《基于深度学习的表面缺陷检测方法综述》学习笔记

    <基于深度学习的表面缺陷检测方法综述>学习笔记 前段时间完成了<基于图像的零部件缺陷识别系统设计>毕业课程设计,过程中收获了很多,老师也分享了很多论文,在此记录一下学习的收获. ...

  2. 工业界表面缺陷检测方法综述

    点击上方蓝色字体,关注我们 产品的表面缺陷检测是近年来制造业中格外关注的一项技术问题.作为生产制造过程中必不可少的一步,表面缺陷检测广泛应用于各工业领域,包括3C.半导体及电子.汽车.化工.医药.轻工 ...

  3. 基于深度学习的表面缺陷检测方法综述-论文阅读笔记

    //2022.3.2日阅读笔记 原文链接:基于深度学习的表面缺陷检测方法综述 (aas.net.cn) 个人对本篇综述内容的大致概括 论文首先介绍了表面缺陷检测中不同场景下的成像方案,主要根据表面颜色 ...

  4. 综述|工业金属平面材料表面缺陷自动视觉检测的研究进展

    摘要: 基于计算机视觉的金属材料表面缺陷检测是冶金工业领域的研究热点.在金属制造行业中,高标准的平面质量要求自动视觉检查系统及其算法的性能必须不断提高.本文基于对钢,铝,铜板和带钢的一些典型金属平面材 ...

  5. 论文精读:基于深度学习的表面缺陷检测方法综述

    摘要: 基于表面缺陷检测方法,根据数据标签的不同将其分为全监督学习模型方法.无监督学习模型方法和其他方法.细分归类,对比分析,总结每种方法优缺点,应用场景. Introduction         ...

  6. AI-无损检测方向速读:基于深度学习的表面缺陷检测方法综述

    1 表面缺陷检测的概念 表面缺陷检测是机器视觉领域中非常重要的一项研究内容, 也称为 AOI (Automated optical inspection) 或 ASI (Automated surfa ...

  7. 基于迁移学习的农作物病虫害检测方法研究与应用

    基于迁移学习的农作物病虫害检测方法研究与应用 1.研究思路 迁移学习方式并结合深度学习提出了一种基于残差网络(ResNet 50)的 CDCNNv2 算法.通过对 10类作物 3 万多幅病虫害图像进行 ...

  8. lisp+等高线点线矛盾检查_基于AutoCAD平台地形图高程点与等高线点线矛盾检测方法研究与实现...

    2019 年 6 月 测绘与空间地理信息 GEOMATICS & SPATIAL INFORMATION TECHNOLOGY Vol.42 ꎬ No.6 Jun. ꎬ 2019 收稿日期 : ...

  9. 目标检测YOLO实战应用案例100讲-基于深度学习的自动驾驶车辆三维目标检测方法研究与应用

    目录 基于深度学习的车辆目标检测方法研究 基于卷积神经网络的目标检测技术

最新文章

  1. php面向对象中的魔术方法中文说明
  2. 网页开发浏览器兼容性问题
  3. 使用ArcGIS JavaScript API 3.18 加载天地图
  4. 05 使用VS程序调试的方法和技巧1214
  5. MongoCola使用教程 1 - MongoDB的基本操作和聚合功能
  6. 千锋中级Python视频百度云
  7. Android系统(23)---Android 应用分屏
  8. NAT技术代理服务器
  9. oracle中特殊字符处理
  10. 怎样把ACCESS导入SQL数据库
  11. Tensorflow:模型训练tensorflow.train
  12. 入侵sf服务器技术_入侵服务器、疯狂攻击各种网站, 这个黑客团伙终被“团灭”!...
  13. 流量统计html代码,CNZZ数据专家
  14. automated creative optimization for e-commerce advertising
  15. 史上最直白的RNN详解(结合torch的example)
  16. 我学设计模式 之 原型模型模式
  17. 谷歌命令行解析工具gflags的使用
  18. 支付宝2020年账单来了,看看自己花了多少钱?
  19. 将大程序缩减为小程序,数据决定程序结构
  20. [深度学习] 基于切片辅助超推理库SAHI优化小目标识别

热门文章

  1. 裴波那契数列python
  2. 关于origin简单作图
  3. Magnetic Actuation Systems for Miniature Robots: A Review
  4. GFP-GAN论文阅读笔记
  5. JavaScript数字运算必备库——big.js源码解析
  6. Storm-电商实时交易风控系统
  7. Spring Boot (二)集成Mybatis、Druid
  8. SQL入门SQL基本介绍
  9. 关于java导出Excel 并设置密码权限
  10. pythonista_Pythonista的假期愿望清单