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

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

声明

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

摘要

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

1、传统图像处理方式

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

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结构复杂且效率低,故未大量使用
  • ⽆监督学习并没有像有监督学习那样获得⼴泛的成功,其主要原因在于无监督学习难以衡量其好坏,因为缺少有效的客观评价⽅法
    2-1 密度估计检测

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 DNN方式对比

3.1 缺陷检测中的分类网络

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

  1. VGG结构简洁具有很强的实用性;缺陷分类和定位方面有较高的可靠性和鲁棒性(75-77)
  2. GoogleNet 采用的是模块化的结构(78.79)
  3. ResNetVGG-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-2 缺陷分割方式对比

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个工业表面缺陷常用数据集
    4-1 工业表面缺陷常用数据集

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

猜你喜欢

转载自blog.csdn.net/qq_43308156/article/details/128165213