基于CNN的金属表面缺陷自动检测识别

原论文标题:Automatic Metallic Surface Defect Detection and Recognition with Convolutiona,本文使用图床为GitHub若图片加载失败,是网络原因

Abstract

金属表面缺陷自动检测在工业生产中越来越受到重视,但传统的方法和基于图像处理或浅层机器学习技术只能在特定的检测环境和条件下发挥作用,并且只能发现非常明显的的划痕。

本文使用twoflod procedure来识别直接在工业环境中获得图像中的缺陷。为了分割和定位缺陷,设计了一种级联自动编码器架构(cascaded autoencoder (CASAE) architecture);而级联网络将基于语义分割的输入图像转变成像素级的预测蒙版。分割结果中的缺陷区域将由CNN来进行分类。

实验结果证明,此方法满足金属缺陷检测的鲁棒性和准确性的要求,同时也可以扩展到其它检测应用上去。

Introduction

相比于光滑的表面,例如LCD,金属表面的照片容易出现类似不均匀光照、强烈反射、背景底噪的问题,给检测带来了困难。一个金属组件往往会有多种多样的受损点,胶水痕迹和划痕。

图1b1中,有因为强烈反光而产生的模糊边缘和较低的差异。

传统的方法大致分为两种:

  1. 传统图像处理:传统的图像处理方法利用局部异常反映的原始属性来检测和分割缺陷,可以将其进一步分为结构方法,阈值方法,光谱方法和基于模型的方法。
  2. 浅层机器学习:基于手动标注特征

本文共有两大模块,被成为级联自动编码器的检测模块可以堆缺陷进行分割和定位,分类模块中,将由紧凑的CNN来得出精确的缺陷类别。

(1)提出了一种新颖的CASAE网络来处理缺陷检查任务。由于采用级联架构,在复杂的照明条件和模棱两可的缺陷下,与其他方法相比,可以获得更准确和一致的缺陷检测结果。而且,在训练CASAE之后,仅需要调整一个阈值参数。
(2)通过提出的体系结构将整个缺陷检测和识别任务表述为细分和分类问题。这种两阶段的体系结构将两个子任务结合在一起,不仅可以获取准确的缺陷轮廓,还可以获取缺陷类别。
(3)使用真实的工业数据集评估使用提出的方法成功进行的金属表面缺陷检测和分类。此外,所提出的方法是一种通用方法,可以直接应用于其他材料的检测,例如斑点检测。
纳米纤维材料。本文的其余部分安排如下。第2节介绍系统框架。第3节说明了建议的检测模块。在第4节中,我们详细介绍了分类方法。第5节介绍了为评估所提出的方法而进行的实验结果。第5节还讨论了该方法的其他应用以及结果摘要。最后,结论在第6节中给出。

图2是金属表面检测工程的传递过程。原始图片是由工业显微镜在明场成像获得,2720 2040 3像素。

原图a→ AE Network→Prediction Mask→AE Network→Prediciton Mask →Threshold Module→b→Decfect region detector→c缺陷定位→dcropped results→compact CNN→classification

检测模块的目标是对缺陷准确的进行细分和定位。 首先将输入的原始图像转换为基于CASAE的预测蒙版。 其次,阈值模块用于对预测结果进行二值化以获得准确的缺陷轮廓。 第三,由缺陷区域检测器提取并裁剪被视为下一模块的输入的缺陷区域。 在分类模块中,这些缺陷区域通过紧凑的CNN分为特定类别。 这种紧凑的CNN旨在加快缺陷检查的整个过程。 整个检查过程包括在实际工业环境中进行在线检测。

Detection Module

在本节中,将描述所提出的CASAE体系结构,该体系结构由两个级别的自动编码器(AE)网络组成。 描述了AE网络和丢失功能的详细信息。 在以下小节中,将介绍阈值模块,然后介绍缺陷区域检测的方法。

在CASAE中,新的图像分割架构基于两个AE网络的级联。 这两个AE网络共享相同的结构。 从图2可以看出,第一网络的预测掩码用作第二网络的输入,并且在第二网络中执行像素标签的进一步微调。这样做的目的是,后一个网络可以增强前一个的预测结果。

单个AE架构如图3所示。由于金属表面膜的不同,相同的缺陷(例如损坏点)具有不同的颜色。这种模糊的颜色会影响AE网络的训练。因此,将原始彩色图像规格化为512 512灰度图像,然后将其输入到AE网络中,以减少颜色干扰并更快地进行缺陷分割。该体系结构由一个编码器部分(右侧)和一个解码器部分(左侧)组成。解码器网络具有与编码器网络类似的结构。编码器部分包括10个卷积层,每个卷积层包含3 3卷积运算以及随后的整流线性单位(RELU)非线性运算。两个卷积层的每一个后面都跟随着步幅为2的2 2最大池化操作。我们将每个最大池化层之后的特征数量加倍,以减少语义信息的丢失[38,39]。在两个卷积层的每一层之后,在解码器部分应用2 2上采样操作。上采样操作的结果从编码器部分连接到相应的特征图,以获得最终的特征图。在最后一层,与softmax层的1 * 1卷积被附加到AE网络,以将输出转换为概率图。最终的预测蒙版是缺陷概率图,该缺陷图被调整为输入图像的相同大小。

AE网络中存在稳定的卷积范围。该网络很难“看到”整个缺陷并在生成预测蒙版时整合全局上下文。在实际的工业检查环境中,缺陷的大小和形状是多种多样的。上述网络无法理解金属表面上存在较大的检测对象,例如灰尘和纤维。因此,必须设计不同大小的接受域(过滤器)以适应这种情况。在本文中,无规卷积被联合起来以增加用于检测大缺陷的网络的接收域。在图4中,左侧的卷积是规则的3 3卷积。右边的因果卷积乘以两倍。无用的卷积将在卷积中求和的像素隔开,但求和像素与常规卷积相同。毛坯中无孔卷积的权重为零,并且不参与卷积运算。因此,它们的有效接收场为7 7。AE网络的编码器部分中的常规卷积被填充为1和跨度为1的原子卷积代替。AE网络中原子卷积的详细参数如表1所示。在编码器部分中,有四个卷积层被无用的卷积代替。

AE Network

由编码和解码两个网络组成;利用AE网络学习缺陷数据的表现并找到金属表面缺陷的共同特征

编码网络是一个转换器,输入图像被转换为多维特征图像以进行特征提取和表示,从而获取特征图中丰富的语义信息。

解码器网络通过合并来自所有中间层学习的特征图的上下文信息来微调像素级标签。 此外,解码器网络可以使用上采样操作将最终输出恢复为与输入图像相同的大小。

于是,金属表面缺陷检测的分割问题,使用编码器-解码器体系结构,将输入的缺陷图像转换为像素级蒙版

Classification Module

在分类模块中,将缺陷区域划分为特定类别。当金属成分的表面膜不同时,通过成像,相同的缺陷(损伤点)可能具有不同的颜色。因此,颜色信息无助于缺陷的分类。首先将图像的缺陷区域补丁转换为灰度图像,以减少不同背景颜色和照明的影响。图5显示了所提出的CNN的总体架构。将缺陷区域的所有灰度图像调整为227 * 227,以进行统一输入。拟议的CNN包含五个卷积层和三个最大池化层。表2中指定了每层的内核大小,内核数,步幅和填充。表2中每个卷积层后面都有一个整流线性单位(ReLU)。此外,在前两个卷积层之后添加了批处理归一化层,以加快训练过程。它可以以零均值和单位方差修整每个通道中的数据。在最后一层,使用softmax函数将所有单元完全连接到三类的输出概率。

我们提出的CNN是一个紧凑的网络,比传统的分类网络(例如GoogleNet [41]和ResNet [42])要小。 由于以下两个原因,该网络更适合于金属表面缺陷检查任务。 一方面,经典分类网络通常针对公共数据集中的自然图像,其训练样本远远超过了工业检查中的缺陷数据。 因此,我们的网络应基于工业缺陷数据从头开始进行培训,而不是使用经典分类网络作为预培训模型。 另一方面,该网络的紧凑结构减少了分类时间,适合工业在线检查。

Experiment

数据集描述:金属缺陷图像的数据集是使用工业显微镜从扁平金属组件的生产线提供的。 所有组件都需要由专业检查人员事先检查,并标记有缺陷区域及其类别。 在实际的工业生产线上,缺陷图像的数量非常少。

此外,获取和标记缺陷图像需要大量成本和人工。最后,我们总共收集了50张图像作为缺陷数据集,其中30张是随机选择的训练集,其余图像用作测试集。对于分割任务,所有样本都具有自己的标签图像。标签图像是二进制图像,其大小与原始图像相同。如图3所示,标签图像中的黑色像素的灰度值为0,其表示缺陷区域,而白色像素的灰度值为255,其表示背景。但是,数据集的小规模不足以训练深度学习网络。为了训练合适的网络,引入了一些数据增强策略,主要包括随机旋转,平移,缩放,剪切和弹性变换[43]。上述操作显着增加了训练集的大小,使训练集的数量达到3000个。对于分类任务,所有缺陷图像都从原始图像中裁剪出来。分类数据集包含432张图像,其中包括损坏点,胶痕,灰尘和纤维。在分类任务中,这些图像的70%用于训练,而30%用于测试。

为了评估CASAE在金属缺陷检测上的性能,在本节中,我们将检测性能与三种检测算法进行了比较,包括代表性阈值方法[17,19]和FCN方法[36]。 图6显示了检测结果,在各种复杂样品下标记为绿色。 这些缺陷样本包括边缘模糊(图6(a2,a4,a5)),背景颜色不同(图6(a1,a6)]和低对比度划痕(图6(a3,a6))的缺陷。

从图6可以看出,阈值方法仅适用于明显的缺陷,例如,图6(a1)中的损伤点,图6(a2)中的灰尘和图6(a6)中的纤维。它们在模棱两可的缺陷和低对比度的划痕上表现不佳,例如图6(a4)中的胶点,图6(a6)中的划痕。 Kittler [19]方法往往会错过对缺陷的检测,而Otsu [17]方法很容易过度检测,导致大量背景噪声也被分割,例如在图6(c3,c5)中。对于FCN方法[32],它可以对大多数缺陷实现良好的检测效果。然而,可能容易忽略划痕并且不能获得精细的缺陷区域。与这些现象相反,提出的CASAE方法提供了一种区分缺陷和背景的简洁方法。它显示了在各种复杂方案中的强大功能。缺陷检测结果的定量性能如表3所示。作为典型的分割网络,FCN [36]直接用于预测起点图像。从表3中可以看出,AE模型的性能优于FCN,这证明了与重复卷积操作相比,编码器-解码器结构可以了解有关缺陷的更多语义信息。由于无规卷积对于产生能够适应不同规模缺陷的鲁棒模型非常重要,因此我们通过在无规卷积的基础上运行单个AE和CASAE的相同模型来测试其对结果的影响。结果表明,无规则卷积和级联体系结构的更改导致测试数据的IoU增强。

为了定量评估紧凑型CNN的分类性能,我们将其与具有三种功能的传统机器学习方法(代码可公开获得)进行了比较。 (1)GLCM [7]:此功能是经典的纹理功能,其中包括四个典型的描述:能量,对比度,熵和相关性。 (2)HOG [25]:这是一个定向直方图特征,通常可以通过以下步骤获得。 首先,通过将图像划分为较小的连通区域来获得单元单元。 然后获取单元单元中每个像素的梯度或边缘方向直方图。 最后,通过组合这些直方图来构成完整的特征描述符。 (3)HOG + SOBEL:我们以SOBEL操作为特征计算梯度幅度,并结合以上HOG特征形成一个新特征。

根据上述特征,使用多层感知器(MLP)进行了三个缺陷分类实验。 MLP在隐藏层和具有三个输出变量的输出层中包含15个单元。 输入层数由上述特征的尺寸决定。 MLP中优化算法的最大迭代次数为1000。GLCM功能由六个要区分的灰度级组成,并且在同现矩阵中要计算90°方向。 HOG中灰度值的量化为八。 SOBEL中滤镜的大小为3 *3。表4显示了实验结果。 可以证明,基于机器学习的浅层特征方法只能达到约70%的精度,而CNN则比这些方法高出15%以上。 组合的浅层特征相对于单个特征有一点改进。

图7显示了这四种方法的详细分类结果。 传统的机器学习方法通常需要设计功能来训练模型。 但是,CNN已经实现了从特征学习到分类结果直接输出的端到端培训。 如图7所示,传统方法很难区分两种类型的灰尘和损坏点。 这可能是因为它们的纹理和渐变信息是如此接近,以至于有时很难将它们彼此区分开。 但是,我们的方法可以更好地区分损伤点和灰尘,并且损伤点的分类精度可以达到84%以上。 这是由于在工业场景中存在非常复杂的缺陷而造成的。 仅通过纹理和梯度特征很难完全表示实际缺陷的特征。

如图6和表3所示,可以通过简单的培训将CASAE网络用于金属表面缺陷检测。 它有助于防止笨拙而费时的特征和阈值参数选择,并减少不同的光照和表面颜色对缺陷检测的影响。 这种检测方法也可以扩展到图8所示的缺陷检查应用程序。这些图像来自公共缺陷检测数据集[45],该数据集由扫描电子显微镜(SEM)图像组成,这些图像描述了静电纺丝产生的纳米纤维材料。

从图8可以看出,这些缺陷隐藏在更复杂的背景中,并且一般的检测方法很难检测到。 我们仅使用10张原始图像进行数据增强来训练CASAE模型,从而避免了Carrera等人从缺陷块中提取特征的过程。 [46]。 使用我们提出的结构可以成功检测到随机背景下的斑点缺陷。 可以证明我们的通用算法可以实现纳米纤维的生产以保证其质量。

我们还在DAGM 2007 [47]的数据集上测试了CASAE框架,该数据集表示纹理背景下的缺陷。 图9(b1-b3)中的示例显示了检测到的缺陷的结果,这些缺陷在原始图像上标记为绿色。 图9(a1-a3)显示了原始图像,其中缺陷区域标记为红色。 详细的结果证明,我们的AE网络对具有纹理背景的缺陷图像也具有强大的检测能力。

Conclusion

在本文中,提出了一种新颖的基于CNN的体系结构,可以针对复杂的工业场景准确执行金属表面的缺陷检测和分类任务。基于提出的方法,将缺陷检查转化为分割和分类问题。提出的CASAE模块可以将缺陷图像转换为仅包含缺陷像素和背景像素的逐像素预测蒙版。为了在实际检查环境中快速获得缺陷类别,提出了一种紧凑的CNN。使用工业数据集,我们方法的检查结果的IoU分数为89.60%。视觉和定量实验结果表明,我们的检测算法足以满足复杂工业环境的要求。而且,这种通用方法无需进行太多修改即可直接应用于工业应用中其他材料的缺陷检测。所提出的方法的局限性在于,深度网络的训练需要手动标记的数据,这需要大量的时间和费用。将来,我们正在进行的工作将包括通过半监督学习减少数据标签,以及将所提出的方法应用于更多现实世界中的检查问题,例如手机屏幕的检查。

缺陷检测网络

1

在CASAE中,图像分割架构基于两个AE网络的级联并共享相同的结构。

第一网络的预测蒙版用作第二网络的输入,并且在第二网络中执行像素标签的进一步微调。目的是,后一个网络可以增强前一个的预测结果。

2

将原始彩色图像规格化为512 * 512灰度图像,然后将其输入到AE网络中,以减少颜色干扰并更快地进行缺陷分割。

编码器部分包括10个卷积层,每个卷积层包含3 3卷积运算以及随后的整流线性单位(RELU)非线性运算。两个卷积层的每一个后面都跟随着步幅为2的2 2最大池化操作。我们将每个最大池化层之后的特征数量加倍,以减少语义信息的丢失。

两个卷积层的每一层之后,在解码器部分应用2 * 2上采样操作。上采样操作的结果从编码器部分连接到相应的特征图,以获得最终的特征图。

最后一层,与softmax层的1 * 1卷积被附加到AE网络,以将输出转换为概率图。最终的预测蒙版是缺陷概率图,该缺陷图被调整为输入图像的相同大小。

3

左侧的卷积是规则的3 3卷积。右边是一个以factor为2的带孔卷积。带孔卷积将在卷积中求和的像素隔开,但求和像素与常规卷积相同。带孔卷积的权重为零,并且不参与卷积运算。因此,它们的有效感受野为7 7。AE网络的编码器部分中的常规卷积被填充为1和跨度为1的带孔卷积代替。

4

AE网络中带孔卷积的详细参数如表所示。在编码器部分中,有四个卷积层被无用的卷积代替。

编码网络是一个转换器,输入图像被转换为多维特征图像以进行特征提取和表示,从而获取特征图中丰富的语义信息。

解码器网络通过合并来自所有中间层学习的特征图的上下文信息来微调像素级标签。 此外,解码器网络可以使用上采样操作将最终输出恢复为与输入图像相同的大小。

5

6

————————————————————————————————————————————
在分类模块中,将缺陷区域划分为特定类别。首先将图像的缺陷区域补丁转换为灰度图像,以减少不同背景颜色和照明的影响。
7

将缺陷区域的所有灰度图像调整为227 * 227,以进行统一输入。拟议的CNN包含五个卷积层和三个最大池化层。表2中指定了每层的内核大小,内核数,步幅和填充。表2中每个卷积层后面都有一个整流线性单位(ReLU)。此外,在前两个卷积层之后添加了批处理归一化层,以加快训练过程。它可以以零均值和单位方差修整每个通道中的数据。在最后一层,使用softmax函数将所有单元完全连接到三类的输出概率。

8

经典分类网络通常针对公共数据集中的自然图像,其训练样本远远超过了工业检查中的缺陷数据。 因此,我们的网络应基于工业缺陷数据从头开始进行培训,而不是使用经典分类网络作为预培训模型。 另一方面,该网络的紧凑结构减少了分类时间,适合工业在线检查。


总共收集了50张图像作为缺陷数据集,其中30张是随机选择的训练集,其余图像用作测试集。对于分割任务,所有样本都具有自己的标签图像。标签图像是二进制图像,其大小与原始图像相同。

标签图像中的黑色像素的灰度值为0,其表示缺陷区域,而白色像素的灰度值为255,其表示背景。

数据集的小规模不足以训练深度学习网络。为了训练合适的网络,引入了一些数据增强策略,主要包括随机旋转,平移,缩放,剪切和弹性变换,使训练集的数量达到3000个。

对于分类任务,所有缺陷图像都从原始图像中裁剪出来。分类数据集包含432张图像,其中包括损坏点,胶痕,灰尘和纤维。在分类任务中,这些图像的70%用于训练,而30%用于测试。

实现细节:python3.6.2,tensorflow,Intel i7,图形计算集成GPU,NVIDIA GTX-1080ti,11G显存。
为了训练CASAE模型,第一个AE网络,以学习率为0.0001训练了30次。第二个AE网络以相同的学习率训练了20次。两个网络的batch size都是2。
训练紧凑CNN,我们用均值为零,标准差为0.001的高斯分布初始化了每一层的权重。而batch size被设置为8,并且迭代30000次,初始学习率为0.001。momentum设置为0.9,权重衰减为5*10的-5次方。在threshold模块,使用100作为Gs来改善缺陷。

评估:

9

Last modification:January 10th, 2022 at 06:28 pm
如果觉得我的文章对你有用,请随意赞赏
END
本文作者:
文章标题:AE Network
本文地址:http://feiqiuz.com/index.php/archives/8/
版权说明:若无注明,本文皆MixZou的小窝原创,转载请保留文章出处。