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

一种瓷砖图像检索方法、装置、电子设备及存储介质

2022-06-12 03:14:46 来源:中国专利 TAG:


1.本发明涉及计算机视觉技术领域,特别是涉及一种瓷砖图像检索方法、装置、电子设备及存储介质。


背景技术:

2.目前,绝大多数企业在瓷砖的分类和检索步骤中,依然由人工来完成此类工作,存在着速度慢、效率低、劳动强度大的问题。同时,不同类别的瓷砖具有一定相似性,再加上各种噪声和环境的干扰,使得人工识别、分类、检索变得十分困难。在识别过程中,还会受到检验人员的经验、熟练程度以及一些主观因素的影响,所以分类检索的结果会存在很大偏差,缺乏稳定性和可靠性。
3.另外,瓷砖普遍存在着类内差异大,类间差异小的问题。瓷砖与普通的图像存在很大的不同,普通的图像的特征绝大部分是关于形状的信息,但是瓷砖图像则含有大量的纹理特征信息,纹理在图像中体现为特征值强度的某种局部重复模式的宏观表现。
4.目前,图像分类领域普遍采用基于深度学习的方法,大多数主流的深度学习图像分类检索框架,例如vgg、resnet、densenet等,在实际应用中都是用于普通的图像分类检索,对于瓷砖与户型图这类图像却不太适用,并且由于现有的中大规模的图像检索一般步骤为:图像特征提取、图像特征编码学习、距离排序匹配、图像检索,如果需要达到工业要求的准确率,一般需要很深的网络结构,不仅计算成本太高,耗时大,很难满足工业要求,并且针对瓷砖与户型图像,这种方法检索效果不是很理想。


技术实现要素:

5.基于此,本发明的目的在于,提供一种瓷砖图像检索方法、装置、电子设备及存储介质,能够实现瓷砖图像的自动检索,提高了检索结果的准确率。
6.第一方面,本发明提供一种瓷砖图像检索方法,包括以下步骤:
7.获取待检索的瓷砖图像,并将所述待检索的瓷砖图像转化为4d张量;
8.将所述4d张量输入训练好的特征提取网络,得到所述待检索的瓷砖图像对应的特征张量;其中,所述特征提取网络为卷积神经网络经过预训练、迁移学习和网络微调训练得到;
9.对所述特征张量进行归一化处理,得到所述待检索的瓷砖图像对应的标准特征向量;
10.检索预先建立的瓷砖特征数据库中所有的特征向量,计算所述标准特征向量与所述瓷砖特征数据库中所有的特征向量的相似分数;其中,所述瓷砖特征数据库包括多个特征向量及每个特征向量对应的瓷砖图像名称,所述特征向量为用于比对的瓷砖图像经过所述特征提取网络提取得到;
11.输出相似分数大于预设阈值的所有特征向量对应的瓷砖图像。
12.进一步地,所述瓷砖特征数据库的建立步骤包括:
13.收集多张瓷砖产品图像,并将所述瓷砖产品图像库中所有的瓷砖产品图像转化为4d张量;
14.将每个所述瓷砖产品图像的所述4d张量输入所述训练好的特征提取网络,得到每个所述瓷砖产品图像对应的特征张量;其中,所述特征提取网络为卷积神经网络经过预训练、迁移学习和网络微调训练得到;
15.对所述特征张量进行归一化处理,得到每个所述瓷砖产品图像对应的标准特征向量;
16.保存所述标准特征向量及其对应的瓷砖图像名称,得到所述瓷砖特征数据库。
17.进一步地,所述特征提取网络的训练步骤包括:
18.使用imagenet数据集对所述特征提取网络的基网络进行预训练;
19.将所述经过预训练的基网络的顶层的全连接层与分类层替换为新的dense层与分类层,得到第一网络;
20.使用alot纹理数据集重新训练替换过的特征提取网络,得到训练好的第一网络;
21.将所述训练好的第一网络的顶层的分类层替换为新的全连接层与分类层,得到第二网络;
22.冻结所述第二网络的卷积基,使用alot纹理数据集重新训练所述第二网络,得到第三网络;
23.解冻所述第三网络的卷积基的部分卷积层,使用alot纹理数据集继续训练所述第三网络,得到训练好的特征提取网络。
24.进一步地,所述特征提取网络的基网络为densene121。
25.进一步地,解冻所述第三网络的卷积基的部分卷积层,使用alot纹理数据集继续训练所述第三网络,包括:
26.解冻conv5_block1_0_bn后面所有的卷积层后进行编译并训练模型,其中,训练参数包括:
27.编译模型设置的参数为:
28.loss='categorical_crossentropy';
29.optimizer=tensorflow.keras.optimizers.rmsprop(lr=1e-5)metrics=['acc'];
[0030]
训练模型设置的参数为:
[0031]
batch_size=32;
[0032]
epoch=50;
[0033]
steps_per_epoch=训练集图片数量/batch_size;
[0034]
validation_steps=验证集图片数量/batch_size。
[0035]
进一步地,计算所述待检索的瓷砖图像对应的标准特征向量与所述瓷砖图像数据库中所有的特征向量的相似度,包括:
[0036]
使用以下公式,计算所述待检索的瓷砖图像对应的标准特征向量a=(a1,a2,
…an
)与所述瓷砖图像数据库中的每一个特征向量b=(b1,b2,
…bn
)的余弦相似度:
[0037][0038]
其中,i∈[1,n];
[0039]
根据所述余弦相似度,计算所述待检索的瓷砖图像对应的标准特征向量与所述瓷砖图像数据库中的每一个特征向量的相似分数。
[0040]
进一步地,所述4d张量的格式为(none,224,224,3);所述标准特征向量的格式为 (1024,)。
[0041]
第二方面,本发明还提供一种瓷砖图像检索装置,包括:
[0042]
瓷砖图像获取模块,用于获取待检索的瓷砖图像,并将所述待检索的瓷砖图像转化为4d 张量;
[0043]
特征提取模块,用于将所述4d张量输入训练好的特征提取网络,得到所述待检索的瓷砖图像对应的特征张量;其中,所述特征提取网络为卷积神经网络经过预训练、迁移学习和网络微调训练得到;
[0044]
归一化模块,用于对所述特征张量进行归一化处理,得到所述待检索的瓷砖图像对应的标准特征向量;
[0045]
相似分数计算模块,用于检索预先建立的瓷砖特征数据库中所有的特征向量,计算所述标准特征向量与所述瓷砖特征数据库中所有的特征向量的相似分数;其中,所述瓷砖特征数据库包括多个特征向量及每个特征向量对应的瓷砖图像名称,所述特征向量为用于比对的瓷砖图像经过所述特征提取网络提取得到;
[0046]
结果输出模块,用于输出相似分数大于预设阈值的所有特征向量对应的瓷砖图像。
[0047]
第三方面,本发明还提供一种电子设备,其特征在于,包括:
[0048]
至少一个存储器以及至少一个处理器;
[0049]
所述存储器,用于存储一个或多个程序;
[0050]
当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如本发明第一方面任一所述的一种瓷砖图像检索方法的步骤。
[0051]
第四方面,本发明还提供一种计算机可读存储介质,其特征在于:
[0052]
所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面任一所述的一种瓷砖图像检索方法的步骤。
[0053]
本发明提供的一种瓷砖图像检索方法、装置、电子设备及存储介质,针对瓷砖图像相比于普通图像具有更多纹理信息的情况,本发明收集了alot纹理数据集,共有2.5万张250 类的纹理图片,通过网络微调参与训练后,网络学习到了更多纹理的信息,于是检索的过程中也会更关注于图像纹理。而且此系统不需要另外人工对瓷砖图像进行分类就可以产生很可观的检索效果。同时,将迁移学习应用于瓷砖检索领域,以及网络微调的方法,显著提升了瓷砖检索的准确度。
[0054]
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
[0055]
图1为本发明提供的一种瓷砖图像检索方法的流程示意图;
[0056]
图2为本发明在一个实施例中训练特征提取网络的流程示意图;
[0057]
图3为本发明在另一个实施例中提供的一种瓷砖图像检索方法的流程示意图;
[0058]
图4为本发明在另一个实施例中,在基网络顶部添加网络层的结构示意图;
[0059]
图5为一张示例性的待检索瓷砖图像;
[0060]
图6为图5中的瓷砖图像使用本发明提供的一种瓷砖图像检索方法输出的检索结果;
[0061]
图7为图5中的瓷砖图像使用没有经过迁移学习与微调的densenet121提取特征的检索结果;
[0062]
图8为图5中截取的部分图片;
[0063]
图9为图8中的瓷砖图像使用本发明提供的一种瓷砖图像检索方法输出的检索结果;
[0064]
图10为图8中的瓷砖图像使用没有经过迁移学习与微调的densenet121提取特征的检索结果;
[0065]
图11为本发明提供的一种瓷砖图像检索装置的结构示意图。
具体实施方式
[0066]
为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
[0067]
应当明确,所描述的实施例仅仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术实施例保护的范围。
[0068]
在本技术实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术实施例。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和 /或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0069]
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。在本技术的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
[0070]
此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在 a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0071]
针对背景技术中的问题,本技术实施例提供一种瓷砖图像检索方法,如图1所示,该方法包括以下步骤:
[0072]
s01:获取待检索的瓷砖图像,并将所述待检索的瓷砖图像转化为4d张量。
[0073]
优选的,4d张量的格式为(none,224,224,3)。
[0074]
s02:将所述4d张量输入训练好的特征提取网络,得到所述待检索的瓷砖图像对应的特征张量;其中,所述特征提取网络为卷积神经网络经过预训练、迁移学习和网络微调训练得到。
[0075]
优选的,输出的特征张量格式为(none,7,7,1024)。
[0076]
s03:对所述特征张量进行归一化处理,得到所述待检索的瓷砖图像对应的标准特征向量。
[0077]
优选的,将上述输出的特征张量展平,此时特征向量的数据格式为(none,1024)。再将其转化为(1024,)格式,得到标准特征向量。
[0078]
s04:检索预先建立的瓷砖特征数据库中所有的特征向量,计算所述标准特征向量与所述瓷砖特征数据库中所有的特征向量的相似分数;其中,所述瓷砖特征数据库包括多个特征向量及每个特征向量对应的瓷砖图像名称,所述特征向量为用于比对的瓷砖图像经过所述特征提取网络提取得到。
[0079]
在一个优选的实施例中,本发明提供的一种瓷砖图像检索方法,采用余弦相似度方法计算所述待检索的瓷砖图像对应的标准特征向量与所述瓷砖特征数据库中所有的特征向量的相似分数。在其他的例子中,也可以使用平均绝对误差方法、欧氏距离方法和切比雪夫距离方法等相似度计算方法。
[0080]
余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。两个向量越相似夹角越小,余弦值越接近1,两张图像更相似。
[0081]
具体的,使用以下公式,计算所述待检索的瓷砖图像对应的标准特征向量a= (a1,a2,
…an
)与所述瓷砖图像数据库中的每一个特征向量b=(b1,b2,
…bn
)的余弦相似度:
[0082][0083]
其中,i∈[1,n]。
[0084]
根据所述余弦相似度,计算所述待检索的瓷砖图像对应的标准特征向量与所述瓷砖图像数据库中的每一个特征向量的相似分数。
[0085]
在一个优选的实施例中,可以直接使用计算得到的cosθ值作为相似分数,在其他的例子中,也可以对计算得到的cosθ值进行其他归一处理运算,得到实际所需的标准格式相似分数。
[0086]
s05:输出相似分数大于预设阈值的所有特征向量对应的瓷砖图像。
[0087]
优选的,当相似分数直接为余弦相似度的值时,可以设置输出与待检索的瓷砖图像的相似分数》0.8的所有瓷砖图像。
[0088]
在其他的实施例中,也可以设置为,输出相似分数排序前10的瓷砖图像。
[0089]
阈值可以根据实际需求自行设置,不构成对本发明的限制。
[0090]
在一个优选的实施例中,如图2所示,步骤s04中的瓷砖特征数据库的建立步骤包括:
[0091]
s041:收集多张瓷砖产品图像,并将所述瓷砖产品图像库中所有的瓷砖产品图像转化为 4d张量。
[0092]
优选的,4d张量的格式为(none,224,224,3)。
[0093]
s042:将每个所述瓷砖产品图像的所述4d张量输入所述训练好的特征提取网络,得到每个所述瓷砖产品图像对应的特征张量;其中,所述特征提取网络为卷积神经网络经过预训练、迁移学习和网络微调训练得到。
[0094]
优选的,输出的特征张量格式为(none,7,7,1024)。
[0095]
s043:对所述特征张量进行归一化处理,得到每个所述瓷砖产品图像对应的标准特征向量。
[0096]
优选的,将上述输出的特征张量展平,此时特征向量的数据格式为(none,1024)。再将其转化为(1024,)格式,得到标准特征向量。
[0097]
s044:保存所述标准特征向量及其对应的瓷砖图像名称,得到所述瓷砖特征数据库。
[0098]
优选的,将图像的特征向量与图像文件名存入一个h5文件中,得到瓷砖产品图像数据库。
[0099]
h5文件是层次数据格式第5代的版本(hierarchical data format,hdf5),它是用于存储科学数据的一种文件格式和库文件。由美国超级计算中心与应用中心研发的文件格式,用以存储和组织大规模数据.
[0100]
h5将文件结构简化成两个主要的对象类型:
[0101]
1、数据集dataset,就是同一类型数据的多维数组
[0102]
2、组group,是一种容器结构,可以包含数据集和其他组,若一个文件中存放了不同种类的数据集,这些数据集的管理就用到了group。
[0103]
在一个优选的实施例中,如图2所示,步骤s02和步骤s042中所使用的训练好的特征提取网络,训练步骤包括:
[0104]
s11:使用imagenet数据集对所述特征提取网络的基网络进行预训练。
[0105]
s12:将所述经过预训练的基网络的顶层的全连接层与分类层替换为新的dense层与分类层,得到第一网络。
[0106]
s13:使用alot纹理数据集重新训练替换过的特征提取网络,得到训练好的第一网络。
[0107]
s14:将所述训练好的第一网络的顶层的分类层替换为新的全连接层与分类层,得到第二网络。
[0108]
s15:冻结所述第二网络的卷积基,使用alot纹理数据集重新训练所述第二网络,得到第三网络。
[0109]
s16:解冻所述第三网络的卷积基的部分卷积层,使用alot纹理数据集继续训练所述第三网络,得到训练好的特征提取网络。
[0110]
在一个具体的实施例中,本发明的完整流程如图3所示,包括收集瓷砖数据集、训练模型、构建瓷砖特征数据库和图像检索4个部分。
[0111]
1、瓷砖数据集的收集:收集某陶瓷企业所生产的全部瓷砖产品图像;
[0112]
2、训练模型:将预训练模型迁移学习到alot数据集,并对模型进行微调,保存效果最好的网络模型;
[0113]
3、构建瓷砖特征数据库:利用保存好的网络模型对收集到的所有瓷砖图像进行特征提取,将图像的特征向量与图像文件名存入一个h5文件中;
[0114]
4、图像检索:传入待检索图像,利用步骤2保存好的网络模型对待检索图像进行特征提取,得到特征向量,将此特征向量与步骤3保存的h5文件中每个向量做相似性度量,得到相似性最高的前k张图像的文件名,并通过matplotlib相关函数展示出来。
[0115]
优选的,在训练模型阶段,本发明使用keras库。keras是一个深度学习的数据库,基于tensorflow和theano开发,用纯python语言编写的高层人工神经网络api,并且只支持python语言对其进行开发。设计过程中用到的编程语言是python,ide是pycharm,开发环境是python3.6。
[0116]
对于特征提取网络的模型选择,为了提取更好的深度特征,有许多表现优异的卷积神经网络结构被提出,本发明选取了三个现在比较常用的可以提取图像特征的卷积神经网络
‑‑ꢀ
vggnet、resnet、densenet。
[0117]
vggnet是一个十分经典的深度神经网络模型,该模型在2014年的imagenet图像分类与定位挑战赛获得了不俗的成绩,证明了增加小卷积核的个数以及网络深度可以提高分类结果的正确率。不过在实际训练网络模型的时候,当网络的层数到达一定深度的时候,训练的效果会下降,resnet通过使用恒等映射的残差模块的方法来解决这个问题。densenet作为 resnet的后来者,它充分借鉴了resnet的主要思想,并且在resnet的跳跃连接之上采用了更为超前的策略,即让所有层都相互连接,使网络的性能又向前踏出了一大步。
[0118]
本文拟将在imagenet数据集上预训练深度神经网络模型作为本系统的基网络,然后利用迁移学习的知识将选取的基网络迁移到目标数据集中,即抛弃预训练深度神经网络顶层的全连接层与分类层,在卷积基上添加自定义的网络层,在目标数据集上重新训练网络。
[0119]
通过在这三个卷积神经网络上进行迁移学习与网络微调,发现采用densene121作为基网络,检索效果最好。
[0120]
对于选定的densene121基网络,训练过程主要涉及到的知识有预训练网络模型、迁移学习以及网络微调。
[0121]
本发明采取的方法是先去除在imagenet数据集上进行预训练后的densenet网络中顶层分类层,由于要将此预训练网络模型迁移到alot数据集上,所以要在预训练网络顶部增加自定义的全连接层与分类层,然后将alot数据集随机划分为训练集与验证集,冻结预训练神经网络的卷积基,在预训练神经网络中进行端到端的训练,训练出适应于alot数据集的分类器,然后解冻卷积基的部分卷积层再在alot数据集上进行训练,保留训练出的网络模型。实验结果表示利用进行过网络微调的预训练网络模型进行图像检索的效果比只进行了迁移学习的预训练网络模型进行图像检索的效果要好。
[0122]
具体的,预训练网络模型包括:
[0123]
在预训练深度神经网络模型的基础上,再训练卷积神经网络,这样不仅可大大减少网络的训练时长,而且导入预训练深度神经网络模型可以理解为先把网络参数置于一个局部优化的范围内,不是一个随机的初始化,在局部优化的状态下,用与应用相关的数据集再训练卷积神经网络,使网络参数逐步趋于最优化状态。本发明选取的特征提取网络预训练的数据集是imagenet,imagenet数据集规模非常庞大,有1400多万幅图片,由它预训练好的深度神经网络模型的卷积层具有很强的泛用性。
[0124]
迁移学习包括:
[0125]
深度神经网络的应用中,经常会面临缺乏大规模训练集的困境。由于深度神经网络结构庞大而且复杂,网络结构中需要训练的参数很多。因此,如果训练集过小,不足以训练这么庞大的网络,很容易会出现过拟合现象,也就是网络在训练集中能得到很好的效果,但在测试集的表现却很差的现象。结合目前收集到的瓷砖数据集只有7000多张,属于小数据集的情况,本发明提出将迁移学习应用于瓷砖图像检索算法。
[0126]
而且经过发明人观察了大量瓷砖图像后,总结出瓷砖图像检索有一个主要的突破点,即瓷砖的纹理,发明人通过文献调研与深入研究,发现了一个与瓷砖图像属于相似领域的纹理数据集,有2.5万张250类的alot纹理图片。
[0127]
本发明采取的方法是将选取的特征提取基网络迁移到alot纹理数据集中,即抛弃预训练深度神经网络顶层的全连接层与分类层,在卷积基上添加自定义的dense层与分类层,在 alot纹理数据集上重新训练网络,并保留最终训练好的网络模型至h5文件中。
[0128]
网络微调包括:
[0129]
对于图像的高层抽象特征需要更加精确地提取,因此在迁移学习后,要对预训练深度神经网络模型微调。由于网络模型中前面的层提取的是图像的通用特征(例如边缘检测,色彩检测),这些特征对许多任务都有用,后面的层提取的是与特定类别有关的特征。而且在预训练深度神经网络模型上添加的新全连接层是随机初始化的,这样会使非常大的权重更新在网络中传播,会对特征提取基网络之前学到的特征造成很大的破坏,因此微调通常需要冻结网络的浅层(即在网络训练过程中不改变该网络层的参数),解冻网络深层的部分层数,并设定较低的学习率,重新训练网络模型。
[0130]
网络微调必须在迁移学习之后,因为顶部添加的分类层是随机初始化的。只有当上面的分类器训练好了,我们才能对网络结构中的卷积基进行微调,且只能针对卷积基的最深处几层。因为参与训练的参数越多,过拟合的风险就越大,这种情况在小型数据集上尤为明显。
[0131]
具体地,训练网络模型步骤包括:
[0132]
1、构造模型训练的训练集与验证集:将alot纹理数据集按照8:2的比例随机划分为训练集和验证集。
[0133]
2、对预训练模型进行预处理:将在imagenet数据集上预训练好的densene121网络模型作为本系统的基网络,去掉基网络顶部的密集连接分类器。
[0134]
3、拓展基网络:在基网络顶部添加网络层,本发明添加如图4所示的三层结构。
[0135]
4、数据增强:利用keras中imagedatagenerator类对训练集的图像进行旋转、缩放、平移、剪切变换等操作生成更多的训练集图像数据;同时将训练集和验证集的图像都转换为channels last格式,即图片格式为(224,224,3)格式,方便keras函数的处理。
[0136]
5、冻结基网络,训练所添加的部分:
[0137]
将基网络部分所有的网络层都冻结,即指这些网络层的参数在训练过程中不会改变,保证之前学习到的不会被修改,如此设置之后,只有步骤3添加的网络层的权重才会被训练。
[0138]
编译模型设置的参数有:
[0139]
loss='categorical_crossentropy',
[0140]
optimizer=tensorflow.keras.optimizers.rmsprop(lr=2e-5)metrics=['
acc']
[0141]
训练模型设置的参数有:
[0142]
batch_size=32
[0143]
epoch=50
[0144]
steps_per_epoch=训练集图片数量/batch_size
[0145]
validation_steps=验证集图片数量/batch_size
[0146]
6、解冻部分基网络,联合训练解冻的这些层和添加的部分:
[0147]
解冻conv5_block1_0_bn后面所有的卷积层后进行编译并训练模型,相关参数如下:
[0148]
编译模型设置的参数有:
[0149]
loss='categorical_crossentropy',
[0150]
optimizer=tensorflow.keras.optimizers.rmsprop(lr=1e-5)metrics=['acc']
[0151]
训练模型设置的参数有:
[0152]
batch_size=32
[0153]
epoch=50
[0154]
steps_per_epoch=训练集图片数量/batch_size
[0155]
validation_steps=验证集图片数量/batch_size
[0156]
将最后训练完毕的模型保存起来。
[0157]
利用上述过程训练好的特征提取网络,提取瓷砖图像特征,将提取的特征和瓷砖图像文件名分为两个dataset保存在同一个h5文件中,构建瓷砖特征数据库。
[0158]
基于上述训练好的特征提取网络和构建好的瓷砖特征数据库,对于待检索的瓷砖图像,进行特征提取和相似度度量,得到相似性最高的前k张图像的文件名,并通过matplotlib相关函数展示出来。即完成整个检索流程。
[0159]
在一个具体的实施例中,如图5-7所示,当传入图像为瓷砖数据库原图时,经过瓷砖检索系统,可以百分之百找到对应的瓷砖图像并返回名字。其中,图5为一张示例性的待检索瓷砖图像,图6为本发明提供的一种瓷砖图像检索方法输出的检索结果,图7为使用没有经过迁移学习与微调的densenet121提取特征的检索结果。
[0160]
效果分析:这两个模型虽然都可以在产品库中精准找到待检索的图片,但是经过迁移学习和微调的网络模型明显前5名的图像与原图更为相似。
[0161]
在另一个实施例中,如图8-10所示,当传入图像为瓷砖数据库原图的一部分时,使用本发明提供的一种瓷砖图像检索方法,仍然可以检索到瓷砖数据库中的原图,其中,图8为图 5中截取的部分图片,图9为本发明提供的一种瓷砖图像检索方法输出的检索结果,图10为使用没有经过迁移学习与微调的densenet121提取特征的检索结果。
[0162]
效果分析:没有经过迁移学习与微调的densenet121网络模型未找到原图,且检索出来的图像纹理与颜色都有很大的误差,而本发明使用的网络模型不仅找到了原图(图中排名第一),而且纹理和颜色都与待检索图像更为接近。
[0163]
本技术实施例还提供一种瓷砖图像检索装置,如图11所示,该瓷砖图像检索装置400包括:
[0164]
瓷砖图像获取模块401,用于获取待检索的瓷砖图像,并将所述待检索的瓷砖图像转化为4d张量;
[0165]
特征提取模块402,用于将所述4d张量输入训练好的特征提取网络,得到所述待检索的瓷砖图像对应的特征张量;其中,所述特征提取网络为卷积神经网络经过预训练、迁移学习和网络微调训练得到;
[0166]
归一化模块403,用于对所述特征张量进行归一化处理,得到所述待检索的瓷砖图像对应的标准特征向量;
[0167]
相似分数计算模块404,用于检索预先建立的瓷砖特征数据库中所有的特征向量,计算所述标准特征向量与所述瓷砖特征数据库中所有的特征向量的相似分数;其中,所述瓷砖特征数据库包括多个特征向量及每个特征向量对应的瓷砖图像名称,所述特征向量为用于比对的瓷砖图像经过所述特征提取网络提取得到;
[0168]
结果输出模块405,用于输出相似分数大于预设阈值的所有特征向量对应的瓷砖图像。
[0169]
优选的,所述瓷砖特征数据库的建立步骤包括:
[0170]
收集多张瓷砖产品图像,并将所述瓷砖产品图像库中所有的瓷砖产品图像转化为4d张量;
[0171]
将每个所述瓷砖产品图像的所述4d张量输入所述训练好的特征提取网络,得到每个所述瓷砖产品图像对应的特征张量;其中,所述特征提取网络为卷积神经网络经过预训练、迁移学习和网络微调训练得到;
[0172]
对所述特征张量进行归一化处理,得到每个所述瓷砖产品图像对应的标准特征向量;
[0173]
保存所述标准特征向量及其对应的瓷砖图像名称,得到所述瓷砖特征数据库。
[0174]
优选的,所述特征提取网络的训练步骤包括:
[0175]
使用imagenet数据集对所述特征提取网络的基网络进行预训练;
[0176]
将所述经过预训练的基网络的顶层的全连接层与分类层替换为新的dense层与分类层,得到第一网络;
[0177]
使用alot纹理数据集重新训练替换过的特征提取网络,得到训练好的第一网络;
[0178]
将所述训练好的第一网络的顶层的分类层替换为新的全连接层与分类层,得到第二网络;
[0179]
冻结所述第二网络的卷积基,使用alot纹理数据集重新训练所述第二网络,得到第三网络;
[0180]
解冻所述第三网络的卷积基的部分卷积层,使用alot纹理数据集继续训练所述第三网络,得到训练好的特征提取网络。
[0181]
优选的,所述特征提取网络的基网络为densene121。
[0182]
优选的,解冻所述第三网络的卷积基的部分卷积层,使用alot纹理数据集继续训练所述第三网络,包括:
[0183]
解冻conv5_block1_0_bn后面所有的卷积层后进行编译并训练模型,其中,训练参数包括:
[0184]
编译模型设置的参数为:
[0185]
loss='categorical_crossentropy';
[0186]
optimizer=tensorflow.keras.optimizers.rmsprop(lr=1e-5)metrics=['acc'];
[0187]
训练模型设置的参数为:
[0188]
batch_size=32;
[0189]
epoch=50;
[0190]
steps_per_epoch=训练集图片数量/batch_size;
[0191]
validation_steps=验证集图片数量/batch_size。
[0192]
优选的,相似分数计算模块包括:
[0193]
余弦相似度计算单元,用于使用以下公式,计算所述待检索的瓷砖图像对应的标准特征向量a=(a1,a2,
…an
)与所述瓷砖图像数据库中的每一个特征向量b=(b1,b2,
…bn
)的余弦相似度:
[0194][0195]
其中,i∈[1,n];
[0196]
相似分数计算单元,用于根据所述余弦相似度,计算所述待检索的瓷砖图像对应的标准特征向量与所述瓷砖图像数据库中的每一个特征向量的相似分数。
[0197]
优选的,所述4d张量的格式为(none,224,224,3);所述标准特征向量的格式为(1024,)。
[0198]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0199]
本技术实施例还提供一种电子设备,包括:
[0200]
至少一个存储器以及至少一个处理器;
[0201]
所述存储器,用于存储一个或多个程序;
[0202]
当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如前所述的一种瓷砖图像检索方法的步骤。
[0203]
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0204]
本技术实施例还提供一种计算机可读存储介质,
[0205]
所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的一种瓷砖图像检索方法的步骤。
[0206]
计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器 (cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0207]
本发明提供的一种瓷砖图像检索方法、装置、电子设备及存储介质,针对瓷砖图像相比于普通图像具有更多纹理信息的情况,本发明收集了alot纹理数据集,共有2.5万张250 类的纹理图片,通过网络微调参与训练后,网络学习到了更多纹理的信息,于是检索的过程中也会更关注于图像纹理。而且此系统不需要另外人工对瓷砖图像进行分类就可以产生很可观的检索效果。同时,将迁移学习应用于瓷砖检索领域,以及网络微调的方法,显著提升了瓷砖检索的准确度。
[0208]
本发明提供的一种瓷砖图像检索方法、装置、电子设备及存储介质,基于深度学习技术,使用户在系统中传入瓷砖图像,就能检索出企业产品库中是否拥有此款瓷砖,简化陶瓷行业找板试板过程,减少繁琐的人工操作,促进流程自动化,推动瓷砖生产企业数字化转型。进一步地,本发明提供的一种瓷砖图像检索方法、装置、电子设备及存储介质,可以帮助瓷砖销售公司提升项目招标的竞争力,即在工程项目招标过程中,瓷砖销售公司的竞标人员可以通过该系统,直接拍照搜索到自家企业是否拥有招标人需要的瓷砖款式,增加企业中标的概率,实现企业价值增值。
[0209]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
再多了解一些

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

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

相关文献