一种基于深度学习架构检测和分割表面异常最新算法

 

概述

利用机器学习自动进行表面异常检测已成为一个有趣而有希望的领域研究,对视觉检查的应用领域具有非常直接影响。

深度学习方法已成为完成此任务的最合适方法。

它们使检查系统可以通过简单地显示一些示例来学习检测表面异常图片。

 

该论文文提出了一种基于分割的深度学习架构,该架构旨在检测和分割表面异常,并在表面裂纹检测的特定领域。

 

设计该架构使模型可以使用较小的模型进行训练样本数量,这是实际应用。所提出的模型与相关的深度学习方法(包括最新的商业软件)表明,该方法在以下方面优于相关方法表面裂纹检测。大量实验还阐明了注释所需的精度,所需培训样本的数量和所需的数量计算成本。

实验是在新的根据真实的质量控制案例创建数据集并证明所提出的方法能够学习在少数有缺陷的表面上,仅使用大约25-30个有缺陷的训练样本,而不是数百或数千,这在深度学习中通常是这样应用程序。这使深度学习方法变得实用用于有缺陷数量的行业。

 

 

介绍

 

深度学习的检测方法基本上可以分为两个大类。

  • 基于目标检测网络实现的缺陷检测系统

  • 基于图像分割网络实现的缺陷检测系统

 

本文探讨了合适的深度学习方法用于表面质量控制。尤其是,本文研究了应用于工业产品表面裂纹检测的深度学习方法(见图1)。探索合适的网络体系结构,不仅是从整体上分类的表现,也是从角度来看

对于工业4.0特别重要的两个特征:

(a)注释/数据要求和

(b)计算要求。满足数据要求

通过利用深度卷积的有效方法基于两阶段语义分割的网络。

提出了适合的细分和决策网络从少数有缺陷的训练样本中学习,但仍可以达到最新结果。

 

在称为Kolektor表面缺陷数据集(KolektorSDD)的新颖,真实世界的数据集上对提出的方法进行了广泛的评估。

 

数据集代表工业上半成品表面缺陷检测的实际问题,其中可用于培训的缺陷项目数量有限。建议通过突出三个重要方面,证明该方法已经适合于所研究的应用程序:

(a)进行100%检测所需的手动检查率(人工检验假阳性结果),

(b)所需的注释详细信息和培训次数导致人力成本的样本;

(c)所需的样本计算成本。在研究领域,网络显示胜过相关的最新技术方法,包括最新的商业产品和两种标准细分网络。在本文的其余结构如下。

 

网络设计

 

作者使用基于图像分割网络实现的缺陷检测系统实现缺陷检测和缺陷尺寸分割网络,从而实现了更加有效和准确的缺陷检测系统。该网络仅需要20到30个训练量的样本即可获得良好的结果,从而避免了网络训练所需的数千个样本收集成本。作者在论文中提到,经典的机器视觉方法不能满足工业4.0的技术要求,而深度学习方法具有很高的灵活性和准确性。传统的手动标准特征提取+ SVM / KNN视觉检测方法不如深度学习相关方法有效。 

 

该网络在设计时考虑了以下两个关键问题。

  • 需要多少标签数据?

  • 网络参数和浮点计算

语义分离与决策两阶段网络基于KolektorSDD(缺陷检测开放数据库)以达到最佳效果,从而实现少量的样本训练和高精度检测。 

 

整个网络的架构如下:

 

一种基于深度学习架构检测和分割表面异常最新算法

 

带有细分和决策网络的拟议架构

 

在分割网络部分,作者认为表面缺陷检测可以解释为图像二进制分割问题,因此作者首先通过语义分割网络实现像素级语义分割,然后将分割结果作为输入特征进行处理。构建决策部分。第一部分称为分割网络,第二部分自然被视为决策网络。

 

如何分割网络?

 

分割网络由11个卷积层和3个池化层组成。每个卷积层之后是BN层和ReLU**层(conv + BN + ReLU),以优化学习加速收敛。除了最后一层的卷积核大小为15x15之外,所有卷积层都使用5x5大小的卷积核。最后,通过与1x1卷积获得的图像大小是原始图像大小的单通道蒙版图像。辍学正则化被完全丢弃。作者认为,这样的网络是足够规则的(事实背后的实验数据被证明是正确的)。因此),这样的网络架构具有检测高分辨率图像中小的缺陷的能力,网络具有相对较大的接收场(5x5),并且可以实现相对较小的特征捕获(像素级分割),作者还解释了网络的下采样和高层的大卷积内核(15x15)用于放大接收场大小,底层使用多个卷积内核和一个下采样最大池化层。

 

如何决策网络?

 

决策网络使用分段网络的输出作为输入,并使用分段网络的最后卷积层(1024通道数据+上遮罩通道),使用max-pooling + conv(5x5卷积,获得1025通道数据作为输入特征)最后,网络通过全局最大池化和池化输出的平均来生成66个输出向量。在设计决策网络时,作者考虑了以下两个重要原则。

 

  • 该网络具有处理大型和复杂形状的能力,因此它使用三个最大池

  • 输入不仅采用卷积层特征的最后一层,而且以掩码数据为输入,最后输出66个特征向量,有效解决了过拟合和全卷积特征参数的问题。

 

同时,作者提出了一种快速路径的概念,它通过全局最大池化和卷积层实现了不同的快捷路径,有效地防止了网络的复杂性。以下是一些注释数据的原始图像和Mask图像。

 

一种基于深度学习架构检测和分割表面异常最新算法

具有可见缺陷的表面图像及其注释Mask的几个示例

 

如何训练?

分割网络的学习目标是生成基于像素级分类操作的两类分割网络。作者使用两种训练方法。

  • 基于回归的平方误差(MSE)

  • 基于交叉熵的两种分类

该模型在开始时并未使用任何图像分类网络进行预训练,并且使用正分布生成了网络参数的初始化。

 

决策网络首先通过交叉熵损失训练分割网络,然后冻结分割网络参数,直接使用分割网络的输出来训练决策网络。仅当决策层具有拟合现象时,才需要对分割网络的加权参数进行微调。。作者在培训期间没有很多GPU。他说,在训练决策网络时,批处理大小= 2,在训练分割网络时,可以增加样本数量(此操作使我深深感到世界需要GPU)。

 

两种网络培训方法的作者也尝试过。此时,损失函数更为关键。作者指出,此时两级网络应使用交叉熵损失。

作者的实验也证明了一起训练的效果会更好。

 

结果

作者说,当推断输入尽可能使用灰度图像时,作者使用两个分辨率的图像作为测试。

  • 1408x512

  • 704x256

两个输出层分别从决策网络输出二进制分割掩码图像和概率异常分数(0〜1),指示异常出现在图像中。KolektorSDD数据集支持的五种数据注释方法如下:

一种基于深度学习架构检测和分割表面异常最新算法

通过以不同比率扩展(a)中所示的原始注释而生成的五种不同注释类型的示例:(b)dilate= 5,(c)膨胀= 9,(d)膨胀= 13,(e)膨胀= 15

 

最后,在KolektorSDD数据集上查看网络的实验结果和性能。准确性和不同损失函数训练结果的五种标准方法:

一种基于深度学习架构检测和分割表面异常最新算法

拟议方法在KolektorSDD上的结果(深色显示为假阳性(FP),浅色显示为假阴性(FN))

 

当前的市场在KolektorSDD数据集上的康耐视缺陷检测测试结果中占主导地位,如下所示:

一种基于深度学习架构检测和分割表面异常最新算法

在KolektorSDD上评估商用软件Cognex ViDi Suite

不同模型效果对比结果要比Cognex更好:

一种基于深度学习架构检测和分割表面异常最新算法

与最新的KolektorSDD进行比较(在中间的图中:深色的假阳性和浅色的假阴性)

一种基于深度学习架构检测和分割表面异常最新算法

带有分段输出和相应分类(真实缺陷在第一行中圈出)的真阳性(绿色实线边框)和假阴性(红色虚线边框)检测示例

总结

 

作者核心思想是将缺陷检测视为二进制图像分割问题, 像素级语义分割网络用于成功减少网络深度和参数总数,并通过少量的样本训练实现非常高精度的缺陷,表面检查网络。 在本文中,作者提到网络设计的思想是本质。

 

相关数据集论文源码下载地址:关注“图像算法”微信公众号 回复表面检测