Automatic Metallic Surface Defect Detection and Recognition with Convolutional Neural Networks

基于卷积神经网络的金属表面缺陷自动检测与识别

//2022.7.17下午17:20开始阅读笔记

论文速览

1.文章有什么贡献?

1.提出了一种新的CASAE级联检测网络来处理金属表面缺陷;

2.提出来的两阶段架构,将对金属表面缺陷的检测过程划分为了:分段和分类的过程;

3.提出来的方法在工业数据集上进行了测试和验证,同时,该方法可以应用于其他工业场景下的缺陷检测任务。

2.采用了什么方法?

首先,文中采用CASAE网络将原始图像进行像素级的预测,然后针对预测的像素(分为背景/缺陷两种)进行裁剪,而后将裁减之后的crops缺陷区域进行灰度化处理,保证了缺陷检测的必要精度。然后,将灰度处理后的图像sets调整为统一的大小,并作为自主设计的CNN的 输入从而实现分类。其中CNN中使用了atrus卷积,有效地避免了CNN的感受野过小而导致的对原始图像中尺度较大的目标缺陷检测不到的问题。

论文地址

Applied Sciences | Free Full-Text | Automatic Metallic Surface Defect Detection and Recognition with Convolutional Neural Networks (mdpi.com)

论文贡献

本文提出了双重阶段检测框架对金属表面缺陷进行分类和定位,设计了一种新的级联编码器的结构(CASAE),用于分割和定位缺陷。其中,级联网络将金属图像转换为像素级的掩码,并通过CNN网络将分割结果的缺陷部分区域划分为其特定的类别。

论文内容

1.介绍

手动检查缺陷存在的问题:精度低、实时性差、主观性强、劳动强度高。

金属表面可能存在一些问题:照明不均匀、强反射、背景噪声。

汽车工业中拍摄的金属表面图像如图1所示。

从图中可以看到,金属表面存在多种类型的损伤:损伤点、胶痕点、划痕。

在图1(b1)中,存在一些边缘模糊和由于强烈反射而导致的对比度低的缺陷(粘合点)。

同时,由于同一批次的组件由于其上的膜不同,因此同一批组件的背景色不同。

图1(b3/b4)图像中出现了:工业环境中的污染物,灰尘,纤维等。

此外,先进的缺陷性能评估标准要求:不仅需要判断表面是否存在缺陷,还需要判断缺陷的大小和类型。

传统的图像处理方法使用局部异常反映的原始属性来检测和分割缺陷。

传统的缺陷检测方法又可以分为:结构方法/阈值方法/频谱方法/基于模型的方法。

结构方法包括边缘[12]、骨架[13]、模板匹配[14]和形态学操作[15]。

阈值方法包括迭代最优阈值[16]、Otsu方法[17]、对比度调整阈值方法[18]、Kittler方法[19]和分水岭方法[20]等。

频谱方法通常包括傅立叶变换[21]、小波变换[22]和Gabor变换[23]。基于模型的方法包括高斯混合熵模型[24]和低秩矩阵模型[4]。

基于机器学习的方法通常包括特征提取和模式分类两个阶段。通过分析输入图像的特征,设计描述缺陷信息的特征向量,然后将特征向量放入分类器模型中,该分类器模型经过预先训练,以确定输入图像是否存在缺陷。这些特征包括局部二进制模式(LBP)特征[2]、灰度共生矩阵(GLCM)[7]、定向梯度直方图(HOG)特征[25]和其他灰度统计特征[8,10]。

传统的图像处理方法使用多个不同的阈值来检测表面缺陷,当表面缺陷发生变化时,还需要重新调整阈值甚至重新设计算法。

此外,手工或简单机器学习方法获得的特征对深层次的特征提取效果不是很好。

本文提出了一个两级的金属表面缺陷检测架构,包含:分类模块和检测模块。

检测模块,我们称之为级联自动编码器(CASAE),用于分割和定位缺陷。在分类模块中,通过紧凑的CNN网络获得准确的缺陷类别。

文章的主要贡献如下:

1.提出了一种新的CASAE级联检测网络来处理金属表面缺陷;

2.提出来的两阶段架构,将对金属表面缺陷的检测过程划分为了:分段和分类的过程;

3.提出来的方法在工业数据集上进行了测试和验证,同时,该方法可以应用于其他工业场景下的缺陷检测任务。

2.系统概述

金属表面缺陷检测架构如图2所示。

图像尺寸:拍摄图像的大小为2720×2040×3像素。

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

3.检测模块

该模块由两级自动编码器AE组成。

3.1 CASAE的架构

AE网络广泛用于信息编码和重建[37]。通常,AE网络包括编码器网络和解码器网络,解码器网络由一个或多个解码器层块组成。编码器网络是一个转换单元,通过它将输入图像转换为多维特征图像,用于特征提取和表示。获取的特征图中存在丰富的语义信息。相反,解码器网络通过合并来自所有中间层中学习的特征映射的上下文信息来微调像素级标签。此外,解码器网络可以使用上采样操作将最终输出恢复为与输入图像相同的大小。

文中使用AE网络学习缺陷特征的表示,从而将金属表面缺陷检测问题转换为缺陷分割问题。使用AE中编码器-解码器将图像中存在的缺陷转换为像素级预测掩码。

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

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

为了增加网络的感受野从而使得AE网络对原始图像中存在的较大尺度的目标对象也可以进行较好的检测,作者使用阿托斯卷积[40]以用于增加网络的接收场,以检测大缺陷。在图4中,左侧的卷积是规则的3×3卷积。右侧是两倍的萎缩性卷积。阿托斯卷积将卷积中求和的像素隔开,但求和像素与常规卷积相同。空白中萎缩卷积的权重为零,不参与卷积运算。因此,它们的有效感受野是7×7。AE网络编码器部分中的规则卷积被带填充1和步长1的阿托斯卷积取代。AE网络中阿托斯卷积的详细参数如表1所示。编码器部分有四个卷积层,由萎缩卷积代替。

为了训练AE网络,作者设计了一种改进的加权加权像素交叉熵损失。通常,金属表面的捕获图像具有比缺陷像素更多的背景像素。为了重新加权不平衡类,在损失函数中设置了wdefects=0.8和wbackground=0.2,其定义为:

其中wk是权重,K=2表示类数(背景和缺陷),M表示训练样本的小批量大小,N是每个图像块中的像素数,1(y=K)是一个指示函数,当y=K时取1,否则取0,xi j是第i个图像块中的第j个像素,yi j是xi j的地面真值标签,pk(xi j)是像素xi j作为第k类的概率,这是softmax层的输出。

3.2 阈值模块

阈值模块的作用主要是用来进一步细化预测掩码的结果,还有对概率图应用逐像素的阈值操作。

文中将给定的阈值Gs分配给预测掩码。

其中,If和Ipm分别表示二值化后的最终图像和预测掩码图像,Gs是细化阈值。当CASAE经过训练时,Gs是检查架构中需要调整的唯一阈值。在If中,灰度值为0的像素表示缺陷区域,灰度值为1的像素表示非缺陷区域。为了便于显示检测到的缺陷,我们在原始彩色图像上用绿色标记缺陷区域的像素。如图2b所示,绿色像素表示二值化后缺陷的精细语义分割。

3.3 缺陷区域检测器

在获得所有可能缺陷的语义分割结果后,我们进一步采用blob分析来找到准确的缺陷轮廓。我们根据最终图像中的缺陷轮廓提取最小封闭矩形(MER)区域。这是因为MER准确地反映了缺陷包络区域,这可以为分类模块提供更准确、更容易的输入。

由于MER具有随机方向,我们基于仿射变换将斜MER转换为正MER。正MER被设置为感兴趣区域(ROI),最终的缺陷区域是这些ROI,它们是从原始图像中裁剪出来的。如图2c所示,原始图像中的红色矩形是MER。在图2d中,这些可能缺陷的图像补丁是缺陷区域,输入到下一个模块进行分类。

4.分类模块

文中说到,由于缺陷收到环境中各种因素的影响,其颜色的不同导致了相同的缺陷被分类到了不同的类别,因此,首先对缺陷图像进行灰度处理。

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

5.实验

5.1 实验设置

实现细节:检查实验系统使用Python 3.6.2开发,其深度学习计算平台使用TensorFlow[44]。以下结果由一台服务器获得,该服务器的CPU为Intel Core i7,图形处理单元(GPU)为NVIDIA GTX-1080ti,具有11 GB的视频内存。为了训练CASAE,第一个AE网络训练了30个阶段,学习率为0.0001。第二个网络以相同的学习率训练了20个时代。两个AE网络的批量为2。对于紧凑型CNN的训练,我们使用均值为零、标准差为0.001的高斯分布初始化每个层的权重。批量大小设置为8,总共30000次迭代。初始学习率设置为0.001。动量为0.9,重量衰减为5×10−在阈值模块中,我们使用100作为阈值Gs来细化实验中的缺陷。

作者使用联合交并比来评判模型的性能。

其中GT是地面实况掩码,PM是预测掩码。精度用于定量评估分类任务的性能,计算如下:

其中TP(真阳性)和FP(假阳性)表示正确和错误地划分为各自类别的缺陷区域的数量。

5.2. CASAE的性能

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

由上图可以看到文中提出的CASAE检测网络具有很强大的缺陷提取能力。

由于atrus卷积对于生成适应不同缺陷尺度的稳健模型非常重要,因此我们通过运行单个声发射和CASAE的同一模型,并使用额外的atrus卷积。

图6中的使用结果e1-e6显示,使用atrus卷积导致了测试数据集IoU的增强。

表3中,展示了CASAE与其他三种方法进行对比时的IoU指标。

5.3分类模块的性能

文中将本文提出来的检测框架与另外三种网络进行了对比:

这三个网络方法的代码是公开的。

(1) GLCM[7]:该特征是经典的纹理特征,包括四个典型描述:能量、对比度、熵和相关性。

(2) HOG[25]:这是一个方向直方图特征,通常通过以下步骤获得。首先,通过将图像分割成小的连接区域来获得细胞单元。然后获取单元单元中每个像素的梯度或边缘方向直方图。最后,通过组合这些直方图来构成完整的特征描述符。

(3) HOG+SOBEL:我们将基于SOBEL运算的梯度幅度计算为特征,并将上述HOG特征结合起来形成一个新特征。

基于上述特征,使用多层感知器(MLP)进行了三次缺陷分类实验。MLP由隐藏层和输出层中的15个单元组成,其中输出层具有三个输出变量。输入层的数量由上述特征的尺寸决定。MLP中优化算法的最大迭代次数为1000。GLCM特征由六个要区分的灰度级组成,灰度值为90◦ 在共生矩阵中计算的方向。HOG中的灰度值量化为8。SOBEL中的滤波器掩模尺寸为3×3。表4显示了实验结果。结果表明,基于机器学习的浅层特征方法的准确率仅为70%左右,而CNN的准确率比这些方法高出15%以上。与单个特征相比,组合的浅特征略有改进。

传统方法很难区分两种类型:灰尘和损坏点。

5.4 其他应用的影响

CASAE可以应用到其他应用中进行检测

图8中显示的是由电子显微镜SEM扫描静电纺丝纳米纤维材料生成的。

左边是原图像,右边是使用CASAE之后得到的原始图像中缺陷目标对象的像素级分割。

此外,作者还在DAGM图像中进行了测试,DAGM图像显示在图9中。

6.结论

本文提出了一个CASAE像素级分割网络,再对原始图像进行分割之后,将产生的缺陷crop块输入到自主设计的一个比较紧凑型的CNN网络中,之后进行分类。

//本文仅作为日后复习之用,并无他用。

Automatic Metallic Surface Defect Detection and Recognition with Convolutional NeuralNetworks-论文阅读笔记相关推荐

  1. OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks论文阅读笔记

    文章目录 OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks论文阅读笔记 ...

  2. Small Object Detection using Context and Attention(论文阅读笔记)

    Small Object Detection using Context and Attention 论文阅读笔记 出处:2021 International Conference on Artifi ...

  3. Object Detection in 20 Years A Survey 论文阅读笔记

    文章链接:https://arxiv.org/pdf/1905.05055.pdf 1.Introduction 作为计算机视觉的基本问题之一,目标检测构成了许多其他计算机视觉任务的基础,例如实例分割 ...

  4. Triplet Loss: A Unified Embedding for Face Recognition and Clustering(论文阅读笔记)(2015CVPR)

    论文链接:<FaceNet: A Unified Embedding for Face Recognition and Clustering> 摘要 尽管人脸识别领域最近取得了重大进展[1 ...

  5. Deep learning based multi-scale channel compression feature surface defect detection system

    基于深度学习的多尺度通道压缩特征表面缺陷检测系统 Deep learning based multi-scale channel compression feature surface defect ...

  6. 论文阅读笔记——DLT-Net: Joint Detection of Drivable Areas, Lane Lines, and Traffic Objects)

    论文阅读笔记--DLT-Net: Joint Detection of Drivable Areas, Lane Lines, and Traffic Objects 论文简介 1 引言 2 DLT- ...

  7. Dynamic Head Unifying Object Detection Heads with Attentions 论文阅读笔记

    Dynamic Head Unifying Object Detection Heads with Attentions论文阅读笔记 这是微软在CVPR2021发表的文章,在coco数据集上取得了目前 ...

  8. 论文阅读笔记——VulDeePecker: A Deep Learning-Based System for Vulnerability Detection

    本论文相关内容 论文下载地址--Engineering Village 论文中文翻译--VulDeePecker: A Deep Learning-Based System for Vulnerabi ...

  9. 论文阅读笔记——Vulnerability Dataset Construction Methods Applied To Vulnerability Detection A Survey

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--Vulnerability Dataset Construction Methods Applied To Vulnera ...

  10. 点云配准论文阅读笔记--(4PCS)4-Points Congruent Sets for Robust Pairwise Surface Registration

    目录 点云配准系列 写在前面 Abstract摘要 1 Introduction引言 2 Background研究背景 RANSAC Randomized Alignment 3 Approximat ...

最新文章

  1. Jerry眼中的SAP客户数据模型
  2. 计算机专业教育,科学网—中国大学计算机教育路在何方? - 吴军的博文
  3. golang select
  4. github:已经提交并push后再次追加提交
  5. 雷达多普勒频率计算公式_雷达系统的用途、分类,影响雷达性能的关键要素
  6. 以阿里云RPA为例,来告诉你到底RPA是什么?
  7. ActiveMQ 的客户端选项
  8. 俄罗斯将封杀LinkedIn 推动个人数据本地化
  9. 学习KMP (概念 + 模板 + 例题: 子串查找)
  10. 解决虚拟机VMware安装CentOS7.0识别不到网卡
  11. Python数据结构与算法(二)--timeit模块
  12. spark练习之统计广告Top3
  13. VSS2005源代码管理
  14. 网易数据中台获评工信部2019“十佳大数据案例”
  15. firewalld的练习
  16. 微博SDK第三方授权登陆
  17. 2019年Q4三星和华为都败了,谁也想不到第一名是它
  18. VC中的所有WM消息
  19. iOS 关于leak检测内存问题的使用
  20. 2021-06-07 RK3328 Android 10 上调试es7243记录

热门文章

  1. deflate php,我可以告诉mod_deflate和PHP只跳过一个目录上的压缩吗?
  2. 红米5plus开发者选项怎么打开?
  3. json文件是什么?
  4. 高精度定位赋能行业创新,Petal Maps Platform 创新地图平台能力
  5. 2021_SIGIR_ConsisRec: Enhancing GNN for Social Recommendation via Consistent Neighbor Aggregation
  6. 微信计步器怎么不计步_微信计步器怎么用?微信计步器在哪里?
  7. 悲催:一个80后程序员的爱情故事【视频】-但愿我不是那个陈旭阳!55...
  8. Swipe轮播插件的使用
  9. win10常用快捷键及命令行
  10. (P45)面向对象版表达式计算器:Storage类实现