【泡泡图灵智库】工业环境中用于表面缺陷检测的全卷积网络

2019 年 9 月 21 日 泡泡机器人SLAM

泡泡图灵智库,带你精读机器人顶级会议文章

标题:Fully Convolutional Networks for Surface Defect Inspection in Industrial Environment


作者:Zhiyang Yu, Xiaojun Wu, and Xiaodong Gu

来源:ICVS 2017

播音员:

编译:谭艾琳

审核:杨宇超

欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权




摘要

       大家好,今天为大家带来的文章是——Fully Convolutional Networks for Surface Defect Inspection in Industrial Environment,该文章发表于ICVS 2017。


本文提出了一种可重用的、高效的基于两个阶段深度学习的工业环境下表面缺陷检测方法。为了在效率和准确度之间达到平衡,本文的方法将分割部分(阶段1)和检测部分(阶段2)重新结合,分别包含两个全卷积网络(FCN)。分割部分本文采用一个轻量FCN,对图像进行空间密集的像素及预测,快速粗略地推断出缺陷区域。将预测出的缺陷区域作为阶段二的初始输入,导入检测过程并细化分割结果。本文还用了一种特殊的训练方法:用图像中切割出的patches训练。这种训练方法对工业检测中缺乏训练数据的情况十分有效。本文在DAGM 2007数据集上分析了本文网络性能以此验证结果。

主要贡献

     1.提出了一种工业环境下通用的表面缺陷检测算法框架。

     2.提出了一种适用于工业检测中训练数据缺乏的训练方法。

     3.在DAGM 2007上分析了本文网络性能。

算法流程

       缺陷检测的问题更像是语义分割任务,要求对每个像素做预测。所以,本文选择全卷积网络作为基本网络结构,在图像分割问题中,该网络已经被证明优于其他方法。

图1 工业环境中不同的缺陷种类

       本文网络包含两个全卷积网络(FCN),分为分割部分(阶段1)和检测部分(阶段2)。分割部分采用一个轻量FCN,对图像进行空间密集的像素及预测,快速粗略地推断出缺陷区域。检测部分对分割的结果进行细化。

       检测的任务是从逐个像素进行推断,感受野不能太大。如果感受野太小,网络会聚焦于丰富的局部空域信息而不是全局的目标信息。为了解释感受野所带来的影响,我们假定有一个网络,第i层(layer i)的内核大小为Ki,si为第i层的步长且Si为i层之前的积分步长。将Ri记为位于第i层(记为layer-i)的每个神经元的感受野。Ri和Si的循环关系如下所示:

       从递归公式可以得出,感受野被Ki,si和网络深度layer-i所影响。本文用训练RPN的ZF模型作为本文的基础架构。本文只使用前4层作为特征提取层,并在特征层的末尾添加一个分数层,将所有卷积层的步长从si改为1(si为ZF中第i层的原始步长)。本文将重叠池化改为非重叠池化,因为前者会导致在后面的层中有更大的Ri。为了维持用于分类的特征图的分辨率,本文在得分层之前插入了一个反卷积层。本文使用逻辑回归作为分割的损失函数。更多关于网络结构的细节见图2。

图2 FCN阶段一的结构。(W*H*C*N)分别代表宽度,高度,通道数和数量。

       阶段一——缺陷区域的粗分割,旨在对缺陷区域也叫感兴趣区域(ROI)实现快速且粗略的推断。为了避免由于来自工业环境的训练数据少而造成过拟合等问题,本文通过对原始图像截取patches来扩展数据集。

图3 从原始图像截取patches原理图。红色实线矩形框代表从缺陷区域分割出来的区块,绿色虚线矩形框代表从非缺陷区域分割出来的区块。

       阶段二——用目标信息对阶段一的分割结果进行细化。阶段一中太注重局部信息,然而目标级的信息对于分割缺陷区域也十分重要。

       为了提升检测准确性,本文在FCN中设计了一个多损失函数来融合层信息实现跳跃连接。所有的损失函数皆为逻辑回归。因为在检测任务中仍然使用FCN,因此用与输出层相同分辨率的标签地图对区块做标记,且其值都相同——0为缺陷区域,而1为非缺陷区域(见图4)。

图4 阶段2中FCN的多损失函数结构。ReLU为激活函数且LRN为local response normalization layer局部响应归一化层。

       检测过程中,本文对单个softmax层投出分数图,然后对不同的softmax层结果取平均。用该方法有以下两种目的:(1)在一个区块下对某种大小的感受野的结果取平均。

(2)对一个区块中不同大小感受野的结果取平均。更多细节见图5。

图5 检测过程说明。Score 1和score 2为每个相应的分数图的平均值,且score为score 1和score 2的平均数。

图6 阶段1与阶段2的融合。(a)为需检测的原始图像,(b)为阶段1粗略分割的结果,该结果也作为阶段2的初始化(标为(c)),(d)为对阶段1的ROIs切割得到的区块。(e)为阶段2的检测结果,每个区块都被分类成缺陷区块或是得缺陷区块。(f)为阶段1和阶段2的交集,也是最终的检测结果。

主要结果

        1.所用数据集

       DAGM 2007数据集。该数据集提供了6种缺陷区域,每一种包含150张图像用于开发和测试。本文用每种缺陷的120张图像用于训练,剩下的30张用于测试框架。综上,720张图像用于训练,180张图像用于测试。

       2.训练细节

       本文用momentum训练SGD。用128个区块作为minibatch大小,并将阶段1和阶段2的所有学习率调整到0.001,用于训练的缺陷区域和非缺陷区域的比例为4:1。本文将动量设为0.9,权重衰减设为0.0005,双倍学习率即0.002作为偏差。将保存下来的作为RPN训练的ZF特征层的权重初始化,并将修改过的层随机初始化。在RPN中用到的局部响应归一化在此处继续沿用。

       开发环境如下:CPU:i5-6500,GPU:GTX1080,内存:16G,开发环境:matlab R2015a和caffe。对于512*512大小的输入图像,本文框架在阶段1所用时间0.04s,阶段2所用时间0.05s。

       3.指标

       本文使用[7]中的平均准确性来评估本文系统的性能。真值是通过手工标注获得并用于训练本文的模型。该方法是一种合理的方法,因为其对缺陷检测训练了一种类人的模型。本文希望该框架可以给出和人工检测结果一样的检测结果。所以,本文也是用手工标注真值来评估算法性能。

图7 结果比较:(a)最初的输入图像。(b)本文结果。(c)FCN的结果。(d)ViDi结果。(e)真值。

       图7中,本文比较了一些定性分割结果,并将所有性能都展示在表1当中。本文的结果看上去更接近真值,并在定量分析中实现了更高的平均准确性。

表1 分割性能综述

       阶段1感受野实验——实验中,通过将conv1和conv2的步长从1调整到2,来改变图2中FCN的感受野。测试结果如图8所示。很显然,用这种训练和测试方法,网络的感受野不会太大。

图8 实验结果:(a)原始输入图像。(b)真值。(c)阶段1结果。


Abstract 


    In this paper, we propose a reusable and high-efficiency two-stage deep learning based method for surface defect inspection in industrial environment.

Aiming to achieve trade-offs between efficiency and accuracy simultaneously, our method makes a novel combination of a segmentation stage (stage1) and a detection stage (stage2), which are consisted of two fully convolutional networks (FCN) separately. In the segmentation stage we use a lightweight FCN to make a spatially dense pixel-wise prediction to inference the area of defect coarsely and quickly. Those predicted defect areas act as the initialization of stage2, guiding the process of detection to refine the segmentation results. We also use an unusual training strategy: training with the patches cropped from the images. Such strategy has greatly utility in industrial inspection where training data may be scarce. We will validate our findings by analyzing the performance obtained on the dataset of DAGM 2007.



如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号


点击阅读原文,即可获取本文下载链接。 提取码: 6q55

欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。

有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!

泡泡网站:www.paopaorobot.org

泡泡论坛:http://paopaorobot.org/bbs/


泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!

商业合作及转载请联系liufuqiang_robot@hotmail.com

登录查看更多
12

相关内容

【KDD2020】自适应多通道图卷积神经网络
专知会员服务
119+阅读 · 2020年7月9日
基于深度学习的表面缺陷检测方法综述
专知会员服务
92+阅读 · 2020年5月31日
【CVPR2020】视觉推理-可微自适应计算时间
专知会员服务
12+阅读 · 2020年4月28日
专知会员服务
31+阅读 · 2020年4月24日
CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
专知会员服务
43+阅读 · 2020年4月17日
【CVPR2020-百度】用于视觉识别的门控信道变换
专知会员服务
12+阅读 · 2020年3月30日
【泡泡图灵智库】点云序列的语义分割数据集
泡泡机器人SLAM
9+阅读 · 2019年9月20日
【泡泡图灵智库】基于几何一致性网络的摄像机运动估计
【泡泡图灵智库】用于单目深度估计的深度有序回归网络
Arxiv
8+阅读 · 2018年5月15日
VIP会员
Top
微信扫码咨询专知VIP会员