一种带有标签的多类型缺陷数据集生成方法和系统

文档序号:32780069发布日期:2022-12-31 14:42阅读:120来源:国知局
一种带有标签的多类型缺陷数据集生成方法和系统

1.本发明涉及深度学习缺陷检测技术领域,更具体地,涉及一种带有标签的多类型缺陷数据集生成方法和系统。


背景技术:

2.缺陷检测是生活中和工业上非常重要的一个应用,由于缺陷多种多样,传统的机器视觉算法很难做到对缺陷特征完整的建模和迁移,复用性不大,在进行检测时会浪费大量的人力成本;深度学习在特征提取和定位上取得了非常好的效果,但缺陷样本的获取在各类缺陷检测中都是困难的,目前缺陷检测领域的数据集极其有限,有瓷砖、布匹、pcb板等,这类的缺陷样本获取也需要耗费大量的人力物力,较少的缺陷样本数据集也难以满足一个深度卷积网络对大训练数据的需求;
3.缺陷数据集的获取通常是在非常有限的样本上用数据增强(翻转,旋转,裁剪,缩放,平移,抖动,仿射变换等)的方法来扩充数据集;在语义分割和目标检测数据集上,数据增强方法能在一定程度上丰富数据集,但是在缺陷数据集上,由于缺陷无固定形状和颜色,并且在固定的标签上,数据增强的方法在缺陷数据集上增强局限性非常强;数据增强能在一定程度上丰富数据,但它所生成的数据也保留了原有数据的一些特点,局限性较大;
4.目前的现有技术公开了一种缺陷检测方法、装置、设备及存储介质,现有技术中的方法包括:获取无缺陷图像和目标检测图像;根据预设缺陷样本生成模型对所述无缺陷图像进行缺陷生成,得到仿真缺陷样本;根据所述仿真缺陷样本对所述目标检测图像进行缺陷检测,得到缺陷检测结果;现有技术中的方法虽然能增大缺陷样本数量,利用数量增加后的缺陷样本对目标检测图像进行检测识别,但缺陷样本生成种类单一,数量较少,依旧无法满足广泛应用;另外,上述方法所生成的缺陷样本需要人工进行标注标签,费时费力。


技术实现要素:

5.本发明为克服上述现有技术多类型缺陷数据集获取困难的缺陷,提供一种带有标签的多类型缺陷数据集生成方法和系统,能够生成多种多样的缺陷样本,并直接生成对应的标签,省时省力。
6.为解决上述技术问题,本发明的技术方案如下:
7.一种带有标签的多类型缺陷数据集生成方法,包括以下步骤:
8.s1:获取无缺陷的初始图像;
9.s2:随机生成缺陷轮廓,获取不同类型的缺陷轮廓图像;
10.s3:将不同类型的缺陷轮廓图像与无缺陷的初始图像叠加,获取带有不同类型缺陷轮廓的初始图像;
11.s4:对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓区域内部进行像素填充,获得不同类型的缺陷图像;
12.s5:生成与不同类型的缺陷图像相对应的标签,将不同类型的缺陷图像及其对应
的标签保存为带有标签的多类型缺陷数据集。
13.优选地,所述步骤s2中,随机生成缺陷轮廓,获取不同类型的缺陷轮廓图像的具体方法为:
14.所述缺陷轮廓包括闭合曲线形缺陷轮廓,所述闭合曲线形缺陷轮廓的生成方法具体为:
15.s2.1.1:在极坐标系下随机生成若干缺陷轮廓基点,获取每个缺陷轮廓基点对应的极角;
16.s2.1.2:对每个缺陷轮廓基点随机生成相应的极半径;
17.s2.1.3:将极坐标系下的每个轮廓基点的极角和相应的极半径转换到直角坐标系中,获得每个轮廓基点直角坐标;
18.s2.1.4:根据每个轮廓基点直角坐标,利用预设函数进行曲线拟合,获取若干闭合曲线形缺陷轮廓图像。
19.优选地,所述步骤s2.1.3中,将极坐标系下的每个轮廓基点的极角和相应的极半径转换到直角坐标系中,获得每个轮廓基点直角坐标,具体方法为:
20.将极坐标系下的第i个轮廓基点的极角αi和极半径ri转换到直角坐标系,转换公式具体为:
21.xi=ri*cos(αi)
22.yi=ri*sin(αi)
23.其中,xi和yi分别为第i个轮廓基点直角坐标的横坐标和纵坐标。
24.优选地,所述步骤s2.1.4中,预设函数具体为interp1d()插值函数。
25.优选地,所述步骤s2中,随机生成缺陷轮廓,获取不同类型的缺陷轮廓图像的具体方法为:
26.所述缺陷轮廓还包括长形缺陷轮廓,所述长形缺陷轮廓的生成方法具体为:
27.s2.2.1:在极坐标下,在(0,π)范围内随机选取两个极角,两个极角的角度值之差小于预设角度阈值;
28.s2.2.2:将两个极角中任意一个极角与随机极角相加,另一个极角保持不变,获得第一极角和第二极角;
29.s2.2.3:分别对第一极角和第二极角随机生成对应的长形缺陷轮廓极半径;
30.s2.2.4:根据第一极角和第二极角及其对应的长形缺陷轮廓极半径获取长形缺陷轮廓;
31.s2.2.5:重复步骤s2.2.1-2.2.4,获取若干长形缺陷轮廓。
32.优选地,所述步骤s3中,将不同类型的缺陷轮廓图像与无缺陷的初始图像叠加,获取带有不同类型缺陷轮廓的初始图像,具体方法为:
33.s3.1:将无缺陷的初始图像转换为灰度图并获取初始图像长宽数据;
34.s3.2:利用第一检测函数检测所述灰度图的轮廓,获得灰度图轮廓点数据;
35.s3.3:利用第二检测函数检测所述灰度图轮廓点数据中的最小矩形框,获得矩形框左上角坐标和矩形框长宽数据;
36.s3.4:将矩形框左上角坐标添加随机值,获得叠加坐标,记为(x+x
add
,y+y
add
),其中x
add
和y
add
分别为矩形框左上角横坐标和纵坐标的随机值,所述随机值的大小小于初始图像
长宽数据的大小;将不同类型的缺陷轮廓图像的某一点与叠加坐标重合,获取带有不同类型缺陷轮廓的初始图像。
37.优选地,所述步骤s3中,所述第一检测函数为cv2.findcontours()函数,所述第二检测函数为cv2.boundingrect()函数。
38.优选地,所述步骤s4中,对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓区域内部进行像素填充,获得不同类型的缺陷图像,具体方法为:
39.根据叠加坐标和矩形框长宽数据对带有不同类型缺陷轮廓的初始图像进行部分扫描,判断包含叠加坐标的最小矩形框中灰度图轮廓点的数量;当灰度图轮廓点的数量大于1时,获取包含叠加坐标的最小矩形框中灰度图轮廓点的纵坐标最大值y
max
和最小值y
min
,对缺陷轮廓区域内部(x+x
add
,y+y
add
)和(y
min
,y
max
)范围内的像素进行随机填充,获得不同类型的缺陷图像。
40.优选地,所述步骤s5中,所述标签为yolo格式的标签;
41.生成与不同类型的缺陷图像相对应的标签的具体方法为:
42.s5.1:获取缺陷图像的类型数据;
43.s5.2:利用所述初始图像长宽数据,将所述叠加坐标和矩形框长宽数据进行归一化处理,获取归一化中心点坐标和归一化长宽数据;
44.s5.2:将所述缺陷类型数据、归一化中心点坐标和归一化长宽数据保存为长度为5的数组,生成与每种类型的缺陷图像相对应的标签。
45.本发明还提供一种带有标签的多类型缺陷数据集生成系统,应用上述所述的带有标签的多类型缺陷数据集生成方法,包括:
46.初始图像获取单元,用来获取无缺陷的初始图像;
47.缺陷轮廓生成单元,用来随机生成缺陷轮廓,获取不同类型的缺陷轮廓图像;
48.轮廓叠加单元,用来将不同类型的缺陷轮廓图像与无缺陷的初始图像叠加,获取带有不同类型缺陷轮廓的初始图像;
49.轮廓填充单元,用来对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓区域内部进行像素填充,获得不同类型的缺陷图像;
50.标签生成单元,用来生成与不同类型的缺陷图像相对应的标签,将不同类型的缺陷图像及其对应的标签保存为带有标签的多类型缺陷数据集。
51.与现有技术相比,本发明技术方案的有益效果是:
52.本发明提供一种带有标签的多类型缺陷数据集生成方法和系统,该方法通过获取无缺陷的初始图像,随机生成缺陷轮廓,获取不同类型的缺陷轮廓图像;将不同类型的缺陷轮廓图像与无缺陷的初始图像叠加,获取带有不同类型缺陷轮廓的初始图像;对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓内部区域进行像素填充,获得不同类型的缺陷图像;最后生成与不同类型的缺陷图像相对应的标签,将不同类型的缺陷图像及其对应的标签保存为带有标签的多类型缺陷数据集;
53.该发明能够生成多种多样的缺陷样本,能按照自己的需要来生成数据量,显著降低了缺陷数据集的获取难度;除此之外,该发明能直接生成缺陷图像对应的标签,对不同的检测模型都能生成对应的训练标签,不用人工标注,节省大量人力,提高了工作效率。
附图说明
54.图1为实施例1所提供的一种带有标签的多类型缺陷数据集生成方法流程图。
55.图2为实施例2所提供的闭合曲线形缺陷轮廓的生成方法流程图。
56.图3为实施例2所提供的生成与不同类型的缺陷图像相对应的yolo格式标签方法流程图。
57.图4为实施例2所生成的闭合曲线形缺陷轮廓图像。
58.图5为实施例2所生成的长形缺陷轮廓图像。
59.图6为实施例2所提供的普通缺陷图像。
60.图7为实施例2所提供的漏印缺陷图像。
61.图8为实施例3所提供的一种带有标签的多类型缺陷数据集生成系统结构图。
具体实施方式
62.附图仅用于示例性说明,不能理解为对本专利的限制;
63.为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
64.对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
65.下面结合附图和实施例对本发明的技术方案做进一步的说明。
66.实施例1
67.如图1所示,本实施例提供一种带有标签的多类型缺陷数据集生成方法,包括以下步骤:
68.s1:获取无缺陷的初始图像;
69.s2:随机生成缺陷轮廓,获取不同类型的缺陷轮廓图像;
70.s3:将不同类型的缺陷轮廓图像与无缺陷的初始图像叠加,获取带有不同类型缺陷轮廓的初始图像;
71.s4:对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓区域内部进行像素填充,获得不同类型的缺陷图像;
72.s5:生成与不同类型的缺陷图像相对应的标签,将不同类型的缺陷图像及其对应的标签保存为带有标签的多类型缺陷数据集。
73.在具体实施过程中,首先获取无缺陷的初始图像,之后随机生成缺陷轮廓,获取不同类型的缺陷轮廓图像;将不同类型的缺陷轮廓图像与无缺陷的初始图像叠加,获取带有不同类型缺陷轮廓的初始图像;对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓内部区域进行像素填充,获得不同类型的缺陷图像;最后生成与不同类型的缺陷图像相对应的标签,将不同类型的缺陷图像及其对应的标签保存为带有标签的多类型缺陷数据集;
74.该方法能够生成多种多样的缺陷样本,能按照自己的需要来生成数据量,显著降低了缺陷数据集的获取难度;除此之外,该方法能够直接生成缺陷图像对应的标签,对不同的检测模型都能生成对应的训练标签,不用人工标注,节省大量人力,提高了工作效率。
75.实施例2
76.本实施例提供一种带有标签的多类型缺陷数据集生成方法,包括以下步骤:
77.s1:获取无缺陷的初始图像;
78.s2:随机生成缺陷轮廓,获取不同类型的缺陷轮廓图像,所述缺陷轮廓包括闭合曲线形缺陷轮廓和长形缺陷轮廓;
79.如图2所示,所述闭合曲线形缺陷轮廓的生成方法具体为:
80.s2.1.1:在极坐标系下随机生成若干缺陷轮廓基点,获取每个缺陷轮廓基点对应的极角;
81.s2.1.2:对每个缺陷轮廓基点随机生成相应的极半径;
82.s2.1.3:将极坐标系下的每个轮廓基点的极角和相应的极半径转换到直角坐标系中,获得每个轮廓基点直角坐标;
83.将极坐标系下的第i个轮廓基点的极角αi和极半径ri转换到直角坐标系,转换公式具体为:
84.xi=ri*cos(αi)
85.yi=ri*sin(αi)
86.其中,xi和yi分别为第i个轮廓基点直角坐标的横坐标和纵坐标;
87.s2.1.4:根据每个轮廓基点直角坐标,利用interp1d()插值函数进行曲线拟合,获取若干闭合曲线形缺陷轮廓图像;
88.所述长形缺陷轮廓的生成方法具体为:
89.s2.2.1:在极坐标下,在(0,π)范围内随机选取两个极角,两个极角的角度值之差小于预设角度阈值;
90.s2.2.2:将两个极角中任意一个极角与随机极角相加,另一个极角保持不变,获得第一极角和第二极角;
91.s2.2.3:分别对第一极角和第二极角随机生成对应的长形缺陷轮廓极半径;
92.s2.2.4:根据第一极角和第二极角及其对应的长形缺陷轮廓极半径获取长形缺陷轮廓;
93.s2.2.5:重复步骤s2.2.1-2.2.4,获取若干长形缺陷轮廓;
94.s3:将不同类型的缺陷轮廓图像与无缺陷的初始图像叠加,获取带有不同类型缺陷轮廓的初始图像,具体方法为:
95.s3.1:将无缺陷的初始图像转换为灰度图并获取初始图像长宽数据;
96.s3.2:利用cv2.findcontours()函数检测所述灰度图的轮廓,获得灰度图轮廓点数据;
97.s3.3:利用cv2.boundingrect()函数检测所述灰度图轮廓点数据中的最小矩形框,获得矩形框左上角坐标和矩形框长宽数据;
98.s3.4:将矩形框左上角坐标添加随机值,获得叠加坐标,记为(x+x
add
,y+y
add
),其中x
add
和y
add
分别为矩形框左上角横坐标和纵坐标的随机值,所述随机值的大小小于初始图像长宽数据的大小;将不同类型的缺陷轮廓图像的某一点与叠加坐标重合,获取带有不同类型缺陷轮廓的初始图像;
99.s4:对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓区域内部进行像素填充,获得不同类型的缺陷图像,具体方法为:
100.根据叠加坐标和矩形框长宽数据对带有不同类型缺陷轮廓的初始图像进行部分
扫描,判断包含叠加坐标的最小矩形框中灰度图轮廓点的数量;当灰度图轮廓点的数量大于1时,获取包含叠加坐标的最小矩形框中灰度图轮廓点的纵坐标最大值y
max
和最小值y
min
,对缺陷轮廓区域内部(x+x
add
,y+y
add
)和(y
min
,y
max
)范围内的像素进行随机填充,获得不同类型的缺陷图像;
101.s5:如图3所示,生成与不同类型的缺陷图像相对应的yolo格式标签,具体方法为:
102.s5.1:获取缺陷图像的类型数据;
103.s5.2:利用所述初始图像长宽数据,将所述叠加坐标和矩形框长宽数据进行归一化处理,获取归一化中心点坐标和归一化长宽数据;
104.s5.2:将所述缺陷类型数据、归一化中心点坐标和归一化长宽数据保存为长度为5的数组,生成与每种类型的缺陷图像相对应的标签;
105.将不同类型的缺陷图像及其对应的标签保存为带有标签的多类型缺陷数据集。
106.在具体实施过程中,首先获取无缺陷的初始图像,之后随机生成缺陷轮廓,所述缺陷轮廓包括闭合曲线形缺陷轮廓和长形缺陷轮廓,获取不同类型的缺陷轮廓图像;
107.在本实施例中,对于闭合曲线形缺陷轮廓,首先在极坐标系下,在(0,2π)范围内均匀取值,获取缺陷轮廓基点;极半径的选取也非常重要,因为极半径一定程度上决定了所产生缺陷的大小和基本形状以及形状的多样性,在本实施例中,在[2,20]区间上随机取值,确定每个轮廓基点的极半径;将极坐标系下的每个轮廓基点的极角和相应的极半径转换到直角坐标系中,获得每个轮廓基点直角坐标;
[0108]
将极坐标系下的第i个轮廓基点的极角αi和极半径ri转换到直角坐标系,转换公式具体为:
[0109]
xi=ri*cos(αi)
[0110]
yi=ri*sin(αi)
[0111]
其中,xi和yi分别为第i个轮廓基点直角坐标的横坐标和纵坐标;
[0112]
根据每个轮廓基点直角坐标,利用interp1d()插值函数进行曲线拟合,获取若干闭合曲线形缺陷轮廓图像;
[0113]
对于如划痕类的长形缺陷轮廓,在本实施例中,首先在极坐标下,在(0,π)范围内随机选取两个极角,两个极角的角度值之差小于预设角度阈值,差值太大会影响长形缺陷轮廓的宽度,从而影响实际效果;之后将两个极角中任意一个极角与(0.9π,1.1π)范围内的随机极角相加,另一个极角保持不变,获得第一极角和第二极角;之后分别对第一极角和第二极角随机生成对应的长形缺陷轮廓极半径;根据第一极角和第二极角及其对应的长形缺陷轮廓极半径获取长形缺陷轮廓;重复上述步骤,获取若干长形缺陷轮廓;
[0114]
如图4和图5所示,图4为生成的闭合曲线形缺陷轮廓图像,图5为生成的长形缺陷轮廓图像,由图中的缺陷轮廓可以看出,根据本方法随机生成的缺陷轮廓图像均为闭合曲线,且种类和数量均较多,能够满足深度卷积网络对大训练数据的需求;
[0115]
之后将不同类型的缺陷轮廓图像与无缺陷的初始图像叠加,获取带有不同类型缺陷轮廓的初始图像;
[0116]
如图6和图7所示,对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓进行像素填充,获得不同类型的缺陷图像,在本实施例中,根据像素填充的内容不同,可以获得不同类型的缺陷图像,例如:对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓内部区域进行纯
色填充,便可获得普通的缺陷图像;对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓内部区域的像素改变为漏印所需要的像素,便可获得漏印缺陷图像,本方法能够实现漏印部分的随机和无规则,与真实的漏印更加接近;
[0117]
最后生成与不同类型的缺陷图像相对应的yolo格式标签,本实施例中提供的方法可以生成普通缺陷图像和漏印缺陷图像的yolo格式标签,最后将不同类型的缺陷图像及其对应的标签保存为带有标签的多类型缺陷数据集,用于训练目标检测和语义分割等神经网络模型;
[0118]
本方法可以自动生成带有标签的多类型缺陷数据集,可以根据自己的需要调整缺陷像素值的类型及形状,可以灵活运用到其它类型的缺陷生成上;
[0119]
该方法能够生成多种多样的缺陷样本,能按照自己的需要来生成数据量,显著降低了缺陷数据集的获取难度;除此之外,该方法能够直接生成缺陷图像对应的标签,对不同的检测模型都能生成对应的训练标签,不用人工标注,节省大量人力,提高了工作效率。
[0120]
实施例3
[0121]
如图8所示,本实施例提供一种带有标签的多类型缺陷数据集生成系统,应用实施例1或2所述的带有标签的多类型缺陷数据集生成方法,包括:
[0122]
初始图像获取单元301:用来获取无缺陷的初始图像;
[0123]
缺陷轮廓生成单元302:用来随机生成缺陷轮廓,获取不同类型的缺陷轮廓图像;
[0124]
轮廓叠加单元303:用来将不同类型的缺陷轮廓图像与无缺陷的初始图像叠加,获取带有不同类型缺陷轮廓的初始图像;
[0125]
轮廓填充单元304:用来对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓区域内部进行像素填充,获得不同类型的缺陷图像;
[0126]
标签生成单元305:用来生成与不同类型的缺陷图像相对应的标签,将不同类型的缺陷图像及其对应的标签保存为带有标签的多类型缺陷数据集。
[0127]
在具体实施过程中,首先初始图像获取单元301获取无缺陷的初始图像;之后缺陷轮廓生成单元302随机生成缺陷轮廓,获取不同类型的缺陷轮廓图像,所述缺陷轮廓包括闭合曲线形缺陷轮廓和长形缺陷轮廓;之后轮廓叠加单元303将不同类型的缺陷轮廓图像与无缺陷的初始图像叠加,获取带有不同类型缺陷轮廓的初始图像;之后轮廓填充单元304:用来对带有不同类型缺陷轮廓的初始图像中的缺陷轮廓区域内部进行像素填充,根据填充的像素不同,获得不同类型的缺陷图像;最后标签生成单元305生成与不同类型的缺陷图像相对应的标签,将不同类型的缺陷图像及其对应的标签保存为带有标签的多类型缺陷数据集;
[0128]
该系统能够生成多种多样的缺陷样本,能按照自己的需要来生成数据量,显著降低了缺陷数据集的获取难度;除此之外,该方法能够直接生成缺陷图像对应的标签,对不同的检测模型都能生成对应的训练标签,不用人工标注,节省大量人力,提高了工作效率。
[0129]
相同或相似的标号对应相同或相似的部件;
[0130]
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
[0131]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本
发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1