1.本发明涉及无损检测领域,尤其是涉及一种基于卷积神经网络和多头注意力的纺织品纤维无损检测方法、装置及存储介质。
背景技术:2.纤维成分对服装的舒适性、保暖性、吸湿导汗性等有非常重要的影响,因此市场上销售的纺织品都被要求明确标注纤维成分。但是仍有一些厂商为了利润而故意误标成分,比如把便宜的化纤织物标成棉、毛等优质天然纤维等,这些行为严重扰乱了市场秩序和损害了消费者利益。因此,纺织品的成分识别是市场监管机构和消费者关注的主要问题之一。目前纺织品纤维检测主流方法是通过破坏织物并从中抽取出部分纤维进行测试,效率低、成本高,且容易受人的主观因素影。这些方法既不方便相关监管检测部门的大规模快速纤维成分检测,也不适合普通消费者购买消费品时的即时检测。随着计算机视觉技术的发展,卷积神经网络已开始助力纤维识别技术。但此类纤维识别方法仍需要破坏服装制作样本且受制于卷积神经网在小目标分类上精确度不高的固有缺陷,导致目前的纤维检测自动化程度不高且离不开有经验的操作人员。2017年谷歌翻译团队提出了一种使用注意力机制完全代替卷积核提取特征的transformer模型,该模型及相关改进的模型在自然语言处理领域取得了巨大成功并成为了主流模型。最近两年,基于transformer的神经网络也开始在计算机视觉领域崭露头角。然而,这些用于计算机视觉领域的transformer模型需要将输入的图像按一定规则分割成多个小块。在分割时无法兼顾织物中纤维形状的特殊性,如纤维卷曲、重叠、交缠等。因此,基于transformer的神经网络加剧了输入图像中纤维种类和数量的不平衡,造成纤维识别精度不佳。
技术实现要素:3.本发明的目的就是为了提供一种基于卷积神经网络和多头注意力的纺织品纤维无损检测方法、装置及存储介质,基于多头自注意力机制提取纤维类别特征,并通过多头交叉注意力机制定位每个纤维类别的纤维特征,自适应的从数据中提取所需特征,从而实现织物图片中的每一类纤维的无损织物的快速识别,识别精度高。
4.本发明的目的可以通过以下技术方案来实现:
5.一种基于卷积神经网络和多头注意力的纺织品纤维无损检测方法,包括以下步骤:
6.获取织物表面图像数据集和纤维类别信息,其中,所述纤维类别信息包含多个向量,一个向量对应一个类别的纤维;
7.对织物表面图像数据集进行预处理;
8.基于正余弦函数对纤维类别信息进行添加位置编码操作;
9.构建纤维自动识别模型,所述纤维自动识别模型包括基于卷积神经网络的纤维特征提取模块、基于多头注意力机制的纤维识别模块、线性投影模块和输出判断模块,其中,
10.所述纤维特征提取模块为由1个常规卷积模块和4组残差卷积模块组成的卷积神经网络,其中,所述常规卷积模块包括卷积层,批归一化层,relu函数和池化层,所述残差卷积模块每组包括1个残差子模块1和多个残差子模块2,纤维特征提取模块的输出为纤维空间特征,
11.所述纤维识别模块由2个transformer解码层组成,transformer解码层包括依次连接的自注意力模块、交叉注意力模块和位置前馈网络模块,自注意力模块、交叉注意力模块均采用多头注意力机制,其中,自注意力模块的输入为纤维类别信息和包含位置编码的纤维类别信息,交叉注意力模块的输入为自注意力模块的输出、纤维空间特征和包含位置编码的纤维空间特征,所述包含位置编码的纤维空间特征基于正余弦函数对纤维空间特征进行添加位置编码操作得到,所述位置前馈网络模块基于relu激活函数连接两个维度的线性变换层,对交叉注意力模块的输出进行特征加强,输出纤维类别特征向量,
12.所述线性投影模块基于sigmoid函数将纤维识别模块输出的特征向量线性投影为纤维类别的概率值,
13.所述输出判断模块基于纤维类别的概率值判断所述类别的纤维是否存在;
14.基于预处理后的织物表面图像数据集和包含位置编码的纤维类别信息训练纤维自动识别模型,当纤维自动识别模型的损失函数收敛时,完成训练;
15.基于训练完成的纤维自动识别模型完成无损纺织品纤维检测。
16.所述预处理包括图像的缩小、旋转、裁剪操作。
17.所述添加位置编码操作为:
[0018][0019][0020]
其中,表示添加位置编码操作后的数据,表示像素点所在位置为偶数时的添加位置编码操作后的数据,表示像素点所在位置为奇数时的添加位置编码操作后的数据,pos为像素点位置,d是像素点所在维度,d
modexl
为数据进行位置编码时的总维度数。
[0021]
所述自注意力模块的输出为:
[0022][0023]
其中,q
i-1
为上一层输出的纤维类别信息,为添加了位置编码的上一层输出的纤维类别信息,
[0024]
multihead(q,k,v)=concat(head1,head2,
…
headn)wo[0025]
headi=attention(qw
iq
,kw
ik
,vw
iv
)
[0026]
[0027]
其中,q表示查询,k表示键,v表示值,dk为缩放参数,w
iq
、w
ik
、w
iv
、wo为权重参数。
[0028]
所述交叉注意力模块的输出为:
[0029][0030]
其中,f为纤维空间特征,为包含位置编码的纤维空间特征。
[0031]
所述位置前馈网络模块的输出为:
[0032][0033]
其中,ffn表示位置前馈网络,max(
·
)为relu激活函数,w1、w2为权重参数,b2、b2为偏置参数,qi为输出的纤维类别特征向量。
[0034]
所述自注意力模块、交叉注意力模块和位置前馈网络模块的输出在进入下一模块前还执行相加归一化操作步骤,所述相加归一化操作具体为将输出分别与各自模块的输入相加并进行归一化。
[0035]
所述线性投影模块的计算方式为:
[0036][0037]
其中,pm为属于第m类纤维的概率,wm、bm为线性投影参数,qm为纤维识别模块输出的第m类纤维的特征向量,m=1,2,
…
,m,m为纤维类别数。
[0038]
所述损失函数为:
[0039][0040]
其中,γ+和γ-是超参数,默认γ+=0和γ-=1,ym是一个二进制标签,表示输入的织物表面图像中的纤维类别m的存在状态,ym=1表示存在纤维类别m,ym=0表示不存在纤维类别m。
[0041]
一种基于卷积神经网络和多头注意力的纺织品纤维无损检测装置,包括存储器、处理器,以及存储于所述存储器中的程序,所述处理器执行所述程序时实现如上述所述的方法。
[0042]
一种存储介质,其上存储有程序,所述程序被执行时实现如上述所述的方法。
[0043]
与现有技术相比,本发明具有以下有益效果:
[0044]
在不破坏纺织品的情况下,本发明利用卷积神经网络提取织物图像中的纤维特征,采用多头注意力自适应的将纤维特征和纤维类别信息进行匹配,实现了纺织纤维的快速准确识别。既解决了卷积神经网络容易丢失小目标特征的缺陷,也解决了transformer模型在分割纤维图像成输入图像块时,无法兼顾织物中纤维形状的特殊性,如纤维卷曲、重叠、交缠等造成的纤维识别精度不佳的问题。
附图说明
[0045]
图1为本发明的方法流程图;
[0046]
图2为纤维自动识别模型的结构示意图;
[0047]
图3为纤维识别模块的结构示意图;
[0048]
图4为残差子模块的结构示意图,其中,(a)为残差子模块1的结构示意图,(b)为残
差子模块2的结构示意图。
具体实施方式
[0049]
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0050]
一种基于卷积神经网络和多头注意力的纺织品纤维无损检测方法,如图1所示,包括以下步骤:
[0051]
1)获取织物表面图像数据集和纤维类别信息
[0052]
利用市售光学放大镜连接智能手机或者便携电脑,采集和储存常见织物表面图像数据集。将纺织面料置于光学放大镜下手动调焦,待手机或电脑屏幕上图片清晰后,拍摄该织物图像;每件织物在不同位置采集5幅图片;如果能采集到织物反面照片,按前述方法在反面再拍摄5幅照片,来增加数据的多样性。同时,对数据集中每张照片确定纤维类别信息。所述纤维类别信息包含多个向量,一个向量对应一个类别的纤维。
[0053]
2)对织物表面图像数据集进行预处理;
[0054]
将原始图像缩小到400
×
400后,对图片进行90
°
、180
°
、270
°
旋转,获得对应的4张图片。对每张旋转后的图片随机裁剪出5张大小为224
×
224的图片,增加训练集数据。
[0055]
3)基于正余弦函数对纤维类别信息进行添加位置编码操作;
[0056]
所述添加位置编码操作为:
[0057][0058][0059]
其中,表示添加位置编码操作后的数据,表示像素点所在位置为偶数时的添加位置编码操作后的数据,表示像素点所在位置为奇数时的添加位置编码操作后的数据,pos为像素点位置,d是像素点所在维度,d
model
为数据进行位置编码时的总维度数。
[0060]
4)构建纤维自动识别模型
[0061]
所述纤维自动识别模型如图2所示,包括基于卷积神经网络的纤维特征提取模块、基于多头注意力机制的纤维识别模块、线性投影模块和输出判断模块。
[0062]
①
纤维特征提取模块
[0063]
所述纤维特征提取模块为由1个常规卷积模块和4组残差卷积模块组成的卷积神经网络,用于提取织物表面图像特征,输出纤维空间特征。
[0064]
常规卷积模块由卷积层,批归一化层,relu函数和池化层组成。卷积层由64个大小为7
×
7、步长值为2的卷积核组成。池化层为大小为3
×
3、步长值为2的最大池化。输入一张224
×
224的织物表面图像依次经过卷积层,批归一化层,relu函数和池化层处理后的输出作为残差卷积模块的输入。
[0065]
残差卷积模块由1个残差子模块1和多个残差子模块2组成,其结构如图4所示。残差子模块1输入数据依次经过卷积核大小为1
×
1、3
×
3、1
×
1三个卷积层后,和输入经过1
×
1的连接卷积层后的数据相加,得到输出。残差子模块2输入数据依次经过卷积核大小1
×
1、3
×
3、1
×
1三个卷积层后,与输入相加,得到输出。1
×
1卷积核的步长都为1,3
×
3卷积核的步长都为2。
[0066]
第一组残差卷积模块包含1个残差子模块1和2个残差子模块2;
[0067]
第二组残差卷积模块包含1个残差子模块1和3个残差子模块2;
[0068]
第三组残差卷积模块包含1个残差子模块1和5个残差子模块2;
[0069]
第四组残差卷积模块包含1个残差子模块1和2个残差子模块2。
[0070]
②
纤维识别模块
[0071]
所述纤维识别模块由2个transformer解码层组成,transformer解码层包括依次连接的自注意力模块、交叉注意力模块和位置前馈网络模块。2个transformer解码层表示执行2次运算。所述自注意力模块、交叉注意力模块和位置前馈网络模块的输出在进入下一模块前还执行相加归一化操作步骤,所述相加归一化操作具体为将输出分别与各自模块的输入相加并进行归一化,以防止计算时的梯度消失或梯度爆炸等问题,如图3所示。
[0072]
自注意力模块、交叉注意力模块均采用多头注意力机制:
[0073]
multihead(q,k,v)=concat(head1,head2,
…
headn)wo[0074]
headi=attention(qw
iq
,kw
ik
,vw
iv
)
[0075][0076]
其中,q表示查询,k表示键,v表示值,dk为缩放参数,w
iq
、w
ik
、w
iv
、wo为权重参数。
[0077]
自注意力模块的输入为纤维类别信息和包含位置编码的纤维类别信息,计算方式为:
[0078][0079]
其中,q
i-1
为上一层(即第i-1层)输出的纤维类别信息,为添加了位置编码的上一层(即第i-1层)输出的纤维类别信息。
[0080]
交叉注意力模块的输入为自注意力模块的输出、纤维空间特征和包含位置编码的纤维空间特征,所述包含位置编码的纤维空间特征基于正余弦函数对纤维空间特征进行添加位置编码操作得到,计算方式为:
[0081]
所述交叉注意力模块的计算方式为:
[0082][0083]
其中,f为纤维空间特征,为包含位置编码的纤维空间特征,为自注意力模块的输出。
[0084]
所述位置前馈网络模块基于relu激活函数连接两个线性变换层的全连接网络,对交叉注意力模块的输出进行特征加强,输出每一纤维类别的特征向量,计算方式为:
[0085]
[0086]
其中,ffn表示位置前馈网络,max(
·
)为relu激活函数,w1、w2为权重参数,b2、b2为偏置参数,为交叉注意力模块的输出,qi为纤维类别特征向量。是两个过渡变量。
[0087]
③
线性投影模块
[0088]
所述线性投影模块基于sigmoid函数将纤维识别模块输出的特征向量线性投影为纤维类别的概率值:
[0089][0090]
其中,pm为属于第m类纤维的概率,wm、bm为线性投影参数,qm为纤维识别模块输出的第m类纤维的特征向量,m=1,2,
…
,m,m为纤维类别数。
[0091]
④
输出判断模块
[0092]
所述输出判断模块基于纤维类别的概率值判断所述类别的纤维是否存在;当pm>0.5时,则认为该类别的纤维存在。
[0093]
5)基于预处理后的织物表面图像数据集和包含位置编码的纤维类别信息训练纤维自动识别模型,当纤维自动识别模型的损失函数收敛时,完成训练;
[0094]
所述损失函数为:
[0095][0096]
其中,γ+和γ-是超参数,默认γ+=0和γ-=1,ym是一个二进制标签,表示输入的织物表面图像中的纤维类别m的存在状态,ym=1表示存在纤维类别m,ym=0表示不存在纤维类别m。
[0097]
在本实施例中,总的损失是通过对训练数据集中所有样本的损失进行平均来计算的,采用随机梯度下降法进行优化,算法学习率为0.00001,冲量为0.9。
[0098]
6)基于训练完成的纤维自动识别模型完成无损纺织品纤维检测。
[0099]
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0100]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依据本发明的构思在现有技术的基础上通过逻辑分析、推理、或者有限的实验可以得到的技术方案,皆应在权利要求书所确定的保护范围内。