一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

产品缺陷检测方法和装置与流程

2022-02-19 11:47:00 来源:中国专利 TAG:


1.本发明涉及缺陷检测技术领域,具体涉及一种产品缺陷检测方法和一种产品缺陷检测装置。


背景技术:

2.深度学习应用在手机表面缺陷检测的训练过程中,既要考虑到不同缺陷样本类别的不均衡性,同时也要考虑到模型的泛化能力。不同的手机项目一般需要构建新的检测模型,并重新进行训练,导致模型的泛化能力较弱,此外,不同的手机表面纹理、颜色都不一样,如何建立泛化能力较强的模型面临较大的挑战。


技术实现要素:

3.本发明为解决上述技术问题,提供了一种产品缺陷检测方法,能够保证样本数据的均衡性,从而能够防止可变形卷积缺陷检测模型的过度训练,此外,还能够增强可变形卷积缺陷检测模型的泛化能力和鲁棒性,进而能够提升可变形卷积缺陷检测模型的跨平台性能。
4.本发明采用的技术方案如下:一种产品缺陷检测方法,包括以下步骤:构建可变形卷积缺陷检测模型;获取待检测产品的图像数据;均衡处理所述图像数据以得到样本数据;根据所述样本数据训练所述可变形卷积缺陷检测模型;采用训练后所述可变形卷积缺陷检测模型对所述待检测产品进行缺陷检测。
5.根据本发明的一个实施例,所述可变形卷积缺陷检测模型包括第一检测模块、第二检测模块、第三检测模块和第四检测模块,所述第二检测模块分别与所述第一检测模块和所述第三检测模块相连,所述第二检测模块和所述第三检测模块通过roi align网络连接所述第四检测模块,其中,所述第一检测模块为残差网络,具体包括第一梯度、第二梯度、第三梯度和第四梯度,并且所述第一梯度、所述第二梯度、所述第三梯度和所述第四梯度均由层叠残差网络构成;所述第二检测模块为fpn(feature pyramid networks,特征金字塔)网络;所述第三检测模块为rpn(region propose network,区域提取网络)网络;所述第四检测模块为head网络。
6.根据本发明的一个实施例,所述层叠残差网络包括第一类层叠残差网络和第二类层叠残差网络,其中,所述第一类层叠残差网络包含dcl(deformable convolution layer,可变卷积层)网络,所述第二类层叠残差网络不包含dcl网络。
7.根据本发明的一个实施例,所述第一梯度包括三个所述第二类层叠残差网络;所述第二梯度包括四个所述第一类层叠残差网络;所述第三梯度包括六个所述第一类层叠残差网络;所述第四梯度包括三个所述第一类层叠残差网络。
8.根据本发明的一个实施例,所述待检测产品包括多个项目平台产品,所述图像数据包括所述多个项目平台产品的图像数据。
9.根据本发明的一个实施例,均衡处理所述图像数据以得到样本数据,具体包括以下步骤:采用cyclegan网络均衡处理所述图像数据以得到样本数据。
10.根据本发明的一个实施例,根据所述样本数据训练所述可变形卷积缺陷检测模型,具体包括以下步骤:对所述样本数据进行标注分配以得到训练集、验证集和测试集;对所述训练集在线数据增强操作,以得到待输入训练集;对所述测试集和所述验证集分别进行tta操作,以对应得到待输入测试集和待输入验证集;根据所述待输入训练集、所述待输入测试集和所述待输入验证集训练所述可变形卷积缺陷检测模型。
11.一种产品缺陷检测装置,包括:建模模块,所述建模模块用于构建可变形卷积缺陷检测模型;获取模块,所述获取模块用于获取待检测产品的图像数据;均衡处理模块,所述均衡处理模块用于均衡处理所述图像数据以得到样本数据;训练模块,所述训练模块用于根据所述样本数据训练所述可变形卷积缺陷检测模型;检测模块,所述检测模块用于采用训练后所述可变形卷积缺陷检测模型对所述待检测产品进行缺陷检测。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述实施例的产品缺陷检测方法。
13.一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现上述实施例的产品缺陷检测方法。
14.本发明的有益效果:本发明能够保证样本数据的均衡性,从而能够防止可变形卷积缺陷检测模型的过度训练,此外,还能够增强可变形卷积缺陷检测模型的泛化能力和鲁棒性,进而能够提升可变形卷积缺陷检测模型的跨平台性能。
附图说明
15.图1为本发明实施例的产品缺陷检测方法的流程图;图2为本发明一个实施例的可变形卷积缺陷检测模型的结构图;图3(a)为本发明一个实施例的第一类层叠残差网络的结构图;图3(b)为本发明一个实施例的第二类层叠残差网络的结构图;图3(c)为本发明一个实施例的cb、dcbr、cbr的结构图;图4为本发明一个实施例的第一检测模块的结构图;图5为本发明一个实施例的第三检测模块的结构图;图6(a)为本发明一个实施例的a项目平台产品图像数据迁移至b项目平台产品的过程图;图6(b)为本发明一个实施例的b项目平台产品图像数据迁移至a项目平台产品的过程图;图7为本发明一个实施例的cyclegan网络的生成器的结构图;图8为本发明一个实施例的cyclegan网络的判别器的结构图;图9(a)为本发明一个实施例的cyclegan网络 x

>y的示意图;图9(b)为本发明一个实施例的cyclegan网络 y

>x的示意图;图10为本发明实施例的产品缺陷检测装置的方框示意图。
具体实施方式
16.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
17.图1为本发明实施例的产品缺陷检测方法的流程图。
18.如图1所示,本发明实施例的产品缺陷检测方法,包括以下步骤:s1,构建可变形卷积缺陷检测模型。
19.在本发明的一个实施例中,如图2所示,可变形卷积缺陷检测模型可包括第一检测模块blocki、第二检测模块blockii、第三检测模块blockiii和第四检测模块blockiv,第二检测模块blockii分别与第一检测模块blocki和第三检测模块blockiii相连,第二检测模块blockii和第三检测模块blockiii通过roi align网络连接第四检测模块blockiv。
20.具体地,如图2所示,第一检测模块blocki可为残差网络,具体可包括第一梯度stage1、第二梯度stage2、第三梯度stage3和第四梯度stage4,并且第一梯度stage1、第二梯度stage2、第三梯度stage3和第四梯度stage4均由层叠残差网络构成;第二检测模块blockii可为fpn网络(feature pyramid networks,特征金字塔网络);第三检测模块blockiii可为rpn网络(region propose network,区域提取网络);第四检测模块blockiv可为head网络。
21.需要说明的是,层叠残差网络可包括第一类层叠残差网络和第二类层叠残差网络,其中,第一类层叠残差网络可包含dcl网络(deformable convolution layer,可变卷积层网络),具体如图3(a)所示;第二类层叠残差网络不包含dcl网络,具体如图3(b)所示。具体需要说明的是,第一类层叠残差网络,即包含dcl的层叠残差网络为包含dcbr的网络,例如包含3*3dcbr;第二类层叠残差网络,即不包含dcl的层叠残差网络为包含cbr的网络,例如包含3*3cbr,其中,如图3(c)所示,dcbr由dconv bn relu构成,并且该dconv为可变卷积,cbr由conv bn relu构成。此外,如图3(c)所示,第一类层叠残差网络和第二类层叠残差网络中的cb可由conv bn构成,其中,conv为卷积层,bn为batchnorm,即批标准化,relu为激活函数。
22.进一步结合图3(a)和图3(b)可知,第一类层叠残差网络和第二类层叠残差网络均包含四个映射通道,即x1

>y1、x2

>y2、x3

>y3、x4

>y4映射通道,并且由于dcbr或者cbr是层叠关系,故四个映射通道的映射关系如下:其中,i表示通道数,例如1、2、3、4,s表示最大映射通道数(此处为4),k
i
表示输入图像经过3*3dcbr或者3*3cbr输出映射关系。
23.进一步结合图3(b)可知,在x2

>y2、x3

>y3、x4

>y4映射通道中还分别设有一个3*3cbr网络,其中,x2

>y2映射通道中的3*3cbr网络的输出端还可连接至x3

>y3映射通道中
的3*3cbr网络的输入端,x3

>y3映射通道中的3*3cbr网络的输出端还可连接至x4

>y4映射通道中的3*3cbr网络的输入端。此外,如图3(b)所示,x1

>y1、x2

>y2、x3

>y3、x4

>y4映射通道的输入端与1*1cbr网络的输出端相连,并且在x1

>y1、x2

>y2、x3

>y3、x4

>y4映射通道的输出端还设有1*1cb网络,并且该1*1cb网络的输出端还与1*1cbr网络的输入端相连,此外,该1*1cb网络的输出端还连接relu网络。
24.进一步结合图3(a)和图3(b)可知,在第一类层叠残差网络中,可采用3*3dcbr网络替换第二类层叠残差网络中的3*3cbr网络。由此,能够适应不规则缺陷的模型训练,具体可通过动态调整dcl卷积核的大小以适应不同目标的几何变形缺陷的检测。此外,通过设置层叠残差网络,还能够在单一的基本单元中获取多样的特征感受野,并且通过该分块 再融合的方式有利于从上下文提取有效信息。
25.在本发明的一个实施例中,如图4所示,第一梯度stage1可包括三个第二类层叠残差网络;第二梯度stage2可包括四个第一类层叠残差网络;第三梯度stage3可包括六个第一类层叠残差网络;第四梯度stage4可包括三个第一类层叠残差网络。
26.进一步结合图2和图4可知,第一检测模块blocki还可包括maxpool网络和7*7cbr网络,其中,7*7cbr网络的一端用于接收输入数据,即连接input,7*7cbr网络的另一端与maxpool网络的一端相连,maxpool网络的另一端连接第一梯度stage1。其中,maxpool网络为最大池化网络。
27.在本发明的一个实施例中,如图2所示,第二检测模块blockii,即fpn网络可设有四个1*1conv,并且该四个1*1conv可分别与第一梯度stage1、第二梯度stage2、第三梯度stage3和第四梯度stage4一一对应连接,并且第四梯度stage4的输出经过1*1conv后可得到p5,第三梯度stage3的输出经过1*1conv并与p5融合后可得到p4,第二梯度stage2经过1*1conv并与p4融合后可得到p3,第一梯度stage1经过1*1conv并与p3融合后可得到p2。进一步地,如图2所示,上述步骤得到的p2、p3、p4、p5还可通过滑窗操作得到rpn/p2、rpn/p3、rpn/p4、rpn/p5、rpn/p6。
28.在本发明的一个实施例中,如图2所示,第三检测模块blockiii,即rpn网络可对rpn/p2、rpn/p3、rpn/p4、rpn/p5、rpn/p6逐层处理,进而可得到proposals(候选框)。
29.具体地,如图5所示,第三检测模块blockiii,即rpn网络可设有3*3conv,以及两个1*1conv,并且该3*3conv的输入端可用于接收rpn/p2、rpn/p3、rpn/p4、rpn/p5、rpn/p6,该3*3conv的输出端可分别与两个1*1conv的输入端相连,该两个1*1conv的输出端可输出得到proposals。
30.在本发明的一个实施例中,如图2所示,第四检测模块blockiv,即head网络可设有fcn(fully convolutional networks,全卷积网络)和双fc(fully connected layer,全连接层),并且fcn和双fc的输入端可通过roi align接收proposals,以及rpn/p2、rpn/p3、rpn/p4和rpn/p5,其中,fcn可输出mask(掩膜),双fc可输出class label(标注类别)和boundary box(定位框),其中,mask用于表示每个缺陷像素级别的分割,class label用于表示每个缺陷的类别归类,boundary box用于表示每个缺陷的位置。
31.s2,获取待检测产品的图像数据。
32.在本发明的一个实施例中,待检测产品可包括多个项目平台产品,例如可包括a项目平台产品、b项目平台产品和c项目平台产品,并且每个项目平台产品的基色不同,例如a
项目平台产品基色可为红色、b项目平台产品基色可为黑色、c项目平台产品基色可为白色;此外,a项目平台产品、b项目平台产品和c项目平台产品可共用一个生产线以及一个质检线,因此,在采用工业相机获取待检测产品的图像数据时,可得到a项目平台产品、b项目平台产品和c项目平台产品的图像数据。
33.s3,均衡处理图像数据以得到样本数据。
34.需要说明的是,上述步骤s2得到的a项目平台产品、b项目平台产品和c项目平台产品的图像数据,因每个项目平台产品数量不同,得到的图像数据量也是不同的,例如,若a项目平台产品数量最大、b项目平台产品数量次之和c项目平台产品数量最小,则可导致每个项目平台产品的图像数据不同,进而可导致每个项目平台产品缺陷样本不同,从而使得不同项目平台之间的缺陷样本失衡。
35.此外,还需要说明的是,上述步骤s2得到的a项目平台产品、b项目平台产品和c项目平台产品的图像数据,每个项目平台产品内部不同缺陷种类的缺陷样本也不同,例如,若a项目平台产品内部有7种缺陷类别,分别为缺陷种类1,缺陷种类2,缺陷种类3,缺陷种类4,缺陷种类5,缺陷种类6,缺陷种类7,并且该7种缺陷类别在a项目平台产品图像数据所占比例分别为40%,25%,15%,10%,5%,3%,2%,那么可见,不同类别的缺陷样本也处于失衡状态,若以此缺陷样本训练缺陷检测模块,则将导致过度学习缺陷种类1和缺陷种类2的特征,而缺陷种类5、缺陷种类6、缺陷种类7的特征学习较弱。
36.因此,可具体采用cyclegan网络均衡处理上述步骤s2获取的图像数据以得到样本数据,通过cyclegan网络可实现两个域之间的映射,而不是两个特定图像数据之间的映射,由此能够实现不同项目平台产品之间的映射,从而能够平衡各个项目平台产品的样本数据。更具体地,以缺陷种类3为例,可分别进行图6(a)和图6(b)所示的cyclegan网络均衡处理操作,例如可输入a项目平台产品的缺陷种类3,即input 3

a(输入数据3

a)、b项目平台产品的缺陷种类3,即input 3

b(输入数据3

b),以作为cyclegan网络的输入。
37.其中,如图6(a)所示,输入的a项目平台产品的缺陷种类3,即input 3

a可先通过生成器网络g,即a项目平台产品图像数据到b项目平台产品图像数据的生成器网络g,得到b项目平台产品的generated

b(样本数据b)。进一步地,如图6(a)所示,生成器网络g得到的b项目平台产品的generated

b还需要通过discriminator b(判别器b)来判别其是否符合b项目平台产品的样本数据标准,若符合,则decision(判别结果)为分数1,若不符合,则decision为分数0。
38.其中,如图6(b)所示,输入的b项目平台产品的缺陷种类3,即input 3

b可先通过生成器网络f,即b项目平台产品图像数据到a项目平台产品图像数据的生成器网络f,得到a项目平台产品的generated

a(样本数据a)。进一步地,如图3(b)所示,生成器网络f得到的a项目平台产品的generated

a还需要通过discriminator a(判别器a)来判别其是否符合a项目平台产品的样本数据标准,若符合,则decision为分数1,若不符合,则decision为分数0。
39.其中,需要说明的是,上述实施例采用的cyclegan网络包括的生成器的结构如图7所示,包括三个cbr(conv2d

batchnorm

relu)网络、九个residual block网络和两个ctbr(conv2d transpose

batchnorm

relu)网络,以及conv2d网络和tanh网络,其具体连接关系可参照图7;上述实施例采用的cyclegan网络包括的判别器的结构如图8所示,包括conv2d
网络,以及三个conv2d

instancenorm

leaky

relu网络,其具体连接关系可参照图8。其中,residual block为残差模块,conv2d transpose为转置卷积,conv2d为二维卷积,tanh为双曲函数,instancenorm为归一化层,leaky

relu为非线性激活函数。
40.进一步还需要说明的是,上述实施例采用的cyclegan网络还引入了对抗性损失和循环一致性损失,其中,对抗性损失为g(input 3

a)与generated

b之间的差异,或f(input 3

b)与generated

a之间的差异;循环一致性损失,即cycle

consistency loss具体为图9(a)和图9(b)所示,其中,图9(a)为前向循环一致性损失,对应的过程是x
‑‑
>g(x)
‑‑
>f(g(x))≈x,损失是f(g(x))

x;图9(b)为后向循环一致性损失,y
‑‑
>f(y)
‑‑
>g(f(y))≈y,损失是g(f(y))

y,更直接的理解为:对于x域中的每个图像x,在图像翻译周期中能将x带回到原始图像;对于y域中的每个图像y,在图像翻译周期中能将y带回到原始图像。此外,还需要说明的是,图6(a)和图6(b)生成的cycle3

a(循环数据3

a)和cycle3

b(循环数据3

b)可用于图9(a)所示的前向循环一致性损失的计算。
41.通过引入循环一致性损失能够有效避免生成器网络f和生成器网络g的训练过拟合,从而得到需要的样本数据。
42.此外还需要说明的是,对于输入的a项目平台产品的缺陷种类3,即input 3

a和输入的b项目平台产品的缺陷种类3,即input 3

b还可设置如表1所示的挑选原则:表1基于上述过程,可将a项目平台产品数据,迁移到b项目平台产品,从而可增加b项目平台产品数据,同样可进行其他项目平台产品之间的数据迁移,这里不在进行一一赘述;此外,同一项目平台产品之间,也可进行不同缺陷种类的数据的迁移,由此,能够改善样本数据的不均衡性。当然,对于a项目平台产品与c项目平台产品,或b项目平台产品与c项目平台产品之间也可进行数据迁移;此外,对于其它缺陷种类4~7也可进行数据迁移,具体步骤可参照上述实施例,这里不在进行一一赘述。
43.通过均衡处理图像数据,能够改善不同缺陷样本数据之间的不均衡现象,从而能够防止可变形卷积缺陷检测模型的过度训练,同时能够对不同项目平台产品之间的缺陷进行协同训练,从而能够增强可变形卷积缺陷检测模型的泛化能力和鲁棒性,进而能够提升可变形卷积缺陷检测模型的跨平台性能。
44.s4,根据样本数据训练可变形卷积缺陷检测模型。
45.具体地,可对样本数据进行标注分配以得到训练集、验证集和测试集,并可对训练集在线数据增强操作,以得到待输入训练集,以及可对测试集和验证集分别进行tta操作,以对应得到待输入测试集和待输入验证集,然后可根据待输入训练集、待输入测试集和待输入验证集训练可变形卷积缺陷检测模型。其中,可按照7:2:1的比例对样本数据进行标注分配,以得到70%训练集、20%验证集和10%测试集。
46.更具体地,可将样本数据标注并分配为具体的数据集格式,例如coco或者voc格式,然后可对训练集依次进行旋转、垂直翻转、水平镜像、改变亮度、中心裁剪、高斯噪声、随机擦除操作,以得到待输入训练集,其中,旋转、垂直翻转、水平镜像、改变亮度、中心裁剪、高斯噪声、随机擦除的发生概率均为0.5,旋转操作的旋转角度可设置为0~360度中间的随机值,改变亮度操作的factor,即因素可设置为0.5~1.5。由此,通过高斯噪声操作能够有效降低样本数据中的高频成分对模型训练的影响,通过随机擦除操作能够有效提升特征学习的全局能力,从而能够避免局部特征过度学习导致的过拟合问题。
47.此外,可对验证集和测试集分别进行tta(test

time augmentation,测试数据增强)操作,例如multi

scale(多尺度变换)和flip(翻转)操作,其中,multi

scale操作可调整验证集和测试集数据的短边大小(数据的长宽比是固定的),例如可将其调整至[300,400,500,600,700,800,900,1000,1100,1200],flip操作可包括left

flip(左向翻转)和right

flip(右向翻转),由此,可对每个输入的验证集和测试集数据进行增广变换,将一个输入变成多个输入,然后将其融合后输入训练完成的可变形卷积缺陷检测模型进行验证、测试。
[0048]
在本发明的一个具体实施例中,可采用待输入训练集对可变形卷积缺陷检测模型进行训练,并可将训练得到的可变形卷积缺陷检测模型在待输入验证集上计算mpa指标,mpa为计算每一类分类正确的像素点数和该类的所有像素点数的比例然后求平均,mpa公式为:其中,k为图像分割任务总缺陷类别数,表示将i类缺陷类别预测为i类,表示将i类缺陷类别预测为j类。如果mpa大于实际生产需要的值,则模型训练完成。
[0049]
s5,采用训练后可变形卷积缺陷检测模型对待检测产品进行缺陷检测。
[0050]
具体地,可将上述步骤得到的待输入测试集输入训练完成的可变形卷积缺陷检测模型,进而可得到对应测试集的mask(掩膜)、class label(标注类别)和boundary box(定位框),由此可实现待检测产品的缺陷检测。
[0051]
根据本发明实施例提出的产品缺陷检测方法,通过获取待检测产品的图像数据,并均衡处理图像数据以得到样本数据,根据样本数据训练可变形卷积缺陷检测模型,最后可根据训练后的可变形卷积缺陷检测模型对待检测产品进行缺陷检测,由此,能够保证样本数据的均衡性,从而能够防止可变形卷积缺陷检测模型的过度训练,此外,还能够增强可变形卷积缺陷检测模型的泛化能力和鲁棒性,进而能够提升可变形卷积缺陷检测模型的跨
平台性能。
[0052]
对应上述实施例,本发明还提出一种产品缺陷检测装置。
[0053]
如图10所示,本发明实施例的产品缺陷检测装置包括建模模块10、获取模块20、均衡处理模块30、训练模块40和检测模块50。其中,建模模块10用于构建可变形卷积缺陷检测模型;获取模块20用于获取待检测产品的图像数据;均衡处理模块30用于均衡处理图像数据以得到样本数据;训练模块40用于根据样本数据训练可变形卷积缺陷检测模型;检测模块50用于采用训练后可变形卷积缺陷检测模型对待检测产品进行缺陷检测。
[0054]
在本发明的一个实施例中,如图2所示,可变形卷积缺陷检测模型可包括第一检测模块blocki、第二检测模块blockii、第三检测模块blockiii和第四检测模块blockiv,第二检测模块blockii分别与第一检测模块blocki和第三检测模块blockiii相连,第二检测模块blockii和第三检测模块blockiii通过roi align网络连接第四检测模块blockiv。
[0055]
具体地,如图2所示,第一检测模块blocki可为残差网络,具体可包括第一梯度stage1、第二梯度stage2、第三梯度stage3和第四梯度stage4,并且第一梯度stage1、第二梯度stage2、第三梯度stage3和第四梯度stage4均由层叠残差网络构成;第二检测模块blockii可为fpn网络(feature pyramid networks,特征金字塔网络);第三检测模块blockiii可为rpn网络(region propose network,区域提取网络);第四检测模块blockiv可为head网络。
[0056]
需要说明的是,层叠残差网络可包括第一类层叠残差网络和第二类层叠残差网络,其中,第一类层叠残差网络可包含dcl网络(deformable convolution layer,可变卷积层网络),具体如图3(a)所示;第二类层叠残差网络不包含dcl网络,具体如图3(b)所示。具体需要说明的是,第一类层叠残差网络,即包含dcl的层叠残差网络为包含dcbr的网络,例如包含3*3dcbr;第二类层叠残差网络,即不包含dcl的层叠残差网络为包含cbr的网络,例如包含3*3cbr,其中,如图3(c)所示,dcbr由dconv bn relu构成,并且该dconv为可变卷积,cbr由conv bn relu构成。此外,如图3(c)所示,第一类层叠残差网络和第二类层叠残差网络中的cb可由conv bn构成。其中,conv为卷积层,bn为batchnorm,即批标准化,relu为激活函数。
[0057]
进一步结合图3(a)和图3(b)可知,第一类层叠残差网络和第二类层叠残差网络均包含四个映射通道,即x1

>y1、x2

>y2、x3

>y3、x4

>y4映射通道,并且由于dcbr或者cbr是层叠关系,故四个映射通道的映射关系如下:其中,i表示通道数,例如1、2、3、4,s表示最大映射通道数(此处为4),k
i
表示输入图像经过3*3dcbr或者3*3cbr输出映射关系。
[0058]
进一步结合图3(b)可知,在x2

>y2、x3

>y3、x4

>y4映射通道中还分别设有一个3*3cbr网络,其中,x2

>y2映射通道中的3*3cbr网络的输出端还可连接至x3

>y3映射通道中的3*3cbr网络的输入端,x3

>y3映射通道中的3*3cbr网络的输出端还可连接至x4

>y4映射
通道中的3*3cbr网络的输入端。此外,如图3(b)所示,x1

>y1、x2

>y2、x3

>y3、x4

>y4映射通道的输入端与1*1cbr网络的输出端相连,并且在x1

>y1、x2

>y2、x3

>y3、x4

>y4映射通道的输出端还设有1*1cb网络,并且该1*1cb网络的输出端还与1*1cbr网络的输入端相连,此外,该1*1cb网络的输出端还连接relu网络。
[0059]
进一步结合图3(a)和图3(b)可知,在第一类层叠残差网络中,可采用3*3dcbr网络替换第二类层叠残差网络中的3*3cbr网络。由此,能够适应不规则缺陷的模型训练,具体可通过动态调整dcl卷积核的大小以适应不同目标的几何变形缺陷的检测。此外,通过设置层叠残差网络,还能够在单一的基本单元中获取多样的特征感受野,并且通过该分块 再融合的方式有利于从上下文提取有效信息。
[0060]
在本发明的一个实施例中,如图4所示,第一梯度stage1可包括三个第二类层叠残差网络;第二梯度stage2可包括四个第一类层叠残差网络;第三梯度stage3可包括六个第一类层叠残差网络;第四梯度stage4可包括三个第一类层叠残差网络。
[0061]
进一步结合图2和图4可知,第一检测模块blocki还可包括maxpool网络和7*7cbr网络,其中,7*7cbr网络的一端用于接收输入数据,即连接input,7*7cbr网络的另一端与maxpool网络的一端相连,maxpool网络的另一端连接第一梯度stage1。其中,maxpool网络为最大池化网络。
[0062]
在本发明的一个实施例中,如图2所示,第二检测模块blockii,即fpn网络可设有四个1*1conv,并且该四个1*1conv可与第一梯度stage1、第二梯度stage2、第三梯度stage3和第四梯度stage4一一对应连接,并且第四梯度stage4的输出经过1*1conv后可得到p5,第三梯度stage3的输出经过1*1conv并与p5融合后可得到p4,第二梯度stage2经过1*1conv并与p4融合后可得到p3,第一梯度stage1经过1*1conv并与p3融合后可得到p2。进一步地,如图2所示,上述步骤得到的p2、p3、p4、p5还可通过滑窗操作得到rpn/p2、rpn/p3、rpn/p4、rpn/p5、rpn/p6。
[0063]
在本发明的一个实施例中,如图2所示,第三检测模块blockiii,即rpn网络可对rpn/p2、rpn/p3、rpn/p4、rpn/p5、rpn/p6逐层处理,进而可得到proposals(候选框)。
[0064]
具体地,如图5所示,第三检测模块blockiii,即rpn网络可设有3*3conv,以及两个1*1conv,并且该3*3conv的输入端可用于接收rpn/p2、rpn/p3、rpn/p4、rpn/p5、rpn/p6,该3*3conv的输出端可分别与两个1*1conv的输入端相连,该两个1*1conv的输出端可输出得到proposals。
[0065]
在本发明的一个实施例中,如图2所示,第四检测模块blockiv,即head网络可设有fcn和双fc,并且fcn和双fc的输入端可通过roi align接收proposals,以及rpn/p2、rpn/p3、rpn/p4和rpn/p5,其中,fcn可输出mask(掩膜),双fc可输出class label(标注类别)和boundary box(定位框),其中,mask用于表示每个缺陷像素级别的分割,class label用于表示每个缺陷的类别归类,boundary box用于表示每个缺陷的位置。
[0066]
在本发明的一个实施例中,待检测产品可包括多个项目平台产品,例如可包括a项目平台产品、b项目平台产品和c项目平台产品,并且每个项目平台产品的基色不同,例如a项目平台产品基色可为红色、b项目平台产品基色可为黑色、c项目平台产品基色可为白色;此外,a项目平台产品、b项目平台产品和c项目平台产品可共用一个生产线以及一个质检线,因此,在通过获取模块20,例如工业相机获取待检测产品的图像数据时,可得到a项目平
台产品、b项目平台产品和c项目平台产品的图像数据。
[0067]
需要说明的是,获取模块20得到的a项目平台产品、b项目平台产品和c项目平台产品的图像数据,因每个项目平台产品数量不同,得到的图像数据量也是不同的,例如,若a项目平台产品数量最大、b项目平台产品数量次之和c项目平台产品数量最小,则可导致每个项目平台产品的图像数据不同,进而可导致每个项目平台产品缺陷样本不同,从而使得不同项目平台之间的缺陷样本失衡。
[0068]
此外,还需要说明的是,获取模块20得到的a项目平台产品、b项目平台产品和c项目平台产品的图像数据,每个项目平台产品内部不同缺陷种类的缺陷样本也不同,例如,若a项目平台产品内部有7种缺陷类别,分别为缺陷种类1,缺陷种类2,缺陷种类3,缺陷种类4,缺陷种类5,缺陷种类6,缺陷种类7,并且该7种缺陷类别在a项目平台产品图像数据所占比例分别为40%,25%,15%,10%,5%,3%,2%,那么可见,不同类别的缺陷样本也处于失衡状态,若以此缺陷样本训练缺陷检测模块,则将导致过度学习缺陷种类1和缺陷种类2的特征,而缺陷种类5、缺陷种类6、缺陷种类7的特征学习较弱。
[0069]
因此,均衡处理模块30可具体采用cyclegan网络均衡处理上述步骤s2获取的图像数据以得到样本数据,通过cyclegan网络可实现两个域之间的映射,而不是两个特定图像数据之间的映射,由此能够实现不同项目平台产品之间的映射,从而能够平衡各个项目平台产品的样本数据。更具体地,以缺陷种类3为例,可分别进行图6(a)和图6(b)所示的cyclegan网络均衡处理操作,例如可输入a项目平台产品的缺陷种类3,即input 3

a(输入数据3

a)、b项目平台产品的缺陷种类3,即input 3

b(输入数据3

b),以作为cyclegan网络的输入。
[0070]
其中,如图6(a)所示,输入的a项目平台产品的缺陷种类3,即input 3

a可先通过生成器网络g,即a项目平台产品图像数据到b项目平台产品图像数据的生成器网络g,得到b项目平台产品的generated

b(样本数据b)。进一步地,如图6(a)所示,生成器网络g得到的b项目平台产品的generated

b还需要通过discriminator b(判别器b)来判别其是否符合b项目平台产品的样本数据标准,若符合,则decision(判别结果)为分数1,若不符合,则decision为分数0。
[0071]
其中,如图6(b)所示,输入的b项目平台产品的缺陷种类3,即input 3

b可先通过生成器网络f,即b项目平台产品图像数据到a项目平台产品图像数据的生成器网络f,得到a项目平台产品的generated

a(样本数据a)。进一步地,如图3(b)所示,生成器网络f得到的a项目平台产品的generated

a还需要通过discriminator a(判别器a)来判别其是否符合a项目平台产品的样本数据标准,若符合,则decision为分数1,若不符合,则decision为分数0。
[0072]
其中,需要说明的是,上述实施例采用的cyclegan网络包括的生成器的结构如图7所示,包括三个cbr(conv2d

batchnorm

relu)网络、九个residual block网络和两个ctbr(conv2d transpose

batchnorm

relu)网络,以及conv2d网络和tanh网络,其具体连接关系可参照图7;上述实施例采用的cyclegan网络包括的判别器的结构如图8所示,包括conv2d网络,以及三个conv2d

instancenorm

leaky

relu网络,其具体连接关系可参照图8。其中,residual block为残差模块,conv2d transpose为转置卷积,conv2d为二维卷积,tanh为双曲函数,instancenorm为归一化层,leaky

relu为非线性激活函数。
[0073]
进一步还需要说明的是,上述实施例采用的cyclegan网络还引入了对抗性损失和循环一致性损失,其中,对抗性损失为g(input 3

a)与generated

b之间的差异,或f(input 3

b)与generated

a之间的差异;循环一致性损失,即cycle

consistency loss具体为图9(a)和图9(b)所示,其中,图9(a)为前向循环一致性损失,对应的过程是x
‑‑
>g(x)
‑‑
>f(g(x))≈x,损失是f(g(x))

x;图9(b)为后向循环一致性损失,y
‑‑
>f(y)
‑‑
>g(f(y))≈y,损失是g(f(y))

y,更直接的理解为:对于x域中的每个图像x,在图像翻译周期中能将x带回到原始图像;对于y域中的每个图像y,在图像翻译周期中能将y带回到原始图像。此外,还需要说明的是,图6(a)和图6(b)生成的cycle3

a(循环数据3

a)和cycle3

b(循环数据3

b)可用于图9(a)所示的前向循环一致性损失的计算。
[0074]
通过引入循环一致性损失能够有效避免生成器网络f和生成器网络g的训练过拟合,从而得到需要的样本数据。
[0075]
此外还需要说明的是,对于输入的a项目平台产品的缺陷种类3,即input 3

a和输入的b项目平台产品的缺陷种类3,即input 3

b还可设置如表1所示的挑选原则:表1基于上述过程,可将a项目平台产品数据,迁移到b项目平台产品,从而可增加b项目平台产品数据,同样可进行其他项目平台产品之间的数据迁移,这里不在进行一一赘述;此外,同一项目平台产品之间,也可进行不同缺陷种类的数据的迁移,由此,能够改善样本数据的不均衡性。当然,对于a项目平台产品与c项目平台产品,或b项目平台产品与c项目平台产品之间也可进行数据迁移;此外,对于其它缺陷种类4~7也可进行数据迁移,具体步骤可参照上述实施例,这里不在进行一一赘述。
[0076]
通过均衡处理图像数据,能够改善不同缺陷样本数据之间的不均衡现象,从而能够防止可变形卷积缺陷检测模型的过度训练,同时能够对不同项目平台产品之间的缺陷进行协同训练,从而能够增强可变形卷积缺陷检测模型的泛化能力和鲁棒性,进而能够提升可变形卷积缺陷检测模型的跨平台性能。
[0077]
在本发明的一个实施例中,训练模块40可具体用于对样本数据进行标注分配以得
到训练集、验证集和测试集,并可对训练集在线数据增强操作,以得到待输入训练集,以及可对测试集和验证集分别进行tta操作,以对应得到待输入测试集和待输入验证集,然后可根据待输入训练集、待输入测试集和待输入验证集训练可变形卷积缺陷检测模型。其中,可按照7:2:1的比例对样本数据进行标注分配,以得到70%训练集、20%验证集和10%测试集。
[0078]
更具体地,可对样本数据进行标注分配以得到训练集、验证集和测试集,例如可将样本数据标注并分配为具体的数据集格式,例如coco或者voc格式,然后可对训练集依次进行旋转、垂直翻转、水平镜像、改变亮度、中心裁剪、高斯噪声、随机擦除操作,以得到待输入训练集,其中,旋转、垂直翻转、水平镜像、改变亮度、中心裁剪、高斯噪声、随机擦除的发生概率均为0.5,旋转操作的旋转角度可设置为0~360度中间的随机值,改变亮度操作的factor,即因素可设置为0.5~1.5。由此,通过高斯噪声操作能够有效降低样本数据中的高频成分对模型训练的影响,通过随机擦除操作能够有效提升特征学习的全局能力,从而能够避免局部特征过度学习导致的过拟合问题。
[0079]
此外,还可对验证集和测试集分别进行tta(test

time augmentation,测试数据增强)操作,例如multi

scale(多尺度变换)和flip(翻转)操作,其中,multi

scale操作可调整验证集和测试集数据的短边大小(数据的长宽比是固定的),例如可将其调整至[300,400,500,600,700,800,900,1000,1100,1200],flip操作可包括left

flip(左向翻转)和right

flip(右向翻转),由此,可对每个输入的验证集和测试集数据进行增广变换,将一个输入变成多个输入,然后将其融合后输入训练完成的可变形卷积缺陷检测模型进行验证、测试。
[0080]
在本发明的一个具体实施例中,训练模块40可具体采用待输入训练集对可变形卷积缺陷检测模型进行训练,并可将训练得到的可变形卷积缺陷检测模型在待输入验证集上计算mpa指标,mpa为计算每一类分类正确的像素点数和该类的所有像素点数的比例然后求平均,mpa公式为:其中,k为图像分割任务总缺陷类别数,表示将i类缺陷类别预测为i类,表示将i类缺陷类别预测为j类。如果mpa大于实际生产需要的值,则模型训练完成。
[0081]
在本发明的一个实施例中,检测模块50可具体用于将上述得到的待输入测试集输入训练完成的可变形卷积缺陷检测模型,进而可得到对应测试集的mask(掩膜)、class label(标注类别)和boundary box(定位框),由此可实现待检测产品的缺陷检测。
[0082]
根据本发明实施例提出的产品缺陷检测装置,通过获取模块获取待检测产品的图像数据,并通过均衡处理模块均衡处理图像数据以得到样本数据,通过训练模块根据样本数据训练可变形卷积缺陷检测模型,最后可通过检测模块采用训练后的可变形卷积缺陷检测模型对待检测产品进行缺陷检测,由此,能够保证样本数据的均衡性,从而能够防止可变形卷积缺陷检测模型的过度训练,此外,还能够增强可变形卷积缺陷检测模型的泛化能力和鲁棒性,进而能够提升可变形卷积缺陷检测模型的跨平台性能。
[0083]
对应上述实施例,本发明还提出一种计算机设备。
[0084]
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现上述实施例的产品缺陷检测方法。
[0085]
根据本发明实施例的计算机设备,能够保证样本数据的均衡性,从而能够防止可变形卷积缺陷检测模型的过度训练,此外,还能够增强可变形卷积缺陷检测模型的泛化能力和鲁棒性,进而能够提升可变形卷积缺陷检测模型的跨平台性能。
[0086]
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
[0087]
本发明实施例的非临时性计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例的产品缺陷检测方法。
[0088]
根据本发明实施例的非临时性计算机可读存储介质,能够保证样本数据的均衡性,从而能够防止可变形卷积缺陷检测模型的过度训练,此外,还能够增强可变形卷积缺陷检测模型的泛化能力和鲁棒性,进而能够提升可变形卷积缺陷检测模型的跨平台性能。
[0089]
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0090]
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0091]
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0092]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0093]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0094]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用
于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0095]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0096]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0097]
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0098]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献