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

一种布料破洞的检测方法、装置及存储介质

2022-05-21 06:53:22 来源:中国专利 TAG:


1.本发明实施例涉及纺织技术领域,特别涉及一种布料破洞的检测方法、装置及存储介质。


背景技术:

2.我国目前已经发展成为世界纺织品产业基地之一,纺织业在国家经济中发挥着越来越重要的作用。在布料的生产过程中,不可避免地会产生一部分瑕疵产品,因此为提高产品质量,对瑕疵布料的识别是一个十分重要的环节,破洞则是一种典型布料瑕疵。
3.然而,目前国内的布料生产仍然都采用人工进行布料瑕疵检测,没有实现自动检测,人工检测时间成本高、并且受工人主观影响大,检测精度低。
4.因此,目前亟待需要一种布料破洞检测方法来解决上述技术问题。


技术实现要素:

5.本发明实施例提供了一种布料破洞的检测方法、装置及存储介质,能够快速准确的检测出待检验布料图像中破洞的数量和位置。
6.第一方面,本发明实施例提供了一种布料破洞的检测方法,包括:
7.获取待检测布料的目标图像;
8.对所述目标图像进行预处理,得到满足第一设定条件的目标图像;
9.将预处理后的所述目标图像输入至预先构建的神经网络模型中;所述神经网络模型是利用若干个样本图像对ssd模型训练得到的,每一个样本图像是基于包含至少一个破洞的样本布料生成的,且每一个样本图像中标注有对应破洞的数量和对应破洞的位置;
10.获取由所述神经网络模型输出的所述目标图像的破洞数量和破洞位置。
11.在一种可能的设计中,所述神经网络模型的构建方式包括:
12.获取若干个所述样本图像;所述样本图像为将包含所述样本布料的图像去除图像背景后得到的图像;
13.对每一个样本图像分别进行标注,得到每一个样本图像分别对应的样本标签,所述样本标签至少包括破洞的数量和破洞的位置;
14.根据预设比例将标注后的若干个所述样本图像分成训练样本图像和测试样本图像;
15.构建ssd模型,并将所述训练样本图像输入至构建好的ssd模型中进行训练;
16.将所述测试样本图像输入至训练好的ssd模型中,当该训练好的ssd模型输出的检测结果满足第二设定条件时,将训练好的该ssd模型确定为构建得到的神经网络模型。
17.在一种可能的设计中,所述对每一个样本图像分别进行标注,得到每一个样本图像分别对应的样本标签,包括:
18.针对每一个样本图像均执行:
19.确定该样本图像中的破洞数量;
20.根据该样本图像中每一个破洞的边缘,分别生成用于标注对应破洞位置的矩形框,其中,矩形框的尺寸为可将对应破洞框住的最小尺寸;
21.根据预设坐标系,确定该样本图像中每一个矩形框的顶点坐标;
22.将该样本图像的破洞数量以及该样本图像中每一个矩形框的顶点坐标确定为该样本图像的样本标签。
23.在一种可能的设计中,所述构建ssd模型,包括:
24.构建第一预设层数的用于提取输入图像浅层特征的第一卷积网络;
25.构建第二预设层数的用于提取输入图像深层特征的第二卷积网络;
26.构建用于对所述第一卷积网络和所述第二卷积网络分别输出的指定的特征图像进行破洞检测的检测网络。
27.在一种可能的设计中,所述对所述第一卷积网络和所述第二卷积网络分别输出的指定的特征图像进行破洞检测,包括:
28.对第一卷积网络和第二卷积网络分别输出的指定的特征图像,分别进行归一化;
29.提取归一化后的特征图像中每个先验框对应的预测框的类别置信分数;
30.提取归一化后的特征图像中每个先验框对应的预测框的边框坐标;
31.舍弃所述预测框中类别置信分数低于置信阈值的预测框;
32.在剩余的预测框中,采用极大值抑制法,保留置信分数更高的最优检测框,并抑制次优检测框;
33.将最终剩余的预测框的类别置信分数和边框坐标进行拼接,得到对特征图像中破洞的检测结果。
34.在一种可能的设计中,所述将所述训练样本图像输入至所述ssd模型中对所述ssd模型进行训练,包括:
35.s1:将所述训练样本图像输入至构建的ssd模型中;
36.s2:利用前向传播法,计算所述训练样本图像对当前ssd模型的损失函数;
37.s3:利用反向传播法,分别计算所述损失函数对于ssd模型内各卷积层中的参数的梯度值;
38.s4:利用梯度下降法,根据所述损失函数对于各卷积层中的参数的梯度值,更新各卷积层中的参数以更新ssd模型;
39.s5:循环执行步骤s2至s4以循环更新ssd模型,当循环次数达到设定值,或,ssd模型中各卷积层的参数不再更新时,则停止循环,并将当前得到的ssd模型确定为训练好的ssd模型。
40.在一种可能的设计中,所述损失函数为focal loss函数。
41.第二方面,本发明实施例还提供了一种布料破洞的检测装置,包括:
42.第一获取模块,用于获取待检测布料的目标图像;
43.处理模块,用于对所述目标图像进行预处理,得到满足第一设定条件的目标图像;
44.输入模块,用于将预处理后的所述目标图像输入至预先构建的神经网络模型中;所述神经网络模型是利用若干个样本图像对ssd模型训练得到的,每一个样本图像是基于包含至少一个破洞的样本布料生成的,且每一个样本图像中标注有对应破洞的数量和对应破洞的位置;
45.第二获取模块,用于获取由所述神经网络模型输出的所述目标图像的破洞数量和破洞位置。
46.第三方面,本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
47.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
48.本发明实施例提供了一种布料破洞的检测方法、装置及存储介质,该方法首先获取待检测布料的目标图像,然后对目标图像进行预处理,并将预处理后的目标图像输入至预先构建的神经网络模型中,其中,该神经网络模型是利用若干个样本图像对ssd模型训练得到的,每一个样本图像是基于包含至少一个破洞的样本布料生成的,且每一个样本图像中标注有对应破洞的数量和对应破洞的位置,最后获取由该神经网络模型输出的目标图像的破洞数量和破洞位置。本方案能够快速准确的检测出待检测布料图像中破洞的数量和位置。
附图说明
49.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
50.图1是本发明一实施例提供的一种布料破洞的检测方法流程图;
51.图2(a)~图2(d)是本发明一实施例提供的采用本技术方法进行布料破洞检测的检测结果示意图;
52.图3是从图2中筛选出的一张检测结果图;
53.图4是本发明一实施例提供的一种计算设备的硬件架构图;
54.图5是本发明一实施例提供的一种布料破洞的检测装置结构图。
具体实施方式
55.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
56.如前所述,现有技术中,国内的布料生产仍然都采用人工进行布料破洞检测,没有实现自动检测。然而,人工检测存在受检验工人主观影响大、检测效率低及检测精度低等缺点,同时,人工检测需要在坯布、修布、质检等各个环节设立,工人不仅需要识别出疵点,还需要对其进行标记并录入系统,不仅需要大量地人力和物力成本,还需要耗费时间成本。因此,人工布料破洞检测检测周期长且检测精度低,严重影响企业的生产效率和竞争力。
57.因此,为了解决上述技术问题,可以考虑将布料破洞检测与神经卷积网络相结合,
以提高布料破洞检测的效率和精度。
58.下面描述以上构思的具体实现方式。
59.请参考图1,本发明实施例提供了一种布料破洞的检测方法,该方法包括:
60.步骤100,获取待检测布料的目标图像;
61.步骤102,对目标图像进行预处理,得到满足第一设定条件的目标图像;
62.步骤104,将预处理后的目标图像输入至预先构建的神经网络模型中;神经网络模型是利用若干个样本图像对ssd模型训练得到的,每一个样本图像是基于包含至少一个破洞的样本布料生成的,且每一个样本图像中标注有对应破洞的数量和对应破洞的位置;
63.步骤106,获取由神经网络模型输出的目标图像的破洞数量和破洞位置。
64.本发明实施例中,首先获取待检测布料的目标图像,然后对目标图像进行预处理,并将预处理后的目标图像输入至预先构建的神经网络模型中,其中,该神经网络模型是利用若干个样本图像对ssd模型训练得到的,每一个样本图像是基于包含至少一个破洞的样本布料生成的,且每一个样本图像中标注有对应破洞的数量和对应破洞的位置,最后获取由该神经网络模型输出的目标图像的破洞数量和破洞位置。本方案能够快速准确的检测出待检测布料图像中破洞的数量和位置。
65.下面描述图1所示的各个步骤的执行方式。
66.首先,针对步骤100,需要获取待检测布料的目标图像;
67.然后,针对步骤102,对目标图像进行预处理,去除布料图像中不属于布料背景的部分,以保证后续布料破洞的顺利检测;
68.然后,针对步骤104,在一些实施方式中,构建用于检测布料破洞的神经网络模型,构建方式包括:
69.步骤200:获取若干个样本图像;样本图像为将包含样本布料的图像去除图像背景后得到的图像;
70.步骤202:对每一个样本图像分别进行标注,得到每一个样本图像分别对应的样本标签,样本标签至少包括破洞的数量和破洞的位置;
71.步骤204:根据预设比例将标注后的若干个样本图像分成训练样本图像和测试样本图像;
72.步骤206:构建ssd模型,并将训练样本图像输入至构建好的ssd模型中进行训练;
73.步骤208:将测试样本图像输入至训练好的ssd模型中,当该训练好的ssd模型输出的检测结果满足第二设定条件时,将训练好的该ssd模型确定为构建得到的神经网络模型。
74.在该实施例中,通过使用足够数量的经过预处理的样本图像,对构建的ssd模型进行训练和测试,以获得神经网络模型,能够用于快速准确的检测待检测布料图像中的破洞,该神经网络模型适用于各种形状和大小的破洞,同时适用于各种布料,通用性强。
75.针对步骤200,在一些实施方式中,样本图像可以是通过光学相机采集到的,会有部分样本图像包含桌面、墙壁等多余背景,因此,为了减少干扰,并减小图片的尺寸,可以使用photoshop等分割工具制作样本图像的切片,并将处理得到的样本切片进行编号,以获得样本图像数据库。
76.针对步骤202,在一些实施方式中,需要对样本切片进行标注并生成样本标签,以获得包含破洞数量和破洞位置的样本图像。
77.例如,在一些实施方式中,可以通过如下方式进行标注:
78.针对每一个样本图像均执行:
79.确定该样本图像中的破洞数量;
80.根据该样本图像中每一个破洞的边缘,分别生成用于标注对应破洞位置的矩形框,其中,矩形框的尺寸为可将对应破洞框住的最小尺寸;
81.根据预设坐标系,确定该样本图像中每一个矩形框的顶点坐标;
82.将该样本图像的破洞数量以及该样本图像中每一个矩形框的顶点坐标确定为该样本图像的样本标签。
83.在该实施例中,通过对样本图像进行标注,能够获得每一个样本图像中的破洞数量和位置信息,并予以记录,为后续训练和测试ssd模型提供检测依据。在该实施例中,可以采用labelimg标注工具对图像中的破洞进行标注,且标注破洞的矩形框需要贴合着破洞的边界进行框画,即矩形框的尺寸为可将对应破洞框住的最小尺寸,如此可以保证后期破洞检测的精确度。标注完成之后,添加样本标签为“0podong”,生成对应包含破洞数量、位置信息和类别的xml文件,其中位置信息为每一个矩形框相对于预设坐标系的顶点坐标,预设坐标系可以是相对于样本图像的坐标。
84.需要说明的是,为了方便后期调取样本图像,样本标签中还可以包含样本图像的绝对存储路径。例如,样本标签可以表示为:
85.《dir》n,x
t1
,y
t1
,x
b1
,y
b1
,c1,x
t2
,y
t2
,x
b2
,y
b2
,c2……
x
tn
,y
tn
,x
bn
,y
bn
,cn;
86.其中,《dir》表示样本图像的绝对路径,n表示该样本图像中破洞目标个数;之后是n组目标信息,每组目标信息包括(x
ti
,y
ti
)、(x
bi
,y
bi
)和ci;x
ti
和y
ti
表示第i个目标边框左上角坐标,x
bi
和y
bi
表示第i个目标边框右下角坐标,ci表示第i个目标的类别。
87.针对步骤204,在一些实施方式中,可以在样本图像中随机抽取四分之三的图像作为训练集,剩余四分之一的图像作为测试集,如此可以保证样本图像的随机性,增加构建的ssd模型的准确性。
88.针对步骤206,在一些实施方式中,可以通过如下方式构建ssd模型:
89.步骤a:构建第一预设层数的用于提取输入图像浅层特征的第一卷积网络;
90.步骤b:构建第二预设层数的用于提取输入图像深层特征的第二卷积网络;
91.步骤c:构建用于对所述第一卷积网络和所述第二卷积网络分别输出的指定的特征图像进行破洞检测的检测网络。
92.在该实施例中,构建的ssd模型使用多层次的特征图对目标进行预测,因此该模型适用于对多形状、多尺度的布料破洞进行检测,能够提升对不同尺寸的破洞进行检测时的鲁棒性。
93.针对步骤a,在一些实施方式中,第一卷积网络可以是适用于512
×
512像素图像尺寸的网络,该网络由15层卷积神经网络组成,包括:
94.第一组卷积层:第1-2层卷积层,每层分别使用64个窗口大小为3
×
3的卷积核,窗口移动步长为1,边缘填充1像素,输出64个尺寸为512
×
512的特征图;
95.第二组卷积层:第3-4层卷积层,每层分别使用128个窗口大小为3
×
3的卷积核,窗口移动步长为1,边缘填充1像素,输出128个尺寸为256
×
256的特征图;
96.第三组卷积层:第5-7层卷积层,每层分别使用256个窗口大小为3
×
3的卷积核,窗
口移动步长为1,边缘填充1像素,输出256个尺寸为128
×
128的特征图;
97.第四组卷积层:第8-10层卷积层,每层分别使用512个窗口大小为3
×
3的卷积核,窗口移动步长为1,边缘填充1像素,输出512个尺寸为64
×
64的特征图;
98.第五组卷积层:第11-13层卷积层,每层分别使用512个窗口大小为3
×
3的卷积核,窗口移动步长为1,边缘填充1像素,输出512个尺寸为32
×
32的特征图;
99.第六组卷积层:第14层卷积层,使用1024个窗口大小为3
×
3的卷积核,窗口移动步长为1,边缘填充1像素,输出1024个尺寸为32
×
32的特征图;
100.第七组卷积层:第15层卷积层,使用1024个窗口大小为1
×
1的卷积核,窗口移动步长为1,边缘不填充,输出1024个尺寸为32
×
32的特征图;
101.其中,第2、4、7、10、13层卷积层输出的特征图还需要经过最大下采样层进行降维,使用窗口大小为2
×
2的下采样核,窗口移动步长为2。
102.针对步骤b,在一些实施方式中,第二卷积网络可以由10层卷积神经网络组成,包括:
103.第八组卷积层:第16-17层卷积层,第16层卷积层使用256个窗口大小为1
×
1的卷积核,窗口移动步长为1,边缘不填充;第17层使用512个窗口大小为3
×
3的卷积核,窗口移动步长为2,边缘填充1像素;输出512个尺寸为16
×
16的特征图;
104.第九组卷积层:第18-19层卷积层,第18层使用128个窗口大小为1
×
1的卷积核,窗口移动步长为1,边缘不填充;第17层使用256个窗口大小为3
×
3的卷积核,窗口移动步长为2,边缘填充1像素;输出256个尺寸为8
×
8的特征图;
105.第十组卷积层:第20-21层卷积层,第20层使用128个窗口大小为1
×
1的卷积核,窗口移动步长为1,边缘不填充;第21层使用256个窗口大小为3
×
3的卷积核,窗口移动步长为2,边缘填充1像素;输出256个尺寸为4
×
4的特征图;
106.第十一组卷积层:第22-23层卷积层,第22层使用128个窗口大小为1
×
1的卷积核,窗口移动步长为1,边缘不填充;第23层使用256个窗口大小为3
×
3的卷积核,窗口移动步长为2,边缘填充1像素;输出256个尺寸为2
×
2的特征图。
107.第十二组卷积层:第24-25层卷积层,第24层使用128个窗口大小为1
×
1的卷积核,窗口移动步长为1,边缘不填充;第25层使用256个窗口大小为4
×
4的卷积核,窗口移动步长为1,边缘不填充;输出256个尺寸为1
×
1的特征图。
108.针对步骤c,可以使用多尺度检测网络对第一卷积网络和第二卷积网络输出的指定特征图进行检测,在一些实施方式中,检测方法包括:
109.对第一卷积网络和第二卷积网络分别输出的指定的特征图像,分别进行归一化;
110.提取归一化后的特征图像中每个先验框对应的预测框的类别置信分数;
111.提取归一化后的特征图像中每个先验框对应的预测框的边框坐标;
112.舍弃所述预测框中类别置信分数低于置信阈值的预测框;
113.在剩余的预测框中,采用极大值抑制法,保留置信分数更高的最优检测框,并抑制次优检测框;
114.将最终剩余的预测框的类别置信分数和边框坐标进行拼接,得到对特征图像中破洞的检测结果。
115.举例说明,可以利用多尺度检测网络对第10、15、17、19、21、23、25层这7个卷积层
输出的特征图进行检:
116.首先,对这7个特征图进行归一化;
117.然后,使用3
×
3的卷积核,分别提取每一个特征图中全部预测框的类别置信分数和边框坐标信息,然后去除那些置信分数低于置信阈值的预测框(即类别为背景的预测框),保留置信分数高于置信阈值的预测框(即类别为破洞的预测框),再然后使用非极大值抑制法,保留置信分数更高的最优检测框,并抑制次优检测框,以使每个破洞只保留一个预测框;最后将最终剩余的预测框的类别置信分数和边框坐标进行拼接,得到对特征图像中破洞的检测结果,即得到布料图像中破洞的个数和每个破洞的检测框坐标信息。
118.需要说明的是,第10、15、17、19、21、23、25层这7个卷积层中,先验框的尺寸是通过下式确定的:
[0119][0120]
式中,s
min
=0.2和s
max
=0.9分别表示特征图中的先验框和原本图中的标注框的比例的最小值和最大值,sk表示第k个卷积层的先验框。
[0121]
另外,ssd模型采用先验框机制,面对同一个特征层中的特征单元采用多个不一样的宽高比,用来提升模型对于目标不同尺寸检测时的鲁棒性。假设采取的先验框的宽高比为r,而对于宽高比比值取1的,加入能够得到下列两个公式:
[0122][0123][0124]
假设先验框的中心点的坐标为|fk|表示第k个特征图尺寸的值,a,b∈{0,1,2,...,|fk|-1},则需要保证先验框的坐标在[0,1]之间。特征图中先验框和原图坐标的映射由以下几个公式进行体现:
[0125][0126][0127][0128][0129]
式中,(x,y)表示第k层的特征图中的任意一个先验框的中心的坐标信息,h
box
、w
box
分别表示先验框的高和宽;(x
max
,y
max
)以及(x
min
,y
min
)分别表示先验框相对应的原本图像中的标注框的右上角坐标和右下角坐标,(w0,h0)表示原本图像的宽与高的坐标信息,(wk,hk)表示第k层特征图的宽与高的坐标信息。
[0130]
针对步骤208,在一些实施方式中,对ssd模型进行训练,包括:
[0131]
s1:将训练样本图像输入至构建的ssd模型中;
[0132]
s2:利用前向传播法,计算训练样本图像对当前ssd模型的损失函数;
[0133]
s3:利用反向传播法,分别计算损失函数对于ssd模型内各卷积层中的参数的梯度值;
[0134]
s4:利用梯度下降法,根据损失函数对于各卷积层中的参数的梯度值,更新各卷积层中的参数以更新ssd模型;
[0135]
s5:循环执行步骤s2至s4以循环更新ssd模型,当循环次数达到设定值,或,ssd模型中各卷积层的参数不再更新时,则停止循环,并将当前得到的ssd模型确定为训练好的ssd模型。
[0136]
在该实施例中,通过使用样本图像对ssd模型进行训练,能够提升ssd模型进行破洞检验的准确性。在本技术中,经反复实验发现,检测模型设定的最佳参数为:batch_size(训练步长)为16,epoch(训练轮次)为30,steps_per_epoch(每轮次训练步数)为70,最终训练出来的模型损失值为6.5249。
[0137]
需要说明的是,目标损失函数的损失值是判断模型训练好坏的一个直观且关键的体现。在一些实施方式中,ssd模型的目标损失函数为focal loss函数,这是由于ssd模型属于one-stage方法,该方法为了提高检测速度,舍弃了生成候选框这一阶段,直接对先验框进行难度更大的细分类(不只是区分前景和背景,还区分先验框的类别),由于缺少对候选框的筛选过程,无法避免正负样本不平衡的问题,而focal loss函数能解决one-stage目标检测中正负样本极不平衡和难分类样本学习。因此,本实施例中,使用focal loss函数可以提高ssd模型的检验精度。
[0138]
本实施例中,定义
[0139]
其中,y为事件,p为事件y=1时发生概率,使用类似的方法定义权重因子α
t
,α
t
∈[0,1]。
[0140]
则目标损失函数的定义如下:
[0141]
fl(p
t
)=-α
t
(1-p
t
)
γ
log(p
t
);
[0142]
其中,(1-p
t
)
γ
是调节因子,γ是可调节的聚焦参数。
[0143]
另外,ssd模型采用先验框机制,通过重新调整和设计先验框尺寸,能够增大网络对于尺度不一破洞的识别检测能力。例如,本技术可以采用1:1、1:2、1:3、2:1以及3:1的先验框以适应不同形状和尺度的破洞。
[0144]
可以理解的是,感受野的大小是衡量ssd网络性能的重要指标参数,更大的感受野可以提取到图片中更多的细节特征,而感受野的大小和卷积步长和卷积核的大小有直接关系,因此,扩大卷积步长和卷积核可以有效增大卷积层上的感受野。本技术最终使用3
×
3的卷积核,能够获得更好的检测效果。
[0145]
为了证明本技术检测方法的准确性和实用性,发明人使用本方法对一定数量的破洞布料图像进行了检测,部分检测结果如图2(a)~图2(d)和图3所示;其中,图2(a)~图2(d)为从检测结果中挑选出的4张检测结果示意图,从图中可以看出:尺度不一、形状多样的破洞均能被检测出来,且能够实现一图多框检测,从图3可以看出,该方法可以将破洞的边框尺寸和置信分数清楚的标注出来。采用本技术方法进行布料破洞检测,检测的精确率为100%,准确率为96.07%,召回率为96.07%;。
[0146]
如图4、图5所示,本发明实施例提供了一种布料破洞的检测装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图4所示,为本发明实施例提供的一种布料破洞的检测装置所在计算设备的一种硬件架构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的计算设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图5所示,作为一个逻辑意义上的装置,是通过其所在计算设备的cpu将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种布料破洞的检测装置,包括:
[0147]
第一获取模块300,用于获取待检测布料的目标图像;
[0148]
处理模块302,用于对目标图像进行预处理,得到满足第一设定条件的目标图像;
[0149]
输入模块304,用于将预处理后的目标图像输入至预先构建的神经网络模型中;神经网络模型是利用若干个样本图像对ssd模型训练得到的,每一个样本图像是基于包含至少一个破洞的样本布料生成的,且每一个样本图像中标注有对应破洞的数量和对应破洞的位置;
[0150]
第二获取模块306,用于获取由神经网络模型输出的目标图像的破洞数量和破洞位置。
[0151]
在本发明实施例中,第一获取模块300可用于执行上述方法实施例中的步骤100,处理模块302可用于执行上述方法实施例中的步骤102,输入模块304可用于执行上述方法实施例中的步骤104,第二获取模块306可用于执行上述方法实施例中的步骤106。
[0152]
在本发明一个实施例中,还包括构建模块308,用于执行如下操作:
[0153]
获取若干个样本图像;样本图像为将包含样本布料的图像去除图像背景后得到的图像;
[0154]
对每一个样本图像分别进行标注,得到每一个样本图像分别对应的样本标签,样本标签至少包括破洞的数量和破洞的位置;
[0155]
根据预设比例将标注后的若干个样本图像分成训练样本图像和测试样本图像;
[0156]
构建ssd模型,并将训练样本图像输入至构建好的ssd模型中进行训练;
[0157]
将测试样本图像输入至训练好的ssd模型中,当该训练好的ssd模型输出的检测结果满足第二设定条件时,将训练好的该ssd模型确定为构建得到的神经网络模型。
[0158]
在本发明一个实施例中,还包括标注模块310,用于执行如下操作:
[0159]
针对每一个样本图像均执行:
[0160]
确定该样本图像中的破洞数量;
[0161]
根据该样本图像中每一个破洞的边缘,分别生成用于标注对应破洞位置的矩形框,其中,矩形框的尺寸为可将对应破洞框住的最小尺寸;
[0162]
根据预设坐标系,确定该样本图像中每一个矩形框的顶点坐标;
[0163]
将该样本图像的破洞数量以及该样本图像中每一个矩形框的顶点坐标确定为该样本图像的样本标签。
[0164]
在本发明一个实施例中,构建模块308中,构建ssd模型包括:
[0165]
构建第一预设层数的用于提取输入图像浅层特征的第一卷积网络;
[0166]
构建第二预设层数的用于提取输入图像深层特征的第二卷积网络;
[0167]
构建用于对第一卷积网络和第二卷积网络分别输出的指定的特征图像进行破洞
检测的检测网络。
[0168]
在本发明一个实施例中,还包括检测模块312,用于执行如下操作:
[0169]
对第一卷积网络和第二卷积网络分别输出的指定的特征图像,分别进行归一化;
[0170]
提取归一化后的特征图像中每个先验框对应的预测框的类别置信分数;
[0171]
提取归一化后的特征图像中每个先验框对应的预测框的边框坐标;
[0172]
舍弃预测框中类别置信分数低于置信阈值的预测框;
[0173]
在剩余的预测框中,采用极大值抑制法,保留置信分数更高的最优检测框,并抑制次优检测框;
[0174]
将最终剩余的预测框的类别置信分数和边框坐标进行拼接,得到对特征图像中破洞的检测结果。
[0175]
在本发明一个实施例中,还包括训练模块314,用于执行如下操作:
[0176]
s1:将训练样本图像输入至构建的ssd模型中;
[0177]
s2:利用前向传播法,计算训练样本图像对当前ssd模型的损失函数;
[0178]
s3:利用反向传播法,分别计算损失函数对于ssd模型内各卷积层中的参数的梯度值;
[0179]
s4:利用梯度下降法,根据损失函数对于各卷积层中的参数的梯度值,更新各卷积层中的参数以更新ssd模型;
[0180]
s5:循环执行步骤s2至s4以循环更新ssd模型,当循环次数达到设定值,或,ssd模型中各卷积层的参数不再更新时,则停止循环,并将当前得到的ssd模型确定为训练好的ssd模型。
[0181]
在本发明一个实施例中,损失函数为focal loss函数。
[0182]
可以理解的是,本发明实施例示意的结构并不构成对一种布料破洞检测装置的具体限定。在本发明的另一些实施例中,一种布料破洞检测装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
[0183]
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0184]
本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种布料破洞检测方法。
[0185]
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种布料破洞检测方法。
[0186]
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
[0187]
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0188]
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、
cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0189]
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0190]
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0191]
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0192]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。
[0193]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献