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

基于神经网络的织物缺陷图像分割方法与流程

2022-06-02 07:41:23 来源:中国专利 TAG:


1.本发明涉及神经网络技术领域,具体涉及一种基于神经网络的织物缺陷图像分割方法。


背景技术:

2.由纺织纤维和纱线制成的、柔软而具有一定力学性质和厚度的制品称为织物,也就是人们通常所说的纺织品。织物在日常生活中随处可见,是用途最广泛的产品之一。例如在汽车行业中,汽车中使用的安全带也是工业织物中的一种,车厂商对安全带的质量有着严苛的要求,因为一旦事故发生,有质量缺陷的安全带将会带来致命的危害。
3.织物缺陷检测是纺织品制造业中质量控制的必要步骤,传统的织物检测通常是根据人工视觉的方法进行检测,但对于长期进行工业生产的制造业,这种检测方法效率低下且精度较差。


技术实现要素:

4.本发明的目的在于提供一种基于神经网络的织物缺陷图像分割方法,用于解决人工视觉检测效率低下且精度较差的问题。
5.为了解决上述技术问题,本发明所采用的技术方案具体如下:
6.本发明提供了一种基于神经网络的织物缺陷图像分割方法,该方法包括以下步骤:
7.获取待检测织物表面图像,并根据待检测织物表面图像和预先确定的神经网络,得到织物缺陷激活图像;
8.根据织物缺陷激活图像,得到织物缺陷距离变换图像;
9.根据织物缺陷距离变换图像中的各个像素点的灰度值,得到织物缺陷距离变换图像中的各个像素点的窗口大小;
10.根据织物缺陷距离变换图像中的各个像素点的灰度值和窗口大小,得到织物缺陷距离变换图像中的各个像素点的灰度共生矩阵;
11.根据织物缺陷距离变换图像中的各个像素点的灰度共生矩阵,确定织物能量图像中的各个像素点的能量值,进而得到织物能量图像;
12.根据织物能量图像、织物缺陷距离变换图像和织物表面图像,得到织物缺陷分割图像。
13.进一步地,得到织物缺陷激活图像的步骤包括:
14.根据待检测织物表面图像,获取待检测织物表面图像的各个特征图,进而得到各个特征图的平均激活值;
15.根据前一半特征图的平均激活值,得到织物缺陷激活值;
16.根据织物缺陷激活值、待检测织物表面图像的前一半特征图,前一半特征图的平均激活值,得到织物缺陷激活图像。
17.进一步地,各个特征图的平均激活值的计算公式为:
18.aa=gap(swish(featuremap))
19.其中,aa为特征图的平均激活值,feature map为特征图,swish为激活函数,gap为全矩平均池化操作。
20.进一步地,织物缺陷激活值的计算公式为:
[0021][0022]
其中,ca1为织物缺陷激活值,aai为第i张特征图的平均激活值,n为特征图的数量。
[0023]
进一步地,织物缺陷激活图像的计算公式为:
[0024][0025]
其中,map为织物缺陷激活图像,ca1为织物缺陷激活值,aai为第i张特征图的平均激活值,feature mapi为第i张特征图,n为特征图的数量。
[0026]
进一步地,得到织物缺陷距离变换图像的步骤包括:
[0027]
根据织物缺陷激活图像,得到织物缺陷二值图像,并确定织物缺陷二值图像中的各个缺陷连通域;
[0028]
对织物缺陷二值图像中的各个缺陷连通域进行筛选,并根据筛选后的织物缺陷二值图像中的各个缺陷连通域和织物缺陷二值图像,得到筛选后的织物缺陷二值图像;
[0029]
对筛选后的织物缺陷二值图像进行距离变换,得到织物缺陷距离变换图像。
[0030]
进一步地,得到织物缺陷距离变换图像中的各个像素点的窗口大小的步骤包括:
[0031]
根据筛选后的织物缺陷二值图像中的各个缺陷连通域,确定织物缺陷距离变换图像中的各个缺陷连通域;
[0032]
根据织物缺陷距离变换图像中的各个缺陷连通域的外接矩形最长边的边长和各个缺陷连通域内的各个像素点的灰度值,得到织物缺陷距离变换图像中各个缺陷连通域内的各个像素点的窗口大小;
[0033]
将织物缺陷距离变换图像中缺陷连通域外的各个像素点的窗口大小置为标准窗口大小。
[0034]
进一步地,织物缺陷距离变换图像中缺陷连通域内的各个像素点的窗口大小的计算公式为:
[0035]dk
=round(grayk*maxdk)
[0036]
其中,dk为织物缺陷距离变换图像中缺陷连通域内的第k个像素点的窗口大小,round为向上取整函数,grayk为第k个像素点的灰度值,maxdk为第k个像素点所在缺陷连通域的外接矩形最长边的边长。
[0037]
进一步地,织物能量图像中的各个像素点的能量值的计算公式为:
[0038][0039]
其中,asmk为织物能量图像中的第k个像素点的能量值,sk(i,j)为第k个像素点所对应的灰度共生矩阵中第i行第j列的元素值,n为灰度共生矩阵的行或列的数量。
[0040]
进一步地,得到织物缺陷分割图像的步骤包括:
[0041]
将织物能量图像、织物缺陷距离变换图像和织物表面图像进行融合,得到织物缺陷表示图像;
[0042]
将织物缺陷表示图像输入至训练好的语义分割神经网络中,得到织物缺陷分割图像。
[0043]
本发明具有如下有益效果:
[0044]
本发明通过待检测织物表面图像和预先确定的神经网络,得到织物缺陷激活图像,根据织物缺陷激活图像,得到织物缺陷距离变换图像,根据织物缺陷距离变换图像中的各个像素点的灰度值,得到织物缺陷距离变换图像中的各个像素点的窗口大小,根据织物缺陷距离变换图像中的各个像素点的灰度值和窗口大小,得到织物缺陷距离变换图像中的各个像素点的灰度共生矩阵,确定织物能量图像中的各个像素点的能量值,得到织物能量图像,根据织物能量图像、织物缺陷距离变换图像和织物表面图像,得到织物缺陷分割图像。
[0045]
本发明通过图像处理的方式,获取了最优的灰度共生矩阵计算窗口,对于织物而言,非织物缺陷区域像素值分布比较均一,得到的灰度共生矩阵能量值比较大,织物缺陷区域的像素值分布比较散乱,得到的灰度共生矩阵能量值比较小。通过该特征可有效的提取织物的缺陷,提高了对织物缺陷分割的效率和精度。
附图说明
[0046]
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0047]
图1为本发明的基于神经网络的织物缺陷图像分割方法的步骤流程图;
[0048]
图2为本发明的卷积神经网络示意图。
具体实施方式
[0049]
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的技术方案的具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
[0050]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
[0051]
本实施例提供了一种基于神经网络的织物缺陷图像分割方法,如图1所示,该方法
步骤包括:
[0052]
步骤1:获取待检测织物表面图像,并根据待检测织物表面图像和预先确定的神经网络,得到织物缺陷激活图像。
[0053]
在待检测织物的正上方设置rgb相机,以俯视视角对待检测织物表面图像进行拍摄,获取待检测织物表面图像。rgb相机距离待检测织物的距离可根据具体的实施场景来进行相应的调整。
[0054]
根据待检测织物rgb图像,构建卷积神经网络判断织物rgb图像是否存在缺陷,卷积神经网络包含若干层卷积层、池化层、批次归一化层、激活层,具体可采用任意现有的卷积神经网络,如lenet。在lenet卷积神经网络的基础上,在lenet卷积神经网络的最后一层激活层后添加gap、add、softmax层,先添加一个全局平均池化层gap,用以计算特征图的平均激活值,然后添加一个add层,用以将若干特征图的平均激活值进行相加,最后的softmax层,用以对累加后的平均激活值进行分类,得到一个新的卷积神经网络,如图2所示。所述softmax、gap、add层在现有框架如开源人工神经网络库keras等有集成,可直接调用。训练卷积神经网络的过程中采集了大量样本图像,包括无缺陷织物rgb图像,各式各样缺陷的织物rgb图像,以便于网络学习到织物缺陷的特征,并利用交叉熵损失函数以及一阶优化算法adam对神经网络内的参数进行优化。神经网络具体的训练过程为现有技术,在此不再详细介绍。
[0055]
(1-1)根据待检测织物表面图像,获取待检测织物表面图像的各个特征图,进而得到各个特征图的平均激活值。
[0056]
在本实施例中,卷积神经网络最后一层卷积层的卷积核数量为64,将待检测织物表面图像输入至预先确定的神经网络,则卷积层会得到64张织物表面图像的特征图,将64张特征图进行激活操作,所用的激活函数为swish等,然后获取每个特征图的平均激活值aa,各个特征图的平均激活值的计算公式为:
[0057]
aa=gap(swish(feature map))
[0058]
其中,aa为特征图的平均激活值,feature map为特征图,swish为激活函数,gap为全矩平均池化操作。
[0059]
(1-2)根据前一半特征图的平均激活值,得到织物缺陷激活值。
[0060]
将前一半特征图进行相加求和,得到织物缺陷激活值ca1,将后一半特征图进行相加求和,得到无缺陷激活值ca2。
[0061]
织物缺陷激活值的计算公式为:
[0062][0063]
其中,ca1为织物缺陷激活值,aai为第i张特征图的平均激活值,n为特征图的数量。
[0064]
织物无缺陷激活值的计算公式为:
[0065]
[0066]
其中,ca2为织物无缺陷激活值,aai为第i张特征图的平均激活值,n为特征图的数量。
[0067]
利用softmax对织物缺陷激活值ca1、织物无缺陷激活值ca2进行计算,得到缺陷与非缺陷的概率,这两个值和为1。
[0068]
(1-3)根据织物缺陷激活值、待检测织物表面图像的前一半特征图,前一半特征图的平均激活值,得到织物缺陷激活图像。
[0069]
织物缺陷激活图像map的计算公式为:
[0070][0071]
其中,map为织物缺陷激活图像,ca1为织物缺陷激活值,aai为第i张特征图的平均激活值,feature mapi为第i张特征图,n为特征图的数量。
[0072]
在得到织物缺陷激活图像之后,对织物缺陷激活图像进行归一化操作,得到归一化后的织物缺陷激活图像。
[0073]
该神经网络在原有卷积神经网络基础上,添加全矩平均池化层gap操作,可以获取每个特征图的平均激活值,该平均激活值可以反映所对应的特征图对神经网络分类的贡献率,平均激活值越大表明待检测织物的特征图对神经网络分类的贡献率越大。再通过add操作,对特征图进行约束,可以使得前32张特征图的激活信息表明对织物缺陷的激活信息,后32张特征图的激活信息表明对正常织物的激活信息,最终得到两个激活值,分别为织物缺陷激活值和织物无缺陷激活值,对于织物缺陷激活值ca1而言,织物缺陷激活值越大,经过softmax分类函数后,其归一化值越大,表明该神经网络的输入图像越可能具有织物缺陷,对于织物无缺陷激活值ca2而言,织物无缺陷激活值越大,经过softmax分类函数后,其归一化值越大,表明该神经网络的输入图像越可能不具有织物缺陷。
[0074]
步骤2:根据织物缺陷激活图像,得到织物缺陷距离变换图像。
[0075]
(2-1)根据织物缺陷激活图像,得到织物缺陷二值图像,并确定织物缺陷二值图像中的各个缺陷连通域。
[0076]
对织物缺陷激活图像进行图像阈值化处理,阈值化处理采用大津阈值法,以分割织物缺陷激活图像中的前景和背景,得到织物缺陷二值图像,织物缺陷二值图像中的像素值为255的表示前景,像素值为0的表示背景,前景为织物缺陷二值图像中的织物缺陷。大津阈值法为公知技术,在此不再详细说明。对织物缺陷二值图像进行连通域提取,得到织物缺陷二值图像中的各个连通域,也就是像素值为255的缺陷连通域,其中,连通域的邻接方式可以为四邻接、八邻接等,实施者可自由选择,效果较佳即可。
[0077]
连通域提取的方法可使用基于行程的标记、基于轮廓的标记方法等,可在opencv库中直接调用,不再赘述其细节。
[0078]
(2-2)对织物缺陷二值图像中的各个缺陷连通域进行筛选,并根据筛选后的织物缺陷二值图像中的各个缺陷连通域和织物缺陷二值图像,得到筛选后的织物缺陷二值图像。
[0079]
根据织物缺陷二值图像中的各个缺陷连通域,将小于缺陷连通域面积阈值的缺陷连通域标记为背景区域,以去除面积小的缺陷连通域,得到筛选后的织物缺陷二值图像和
筛选后的织物缺陷二值图像中的各个缺陷连通域。在本实施例中,缺陷连通域面积阈值经验值为35。
[0080]
(2-3)对筛选后的织物缺陷二值图像进行距离变换,得到织物缺陷距离变换图像。
[0081]
对经过筛选后的织物缺陷二值图像进行距离变换。距离变换是二值图像处理与操作中常用手段,在骨架提取,图像窄化中常有应用。距离变换的结果是得到一张与输入图像类似的灰度图像,其中,背景区域的灰度值为0,并且越远离背景边缘的像素灰度值越大。距离变换的度量距离采用欧氏距离,得到距离变换图像后再进行一次归一化操作,方便后续进行计算。最终得到织物缺陷距离变换图像,该图像中的像素点的灰度值越大代表该像素点越可能是织物缺陷的中心位置。
[0082]
步骤3:根据织物缺陷距离变换图像中的各个像素点的灰度值,得到织物缺陷距离变换图像中的各个像素点的窗口大小。
[0083]
(3-1)根据筛选后的织物缺陷二值图像中的各个缺陷连通域,确定织物缺陷距离变换图像中的各个缺陷连通域。
[0084]
根据步骤(2)中的步骤(2-2),获取筛选后的织物缺陷二值图像中的各个缺陷连通域。并根据筛选后的织物缺陷二值图像中的各个缺陷连通域,确定织物缺陷距离变换图像中的各个缺陷连通域。
[0085]
(3-2)根据织物缺陷距离变换图像中的各个缺陷连通域的外接矩形最长边的边长和各个缺陷连通域内的各个像素点的灰度值,得到织物缺陷距离变换图像中各个缺陷连通域内的各个像素点的窗口大小。
[0086]
根据织物缺陷距离变换图像中的各个像素点的灰度值,获取各个缺陷连通域内的各个像素点的灰度值,并获取各个缺陷连通域的外接矩形的最长边的边长,得到织物缺陷距离变换图像中各个缺陷连通域内的各个像素点的窗口大小,织物缺陷距离变换图像中缺陷连通域内的各个像素点的窗口大小的计算公式为:
[0087]dk
=round(grayk*maxdk)
[0088]
其中,dk为织物缺陷距离变换图像中缺陷连通域内的第k个像素点的窗口大小,round为向上取整函数,grayk为第k个像素点的灰度值,maxdk为第k个像素点所在缺陷连通域的外接矩形最长边的边长。
[0089]
对于织物缺陷距离变换图像中的各个缺陷连通域的各个像素点的窗口大小,限制窗口最小为5*5大小,例如,若织物缺陷距离变换图像中的各个缺陷连通域内的其中一个像素点的窗口大小为3*3,则将其窗口大小限制为5*5。至此,对于织物缺陷距离变换图像中每个缺陷连通域的每个像素点都有最优的窗口大小。
[0090]
(3-3)将织物缺陷距离变换图像中缺陷连通域外的各个像素点的窗口大小置为标准窗口大小。
[0091]
对于织物缺陷距离变换图像中的非缺陷连通域的各个像素点,其像素点的窗口大小为标准窗口大小5*5。根据织物缺陷距离变换图像中的各个缺陷连通域内的各个像素点的窗口和缺陷连通域外的各个像素点的窗口,得到织物缺陷距离变换图像中的各个像素点的窗口大小。
[0092]
步骤4:根据织物缺陷距离变换图像中的各个像素点的灰度值和窗口大小,得到织物缺陷距离变换图像中的各个像素点的灰度共生矩阵。
[0093]
为了降低各个像素点的灰度共生矩阵的计算量,需要先对织物缺陷距离变换图像中的各个像素点的灰度值进行灰度的量化,将各个像素点的灰度值分为n个灰度级,在本实施例中,将灰度值在[0,63]区间的像素点的灰度等级设为1,将灰度值在[64,127]区间内的像素点的灰度等级设为2,将灰度值在[128,191]区间内的像素点的灰度等级设为3,将灰度值在[192,255]区间内的像素点的灰度等级设为4。灰度量化的区间可以根据织物缺陷距离变换图像中的像素点的灰度值设定,不局限于上述四个灰度级。
[0094]
通过织物缺陷距离变换图像中的各个像素点的灰度级和窗口大小,窗口大小为每个像素点的最优窗口大小,在遍历完织物缺陷距离变换图像中所有的像素点后,得到织物缺陷距离变换图像中的各个像素点的灰度共生矩阵,各个像素点的灰度共生矩阵大小都为n*n,具体灰度共生矩阵的生成过程为现有技术,在此不再详细说明。
[0095]
步骤5:根据织物缺陷距离变换图像中的各个像素点的灰度共生矩阵,确定织物能量图像中的各个像素点的能量值,进而得到织物能量图像。
[0096]
根据织物缺陷距离变换图像中的各个像素点的灰度共生矩阵中的各个元素值,将各个像素点的灰度共生矩阵中的各个元素值进行平方再相加,得到织物能量图像中的各个像素点的能量值,织物能量图像中的各个像素点的能量值的计算公式为:
[0097][0098]
其中,asmk为织物能量图像中的第k个像素点的能量值,sk(i,j)为第k个像素点所对应的灰度共生矩阵中第i行第j列的元素值,n为灰度共生矩阵的行或列的数量。
[0099]
织物能量图像中的各个像素点的能量值是灰度共生矩阵各个元素的平方和,又被称为角二阶距。角二阶距是图像相似距离变化均一的度量,可以反应图像灰度值分布均匀程度。该矩阵可反应出量化相似级矩阵的邻域变化均一性。
[0100]
对于织物缺陷距离变换图像中的各个像素点的灰度值,灰度值越大越可能是织物缺陷。由于织物缺陷距离变换图像中的各个像素点的窗口大小不同,得到的织物缺陷距离变换图像中的各个像素点的灰度共生矩阵的各个元素值不同,计算织物缺陷距离变换图像中的各个像素点的灰度共生矩阵时的窗口越大,得到的像素点的灰度共生矩阵中的元素值越大,其能量表示越大。对于织物而言,非织物缺陷区域的各个像素点的灰度值分布比较统一,得到的各个像素点的能量值比较大,若存在织物缺陷,则会因为各个像素点的窗口的变化导致能量值偏小。
[0101]
步骤6:根据织物能量图像、织物缺陷距离变换图像和织物表面图像,得到织物缺陷分割图像。
[0102]
(6-1)将织物能量图像、织物缺陷距离变换图像和织物表面图像进行融合,得到织物缺陷表示图像。
[0103]
根据步骤(1)、步骤(2)和步骤(5),获取的织物表面图像、织物缺陷距离变换图像和织物能量图像,将织物表面图像、织物缺陷距离变换图像和织物能量图像进行融合,融合的方法采用concatenate联合方法,得到织物缺陷表示图像。concatenate联合为公知技术,在此不再赘述。
[0104]
(6-2)将织物缺陷表示图像输入至训练好的语义分割神经网络中,得到织物缺陷
分割图像。
[0105]
将织物缺陷表示图像输入至基于深度学习的语义分割技术进行分割,将该织物缺陷表示图像输入至语义分割神经网络模型中,如unet、deeplab等模型,最终得到织物缺陷分割图像。语义分割神经网络模型的训练过程是本领域技术人员所周知的,这里不再赘述。
[0106]
上述的基于神经网络的织物缺陷图像分割方法,通过获取织物表面图像,根据织物表面图像,得到织物缺陷距离变换图像,并对织物缺陷距离变换图像中的各个像素点进行处理,确定各个像素点最优的窗口大小,得到各个像素点的灰度共生矩阵的能量值,从而得到织物能量图像,根据织物能量图像、织物缺陷距离变换图像和织物表面图像,得到织物缺陷分割图像,提高了对织物缺陷分割的效率和精度。
[0107]
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0108]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
[0109]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献