【论文学习笔记】无缺陷样本产品表面缺陷检测 A Surface Defect Detection Method Based on Positive Samples

文章下载地址:A Surface Defect Detection Method Based on Positive Samples

第一部分  论文中文翻译

摘要:基于机器视觉的表面缺陷检测和分类可以大大提高工业生产的效率。利用足够的已标记图像,基于卷积神经网络的缺陷检测方法已经实现了现有技术的检测效果。 然而在实际应用中,缺陷样本或负样本通常难以预先收集,并且手动标记需要耗费大量时间。本文提出了一种仅基于正样本训练的新型缺陷检测框架。 其检测原理是建立一个重建网络,如果它们存在,可以修复样本中的缺陷区域,然后在输入样本和重建样本之间进行比较,以指示准确的缺陷区域。 我们将GAN和自编码结合起来重建缺陷图像,并使用LBP特征进行图像局部对比以检测缺陷。在算法的训练过程中,只需要正样本,无需缺陷样本和手动标签。本文利用织物图像和DAGM2007数据集进行了验证实验。实验表明,所提出的GAN + LBP算法和具有足够训练样本的监督训练算法具有较高的检测精度。 由于其无监督特性,具有较高的实际应用价值。

关键词:Positive samples, Surface defect detection, Autoencoder, GAN

1、介绍

表面缺陷检测在工业生产过程中起着非常重要的作用。它对市场上最终产品的质量和声誉产生重大影响。传统上,表面缺陷由人类目视检测,这是主观的,昂贵的,低效的和不准确的。

机器视觉系统可能替代人类视觉,但在实际应用中也遇到许多问题和挑战,特别是近年间用于区分缺陷和非缺陷的传统图像特征是基于经验手动设计的。传统图像特征提取算法的特征通常处于较低水平。在复杂的场景变化(例如照明变化,透视失真,遮挡,物体变形等)的情况下,所提取的特征通常不足以处理它们,因此许多算法在实际环境中不适用。如今,深度学习在提取图像特征方面表现的非常强大。卷积神经网络在各种监督问题上都达到了高精度,如分类,目标定位,语义分割等。

Faghih-Roohi等人[1]使用深度卷积神经网络在轨道表面进行缺陷检测。它将轨道图像分为6类,包括1类非缺陷图像和5类缺陷图像,然后用DCNN对它们进行分类;刘等人[2]提出了一种two-stage方法,它将选择性搜索的区域识别和卷积神经网络结合。它检测并识别所得区域,然后完成对胶囊表面缺陷的检测; Yu等人[3]使用两个FCN[4]语义分割网络来检测缺陷。其中一个是粗定位,另一个是精定位。它可以准确地绘制缺陷轮廓,并且在DAGM2007[12]的数据集上实现了比原始FCN更高的精度,并且可以实时完成。

所有上述算法都使用监督学习来检测缺陷。 在工业检测的实际应用中需要考虑两个问题:

训练样本中缺少缺陷/负样本。在实际问题中,训练样本中的缺陷图像总是较少,因为事先很难收集大量的缺陷样本。因此,训练过程中的正样本和负样本的数量极不平衡,因此生成的模型可能不稳定甚至无效。在缺陷外观多变且不可预测的场景中,监督学习的检测方法通常无法达到所需的精度。

手动标注代价高。在实际的缺陷检测应用中,通常存在许多不同的缺陷,检测标准和质量指标往往不同。这需要手动标记大量训练样本以满足特定需求,这需要大量人力资源。

针对上述监督学习算法实际应用中存在的问题,提出了一种基于正样本训练的缺陷检测方法。训练过程只需提供足够的正样本,无需提供缺陷样本,也无需手动标记,可以实现缺陷检测的效果。

2、相关工作

2.1 基于正样本的缺陷修复模型

我们提出的模型的灵感来自一系列基于GAN[5]的修复和检测模型。图1所示是GAN原理的示意图。生成器G接收高斯随机信号以产生图像,辨别器D接收真或假图像,并输出概率为真的图像。在发生器和鉴别器的连续对抗中,将改善所生成图像的真实度。

Yeh等人[6]使用GAN进行图像修复。首先,它使用无缺陷图片来训练GAN模型。然后,当修复已知位置缺陷时,我们优化生成器G的输入z,以便我们可以找到最佳的z,使得y和缺陷图像的正常部分最大程度接近。图片y是恢复的图像。 Schlegl等人[7]基于图像重建实现缺陷检测。首先,它使用中间层的重建误差来完成重建模块,事先不知道缺陷的位置。其次,重建图像与原始图像之间存在差异。如果差异很大,那就是缺陷。由于重建和修复的错误,该模型的缺点直接通过差分方法来区分重新配置误差和小缺陷是很困难的。

这两个模型的明显缺点是它们使用梯度优化来找到正确的z,从而进一步获得修复图片。这个过程需要耗费大量时间,这是不切实际的。所以我们希望使用autoencoder来复原缺陷图像。

2.2 Autoencoder 

Pix2pix[8]使用自编码器与GAN配合解决图像生成任务。它可以生成清晰逼真的图像。为了在细节和边缘部分获得更好的结果,pix2pix使用跳跃连接结构,如Unet[9]。该结构不适合去除整个缺陷,因此不在我们的模型中使用。一般图像生成任务是指给黑白图片上色,将简单笔画转换成照片等任务。我们使用类似的结构来实现缺陷图像到复原图像之间的转换。

在上述研究的基础上,本文完成了以下工作:(1)我们使用自编码器来恢复图像。 我们可以实时完成图像修复功能,并通过GAN损失提高图像质量;(2)我们在训练中使用人工缺陷,并且我们不依赖于大量完整和真实的缺陷样本和手工标注;(3)我们使用LBP[10]来比较复原的图像和原始的图像,从而更准确地找到缺陷的位置。

综上所述,我们提出了一种缺陷检测模型,该模型基于无需人工标注的正样本进行训练。

3、方案

本文提出的模型的一般框架如图2所示。在训练阶段,x是从训练集中随机拍摄的随机图片。 C(x~|x)是一个人工制造缺陷模块。其功能是自动生成缺陷样本。 x~是它的输出。EN和DE构成自动编码器G。EN是编码器,DE是解码器,整个自动编码器可以看作GAN模型中的生成器。G的任务是找出有缺陷的图片。D是辨别器,D的输出是其判别该图片为正样本的概率。

在测试阶段,我们将测试图片x输入到自动编码器G中,获得复原的图像y。然后使用LBP算法提取x和y的特征,并比较x的每个像素的特征,其中x和y之间的特征差异很大的位置即为缺陷。

3.1 Objective

缺陷样本在经过自编码器后应该与原始正样本相同。 这里我们引用pix2pix,使用L1距离来表征它们的相似程度。 L1距离比L2距离更适合不太模糊得图像。重构误差定义如下:

如果重构误差仅用作目标函数,则所获得图像的边缘会模糊并且细节丢失。 根据pix2pix中的实验,引入了判别网络,并且可以添加GAN损失以改善图像模糊问题并增强图像的精确度。GAN的目标可以表示为:

因此,整体优化目标是找到生成网络G的参数,并使其满足要求:

 

λ是平衡GAN损失和重构误差的参数,其由实验确定。在某种程度上,GAN损失的引入将与重构误差竞争,但它可以改善图像的质量和重要细节的描述。

3.2 网络结构和人造缺陷

我们提出的模型的网络结构称为DCGAN[11]。在生成器和辨别器网络中,添加了batchnorm层。 LeakyRelu层用于辨别器网络,Relu层用于生成器网络。编码器结构大致类似于辨别器。

在我们的模型中,自动编码器只需要将原图修复到最近接近的示例样本,而不需要知道缺陷的具体形式。因此,当样本附加足够的随机缺陷时,网络将能够学习重建图像的信息。在实际训练中,我们手动随机生成块,位置,大小,灰度值以及添加到图片中的缺陷块数量,如图3所示,训练网络自动修复缺陷。

数据增强方面,我们采用0.5和2之间的随机调整,并在-180和180°之间添加随机旋转,并为图像添加随机高斯模糊。

3.3 获取缺陷的位置

由于重建图像的细节信息上存在一些误差,我们不应直接划分重建图像和原始图像来直接得到缺陷的位置。我们使用LBP[10]算法进行特征提取,然后搜索每个像素周围最匹配的像素。LBP算法是一种非参数算法,具有光照不变性的特点,适用于密集点。

获得有缺陷图像的步骤如图4所示。原始图像x和修复图像y由LBP算法处理得到特征图x+和y+。对于x+的每个像素点,搜索y+的对应位置处的最近的特征值点,即该像素的点作为匹配点。在两个匹配点的特征值之间进行比较,得到绝对值。获得的值越小,则该点是缺陷的可能性越低。然后使用固定阈值二值化,便可以得到缺陷的位置。

4 实验

4.1 准备

本文使用织物图片和纹理表面图片来测试实验模型的性能。包括3种织物图片和1种纹理表面图片。织物的图像来自数据库[13],纹理表面图像来自DAGM 2007[12]的数据集。在本文中,我们比较了监督语义分割模型[4]和本文提出的缺陷检测模型。

开发环境如下:CPU:Intel®Xeon(R)E5620@2.40GHZ * 16,GPU:GTX1080,内存:16 G,python 2.7.12和mxnet。 我们通过Adam进行训练,并将初始学习率设置为0.0002,并将批量大小设置为64。

4.2 结论

我们使用整张图片的平均准确性作为实验中模型性能的评估指标。

纹理表面:纹理表面具有良好的一致性,因此他们在训练集上有足够的缺陷样本来学习(表1和表2)。

图5所示为缺陷检测结果的示例。

 

织物图片:由于真实场景中织物样本的形式不同,训练集中的缺陷样本相对稀少。在该实验中存在5种类型的缺陷,每类缺陷有5张图片,还有25张正样本。对于监督语义分割模型,每种形式的缺陷图像中的3个用作训练集,并且2用作测试集(表3和4)。

 

 

如图6所示,它是一些缺陷检测结果的例子。

实验表明,在规则模式背景下,当标记缺陷样本足够时,我们模型的准确性和监督语义分割接近,当带有注释的缺陷样本不充足时,我们的模型可以获得更高的精度。在时间消耗方面,我们的模型可以实现实时检测。

 

5 结论

在本文中,我们结合自动编码器和GAN,提出了一种基于正样本训练的缺陷检测模型,无需人工标签。 在训练中,结合人工缺陷和数据增强方法,该模型可以自动修复图案规则的纹理图像的缺陷,并通过比较原始图像和修复图像的特征来获得缺陷的具体位置。可以在织物图像和纹理平面上实时检测缺陷的位置。此外,当训练缺陷实例很少时,我们可以获得比监督语义分割更好的结果。

如果背景过于复杂和随机,则自动编码器重建和修复图像是很困难的。相关的缺陷检测问题将来还有待研究。

致谢:这项工作得到了国家自然科学基金深圳联合基金支持的重点项目(Gran No. U1613217)的部分支持。

 

参考文献:

1. Faghih-Roohi, S., et al.: Deep convolutional neural networks for detection of rail surface defects. In: International Joint Conference on Neural Networks. IEEE (2016)

2. Liu, R., et al.: Region-convolutional neural network for detecting capsule surface defects. Boletín Técnico 55(3), 92–100 (2017)

3. Yu, Z., Wu, X., Gu, X.: Fully Convolutional networks for surface defect inspection in industrial environment. In: Liu, M., Chen, H., Vincze, M. (eds.) ICVS 2017. LNCS, vol. 10528, pp. 417–426. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68345 4_37

4. Long, J., Shelhamer, E., Darrell, T.: Fully convolutional networks for semantic segmentation. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 3431–3440 (2015)

5. Goodfellow, I., et al.: Generative adversarial nets. In: Advances in Neural Information Processing Systems (2014)

6. Yeh, R., et al.: Semantic image inpainting with perceptual and contextual losses (2016). arXiv preprint arXiv:1607.07539

7. Schlegl, T., Seeböck, P., Waldstein, Sebastian M., Schmidt-Erfurth, U., Langs, G.:Unsupervised anomaly detection with generative adversarial networks to guide marker discovery. In: Niethammer, M., Styner, M., Aylward, S., Zhu, H., Oguz, I., Yap, P.-T., Shen, D. (eds.) IPMI 2017. LNCS, vol. 10265, pp. 146–157. Springer, Cham (2017). https://doi.org/ 10.1007/978-3-319-59050-9_12

8. Isola, P., et al.: Image-to-image translation with conditional adversarial networks (2017). arXiv preprint 

9. Ronneberger, O., Fischer, P., Brox, T.: U-Net: convolutional networks for biomedical image segmentation. In: Navab, N., Hornegger, J., Wells, W.M., Frangi, A.F. (eds.) MICCAI 2015. LNCS, vol. 9351, pp. 234–241. Springer, Cham (2015). https://doi.org/ 10.1007/978-3-319-24574-4_28

10. Ojala, T., Pietikäinen, M., Harwood, D.: A comparative study of texture measures with classification based on featured distributions. Pattern Recogn. 29(1), 51–596 (1996)

11. Radford, A., Luke M., Chintala, S.: Unsupervised representation learning with deep convolutional generative adversarial networks (2015). arXiv preprint arXiv:1511.06434

12. HCI: Weakly Supervised Learning for Industrial Optical Inspection. https://hci.iwr.uniheidelberg.de/node/3616. Accessed 13 Nov 2017

13. Ngan, H.Y.T., Pang, G.K.H., Yung, N.H.C.: Automated fabric defect detection—a review. Image Vis. Comput. 29(7), 442–458 (2011)

原文地址:https://www.cnblogs.com/lky-learning/p/10726817.html