基于生成对抗网络的缸盖表面缺陷识别

2020-11-18 13:10王庆霞戈增文吴喜如
制造业自动化 2020年11期
关键词:划痕方差残差

王 铭,王庆霞,2,戈增文,吴喜如,周 虎

(1.东华大学 机械工程学院,上海 201620;2.上海航天工艺与装备工程技术研究中心,上海 200245)

0 引言

发动机缸盖的表面质量不仅影响产品外观,还严重影响发动机功率、油耗等使用性能和寿命。然而,由于毛坯成形和机械加工中不确定因素,缸盖表面往往会产生多种类型的缺陷,如孔洞、裂纹和划痕等。目前,在生产线上大多采用人工目视检测的方式,这种方法主观性强、劳动强度大、工作效率低、易造成误检和漏检,无法保证产品质量[1]。

基于机器视觉的表面检测方法已应用在钢板、钢轨、纺织品、水果、木材等工业产品表面缺陷检测中。传统的视觉检测大多通过设定特征来对缺陷进行定义,例如缺陷的几何特征和灰度特征,然后利用分类器对特征进行分类,从而实现缺陷的识别[2~5]。但该方法的鲁棒性和泛化能力不好,主要用于特定产品的离线检测。而实际生产线上,光照、物体变形等场景变化无法预测,图像噪声复杂,很多算法在实际应用中表现效果一般。以卷积神经网络为主的深度学习方法,通过局部感知、权重共享和局部连接的特有结构特性,使得整个网络确保对输入的图像信号具有位移和畸变鲁棒性。因此,在获得足够多的标记图像情况下,可以对产品缺陷进行有效识别[6~11]。然而,而实际应用中,缺陷样品往往难以事先采集,手工贴标费时。因此,由于正样本和缺陷样本数量的不平衡,往往导致模型训练精度降低[12]。

随着深度学习在机器视觉领域取得的成功,出现了很多基于卷积神经网络的新型网络框架,越来越多的无监督式学习算法不断涌现,生成对抗网络(GAN)就是其中之一,目前GAN已广泛用于图片生成、补全、风格转换等领域[13~15]。基于生成对抗网络思想,本文提出一种基于正样本的缺陷图像重构方法,通过残差图像比对实现缺陷识别。

1 图像修复生成对抗网络模型

1.1 生成对抗网络

根据文献[13],GAN的网络基本结构如图1所示。在训练过程中,生成器G接收随机噪声向量z以生成新图像G(z),并与输入的真实图像进行对比,一同输入给判别器D进行判断,并输出损失值LD,然后根据损失值LD优化生成器G的网络参数。通过G和D的相互博弈,逐步提高生成器G所生成图像G(z)的真实度,直到判别器D无法判别输入数据来自哪里,也就是分类器给出输入数据来源于真实样本和生成样本的概率近似为0.5,达到一个纳什平衡的状态。

图1 GAN网络结构

GAN的目标函数可写成:

式中:E表示期望的分布;Px表示正常产品图像训练样本的分布;Pz表示被用于生成器G输入的随机性先验分布;D(x)表示x来自于真实数据分布Px(x)的概率。

根据式(1)可知,生成对抗网络模型的训练目标是判别器D输出最大化,而生成器G输出最小化。则判别器D和生成器G损失函数为:

最终,生成器G生成的图像能够无监督地反映真实数据样本与噪声向量z的映射规律,通过映射规律能够生成更多满足正常产品分布规律的图像。

1.2 图像修复网络模型

在生成对抗网络中,人们通常采用编码器-解码器网络。利用该网络修复缺陷图像时,输入的缺陷图像先是通过一系列下采样,直到遇到中间隐含层,然后再通过一系列上采样生成新的图像。于是,输入图像要经过包括中间层在内的所有层,不能直接把信息从编码层传递给解码层。因此,输入图像中无缺陷区域部分的几何信息等关键特征,将可能被压缩甚至丢失,这将大大影响生成图像的真实度。为了使这些关键特征能够绕过中间层,本文采用U-Net的网络形式,即在第i层和第n-i层之间添加了跳跃式连接,使得第i层的所有通道与第n-i层的通道信息实现共享。

为了提高生成器对输入图像细节部分的捕获能力,判别器要能够获取到高频信息,因此研究中采用了PatchGAN的判别器结构,在patch规模上对图像进行判别。该判别器能够对图像中每个N×N区域进行真或假判断,其中判定为真的图像块将保留其特征信息,使其能够对输入图像的细节区域进行真实性区分。

图2为本文所提出的图像修复网络模型MGAN的总体框架。

生成器G的详细网络参数如表1所示。把随机噪声信号z的维度设置为256维,利用二维卷积层来对数据维度进行缩减,并添加批归一化层在每个二维卷积层后。同时采用ReLU作为网络的激活函数,以提高网络的训练速度。

表1 生成器网络结构

图2 图像修复网络模型MGAN框架

判别器D网络参数如表2所示,二维卷积网络的激活函数采用的是LeakyReLU,这种激活函数能够提高识别性能,判别器的输出即为输入图像属于真实样本图像的概率。

表2 判别器网络结构

1.3 模型训练

本文采用的图像采集设备为水星MER-500-14GM/C面阵相机,KowaLM8JCM型镜头,视场为50mm×50mm。试验时,共采集1300幅图像,其中1000张为正常无缺陷图像,300张为含有缺陷的图像。计算机硬件为CPU Intel(R)Core(TM)i7-7700 @2.80GHz×8和NVIDIA GTX1060 GPU(6G),并采用CUDA9.0和cuDNN7.3进行加速。

研究时,采用谷歌神经网络算法库Tensorflow和Keras框架搭建MGAN生成对抗网络。采用均匀随机抽样的方式,在建立的数据集中抽取80%和20%分别作为训练集和验证集。网络训练时,采用文献[13]中的网络训练方式交替训练生成器G和判别器D,即从正常产品图像中获取真实数据样本,在生成器G中输入噪声向量z以生成修复后的图像,然后根据式(3)来计算判别器D的判断结果,并利用Adam优化器不断地更新网络参数。

2 图像修复和缺陷识别测试

为了验证本文所提方法的准确性和可靠性,试验时对孔洞,划痕,磕碰等三种典型缺陷进行了测试。

2.1 图像修复效果比较

图3所示的输入图像,矩形框内为孔洞缺陷。现分别采用GAN和MGAN方法,对其进行修复,得到图3第三列所示的修复图像。由图可看出,这两种方法均能够对缺陷进行修复。

本文采用图像差分法检测图像修复效果。其原理就是将修复图像和输入的原始图像对应坐标的灰度值相减,得到残差图像。理想状态下,残差图像中非缺陷区域的灰度值将趋近于0。

为了更好地解释修复效果,在图3所示原始图像的缺陷附近截取14×14像素点区域进行局部放大,如图4所示,其中红色方框为缺陷所在的大致区域。由图4(b)和图4(c)与原图图4(a)对比可知,经过MGAN方法修复得到的图像,非缺陷区域像素灰度值更加接近于原始图像对应位置的灰度值。因此将二者作差即可将缺陷区域突显出来,即:

式中,ΔP(x,y)为残差图像;Pt(x,y)和PG(x,y)分别为原始图像和修复图像。

图3 两种方法的图像修复效果比对

根据式(4)得到图4(b)和图4(c)的残差图像ΔPGAN(x,y)和ΔPMGAN(x,y),并将非缺陷区域设为背景区域。图5描述了两个残差图像的三维灰度分布形貌。由图可看出,图像ΔPMGAN(x,y)的背景区域灰度波动范围为[0,15],缺陷区域中的灰度最大值为100,最小值为50。图像ΔPGAN(x,y)的背景区域灰度波动范围为[0,100],缺陷区域中的灰度最大值为120,最小值为60。

为了定量评价修复效果,本文用灰度均值和均方差评价残差图像。表3为图4和图3对应的残差图像的统计结果。从表中可看出,对于背景区域,残差图像ΔPMGAN(x,y)灰度均值和均方差均比ΔPGAN(x,y)要小,说明生成图像PMGAN(x,y)更加逼近于输入图像Pt(x,y)。

为进一步说明MGAN方法的修复效果,观察图3中的残差图像灰度分布,发现残差图像ΔPGAN(x,y)在无缺陷区域会出现离散的脉冲形灰度分布,且主要集中在孔、槽等几何特征的边缘上,说明在图像生成过程中,GAN方法对曲率变化大的高频几何结构边缘,保持信息不变的能力较弱。而在这些区域MGAN方法具有较好的修复能力。表3中残差图像的灰度均值和均方差结果也说明了这点。

图4 局部区域的灰度值比较

图5 残差图像三维灰度分布形貌

表3 残差图像的统计

采用MGAN方法对采集到的缺陷图像进行修复,并计算出残差图像中背景区域(无缺陷区域)的灰度均值和均方差。图6为随机选择的20张残差图像的统计结果。由图可看出,对于背景区域,残差图像ΔPMGAN(x,y)灰度均值和均方差变化范围分别为[4,8]和[6,10],ΔPGAN(x,y)的灰度均值和均方差变化范围分别为[24,38]和[18,24],说明生成图像PMGAN(x,y)更加逼近于输入图像Pt(x,y)。

由此可得出:1)相比于GAN方法,MGAN方法对输入图像的修复效果更好;2)对于缺陷区域,残差图像ΔPMGAN(x,y)和ΔPGAN(x,y)的灰度均值基本接近,但比输入图像Pt(x,y)的灰度均值大得多。于是,可利用该方法得到的残差图像进行图像中的缺陷定位。

图6 残差图像灰度统计(背景区域)

2.2 缺陷识别效果比较

研究中采用最大类间方差法(Otus)确定阈值,类间方差可写为:

其中,w0为缺陷区域的像素点个数占残差图像总像素点的比例,w1为属于背景区域的像素点个数占残差图像总像素点的比例,u0为所有缺陷区域的平均像素值,u1为所有背景区域的平均像素值。当方差g达到最大时,可认为此时缺陷分割的阈值为最佳阈值。

在残差图像中,如果ΔP(x,y)>th,则像素点pixel(x,y)为缺陷点,标记为1;反之,则为非缺陷点,标记为0。于是,残差图像经过二值化后,可表示为:

图7为含有孔洞、划痕、磕碰三种缺陷的识别结果。从二值化图像可看出,本文所提方法可进行缺陷定位,其中孔洞缺陷分离效果最好,其次为磕碰缺陷,划痕缺陷相对较弱。这主要是受到划痕缺陷深度和照明系统亮度影响。

图7 不同类型缺陷识别效果

为进一步测试本文所提算法的鲁棒性,针对前文所用的300个缺陷产品,依次改变光源亮度并得到相应的图像,即1500个缺陷样本,其中孔洞、磕碰和划痕分别为1250、100和150个。图8描述了不同亮度下划痕缺陷的识别情况。由图可看出,当相对亮度取20时,测试场景较暗,于是产品表面上的加工纹理凸显,导致划痕中较浅的细节部分与之混淆。当相对亮度取40时,测试场景较亮,划痕与表面加工纹理均被忽略而无法识别。

图8 不同亮度下的划痕缺陷图像

图9为不同亮度下三种类型缺陷识别准确率,可看出,当相对亮度在25~35之间,孔洞和磕碰两类缺陷的识别正确率均达到95%以上,划痕缺陷识别正确率有80%。

图9 不同亮度下缺陷识别比较

3 结语

本文基于生成对抗网络思想,提出了一种基于正样本的缺陷图像修复网络模型结构,可以在正样本和缺陷样本数量不平衡的工况下,通过产品图像重构和图像差分法,实现对产品缺陷的有效识别。该方法与目前占主导地位的传统机器视觉检测算法在解决思路上截然不同,但缺陷识别效果明显提高,证明了本文方法的可行性。在后续研究中,主要工作会集中在对图像修复网络模型的改进,以便更好地识别划痕缺陷。

猜你喜欢
划痕方差残差
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
富马酸卢帕他定治疗皮肤划痕症的疗效观察
概率与统计(2)——离散型随机变量的期望与方差
基于残差学习的自适应无人机目标跟踪算法
基于微观划痕的疲劳强度预测
基于深度卷积的残差三生网络研究与应用
方差越小越好?
计算方差用哪个公式