光纤端面缺陷检测方法、设备及存储介质

文档序号:25427469发布日期:2021-06-11 21:41阅读:157来源:国知局
光纤端面缺陷检测方法、设备及存储介质

本发明属于人工智能技术领域,具体涉及一种光纤端面缺陷检测方法、设备及存储介质。



背景技术:

当前缺陷检测的方法主要有人工目视法、基于机器视觉的缺陷检测方法和基于深度学习的缺陷检测方法三种。基于深度学习的缺陷检测方法是当前的主流方法,深度学习能够通过训练学习某种深层神经网络来拟合复杂函数,表征输入数据分布式表示,具有较强的从有限样本中自动学习数据本质特征的能力。虽然目前己存在大量优秀的深度学习算法,但这些算法往往需要大量的数据驱动才能将性能发挥到极致。在实际的生产过程中,存在着缺陷样本较少且缺陷样本种类不均匀等问题,因此神经网络利用有限的数据集在训练中容易出现过拟合的情况;与此同时,目前常用的缺陷检测方法往往是有监督学习方法,这类方法需要对数据集一一打上标签,非常耗费人力、时间。



技术实现要素:

为了解决现有技术中常用的缺陷检测方法检测效率低、检测效果差的技术问题,本发明提供一种光纤端面缺陷检测方法,主要包括:

步骤一,采集光纤端面的第一正常样本数据集和第一缺陷样本数据集;

步骤二,构造条件生成对抗网络模型,通过所述条件生成对抗网络模型对所述第一正常样本数据集的特征和高斯噪声进行处理,获得第一生成图像;

步骤三,根据所述第一生成图像、第一缺陷样本数据集和所述特征对条件生成对抗网络模型进行对抗训练;

步骤四,将所述第一生成图像加入第一缺陷样本数据集中,构成第二缺陷样本数据集;

步骤五,构造循环生成对抗网络模型,根据所述第一正常样本数据集和第二缺陷样本数据集对所述循环对抗网络模型进行对抗训练,获得第二生成图像和第二正常样本数据集。

步骤六,将所述第二生成图像加入第二缺陷样本数据集进行扩充,获得扩充后的第二缺陷样本数据集,扩充后的所述第二缺陷样本数据集用于继续对抗训练所述循环生成对抗网络模型;

根据第二缺陷样本数据集与所述第二正常样本数据集进行差分处理,获得缺陷区域。

进一步地,将所述第一正常样本数据集输入到深度卷积神经网络中提取特征,使用格拉姆矩阵表示所述特征;将所述格拉姆矩阵作为条件c输入到所述条件生成对抗网络模型中,输出第一生成图像;将所述第一生成图像、第一缺陷样本数据集和所述条件c输入判别器网络进行对抗训练。

进一步地,所述循环生成对抗网络模型包括正向生成器、反向生成器和判别器,将所述第二缺陷样本数据集输入所述正向生成器,获得第二正常样本数据集;将所述第二正常样本数据集与所述第一正常样本数据集输入判别器中,利用判别器优化损失函数,使所述正向生成器学习正常样本的分布;将所述第二生成图像输入到所述反向生成器中生成缺陷图像,通过循环一致性损失函数使所述反向生成器学习所述缺陷图像的分布;;

进一步地,所述循环生成对抗网络模型包括正向生成器、反向生成器和判别器,将所述第二缺陷样本数据集输入所述正向生成器,获得第二正常样本数据集;将所述第二正常样本数据集与所述第一正常样本数据集输入判别器中,利用判别器优化损失函数,使所述正向生成器学习正常样本的分布;将所述第二生成图像输入到所述反向生成器中生成缺陷图像,通过循环一致性损失函数使所述反向生成器学习所述缺陷图像的分布;

进一步地,所述循环对抗网络模型的训练过程还包括输入所述第二缺陷样本数据集到正向生成器中,获得第二正常样本数据集;将第二正常样本数据集输入到反向生成器中,获得第二生成图像;将所述第二生成图像加入所述第二缺陷样本数据集,用于扩充第二缺陷样本数据集。

根据本发明的另一个方面,公开了一种光纤端面缺陷检测设备,所述光纤端面缺陷检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的光纤端面缺陷检测程序,所述光纤端面缺陷检测程序被所述处理器执行时实现如步骤一至步骤四中任一项所述的光纤端面缺陷检测方法的步骤。

根据本发明的另一个方面,还公开了一种计算机可读存储介质,所述存储介质上存储有光纤端面缺陷检测程序,所述光纤端面缺陷检测程序被处理器执行时实现如步骤一至步骤四中任一项所述的光纤端面缺陷检测方法的步骤。

本发明通过采集光纤端面的正常样本数据集和缺陷样本数据集,构建并训练条件生成对抗网络,能够进行缺陷样本数据扩充,解决了缺陷检测样本数据不足的问题,避免了过拟合现象的产生;构建并训练循环生成对抗网络,在使用生成器对光纤端面进行缺陷检测的同时,也生成新的缺陷样本,进一步扩充缺陷样本数据集;根据扩充后的缺陷样本集与正常样本数据集差分处理,获得缺陷区域。本发明属于无监督学习方法,为缺陷检测提供一种全新的方法,不仅可以省去为图片标记的麻烦,同时可以大大提高缺陷检测的准确率。

附图说明

下面将结合附图及实施例对本发明作进一步的说明,其中:

图1为本发明实施例中方法流程图;

图2为用于缺陷样本生成的条件生成对抗网络cgan网络结构图;

图3为用于缺陷检测及缺陷样本生成的循环生成对抗网络cyclegan;

图4为cyclegan中生成器的网络结构图;

图5为cyclegan中判别器的网络结构图。

具体实施方式

下面结合附图来详细说明本发明,其中的具体实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。

如图1所示,本发明公开了一种光纤端面缺陷检测方法,具体检测步骤为:

步骤1、采集光纤端面样本构造数据集,使用光纤端面检测仪采集光纤端面正常样本和缺陷样本若干,并将采集到的图片数据存储到计算机中;对光纤端面缺陷样本数据集进行数据增强,从而增加数据多样性,对有缺陷的光纤端面图像进行几何变换,比如缩放、位移、旋转、对比度变换等方法,改变图像中特征的位置信息、色彩、大小等,在一定程度上能够增加训练图像的多样性。

步骤2、构造条件生成对抗网络cgan生成器和判别器模型,用于生成缺陷图像。

条件生成对抗网络由生成器网络和判别器网络构成,生成器网络和判别器网络均采用卷积神经网络;在条件生成对抗网络之前增加一个vgg网络用于提取正常样本的特征作为条件输入。

将正常样本输入到vgg网络中提取特征,提取到的特征使用格拉姆矩阵(grammatrix)表示出来,并将其作为条件c输入到条件生成对抗网络的生成器和判别器中。条件生成对抗网络的生成器在接收到高斯噪声和条件c后,输出生成图像,接着将该生成图像、采集到的真实缺陷样本和条件c一同输入判别器中进行对抗训练,使得生成图像接近于真实缺陷样本。gram矩阵的公式如式(1)所示。

c、h、w分别对应输入图像的通道数、高度和宽度,o为正常样本,φ(o)为输入图像的特征图(featuremap),ψ表示c×h×w的矩阵,ψt为ψ的转置矩阵。

所述的vgg网络采用vgg16网络模型,vgg16网络由13个卷积层和relu激活层、3个全连接层叠加而成;生成器网络由卷积层conv、激活层leakyrelu和反卷积层deconv构成;判别器网络由卷积层conv和全连接层构成,用于输出二分类。

训练模型时,构造并利用损失函数与随即梯度下降算法(sgd算法)更新生成器和判别器网络参数,直至模型损失收敛。条件生成对抗网络参数利用下述损失函数进行训练:

m表示输入的正常样本,z表示生成器生成的图像,pdata(m)表示正常样本的分布,pz(z)表示生成器生成图像的分布,gφ(m)表示作为条件c的格拉姆矩阵,g表示生成器网络,d表示判别器网络,d(g(z|gφ(m))))表示将生成器生成图像和条件标签输入判别器后的输出结果。v(d,g)为右边公式的表达,表示在训练判别器时先最大化右边的公式v(d,g),在训练生成器时再最小化右边的公式v(d,g)。

条件生成对抗网络的训练过程如下所示:

(1)初始化生成器g和判别器d两个网络的参数;

(2)固定生成器g,使用生成器利用高斯噪声和条件c生成的n个样本与真实缺陷数据集中的n个样本来训练判别器d,使判别器能够尽可能地区分真假;实的缺陷样本集,还是来自生成器g生成图像,此时辨别的概率为0.5,训练完成。

步骤3、将步骤2中生成的缺陷样本加入到初始的缺陷样本数据集中,作为新的缺陷样本数据集使用。

步骤4、构造循环生成对抗网络生成器与判别器模型,用于缺陷检测与缺陷样本生成。

循环生成对抗网络模型由一般的对抗生成网络改进而来,由两个生成器(正向生成器和反向生成器)以及一个判别器组成,参考图3。

在训练阶段,将新的缺陷样本数据集输入正向生成器g1生成g1(x),将g1(x)与训练集中的正常样本一起输入判别器d中,通过优化损失函数(3)使得正向生成器g1学习到正常样本的分布;与此同时,将g1(x)输入到反向生成器g2中,通过优化损失函数(4),使得反向生成器g2学习到缺陷样本的分布,通过总损失函数(5)将生成器、判别器等每个模块使用的损失函数规整,更新网络参数,式(3)为判别器损失函数,式(4)为循环一致性损失函数,式(5)为总损失函数。

l(g1,g2,d)==lgan(gl,d,x,y)+lcyc(g1,g2)

(5)

其中,x表示正常样本,y表示缺陷样本,g1表示正向生成器,g2表示反向生成器,d表示判别器,pdata(y)表示正常图像的分布,pdata(x)表示缺陷图像的分布,g1(x)表示缺陷图像输入到生成器g1后的生成图像,g2(g1(x))表示将正向生成器的输出结果输入到反向生成器g2后的输出结果,d(y)表示将正常图像输入到判别器后的输出结果,d(g1(x))表示把生成器生成的结果输入到判别器后的输出结果。

在测试阶段,输入新的缺陷样本数据集到正向生成器g1中,保存输出的重构正常样本用于后续的缺陷检测;同时将重构正常样本输入到反向生成器g2中,保存输出的缺陷样本用于扩充缺陷样本数据集。

所述的生成器网络将采用unet网络结构,该网络的输入和输出尺寸是一致的,生成器网络包含4个conv卷积块结构来提取特征,每一个卷积块包含一个卷积层、一个leakyrelu激活层和归一化层,4个deconv反卷积层完成从特征向量中还原出图像的底层特征来得到生成图像,deconv1至deconv1反卷积层都对输入进行上采样、卷积、relu激活和归一化处理;deconv5层的结构包含了上采样层、卷积层和tanh激活层;所有卷积层使用的卷积核大小均为4*4,步长为2;上采样操作的尺寸大小均为2,参考图4。

上述判别器模型输入维度大小与生成器相同,判别器的作用是预测输入的图像是来自于真实正常样本还是生成的正常样本,该网络结构属于传统卷积神经网络,实现二分类的功能;conv1层包含卷积层和leakyrelu激活函数;conv2-conv5层均包含卷积层、leakyrelu激活层和归一化层;前五层卷积层使用的卷积核大小均为4*4,步长为2,padding为‘same’;conv6使用通道数channel为1、步长为1、卷积核大小为4*4的卷积层代替全连接层来对图像进行二分类,参考图5。

在步骤4的基础上,将扩充后的缺陷样本数据集与输入的原始正常样本做差分处理,即将扩充后的缺陷样本数据集和输入的原始正常样本数据集对应坐标的灰度值相减,得到残差图像。灰度值差分处理公式如式(6)所示:

δp(x,y)=|pt(x,y)-pg(x,y)|(6),

其中,x为横坐标,y为纵坐标,δp(x,y)为灰度值,pt为缺陷图像的灰度值,pg为正常图像的灰度值。

在残差图像上使用最大类间方差(otsu法)确定阈值th,具体公式如(7)所示:

g=w0*w1*(u0-u1)*(u0-u1)(7);

对于残差图像,将缺陷与背景的分割阈值记作t,w0为缺陷区域的像素点个数占残差图像总像素点的比例,w1为属于背景区域的像素点个数占残差图像总像素点的比例,u0为所有缺陷区域的平均像素值,u1为所有背景区域的平均像素值。采取遍历的方法,当类间方差g达到最大时,可认为此时缺陷分割的阈值t为最佳阈值th。

将残差图像中超过阈值th的像素点设置为1(异常区域),没有超过阈值的像素点设置为0(正常区域),以此来筛选出缺陷所在的地方。得到缺陷检测图像的公式如式(8)所示。

其中,b(x,y)为缺陷结果的灰度值。

本发明构建并训练条件生成对抗网络cgan,能够使用该网络进行缺陷样本扩充,解决了缺陷检测样本数据不足的问题,避免了过拟合现象的产生。传统的数据增强技术一般是对图像进行几何变换,这些方式能够改变目标特征的位置,在一定程度上能够提高样本的丰富性,但也存在丢失目标特征的风险。基于生成对抗网络生成图像的方法扩充数据集能够解决传统方法存在的不足,能够生成丰富多样且逼真的训练集样本。

此外,本发明构建并训练循环生成对抗网络cyclegan,在使用生成器对光纤端面进行缺陷检测的同时,也可以生成缺陷样本,目前常用的缺陷检测方法往往是有监督学习方法,这类方法需要对数据集一一打上标签,这是一件非常耗费人力、时间的事情,而本方法属于无监督学习方法,为缺陷检测提供一种全新的方法,不仅可以省去为图片标记的麻烦,同时可以大大提高缺陷检测的准确率。

以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则范围之内所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

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