• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 范文 > 正文

    一种基于pix2pix改进的工业缺陷数据增强方法*

    时间:2023-03-10 10:10:08 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

    罗月童,段 昶,江佩峰,周 波

    (合肥工业大学计算机与信息学院,安徽 合肥 230601)

    基于深度学习的目标检测算法能够学习到目标在各种复杂多变情形下的特征,具有强大的健壮性和泛化能力[1],特别是基于有监督的深度学习目标检测算法,在目标检测任务中表现出了优异的性能。但是,有监督的深度学习目标检测算法运行的前提是拥有大量有标记的缺陷数据,在工业检测中缺陷数据的获取成本也往往较高,数据增强则为降低工业成本、提高网络的泛化能力提供了一种行之有效的手段。常规数据增强方法包含几何变换类方法和颜色变换类方法。几何变换类方法通过对图像进行翻转、裁剪和缩放等操作[2]来实现数据扩充;颜色变换类方法则是通过噪声注入[3]、光度变换[4]和随机擦除[5]等方法来实现数据扩充。以上数据增强方法操作简单,能够迅速扩大数据集,但是传统数据增强方法也存在严重的弊端,通过几何变换生成的图像不能有效扩增样本特征的多样性,通过颜色变换生成的样本的多样性依赖人工设定[6],因此传统数据增强方法只能在一定程度上缓解神经网络过拟合的问题,难以从根本上解决数据不足的问题。

    生成对抗网络GAN(Generative Adversarial Network)[7]经过训练能够学习到已有数据的分布,并生成与当前数据分布类似的数据,相较于传统数据增强方法,其通过神经网络自动学习图像特征,无需人工干预,且基于GAN生成的数据几乎与真实数据的分布相同,从根本上解决了数据不足的问题。因此,GAN逐渐成为一种新的数据增强方法,通过GAN生成的数据能够有效提升有监督深度学习网络的泛化性[8]。近年来研究人员主要从GAN的生成器结构、判别器结构和损失函数3个方面进行了改进。林志鹏等人[9]基于深度卷积生成对抗网络DCGAN(Deep Convolutional GAN)[10]进行改进,重新设计了DCGAN的生成器和判别器的网络结构,生成了分辨率更高的宫颈细胞图像用于数据增强,显著提升了宫颈细胞图像分类的正确率。Ouyang等人[11]基于pix2pix[12]的判别器结构和损失函数进行改进,提出了PSGAN(Pedestrian-Synthesis-GAN),PSGAN能够在街道图像中添加行人用于数据扩充,从而提升行人检测的准确率。王金娜等人[6]通过改进Cycle-GAN来提升绝缘子图像的生成效果,增加了绝缘子图像分类的正确率。孙晓等人[13]通过改进StarGAN来生成人脸表情图像,有效提升了人脸表情的识别精度。刘坤等人[14]提出了NSGGAN(Negative Sample Guided Generative Adversarial Network)来进行太阳能电池的数据增强。陈文兵等人[15]提出了数据增强方法GMM-CGAN(Gaussian Mixture Model and Conditional Generative Adversarial Network)。陈佛计等人[16]提出了一种基于GAN的红外图像数据增强方法。

    尽管当前一些基于GAN的数据增强方法取得了较好的效果,但是这些方法受应用场景的限制,无法直接应用于工业场景。工业场景中通常存在正常数据易收集、缺陷数据难获取的问题,导致收集到的良品非常多、缺陷数据却非常有限。同时,在一个确定的工业场景中,良品的特征相对一致,缺陷数据则是通过改变良品上局部位置的特征得到,两者可以看作是2种不同风格的配对数据。而pix2pix是一个通用的图像风格转换框架,通过pix2pix能够利用大量的正常数据生成缺陷数据,从而解决缺陷数据不足的问题。因此,本文基于pix2pix进行研究。由于pix2pix采用了patchGAN作为判别器,其更重视图像整体的转换质量,而在工业场景中,缺陷往往只占据整幅图像的小部分,即使生成的缺陷质量不高,从整体上看,生成的图像也可能被判别为真,在小缺陷居多的工业场景中,该问题表现得更加突出。为了解决该问题,本文从增加生成器和判别器对缺陷区域的注意力,进而提升生成缺陷质量的角度出发,在pix2pix的基础上,改进了其判别器和损失函数,提出了DS-GAN(Defects-Synthesis GAN)的工业数据增强方法。

    本文方法是基于pix2pix改进而来的,以下将从pix2pix基本原理、DS-GAN设计思路、DS-GAN算法流程、DS-GAN生成器结构、DS-GAN判别器结构和DS-GAN损失函数6个方面进行介绍。

    2.1 pix2pix

    pix2pix是Isola等人[12]在2017年提出的一个基于条件生成对抗网络cGAN(conditional Generative Adversarial Nets)[17]的图像风格转换框架,由1个生成器和1个判别器组成。pix2pix采用的生成器结构为U-NET,U-NET通过在特征层之间进行跳跃连接的方式保留了输入图像的低维信息;
    pix2pix的判别器采用了patchGAN判别器,其将输入图像切分成70*70大小的不同图像块(patch),并对每一个图像块进行判别,将所有图像块的判别结果进行求和平均,作为输入图像的判别结果,通过该方式避免了判别器因为某个区域生成效果非常逼真而将整幅图像判别为真,其更注重输出图像整体的转换效果。

    pix2pix的训练数据为成对的图像(x,y),其中,x为源图像,y为目的图像,将x输入到生成器可得到图像z,将z和x基于通道维度合并在一起,作为判别器的负样本输入,得到输入为真实图像的概率值,并且y和x也会进行通道维度合并,作为判别器的正样本输入,得到输入图像为真实图像的概率值。

    pix2pix的损失函数包含2部分:cGAN损失和L1损失,如式(1)~式(3)所示:

    (1)

    LcGAN(G,D)=Ex,y[logD(x,y)]+

    Ex,rn[log(1-D(x,G(x,rn)))]

    (2)

    LL1(G)=Ex,y,rn[‖y-G(x,rn)‖1]

    (3)

    其中,λ表示L1损失函数在整个损失函数中的比例系数,整体损失函数是在cGAN损失的基础上添加L1损失,使得生成的图像除了能够欺骗过判别器以外,还需要尽量接近目标域的图像;
    rn(random noise)表示随机噪声;
    Ex,y[logD(x,y)]表示logD(x,y)的数学期望;
    Ex,rn[log(1-D(x,rn))]表示log(1-D(x,rn))的数学期望;
    Ex,y,rn[‖y-G(x,rn)‖1]表示‖y-G(x,rn)‖1的数学期望。

    2.2 DS-GAN的设计

    pix2pix在训练判别器时,将生成的图像等分为多个70*70大小的图像块(patch),并分别判断每个patch区域的真假,最后取平均值作为其输出结果,使用该方法生成的图像从整体上更加趋近于真实图像。然而,在工业缺陷图像中,缺陷往往只占据整幅图像的小部分,对于一幅生成的工业缺陷图像,大部分patch区域为背景特征,生成图像背景区域的逼真程度直接决定了pix2pix的判别结果。在训练过程中,为了生成能够欺骗过判别器的图像,生成器将更加注重学习背景区域的特征而忽略了缺陷区域的学习,虽然生成的工业缺陷图像在背景上比较接近真实图像,但仍存在生成缺陷质量不高的问题。因此,pix2pix生成的图像难以满足工业检测的数据增强要求。

    基于此,本文对pix2pix的判别器进行了重新设计,并对损失函数进行了改进。改进思路如下:(1)针对判别器的改进:本文提出了仅将图像局部缺陷作为判别器输入的策略,在改变判别器输入后,针对输入缺陷的大小,重新设计了判别器的网络结构,引入了更恰当的卷积核用于提取缺陷特征。(2)针对生成对抗损失的改进:本文仅将缺陷区域的判别结果作为生成对抗损失的输入,分别计算一幅图像中所有缺陷的损失,最后将所有缺陷的损失进行加权平均,作为整幅图像的生成对抗损失。

    2.3 DS-GAN流程

    DS-GAN的流程主要包含3个部分:制作配对数据、训练生成器及判别器和生成缺陷图像。

    (1)制作配对数据。

    本文将缺陷图像缩放至256*256的固定尺寸,使用矩形框标记出图像中的缺陷区域,并根据缺陷的形状,将缺陷区域的3个通道的像素值设置为255,得到与缺陷图像一一配对的带有白斑的图像,记作掩膜(mask)图像。

    (2)训练生成器及判别器。

    本文将带有矩形标记的缺陷图像和掩膜图像配对后输入生成器,得到生成图像。根据矩形标记分别提取缺陷图像、生成图像和掩膜图像中标记区域的像素,得到裁剪图像。将裁剪的掩膜图像和缺陷区域图像配对,作为正样本输入判别器,将裁剪的掩膜图像和生成的缺陷区域图像配对,作为负样本输入判别器,判别器输出裁剪图像为真实缺陷的概率。在训练阶段,固定生成器参数,通过优化判别器损失,使其能够准确判断输入图像是否为真;
    再固定判别器参数,通过不断优化生成器参数,使其能够将掩膜图像转换成逼真的缺陷图像来欺骗判别器。通过生成器和判别器的反复对抗训练,掩膜图像能够通过生成器转换为缺陷图像。

    (3)生成缺陷图像。

    经过生成对抗训练得到模型,并在收集到的无缺陷图像中,人工将一些可能出现缺陷的区域的像素值设置为255,得到大量掩膜图像。将掩膜图像输入生成器,得到合成的缺陷图像。

    2.4 DS-GAN生成器

    本文生成器网络结构为U-Net。U-Net是一种encoder-decoder模型,encoder通过一系列卷积操作提取输入图像的特征,每经过一次卷积操作,特征图大小减小至原来的一半,通道数变为原来的2倍;
    decoder以encoder输出的高维特征图作为输入,通过反卷积操作对输入特征图进行上采样,每经过一次反卷积操作,输出特征图的大小将扩大为原来的2倍,通道数缩小为原来的一半,由于encoder和decode结构对称,因此decoder最终能将高维特征还原至输入图像大小。U-Net采用了跳跃连接,其将第i层的特征图和第n-i层的特征图进行拼接(其中n为总的特征层数),通过这种方式将底层信息直接复制到高层特征图中,在进行图像转换时保留一些如颜色、轮廓等低级信息。网络结构中通过添加LeakyReLU、ReLU和Tanh等激活函数来增加神经网络的表达能力,添加BN(Batch Normalization)层来进行归一化处理。

    2.5 DS-GAN判别器

    PSGAN用于生成街道图像中的行人,其为了解决pix2pix生成的行人图像质量差的问题,在pix2pix的基础上增加了行人判别器,对图像中的行人进行裁剪后作为行人判别器的输入,以此来强化“行人”区域的学习。受PSGAN中行人判别器设计思路的启发,本文改变了pix2pix判别器的输入,对真实图像和生成图像的缺陷区域进行裁剪,分别作为判别器的正样本输入和负样本输入,以此强化“缺陷区域”的学习。此时,生成图像的背景部分将不再参与判别器结果的计算,判别器的结果用于反映输入的缺陷是否为真。在训练过程中,生成缺陷与真实缺陷的分布存在较大差异时,判别器则将其判别为假,在这种情况下,生成器需要更加注重缺陷区域的学习,才能够生成逼真的缺陷并欺骗过判别器。本文改变了传统方式中将整幅图像作为判别器输入的方式,仅将裁剪后的缺陷区域、掩膜区域和生成图像的缺陷区域进行配对,作为判别器输入,使得判别器完全关注缺陷区域的信息,而忽略背景区域的信息。通过这种方式提升判别器对缺陷区域的注意力,进而使生成器生成高质量缺陷。本文所采用的掩膜图像和真实图像的背景区域是完全一致的,这意味着背景区域的映射关系相对简单,背景部分在不进行生成对抗训练的情况下,生成器仅通过优化L1损失就能够学习到其特征。

    pix2pix判别器的卷积核是用于提取256*256分辨率的图像特征。本文实验数据中缺陷的分辨率大部分小于35*35,对于小于35*35像素的缺陷,经过第3个卷积操作后,其特征图的宽高为3*3,而第4层的卷积核大小为4*4,存在中间特征层的宽高小于卷积核的情况,显然,pix2pix判别器不能完成输入图像的特征提取,更无法基于提取到的特征完成图像真伪的判别。针对以上问题,本文重新设计了判别器卷积核的大小,使判别器能够完成裁剪缺陷的特征提取,并能够准确判断裁剪缺陷的真假。DS-GAN判别器网络结构如图1所示,其由6个卷积核和一些激活函数组成。输入的配对缺陷图像先经过5个卷积核大小为2*2、步长为2、填充宽度为1的卷积操作,然后再经过1个卷积核大小为2*2、步长为1、填充宽度为0的卷积操作,最后通过Sigmoid激活函数将输出结果转换成0~1的概率值。

    Figure 1 Discriminator network structure

    2.6 DS-GAN损失函数

    pix2pix中的生成对抗损失为所有patch区域的平均损失,而一个patch区域既可能包含缺陷特征,又可能包含背景特征,在缺陷区域远小于背景区域的工业芯片中,缺陷区域的损失占总损失的比值较小,导致缺陷的分布不能够被生成器很好地学习。为了解决该问题,本文将图像中缺陷区域的判别结果作为生成对抗损失的输入,图像的生成对抗损失直接由缺陷损失组成,在不断优化损失的过程中,生成的缺陷将越来越接近真实缺陷的分布。由于一幅缺陷图像中往往存在多处缺陷,且不同图像中缺陷的数量也可能不同,因此图像间缺陷数量的差异可能导致不同图像的损失相差很大,进而造成网络难拟合。为了避免该问题的发生,本文采用加权平均的策略来计算图像中的缺陷损失。本文损失函数主要包含生成对抗损失和L1损失,如式(4)所示,其中,生成对抗损失如式(5)所示,L1损失函数如式(6)所示:

    (4)

    LGAN(G,D)=

    Epi~mask(pi),ri~generator(ri)[log(1-D(pi,ri))])

    (5)

    LL1(G)=Exmask,ydefect[‖ydefect-G(xmask)‖1]

    (6)

    其中,s表示一幅真实图像中有s个缺陷;
    一幅掩膜图像中有s个掩膜区域;
    pi表示掩膜图像中的第i个掩膜区域;
    qi表示真实图像中对应的缺陷区域;
    ri表示在生成图像中裁剪的第i个缺陷区域;
    Epi~mask(pi),qi~gt(qi)[logD(pi,qi)]表示logD(pi,qi)的数学期望;
    Epi~mask(pi),ri~generator(ri)[log(1-D(pi,ri))]表示log(1-D(pi,ri))的数学期望;
    xmask表示带有掩膜区域的图像;
    ydefect表示真实的缺陷图像;
    Exmask,ydefect[‖ydefect-G(xmask)‖1]表示‖ydefect-G(xmask)‖1的数学期望。

    3.1 实验内容

    实验共分为2个部分:(1)缺陷生成实验,分别使用pix2pix和DS-GAN生成缺陷图像,比较生成图像的FID(Frechet Inception Distance)[18],衡量2种方法生成的图像质量。(2)缺陷检测实验,分别使用pix2pix和DS-GAN来进行数据增强,比较2种数据增强方法对RetinaNet[19]算法的平均精度AP(Average Precision)的影响,评估pix2pix和DS-GAN的数据增强能力。

    本文实验采用的数据是工业LED(Light-Emitting Diode)芯片表面图像,数据集由公司提供,LED芯片及缺陷特征如图2所示,图像分辨率为256*256,图中用白色框标记的为“气泡”缺陷。实验所采用的操作系统为Ubuntu18.04,GPU为NVIDIA GeForce GTX Titan X,显存为12 GB,CPU为Intel(R)Core(TM)i7-7700K,内存为32 GB,实验算法基于PyTorch框架,采用的Python版本为3.6.12。

    Figure 2 LED chip and defect characteristics

    3.2 评价指标

    本文采用FID和AP2个指标对生成数据的质量进行评估。

    FID是度量真实图像和生成图像的特征向量之间的距离,其将真实数据和生成数据输入Inception V3网络用于提取图像特征,并将特征向量归纳为多变量高斯分布,使用Wasserstein-2距离来计算2个分布之间的距离。FID越小,表明生成的图像质量越高。FID的计算公式如式(7)所示:

    FID(a,G(rn))=‖μa-μG(rn)‖2+

    (7)

    其中,a、rn和G(rn)分别表示真实图像、随机噪声和基于随机噪声生成的图像;
    μa和μG(rn)表示真实图像和生成图像对应特征空间的均值;
    Ca和CG(rn)表示对应特征空间的协方差矩阵,tr()表示矩阵的迹。

    AP是衡量目标检测算法精确度的指标,其值为P-R曲线围成的面积,其中,P表示准确率,R表示召回率,P和R的计算公式分别如式(8)和式(9)所示:

    P=TP/(TP+FP)

    (8)

    R=TP/(TP+FN)

    (9)

    其中,TP为被正确检测为正例的个数,FP表示被错误检测为正例的个数,FN表示被错误检测为负例的个数。

    3.3 数据生成实验结果及分析

    在工业场景中,部分类别的缺陷数据十分稀少,为了使实验条件更加接近现实场景,本文所使用的训练数据共50幅,其中气泡缺陷为230个。训练数据制作方法为:将缺陷数据气泡区域的3个通道的像素值设置为255,得到掩膜图像,将掩膜图像和缺陷图像进行配对,得到训练数据。本文实验使用配对数据集分别训练pix2pix和DS-GAN,并使用2个模型在148幅掩膜图像上生成缺陷,其中生成缺陷共823个。实验具体参数如下:pix2pix和DS-GAN均训练300轮次(epoch);
    Adam初始学习率为0.000 2,Adam动向量为0.5,学习率在前150个轮次保持不变,在后150个轮次线性减少为0,生成器L1损失系数为10.0。

    实验生成缺陷图像如图3所示,对比DS-GAN和pix2pix生成图像的背景部分,两者均非常接近真实图像的背景部分。而对比2种方法生成图像的缺陷部分,可以发现:pix2pix生成的缺陷比较模糊,且缺陷部分和背景部分有一条明显的界限,存在缺陷和背景融合不自然的问题;
    DS-GAN生成的缺陷则相对清晰,且缺陷与背景融合得更加自然,从图像上看不出二者明显的界限。FID评估结果如表1所示,其中,情况1为真实数据的FID,情况2为pix2pix生成数据的FID,情况3为本文方法生成数据的FID。经过对比可以看出,DS-GAN生成缺陷图像的FID要低于pix2pix生成图像的FID,从评估指标上看,DS-GAN生成的缺陷图也更接近真实图像的分布。

    Figure 3 Images generated by different methods

    Table 1 FID comparison of images generated by different data augmentation methods

    以上结果表明:(1)从视觉上看,DS-GAN生成的背景区域与真实图像的背景区域保持了高度一致,而DS-GAN中背景区域并未进行生成对抗训练,表明DS-GAN中背景部分的映射关系是通过优化L1损失来学习的,其训练不依赖生成对抗损失;
    (2)从图像效果上看,DS-GAN生成的缺陷区域更加接近真实缺陷,表明将背景区域进行对抗训练不会提升生成图像背景区域的质量,背景区域的引入反而使得判别结果无法准确表示生成缺陷的质量,从而影响生成器的训练,导致生成的缺陷区域质量不高;
    (3)对比图3中生成图像的缺陷细节,可以看出本文方法对判别器和损失函数的改进是行之有效的。仅将缺陷区域输入判别器的策略使得判别器能够充分学习到真实缺陷区域和生成缺陷区域的特征,且优化每个缺陷区域的生成对抗损失的操作有效地增强了缺陷区域的训练,使得判别器对缺陷区域具有更准确的判断能力,进而优化生成器生成更加高质量的缺陷,显著降低了生成缺陷的FID。

    3.4 缺陷检测实验

    数据预处理流程如下:使用LabelImg标记工具分别对50幅真实缺陷图像、200幅pix2pix生成图像、200幅DS-GAN生成图像进行标记,并将标记好的数据转换成COCO数据集格式。具体实验中,首先使用真实图像对RetinaNet进行训练;
    再分别将pix2pix和DS-GAN生成的200幅缺陷数据加入训练集,训练2个RetinaNet检测模型用于实验对比;
    最后使用148幅真实数据用于缺陷检测模型的测试。

    从表2中pix2pix的实验结果可以看出,pix2pix生成图像加入训练之后,对缺陷检测模型的精度提升并不明显,表明通过pix2pix生成缺陷的分布偏离了真实缺陷的分布,生成图像只能稍微提高模型精度。从表2中DS-GAN的实验结果可以看出,DS-GAN生成图像加入训练之后,能够有效提升缺陷检测模型的精度,表明DS-GAN生成的图像和真实图像的分布是接近的,DS-GAN可以用于工业数据增强。

    综合数据生成实验和工业缺陷检测实验,DS-GAN生成的数据更具数据增强能力,对目标检测性能的提升更加明显。

    Table 2 Influence of different data augmentation methods on object detection accuracy

    针对工业缺陷数据收集成本高,使用pix2pix生成的缺陷数据难以满足深度学习训练要求这一问题,本文提出了一种基于pix2pix改进的工业缺陷数据增强方法。一方面,对工业芯片图像中的缺陷区域进行裁剪,作为判别器的输入,并针对缺陷区域大小,重新设计了判别器的网络结构;
    另一方面,重新设计了生成对抗损失的计算方式,单幅图像的生成对抗损失由图像中的所有缺陷区域的生成对抗损失组成,通过优化生成对抗损失,引导生成器学习掩膜区域和局部缺陷的映射关系,使得生成器能够生成高质量缺陷。

    通过数据生成实验和缺陷检测实验的实验结果可知,相较于pix2pix,本文方法提升了生成缺陷数据的质量,丰富了工业芯片缺陷数据集,改善了工业缺陷数据难收集的问题,并且使用该方法生成的数据显著增加了基于深度学习进行工业缺陷检测的精度。然而,该方法并不适用所有工业缺陷数据的生成,当训练样本中的缺陷数量过少同时特征多变时,该方法生成的缺陷数据存在不够真实的问题。未来将继续对GAN网络进行研究,使得GAN网络能够在缺陷特征更加复杂的情况下,生成的数据依然具有很高的质量。

    猜你喜欢 掩膜损失卷积 利用掩膜和单应矩阵提高LK光流追踪效果导航定位学报(2022年5期)2022-10-13基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02胖胖损失了多少元数学小灵通·3-4年级(2021年5期)2021-07-16基于Mask R-CNN的回环检测算法电子技术与软件工程(2021年5期)2021-06-16卷积神经网络的分析与设计电子制作(2019年13期)2020-01-14从滤波器理解卷积电子制作(2019年11期)2019-07-04玉米抽穗前倒伏怎么办?怎么减少损失?今日农业(2019年15期)2019-01-03基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20国内首条G11光掩膜版项目在成都高新区启动电子技术与软件工程(2018年5期)2018-04-09光纤激光掩膜微细电解复合加工装置研发制造技术与机床(2017年10期)2017-11-28
    相关热词搜索: 缺陷 改进 增强

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章