一种结合浅层与深层特征的小样本丝织品图像检索方法

文档序号:26504340发布日期:2021-09-04 07:21阅读:129来源:国知局
一种结合浅层与深层特征的小样本丝织品图像检索方法

1.本发明属于深度学习图像检索领域,具体涉及一种结合浅层与深层特征的小样本丝织品图像检索方法。


背景技术:

2.图像检索一直以来都是计算机视觉领域重要的研究课题,从20世纪90年代早期开始,研究人员便先后设计了图像的全局特征、局部特征等方法对图像检索任务进行探索和研究。由于sift(scale

invariant feature transform)
1.特征对图像平移、缩放和旋转具有明显的不变性,因此在传统的图像检索领域得到了广泛的应用。尽管十多年来传统人工特征的检索方法占据了图像检索领域,并在视觉检索方面取得了重大进展,但它的缺点也很明显。这类方法严重依赖于人工特征,需要依据任务和数据集人工设计描述符,无法通过端到端的方式进行训练。而随着卷积神经网络的蓬勃发展,深度学习时代的到来带来了新的气象。近年来,深度学习在诸多领域上取得了巨大的成功,其中包含图像检索领域。而在图像检索领域中,丝织品图像检索仍然缺乏研究。相近的任务有布料图像检索(deng d,wang r,wu h,et al.learning deep similarity models with focus ranking for fabric image retrieval[j].image and vision computing,2018,70:11

20.),但其只关注浅层的布料纹理特征,而丝织品图像检索需要同时关注浅层纹理特征与深层语义特征。因此该研究并不适用于丝织品图像检索。


技术实现要素:

[0003]
为克服现有技术缺陷,本发明提出一种结合浅层与深层特征的小样本丝织品图像检索方法。
[0004]
本发明的目的至少通过以下技术方案之一实现。
[0005]
一种结合浅层与深层特征的小样本丝织品检索方法,包括以下步骤:
[0006]
s1、收集丝织品图像,建立丝织品样本库;
[0007]
s2、建立卷积神经网络模型;
[0008]
s3、使用有约束采样方法对丝织品样本库进行采样得到训练数据集;
[0009]
s4、使用训练数据集训练卷积神经网络模型,得到训练完成的卷积神经网络模型;
[0010]
s5、使用训练完成的卷积神经网络模型提取待检索丝织品图像的特征,并计算提取得到的待检索丝织品图像的特征与样本库中各个丝织品图像提取到的特征的欧式距离,欧氏距离越小表示待检索丝织品图像与样本库中的丝织品图像越相似,根据欧式距离的大小得到基于图像特征的待检索丝织品图像的检索结果。
[0011]
进一步地,步骤s2中,所述卷积神经网络模型基于u

net构建,卷积神经网络模型包括u

net层、3层卷积层、注意力模块、池化层和全连接层;
[0012]
其中,u

net层包括从浅层网络至深层网络的跳跃连接,该跳跃连接将浅层网络的特征复制并拼接到深层网络的特征上,通过卷积操作对该拼接后的浅层网络的特征与深层
网络的特征进行融合;
[0013]
输入卷积神经网络模型的丝织品图像先经过u

net层提取特征,再经过3层卷积层进行卷积计算后输入注意力模块中进行计算得到经过注意力加权的特征图,经过注意力加权的特征图输入池化层和全连接层输出丝织品图像的特征。
[0014]
进一步地,u

net层共有14层卷积层,其中每2层卷积层为一组;第一卷积层组down1包括第一层卷积层和第二层卷积层,第二卷积层组down2包括第三层卷积层和第四层卷积层,第三卷积层组down3包括第五层卷积层和第六层卷积层,第四卷积层组bottom包括第七层卷积层和第八层卷积层,第五卷积层组up3包括第九层卷积层和第十层卷积层,第六卷积层组up2包括第十一层卷积层和第十二层卷积层,第七卷积层组up1包括第十三层卷积层和第十四层卷积层;
[0015]
其中,每组卷积层组包括的两层卷积层中,前一层卷积层使用3x3大小的卷积核,填充为1,后接实例标准化、leaky relu激活函数和取值0.2的随机失活;后一层卷积层使用3x3大小的卷积核,填充为1,后接实例标准化和leaky relu激活函数;
[0016]
在第一卷积层组down1、第二卷积层组down2、第三卷积层组down3的后面均接有2x2大小的最大池化,在第四卷积层组bottom、第五卷积层组up3、第六卷积层组up2的后面均接有2x2的二次线性插值上采样、卷积核大小为3x3填充为1的卷积、实例标准化和leaky relu激活函数;
[0017]
在第一卷积层组down1与第七卷积层组up1之间、第二卷积层组down2与第六卷积层组up2之间、第三卷积层组down3与第五卷积层组up3之间存在着跳跃连接,作为浅层特征信息与深层特征信息融合的重要手段;该跳跃连接的具体操作为,分别将第一卷积层组down1、第二卷积层组down2和第三卷积层组down3在最大池化前的特征图复制并拼接到第七卷积层组up1、第六卷积层组up2和第五卷积层组up3的输入特征图上,该拼接沿通道方向进行。
[0018]
进一步地,3层卷积层中的前两层均使用大小为3x3的卷积核,后接批标准化、relu激活函数和2x2的最大池化层,卷积操作没有填充;3层卷积层中的最后一层使用大小为3x3的卷积核,后接批标准化、relu激活函数,卷积操作没有填充;
[0019]
池化层使用层级数为3的空间金字塔池化层,空间金字塔池化层输出大小为21的向量;全连接层输出大小为32的向量。
[0020]
进一步地,注意力模块中结合注意力机制和多任务学习,注意力模块中的操作具体包括以下步骤:
[0021]
s2.1、使用平均池化技术对最后一层卷积层后的第一特征图d进行池化,得到1x1大小,64通道的第二特征图f;
[0022]
s2.2a、将第二特征图f输入至全连接层,得到64大小的特征向量,再将该特征向量送入分类器进行图像分类。
[0023]
s2.2b;、将第一特征图d与第二特征图f进行按通道乘操作,得到经过注意力加权的特征图g,将g送入后续空间金字塔池化层中;
[0024]
其中,步骤s2.2a与步骤s2.2b为步骤s2.1之后的两个分支,可同时进行,互相独立;
[0025]
按通道乘的操作具体为:将第二特征图f的每个通道中1x1大小的数值与第一特征
图d每个通道中hxw大小的矩阵一一对应,然后每个hxw矩阵中的每一个元素都乘上与之对应的1x1数值,其中,h为矩阵的行数,w为矩阵的列数。
[0026]
进一步地,步骤s3中,所述有约束采样方法包括以下步骤:
[0027]
s3.1、在样本库中对所有丝织品类别中的每个类别随机抽取5对相同类别的正样本对;每对正样本对之中的两张图片不一样,不同正样本对之间,可以抽到出现于其他正样本对中的图片;
[0028]
s3.2、对于所有相同类别的正样本对中每一对的第一张图片,抽取30个随机负样本与该图片组成负样本对,其中前20个负样本来自同一类别,但与正样本对中的图片的类别不同,后10个负样本来自不同类别,与正样本对中的图片的类别不同且与前20个负样本的类别不同;
[0029]
s3.3、将所有正样本对复制2次,此时每对正样本对总共出现了3次。
[0030]
s3.4、将所有采样的正样本对与负样本对组成训练数据集。
[0031]
进一步地,步骤s4中,训练卷积神经网络模型时,卷积神经网络模型的损失函数为:
[0032][0033]
其中,x
i
和x
j
分别为输入的丝织品图像对中的丝织品图像i和丝织品图像j经过卷积神经网络模型后提取到的特征;y表示成对标签,输入的丝织品图像对中的丝织品图像i和丝织品图像j为同一类别时y为1,否则为0;d(
·
)为欧式距离计算公式;margin为预先设定的阈值,表示不同类别特征之间的欧式距离最小不可小于margin值;k表示丝织品图像的类别;p
k
表示丝织品图像属于第k类的真实概率,为卷积神经网络模型预测的该丝织品图像属于第k类的预测概率。
[0034]
进一步地,使用欧式距离计算图像之间的相似性,欧式距离的计算公式为:
[0035][0036]
其中,a和b分别为两个图像经过网络计算后提取出的n维特征向量,a
m
为向量a在第m维度上的值,b
m
为向量b在第m维度上的值。
[0037]
与现有技术相比,本发明实现的有益效果至少如下:
[0038]
本发明针对丝织品图像属性特殊的问题,结合了图像的浅层纹理信息和深层语义信息,适应于丝织品图像检索。
[0039]
本发明针对小样本难训练的问题,提出了区别于随机采样方法的有约束的采样方法,提高样本利用率并提升检索表现。
[0040]
本发明结合了注意力机制与多任务学习,使神经网络更集中地学习与检索相关的知识,摒弃无关信息的干扰,在不提升额外数据量的情况下有效提高模型性能。
附图说明
[0041]
图1为本发明实施例中一种结合浅层与深层特征的小样本丝织品检索方法的模型示意图;
[0042]
图2为本发明实施例中卷积神经网络模型u

net层结构图。
[0043]
图3为本发明实施例中损失函数及阈值margin在特征空间中的作用示意图。
具体实施方式
[0044]
以下结合附图和具体实施方式对本发明的方案做进一步的阐述。
[0045]
实施例1:
[0046]
一种结合浅层与深层特征的小样本丝织品检索方法,如图1所示,包括以下步骤:
[0047]
s1、收集丝织品图像,建立丝织品样本库;
[0048]
本实施例中,一共5895张丝织品图像,通过人工分类,将相似的丝织品归为一类,总计59类。将5895张图像划分为训练图片4532张,验证图片671张,测试图片672张。
[0049]
s2、建立卷积神经网络模型;
[0050]
如图1所示,所述卷积神经网络模型基于u

net构建,卷积神经网络模型包括u

net层、3层卷积层、注意力模块、池化层和全连接层;
[0051]
其中,u

net层包括从浅层网络至深层网络的跳跃连接,该跳跃连接将浅层网络的特征复制并拼接到深层网络的特征上,通过卷积操作对该拼接后的浅层网络的特征与深层网络的特征进行融合;
[0052]
输入卷积神经网络模型的丝织品图像先经过u

net层提取特征,再经过3层卷积层进行卷积计算后输入注意力模块中进行计算得到经过注意力加权的特征图,经过注意力加权的特征图输入池化层和全连接层输出丝织品图像的特征。
[0053]
本实施例中,如图2所示,u

net层共有14层卷积层,其中每2层卷积层为一组;第一卷积层组down1包括第一层卷积层和第二层卷积层,第二卷积层组down2包括第三层卷积层和第四层卷积层,第三卷积层组down3包括第五层卷积层和第六层卷积层,第四卷积层组bottom包括第七层卷积层和第八层卷积层,第五卷积层组up3包括第九层卷积层和第十层卷积层,第六卷积层组up2包括第十一层卷积层和第十二层卷积层,第七卷积层组up1包括第十三层卷积层和第十四层卷积层;
[0054]
其中,每组卷积层组包括的两层卷积层中,前一层卷积层使用3x3大小的卷积核,填充为1,后接实例标准化、leaky relu激活函数和取值0.2的随机失活;后一层卷积层使用3x3大小的卷积核,填充为1,后接实例标准化和leaky relu激活函数;
[0055]
在第一卷积层组down1、第二卷积层组down2、第三卷积层组down3的后面均接有2x2大小的最大池化,在第四卷积层组bottom、第五卷积层组up3、第六卷积层组up2的后面均接有2x2的二次线性插值上采样、卷积核大小为3x3填充为1的卷积、实例标准化和leaky relu激活函数;
[0056]
在第一卷积层组down1与第七卷积层组up1之间、第二卷积层组down2与第六卷积层组up2之间、第三卷积层组down3与第五卷积层组up3之间存在着跳跃连接,作为浅层特征信息与深层特征信息融合的重要手段;该跳跃连接的具体操作为,分别将第一卷积层组down1、第二卷积层组down2和第三卷积层组down3在最大池化前的特征图复制并拼接到第
七卷积层组up1、第六卷积层组up2和第五卷积层组up3的输入特征图上,该拼接沿通道方向进行;
[0057]
图像经过u

net层提取特征之后,特征图分辨率会恢复成与输入图像一模一样大小。
[0058]
本实施例中,3层卷积层中的前两层均使用大小为3x3的卷积核,后接批标准化、relu激活函数和2x2的最大池化层,卷积操作没有填充;3层卷积层中的最后一层使用大小为3x3的卷积核,后接批标准化、relu激活函数,卷积操作没有填充;
[0059]
池化层使用层级数为3的空间金字塔池化层,空间金字塔池化层输出大小为21的向量;全连接层输出大小为32的向量。
[0060]
注意力模块中结合注意力机制和多任务学习,注意力模块中的操作具体包括以下步骤:
[0061]
s2.1、使用平均池化技术对最后一层卷积层后的第一特征图d进行池化,得到1x1大小,64通道的第二特征图f;
[0062]
s2.2a、将第二特征图f输入至全连接层,得到64大小的特征向量,再将该特征向量送入分类器进行图像分类。
[0063]
s2.2b;、将第一特征图d与第二特征图f进行按通道乘操作,得到经过注意力加权的特征图g,将g送入后续空间金字塔池化层中;
[0064]
其中,步骤s2.2a与步骤s2.2b为步骤s2.1之后的两个分支,可同时进行,互相独立;
[0065]
按通道乘的操作具体为:将第二特征图f的每个通道中1x1大小的数值与第一特征图d每个通道中hxw大小的矩阵一一对应,然后每个hxw矩阵中的每一个元素都乘上与之对应的1x1数值,其中,h为矩阵的行数,w为矩阵的列数。
[0066]
s3、使用有约束采样方法对丝织品样本库进行采样得到训练数据集;
[0067]
所述有约束采样方法包括以下步骤:
[0068]
s3.1、在样本库中对所有丝织品类别中的每个类别随机抽取5对相同类别的正样本对;每对正样本对之中的两张图片不一样,不同正样本对之间,可以抽到出现于其他正样本对中的图片;
[0069]
s3.2、对于所有相同类别的正样本对中每一对的第一张图片,抽取30个随机负样本与该图片组成负样本对,其中前20个负样本来自同一类别,但与正样本对中的图片的类别不同,后10个负样本来自不同类别,与正样本对中的图片的类别不同且与前20个负样本的类别不同;
[0070]
s3.3、将所有正样本对复制2次,此时每对正样本对总共出现了3次。
[0071]
s3.4、将所有采样的正样本对与负样本对组成训练数据集。
[0072]
s4、使用训练数据集训练卷积神经网络模型,得到训练完成的卷积神经网络模型;
[0073]
本实施例中,将采样好的训练数据集输入建立好的神经网络模型中,通过损失函数训练并更新模型参数,其中每训练10次便用验证图片组成的验证集对模型进行准确度验证。在总共300次训练过后,只取准确度最高的模型参数保存下来,即得到训练完成的卷积神经网络模型;训练卷积神经网络模型时,卷积神经网络模型的损失函数为:
[0074][0075]
其中,x
i
和x
j
分别为输入的丝织品图像对中的丝织品图像i和丝织品图像j经过卷积神经网络模型后提取到的特征;y表示成对标签,输入的丝织品图像对中的丝织品图像i和丝织品图像j为同一类别时y为1,否则为0;d(
·
)为欧式距离计算公式;margin为预先设定的阈值,表示不同类别特征之间的欧式距离最小不可小于margin值,损失函数及阈值margin在特征空间中的作用如图3所示;k表示丝织品图像的类别;p
k
表示丝织品图像属于第k类的真实概率,为卷积神经网络模型预测的该丝织品图像属于第k类的预测概率。
[0076]
使用欧式距离计算图像之间的相似性,欧式距离的计算公式为:
[0077][0078]
其中,a和b分别为两个图像经过网络计算后提取出的n维特征向量,a
m
为向量a在第m维度上的值,b
m
为向量b在第m维度上的值。
[0079]
s5、使用训练完成的卷积神经网络模型提取待检索丝织品图像的特征,并计算提取得到的待检索丝织品图像的特征与样本库中各个丝织品图像提取到的特征的欧式距离,欧氏距离越小表示待检索丝织品图像与样本库中的丝织品图像越相似,根据欧式距离的大小得到基于图像特征的待检索丝织品图像的检索结果。
[0080]
采用准确率、精准度和平均精度均值(map)图像检索结果评价指标,与resnet、densenet、redsl、netvlad、dsmfr模型作对比,当检索数量设置为5时,其对比结果如下。
[0081]
表1不同模型和方法在自建丝织品数据集上的检索性能
[0082][0083]
从表1可以明显看到,相比于其他现有的检索方法,采用本实施例提供的检索方法的得到丝织品检索结果明显更优,体现了本实施例提供的丝织品检索方法的优越性,可以更为准确地检索到丝织品图像的相似性结果。
[0084]
实施例2:
[0085]
在一个具体的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述丝织品图像检索方法的步骤。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、数据库、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储丝织品样本图像以及数据库等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述结合浅层与深层的小样本丝织品图像检索方法。
[0086]
实施例3:
[0087]
在一个具体的实施例中,提供了一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述结合浅层与深层的小样本丝织品图像检索方法的步骤。
[0088]
本发明中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1