基于生成对抗网络的工业缺陷模拟生成算法
2022-01-07刘荣华王安妮郑增强
刘荣华,王安妮,郑增强
(1.武汉精测电子集团股份有限公司;2.武汉精测电子集团股份有限公司智能检测研究院;3.武汉精测电子集团股份有限公司研发中心,湖北武汉 430205)
0 引言
深度学习正处于快速发展阶段,在许多领域得到了很好应用。在工业领域,人们越来越需要结合深度学习算法来提高效率。然而,深度学习需要大量的样本数据才能获得更好的模型,但工业缺陷样本往往有限。因此,为了获得更多的样本满足工业检测要求,本文采用生成式对抗网络(Generative Adversarial Networks,GAN)来产生新的样本。
1 相关工作
Goodfellow 等[1]的GAN 方法是图像生成的一种流行方法,DCGAN 的应用使得基于GAN 的图像生成技术向前迈进了一大步。近年图像生成技术有两大发展方向:
(1)围绕GAN 的稳定性优化提出了许多改进loss 函数计算的优化算法,如Arjovsky[2]提出了权剪裁,在很大程度上解决了模式崩溃问题,但是WGAN 仍然存在收敛问题。为解决WGAN的爆炸梯度问题,Gulrajani[3]在临界损失中加入梯度惩罚来进一步优化图像生成,采取距离优化方法来提高生成图像的多样性。Mao[4]在两个生成的图像之间引入一个特殊的距离以使相应的隐层编码最大化。这些策略使图像生成更加稳定和多样化,为基于GAN 的高分辨率图像生成提供了发展基础。
(2)GAN 网络结构的创新使图像生成不再局限于特定分辨率,甚至能够生成高分辨率图像。SAGAN 将注意机制与光谱归一化相结合,形成多级依赖结构,保证了生成图像的全局结构。Chen 等[5]和Lucic 等[6]通过添加条件分类器和隐层编码,探讨了隐层编码对生成数据特征的影响。这些条件分类器不仅能判断图像真假,而且能给出分类标签,进一步增强了鉴别器的鉴别能力。近年来,多级图像生成GAN 网络在图像生成质量方面取得了重大突破,如SinGAN[7]、PGGAN[8]和StyleGAN[9]。虽然这类算法引入了图像风格之间的转换,但它们在图像生成方面的性能也很突出。特别是StyleGAN 采用多级生成方法,提出了一种映射网络和添加AdaIN 模块的方法,实现了高质量的多分辨率图像生成。同时一些GAN 网络致力于生成图像的可编辑性研究,Choi 等[10]和Karnewar 等[11]研究了StarGANr2 和MSG-GAN,使生成的图像可在多个域扩展,而Pidhorskyi等[12]则在StyleGAN 网络基础上探讨了对隐层信息的可编辑操作,从而实现对人脸图像特征进行编辑。但这些能生成高分辨率的GAN 算法往往需要大量的样本作为支撑,因此诞生了一些以成对甚至单张图像进行图像生成的GAN算法,例如Shaham[13]、Lin[14]、Hinz[15]等。
也有一些基于非GAN 网络的图像生成算法,最具代表性的是Kingma 等[16]研究的VAE 方法,其在常规的自编码器基础上对encoder 的结果加上“高斯噪声”,使得结果decoder 能够对噪声有鲁棒性。而Razavi 等[17]研究的VQVAE2 基于此进行演化,将连续的隐变量变为离散,引入PixelCNN[18]实现了更为高效的图像生成。但目前这类方法在图像生成方面无法与先进GAN 网络生成的图像质量媲美。因此在图像生成领域,目前先进的算法还是基于GAN 网络的方法占据优势。
由于工业缺陷的复杂性及样本匮乏性,基于单张或者成对的图像生成不能满足大量丰富缺陷的生成需求,基于少量样本进行模拟生成会造成GAN 网络模式崩溃。而位于不同位置的工业缺陷其复杂程度是不一样的,所以为了实现工业缺陷的模拟,本文首先根据缺陷的位置提取特征,然后利用先进的生成算法StyleGAN 网络训练生成模型,基于训练好的模型生成一组新的缺陷样本。根据生成的样本和特征的位置采用本文的图像处理方法可以融合更多的可用样本。
本文实验采用典型工业缺陷数据集的面板缺陷数据集作为算法验证数据集,通过对面板缺陷数据集实验可以成功生成新的缺陷。此外,本文通过计算IS(Inception Score)[19]和FID(Fréchet Inception Distance)[20]的方式来评估模拟生成算法性能。提取工业缺陷的位置信息是必要的,但是如果忽略位置只提供少量工业缺陷样本,GAN 网络可能无法模拟生成复杂的缺陷。
对面板缺陷的模拟生成实验证明,本文提出的算法能够实现工业缺陷的生成和融合,能够扩展样本,为工业领域的深度学习应用提供有力的数据支撑。
2 基于位置的图像生成
在工业领域,缺陷图像获取往往较困难,因此很难用少量样本训练得到高精度的深度学习模型。在这种情况下,即使使用GAN 网络生成图像,仍然会发生模式崩溃问题,导致只能生成固定种类的缺陷样本,在模拟生成过程中很难生成具有复杂背景的缺陷样本。以面板检测数据集为例,发现位于边缘或角落处的图像多为复杂背景,删除这些背景往往不利于缺陷检测。另外,基于GAN 网络进行大规模尺寸图像的训练往往耗时长,对硬件环境要求高,不利于推广和应用。因此,结合工业缺陷图像特点,本文提出一种基于区域位置的图像生成算法,以128×128 尺寸为例,其流程如图1 所示。首先根据需要的大小裁剪图片,对裁剪后的图像进行分类,模拟生成缺陷;然后对生成的缺陷图像进行特征转换,得到丰富的缺陷模拟图像;最后,对得到的缺陷图像进行融合,得到一个新的缺陷数据集。
Fig.1 Flow of position based image generation图1 基于位置的图像生成流程
2.1 位置信息提取
首先,需要对缺陷图像I 进行图像裁剪,这里使用滑动窗口进行裁剪,并将其划分为角、边和中心的小图片。根据现有的工业缺陷检测算法进行筛选,得到不同位置的缺陷数据集ICorner、Iedge、Icenter。
模拟StyleGAN 的网络可分为映射网络f、综合网络g 和噪声模块3 部分。StyleGAN 的基本结构如图2 所示,映射网络f 包含8 个完全连通的层,合成网络g 包含18 个层,分辨率为4×4 到1 024×1 024。9 种分辨率各有两层,所需分辨率可根据实际情况更改。发生器首先将输入向量通过f编码成中间向量,然后将中间向量传递给生成网络,得到18 个控制向量,使得控制向量的不同元素可以控制不同的视觉特征。将输入映射到中间潜在空间W,然后W 控制生成器在每个卷积层执行自适应实例规范化(AdaIN),如公式(1)所示。μ(x)和σ(x)分别表示训练图像的均值和标准差,μ(y)和σ(y)分别表示生成图像的均值和标准差。在AdaIN 模块之前向每个通道添加缩放噪声,并稍微改变分辨率级别特征的视觉表示。
Fig.2 Structure of StyleGAN图2 StyleGAN 的结构
2.2 特征转换
根据Chen 等[21]研究的方法,可以改变该潜在空间的随机量,实现网络学习的可解释性特征,从而根据具有一定特征的图像数据集提取特征码。生成的图像不是基于随机噪声z,而是基于特定特征码的随机值生成,可以生成具有特定特征的图像。因此,利用ResNet 模型来训练图像与潜码z 之间的映射网络,并通过修改特征码来实现缺陷图像的特征修改与融合。
2.3 图像融合
在工业检测中经常需要一定尺寸的图像,如果尺寸不符合检验要求则对缺陷模拟没有意义。为此,本文提出一种图像融合算法,将产生的缺陷与不同背景相结合生成新的缺陷图像。由于工业缺陷图像数据往往有着纹理信息,而单纯的图像融合可能会使缺陷失去这部分纹理信息,从而使得基于图像融合出的缺陷数据集往往与真实数据集有着较大差异,不利于深度学习应用。因此,在图像融合中,本文将缺陷和背景纹理信息均进行了提取及有效利用,采用旋转不变方差测度局部二值模式方法分别对背景图像和缺陷图像进行纹理提取。对于缺陷的纹理图像,通过二值化、卷积和腐蚀扩展等操作提取缺陷的掩模图像,然后根据缺陷图像去除纹理,添加背景图像纹理,取得了较好的图像融合效果。图像融合算法流程如图3 所示。
Fig.3 Image fusion process based on defect images图3 基于缺陷小图的图像融合流程
3 实验
采用工业检测中的缺陷数据集缺陷模拟生成算法进行实验验证。利用工业上常见的面板缺陷数据集进行缺陷模拟实验,该数据集包含7 种不同位置缺陷。在提取出不同位置缺陷后,共得到2 000 多幅128×128 大小的图像。
3.1 缺陷模拟生成
首先基于位置信息的图像数据集进行模型训练。对于图像数据集,位于角落的图像大约有300 个,边缘数据集大约有350 个图像。基于位置信息对模型进行训练可以得到更好的生成结果。实验结果如图4 和图5 所示,其中最上面一行是真实图像,最下面一行是基于缺陷模拟生成算法生成的图像。图4 显示了位于中心区域图像生成的结果,除了生成背景纹理外,还可以发现生成的图像与原始图像中的缺陷相似。位于边缘和拐角处的生成效果如图5所示。从图5 可以看出,尽管受到复杂背景的影响使生成的模拟图像与真实图像很接近,但背景和面板区域之间不会出现交错融合现象。StyleGAN 在低分辨率图像生成会在图像局部产生显著水滴状伪影,在本实验中并未对缺陷的生成造成影响,因此可以将生成的模拟缺陷图进一步在后续图像融合中进行应用,从而得到接近真实的模拟数据集。
Fig.4 Different defect centers of panel图4 面板的不同缺陷中心
Fig.5 Different defects at panel edge and corner图5 面板边缘和拐角处的不同缺陷
通过计算IS 和FID 来评估基于模拟算法的生成图像质量,不同位置生成的图像质量如表1 所示,这进一步证明了提取工业缺陷位置作为特征的必要性。由于缺陷种类较多,每类数量较少,所以从得到的IS 结果来看多样性有限,造成生成的模拟图像存在重复现象。因此,引入特征转换的方式进一步丰富缺陷的多样性。
Table 1 IS and FID of images generated by defects atdifferent positions表1 不同位置下缺陷生成图像的IS 与FID
3.2 特征转换
在缺陷生成模型中,使用ResNet50 对相应的潜在代码生成模型和图像生成模型进行实验。通过基于位置的图像生成模型可以获得大量生成的模拟图像,并通过映射网络生成潜层编码。以生成的图像作为输入,潜层编码作为输出来训练模型。以边缘图像生成模型为例,通过特征变化实现对缺陷特征的控制。图6 展示了ResNet50 的训练结果,准确率为90.12%。图7 展示了原始图像和由特征码逆生成图像的结果。
Fig.6 Training results of feature transformation model图6 特征转换模型训练结果
从图7 可以看出,与生成图像一致的图像可以仅由潜层编码生成。这进一步说明,尽管基于GAN 的图像生成是随机的,但是可以通过控制潜层编码来实现图像生成的多样化。
Fig.7 The comparison between the original image(a)and the image(b)generated by the inverse of the feature code图7 原始图像和由特征码逆生成的图像对比
在得到特征转换模型后,根据特征编码的修改对缺陷进行修改。基于以上结论,利用不同位置的特征码可以实现对图像的编辑控制,实现功能的多样性和可控性。针对18 位的特征码,图8 中编码阈值设置为-0.4,更改其中的后4 位数值,由此获得包括缺陷位置、尺寸和亮度变换在内的几种变换效果。其中图8(a)为原始图像,图8(b)、(c)、(d)、(e)分别为第1、9、13、15 位编码修改后的结果。
Fig.8 Image generation under different latent codes图8 不同潜码下的图像生成
3.3 图像融合
用上述方法得到大量缺陷图像后,等价于得到一批缺陷样本库。基于已有的正常图像可以合成一个新的缺陷图像,在实际应用中能获得大尺寸图像,不需要更长的训练时间和更多的设备来获取高分辨率图像,使缺陷图像的生成效率大大提高。对生成的图像进行图像融合实验,结果如图9 所示。图9(a)是原始背景图像,图9(b)是纹理融合后的图像。
图10 为纹理提取过程,其中图10(a)是原始缺陷图像,图10(b)是原始缺陷图像的纹理,图10(c)是经过一系列纹理提取算法处理的缺陷纹理图像,图10(d)是背景纹理图像。
Fig.9 Image fusion results图9 图像融合结果
Fig.10 Different texture extraction图10 不同纹理提取
4 结语
本文基于StyleGAN 算法实现了基于位置信息的工业缺陷图像生成。此外,利用隐层编码转换实现了生成图像的可编辑性,有效扩展了生成缺陷的多样性。基于这些生成的缺陷图像,采用图像融合技术将缺陷图像更为真实地融合进实际场景图像中,使工业领域的缺陷模拟生成更为灵活。本文通过对面板缺陷数据集的实验验证了该算法的有效性,为工业领域的图像生成算法提供了新的研究思路。同时,在实验中发现基于StyleGAN 网络生成的图像还存在很大的优化空间,如何在样本不充足情况下得到更为丰富的模拟缺陷是后续研究重点。