基于改进Pix2PixGAN的织物疵点检测算法
2022-04-07郜仲元余灵婕章玉铭陈梦琦
郜仲元,余灵婕,章玉铭,支 超,陈梦琦
(1.西安工程大学 纺织科学与工程学院,陕西 西安 710048; 2.西安工程大学 省部共建智能纺织材料与制品国家重点 实验室(培育)陕西 西安 710048; 3.绍兴文理学院元培学院 纺织服装与艺术设计分院,浙江 绍兴 312000)
织物疵点检测在纺织生产的质量控制中起着至关重要的作用。传统的人工疵点检测很容易受到心理等主观条件的影响,导致效率低、精度低、实时性能差[1]。因此,智能织物疵点检测已成为近年来的一种研究趋势。
近年来,深度学习在织物疵点检测领域取得了可观的成果,但深度学习网络的检测能力主要依赖于训练数据集的大小和多样性[2]。然而由于织物纹理和疵点的复杂和随机性,难以获得一个包含所有可能的织物纹理和疵点的完整数据集,这限制了深度学习在织物疵点检测领域的进一步发展和应用。
Goodfellow等[3]于2014年提出了生成式对抗性网络(Generative Adversarial Networks,GAN)以人工合成图像,其在人脸识别、医学、自动驾驶等各类领域取得了较好效果。近年来,基于GAN的改进生成模型已被广泛用于目标检测的数据集增强问题。Hu等[4]提出了一种基于深度卷积生成对抗网络(DCGAN)的自动检测织物疵点的无监督方法。Liu等[5]采用多层GAN模型在无疵点样品图像中人工合成疵点,增强了数据集。刘纪等[6]通过 GAN扩充数据样本,再利用滤波处理及霍夫变换检测织物缺陷。但他们的方法都局限于单一纹理,且适用于特定模型。
虽然收集具有不同纹理和疵点形态的织物疵点图像非常困难,但采集包含各类织物背景的无疵点织物图像相对较为简单。若能利用GAN网络构建适用于织物疵点的生成模型,在干净的无疵点图像上人工合成各类疵点,则能够有效增强训练数据集,从而提高后续目标检测模型的效率。基于上述讨论,本文提出了一种基于双层深度Pix2PixGAN网络[7](简称为DPGAN)的织物疵点数据集增强方法,并采用目标检测网络Faster R-CNN[8]验证该方法对检测模型的提高效果。实验结果表明该方法生成的疵点图像较为真实,并能有效提高疵点检测的准确性。
1 DPGAN模型
1.1 DPGAN网络概述
DPGAN网络的主要任务为在无疵点的织物图像上人工合成疵点。DPGAN模型基本框架如图1所示。
图1 DPGAN模型基本框架Fig.1 Basic framework of the DPGAN model. (a) First stage of DPGAN model; (b) Second stage of DPGAN model
从图1可以看出,DPGAN网络的训练主要包括2个阶段:
阶段1:DPGAN预训练。首先对原织物疵点数据集(即纹理1)进行训练,得到预训练模型。输入图像大小设置为512 dpi×512 dpi×3 dpi。此阶段通过对纹理1图像中的疵点人工语义分割,并结合原图像同时送入网络训练,从而实现了一种伪注意力机制,帮助网络更好地提取疵点特征。为了匹配图像的像素大小和确保更好的全局信息,深化了一层u-net[9]网络结构,并通过调整适当的LL1损失参数来确保纹理的完整继承,此阶段网络的损失定义见式(1):
(1)
式中:LPGAN为生成对抗网络损失,LL1为正则化损失,G*为总损失。x和y均为输入图像,其中x是原织物疵点数据集,y为疵点涂白的纹理1图像数据集;D(x,y)表示真实配对数据x与y对于判别器D的结果,而D(x,G(x))表示x生成的图像G(x)与x对于D的判断结果;在式(1)中,可通过改变λ来控制生成图像与真实值的相似度,λ越大则相似度越高,本文λ值设定为200。
阶段2:DPGAN微调。在预实验中发现经预训练模型生成的疵点图像不够真实,疵点与织物纹理融合效果较差。为此,利用第1阶段得到的预训练疵点图像,并结合对应纹理2无疵点真实图像进行第2次训练。增加了疵点与背景的融合度。此阶段为了生成图像与真实图像相似度更高,将λ设定为500。最终完成DPGAN的网络权重训练。
1.2 DPGAN生成器网络结构
输入生成器的图像大小为512 dpi×512 dpi×3 dpi,DPGAN生成器网络结构如图2所示。其中,卷积核大小为4,步幅为2。整个网络除第1层卷积,使用批处理归一化来加速网络的收敛速度。同时,为了防止过拟合,在前4层反卷积中加入了dropout函数,并将该值设置为0.5。
图2 DPGAN生成器网络结构Fig.2 Network structure of DPGAN generator
2 结果与讨论
2.1 实验配置
实验所使用的计算机硬件配置为TitanRTXGPU(24 G),软件环境为Windows10操作系统、Tensorflow(2.1.1)深度学习框架和Python3.6编程环境。DPGAN网络学习率为0.000 2,采用Adam优化器自适应优化学习率,迭代次数为1 000。目标检测网络的训练损失函数沿用原Faster R-CNN中的损失函数公式。网络训练初始学习率为0.000 1,迭代次数为100,采用Adam优化器自适应优化学习率。
2.2 基于DPGAN的数据增强
为验证方法的有效性,本文分别收集了真实场景中的织物疵点图像和无疵点织物图像作为数据集[10]。图3显示了搜集的原始织物数据集,图像大小均为600 dpi×600 dpi×3 dpi。其中图3(a)所示为部分纹理1的织物疵点图像,包含线状、破洞和污渍3种疵点类型;图3(b)为部分纹理2的无疵点织物图像,此部分图像将用于数据增强。
图3 原织物数据集Fig.3 Original fabric dataset. (a) Parts of fabric defect images of Texture 1; (b) Parts of defect-free fabric images of Texture 2
在训练DPGAN模型时,由于数据集不均衡,将色织的破洞和污渍数据通过翻转和颜色变换增强1倍,得到最终的DPGAN模型训练集和测试集,如表1所示。
表1 DPGAN模型训练集和测试集Tab.1 Training set and test set of DPGAN model
在无疵点织物图像上可任意标注区域,通过已训练的DPGAN在该区域根据不同模型自动生成不同疵点。图4显示了无疵点织物图像经由DPGAN模型生成的疵点图像。从图4可看出,第2阶段与第1阶段相比,线状效果减弱,但破洞和污渍的图像效果有了较大的提升,更接近实际情况。
图4 DPGAN生成疵点图像Fig.4 Generateded defect images by using DPGAN model. (a) Generated images of stage 1;(b) Generated images of stage 2
2.3 评估指标
本文采用平均精度(Average Precision,简称AP)以及平均精度均值(mean Average Precision,简称mAP)来评估目标检测率。
AP值是精确度和召回率被绘制的二维曲线所包围的区域,具有垂直坐标和水平轴坐标,其表示某一类疵点的检测精度,mAP表示3类疵点的平均检测精度。当目标检测模型接受不同的信息时,就会得到不同的精度和召回率。通过改变置信度,可以得到许多精确度(Precision)和召回率值(Recall)。精度和召回率计算公式如式(2)(3)所示:
(2)
(3)
式中:TP指分类器认为是正样本而实际上就是正样本的例子,FP指分类器认为是正样本但实际上不是正样本的例子,而FN是指一个分类器认为是负样本但实际上不是负样本的例子。
2.4 结果分析
在本节中,采用经典目标检测网络Faster-RCNN 作为疵点检测模型,采用原纹理1织物疵点数据集作为检测模型训练集1,采用DPGAN模型生成图像与训练集1结合作为检测模型训练集2。另外采用由纹理1和纹理2部分疵点图像组合作为检测模型测试集。
Faster-RCNN模型训练集和测试集如表2所示。训练集1共1 800张;训练集2共3 632张,其中生成图像由DPGAN模型阶段1和阶段2组合产生,每阶段选取大约300张图像。
表2 Faster-RCNN模型训练集和测试集Tab.2 Faster-RCNN model training set and test set
在Faster-RCNN网络中,输入图像大小为512 dpi×512 dpi×3 dpi,训练次数为100次,学习率为0.000 1,置信度为0.5。在使用不同训练集,同一测试集的情况下,Faster-RCNN模型AP值如表3所示。
表3 Faster-RCNN模型AP值Tab.3 The AP value of Faster-RCNN model %
从结果中可以看出,模型平均精度仅有70%左右,导致平均精度低的原因,主要是由于训练集和测试集纹理是完全不同的。而3种疵点图像在经过数据增强后,平均精度都有所提升。其中线状提升效果最好,提升了11%,这源于在DPGAN模型中,线状的训练集最大,生成的图像效果好,而破洞和污渍的原始数据集较小,即使经过翻转和颜色变换,但并没能从本质改变训练集。
3 结 论
本文提出了一种基于改进Pix2PixGAN(简称为DPGAN)的织物疵点数据集增强方法,该方法可帮助提升织物疵点检测模型的精度。首先利用人工图像分割实现伪注意力机制,帮助后续网络对疵点位置的判定与学习;其次构建DPGAN网络,即通过加深U-net网络结构,并串联2个Pix2PixGAN网络;最后在无疵点织物图像上任意标注区域,通过已训练的DPGAN在该区域自动生成制定疵点,从而实现织物疵点图像数据增强。
本文搜集了包含2种纹理(即纹理1和纹理2)、3类疵点(即线状、破洞和污渍)的原始织物数据集,通过构建的DPGAN网络对各类疵点分别生成600张,共1 800张织物疵点图像扩展原训练集样本,并利用Faster-RCNN目标检测网络来验证本文提出算法的有效性。实验结果表明:
①构建的DPGAN网络可改善原始U-net网络生成疵点与纹理匹配较差的问题,从而获得接近真实疵点形态的织物疵点图像。
②增强后的训练集有利于提高疵点检测模型的平均精度,线状、破洞和污渍的平均精度分别由73%、75%和62%提升到了84%、79%和65%。