咨询热线:400-8800-716

关于获德

致力于人工智能、机器视觉、自动化控制、智能制造,等核心技术检测的科创研发

当前位置:首页 - 关于获德 - 新闻资讯

基于GAN实现织物缺陷的检测

时间:2022-11-17 11:39:41

织物纹理对于缺陷检测的影响是相当巨大的。由于缺陷通常在规模和长宽比上变化很大,可能会降低检测精度,所以这篇文章针对织物缺陷主要进行的是语义分割,而不是进行bounding box的检测。

1 bounding box的检测.jpg

方法以及模型框架写的相当清晰,首先针对现有的缺陷数据集,我们使用DeepLab V3对齐进行语义分割,生成预训练模型用于后续的训练过程。文章的创新点在于下方的GAN网络分支,对于新的纹理的织物,文章训练了一个生成器,以输入不同纹理的织物而生成织物缺陷。但是,生成的缺陷在肉眼看去像是“假缺陷”,因此在这篇文章的工作中,训练了一个缺陷融合网络,以将缺陷粘贴后的图像进行相应的调整,使其更加接近真实的缺陷情况。然后生成的缺陷织物样本作为训练数据,对预训练模型进行微调,这样我们就可以得到一个新的织物样本的检测模型。文章所提出的两阶段的生成对抗网络结构如下所示:

2 深度学习.jpg

由于步幅卷积会导致feature map在卷积过程中的尺度会逐步变小,在block4,文章提出了一种新的模块ASPP,使用空洞卷积来增加原卷积的感受野,而不改变输出的feature map的大小,最后进行语义分割进行缺陷的检测。文章中详细的说明了对于stride的调整过程。

3深度学习.jpg

损失函数的设计方面:

1、对于背景损失以及缺陷损失设计不同的权重:

4.jpg

Stage1:生成缺陷方面:

1、设计“style label”,通过VGG提取的织物特征Gram矩阵设计新面料的style label。

5.jpg

2、生成器对抗损失的计算:

6.jpg

Stage2: 融合缺陷方面:

1、由于生成的假缺陷与真缺陷之前完全一样是不可能的,因此设计一个合页重构损失:

7.jpg

其中m为定义松弛重构约束的合页阈值。

2、对预处理VGGNet提取的缺陷融合补丁的特征图进行约束,使其与对应的真实补丁相似,特征重建损失:

8.png

3、鉴别器对抗性损失函数定义:

9.png

其中,T(·)表示提出的缺陷融合网络,x和y分别为不完善样本和训练缺陷样本。

评价指标:IoU阈值0.5条件下的:

10.jpg

生成效果:

11无缺陷图像、粘贴缺陷图像、缺陷融合图像.jpg

无缺陷图像、粘贴缺陷图像、缺陷融合图像

检测效果:

12简单织物.jpg

简单织物

13复杂织物.jpg

复杂织物

小结:

1、从正常样本生成缺陷样本进行数据的增强可以有效的缓解数据集难以获取以及人工标注费时费力的问题,对于这种缺陷生成的适用情况进行了一定的思考。第一、生成的缺陷并不能保证最后落在某个特定的位置,因此这种方法其实可能很难应用到PCB缺陷检测这种任务中。

2、出现的问题:由于内存的限制,在训练时将训练样本裁剪成512*512的小patch进行网络的输入,然而这种情况会导致对于占比较大的大尺度缺陷的检测效果不佳。使用multi-scale方法可以有效减小这种现象但是也会引起复杂织物的缺陷误判,因此两者之前需要舍弃一个。

14大尺度缺陷检测.jpg

大尺度缺陷的检测效果(复杂纹理织物白条)

3、数据集存在一些人工标注并没有标注到的地方会导致假负例率大幅提升。有些人工标注的数据集对所有缺陷标注不完全会导致这种情况。虽然指标会相对降低但是仍然可以认为算法可以继续完成我们的任务。标注数据不完全导致召回率上不去。会对最终指标为mAP以及F-measure有一定的影响。

来源:互联网