Surface Defect Detection Methods for Industrial Products : A Review

article/2025/9/11 8:23:38

Surface Defect Detection Methods for Industrial Products : A Review (工业产品表面缺陷检测方法综述 )

文章来源:Appl. Sci.2021,11, 7657. https://doi.org/10.3390/app11167657 (Yuanyuan Ding)

论文亮点:本文综述了机器学习方法在工业产品质量检测中的研究现状
(1)根据表面特征的使用,从纹理特征、颜色特征和形状特征三个方面总结了传统机器视觉表面缺陷检测方法在工业产品表面缺陷检测中的应用
(2)从有监督方法、无监督方法和弱监督方法三个方面论述了近年来基于深度学习技术的工业产品表面缺陷检测的研究现状
(3)系统总结了工业表面缺陷检测中常见的关键问题及其解决方法;关键问题包括实时性问题、小样本问题、小目标问题、不平衡样本问题
(4)对近年来常用的工业表面缺陷数据集进行了较为全面的总结,并对MVTec AD数据集的最新研究方法进行了比较,以期为工业表面缺陷检测技术的进一步研究和发展提供一些参考

1.基于传统特征的机器视觉表面缺陷检测算法

1.1 基于纹理特征的方法:统计方法、信号处理方法、结构方法和模型方法

(1)统计方法:主要思想是将物体表面的灰度分布视为随机分布,从统计学的角度分析随机变量分布,通过直方图特征、灰度共生矩阵、局部二值模式等描述灰度的空间分布,自相关函数、数学形态学和其他特征。
(2)信号处理方法:主要思想是将图像视为二维信号,从信号滤波器设计的角度对图像进行分析,因此也称为频谱法;信号处理方法包括傅里叶变换法、Gabor滤波法、小波变换法等具体方法。
(3)结构方法:理论基础是纹理本原理论,纹理基本体理论指出,纹理由一些最小的图案(称为纹理基本体)组成,这些图案根据一定的规则在空间中重复出现。在模型方法上,常用的工业产品表面缺陷检测模型有MRF模型和分形模型。
(4)模型方法:常用的工业产品表面缺陷检测模型有MRF模型和分形模型。

1.2基于颜色特征的方法:颜色直方图、颜色矩、颜色聚合向量、颜色集、颜色相关图

(1)颜色直方图:描述了不同颜色在整个图像中的比例,是全局统计的结果(特点:对物理变换(旋转、缩放等)不敏感;如果图像有多个区域,且前景和背景之间的颜色分布存在明显差异,则颜色直方图将显示双峰。)
(2)颜色矩:图像中的任何颜色分布都可以用其每阶矩来表示,由于颜色分布的信息主要集中在低阶矩中,通常只有颜色的一阶矩(均值)、二阶矩(方差)和三阶矩(偏移)足以显示图像表面的颜色分布(特点:不考虑像素的空间位置;不需要对颜色特征进行矢量化;不需要颜色量化、平滑和其他后续处理)
(3)颜色聚合向量(颜色直方图的一种改进算法):主要思想是将直方图中的每个颜色簇分为两部分:聚集和非聚集;在图像相似性比较过程中,对图像的相似性分别进行比较,经过综合权衡后得到相似值,从而得到比较结果
(4)颜色集:一种全局颜色特征和匹配方法,它近似于颜色直方图,表示为二值特征向量;通过构造二叉搜索树,可以加快检索速度
(5)颜色相关图:颜色相关图描述了某一颜色的像素数在整个图像中的比例(概率),可以反映不同颜色对之间的空间相关性

1.3基于形状特征的方法:基于轮廓的方法(Hough变换和傅里叶形状描述符)

(1)基于轮廓的方法:通过描述物体的外边界特征来获取图像的形状参数;代表性的方法有Hough变换和傅里叶形状描述符
(2)Hough变换:利用图像的全局特征连接边缘像素,形成区域的闭合边界,其理论基础是点对线的对偶性
(3)傅里叶形状描述符:使用对象边界的傅里叶变换作为形状描述,并使用区域边界的闭合性和周期性将二维问题转换为一维问题

2.基于深度学习的工业产品表面缺陷检测方法
在这里插入图片描述
2.1 有监督方法:要求训练集和测试集是不可或缺的,训练集中的样本必须标记,其中训练集用于找到样本的内在规律,然后在测试集中应用这些规律

(1)基于度量学习:Siamese网络

  • Siamese网络:判断两个样本之间的相似性;其损失函数的核心思想是使相似类别的输入距离尽可能小,不同类别的输入距离尽可能大

(2)基于表征学习:分类网络、检测网络和分割网络

  • 分类网络:重点是解决“什么”问题,即确定图像的类型(图像是否包含缺陷以及缺陷的类型);[ShuffleNet:一种计算效率高的轻量级网络,采用了点态组卷积和信道洗牌两种新方法来保证计算精度并有效降低计算成本]

  • 检测网络:重点是解决“缺陷在哪里”的问题,即通过确定缺陷的位置来获取缺陷的具体位置信息和类别信息;[Faster RCNN:在Fast RCNN的基础上引入了一个区域建议网络(RPN),将生成区域推荐的步骤放入神经网络,并在端到端学习模式下实现了几乎无成本的区域推荐算法,大大提高了目标检测的速度,还提到了滑动窗口方法]

  • 分割网络:重点是解决“缺陷数量”问题,即从背景中分割出缺陷区域,获取缺陷的位置、类别、属性等信息;[FCN(全卷积网络):(端到端图像分割方法)网络中的所有层都是卷积层;该网络主要采用三种技术:卷积、上采样和跳层;通过对网络进行像素级预测,可以直接得到标签图。其核心思想之一是增加数据量的反褶积层,以便输出准确的结果; Mask RCNN:是Faster-R-CNN的扩展形式,它集成了两阶段框架网络的对象检测和实例分割功能:第一阶段扫描图像并生成建议(建议可能包含目标区域),第二阶段对建议进行分类并生成边界框和遮罩 ]

2.2 无监督方法:当输入的训练数据只是数据本身,而没有标签信息时,机器学习这些未标签数据的模式,以获得数据的一些固有特征和连接,并自动对数据进行分类,然后,当遇到新数据时,它可以根据先前学习的模型来判断新数据属于哪个模型

(1)自动编码器(AE):编码器和解码器是自编码器的两个核心部分。编码器对应于网络模型中的隐层,用于学习输入信号的低维特征;解码器对应于模型中的输出层,用于尽可能多地再现输入信号。因此,使编码器能够学习输入信号的良好低维特性并重构输入信号是自编码器的最终目标
(2)生成对抗网络(GAN):生成性对抗网络由两个参与者组成:生成器和鉴别器。生成器用于获取样本数据的分布,鉴别器用于估计样本训练数据的概率。该模型的最终目标是了解真实数据的内在规律,预测和估计真实数据的分布或密度,并根据所学知识生成新数据,即生成对抗性网络数据
(3)深度信念网络(DBN):由多个RBM(受限Boltzmann机器)组成,整个网络的训练是通过对RBM进行分层训练来完成的
(4)自组织映射(SOM):模拟人脑不同区域神经网络细胞的不同分工,并通过搜索最佳参考向量集对输入模式集进行分类

2.3弱监督方法 :结合了监督方法和非监督方法的特点,弱监督方法可以在避免更高的标记成本的同时获得更好的性能

(1)不完全监督:大多数训练样本并没有标记,只有少数样本被标记,这部分标记样本不足以训练出一个好的模型。在不完全监督方法中,半监督方法(可以在不需要人工干预的情况下自动生成未标记的样本数据,提高学习效果)是工业产品表面缺陷检测中常用的方法。
(2)不精确的监督方法:提供监控信息,但信息不精确的情况,即只包含粗粒度标签

2.4 总结:在三种深度学习方法中,有监督的方法由于其良好的准确性而得到了最广泛的应用,但它有明显的缺点;无监督方法符合产业发展的进程,但有其自身的特点;弱监督方法目前应用不广泛,但有着广阔的发展前景

3.关键问题

3.1 实时问题:模型加速是解决实时性问题的重要思路之一,模型加速主要可以从算法和硬件两个方面进行,具体如下:

(1)算法:对于网络算法层,可以使用轻量级网络加速模型。常用的轻量级机型包括MobileNet、ShuffleNet、SqueezeNet和EfficientNet。此外,蒸馏和剪枝也可用于在算法级加速网络。在计算算法方面,可以优化卷积运算,达到模型加速的目的。典型的算法包括FFT、Winograd等。
(2)硬件:目前通过硬件加速模型的主要方式是使用GPU、FPGA、DSP等。

3.2 小样本问题:从少量样本中学习的问题通常称为小样本问题,这很容易导致训练过程中的过度拟合问题。目前,解决小样本问题的主流解决方案主要有以下四种:
(1)数据扩充 :常用的数据增强方法包括平移、旋转、镜像、对比度调整和数据合成。通过数据放大,可以获得大量的样本图像。
(2)无监督/半监督模型 :无监督模型的优点之一是只需要用正样本而不是负样本进行训练,这为解决小样本问题提供了方向。另外,半监督模型只需要标记少量样本,也是解决小样本问题的替代模型之一
(3)迁移学习:从一项任务中学到的知识可以应用于其他不同但相关的任务,尤其是当目标任务的数据不足时,因此,迁移学习也是解决小样本问题的主要思路之一
(4)优化网络结构:网络结构的优化也是解决小样本问题的一个方向

3.3 小目标检测问题 :指图像中尺寸较小的目标,一个是绝对尺寸较小,通常被认为是尺寸小于32*32像素的小目标。另一种是相对尺寸较小,即目标尺寸小于原始图像尺寸的一定比例。解决小目标检测问题有一些技巧,总结如下:

(1)特征融合:将深层语义信息融合成浅层特征图,利用深层特征丰富语义信息,同时利用浅层特征适合检测小目标的特点
(2)数据扩充:增加训练集中小目标样本的类型和数量
(3)图像金字塔+多尺度滑动窗口:为图像设置不同的输入大小,训练时从中随机选择一个尺度,将输入图像缩放到此尺度,并发送到网络
(4)降低网络下采样率:通过降低下采样率来减少特征图上对象的丢失,常用的方法是直接去除池层,同时使用孔卷积
(5)合理的锚定设计:主要方法包括:边界聚类,即在训练集的标签上聚类出一组合适的锚定;统计实验,即将锚和标签的中心点放在一起,仅利用宽度和高度信息进行匹配实验,找到一组纵横比分布最一致的锚;设置更小、更密集的锚定和匹配策略,例如不要为小对象设置太严格的IoU阈值
(6)适当的训练方法:使用高分辨率图像进行预训练,同时放大输入图像,然后对小分辨率图像进行微调
(7)使用GAN放大小物体,然后检测它们
(8)使用上下文信息:在目标与其上下文之间建立连接

3.4 不平衡样本识别问题:将导致算法更多地关注数据量较大的类别,而低估数据量较小的类别,从而影响模型在测试数据中的泛化和预测能力。不平衡样本的识别可以从数据层、模型层、特征层和评价指标层四个方面进行

(1)数据层:改变训练集中的样本分布,使训练集中的样本分布趋于平衡,即各类样本的数量趋于一致。可以从五个方面进行:数据源、数据扩充、数据重采样、类均衡采样和合成采样
在这里插入图片描述
(2)模型层:

(2.1)成本敏感:成本敏感的思想是增加目标函数中小类别错误分类样本的损失值,并通过优化目标函数调整模型对小类别样本的关注度。有两种主要的成本敏感方法:重构培训集或引入成本敏感因素。

  • 重构训练集:在不改变现有算法的情况下,根据样本的不同误分类代价为训练集中的每个样本分配权重,并根据权重重构原始样本集。
  • 引入成本敏感因素:将较高的成本分配给小类样本,将较低的成本分配给大类样本,以平衡样本数量的差异。

(2.2)集成学习:使用集成学习进行缺陷检测主要有两种方法:

  • 集成学习+数据预处理:典型算法包括Smote bagging、Smote boost、Easy集成和平衡级联;
  • 集成学习+成本敏感:典型的算法是AdaCost[102],罕见的Boost

(2.3)转化为异常检测问题:当样本类极不平衡时,缺陷检测问题可视为异常检测问题,而异常检测算法(如单类SVM、SVDD等)可以用来建立单个分类器来检测异常点(即小类别样本)

(3)特征层

  • 与分类器无关(典型算法:过滤器)
  • 独立于分类器(典型算法:包装器)
  • 结合分类器(典型算法:嵌入式)

(4)评价指标层:由于样本不平衡问题对准确度(准确度)的影响最大,因此在实践中通常不单独使用该指标

4. 工业产品缺陷检测数据集
MVTec ad数据集是一个模拟真实工业检测场景的缺陷检测数据集,具有很强的参考意义。MVTec AD数据集共包含15个类别,其中5个类别是不同类型的纹理,其余10个类别是10种不同类型的对象。在该数据集中,3629幅图像用于培训和验证,1725幅图像用于测试。训练集仅包含无缺陷图像,而测试集同时包含无缺陷图像和各种类型的缺陷图像。该数据集通常用于无监督缺陷/异常检测。
5. 总结
本文首先讨论了传统机器视觉方法和深度学习方法在表面缺陷检测领域的应用。同时,指出了工业产品表面缺陷检测领域中的一些关键问题,并总结了解决方法。此外,我们还总结了一个比较完整的工业产品表面缺陷检测数据集,这有助于研究人员对工业产品表面缺陷检测进行更深入的研究


http://chatgpt.dhexx.cn/article/uIEAAga2.shtml

相关文章

task_5 - 副本

Task01–Task06树模型与集成学习笔记整理 ****************************************************************************************************************** 1 Task01 信息论基础 决策树分类思想: 用树的节点代表样本集合,通过某些判定条件…

主成分分析(PCA)原理及其python实现

主成分分析 一、概述1.1 问题提出1.2 降维的作用 二、主成分分析(PCA)主要思想三、相关数学知识四、PCA实现步骤4.1 特征值分解矩阵4.2 SVD分解协方差矩阵 五、python程序实现5.1 利用数学公式实现5.2 使用sklearn实现 一、概述 1.1 问题提出 在实际问题研究中,多…

核酸扫码登记体验有感(如何提高OCR的文字正确识别率)

近几年,新冠疫情持续反复,核酸检测已成为了我们日常生活的一部分,甚至有人开玩笑说朋友邻居见面问候语从“吃了吗你?”变成了“今儿核酸了?”。核酸检测全员常态化,需要大量的志愿者协助医生进行身份证扫描…

ORB-SLAM2 特征点法SLAM 单目 双目 rgbd相机SLAM 单应/本质矩阵恢复运动 小图大图地图优化

ORB-SLAM2 ORB特征点法SLAM 支持单目、双目、rgbd相机 安装测试 本文github链接 orbslam2 imu ORB-SLAM是一个基于特征点的实时单目SLAM系统,在大规模的、小规模的、室内室外的环境都可以运行。 该系统对剧烈运动也很鲁棒,支持宽基线的闭环检测和重…

opencv4算法库学习笔记(5万多字超长干货——纪念奋战的自己)

整理于2020年初三个月的日夜积累。。。 参考链接 opencv安装 安装脚本链接:https://github.com/milq/milq/blob/master/scripts/bash/install-opencv.sh 源码编译安装参考:https://blog.csdn.net/liuli2008212/article/details/128169266?spm1001.2…

【数字图像处理课程设计】期中、期末综合考试题目整理总结(共四个图像处理算法应用题)

目录 一、下面两幅图像中有几处不同,编程把它们找出来、并在图中突出显示(关键步骤不能调用内置函数)。 1.算法原理 2.解题步骤 3.程序代码 4.处理结果 二、下图含有干扰条纹(moir pattern)、并且低灰度区域的细…

MATLAB各个产品概述----哪些产品需要安装?哪些产品不需要安装?阅完了然

MATLAB产品概述 文章目录 1 MATLAB2 Simulink3 5G Toolbox(5G工具箱)4 Aerospace Blockset(航空区块集)5 Aerospace Toolbox(航空航天工具箱)6 Antenna Toolbox(天线工具箱)7 Audio…

Latex相关符号

函数、符号及特殊字符 声调 语法效果语法效果语法效果\bar{x}\acute{\eta}\check{\alpha}\grave{\eta}\breve{a}\ddot{y}\dot{x}\hat{\alpha}\tilde{\iota} 函数 语法效果语法效果语法效果\sin\theta\cos\theta\tan\theta\arcsin\frac{L}{r}\arccos\frac{T}{r}\arctan\frac{L…

一文读懂人脸识别技术

2019-08-27 17:06:26 本文内容涵盖人脸识别发展历程、市场研究、核心技术、商业应用以及产业落地、个人看法等干货研究。注意,本文干货满满,约有2万7千字,强烈建议大家先收藏后学习! 01 发展史 1. 人脸识别的理解 人脸识别(Fa…

综述 | 基于特征的视觉同步定位和建图

点击上方“计算机视觉工坊”,选择“星标” 干货第一时间送达 Feature‑based visual simultaneous localization and mapping: a survey Rana Azzam1 Tarek Taha2 Shoudong Huang3 Yahya Zweiri4 接收日期:2019 年 10 月 30 日/接受时间:…

ORB_SLAM2 源码解析 单目初始化器Initializer(三)

目录 一、地图点初始化 二、重新记录特征点的匹配关系 1、构建旋转直方图 1.1、在半径窗口内搜索当前帧F2中所有的候选匹配特征点GetFeaturesInArea 1.2、表示一个图像像素相当于多少个图像网格列和行 1.4、遍历圆形区域内的所有网格,寻找满足条件的候选特征点&…

Zotero文献管理软件使用指南——入门篇

一、安装与注册 zotero下载地址 二、文献导入 2.1 方法一:Zoreto Connector插件 2.1.1 下载插件 还是刚刚那个网址,点击红色方框下载插件。 下载完成之后浏览器上方会有如下图所示的小图标 2.1.2 导入举例 以知网为例 找到你想看的…

【EndNote】功能强大的文献管理软件

EndNote X9是一款功能强大的文献管理软件,使用这款EndNote X9破解版可以让你直接将其安装到Windows操作系统上使用,如果您正需要这款免费版工具,马上下载EndNote X9使用吧。 基本简介 EndNote 是一款主流文献管理软件,有数以百万计的研究人员、学生和图书管理员使用…

文献管理软件Zotero配置及使用

文献管理软件-Zotero常用插件安装及配置使用 一、Zotero安装与同步盘配置 1、下载Zotero并安装2、配置Zotero (1)配置同步盘(以onedrive为例)——如果不配置同步盘,这一步可以跳过(2)配置输出文…

文献管理软件//Zotero导入文献的五种方式(九)

Zotero导入文献的五种方式 一、利用zotero插件自动获取pdf文件二、利用DOI获取pdf文件三、从剪贴板导入pdf文件3.1 导入单篇文献3.2 导入多篇文献 四、利用endnote格式导入文献五、通过已下载的PDF文件导入文献 一、利用zotero插件自动获取pdf文件 首先,可以通过以…

文献管理软件Mendeley基本使用教程

一、文献管理软件 文献管理软件是学者或者作者用于记录、组织、调阅引用文献的计算机程序,其便利之处在于: 1.直接联网不同数据库进行文献检索,提高效率; 2.方便快捷管理文献信息,包括文摘、全文、笔记记录、以及其…

文献管理软件Zotero常用插件安装及配置使用

文献管理软件-Zotero常用插件安装及配置使用 一、Zotero安装与同步盘配置1、下载Zotero并安装2、配置Zotero(1)配置同步盘(以onedrive为例)——如果不配置同步盘,这一步可以跳过(2)配置输出文献…

文献管理软件zotero|电脑和平板文献管理实现同步

高效管理文献——实现PC和ipad同步 作为一个科研打工人,读论文是我们每个人基本天天都要做的事,但论文越来越多如何实现论文高效管理?利用文献管理软件zotero,能实现高效管理文献。 之前也用过,mendeley软件也用过&a…

科研必备文献管理软件EndNote

什么是ENDNOTE? Endnote是一款被广泛使用的文献管理软件,其是SCI(Thomson Scientific 公司)的官方软件,支持国际期刊的参考文献格式有3776 种【也可以自定义期刊引用格式】。 软件非常方便科研狗进行文献整理&#xf…

四款主流文献管理软件,总有一款适合你

本文作者:生信不是人学的 看文献是每个科研人都必须做的事情 但随着阅读量的增加,面对几十甚至上百篇文献,单纯靠自己的记忆来整理文献是一件不太可能的事情。 因此需要一款合适的软件来帮助我们进行文献管理,提高科研效率。 接下…