目录
在工业生产过程中,由于现有技术、工作条件等因素的不足和局限性,极易影响制成品的质量。其中,表面缺陷是产品质量受到影响的最直观表现。因此,为了保证合格率和可靠的质量,必须进行产品表面缺陷检测。
“缺陷”一般可以理解为与正常样品相比的缺失、缺陷或面积。表面缺陷检测是指检测样品表面的划痕、缺陷、异物遮挡、颜色污染、孔洞等缺陷,从而获得被测样品表面缺陷的类别、轮廓、位置、大小等一系列相关信息。人工缺陷检测曾经是主流方法,但这种方法效率低下;检测结果容易受人为主观因素的影响,不能满足实时检测的要求。它已逐渐被其他方法所取代。
自然场景一般是强语义信息,缺陷检测一般为弱语义信息。缺陷检测不需要特别大的感受野,一般为纹路上的缺陷,局部区域就可以判别。工业场景有以下几个特点:
根据工业缺陷检测场景的固有属性。针对该场景,主要有以下几点需求:
工业缺陷检测整个流程如下图所示,一共经过7个阶段,分别是:明确需求阶段、打光阶段、数据阶段、算法设计阶段、部署阶段、运维阶段。
我们能用到的深度学习算法很多,有分类、检测、分割系列,例如分类算法中的细粒度分类,可以更加精准的提取微弱的特征,细粒度算法一般会用到打乱和注意力机制,对纹理上的缺陷识别会更优一点。
另外,应用语义分割任务做缺陷检测,其实缺陷检测并不局限语义分割,它更像提取一张高斯热图,有缺陷的地方概率高,背景区域概率低。因此有一些热图回归的做法也可以应用。
除了监督学习算法,在应对缺少缺陷样本的场景中,我们还可以选择无监督学习方案。
深度学习的快速发展使其在缺陷检测领域得到越来越广泛的应用,具体的缺陷检测方法如图所示。
监督方法要求训练集和测试集缺一不可,训练集中的样本必须被标记,其中训练集用于寻找样本的内在规律,然后将规律应用到测试集。
在上述有监督的表面缺陷检测方法中,基于表征学习的方法大致可以分为三类:分类网络、检测网络和分割网络。其中,常用的分类网络是 Resnet、ShuffleNet;通常用作检测网络的是 Faster RCNN、YOLO;常用的分割网络有:FCN、Mask RCNN 等。
在缺陷检测的任务中,分类网络的重点是解决“缺陷是什么”问题,即确定图像的类型(图像是否包含缺陷,缺陷的类型是什么);检测网络的重点是解决“缺陷在哪里”的问题,即获取具体的位置信息和通过确定缺陷的位置来确定缺陷的类别信息;分割网络的焦点是为了解决“有多少缺陷”的问题,即分割从背景中修正缺陷区域,获取位置、类别、属性和缺陷的其他信息。
ShuffleNet ShuffleNet 是一种计算效率高的轻量级网络,它采用了逐点组卷积和通道 shuffle 两种新方法来保证计算精度并有效降低计算成本
Faster RCNN Faster RCNN 是在 Fast RCNN 的基础上引入了区域提议网络(RPN),将生成区域推荐的步骤放入神经网络中,在端到端的学习模式下实现了几乎无成本的区域推荐算法,极大地提高了目标检测的速度,还提到了滑动窗口方法。
全卷积网络 在 FCN 中,一种端到端的图像分割方法,网络中的所有层都是卷积层;网络主要使用三种技术:卷积、上采样和跳过层;可以通过让网络做像素级预测直接得到标签图。核心思想之一是反卷积层,增加了数据规模,从而可以输出准确的结果。
Mask RCNN Mask RCNN 是 Faster RCNN 的一种扩展形式,它为两阶段框架网络集成了目标检测和实例分割功能:第一阶段扫描图像并生成候选框(建议框可能包含目标区域),第二阶段分类候选框并生成边界框和掩码。
YOLO YOLO (You Only Look Once)是一种单级目标检测器,用于实现两个目标(即速度和准确性)。它将对象检测定义为一个回归问题,图像输入卷积神经网络,并预测每个网格的类概率和边界框。
Autoencoder 编码器和解码器是自编码器的两个核心部分。其中,encoder 对应网络模型中的隐藏层,用于学习输入信号的低维特征;解码器对应模型中的输出层,用于尽可能地再现输入信号。因此,使编码器能够学习输入信号良好的低维特征并重构输入信号是自编码器的最终目标。
生成对抗网络 生成对抗网络由两个参与者组成:生成器和鉴别器。生成器用于获取样本数据的分布,鉴别器用于估计样本训练数据的概率。该模型的最终目标是学习真实数据的内在规律,预测和估计真实数据的分布或密度,并根据学到的知识生成新的数据,即生成对抗网络制造数据。
深度信念网络 深度信念网络由多个RBM(受限玻尔兹曼机)组成,整个网络的训练是通过逐层单独训练 RBM 来完成的。
缺陷检测落地需要非常多的工具支撑:
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !