天天看点

基于改进 Pix2PixGAN 的织物疵点检测

导读

织物表面瑕疵检测系统即在织机上对织物疵点进行在线检测和分类,发现疵点并及时的发出信号,给操作人员提供疵点信息以帮助及时的处理故障,甚至自动采取调整措施对疵点进行处理,可以最大限度地减少疵点对织物质量造成的损害,并尽可能保证生产效率、提高织造、检测工序的自动化程度。本文提出一种基于改进Pix2PixGAN 网络的训练数据增强方法,实现对纺织物瑕疵的精准检测,一起来看看呀~

针对现阶段深度学习应用于纺织疵点检测时,由于疵点织物数据量不足而导致检测模型准确率低、疵点识别种类少的问题,提出一种基于改进Pix2PixGAN 网络的训练数据增强方法。无疵点织物图像比较容易获取,利用多层深度 Pix2PixGAN 网络,可在无疵点织物图像上自生成疵点,从而实现疵点图像数据的增强。首先对数据集进行预处理,得到语义分割图; 然后加深 U-net 网络,用双重 Pix2PixGAN 网络加强疵点与纹理的融合; 最后将新生成的疵点图像数据加入原训练集完成数据增强。分别以据增强前后的疵点织物样本作为训练集,采用Faster R-CNN 目标检测模型进行对比实验。实验结果表明数据增强方法可有效提高织物疵点检测的效果。对于线状、破洞和污渍 3 种疵点,与原训练数据集相比,数据增强的检测模型平均精度分别从 73%、75%、62%提升到84%、79%、65%。

01

前言

织物疵点检测在纺织生产的质量控制中起着至关重要的作用。传统的人工疵点检测很容易受到心理等主观条件的影响,导致效率低、精度低、实时性能差[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]验证该方法对检测模型的提高效果。实验结果表明该方法生成的疵点图像较为真实,并能有效提高疵点检测的准确性。

02

DPGAN模型

2. 1 DPGAN 网络概述​

DPGAN 网络的主要任务为在无疵点的织物图像上人工合成疵点。DPGAN 模型基本框架如图 1 所示。

基于改进 Pix2PixGAN 的织物疵点检测

图 1  DPGAN 模型基本框架

从图 1 可以看出,DPGAN 网络的训练主要包括2 个阶段:

阶段 1: DPGAN 预训练。首先对原织物疵点数据集( 即纹理 1) 进行训练,得到预训练模型。输入图像大小设置为 512 dpi×512 dpi×3 dpi。此阶段通过对纹理 1 图像中的疵点人工语义分割,并结合原图像同时送入网络训练,从而实现了一种伪注意力机制,帮助网络更好地提取疵点特征。为了匹配图像的像素大小和确保更好的全局信息,深化了一层u-net[9]网络结构,并通过调整适当的 LL1损失参数来确保纹理的完整继承,此阶段网络的损失定义见式( 1) :

基于改进 Pix2PixGAN 的织物疵点检测

式中: 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 的网络权重训练。

2. 2 DPGAN 生成器网络结构

输入生成器的图像大小为 512 dpi × 512 dpi ×3 dpi,DPGAN 生成器网络结构如图 2 所示。其中,卷积核大小为 4,步幅为 2。整个网络除第 1 层卷积,使用批处理归一化来加速网络的收敛速度。同时,为了防止过拟合,在前 4 层反卷积中加入了dropout 函数,并将该值设置为 0. 5。

基于改进 Pix2PixGAN 的织物疵点检测

图 2  DPGAN 生成器网络结构

03

结果与讨论

3. 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 优化器自适应优化学习率。

3. 2 基于 DPGAN 的数据增强​

为验证方法的有效性,本文分别收集了真实场景中的织物疵点图像和无疵点织物图像作为数据集[10]。图 3 显示了搜集的原始织物数据集,图像大小均为 600 dpi×600 dpi×3 dpi。其中图 3( a) 所示为部分纹理 1 的织物疵点图像,包含线状、破洞和污渍3 种疵点类型; 图 3( b) 为部分纹理 2的无疵点织物图像,此部分图像将用于数据增强。

基于改进 Pix2PixGAN 的织物疵点检测
基于改进 Pix2PixGAN 的织物疵点检测

在训练 DPGAN 模型时,由于数据集不均衡,将色织的破洞和污渍数据通过翻转和颜色变换增强 1倍,得到最终的 DPGAN 模型训练集和测试集,如表1 所示。

基于改进 Pix2PixGAN 的织物疵点检测

在无疵点织物图像上可任意标注区域,通过已训练的 DPGAN 在该区域根据不同模型自动生成不同疵点。图 4 显示了无疵点织物图像经由 DPGAN模型生成的疵点图像。从图 4 可看出,第 2 阶段与第 1 阶段相比,线状效果减弱,但破洞和污渍的图像效果有了较大的提升,更接近实际情况。

基于改进 Pix2PixGAN 的织物疵点检测

图 4  DPGAN 生成疵点图像

3. 3 评估指标​

本文采用平均精度 ( Average Precision,简称AP) 以及平均精度均值( mean Average Precision,简称 mAP) 来评估目标检率。

AP 值是精确度和召回率被绘制的二维曲线所包围的区域,具有垂直坐标和水平轴坐标,其表示某一类疵点的检测精度,mAP 表示 3 类疵点的平均检测精度。当目标检测模型接受不同的信息时,就会得到不同的精度和召回率。通过改变置信度,可以得到许多精确度( Precision) 和召回率值(Recall) 。精度和召回率计算公式如式( 2) ( 3)所示:

基于改进 Pix2PixGAN 的织物疵点检测

式中: TP 指分类器认为是正样本而实际上就是正样本的例子,FP 指分类器认为是正样本但实际上不是正样本的例子,而 FN 是指一个分类器认为是负样本但实际上不是负样本的例子。

3. 4 结果分析​

在本节中,采用经典目标检测网络 Faster-RCNN 作为疵点检测模型,采用原纹理 1 织物疵点数据集作为检测模型训练集 1,采用 DPGAN 模型生成图像与训练集 1 结合作为检测模型训练集 2。另外采用由纹理 1 和纹理 2 部分疵点图像组合作为检测模型测试集。

Faster-RCNN 模型训练集和测试集如表 2 所示。训练集 1 共 1 800 张; 训练集 2 共 3 632 张,其中生成图像由 DPGAN 模型阶段 1 和阶段 2 组合产生,每阶段选取大约 300 张图像。

基于改进 Pix2PixGAN 的织物疵点检测

在 Faster-RCNN 网络中,输入图像大小为512 dpi×512 dpi×3 dpi,训练次数为 100 次,学习率为0. 000 1,置信度为 0. 5。在使用不同训练集,同一测试集的情况下,Faster-RCNN 模型 AP 值如表 3 所示。

基于改进 Pix2PixGAN 的织物疵点检测

从结果中可以看出,模型平均精度仅有 70%左右,导致平均精度低的原因,主要是由于训练集和测试集纹理是完全不同的。而 3 种疵点图像在经过数据增强后,平均精度都有所提升。其中线状提升效果最好,提升了 11%,这源于在 DPGAN 模型中,线状的训练集最大,生成的图像效果好,而破洞和污渍的原始数据集较小,即使经过翻转和颜色变换,但并没能从本质改变训练集。

04

结论

本文提出了一种基于改进 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%。

本文仅做学术分享,如有侵权,请联系删文。​

—THE END—

继续阅读