论文阅读笔记《Segmentation-based deep-learning approach for surface-defect detection》

核心思想

  本文提出一种基于分割的表面缺陷检测算法,作者通过对网络结构的精心设计,能够仅利用30张带有标签的缺陷样本实现对网络的有效训练,实现了超过商业软件的检测效果。整个网络分成分割网络(Segmentation network)和判断网络(Decision network)两个部分,分割网络就是输出一个二元的分割图,将缺陷区域标记出来;判断网络就是根据分割网络的结果对该区域是否存在缺陷进行判断。网络结构如下图所示
在这里插入图片描述
  如图所示,在分割网络中,输入图像经过多组卷积进行特征提取,并且每两个卷积组之间都有池化层,将图像尺寸压缩至原来的1/2。整个特征提取网络的最后一层的卷积核尺寸为15 *15,其余层均是5 *5,作者称这能够有效的增加感受野的范围,适用于高分辨率图像。特征提取网络的输出分为两个分支,一个分支通过1 *1的卷积层将通道压缩为1,得到最终的缺陷分割图像;另一个分支将进入判断网络用于计算该图像里存在缺陷的概率。
  在判断网络中,输入是1024个通道的特征图和1个通道的分割图,二者级联起来进入一个卷积网络,随着卷积过程通道数和图像尺寸都不断的压缩,得到一个32通道的特征图。然后分别经过全局最大值池化和全局平均池化转化为32个值,另一方面分割图像也经过全局最大值池化和全局平均池化转化为1个值。最后将这66个值(32 +32 +1 +1)级联起来,经过一个全连接层输出最终的存在缺陷概率值。

实现过程

网络结构

  具体网络结构如图中所示

损失函数

  分割网络可采用MSE损失函数或逐像素的二元交叉熵损失函数,判断网络采用交叉熵损失函数

训练策略

  首先对分割网络进行训练,然后锁定参数,再对判断网络进行训练

创新点

  • 提出了一种基于分割的表面缺陷检测算法,实现了小样本条件下的表面缺陷检测
  • 设计了一种适用于高分辨率图像的,少量样本条件下的两级网络

算法评价

  说实话本文的检测思想和网络结构设计都乏善可陈,属于比较常规的思路和做法,可能就是15 *15大卷积核和两种全局池化方式并用的设计算是有一点创新吧,但我也没看出来这与网络的性能提升有什么必然联系.需要注意的是作者分割网络输出的其实是原图1/8大小的图像,而且作者没有进行插值上采样,因为这样会影响整体效果.所以本文实现的是缺陷的检测和粗略定位,并不能输出像素级的分割结果,也不能对缺陷进行分类.

如果大家对于深度学习与计算机视觉领域感兴趣,希望获得更多的知识分享与最新的论文解读,欢迎关注我的个人公众号“深视”。在这里插入图片描述