产品缺陷检测方法、装置、设备及计算机可读存储介质与流程

文档序号:24821196发布日期:2021-04-27 14:42阅读:71来源:国知局
产品缺陷检测方法、装置、设备及计算机可读存储介质与流程

1.本发明涉及人工智能技术领域,尤其涉及一种产品缺陷检测方法、装置、设备及计算机可读存储介质。


背景技术:

2.产品在生成过程中,会因为价格工艺、设备、原材料等因素造成品质缺陷。为了保证产品的品质,在发货之前需要对产品表面进行缺陷检测。对于一些尺寸较小的产品,目前的缺陷检测方法有两种:一种是依靠人力使用显微镜观察产品,另一种是依靠传统计算机视觉进行检测。人工肉眼检测缺陷存在诸多问题,例如每日生产产品的数量巨大,在检验环节就需求大量人力,而且人工检验很大程度受到主观标准、劳累程度和情绪的制约,无法保证发货品质的一致性;而使用传统计算机视觉检测细微划痕、印痕等缺陷存在较大困难。
3.结合近年深度学习在计算机视觉领域的发展,深度卷积神经网络算法在表面缺陷检测得到广泛的应用。但是由于一些产品表面的毛纤杂质、划伤和边缘粘接不良等缺陷往往是方向各异,导致目前的神经网络算法对此类缺陷的检测准确率较低。


技术实现要素:

4.本发明的主要目的在于提供一种产品缺陷检测方法、装置、设备及计算机可读存储介质,旨在解决目前的神经网络算法对产品表面方向各异的细微缺陷检测准确率较低的技术问题。
5.为实现上述目的,本发明提供一种产品缺陷检测方法,所述方法包括以下步骤:
6.一种产品缺陷检测方法,其特征在于,所述方法包括以下步骤:
7.对目标产品的产品图像进行特征提取得到特征图;
8.对所述特征图中的各锚点生成第一预设尺寸、预设长宽比例和预设旋转角度的锚框;
9.对各所述锚框进行分类得到各所述锚框是否包含缺陷的检测结果。
10.可选地,所述对各所述锚框进行分类得到各所述锚框是否包含缺陷的检测结果的步骤之后,还包括:
11.根据所述检测结果对各所述锚框中包含缺陷的正锚框进行边界回归计算,得到各所述正锚框对应的预测偏移量,其中,所述预测偏移量包括预测角度偏移量;
12.根据所述正锚框和对应的预测偏移量生成所述产品图像中预测缺陷区域的区域位置。
13.可选地,所述根据所述正锚框和对应的预测偏移量生成所述产品图像中缺陷区域的区域位置的步骤之后,还包括:
14.对所述预测缺陷区域进行分类得到所述预测缺陷区域的缺陷类型。
15.可选地,所述根据所述正锚框和对应的预测偏移量生成所述产品图像中预测缺陷区域的区域位置的步骤之后,还包括:
16.计算所述正锚框相对于所述产品图像中预标注的真实缺陷区域的真实偏移量,其中,所述真实偏移量包括真实角度偏移量;
17.根据所述预测偏移量和所述真实偏移量计算损失函数,并根据所述损失函数更新所述边界回归计算中采用的回归参数。
18.可选地,所述对目标产品的产品图像进行特征提取得到特征图的步骤之前,还包括:
19.对所述目标产品的产品图像进行对称性检测,以确定所述所述目标产品是否属于轴对称产品;
20.若所述目标产品属于轴对称产品,则从0到180度之间选择所述预设旋转角度;
21.若所述目标产品不属于轴对称产品,则从0到360度之间选择所述预设旋转角度。
22.可选地,所述对各所述锚框进行分类得到各所述锚框是否包含缺陷的检测结果的步骤之前,还包括:
23.分别计算各所述锚框与所述产品图像的交并比;
24.所述对各所述锚框进行分类得到各所述锚框是否包含缺陷的检测结果的步骤包括:
25.对各所述锚框中对应的交并比大于预设值的目标锚框进行分类,得到所述目标锚框是否包含缺陷的检测结果。
26.可选地,所述对目标产品的产品图像进行特征提取得到特征图的步骤包括:
27.采集目标产品的初步图像,并定位所述初步图像中的产品区域;
28.对所述初步图像中除所述产品区域外的区域进行纯色填充得到产品图像;
29.将所述产品图像缩放至第二预设尺寸后进行特征提取得到特征图。
30.为实现上述目的,本发明还提供一种产品缺陷检测装置,所述装置包括:
31.提取模块,用于对目标产品的产品图像进行特征提取得到特征图;
32.生成模块,用于对所述特征图中的各锚点生成第一预设尺寸、预设长宽比例和预设旋转角度的锚框;
33.分类模块,用于对各所述锚框进行分类得到各所述锚框是否包含缺陷的检测结果。
34.为实现上述目的,本发明还提供一种产品缺陷检测设备,所述产品缺陷检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的产品缺陷检测程序,所述产品缺陷检测程序被所述处理器执行时实现如上所述的产品缺陷检测方法的步骤。
35.此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有产品缺陷检测程序,所述产品缺陷检测程序被处理器执行时实现如上所述的产品缺陷检测方法的步骤。
36.本发明中,通过对目标产品的产品图像进行特征提取得到特征图,对特征图中的各个锚点生成预设长宽比例、预设尺寸和预设旋转角度的锚框,对各个锚框进行分类得到各个锚框是否包含缺陷的检测结果,以实现对目标产品是否包含缺陷的检测。由于本发明相比于现有的锚框生成方式还增加了预设旋转角度,生成带有角度分量的锚框,从而能够更充分地定位到产品中方向各异的细微缺陷,从而提高了产品的缺陷检测准确率
附图说明
37.图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
38.图2为本发明产品缺陷检测方法第一实施例的流程示意图;
39.图3为本发明产品缺陷检测方法实施例涉及的一种锚框示意图;
40.图4为本发明产品缺陷检测方法实施例涉及的一种振膜图像缺陷检测流程示意图;
41.图5为本发明产品缺陷检测装置较佳实施例的功能模块示意图。
42.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
43.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
44.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
45.需要说明的是,本发明实施例产品缺陷检测设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制。
46.如图1所示,该产品缺陷检测设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi

fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non

volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
47.本领域技术人员可以理解,图1中示出的设备结构并不构成对产品缺陷检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
48.如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及产品缺陷检测程序。操作系统是管理和控制设备硬件和软件资源的程序,支持产品缺陷检测程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的产品缺陷检测程序,并执行以下操作:
49.对目标产品的产品图像进行特征提取得到特征图;
50.对所述特征图中的各锚点生成第一预设尺寸、预设长宽比例和预设旋转角度的锚框;
51.对各所述锚框进行分类得到各所述锚框是否包含缺陷的检测结果。
52.进一步地,所述对各所述锚框进行分类得到各所述锚框是否包含缺陷的检测结果的步骤之后,处理器1001还可以用于调用存储器1005中存储的产品缺陷检测程序,并执行以下操作:
53.根据所述检测结果对各所述锚框中包含缺陷的正锚框进行边界回归计算,得到各所述正锚框对应的预测偏移量,其中,所述预测偏移量包括预测角度偏移量;
54.根据所述正锚框和对应的预测偏移量生成所述产品图像中预测缺陷区域的区域位置。
55.进一步地,所述根据所述正锚框和对应的预测偏移量生成所述产品图像中缺陷区域的区域位置的步骤之后,处理器1001还可以用于调用存储器1005中存储的产品缺陷检测程序,并执行以下操作:
56.对所述预测缺陷区域进行分类得到所述预测缺陷区域的缺陷类型。
57.进一步地,所述根据所述正锚框和对应的预测偏移量生成所述产品图像中预测缺陷区域的区域位置的步骤之后,处理器1001还可以用于调用存储器1005中存储的产品缺陷检测程序,并执行以下操作:
58.计算所述正锚框相对于所述产品图像中预标注的真实缺陷区域的真实偏移量,其中,所述真实偏移量包括真实角度偏移量;
59.根据所述预测偏移量和所述真实偏移量计算损失函数,并根据所述损失函数更新所述边界回归计算中采用的回归参数。
60.进一步地,所述对目标产品的产品图像进行特征提取得到特征图的步骤之前,处理器1001还可以用于调用存储器1005中存储的产品缺陷检测程序,并执行以下操作:
61.对所述目标产品的产品图像进行对称性检测,以确定所述所述目标产品是否属于轴对称产品;
62.若所述目标产品属于轴对称产品,则从0到180度之间选择所述预设旋转角度;
63.若所述目标产品不属于轴对称产品,则从0到360度之间选择所述预设旋转角度。
64.进一步地,所述对各所述锚框进行分类得到各所述锚框是否包含缺陷的检测结果的步骤之前,处理器1001还可以用于调用存储器1005中存储的产品缺陷检测程序,并执行以下操作:
65.分别计算各所述锚框与所述产品图像的交并比;
66.所述对各所述锚框进行分类得到各所述锚框是否包含缺陷的检测结果的步骤包括:
67.对各所述锚框中对应的交并比大于预设值的目标锚框进行分类,得到所述目标锚框是否包含缺陷的检测结果。
68.进一步地,所述对目标产品的产品图像进行特征提取得到特征图的步骤包括:
69.采集目标产品的初步图像,并定位所述初步图像中的产品区域;
70.对所述初步图像中除所述产品区域外的区域进行纯色填充得到产品图像;
71.将所述产品图像缩放至第二预设尺寸后进行特征提取得到特征图。
72.基于上述的结构,提出产品缺陷检测方法的各个实施例。
73.参照图2,图2为本发明产品缺陷检测方法第一实施例的流程示意图。
74.本发明实施例提供了产品缺陷检测方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明产品缺陷检测方法各个实施例的执行主体可以是智能手机、个人计算机和服务器等设备,为便于描述,以下各实施例中省略执行主体进行阐述。在本实施例中,产品缺陷检测方法包括:
75.步骤s10,对目标产品的产品图像进行特征提取得到特征图;
76.在本实施例中,产品在生产过程中,可能会因为价格工艺、设备、原材料等因素造成产品表面的一些缺陷,故需要对产品表面的缺陷进行检测,对存在缺陷的产品进行修复
或排除,以保证产品的品质。本实施例中的产品可以是各种表面可能会存在缺陷的产品,例如耳机振膜、陶瓷制品等等。
77.可将需要检测缺陷的产品作为目标产品,并采用摄像机拍摄包含产品待检测区域的图像,也即产品图像。对该产品图像进行特征提取得到特征图(feature map)。其中,可采用常用的特征提取网络模型来进行特征提取操作,例如可采用mask rcnn或faster rcnn中的卷积层来进行特征提取,其中,mask rcnn和faster rcnn都是实例分割(instance segmentation)算法。具体地,可先将产品图像进行尺寸缩放或裁剪等预处理操作,以符合特征提取网络模型的输入数据的数据结构要求,将预处理后的图像输入到特征提取网络模型,经过模型中各个层的逐次处理,得到特征图。特征图一般是有多张,对各张特征图的处理步骤类似,故在以下各实施例中,或将以一张特征图进行举例说明。
78.进一步地,所述步骤s10包括:
79.步骤s101,采集目标产品的初步图像,并定位所述初步图像中的产品区域;
80.步骤s102,对所述初步图像中除所述产品区域外的区域进行纯色填充得到产品图像;
81.步骤s103,将所述产品图像缩放至第二预设尺寸后进行特征提取得到特征图。
82.在本实施例中,为避免拍摄的产品图像中背景部分对后续的缺陷检测造成干扰,可将摄像机拍摄的目标产品的图像作为初步图像。定位初步图像中的产品区域,对初步图像中除该产品区域外的区域进行纯色填充,所得的图像作为产品图像。其中,可采用visionpro(一种计算机式视觉软件)中的pmalign工具实现初步图像中产品区域的定位和抠图。纯色填充可以是填充黑色或白色等。在得到产品图像后,可将产品图像缩放至预设尺寸(以下称为第二预设尺寸以示区分),再对缩放后的图像进行特征提取得到特征图。其中,第二预设尺寸可以是预先根据需要进行设置的,具体可根据产品的尺寸进行设置,例如,对于耳机振膜,可以将第二预设尺寸设置为2048*2048。
83.在一实施方式中,可将摄像机设置于生产线的缺陷检测工位处,当产品被传输或被放置于该工位处时,由摄像机拍摄产品图像,检测设备与摄像机通过有线或无线方式通信连接,从摄像机获取产品图像,对产品图像进行实施或离线地缺陷检测。
84.步骤s20,对所述特征图中的各锚点生成第一预设尺寸、预设长宽比例和预设旋转角度的锚框;
85.在得到特征图后,可将特征图中的各个点作为锚点,对各个锚点分别生成预设尺寸(以下称为第一预设尺寸以示区分)、预设长宽比例和预设旋转角度的锚框(anchor)。其中,预设尺寸、预设长宽比例和预设旋转角度均可以预先根据需要进行设置,预设尺寸、预设长宽比例和预设旋转角度分别都可以设置多个,那么,将尺寸、比例和旋转角度三个参数排列组合得到多个参数组,对于一个锚点而言,分别根据每个参数组生成一个锚框,得到该锚点对应的多个锚框。
86.本实施例在设置旋转角度时可以采用如下方式:
87.为生成的每一个锚框设置对应的量化旋转步长;具体的,根据计算量和计算效率设置量化旋转步长,量化旋转步长的数值越大,分出的旋转区间越大,计算量越大,速度越慢、效率低。必须权衡计算量和计算效率以选取合适的量化旋转步长。
88.各个锚框对应的量化旋转步长可以相同,比如,在[0,π)的旋转区间内将旋转区间
平均分成4部分,即[0,kπ/4)(k=1,2,3,4)时,每一次旋转使用的量化旋转步长相同为π/4;或者,各个锚框对应的量化旋转步长也可以不相同,例如数值递增或递减;或者,先将锚框标记,相同标记的锚框采用的量化旋转步长,不同标记的锚框采用的量化旋转步长不同。
[0089]
具体地,对于一组参数组,可先按照参数组中的比例和尺寸生成一个参考方向的锚框,再将该锚框按照参数组中的旋转角度进行旋转,得到该参数组对应的锚框。例如,预设尺寸有2、4和8三个尺寸,预设长宽比例有长宽比1:3、1:5和1:7三个比例,预设旋转角度有0度、45度、90度和135度四个旋转角度,对于锚点a,以该锚点a作为锚框的中心点,生成3
×3×
4=36个锚框。如图3所示,在m*n尺寸的特征图中,以长宽比1:3、尺寸为2的锚框为例,一共生成0度、45度、90度和135度四个旋转角度的锚框。
[0090]
其中,锚框的生成方式可按照mask rcnn或faster rcnn中rpn(region proposal networks,区域建议网络)的锚框生成方法生成,相比于现有的rpn,增加了旋转角度,也即,将原本一定尺寸和一定比例的锚框,还按照一定的旋转角度进行旋转,从而得到带有方向分量的锚框。由于生成的各锚框是带有角度分量的锚框,不同旋转角度的锚框可以定位不同方向的缺陷,从而能够更加准确地识别各个方向的缺陷。对于细长型且方向复杂多变的缺陷,可通过设置长宽差异较大的比例和多个旋转角度,来生成多个方向的细长型锚框,对这些缺陷进行识别,以增加缺陷检测准确率。
[0091]
步骤s30,对各所述锚框进行分类得到各所述锚框是否包含缺陷的检测结果。
[0092]
在生成锚框后,对各个锚框进行分类得到各锚框是否包含缺陷的检测结果。具体地,可采用常规的二分类算法来对各个锚框进行分类,得到是否包含包括的检测结果,或可将各个锚框分别输入到二分类器中进行分类,该二分类器输出该锚框是否包含缺陷的检测结果。二分类器可采用常用的分类器来实现,例如softmax。在本实施例中,目标产品的产品图像可以是用于训练网络模型的训练样本,对于多个产品图像,可对产品图像中的缺陷区域进行人工或机器标注,得到产品图像中真实缺陷区域的区域位置;将这些产品图像按照上述步骤进行处理得到各个锚框的检测结果;根据真实缺陷区域的区域位置和锚框的位置,确定各个锚框是否包含缺陷的真实结果;根据检测结果和真实结果计算分类损失函数,根据分类损失函数按照反向传播的方法对分类器和特征提取操作中使用的特征提取网络中的各个参数进行训练,以不断减小检测结果与真实结果之间的差距,从而提高检测结果的准确度;训练完成后,对于需要检测的产品图像,再按照上述步骤处理得到各个锚框的检测结果。其中,分类损失函数可采用常用的二分类损失函数。
[0093]
在得到各个锚框的检测结果后,即可根据检测结果确定目标产品是否存在缺陷。具体地,若其中一个锚框的检测结果是包含缺陷,则可确定目标产品是存在缺陷的,若所有的锚框检测结果都是不存在缺陷,则可确定目标产品不存在确定。或者,当生产线上允许目标产品中存在少量缺陷时,可以设置一个阈值;当包含缺陷的锚框数量小于该阈值时,可确定目标产品不存在缺陷,将目标产品送往下一工位进行继续加工或打包;当包含缺陷的锚框数量不大于该阈值时,可确定目标产品缺陷,并可输出该锚框的位置,以供生产人员复核该锚框位置是否存在缺陷。
[0094]
在本实施例中,通过对目标产品的产品图像进行特征提取得到特征图,对特征图中的各个锚点生成预设长宽比例、预设尺寸和预设旋转角度的锚框,对各个锚框进行分类得到各个锚框是否包含缺陷的检测结果,以实现对目标产品是否包含缺陷的检测。由于本
实施例中相比于现有的锚框生成方式还增加了预设旋转角度,生成带有角度分量的锚框,从而能够更充分地定位到产品中方向各异的细微缺陷,从而提高了产品的缺陷检测准确率。
[0095]
进一步地,基于上述第一实施例,提出本发明产品缺陷检测方法的第二实施例,在本实施例中,所述步骤s30之后,还包括:
[0096]
步骤s40,根据所述检测结果对各所述锚框中包含缺陷的正锚框进行边界回归计算,得到各所述正锚框对应的预测偏移量,其中,所述预测偏移量包括预测角度偏移量;
[0097]
根据各个锚框的检测结果,将包含缺陷的锚框作为正锚框。在本实施例中,若存在正锚框,则可进一步地对正锚框进行边界回归计算,得到各正锚框对应的预测偏移量。其中,边界回归计算可以是采用rpn中的边界回归计算方法来实现,相比于rpn中对平移量和缩放尺度的回归预测,本实施例中,预测偏移量还包括预测角度偏移量,具体地,该预测角度偏移量可以是一个角度值,该角度值表示了正锚框与产品图像中真实缺陷区域之间的方向角度差值,当然该角度值只是一个预测值。预先可对通过对rpn进行训练,以使得边界回归计算得到的预测偏移量更接近于真实的偏移量。
[0098]
步骤s50,根据所述正锚框和对应的预测偏移量生成所述产品图像中预测缺陷区域的区域位置。
[0099]
在得到各个正锚框的预测角度偏移量后,可根据正锚框和对应的预测偏移量生成该产品图像中预测缺陷区域的区域位置。具体地,可将正锚框按照预测偏移量中的平移量进行平移,再按照预测偏移量中的缩放尺度进行缩放,再按照预测角度偏移量进行旋转,得到预测缺陷区域的区域位置。由于得到的区域位置是预测的结果,因此称为预测缺陷区域的区域位置。区域位置可以采用(x1,y1,x2,y2,α)来表示,其中,(x1,y1)是区域左上角顶点的坐标,(x2,y2)是区域右下角顶点的坐标,α是相对于参考方向的角度分量。
[0100]
在得到缺陷区域的区域位置后,可将区域位置输出,或者在产品图像中标记出该区域位置,并将经过标记的产品图像输出,以便于生产人员根据输出结果来对目标产品的缺陷进行分析。
[0101]
在本实施例中,在得到各个锚框的检测结果后,将包含缺陷的锚框作为正锚框,对正锚框进行边界回归计算,得到正锚框对应的预测偏移量,预测偏移量中包括预测角度偏移量,根据正锚框和预测角度偏移量得到预测缺陷区域的区域位置,实现了对目标产品中方向各异的缺陷区域的精确定位,使得生产人员能够获取到目标产品中缺陷区域的准确位置。
[0102]
进一步地,所述步骤s50之后,还包括:
[0103]
步骤s60,对所述预测缺陷区域进行分类得到所述预测缺陷区域的缺陷类型。
[0104]
在得到预测缺陷区域后,还可进一步地对预测缺陷区域进行分类,得到该缺陷区域的缺陷类型。具体地,产品可能存在不同类型的缺陷,例如毛纤杂质、划伤和边缘粘接不良等,因此,可以对预测缺陷区域进行进一步地分类,以确定该区域是属于哪一缺陷类型。分类可以采用mask rcnn或faster rcnn中的多分类网络来实现,在本实施例中不再详细赘述。
[0105]
在得到预测缺陷区域的缺陷类型后,可将缺陷类型和区域位置一并输出,或将缺陷类型也标注在产品图像中,将标记后的产品图像输出,以便于生产人员能够方便地获知
目标产品中的缺陷位置和缺陷类型。
[0106]
进一步地,还可以按照mask rcnn中的掩码分支,对预测缺陷区域进行实例分割,得到预测缺陷区域的掩码图,掩码图中各个点对应表示预测缺陷区域中的各个点是否是缺陷点,将掩码图直接输出或与目标产品的产品图像融合后输出,以使得生产人员能够方便地获知目标产品中缺陷的具体位置。
[0107]
进一步地,所述步骤s50之后,还包括:
[0108]
步骤s70,计算所述正锚框相对于所述产品图像中预标注的真实缺陷区域的真实偏移量,其中,所述真实偏移量包括真实角度偏移量;
[0109]
步骤s80,根据所述预测偏移量和所述真实偏移量计算损失函数,并根据所述损失函数更新所述边界回归计算中采用的回归参数。
[0110]
在一实施方式中,目标产品的产品图像可以是用于训练网络模型的训练样本。对于多个产品图像,可对产品图像中的缺陷区域进行人工或机器标注,得到产品图像中真实缺陷区域的区域位置;将这些产品图像按照上述步骤进行处理得到正锚框对应的预测偏移量后,可根据真实缺陷区域的区域位置,计算正锚框相对于真实缺陷框的真实偏移量,真实偏移量也同样包括真实角度偏移量;根据该预测偏移量和该真实偏移量计算损失函数(以下称为回归损失函数以示区分),根据回归损失函数按照反向传播的方法对边界回归计算中采用的回归参数和特征提取网络中的各个参数进行训练(更新),以不断减小预测偏移量和真实偏移量之间的差距,从而提高预测缺陷区域的检测准确率。进一步地,也可以将回归损失函数和分类损失函数作为一个总的损失函数来对网络中的各部分参数进行训练。网络训练过程可按照常规的机器学习模型训练方法来实现,在本实施例中不再详细赘述。
[0111]
其中,回归损失函数可采用rpn中边界回归计算常用的损失函数,例如smooth l1 loss,由于本实施例中锚框是带有角度分量的,预测偏移量也包括预测角度偏移量,因此损失函数中还包括对角度分量的预测损失。例如,回归损失函数l
reg
采用smooth l1 loss结合角度分量的预测损失,表示如下:
[0112][0113][0114]
其中,t是正锚框,t*是该正锚框对应的真实缺陷区域,(x1,y1)表示左上角顶点坐标,(x2,y2)表示右下角顶点坐标,α表示角度分量。
[0115]
在训练完成后,再按照上述步骤对需要检测的产品的产品图像进行检测,得到产品图像是否包含缺陷的检测结果,以及得到包含缺陷时缺陷区域的区域位置和缺陷类型。
[0116]
在本实施例中,通过设置锚框的预设旋转角度,生成带有角度分量的锚框,并在回归损失函数中加入角度分量的预测损失,使得网络训练过程中能够训练不同角度分量的锚框识别缺陷的能力,保持不同方向的缺陷特征的独立性,从而提升了识别产品表面方向各异的细微缺陷的准确率。
[0117]
在一实施方式中,以对振膜产品进行缺陷检测为例,如图4所示,首先使用工业相
机成像系统拍摄带有缺陷的振膜图像,再使用visionpro中的pmalign工具实现振膜图像的定位和抠图,将获取的图像去除掉除振膜产品以外的背景,抠掉的背景以纯黑色填充,避免背景部分对后续的缺陷检测造成干扰;然后使用resize函数统一将图像缩放成2048*2048大小,输入进入mask

rcnn网络,先经过网络中resnet101+fpn(残差网络+特征金字塔网络)进行特征提取得到特征图;再对特征图生成带有角度分量的anchors;将带有角度分量的anchors输入rpn网络;从rpn分出两支网络:rpn

class和rpn_bbox,其中rpn

class使用softmax分类判断anchors是否存在缺陷,rpn_bbox用于边界回归预测anchors的偏移量;计算分类损失和回归损失,通过反向传播算法更新网络中参数,以完成网络训练;将待检测的振膜图像输入训练完成网络中,得到振膜图像是否存在缺陷的检测结果,以及存在缺陷时缺陷区域的位置。
[0118]
进一步地,基于上述第一和/或第二实施例,提出本发明产品缺陷检测方法的第三实施例,在本实施例中,所述步骤s10之前,还包括:
[0119]
步骤a10,对所述目标产品的产品图像进行对称性检测,以确定所述所述目标产品是否属于轴对称产品;
[0120]
步骤a20,,若所述目标产品属于轴对称产品,则从0到180度之间选择所述预设旋转角度;
[0121]
步骤a30,若所述目标产品不属于轴对称产品,则从0到360度之间选择所述预设旋转角度。
[0122]
在本实施例中,可预先对目标产品的产品图像进行对称性检测,以确定目标产品是否属于轴对称产品。其中,对称性检测可以是将产品图像以一条或多条分割线进行切分得到两张图像,将其中一个图像以该分割线为轴进行翻转后,与另一张图像进行图像匹配得到一个相似度,若该相似度大于一定的阈值,例如大于99%,则确定该目标产品是轴对称产品。或者,在其他实施方式中,也可以是采用其他方式来进行对称性检测。
[0123]
若目标产品属于轴对称产品,则可以从0到180度之间选择预设旋转角度。具体地,可将0到180度这一区间等分或非等分地划分为多个区间,以每个区间的前端点作为预设旋转角度。例如,等分为4个区间,得到[0,45)、[45,90)、[90,135)和[135,180)4个区间,将这4个区间的前端点0、45、90和135作为预设旋转角度。其中,区间数量可以是预先根据需要进行设置,也即选取一个量化旋转步长;当对缺陷检测准确率要求更高时,区间数量可设置得较多,也即量化旋转步长较小,从而生成方向间隔更紧凑的锚框,定位更多的方向;但区间数量设置得越多缺陷检测过程中的计算量越大,计算速度越慢,因此,可以根据计算量和准确率的需求,设置一个居中的区间数量。
[0124]
若目标产品不属于轴对称产品,则可以从0到360度之间选择预设旋转角度。具体地,同样可将0到360度这一区间划分为多个区间,以每个区间的前端点作为预设旋转角度。区间数量也可以是预先设置。
[0125]
在本实施例中,通过对产品图像进行对称性分析,针对轴对称产品从0到180度之间选择旋转角度,针对非轴对称产品从0到360度之间选择旋转角度,以使得锚框旋转角度可以根据产品形态进行设置,以使得锚框可以覆盖产品不同方向的缺陷。
[0126]
进一步地,所述步骤s30之前,还包括:
[0127]
步骤a40,分别计算各所述锚框与所述产品图像的交并比;
[0128]
在本实施例中,在生成各个锚框后,可以分别计算各个锚框与产品图像的交并比,得到各个锚框对应的交并比。其中,交并比计算方法即计算锚框与产品图像的重叠区域的面积,再除以锚框和产品图像的合并区域的面积。
[0129]
所述步骤s30包括:
[0130]
步骤s301,对各所述锚框中对应的交并比大于预设值的目标锚框进行分类,得到所述目标锚框是否包含缺陷的检测结果。
[0131]
将各个锚框中对应的交并比大于预设值的锚框作为目标锚框,对目标锚框进行分类,得到目标锚框是否包含缺陷的检测结果。其中,预设值可以根据需要进行设置,例如0.7。也即,在本实施例中,并不是对所有的锚框进行分类,而是只对与产品图像重叠区域较多的锚框进行分类。与产品图像交并比较小的锚框一般处于产品图像的边缘区域,这一类锚框往往难以学习到产品缺陷特征,故可将这类锚框进行剔除,以在不影响产品缺陷检测的基础上对减小计算量,提高检测效率。
[0132]
此外,此外本发明实施例还提出一种产品缺陷检测装置,参照图4,所述装置包括:
[0133]
提取模块10,用于对目标产品的产品图像进行特征提取得到特征图;
[0134]
生成模块20,用于对所述特征图中的各锚点生成第一预设尺寸、预设长宽比例和预设旋转角度的锚框;
[0135]
分类模块30,用于对各所述锚框进行分类得到各所述锚框是否包含缺陷的检测结果。
[0136]
进一步地,所述装置还包括:
[0137]
回归模块,用于根据所述检测结果对各所述锚框中包含缺陷的正锚框进行边界回归计算,得到各所述正锚框对应的预测偏移量,其中,所述预测偏移量包括预测角度偏移量;
[0138]
位置生成模块,用于根据所述正锚框和对应的预测偏移量生成所述产品图像中预测缺陷区域的区域位置。
[0139]
进一步地,所述装置还包括:
[0140]
缺陷分类模块,用于对所述预测缺陷区域进行分类得到所述预测缺陷区域的缺陷类型。
[0141]
进一步地,所述装置还包括:
[0142]
第一计算模块,用于计算所述正锚框相对于所述产品图像中预标注的真实缺陷区域的真实偏移量,其中,所述真实偏移量包括真实角度偏移量;
[0143]
更新模块,用于根据所述预测偏移量和所述真实偏移量计算损失函数,并根据所述损失函数更新所述边界回归计算中采用的回归参数。
[0144]
进一步地,所述装置还包括:
[0145]
检测模块,用于对所述目标产品的产品图像进行对称性检测,以确定所述所述目标产品是否属于轴对称产品;
[0146]
第一选择模块,用于若所述目标产品属于轴对称产品,则从0到180度之间选择所述预设旋转角度;
[0147]
第二选择模块,用于若所述目标产品不属于轴对称产品,则从0到360度之间选择所述预设旋转角度。
[0148]
进一步地,所述装置还包括:
[0149]
第二计算模块,用于分别计算各所述锚框与所述产品图像的交并比;
[0150]
所述分类模块30还用于:
[0151]
对各所述锚框中对应的交并比大于预设值的目标锚框进行分类,得到所述目标锚框是否包含缺陷的检测结果。
[0152]
进一步地,所述提取模块10包括:
[0153]
定位单元,用于采集目标产品的初步图像,并定位所述初步图像中的产品区域;
[0154]
填充单元,用于对所述初步图像中除所述产品区域外的区域进行纯色填充得到产品图像;
[0155]
提取单元,用于将所述产品图像缩放至第二预设尺寸后进行特征提取得到特征图。
[0156]
本发明产品缺陷检测装置的具体实施方式的拓展内容与上述产品缺陷检测方法各实施例基本相同,在此不做赘述。
[0157]
此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有产品缺陷检测程序,所述产品缺陷检测程序被处理器执行时实现如下所述的产品缺陷检测方法的步骤。
[0158]
本发明产品缺陷检测设备和计算机可读存储介质的各实施例,均可参照本发明产品缺陷检测方法各个实施例,此处不再赘述。
[0159]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0160]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0161]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0162]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1