本发明属于机械设备部件缺陷检测,涉及一种工件表面缺陷检测方法、装置、设备及存储介质,具体涉及基于不同层次特征融合的残差神经网络的缺陷检测方法。
背景技术:
1、齿轮是机械设备的重要基础部件之一,齿轮部件的缺陷对其功能和寿命产生极大影响,可能导致齿轮的性能下降,影响机械设备后期运行安全。由于齿轮的图像数据容易采集,能够清楚直观地反应齿轮缺陷状态,因此基于图像样本的缺陷检测技术被广泛应用于齿轮缺陷检测领域。传统的齿轮缺陷检测方法基于人工目视检查,存在效率低、易出错等问题。在当今大数据时代,齿轮生产制造企业人需要对生产的大量齿轮进行有效、及时的分析,此时基于人工目视检查的方法难以高效处理缺陷检测。
2、随着计算机技术的不断发展,人工智能逐渐成为当今科技发展的热点。深度学习是人工智能中一个极其重要和新颖的研究发展方向,其在图像识别、智能医疗、数据挖掘等多个领域得到广泛使用。基于深度学习的检测技术在齿轮缺陷检测领域中也得以广泛应用,该技术使用卷积神经网络、残差神经网络等网络从图像样本中自动提取缺陷特征,在大量数据情况下对缺陷数据的复杂非线性特征方面提取效果更好,能够明显体现大数据集与齿轮状况之间的映射关系。目前,浅层卷积神经网络在面对大量复杂缺陷图像数据时检测精度较差。深度残差神经网络因其良好缺陷检测性能成为缺陷检测领域的常用方法之一,它能够有效避免网络加深引起的网络退化问题。
3、典型的残差神经网络具有几十层甚至上百层特征提取层,结构复杂参数量大,限制了其在齿轮缺陷检测方向的工业应用可能。
技术实现思路
1、为了解决上述问题,本发明提供了一种工件表面缺陷检测方法,构造了具有不同膨胀率卷积层的金字塔模块以简化模型结构、减少参数数量,结合残差模块构造特征提取器,在不同尺度上捕捉图像数据中的不同层次的特征,并将捕捉的不同层次特征进行融合,送入全局平均池化和全连接层,通过分类器对工件表面的缺陷进行识别,实现缺陷检测和分类。
2、为了实现上述目的,本发明提供如下技术方案:
3、一种工件表面缺陷检测方法,包括以下步骤:
4、获取多张具有缺陷的工件表面图像;
5、构建深度残差神经网络,所述深度残差神经网络包括特征提取模块、金字塔模块和分类器;所述特征提取模块由两个残差模块和一个逆残差模块组成,所述金字塔模块由三个不同膨胀率的空洞卷积层依次堆叠组成,所述分类器由全局平均池化和全连接层组成;
6、将多张所述工件表面图像输入所述深度残差神经网络,输出缺陷识别结果;
7、将所述工件表面图像输入深度残差神经网络,输出缺陷识别结果,具体包括步骤:
8、通过特征提取模块提取所述工件表面图像中的缺陷特征;
9、通过金字塔模块在不同尺度上捕捉图像中的不同层次的特征,并将捕捉的不同层次特征进行融合;
10、通过分类器根据融合结果对工件表面的缺陷进行识别。
11、优选地,将所述工件表面图像输入所述深度残差神经网络之前,将多张图像调整为同一尺寸。
12、优选地,所述金字塔模块由三个膨胀率分别为d=m+2、d=m+1、d=m的空洞卷积层组成,其中m为金字塔结构底端膨胀率,本发明中m为1;所述通过金字塔模块在不同尺度上捕捉图像中的不同层次的特征,并将捕捉的不同层次特征进行融合,具体步骤如下:
13、先由膨胀率为d=m+2的3×3空洞卷积层处理浅层特征,表达式如下所示:
14、yd1=fd=m+2(yo) (1)
15、式中yo是浅层特征,fd=m+2(·)代表膨胀率为m+2的3×3卷积核的卷积运算,yd1代表空洞卷积层的输出;
16、然后,使用膨胀率为d=m+1的3×3空洞卷积层处理中层特征,对输入特征进行线性映射,其表达式为:
17、yd2=fd=m+1(y1) (2)
18、式中y1是中层特征,fd=m+1(·)代表膨胀率为m+1的3×3卷积核的卷积运算,yd2代表空洞卷积层的输出;
19、最后,使用膨胀率为d=m的3×3空洞卷积层处理深层特征,对输入特征进行线性映射,其表达式为:
20、yd3=fd=m(y2) (3)
21、式中y2是深层特征,fd=m(·)代表膨胀率为m的3×3卷积核的卷积运算,yd3代表空洞卷积层的输出,并将三个不同的空洞卷积层处理后的特征进行融合,表达式如下所示:
22、ys=yd1+yd2+yd3 (4)
23、其中ys为融合后特征。
24、优选地,当卷积核的大小相同时,所述金字塔模块通过设置不同的膨胀率获得不同的感受野,从而获得多尺度的信息,具体为:设k为原始卷积核大小,d为膨胀率,k*为等效核大小:
25、k*=k+(k-1)×(d-1) (5)
26、rl+1*=rl+(k*-1)×sl (6)
27、其中,rl+1*是目前层的感受野,rl表示前一层的感受野,sl表示前面所有层步长的乘积。
28、优选地,所述特征提取模块首先使用7×7卷积核的卷积层作为输入卷积层所述输入卷积层用于对输入图像进行初始的卷积操作,以提取低级的特征信息,并将低级的特征信息传递给后续的网络层进行进一步的特征提取和学习;提取的低级特征信息由两个残差模块进一步处理,两个残差模块分别由一个1×1卷积核的卷积层、一个3×3卷积核的卷积层和一个1×1卷积核的卷积层依次叠加而成;该残差模块的输入首先通过批量归一化层和激活函数relu,然后进入卷积层,在特征提取模块的底层,使用逆瓶颈结构提取高级缺陷特征,该逆瓶颈结构由一个3×3卷积层和两个1×1卷积层组成。
29、优选地,所述通过分类器根据融合结果对工件表面的缺陷进行识别,具体包括:输入数据经过多个残差块处理,学习特征表示,全局平均池化对每个通道上的特征图进行平均操作,将其转换为一个固定长度的向量,全局平均池化操作将特征图中的每个位置的特征进行平均,使得网络能够对整个图像进行全局感知,全连接层接收全局平均池化操作得到的特征向量作为输入,并将其映射到不同类别,实现缺陷分类。
30、优选地,还包括对深度残差神经网络进行训练,训练样本和测试样本的构建方法为:在具有缺陷的工件表面图像上人为进行缺陷标定,得到工件缺陷图像,将工件缺陷图像划分为训练样本和测试样本,并将训练样本中中的缺陷图像调整为同一尺寸,作为图像样本。
31、优选地,所述对深度残差神经网络进行训练,训练过程包括:
32、通过一个7×7卷积核的输入卷积层、批量归一化层和relu激活函数对输入的图像样本数据进行前处理;输入卷积层对输入图像样本进行初始的卷积操作;在卷积操作后,将输出数据输入到批量归一化层中;批量归一化层对每个特征通道进行标准化,使得其均值接近于0,方差接近于1;在批量归一化层之后,应用relu激活函数;relu激活函数将所有负值设为零,并保持所有正值不变,前处理过程如公式(7)所示:
33、yi=max{h(f(x′)),0} (7)
34、其中x′表示输入数据,f(·)代表7×7卷积操作,h(·)表示批量归一化操作,relu激活函数公式为relu(·)=max{x,0},yi表示前处理后的输出特征;
35、由特征提取模块提取输入灰度图像的特征信息,包括:首先由特征提取模块的第一个残差模块提取浅层特征,此残差模块由1×1、3×3、1×1三个卷积叠加而成;计算过程如公式(8)所示:
36、yo=f1(f3(f1(max{h(yi),0}))) (8)
37、式中yi表示输入特征,h(·)表示批量归一化操作,relu激活函数公式为relu(·)=max{x,0},f1(·)代表1×1卷积层运算,f3(·)表示3×3卷积层运算,yo代表第一个残差模块的输出;
38、同样,第二个残差模块的运算与第一个模块的运算过程一样,第一个残差模块的输出作为第二个残差模块的输入,以提取中层特征信息,运算过程如下所示:
39、y1=f1(f3(f1(max{h(yo),0}))) (9)
40、式中yo表示输入特征,y1表示第二个残差模块的输出特征;
41、在特征提取模块使用逆残差模块提取深层特征,使用与残差模块不同的结构形状,结构组成依次由批量归一化、relu激活函数、3×3卷积层、1×1卷积层和1×1卷积层堆叠而成,计算过程如下所示:
42、y2=f1(f1(f3(max{h(y1),0}))) (10)
43、式中y1表示输入特征,y2表示逆残差模块的输出特征;
44、对所搭建的残差神经网络使用横向连接,使用膨胀率为d=m+2、d=m+1、d=m的三个不同卷积层组成所述金字塔模块;
45、使用平均池化进一步处理融合特征,其表达式为:
46、s=avg(ys) (11)
47、式中,avg(·)表示求平均操作,s表示全局平均池化的输出;并由全连接层进行对缺陷类型分类,输出检测结果,其表达式如下所示,
48、yl=f(∑wls) (12)
49、式中,s为输入特征,wl为中间层神经元的连接权重,f(·)表示全连接层的卷积运算,yl为输出结果,训练环节结束后根据所得交叉熵损失值进行反向传播,不断调整训练参数,其交叉熵计算损失值过程如下所示:
50、
51、式中,c代表状态类别数,其对应标签l=[0,1,…,c-1];β为随机n个状态对应的真实标签值;γ为预测值,是结果yl中上述n个随机状态对应的预测标签值,最终根据所得损失值不断进行反向传播,更新参数;
52、直至迭代至设定的最终迭代次数时,获得最小的损失值,得到最终输出工件表面缺陷检测结果。
53、本发明还提供一种工件表面缺陷检测装置,其特征在于,包括:
54、图像获取模块,用于获取多张具有缺陷的工件表面图像;
55、模型构建模块,用于构建深度残差神经网络,所述深度残差神经网络包括特征提取模块、金字塔模块和分类器;所述特征提取模块由两个残差模块和一个逆残差模块组成,所述金字塔模块由三个不同膨胀率的空洞卷积层依次堆叠组成,所述分类器由全局平均池化和全连接层组成;
56、缺陷识别模块,用于将多张所述工件表面图像输入所述深度残差神经网络,输出缺陷识别结果;
57、特征提取模块用于提取所述工件表面图像中的缺陷特征;
58、过金字塔模块用于在不同尺度上捕捉图像中的不同层次的特征,并将捕捉的不同层次特征进行融合;
59、所述通过分类器用于根据融合结果对工件表面的缺陷进行识别。
60、本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现所述工件表面缺陷检测方法中任一项所述的步骤。
61、本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,其特征在于,该计算机程序被处理器加载时,能够执行所述工件表面缺陷检测方法中任一项所述的步骤。
62、本发明提供的工件表面缺陷检测方法具有以下有益效果:
63、该方法采用两个普通的残差模块提取缺陷特征、网络深层使用一个逆残差模块进一步提取特征,防止信息的丢失。使用三个不同膨胀率的空洞卷积将三个不同的残差模块所提取特征进行多尺度融合送至全局平均池化和全连接层,实现缺陷检测和分类。
1.一种工件表面缺陷检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的工件表面缺陷检测方法,其特征在于,所述金字塔模块由三个膨胀率分别为d=m+2、d=m+1、d=m的空洞卷积层组成,其中m为金字塔结构底端膨胀率;所述通过金字塔模块在不同尺度上捕捉图像中的不同层次的特征,并将捕捉的不同层次特征进行融合,具体步骤如下:
3.根据权利要求2所述的工件表面缺陷检测方法,其特征在于,当卷积核的大小相同时,所述金字塔模块通过设置不同的膨胀率获得不同的感受野,从而获得多尺度的信息,具体为:设k为原始卷积核大小,d为膨胀率,k*为等效核大小:
4.根据权利要求3所述的工件表面缺陷检测方法,其特征在于,所述特征提取模块首先使用7×7卷积核的卷积层作为输入卷积层,所述输入卷积层用于对输入图像进行初始的卷积操作,以提取低级的特征信息,并将低级的特征信息传递给后续的网络层进行进一步的特征提取和学习;提取的低级特征信息由两个残差模块进一步处理,两个残差模块分别由一个1×1卷积核的卷积层、一个3×3卷积核的卷积层和一个1×1卷积核的卷积层依次叠加而成;该残差模块的输入首先通过批量归一化层和激活函数relu,然后进入卷积层,在特征提取模块的底层,使用逆瓶颈结构提取高级缺陷特征,该逆瓶颈结构由一个3×3卷积层和两个1×1卷积层组成。
5.根据权利要求4所述的工件表面缺陷检测方法,其特征在于,所述通过分类器根据融合结果对工件表面的缺陷进行识别,具体包括:输入数据经过多个残差块处理,学习特征表示,全局平均池化对每个通道上的特征图进行平均操作,将其转换为一个固定长度的向量,全局平均池化操作将特征图中的每个位置的特征进行平均,使得网络能够对整个图像进行全局感知,全连接层接收全局平均池化操作得到的特征向量作为输入,并将其映射到不同类别,实现缺陷分类。
6.根据权利要求1所述的工件表面缺陷检测方法,其特征在于,还包括对深度残差神经网络进行训练,训练样本和测试样本的构建方法为:在具有缺陷的工件表面图像上人为进行缺陷标定,得到工件缺陷图像,将工件缺陷图像划分为训练样本和测试样本,并将训练样本中中的缺陷图像调整为同一尺寸,作为图像样本。
7.根据权利要求6所述的工件表面缺陷检测方法,其特征在于,所述对深度残差神经网络进行训练,训练过程包括:
8.一种工件表面缺陷检测装置,其特征在于,包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1至7所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器加载时,能够执行权利要求1至7任一项所述方法的步骤。