一种基于生成对抗网络的橡胶手套缺陷检测方法

文档序号:25172720发布日期:2021-05-25 14:43阅读:163来源:国知局
一种基于生成对抗网络的橡胶手套缺陷检测方法

本发明属于工业生产中橡胶手套的缺陷检测领域,具体是一种仅依靠正常样本数据进行训练学习的橡胶手套缺陷检测方法。



背景技术:

通过对橡胶手套的生产制造市场调研分析发现,橡胶手套在医疗、工业、食品、餐饮等行业广受青睐,且全球有一半以上的橡胶手套生产地是中国。据相关数据显示,在未来十年全球对一次性橡胶手套的需求量大约为1300亿只,我国的总出口额也将达到14.2亿美元。面对如此大的需求量,在产品质量方面也引起橡胶手套生产制造商的高度重视,如何使橡胶手套生产企业节约生产成本、提高生产质量成为研究的一个热点。

目前橡胶手套大都采用流水线的生产方式,在复杂的工艺流程中,难免会由于机械故障、人为失误等原因导致残次品的产生,因此缺陷检测是工作量大且必不可少的环节。目前大多数生产线的橡胶手套缺陷检测分为两个环节,第一次是手套在脱模之前工人靠肉眼检查是否有残次品,第二次是在包装前按批次的抽取部分产品进行检测,这两次检测都是靠人工完成。人工目检检测精度和效率低,人力成本耗费较大,且经常会出现漏检误检等情况,造成产品生产的总体质量下降。

现如今工业生产制造的水平发展迅猛,人们对橡胶手套一类的日用产品质量要求也不断提高,生产环节中的缺陷检测技术也越来越受到重视。传统的人工目检法已经与现代的工业生产技术相互脱节,无法适用,而基于机器视觉、模式识别的缺陷检测技术逐渐成为在工业生产中的关键技术和发展潮流。随着深度学习技术的发展,深度神经网络应用于工业生产中的检测也成为研究的热点。深度学习可自主学习所建模数据潜在分布的多层表征,深度神经网络可逐层提取所检测目标的特征,通过大量的训练数据形成对目标对象的独特认识,最终完成网络中的重要参数的最优化。其最大优势即无需人为进行特征分析与特征提取,而是通过神经网络进行自动提取,具有强鲁棒性与自适应性。

尽管深度学习在视觉检测一类任务上表现出较好的性能,但监督性学习的方法在很大程度上依赖大型的,有标记的数据集,通常需要有大量的缺陷样本来支持神经网络的训练,通过学习缺陷的特征分布从而进行检测,且数据集的标注工作也需要耗费大量的人力和时间成本。在许多实际的工业生产过程中,随着技术的提高,生产的不良率大大降低,目前橡胶手套实际生产中的产品合格率基本保持在99%以上,因此很难在实际生产中获取大量的缺陷样本。因此目前主流的监督性学习方法用于解决工业生产中缺陷检测的实际问题并不适用,存在一定的局限性和困难。



技术实现要素:

本发明主要目的在于提出一种基于生成对抗网络的橡胶手套缺陷检测方法,该方法能够实际应用到橡胶手套的生产制造过程中,替代目前大部分的人工目检检测方式,实现基于机器视觉的橡胶手套缺陷检测。本发明旨在解决以下问题:

1.工业生产线上的橡胶手套缺陷检测主要依赖人工目检的方式,该方法效率低,人工成本高,检测精度不佳;

2.目前应用于工业生产的缺陷检测神经网络模型大部分都依赖大型的标注数据集,需要大量的缺陷样本进行网络训练,不符合工业生产中的实际情况,无法提供大量缺陷样本并进行人工标注。

为解决上述问题,本发明提出一种基于无监督学习网络模型ganomaly的缺陷检测方法,解决工业生产中橡胶手套的缺陷检测问题,并对模型改进以对橡胶手套上的微小缺陷有更好的检测效果;模型仅基于正常样本在无监督条件下通过对抗训练的方式进行学习,获取正常样本的分布特征并达到良好的图像重建效果,解决实际工业生产中数据资源高度失衡,无法获取大量缺陷样本数据,人工标注数据成本高等问题。

本发明具体工作流程包括以下几个步骤:

步骤1,利用工业面阵相机对充气后的橡胶手套进行图像采集,获取原始图像数据;

步骤2,对采集的橡胶手套原始图像进行图像预处理,并进行图像尺寸标准化;

步骤3,基于步骤2得到的图像数据集,构建橡胶手套缺陷检测网络模型,将正常样本输入模型进行训练,使模型学习正常样本的特征分布,并具有良好的图像重建能力;

步骤4,基于步骤2得到的图像数据集,将测试样本输入到已训练好的缺陷检测网络模型中,根据对样本的图像重建效果评分,判断样本图像是否存在缺陷。

步骤3中,模型基于gan(生成对抗网络)进行搭建,由两个编码器,一个解码器和一个判别器组成。第一个编码器(encoder1)和解码器(decoder)构成蝴蝶型自编码器,将输入图像x映射到低维度的潜在空间编码z,以获取图像的特征分布。模型的输入x通过包含卷积层、batchnorm层以及leakyrelu激活函数的编码网络输出潜在空间的编码z。针对橡胶手套上缺陷微小、纹理不突出的特点,模型增加自编码器网络深度和堆叠层数,通过1000、500、250、100、50的五层编码器结构,最终得到30维的编码序列。而后通过与编码器(encoder1)相对称的反向结构,解码器(decoder)将潜在空间的编码z采样回图像的高维度空间,并输出重建图像模型的第二个编码器(encoder2)将重建图像再次进行编码,得到具有重建图像特征分布的编码序列通过对图像高维度和低维度的特征分布共同对比,获取原图和重建图之间的差异计算损失值,以更好的惩罚图像生成部分的重建效果。最后,模型的判别器根据gan网络基本的生成对抗思想,与编码器(encoder1)和解码器(decoder)组成的生成网络进行对抗训练,使生成网络可以输出更逼真的重建图像。

模型在训练阶段通过重建图像在高维图像和低维编码上和原图的差异效果,结合判别网络的对抗训练思想,共同约束模型的图像重建能力。根据网络模型结构构建三个损失值,分别约束模型的不同子网络。第一个损失根据输入图像和重建图像之间的高维图像差异计算,其损失函数为第二个损失根据输入图像和重建图像的低维潜在空间编码差异构建损失,其损失函数为并且根据橡胶手套缺陷的实际特征,在其基础上引入centerloss损失将对相似度特征的学习转换为对距离的学习,增加正常样本特征的类内间距,使正常样本的特征向量更加聚集,从而便于区分输入为缺陷样本时的特征;第三个损失是根据判别器的对抗损失,目的使重建图像更加逼真,其损失函数为综上得到生成器的整体损失函数表示为:

这里的ωcon,ωenc,ωadv是调节各损失的权重参数,通过网络模型训练获得最高auc时的取值分别为1、50、1。网络模型的训练选用adam优化算法,设置训练迭代次数nepochs=100,batch-size=6,初始学习率lr=0.5,动量β1=0.5,β2=0.999。

步骤4中,将正常样本和缺陷样本混合作为测试样本输入已训练好的ganomaly网络模型中,对于测试样本定义其重建效果的异常评分为因模型学习到了正常样本的特征分布,对正常样本有良好的重建效果,所以异常评分较小,但对于异常样本因为与正常样本在特征分布上存在差异,不能成功进行重建,所以异常评分较大,可据此判别输入样本是否存在缺陷。在网络模型训练阶段,模型收敛以后计算得到所有正常样本的编码损失值选取其中的最大值作为判别阈值。在测试时计算输入样本图像的编码损失值如果小于判别阈值则判断为正常样本,大于则判断为缺陷样本。

本发明具有如下优点:

本方法基于机器视觉进行橡胶手套缺陷检测,对于工业生产降低了大量的人工成本,并采用基于正常样本的学习训练模式,符合缺陷样本量不足,样本数据不平衡的实际情况,减少了数据集人工标注的训练成本。模型采用改进的ganomaly网络,训练后在120个测试样本数据中缺陷检测率为95.8%,auc(roc曲线下面积)=0.8,模型对于微小缺陷的检测效果优于其他无监督学习模型。本发明基于工业生产的实际情况,提出一种仅根据正常样本进行学习的缺陷检测模型,并优化改进ganomaly模型使其对微小缺陷差异更加敏感。本发明能够应用于橡胶手套缺陷检测领域,代替人工目检及传统的监督性深度学习缺陷检测方法。

附图说明

图1橡胶手套缺陷检测模型的结构示意图

具体实施方式

为使本发明更容易理解、优势更加清楚,下面结合附图和具体实施方式,对本发明的技术方案作详细说明。本发明主要提出一种基于生成对抗网络的橡胶手套缺陷检测方法,该方法能够实际应用到橡胶手套的生产制造过程中,替代目前大部分的人工目检检测方式,实现基于机器视觉的橡胶手套自动缺陷检测。

根据工业生产中缺陷检测的实际需求问题,基于无监督学习网络模型ganomaly解决工业生产中橡胶手套的缺陷检测问题,并对模型改进以对橡胶手套上的微小缺陷有更好的检测效果;模型仅基于正常样本在无监督条件下通过对抗训练的方式进行学习,获取正常样本的分布特征并达到良好的图像重建效果,解决实际工业生产中数据资源高度失衡,无法获取大量缺陷样本数据,人工标注数据成本高等问题。具体步骤如下:

1.采集橡胶手套图像样本

图像采集设备采用2500万像素cmos工业面阵相机,采集图像可直接实时传输到计算机进行后续处理,配置35mm标准镜头以及环形无影光源,将橡胶手套充气膨胀以便更好的检测表面缺陷,静态放置完成采集。定义缺陷样本为包含黑点、油污特征的图像样本,正常样本为无明显缺陷的图像样本。

2.橡胶手套图像样本预处理

相机所采集的橡胶手套图像为彩色rgb图像,为提高网络运行速度,对采集的彩色图像进行灰度化处理可以在保留图像信息完整的前提下降低图像像素所包含的信息量,设每个像素组合为256个灰度级,在[0,255]的像素取值范围内,对采集图像的灰度化公式为:

gray=0.229r+0.587g+0.114b(2)

r,g,b分别为每个像素的红,绿,蓝的颜色分量取值;处理后的图像占用内存空间较少,从而也使网络的计算负担减轻且运行速度加快,达到提高检测效率的目的。

在对原始采集图像灰度化处理后,由于原始图像的灰度层级不均匀导致图像的主体部分边缘模糊不清,因此进一步采用直方图均质化的方式对图像进行处理以解决目标模糊不清的问题。直方图均衡化的本质是在灰度直方图的基础上得到均匀分布直方图,也就是指最大熵的图像为均衡化图像。直方图均衡化目的是加强图像对比度从而突出检测目标,为下一步图像处理奠定基础。

然后对于采集图像进行滤波处理,采用自适应中值滤波器进行图像去噪,中值滤波具有很强的保边缘性,能够自主消除脉冲噪声。中值滤波基本原理是先对一定窗口中的点排序再取中间值为中心像素点的灰度值,如公式所示:

i(i,j)=median(n(k))(3)

式中对于图像像素点i,i是像素点横坐标,j是像素点纵坐标,n是灰度值序列,k是窗口中像素点数,公式中median(n(k))为取中心像素点灰度值。

最后对所有完成预处理的图像进行尺寸标准化,统一尺寸为512×512。

3.缺陷检测网络模型训练

ganomaly网络结构如图1所示,主要包含两个编码器、一个解码器和一个判别器网络,组合作为三个子网络。

第一个子网络是第一个编码器(encoder1)和解码器(decoder)构成蝴蝶型自编码器,将输入图像x映射到低维度的潜在空间编码z,以获取图像的特征分布。模型的输入x通过包含卷积层、batchnorm层以及leakyrelu激活函数的编码网络输出潜在空间的编码z。针对橡胶手套上缺陷微小、纹理不突出的特点,模型增加自编码器网络深度和堆叠层数,通过1000、500、250、100、50的五层编码器结构,最终得到30维的编码序列。而后通过与编码器(encoder1)相对称的反向结构,解码器(decoder)将潜在空间的编码z采样回图像的高维度空间,并输出重建图像该子网络的损失是自编码器的重建损失,根据输入图像和重建图像之间差异惩罚生成网络,其损失函数表达为:

其中x是输入原图像,px是输入数据的分布,g是生成网络,g(x)是重建图像,公式根据原图和重建图的最小绝对值偏差计算范数损失,而后根据得到其期望。

第二个子网络是一个编码网络(encoder2),它的作用是将第一个子网络重建出来的图片再压缩为一个低维的向量encoder2采用的结构和encoder1是一样的,但它们的参数是不一样的。该子网络的结构摒弃了通过对比原图和重建图的差异来推断异常的方式,采用通过对比原图和重建图在高一层抽象空间中的差异来推断异常的方式,而这种方式可以大大提高抗噪声干扰的能力,学到更加鲁棒的网络模型。该子网络通过对比原图和重建图像的编码特征之间的差异来构建损失函数:

其中ge()是原图的编码特征,e(g(x))是重建图像的编码特征,公式根据二者的最小平方误差计算范数损失,而后根据得到其期望。根据橡胶手套缺陷的实际特征,在基础上引入centerloss损失将对相似度特征的学习转换为对距离的学习,通过对正常样本在潜在空间上的编码增加其特征的类内间距,使其特征向量更加聚集,从而便于区分输入为异常样本时的特征,的损失函数表达为:

i代表batch的序列数,表示第yi个类别的特征中心,xi表示全连接层之前的特征,m表示mini-batch的大小,公式中计算在每一个batch里当前数据的特征与特征中心距离的平方值而后叠加求和。

第三个子网络是一个判别器(d-net),它的作用是区分原图和重建图,即要将原图判别为真,也要将重建图判别为假。该子网络的引入,是为了通过对抗训练的思想获得更好的生成网络,从而得到效果更好的重建图。其损失是常规的gan网络中判别器的损失,通过图像特征匹配损失计算原图和重建图之间的差异距离来构建损失函数:

其中f(x)输入原图的特征,f(g(x))为重建图像的特征,公式根据原图特征与重建图特征的期望计算范数损失,而后根据得到最终期望值。

通过以上的训练方式,生成网络学习如何对正常样本的重建图像进行编码,但对于异常样本的输入,由于网络只针对正常样本进行了优化,因此无法最小化输入与特征空间中重建图像之间的距离。综上,生成网络的目标函数如下:

这里的ωcon,ωenc,ωadv是调节各损失的权重参数,通过网络模型训练获得最高auc时的取值分别为1、50、1。网络模型的训练选用adam优化算法,设置训练迭代次数nepochs=100,batch-size=6,初始学习率lr=0.5,动量β1=0.5,β2=0.999。

4.缺陷检测网络模型测试

在测试阶段,将正常样本和缺陷样本混合作为测试样本输入已训练好的ganomaly网络模型中,对于测试样本定义其重建效果的异常评分为因模型学习到了正常样本的特征分布,对正常样本有良好的重建效果,所以异常评分较小,但对于异常样本因为与正常样本在特征分布上存在差异,不能成功进行重建,所以异常评分较大,可据此判别输入样本是否存在缺陷。在网络模型训练阶段,模型收敛以后计算得到所有正常样本的编码损失值选取其中的最大值作为判别阈值。在测试时计算输入样本图像的编码损失值如果小于判别阈值则判断为正常样本,大于则判断为缺陷样本。对于测试样本的异常评分定义为:

其中是测试样本输入原图的编码特征,是测试样本重建图像的编码特征。为了评估整体的检测性能,对于测试样本集中单个测试样本的异常评分si,可以得到一组异常评分集合表示为为测试样本的集合,然后对其进行归一化处理使异常分数归于[0,1]之间:

其中s′i即为最终异常评分的表达,为集合中的最小值,为最大值。因此得到正常样本的异常评分应为s′i=0,而反之缺陷样本的异常评分应为s′i=1,据此可判断样本中是否存在缺陷,以达到对橡胶手套进行缺陷检测的目的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1