论文阅读笔记《Surface defect classification of steels with a new semi-supervised learning method》

核心思想

  本文提出一种基于半监督学习的钢铁表面缺陷检测算法(CAE-SGAN),核心思想是将卷积自编码器(CAE)和对抗生成网络(GAN)结合起来,先用无标签样本对CAE进行无监督训练,使CAE具备初步特征提取能力,然后引入一个GAN网络,并把CAE的编码器部分改造成GAN的区分器,使用带有标签的样本对其训练。CAE的结构如下图所示
在这里插入图片描述
  CAE结构还是比较常规,包含编码器和解码器两个部分,主要的改进在于增加了一个直通层(passthrough layer),该结构是来源于YOLOV2的一个设计,将浅层网络的特征图,按照各行各列提取的方式,拆分成4个1/2尺寸的小特征图,然后再与深层网络的特征图级联起来.直通层的结构如下图所示
在这里插入图片描述
  利用无标签的图像和L2重构损失对CAE进行训练,然后将训练完成的编码器取代GAN网络中的区分器(Discriminator)的部分,GAN网络如下图所示
在这里插入图片描述
  不仅如此,还通过增加一个多分类的softmax层,将编码器改造成一个多分类分类器,输出的类别包含N+1个,N表示缺陷分类的类别,1表示该图属于GAN合成的伪造图像还是真实的训练样本图像.也就是说,这个分类器即具备分类的功能,也具备区分器的功能.另一个改进的点就是,在对GAN进行训练的时候,依旧保持重构损失对于CAE的编码解码器训练.整个网络的结构包含:GAN的生成器(输入为随机噪声,输出为伪造的图像)+GAN的区分器(同时也是分类器,参数和结构是来自于CAE的编码器)+CAE的解码器.

实现过程

网络结构

  CAE的编码器结构
在这里插入图片描述
CAE的解码器结构
在这里插入图片描述
GAN的生成器结构
在这里插入图片描述

损失函数

  损失函数也包含了三个部分:分类损失,GAN损失和重构损失
在这里插入图片描述

  上式的前两项表示分类损失,第三项表示GAN辨别器损失,下式表示重构损失
在这里插入图片描述

训练策略

  先用无标签样本对CAE进行训练,再用带有类别标签的样本对GAN和CAE进行联合训练.

创新点

  • 将CAE和GAN两种网络结合起来,形成一种半监督的缺陷检测算法
  • 将训练好的CAE的解码器改造成集分类器与辨别器于一身的多任务模块

算法评价

  该算法充分利用了CAE能够进行无监督训练的特征提取能力,将训练好的编码器改造为分类网络的特征提取部分,再增加一个softmax层就变成一个分类器了.仅仅这样还不够,作者又引入了GAN,利用对抗训练的方式提高算法的泛化能力.

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