一种用于深度学习任务的缺陷生成方法与流程

文档序号:33369001发布日期:2023-03-08 01:33阅读:99来源:国知局
一种用于深度学习任务的缺陷生成方法与流程

1.本技术涉及缺陷检测领域,尤其涉及一种用于深度学习任务的缺陷生成方法。


背景技术:

2.在缺陷检测领域中,深度学习作为一种常用的方法,被用于解决复杂产品缺陷检测任务。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字、图像和声音等数据的解释有很大的帮助。深度学习模型训练需要经过在训练集上进行训练、在验证集上进行验证、模型可以保存最优的权重,并读取权重、记录下训练集和验证集的精度,便于调参等步骤。
3.实际生产中可以训练的缺陷样本非常少,正常样本较多,导致缺陷样本和正常样本的数量不均衡,通常使用扩大数据集、进行数据集重新采样或者人工产生数据样本,但扩大数据集增加了大量的样本数据,导致工作量增多,数据集重新采样和人工产生数据样本,使人力物力增大。
4.深度学习训练还需要足够多的样本来保证检测效果,所以目前深度学习训练非常困难,导致缺陷检测效果较差。


技术实现要素:

5.本技术提供一种用于深度学习任务的缺陷生成方法,以解决深度学习训练非常困难,导致缺陷检测效果较差的问题。
6.本技术一种用于深度学习任务的缺陷生成方法,包括:
7.根据缺陷样本,获取缺陷图像,所述缺陷图像为缺陷样本内部包含缺陷的矩形区域;
8.根据预设数量的缺陷样本对应的所述缺陷图像,构建缺陷样本库;
9.在所述缺陷样本库中提取至少一个缺陷图像作为目标图像;
10.根据深度学习任务类型和变换条件将所述目标图像,注入预设的所述背景图像中,生成变换后的图像;
11.根据所述变换后的图像,生成对应任务图像和标注文件。
12.可选的,根据缺陷样本,获取缺陷图像的步骤包括:
13.在所述缺陷样本中生成局部区域小图,所述局部区域小图为矩形区域,且矩形区域中包含缺陷;
14.在所述局部区域小图上绘制缺陷外轮廓,生成大小相同的缺陷图像以及掩模图像;
15.根据所述缺陷图像外轮廓,生成所述缺陷外轮廓的最小外接矩形;
16.对所述最小外接矩形四周外扩,将外扩后的矩形区域作为缺陷图像。
17.可选的,对所述最小外接矩形四周外扩时,外扩像素长度为3px-5px。
18.可选的,所述变换条件包括:水平镜像变换、垂直镜像变换、特殊角度旋转变换、仿
射变换、亮度变换、对比度变换、模糊变换、噪声变换、锐化变换,每个所述变换条件包含一个幅度和一个概率。
19.可选的,生成对应任务图像和标注文件的步骤之前,所述方法还包括:根据变换后的图像,判断是否需要进行添加其他变换,若是,则根据添加的变换条件重新生成变换后的图像;若否,则生成对应任务图像和标注文件。
20.可选的,生成对应任务图像和标注文件的步骤包括:
21.根据所述背景图像的对应任务,采取不同的标注文件生成方式;
22.配置所述背景图像的变换条件以及所述目标图像的变换条件,生成对应任务图像和标注文件。
23.可选的,根据所述变换后的图像,生成对应任务图像和标注文件,包括:
24.根据所述背景图像,生成对应的辅助图像;
25.根据所述变换条件对所述背景图像进行变换,生成变换后的背景图像;
26.根据所述背景图像的宽、高以及所述缺陷图像的宽、高,随机生成一个注入位置;
27.根据所述位置,生成辅助图像子区域以及背景图像子区域;
28.判断所述辅助图像子区域中是否存在所述目标图像;
29.若存在所述目标图像,则重新根据所述背景图像的宽、高以及所述缺陷图像的宽、高,随机生成一个注入位置;
30.若不存在所述目标图像,则根据所述变换条件,对所述缺陷图像以及所述掩模图像进行同等变换;
31.将所述缺陷图像融合到所述背景图像的子区域中;
32.将所述缺陷图像对应的掩模图像融合到辅助图像的子区域中,生成辅助图像。
33.可选的,对于不同的所述深度学习任务类型判断是否生成标注文件:
34.若所述深度学习任务类型为分类任务,则不生成标注文件;
35.若所述深度学习任务类型为分割任务,则保存所述辅助图像作为标注文件;
36.若所述深度学习任务类型为检测任务,则对所述辅助图像执行轮廓分析,获取每个轮廓的最小外接矩形作为标注框,同时生成对应的json文件或xml的标注文件。
37.可选的,将所述缺陷图像融合到所述背景图像的子区域中,对掩模图像进行腐蚀后,使用泊松函数进行融合。泊松融合是将一个目标图像放进背景图像中,放置位置根据背景图像中p点为中心的一个前景需要图像的大小范围内,融合过程会改变目标图像中颜色以及梯度,可以达到无缝融合效果,融合效果更好。
38.可选的,根据深度学习任务类型和变换条件将所述目标图像,注入所述背景图像中,生成所述变换后的图像,包括:
39.根据所述变换条件,生成初始变换列表;
40.对所述初始变换列表设置概率或调整变换顺序,生成变换列表;
41.根据所述变换列表的顺序,对背景图像以及目标图像进行变换。
42.由以上技术方案可知,本技术提供一种用于深度学习任务的缺陷生成方法,所述方法包括:根据缺陷样本,获取缺陷图像,所述缺陷图像为缺陷样本内部包含缺陷的矩形区域;根据预设数量的缺陷样本对应的所述缺陷图像,构建缺陷样本库;在所述缺陷样本库中提取至少一个缺陷图像作为目标图像;根据深度学习任务类型和变换条件将所述目标图
像,注入预设的所述背景图像中,生成变换后的图像;根据所述变换后的图像,生成对应任务图像和标注文件。本方法实现利用少量缺陷样本(ng sample)和大量正常样本图像(ok sample),在正常样本图像(ok sample)上生成缺陷,以增加缺陷样本的数量,缓解数据不均衡的问题,提升检测效果,本技术提供的缺陷生成方法以解决在缺陷样本和正常样本的数量不均衡时,深度学习训练非常困难,导致缺陷检测效果较差的问题。
附图说明
43.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为一种用于深度学习任务的缺陷生成方法的步骤示意图;
45.图2为生成对应任务图像和标注文件的步骤示意图;
46.图3为对所述缺陷图像以及所述掩模图像进行同等变换的示意图;
47.图4为缺陷样本库构建交互方式示意图;
48.图5为缺陷图像生成方式示意图。
具体实施方式
49.下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本技术相一致的所有实施方式。仅是与权利要求书中所详述的、本技术的一些方面相一致的系统和方法的示例。
50.缺陷检测是工业上重要的一个应用,由于缺陷多种多样,传统的机器视觉算法很难做到对缺陷特征完整的建模和迁移,复用性不大,要求区分工况,这会浪费大量的人力成本。深度学习在特征提取和定位上取得了非常好的效果,于是开始将深度学习算法引入到缺陷检测领域中。
51.深度学习是通过构建具有多隐层的机器学习模型和海量的训练数据,对特征进行学习,从而最终提升分类或预测的准确性和通用性。然而训练一个有效的深度学习模型,需要大量的带标注数据,海量的显卡资源,以及漫长的训练时间,而在很多工业情景中,缺陷图像的获取成本非常高,导致样本数量十分有限,难以直接用来训练深度学习模型。故而所训练出来的缺陷检测模型的误检率,漏检率较高,难以满足企业的需求。
52.本技术提供的一种用于深度学习任务的缺陷生成方法,参见图1,为一种用于深度学习任务的缺陷生成方法的步骤示意图,包括:
53.s1:根据缺陷样本,获取缺陷图像,缺陷图像为缺陷样本内部包含缺陷的矩形区域;
54.具体的,缺陷样本可以为正常样本图像(ok sample),也可以为缺陷样本(ng sample),由于实际生产中缺陷样本(ng sample)较少,正常样本图像(ok sample)较多,所以本实施例中的缺陷样本正常样本图像(ok sample)占比大,常见的缺陷包括:平面物体缺陷、三维物体缺陷,例如:划痕、凹凸坑、裂缝、边角崩裂和污渍。
55.s2:根据预设数量的缺陷样本对应的缺陷图像,构建缺陷样本库;
56.参见图4,为缺陷样本库构建交互方式示意图;在一些实施例中,缺陷样本库的构建采用交互式方式进行,首先在缺陷样本中框选带有缺陷的矩形区域,即为局部区域小图,如图4中的a处,其次在矩形区域上将缺陷的外轮廓绘制,如图4中的b处,最后,根据缺陷的外轮廓生成了缺陷的最小外接矩形,如图4中的c处。
57.s3:在缺陷样本库中提取至少一个缺陷图像作为目标图像;
58.应当理解的是,提取目标图像的过程是随机的。
59.s4:根据深度学习任务类型和变换条件将目标图像注入预设的背景图像中,生成变换后的图像;
60.具体的,预设的背景图像为正常样本图像(ok sample);
61.为了提高缺陷样本的多样性,对目标图像进行学习任务类型的选择以及条件变换。
62.参见图5,为缺陷图像生成方式示意图,为了使目标图像注入背景图像的过程更加高效,将已完成学习任务类型以及变换条件的多个目标图像进行叠加,将多个目标图像内的缺陷注入到同一张背景图像中,从而生成变换后的图像;
63.s5:根据变换后的图像,生成对应任务图像和标注文件。
64.通过s1-s5的步骤,实现利用少量非正常样本(ng sample)和大量正常样本图像(ok sample),在正常样本图像(ok sample)上生成缺陷,以增加缺陷样本的数量,缓解数据不均衡的问题,提升检测效果。
65.根据缺陷样本,获取缺陷图像的步骤包括:
66.在缺陷样本中生成局部区域小图,局部区域小图为矩形区域,且矩形区域中包含缺陷;
67.在局部区域小图上绘制缺陷外轮廓,生成大小相同的缺陷图像以及掩模图像;其仅在缺陷区域内部灰度值为0,其余值为255;
68.根据缺陷图像外轮廓,生成缺陷外轮廓的最小外接矩形;
69.对最小外接矩形四周外扩,将外扩后的矩形区域作为缺陷图像,即缺陷图像为缺陷样本内部包含缺陷的矩形区域。
70.在一些实施例中,对最小外接矩形四周外扩时,外扩像素长度为3px-5px。当对缺陷外轮廓绘制过程出现异常或未将缺陷全部框选,通过最小外接矩形向四周外扩,扩大框选范围,以保证缺陷存在框选区域内。
71.例如:所述缺陷样本生成的局部区域小图的尺寸为25px*25px,此矩形区域中,包含缺陷,在25px*25px的区域上绘制缺陷的外轮廓,生成大小相同的缺陷图像以及掩模图像后,例如根据缺陷的外轮廓生成最小外接矩形为6px*7px,在6px*7px的最小外接矩形的四周外扩,在最小外接矩形的每个边外扩3px-5px,外扩后可为12px*13px-16px*17px,将12px*13px-16px*17px矩形区域作为缺陷图像。
72.在一些实施例中,变换条件包括:模拟尺寸位置的角度变换、光照变换以及成像细节变换,每个变换条件包含一个幅度和概率。
73.具体的,例如:水平镜像、垂直镜像、特殊角度旋转,例如:30度、90度、180度等、仿射变换,例如:平移、旋转、缩放、切变等、光照变换,例如,亮度变换、对比度变换、成像细节变换,例如,模糊、噪声、锐化,可以根据需要再添加其它变换。
74.当用户(终端)指令为“旋转30度”,则系统将图像进行旋转30度,生成的图像若不满足要求,用户进行下一步指令“缩放3px”,则系统将图像尺寸缩放3px,根据生成的图像判断是否需要添加其他变换。
75.生成对应任务图像和标注文件的步骤之前,方法还包括:根据变换后的图像,判断是否需要进行添加其他变换,若是,则根据添加的变换条件重新生成变换后的图像;若否,则生成对应任务图像和标注文件。
76.生成对应任务图像和标注文件的步骤包括:
77.根据背景图像的对应任务,采取不同的标注文件生成方式;
78.对应任务可分为,分类任务、分割任务以及检测任务。
79.配置背景图像的变换条件以及目标图像的变换条件,生成对应任务图像和标注文件。
80.参见图2、图3,图2为生成对应任务图像和标注文件的步骤示意图,图3为对所述缺陷图像以及所述掩模图像进行同等变换的示意图,根据变换后的图像,生成对应任务图像和标注文件,包括:
81.s501:根据背景图像,生成对应的辅助图像;
82.具体的,对应的辅助图像为灰度值均为255的图像;
83.s502:根据变换条件对背景图像进行变换,生成变换后的背景图像;
84.背景变换条件和目标变换条件配置采用交互方式执行,会将变换进行预先设计,后从预先设计的变换中选择,本方法选择的是常用的变换,例如:对背景图像进行水平镜像处理,得到变换后的背景图像;
85.s503:根据背景图像的宽、高以及缺陷图像的宽、高,随机生成一个注入位置;
86.s504:根据位置,生成辅助图像子区域以及背景图像子区域;
87.例如:将背景图像的宽设为w、高设为h、将缺陷图像的宽设为w、高设为h,随机生成的注入位置为x、y,其中,x=rand(0,w-w-1),y=rand(0,h-h-1),则辅助图像子区域为(x,y,x+w,y+h);
88.s505:判断辅助图像子区域中是否存在目标图像;即判断灰度值为0的像素数量是否为0;
89.若存在目标图像,则重新根据背景图像的宽、高以及缺陷图像的宽、高,随机生成一个注入位置;
90.若判断辅助图像子区域中是否存在目标图像的步骤已达到10次,仍无法得到满足的点x、y,则跳过该缺陷样本,进行下一缺陷样本判断;
91.若不存在目标图像,则根据变换条件,对缺陷图像以及掩模图像进行同等变换;
92.例如:若不存在目标图像,可以对缺陷图像以及掩模图像进行亮度变换,根据实际情况来判断是否需要增加下一变换;
93.s506:将缺陷图像融合到背景图像的子区域中;
94.s507:将缺陷图像对应的掩模图像融合到辅助图像的子区域中,生成辅助图像。
95.对于不同的深度学习任务类型判断是否生成标注文件:
96.若深度学习任务类型为分类任务,则不生成标注文件;
97.若深度学习任务类型为分割任务,则保存辅助图像作为标注文件;
98.若深度学习任务类型为检测任务,则对辅助图像执行轮廓分析,获取每个轮廓的最小外接矩形作为标注框,同时生成对应的json文件或xml的标注文件。
99.当用户(终端)不需要生成标注文件时,则系统选择深度学习任务类型为分类任务,当用户(终端)需要生成png格式的标注文件时,系统将选择深度学习任务类型为分割任务,当用户(终端)需要生成json或xml格式的标注文件时,系统将选择深度学习任务类型为检测任务。
100.标注文件一般分为mat、json、xml、png、csv、xlsx、txt、word等格式,本实施例中生成json、xml或png格式。
101.轮廓分析也指轮廓检测,即为检测图像中的对象边界,获取图像的拓扑信息。第一步:对图像进行二值化;第二步:连通组件标记;第三步:获取轮廓的质心、面积、周长、最小外接矩形等。
102.将缺陷图像融合到背景图像的子区域中,对掩模图像进行腐蚀后,使用泊松函数进行融合。
103.对掩模图像进行预处理,图像腐蚀可以消除物体的边界点,使边界向内收缩,可以把小于结构元素的物体去除,还可将两个有细小连通的物体分开,如果两个物体间有细小的连通,当结构足够大时,可以将两个物体分开。
104.在一些实施例中,将缺陷图像融合到背景图像的子区域中,也可以采用复制的方式,复制的方式会可能会导致图像之间无法进行较好的融合,导致融合效果差,但泊松融合是将一个目标图像放进背景图像中,放置位置根据背景图像中p点为中心的一个前景需要图像的大小范围内,融合过程会改变目标图像中颜色以及梯度,可以达到无缝融合效果,融合效果更好。
105.根据深度学习任务类型和变换条件将目标图像,注入背景图像中,生成变换后的图像,包括:
106.根据变换条件,生成初始变换列表;
107.其中,背景图像变换与目标图像变换可以选择的变换范围是相同的,即尺寸位置角度变换(水平镜像、垂直镜像、特殊角度旋转、仿射变换)、光照变换(亮度变换、对比度变换)和成像细节变换(模糊、噪声、锐化),例如:背景图像变换选择水平镜像、垂直镜像,则目标图像变换可以选择水平镜像、垂直镜像、特殊角度旋转、仿射变换、亮度变换、对比度变换、模糊、噪声、锐化其中任一项或多项,背景变换条件以及目标变换条件设置了不同的变换幅度和变换概率,可以进行自由组合,需要注意的是,每个变换条件包含一个幅度和概率;
108.例如:图像的背景变换依次选择了水平镜像、平移变换、90度旋转、亮度变换、模糊变换、噪声变换,则初始背景变换列表如表1所示:
109.id变换名称变换幅度变换概率0水平镜像无11平移变换[-10,10]12特殊角度变换90度13亮度变换[-30,30]14模糊变换[3,7]1
5噪声变换[10,20]1
[0110]
表1
[0111]
例如:图像的目标变换依次选择了垂直镜像、缩放变换、180度旋转、对比度变换、模糊变换、锐化变换,则初始目标变换列表如表2所示:
[0112]
id变换名称变换幅度变换概率0垂直镜像无11缩放变换[-0.5,0.5]12特殊角度变换180度13对比度变换[0.5,1.5]14模糊变换[3,7]15锐化变换[3,7]1
[0113]
表2
[0114]
对初始变换列表设置概率或调整变换顺序,生成变换列表;
[0115]
根据变换列表的顺序,对背景图像以及目标图像进行变换。
[0116]
根据背景变换条件、目标变换条件生成变换后图像步骤为:
[0117]
为每个变换设置概率或者调整变换顺序,生成变换列表;
[0118]
特殊的,对于有变换幅度区间的变换,每次随机产生一个中间值进行变换;
[0119]
具体的,即根据目标变换列表对缺陷图像和掩模图像进行变换,假设没有改变每个变换的概率或调整变换的顺序,变换时按照表2列表顺序进行;
[0120]
根据背景变换列表对背景图像进行变换,假设没有改变每个变换的概率或调整变换的顺序,变换时按照表1列表顺序进行;
[0121]
执行每个变换前,随机生成一个0~1之间的概率值;
[0122]
如果该概率值小于该变换设置的概率值,则执行该变换,否则不执行。
[0123]
如果该概率值小于该变换设置的概率值,则执行该变换,否则不执行。由以上技术方案可知,本技术提供一种用于深度学习任务的缺陷生成方法,所述方法包括:根据缺陷样本,获取缺陷图像,所述缺陷图像为缺陷样本内部包含缺陷的矩形区域;根据预设数量的缺陷样本对应的所述缺陷图像,构建缺陷样本库;在所述缺陷样本库中提取至少一个缺陷图像作为目标图像;根据深度学习任务类型和变换条件将所述目标图像,注入预设的所述背景图像中,生成变换后的图像;根据所述变换后的图像,生成对应任务图像和标注文件。本方法实现了利用少量非正常样本(ng sample)和大量正常样本图像(ok sample),在正常样本图像(ok sample)上生成缺陷,以增加缺陷样本的数量,缓解数据不均衡的问题,提升检测效果,本技术提供的缺陷生成方法以解决在缺陷样本和正常样本的数量不均衡时,深度学习训练非常困难,导致缺陷检测效果较差的问题。
[0124]
本技术提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本技术总的构思下的几个示例,并不构成本技术保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本技术方案所扩展出的任何其他实施方式都属于本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1