论文阅读笔记《A High-Efficiency Fully Convolutional Networks for Pixel-Wise Surface Defect Detection》

核心思想

  本文提出一种基于全卷积神经网络的表面缺陷检测方法,整个算法分成三个任务阶段:分割阶段,检测阶段和修边阶段(Matting Stage)。分割阶段就是用一个全卷积神经网络(FCN)输出缺陷区域的分割图,对缺陷区域进行像素级别的分割。检测阶段是对分割结果进行更精细的修正,因为有些区域被误判为缺陷,需要重新对其进行分类。修边阶段就是对预测结果的边缘进行修整,使其反映出真实的缺陷区域。整个算法的流程如图所示
在这里插入图片描述
  首先,经过FCN得到初步的曲线区域分割图,对每个像素点进行预测,将缺陷概率大于阈值的点标记为缺陷点。然后,第二阶段先是提取感兴趣区域ROI,对标记为缺陷点的像素附近,使用32*32的滑框进行图块采样,再将每个图块都输入到分类网络中,对该图块是否属于缺陷区域进行预测,得到预测后的掩码图。将第二阶段得到的掩码图和第一阶段得到的分割图计算Hadamard积(逐元素相乘)得到第二阶段的缺陷预测结果。最后用引导滤波对预测结果进行处理,得到最终的结果。

实现过程

网络结构

  分割网络的结构如下图所示
在这里插入图片描述
最后输出的通道数为2,是分别预测每个像素点属于和不属于缺陷的概率嘛?通道为1不行嘛?
  检测网络的结构如下图所示
在这里插入图片描述
网络前端没什么特别的,最后在分类预测的地方设计了一个双分支的结构,一个分支直接进行分类预测,另一个分支经过额外两次卷积之后再进行预测,分别提取浅层特征和深层特征,说实话我觉的意义不大。最后分别用平均和取最大值的方式来决定最终的预测得分,实验结果看起来取平均值的方式要更好一点。

创新点

  • 提出一种三级缺陷检测算法,先分割,再分类,最后精修

算法评价

  本文提出的算法虽然没有特别大的创新吧,但是我感觉这种用分类网络对分割结果进行修整,最后再用引导滤波得到更精确的像素级预测结果的方式还是很有意思的,可惜这种方法还是很依赖带有标签的数据集呀。

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