本发明涉及工件缺陷检测领域,尤其涉及一种基于密集生成对抗神经网络的磁瓦表面缺陷检测方法。
背景技术:
工件缺陷检测是工业生产中保证产品质量一个重要的环节,磁瓦作为电机的重要组成部件,其表面缺陷会直接影响电机的性能和使用寿命。磁瓦缺陷种类繁多,包括裂缝、缺块、起皱、杂质等等,由于缺乏有效的磁瓦表面缺陷检测技术,目前磁瓦生产企业主要使用人工检测的方式对其进行质量检测。人工检测存在耗时长、错检率高、劳动力成本高等缺点,限制了磁瓦的生产效率。此外,现有的一些基于机器视觉的工件缺陷检测技术在面对磁瓦复杂多样的缺陷种类时也未能达到较高的准确率,无法投入使用。本发明使用一种基于密集生成对抗神经网络的目标检测方法对磁瓦表面缺陷进行检测,提高检测准确率,实现磁瓦检测过程的自动化。
技术实现要素:
本发明的目的在于针对现有技术的不足,提供一种基于密集生成对抗神经网络的磁瓦表面缺陷检测方法,解决磁瓦缺陷检测的低效性,实现检测过程智能化。
本发明的目的是通过以下技术方案来实现的:一种基于密集生成对抗神经网络的磁瓦表面缺陷检测方法,包括以下步骤:
(1)磁瓦图像预处理:将采集到的磁瓦图像制作成磁瓦原图和缺陷标记图。
(2)构造网络模型:构造密集生成对抗神经网络模型,该模型分为生成器和判别器两部分;生成器是一个全卷积密集神经网络,包括若干密集块和转移块,密集块用于特征提取,转移块在编码部分用于下采样,在解码部分用于上采样;判别器是一个下采样神经网络。
(3)训练网络模型:利用反向传播算法训练网络模型。
(4)检测待测图像:将待测图像的磁瓦原图输入到训练好的网络模型的生成器中进行前向计算,生成缺陷标记图。
(5)图像后处理:统计分析步骤(4)生成的缺陷标记图中的缺陷信息。
进一步地,所述步骤(1)中,磁瓦图像预处理包括以下子步骤:
对于采集到的磁瓦图像,利用磁瓦与背景的亮度差截取出磁瓦所在区域,生成磁瓦原图;
在磁瓦原图中手工标记出缺陷区域,缺陷区域用特定颜色进行标记,生成缺陷标记图;
将原图以及对应缺陷标记图左右拼接形成训练图像,训练图像经过归一化操作,使得每个像素点数值从[0,255]的整型数值调整为[-1.0,1.0]的浮点数值,构成训练集。
进一步地,所述步骤(2)中,所述密集生成对抗神经网络模型的生成器部分由编码部分和解码部分组成。
编码部分首先是一个数据输入(input),输入rgb图像。然后是第一个卷积层(firstconv),负责第一次提取图像特征,并将特征图通道数扩充为48个。接下来是5组密集块(denseblock,db)和下采样转移块(transitiondown,td)的组合。每一个密集块都由5个密集层(denselayer)构成,每个密集层的输入都是由前几层输出的所有特征图通道合并而成,每一个密集层又都由依次连接的批标准化层(bn)、激活层(relu)、卷积层(conv)和dropout层组成,密集块负责提取特征信息,改变特征图通道数。下采样转移块由依次连接的bn层、relu层、conv层、dropout层和最大池化层(maxpool)组成,其作用是进一步提取特征,并对特征图进行下采样,每个转移块都将输入特征图的尺寸减半。编码结束后进入一个瓶颈层(bottleneck),该层也是一个密集块,其作用是降低特征图数目。
解码部分由5组上采样转移块(transitionup,tu)和密集块(db)构成。每个上采样转移块都是一个转置卷积层(convtranspose2d),负责整合特征图信息,并对特征图进行上采样,尺寸加倍。解码部分的密集块与编码部分的密集块结构相同,区别是解码部分的第一个到第四个密集块输入与输出没有进行跨层连接,只有第五个密集块有跨层连接。解码部分接下来是最后一个卷积层(finalconv),对特征进行最后整合,将通道数降为3维。最后解码输出(output)部分是一个tanh函数,将特征图数值映射至[-1,1]之间,便于后续计算损失函数值。
此外,该全卷积密集神经网络在编码和解码对应位置处加入了跳跃连接,以达到将低层特征信息和高层特征信息融合的目的,帮助解码部分优化特征定位和细节信息处理。至此,整个生成器设计完成。
进一步地,所述步骤(2)中,所述密集生成对抗神经网络模型的判别器部分是一个下采样神经网络结构,总共有六层。第一层是图像数据输入层,第二层是conv和prelu组合层,第三到第五层都是conv、bn和prelu的组合层,最后一个输出层是conv层,输出一张特征图用于后续计算损失函数值。
进一步地,所述步骤(3)中,训练网络模型包括以下子步骤:
首先,网络模型初始化阶段,生成器部分由kaiming方法初始化网络参数,判别器部分由normal方法初始化网络参数;
然后,输入训练集图像,网络模型前向传播,计算模型每一层的输出;将输出与标签通过l1loss函数和mseloss函数计算损失函数值;利用损失函数值计算模型每一层的残差和参数梯度;利用梯度值、学习率和adam算法更新网络参数;
重复以上步骤,训练到损失函数值趋于平稳时停止训练,得到训练好的网络模型。
进一步地,所述步骤(5)中,图像后处理包括以下子步骤:统计生成器生成的缺陷标记图像中特定颜色像素点个数,根据事先设定的阈值判断其是否达到缺陷像素数目要求,进而判断原始磁瓦图像是否是缺陷磁瓦。
本发明的有益效果是:对于磁瓦丰富多样的缺陷特征,传统缺陷检测技术不能充分获取缺陷特征信息,且检测准确率较低。本发明所采用的基于密集生成对抗神经网络的磁瓦缺陷检测方法能够生成与原图对应的缺陷标记图,通过分析生成图中的缺陷标记信息可以得到缺陷的形状、尺寸、覆盖面积等多种信息,便于后续判断磁瓦工件的质量,提高检测准确率。此外,相较于人工检测磁瓦缺陷,本发明的方法检测速度更快,精度更高,同时大幅度节省人力成本。
附图说明
图1为训练集图像,(a)为磁瓦原图,(b)为缺陷标记图;
图2为密集生成对抗神经网络模型的生成器结构图;
图3为密集生成对抗神经网络模型生成器的密集块结构图;
图4为密集生成对抗神经网络模型的判别器结构图。
具体实施方式
以下结合附图对本发明的具体实施方式做进一步说明。
本发明提供的一种基于密集生成对抗神经网络的磁瓦表面缺陷检测方法,包括以下步骤:
(1)磁瓦图像预处理。对于采集到的磁瓦图像,利用磁瓦与背景的亮度差截取出磁瓦所在区域,生成磁瓦原图,如图1中(a)所示;在磁瓦原图中手工标记出缺陷区域,缺陷区域用与背景差别较大的特定颜色进行标记,如可以采用rgb数值(255,0,0)填充为红色,生成缺陷标记图,如图1中(b)所示,其中①为磁瓦及背景,②为特定颜色缺陷标记区域;将原图以及对应缺陷标记图左右拼接形成训练图像,训练图像经过归一化操作,使得每个像素点数值从[0,255]的整型数值调整为[-1.0,1.0]的浮点数值,便于后续模型训练。经过以上图像预处理操作,构成一组完备的训练集。
(2)构造网络模型。本发明所采用的网络模型为密集生成对抗神经网络模型,该模型由生成器和判别器两部分组成。如图2所示,生成器部分是一个全卷积密集神经网络结构,由编码部分和解码部分组成。
编码部分首先是一个数据输入(input),输入rgb图像。然后是第一个卷积层(firstconv),负责第一次提取图像特征,并将特征图通道数扩充为48个。接下来是5组密集块(denseblock,db)和下采样转移块(transitiondown,td)的组合。每一个密集块都由5个密集层(denselayer)构成,每个密集层的输入都是由前几层输出的所有特征图通道合并而成,其结构如图3所示,每一个密集层又都由依次连接的批标准化层(bn)、激活层(relu)、卷积层(conv)和dropout层组成,密集块负责提取特征信息,改变特征图通道数。下采样转移块由依次连接的bn层、relu层、conv层、dropout层和最大池化层(maxpool)组成,其作用是进一步提取特征,并对特征图进行下采样,每个转移块都将输入特征图的尺寸减半。编码结束后进入一个瓶颈层(bottleneck),该层也是一个密集块,其作用是将降低特征图数目,以防解码部分计算量过大。
解码部分由5组上采样转移块(transitionup,tu)和密集块(db)构成。每个上采样转移块都是一个转置卷积层(convtranspose2d),负责整合特征图信息,并对特征图进行上采样,尺寸加倍。解码部分的密集块与编码部分的密集块结构相同,区别是db6-9的密集块输入与输出没有进行跨层连接,只有db10有跨层连接,这是为了降低解码计算量。解码部分接下来是最后一个卷积层(finalconv),对特征进行最后整合,将通道数降为3维。最后解码输出(output)部分是一个tanh函数,将特征图数值映射至[-1,1]之间,便于后续用作损失函数的计算。
此外,该全卷积密集神经网络在编码和解码对应位置处加入了跳跃连接,以达到将低层特征信息和高层特征信息融合的目的,帮助解码部分优化特征定位和细节信息处理。至此,整个生成器设计完成。
判别器部分是一个简单的下采样神经网络结构,总共有六层,如图4所示。第一层是图像数据输入层,第二层是conv和prelu组合层,第三到第五层都是conv、bn和prelu的组合层,最后一个输出层是conv层,输出一张特征图用于后续计算损失函数值。
生成器的目的是根据输入的磁瓦原图生成带有红色标记的缺陷图像,判别器的目的是对输入的人工标记缺陷图像和生成器生成的标记图像判别真假,生成器和判别器两者对抗训练,构成了整个密集生成对抗神经网络模型。
(3)训练网络模型。本发明采用反向传播算法训练网络模型;首先,网络模型初始化阶段,生成器部分由kaiming方法初始化网络参数,判别器部分由normal方法初始化网络参数;然后,输入训练集图像,网络模型前向传播,计算模型每一层的输出;将输出与标签通过l1loss函数和mseloss函数计算损失函数值;利用损失函数值计算模型每一层的残差和参数梯度;利用梯度值、学习率和adam算法更新网络参数;重复以上步骤,训练到损失函数值趋于平稳时停止训练,得到训练好的网络模型。
(4)检测待测图像。将待测图像的磁瓦原图输入到训练好的网络模型的生成器中进行前向计算,生成带有红色标记的像素级缺陷图像,保存到硬盘中。
(5)图像后处理。统计生成器步骤(4)生成的缺陷标记图像中红色像素点个数,根据事先设定的阈值判断其是否达到缺陷像素数目要求,进而判断原始磁瓦图像是否是缺陷磁瓦,达到检测分析磁瓦缺陷的目的。
以上所述仅为本发明的优选实施方式,但本发明保护范围并不局限于此。任何本领域的技术人员在本发明公开的技术范围内,均可对其进行适当的改变或变化,而这种改变或变化都应涵盖在本发明的保护范围之内。