图像检索方法、装置、计算机设备和存储介质与流程

文档序号:29127407发布日期:2022-03-05 00:28阅读:135来源:国知局
图像检索方法、装置、计算机设备和存储介质与流程

1.本技术涉及人工智能技术领域,特别是涉及一种图像检索方法、装置、计算机设备和存储介质。


背景技术:

2.随着人工智能技术发展,基于文本的图像检索技术逐步成为近年来研究的重点,其中,基于文本的图像检索技术为一种通过文本来检索该文本对应的图像的技术,举例来说,该技术可以为通过文本“跃出水面的鱼”来检索到“跃出水面的鱼”的图像。然而,现有技术中的基于文本的图像检索技术,难以根据文本内容精确的检索到该文本对应的图像。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种图像检索方法、装置、计算机设备和存储介质。
4.第一方面,提供了一种图像检索方法,该方法包括:获取检索文本,并利用文本编辑器提取检索文本的文本特征向量;从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量,其中,图像特征向量集合中包括多个图像的图像特征向量,且图像特征向量集合中的图像特征向量是利用图像编辑器对图像进行提取所得到的,文本编辑器和图像编辑器基于三元组损失函数训练得到;将目标图像特征向量对应的目标图像作为检索文本对应的检索结果
5.在其中一个实施例中,文本编辑器和图像编辑器的训练过程包括:获取训练样本集,训练样本集包括多个训练样本,各训练样本包括训练检索文本、可作为训练检索文本对应检索结果的第一训练图像和不可作为训练检索文本对应检索结果的第二训练图像;对于各训练样本,将训练样本中的第一训练图像和第二训练图像分别输入至初始图像编辑器中,得到与第一训练图像图像对应的第一训练图像特征向量以及与第二训练图像图像对应的第二训练图像特征向量,并将训练样本中的训练检索文本输入至初始文本编辑器中,得到训练文本特征向量;将第一训练图像特征向量、第二训练图像特征向量以及训练文本特征向量输入至三元组损失函数中,基于三元组损失函数的输出对初始图像编辑器中的参数以及初始文本编辑器中的参数进行调整,直至三元组损失函数收敛,以得到文本编辑器和图像编辑器。
6.在其中一个实施例中,目标图像的数量为多个,将目标图像特征向量对应的目标图像作为检索文本对应的检索结果之后,该方法还包括:获取用户从多个目标图像中选中的第一图像;获取多个目标图像中未被用户选中的k个第二图像,k为正整数;将第一图像、检索文本以及k个第二图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集;利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
7.在其中一个实施例中,将目标图像特征向量对应的目标图像作为检索文本对应的检索结果之后,该方法还包括:接收用户上传的与检索文本对应的第三图像;获取多个目标
图像中的k个第四图像,k为正整数;将第三图像、检索文本以及k个第四图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集;利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
8.在其中一个实施例中,文本编辑器包括包括文本预处理模块、文本特征抽取模块、文本特征池化模块以及公共子空间映射模块,利用文本编辑器提取检索文本的文本特征向量,包括:通过文本预处理模块对检索文本进行编码,得到预处理后的第一词向量;通过文本特征抽取模块对第一词向量进行特征抽取,得到第二词向量;通过文本特征池化模块得到第一词向量与第二词向量的平均值,并将平均值作为句向量;通过公共子空间映射模块将句向量映射为文本特征向量。
9.在其中一个实施例中,从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量,包括:对图像特征向量集合进行聚类处理,将图像特征向量集合分为多个类别;从各类别中确认与文本特征向量相似的目标图像特征向量。
10.在其中一个实施例中,从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量,包括:基于余弦相似度算法计算图像特征向量集合中的每一个图像特征向量与文本特征向量的相似度;将与文本特征向量相似度最大的p个图像特征向量作为目标图像特征向量,其中,p为正整数。
11.在其中一个实施例中,图像编辑器包括图像抽取模块和公共子空间映射模块,图像特征向量集合中的图像特征向量的提取过程,包括:通过图像抽取模块对图像进行编码,得到图像对应的初始图像特征向量;通过公共子空间映射模块将初始图像特征向量映射为图像特征向量。
12.第二方面,提供了一种图像检索装置,该装置包括:第一获取模块,用于获取检索文本,并利用文本编辑器提取检索文本的文本特征向量;确定模块,用于从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量,其中,图像特征向量集合中包括多个图像的图像特征向量,且图像特征向量集合中的图像特征向量是利用图像编辑器对图像进行提取所得到的,文本编辑器和图像编辑器基于三元组损失函数训练得到;第二获取模块,用于将目标图像特征向量对应的目标图像作为检索文本对应的检索结果。
13.在其中一个实施例中,该文本编辑器和该图像编辑器的训练过程包括:获取训练样本集,训练样本集包括多个训练样本,各训练样本包括训练检索文本、可作为训练检索文本对应检索结果的第一训练图像和不可作为训练检索文本对应检索结果的第二训练图像;对于各训练样本,将训练样本中的第一训练图像和第二训练图像分别输入至初始图像编辑器中,得到与第一训练图像图像对应的第一训练图像特征向量以及与第二训练图像图像对应的第二训练图像特征向量,并将训练样本中的训练检索文本输入至初始文本编辑器中,得到训练文本特征向量;将第一训练图像特征向量、第二训练图像特征向量以及训练文本特征向量输入至三元组损失函数中,基于三元组损失函数的输出对初始图像编辑器中的参数以及初始文本编辑器中的参数进行调整,直至三元组损失函数收敛,以得到文本编辑器和图像编辑器。
14.在其中一个实施例中,目标图像的数量为多个,该装置还包括:第一图像获取模块,用于获取用户从多个目标图像中选中的第一图像;第二图像获取模块,用于获取多个目标图像中未被用户选中的k个第二图像,k为正整数;第一更新模块,用于将第一图像、检索
文本以及k个第二图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集;第一继续训练模块,用于利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
15.在其中一个实施例中,该装置还包括:第三图像获取模块,用于接收用户上传的与检索文本对应的第三图像;第四图像获取模块,用于获取多个目标图像中的k个第四图像,k为正整数;第二更新模块,用于将第三图像、检索文本以及k个第四图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集;第二继续训练模块,用于利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
16.在其中一个实施例中,文本编辑器包括包括文本预处理模块、文本特征抽取模块、文本特征池化模块以及公共子空间映射模块,该第一获取模块,具体用于:通过文本预处理模块对检索文本进行编码,得到预处理后的第一词向量;通过文本特征抽取模块对第一词向量进行特征抽取,得到第二词向量;通过文本特征池化模块得到第一词向量与第二词向量的平均值,并将平均值作为句向量;通过公共子空间映射模块将句向量映射为文本特征向量。
17.在其中一个实施例中,该确定模块,具体用于:对图像特征向量集合进行聚类处理,将图像特征向量集合分为多个类别;从各类别中确认与文本特征向量相似的目标图像特征向量。
18.在其中一个实施例中,该确定模块,具体用于:基于余弦相似度算法计算图像特征向量集合中的每一个图像特征向量与文本特征向量的相似度;将与文本特征向量相似度最大的p个图像特征向量作为目标图像特征向量,其中,p为正整数。
19.在其中一个实施例中,图像编辑器包括图像抽取模块和公共子空间映射模块,该确定模块,具体用于:通过图像抽取模块对图像进行编码,得到图像对应的初始图像特征向量;通过公共子空间映射模块将初始图像特征向量映射为图像特征向量。
20.第三方面,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现上述第一方面任一项所述的方法的步骤。
21.第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面任一项所述的方法的步骤。
22.本技术实施例提供的技术方案带来的有益效果至少包括:
23.在本技术实施例中,通过文本编辑器来提取检索文本的文本特征向量,并从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量,该目标图像特征向量对应的目标图像,即为检索文本对应的检索结果。其中,图像特征向量集合中的图像特征向量是利用图像编辑器对图像进行提取所得到的,文本编辑器和图像编辑器基于三元组损失函数训练得到。因为三元组损失函数能够对细微的特征进行区分,并能够增大相似的向量之间的相似度以及减小不相似的向量之间的相似度,因此,基于三元组损失函数训练得到的文本编辑器和图像编辑器对于相似的文本和图像,其输出的文本特征向量和图像特征向量较为相似,对于不相似的文本和图像,其输出的文本特征向量和图像特征向量较为不相似,这样,与检索文本的文本特征向量相似的图像特征向量,其所对应的目标图像与检索文本较为相似,故而,利用本技术实施例提供的技术方案得到的目标图像与检索文本的相似度较高,这样,就可以提高了基于文本检索该文本对应的图像的精确性。
附图说明
24.图1为本技术实施例提供的一种实施环境示意图;
25.图2为本技术实施例提供的一种图像检索方法的流程图;
26.图3为本技术实施例提供的一种利用文本编辑器提取检索文本的文本特征向量的技术过程的流程图;
27.图4为本技术实施例提供的一种图像特征向量集合中的图像特征向量的提取过程的流程图;
28.图5为本技术实施例提供的一种训练文本编辑器和图像编辑器的技术过程的流程图;
29.图6为本技术实施例提供的方式一的过程的流程图;
30.图7为本技术实施例提供的方式二的过程的流程图;
31.图8为本技术实施例提供的一种图像检索及继续训练文本编辑器和图像编辑器的方法的流程图;
32.图9为本技术实施例提供的另一种图像检索及继续训练文本编辑器和图像编辑器的方法的流程图;
33.图10为本技术实施例提供的一种图像检索装置的框图;
34.图11为本技术实施例提供的另一种图像检索装置的框图;
35.图12为本技术实施例提供的一种计算机设备的内部结构图。
具体实施方式
36.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
37.随着人工智能技术发展,基于文本的图像检索技术逐步成为近年来研究的重点,其中,基于文本的图像检索技术为一种通过文本来检索该文本对应的图像的技术,举例来说,该技术可以为通过文本“跃出水面的鱼”来检索到“跃出水面的鱼”的图像。然而,现有技术中的基于文本的图像检索技术,难以根据文本内容精确的检索到该文本对应的图像。
38.有鉴于此,本技术实施例提供了一种图像检索方法、装置、计算机设备和存储介质,利用该图像检索方法可以精确的检索到文本对应的图像。
39.请参见图1,其示出了本技术实施例提供的图像检索方法所涉及的实施环境的示意图,如图1所示,该实施环境可以包括服务器101以及终端102,其中,服务器101可以与终端102进行通信,用户通过终端102来输入检索文本,并且终端将检索文本发送至服务器,由服务器来获取到检索文本对应的目标图像。需要指出的是,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备;服务器101可以是一台服务器,也可以为由多台服务器组成的服务器集群,不同的计算机设备之间可以通过有线或无线方式的进行通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。
40.请参见图2,其示出了本技术实施例提供的一种图像检索方法的流程图,该图像检索方法可以应用于图1所示的服务器中。如图2所示,该图像检索方法可以包括以下步骤:
41.步骤201、服务器获取检索文本,并利用文本编辑器提取检索文本的文本特征向
量。
42.其中,检索文本为用户输入的文本,并且用户期待检索到该检索文本对应的图像。例如,用户输入检索文本“跃出水面的鱼”,并期待检索到该文本对应的图像。文本编辑器为提取检索文本的文本特征向量的模型,将检索文本作为文本编辑器的输入,文本编辑器的输出便为该检索文本的文本特征向量。
43.步骤202、服务器从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量。
44.其中,图像特征向量集合中包括多个图像的图像特征向量,且图像特征向量集合中的图像特征向量是利用图像编辑器对图像进行提取所得到的,文本编辑器和图像编辑器基于三元组损失函数训练得到。图像特征向量集合是在进行图像检索之前预先设置于服务器中的,可选的预先设置于服务器中步骤为:首先,将所有的图像输入至服务器中;其次,服务器利用图像编辑提取图像的图像特征向量,所有的图像特征向量组成图像特征向量集合。
45.在本技术的可选实施例中,服务器从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量的步骤可以包括:
46.首先,基于余弦相似度算法计算图像特征向量集合中的每一个图像特征向量与文本特征向量的相似度。
47.其中,余弦相似度算法是一种通过计算两个向量的夹角的余弦值来评估两个向量的相似度的算法,其中,余弦值的范围在[-1,1]之间,余弦值越大,代表两个向量越相似;余弦值越小,代表两个向量越不相似。
[0048]
其次,将与文本特征向量相似度最大的p个图像特征向量作为目标图像特征向量,其中,p为正整数。
[0049]
基于余弦相似度算法,计算文本特征向量与图像特征向量集合中的每一个图像特征向量的相似度,也就是,计算文本特征向量与图像特征向量集合中的每一个图像特征向量的夹角的余弦值,可选的,可以将余弦值的进行排序,并将最大的p个余弦值对应的图像特征向量作为目标图像特征向量,其中,对于p的值本技术实施例并不做限定。
[0050]
此外,为了提高图像检索的效率,在本技术的另一可选实施例中,可以对图像特征向量集合进行聚类处理,将图像特征向量集合分为多个类别,并从各类别中确认与文本特征向量相似的目标图像特征向量。可选的,可以利用聚类算法对图像特征向量集合进行聚类处理,其中,可选的聚类算法有层次聚类算法、k均值算法、em算法以及谱聚类算法等,本技术实施例对聚类算法的类型不做限定,只要能实现提高图像检索效率的目的即可。
[0051]
可选的,可以使用聚类和相似度计算相结合的方式来确定与文本特征向量相似的目标图像特征向量,聚类和相似度计算相结合的方式可以实现精准且高效地大规模的图片特征向量的检索。
[0052]
步骤203、服务器将目标图像特征向量对应的目标图像作为检索文本对应的检索结果。
[0053]
可选的,服务器可以根据目标图像特征向量获取到目标图像特征向量对应的目标图像,该目标图像即为检索文本对应的检索结果。可选的,该目标图像可以为一个,也可以为多个,对于目标图像的数量本技术实施例并不作限定。
[0054]
在本技术实施例中,通过文本编辑器来提取检索文本的文本特征向量,并从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量,该目标图像特征向量对应的目标图像,即为检索文本对应的检索结果。其中,图像特征向量集合中的图像特征向量是利用图像编辑器对图像进行提取所得到的,文本编辑器和图像编辑器基于三元组损失函数训练得到。因为三元组损失函数能够对细微的特征进行区分,并能够增大相似的向量之间的相似度以及减小不相似的向量之间的相似度,因此,基于三元组损失函数训练得到的文本编辑器和图像编辑器对于相似的文本和图像,其输出的文本特征向量和图像特征向量较为相似,对于不相似的文本和图像,其输出的文本特征向量和图像特征向量较为不相似,这样,与检索文本的文本特征向量相似的图像特征向量,其所对应的目标图像与检索文本较为相似,故而,利用本技术实施例提供的技术方案得到的目标图像与检索文本的相似度较高,这样,就可以提高了基于文本检索该文本对应的图像的精确性。
[0055]
在本技术的一个实施例中,文本编辑器包括文本预处理模块、文本特征抽取模块、文本特征池化模块以及公共子空间映射模块。请参见图3,其示出了本技术实施例提供的一种利用文本编辑器提取检索文本的文本特征向量的技术过程。如图3所示,该技术过程可以包括以下步骤:
[0056]
步骤301、服务器通过文本预处理模块对检索文本进行编码,得到预处理后的第一词向量。
[0057]
可选的,在文本预处理模块中,使用双向语言表征模型(bidirectional encoder representation from transformers,简称bert)的分词器(berttokenizer),对检索文本进行编码,将检索文本语句按字的符号(token)进行切分及编码转换,之后将句子长度补齐到句子最大长度,然后加上表示句子首尾的默认符号“[cls]”和“[sep]”的编码,得到预处理后的第一词向量。
[0058]
步骤302、服务器通过文本特征抽取模块对第一词向量进行特征抽取,得到第二词向量。
[0059]
可选的,通过文本特征抽取模块对第一词向量进行特征抽取的方式为:在文本特征抽取模块中,将第一词向量输入到bert模型中,得到bert模型的输出,该输出作出第二词向量。
[0060]
步骤303、服务器通过文本特征池化模块得到第一词向量与第二词向量的平均值,并将平均值作为句向量。
[0061]
为了准确地捕捉检索文本中的语义特征,通过文本特征池化模块得到第一词向量与第二词向量的平均值,并将平均值作为句向量,这种方法兼顾了表层与深层的语义表达,可以更准确的捕捉检索文本中的语义特征。
[0062]
步骤304、服务器通过公共子空间映射模块将句向量映射为文本特征向量。
[0063]
为了后续计算文本特征向量与图像特征向量之间的相似度,需要将句向量映射到公共子空间,其中,公共子空间为可以存放不同类型的向量的公共空间。可选的,将句向量映射为文本特征向量的可选做法是:将句向量输入至单层感知机,该单层感知机的输出为n维文本特征向量,该文本特征向量可以记为q
text
,且值域区间映射到[-1,1],其中,文本特征向量q
text
的表达式为:
[0064]qtext
=tanh(sw
text
+b
text
)
[0065]
其中,s为句向量,w
text
为n维权重向量,b
text
为n维偏置向量。
[0066]
因为bert模型是一种双向语言表征模型,该模型可以捕捉到检索文本中丰富的语义线索,并且能够关注到检索文本中多语义前后的关联关系,因此本技术实施例中的文本编辑器可以学习到更好的文本特征,得到更好的文本特征向量。
[0067]
在本技术的一个实施例中,图像编辑器包括图像抽取模块和公共子空间映射模块。请参见图4,其示出了本技术实施例提供的一种图像特征向量集合中的图像特征向量的提取过程。如图4所示,该提取过程可以包括以下步骤:
[0068]
步骤401、服务器通过图像抽取模块对图像进行编码,得到图像对应的初始图像特征向量。
[0069]
可选的,在图像抽取模块中,可以通过深度残差网络resnet50对图像进行编码,并将全连接层的输出作为该图像对应的初始图像特征向量i。
[0070]
步骤402、服务器通过公共子空间映射模块将初始图像特征向量映射为图像特征向量。
[0071]
可选的,在公共子空间映射模块中,将初始图像特征向量i输入至单层感知机以得到n维稠密的图像特征向量,该图像特征向量可以记为q
img
,其中,该图像特征向量的表达式如下:
[0072]qimg
=tanh(iw
img
+b
img
)
[0073]
其中,i为初始图像特征向量,w
img
为n维权重向量,b
img
为是n维偏置向量。
[0074]
请参见图5,其示出了本技术实施例提供的一种训练文本编辑器和图像编辑器的技术过程,如图5所示,该技术过程可以包括以下步骤:
[0075]
步骤501、服务器获取训练样本集,训练样本集包括多个训练样本,各训练样本包括训练检索文本、可作为训练检索文本对应检索结果的第一训练图像和不可作为训练检索文本对应检索结果的第二训练图像。
[0076]
其中,训练样本集为训练文本编辑器和图像编辑器所需的样本,该训练样本集包括多个训练样本,各训练样本包括训练检索文本、第一训练图像以及第二训练图像。其中,第一训练图像为可作为训练检索文本对应检索结果的图像,换句话说,第一训练图像为与训练检索文本相似的图像;第二训练图像为不可作为训练检索文本对应检索结果的图像,换句话说,第二训练图像为与训练检索文本不相似的图像。本技术实施例对训练样本集中的训练样本的数量不作限定,若期望训练出的文本编辑器和图像编辑器具有较高的精确性,则可以选择尽量多的训练样本;若考虑到训练的时间成本,则可以选择适当数量的训练样本。
[0077]
步骤502、对于各训练样本,服务器将训练样本中的第一训练图像和第二训练图像分别输入至初始图像编辑器中,得到与第一训练图像图像对应的第一训练图像特征向量以及与第二训练图像图像对应的第二训练图像特征向量,并将训练样本中的训练检索文本输入至初始文本编辑器中,得到训练文本特征向量。
[0078]
本步骤的目的为提取各训练样本中的训练检索文本、第一训练图像和第二训练图像的特征向量,可选的,通过将训练样本中的第一训练图像和第二训练图像分别输入至初始图像编辑器中,得到与第一训练图像图像对应的第一训练图像特征向量以及与第二训练图像图像对应的第二训练图像特征向量;通过将训练检索文本输入至初始文本编辑器中,
得到训练文本特征向量。因为第一训练图像为可作为训练检索文本对应检索结果的的图像,因此,第一训练图像特征向量为与训练文本特征向量相似的向量,可以记为同理,因为第二训练图像为不可作为训练检索文本对应检索结果的的图像,因此,第二训练图像特征向量为与训练文本特征向量不相似的向量,可以记为
[0079]
步骤503、服务器将第一训练图像特征向量、第二训练图像特征向量以及训练文本特征向量输入至三元组损失函数中,基于三元组损失函数的输出对初始图像编辑器中的参数以及初始文本编辑器中的参数进行调整,直至三元组损失函数收敛,以得到文本编辑器和图像编辑器。
[0080]
其中,初始图像编辑器中的参数为上文中的n维权重向量w
img
和n维偏置向量b
img
,初始文本编辑器中的参数为上文中的n维权重向量w
text
和n维偏置向量b
text
。在本技术实施例中,通过对w
img
、b
img
、w
text
以及b
text
进行调整,以得到文本编辑器和图像编辑器。
[0081]
可选的,服务器将第一训练图像特征向量、第二训练图像特征向量以及训练文本特征向量输入至三元组损失函数中,基于三元组损失函数的输出对w
img
、b
img
、w
text
以及b
text
进行调整,直至三元组损失函数收敛,其中,该三元组损失函数的公式如下:
[0082][0083]
其中,
[0084]
其中,q
text
为训练文本特征向量,为第一训练图像特征向量,为第二训练图像特征向量,q
img
为第一训练图像特征向量和第二训练图像特征向量中任一图像特征向量。
[0085]
因为通过三元组损失函数可以让相同类别间的距离尽可能的小,让不同类别间的距离尽可能的大,即减小类内距,增大类间距,因此,通过三元组损失函数,可以对w
img
、b
img
、w
text
以及b
text
进行调整,以使得q
text
与之间的距离尽可能的小,使得q
text
与之间的距离尽可能的大,从而,增强了训练检索文本与可作为训练检索文本对应检索结果的第一训练图像的相似性的关联关系。
[0086]
为了进一步提高图像检索的准确性,在得到检索文本对应的检索结果之后,可以对训练样本集进行更新,并利用更新后的训练样本集继续训练文本编辑器和图像编辑器。对此,本技术实施例提供了两种可选的方式,若用户从终端接收到的目标图像中选择了一张图像,则通过方式一对训练样本集进行更新,并利用更新后的训练样本集继续训练文本编辑器和图像编辑器;若用户从终端接收到的目标图像中没有选择图像,则通过方式二对训练样本集进行更新,并利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
[0087]
请参见图6,其示出了本技术实施例提供的方式一的过程,该过程可以包括以下步骤:
[0088]
步骤601、服务器获取用户从多个目标图像中选中的第一图像。
[0089]
在服务器将目标图像发送至终端之后,用户从终端中的多个目标图像中选中的第一图像,并将该第一图像发送至服务器。
[0090]
步骤602、服务器获取多个目标图像中未被用户选中的k个第二图像,k为正整数。
[0091]
在获取第一图像之后,从未被客户选择的目标图像中选择k个第二图像,其中,k个第二图像可以是服务器随机选取的,还可以是与检索文本相似度较低的k个第二图像,本技术实施例对此不做限定。
[0092]
步骤603、服务器将第一图像、检索文本以及k个第二图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集。
[0093]
步骤604、利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
[0094]
可选的,服务器可以将第一图像、检索文本以及k个第二图像输入至三元组损失函数中,基于三元组损失函数的输出对w
img
、b
img
、w
text
以及b
text
进行调整,直至三元组损失函数收敛,从而得到了利用更新后的训练样本集训练的文本编辑器和图像编辑器。
[0095]
请参见图7,其示出了本技术实施例提供的方式二的过程,该过程可以包括以下步骤:
[0096]
步骤701、服务器接收用户上传的与检索文本对应的第三图像。
[0097]
在用户从终端接收到的目标图像中没有选择图像的情况下,用户可以自己向终端上传与检索文本对应的第三图像,该第三图像为检索文本相似的图像,终端在接收到该第三图像之后,将该第三图像发送至服务器。
[0098]
步骤702、服务器获取多个目标图像中的k个第四图像,k为正整数。
[0099]
步骤703、服务器将第三图像、检索文本以及k个第四图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集。
[0100]
步骤704、服务器利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
[0101]
在本技术实施例中,通过不断的更新训练样本集来继续训练文本编辑器和图像编辑器,让相同类别间的距离尽可能的小,不同类别间的距离尽可能的大,增强了检索文本与目标图像的相似度。
[0102]
请参见图8,其示出了本技术实施例提供的一种图像检索及继续训练文本编辑器和图像编辑器的方法的流程图,该方法可以应用于图1所示的实施环境中。如图8所示,该方法可以包括以下步骤:
[0103]
步骤801、终端接收用户上传的检索文本。
[0104]
在本技术实施例中,用户将检索文本输入至终端中,并期待检索到该检索文本对应的目标图像。
[0105]
步骤802、终端将检索文本发送至服务器中。
[0106]
步骤803、服务器获取检索文本,并利用文本编辑器提取检索文本的文本特征向量。
[0107]
步骤804、服务器从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量。
[0108]
在本技术的可选实施例中,可以使用faiss框架从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量,其中,faiss框架为一种在实际工程中使用的解决大规模相似度检索问题的框架。该框架可以提供聚类算法和相似度算法,还可以将图像特征向量集合封装成索引数据库,通过将图像特征向量集合封装成索引数据库来加速检索相似的目标图像特征向量的过程,同时,faiss框架还提供了多种检索算法策略,可
选的,若图像特征向量集合在百万级以下,对内存的压力不大,则可以选择检索精度最高、检索速度略低的indexflatip策略,并indexflatip策略来构建索引数据库。
[0109]
步骤805、服务器将目标图像特征向量对应的目标图像发送至终端。
[0110]
步骤806、终端从接收到的目标图像中选择第一图像。
[0111]
步骤807、终端将第一图像发送至服务器中。
[0112]
步骤808、服务器获取第一图像。
[0113]
步骤809、服务器获取多个目标图像中未被用户选中的k个第二图像,k为正整数。
[0114]
步骤810、服务器将第一图像、检索文本以及k个第二图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集。
[0115]
步骤811、服务器利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
[0116]
请参见图9,其示出了本技术实施例提供的另一种图像检索及继续文本编辑器和图像编辑器的方法的流程图,该方法可以应用于图1所示的实施环境中。
[0117]
如图9所示,该方法可以包括以下步骤:
[0118]
步骤901、终端接收用户上传的检索文本。
[0119]
步骤902、终端将检索文本发送至服务器中。
[0120]
步骤903、服务器获取检索文本,并利用文本编辑器提取检索文本的文本特征向量。
[0121]
步骤904、服务器从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量。
[0122]
步骤905、服务器将目标图像特征向量对应的目标图像发送至终端。
[0123]
步骤906、终端未从目标图像中选择图像,并接收用户上传的与检索文本对应的第三图像。
[0124]
步骤907、终端将第三图像发送至服务器中。
[0125]
步骤908、服务器获取多个目标图像中的k个第四图像,k为正整数。
[0126]
步骤909、服务器将第三图像、检索文本以及k个第四图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集。
[0127]
步骤910、服务器利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
[0128]
应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0129]
请参见图10,其示出了本技术实施例提供的一种图像检索装置1000的框图,该图像检索装置可以配置于上述的服务器中。如图10所示,该图像检索装置1000包括第一获取模块1001、确定模块1002以及第二获取模块1003。
[0130]
其中,第一获取模块1001,用于获取检索文本,并利用文本编辑器提取检索文本的文本特征向量;确定模块1002,用于从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量,其中,图像特征向量集合中包括多个图像的图像特征向量,且
图像特征向量集合中的图像特征向量是利用图像编辑器对图像进行提取所得到的,文本编辑器和图像编辑器基于三元组损失函数训练得到;第二获取模块1003,用于将目标图像特征向量对应的目标图像作为检索文本对应的检索结果。
[0131]
在本技术的一个可选实施例中,文本编辑器和图像编辑器的训练过程包括:获取训练样本集,训练样本集包括多个训练样本,各训练样本包括训练检索文本、可作为训练检索文本对应检索结果的第一训练图像和不可作为训练检索文本对应检索结果的第二训练图像;对于各训练样本,将训练样本中的第一训练图像和第二训练图像分别输入至初始图像编辑器中,得到与第一训练图像图像对应的第一训练图像特征向量以及与第二训练图像图像对应的第二训练图像特征向量,并将训练样本中的训练检索文本输入至初始文本编辑器中,得到训练文本特征向量;将第一训练图像特征向量、第二训练图像特征向量以及训练文本特征向量输入至三元组损失函数中,基于三元组损失函数的输出对初始图像编辑器中的参数以及初始文本编辑器中的参数进行调整,直至三元组损失函数收敛,以得到文本编辑器和图像编辑器。
[0132]
在本技术的一个可选实施例中,文本编辑器包括包括文本预处理模块、文本特征抽取模块、文本特征池化模块以及公共子空间映射模块,该第一获取模块1001,具体用于:通过文本预处理模块对检索文本进行编码,得到预处理后的第一词向量;通过文本特征抽取模块对第一词向量进行特征抽取,得到第二词向量;通过文本特征池化模块得到第一词向量与第二词向量的平均值,并将平均值作为句向量;通过公共子空间映射模块将句向量映射为文本特征向量。
[0133]
在本技术的一个可选实施例中,该确定模块1002,具体用于:对图像特征向量集合进行聚类处理,将图像特征向量集合分为多个类别;从各类别中确认与文本特征向量相似的目标图像特征向量。
[0134]
在本技术的一个可选实施例中,该确定模块1002,具体用于:基于余弦相似度算法计算图像特征向量集合中的每一个图像特征向量与文本特征向量的相似度;将与文本特征向量相似度最大的p个图像特征向量作为目标图像特征向量,其中,p为正整数。
[0135]
在本技术的一个可选实施例中,图像编辑器包括图像抽取模块和公共子空间映射模块,该确定模块1002,具体用于:通过图像抽取模块对图像进行编码,得到图像对应的初始图像特征向量;通过公共子空间映射模块将初始图像特征向量映射为图像特征向量。
[0136]
请参见图11,其示出了本技术实施例提供的另一种图像检索装置1100的框图,该图像检索装置1100除了包括图像检索装置1000的各模块外,还包括第一图像获取模块1004、第二图像获取模块1005、第一更新模块1006、第一继续训练模块1007、第三图像获取模块1008、第四图像获取模块1009、第二更新模块1010以及第二继续训练模块1011。
[0137]
其中,第一图像获取模块1004,用于获取用户从多个目标图像中选中的第一图像;第二图像获取模块1005,用于获取多个目标图像中未被用户选中的k个第二图像,k为正整数;第一更新模块1006,用于将第一图像、检索文本以及k个第二图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集;第一继续训练模块1007,用于利用更新后的训练样本集继续训练文本编辑器和图像编辑器;第三图像获取模块1008,用于接收用户上传的与检索文本对应的第三图像;第四图像获取模块1009,用于获取多个目标图像中的k个第四图像,k为正整数;第二更新模块1010,用于将第三图像、检索文本以及k个第四图像
的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集;第二继续训练模块1011,用于利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
[0138]
本技术实施例提供的图像检索装置,可以实现上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0139]
关于图像检索装置的具体限定可以参见上文中对于图像检索方法的限定,在此不再赘述。上述图像检索装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0140]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和通信接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像检索方法。
[0141]
本领域技术人员可以理解,图12中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0142]
在本技术的一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取检索文本,并利用文本编辑器提取检索文本的文本特征向量;从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量,其中,图像特征向量集合中包括多个图像的图像特征向量,且图像特征向量集合中的图像特征向量是利用图像编辑器对图像进行提取所得到的,文本编辑器和图像编辑器基于三元组损失函数训练得到;将目标图像特征向量对应的目标图像作为检索文本对应的检索结果。
[0143]
在本技术的一个实施例中,该处理器执行计算机程序时还实现以下步骤:获取训练样本集,训练样本集包括多个训练样本,各训练样本包括训练检索文本、可作为训练检索文本对应检索结果的第一训练图像和不可作为训练检索文本对应检索结果的第二训练图像;对于各训练样本,将训练样本中的第一训练图像和第二训练图像分别输入至初始图像编辑器中,得到与第一训练图像图像对应的第一训练图像特征向量以及与第二训练图像图像对应的第二训练图像特征向量,并将训练样本中的训练检索文本输入至初始文本编辑器中,得到训练文本特征向量;将第一训练图像特征向量、第二训练图像特征向量以及训练文本特征向量输入至三元组损失函数中,基于三元组损失函数的输出对初始图像编辑器中的参数以及初始文本编辑器中的参数进行调整,直至三元组损失函数收敛,以得到文本编辑器和图像编辑器。
[0144]
在本技术的一个实施例中,该处理器执行计算机程序时还实现以下步骤:获取用户从多个目标图像中选中的第一图像;获取多个目标图像中未被用户选中的k个第二图像,k为正整数;将第一图像、检索文本以及k个第二图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集;利用更新后的训练样本集继续训练文本编辑器和图像编
辑器。
[0145]
在本技术的一个实施例中,该处理器执行计算机程序时还实现以下步骤:接收用户上传的与检索文本对应的第三图像;获取多个目标图像中的k个第四图像,k为正整数;将第三图像、检索文本以及k个第四图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集;利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
[0146]
在本技术的一个实施例中,文本编辑器包括包括文本预处理模块、文本特征抽取模块、文本特征池化模块以及公共子空间映射模块,该处理器执行计算机程序时还实现以下步骤:通过文本预处理模块对检索文本进行编码,得到预处理后的第一词向量;通过文本特征抽取模块对第一词向量进行特征抽取,得到第二词向量;通过文本特征池化模块得到第一词向量与第二词向量的平均值,并将平均值作为句向量;通过公共子空间映射模块将句向量映射为文本特征向量。
[0147]
在本技术的一个实施例中,该处理器执行计算机程序时还实现以下步骤:对图像特征向量集合进行聚类处理,将图像特征向量集合分为多个类别;从各类别中确认与文本特征向量相似的目标图像特征向量。
[0148]
在本技术的一个实施例中,该处理器执行计算机程序时还实现以下步骤:基于余弦相似度算法计算图像特征向量集合中的每一个图像特征向量与文本特征向量的相似度;将与文本特征向量相似度最大的p个图像特征向量作为目标图像特征向量,其中,p为正整数。
[0149]
在本技术的一个实施例中,图像编辑器包括图像抽取模块和公共子空间映射模块,该处理器执行计算机程序时还实现以下步骤:通过图像抽取模块对图像进行编码,得到图像对应的初始图像特征向量;通过公共子空间映射模块将初始图像特征向量映射为图像特征向量。
[0150]
本技术实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0151]
在本技术的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0152]
获取检索文本,并利用文本编辑器提取检索文本的文本特征向量;从预先设置的图像特征向量集合中确定与文本特征向量相似的目标图像特征向量,其中,图像特征向量集合中包括多个图像的图像特征向量,且图像特征向量集合中的图像特征向量是利用图像编辑器对图像进行提取所得到的,文本编辑器和图像编辑器基于三元组损失函数训练得到;将目标图像特征向量对应的目标图像作为检索文本对应的检索结果。
[0153]
在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取训练样本集,训练样本集包括多个训练样本,各训练样本包括训练检索文本、可作为训练检索文本对应检索结果的第一训练图像和不可作为训练检索文本对应检索结果的第二训练图像;对于各训练样本,将训练样本中的第一训练图像和第二训练图像分别输入至初始图像编辑器中,得到与第一训练图像图像对应的第一训练图像特征向量以及与第二训练图像图像对应的第二训练图像特征向量,并将训练样本中的训练检索文本输入至初始文本编辑器中,得到训练文本特征向量;将第一训练图像特征向量、第二训练图像特征向量以及训练文本特征向量输入至三元组损失函数中,基于三元组损失函数的输出对初始图像编辑器中的
参数以及初始文本编辑器中的参数进行调整,直至三元组损失函数收敛,以得到文本编辑器和图像编辑器。
[0154]
在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取用户从多个目标图像中选中的第一图像;获取多个目标图像中未被用户选中的k个第二图像,k为正整数;将第一图像、检索文本以及k个第二图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集;利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
[0155]
在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收用户上传的与检索文本对应的第三图像;获取多个目标图像中的k个第四图像,k为正整数;将第三图像、检索文本以及k个第四图像的组合作为训练样本存储于训练样本集中,得到更新后的训练样本集;利用更新后的训练样本集继续训练文本编辑器和图像编辑器。
[0156]
在本技术的一个实施例中,文本编辑器包括包括文本预处理模块、文本特征抽取模块、文本特征池化模块以及公共子空间映射模块,计算机程序被处理器执行时还实现以下步骤:通过文本预处理模块对检索文本进行编码,得到预处理后的第一词向量;通过文本特征抽取模块对第一词向量进行特征抽取,得到第二词向量;通过文本特征池化模块得到第一词向量与第二词向量的平均值,并将平均值作为句向量;通过公共子空间映射模块将句向量映射为文本特征向量。
[0157]
在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:对图像特征向量集合进行聚类处理,将图像特征向量集合分为多个类别;从各类别中确认与文本特征向量相似的目标图像特征向量。
[0158]
在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于余弦相似度算法计算图像特征向量集合中的每一个图像特征向量与文本特征向量的相似度;将与文本特征向量相似度最大的p个图像特征向量作为目标图像特征向量,其中,p为正整数。
[0159]
在本技术的一个实施例中,图像编辑器包括图像抽取模块和公共子空间映射模块,计算机程序被处理器执行时还实现以下步骤:通过图像抽取模块对图像进行编码,得到图像对应的初始图像特征向量;通过公共子空间映射模块将初始图像特征向量映射为图像特征向量。
[0160]
本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0161]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0162]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0163]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1