一种图文跨模态检索方法、系统、装置和存储介质与流程

文档序号:18267478发布日期:2019-07-27 09:18阅读:282来源:国知局
一种图文跨模态检索方法、系统、装置和存储介质与流程

本发明涉及多媒体信息检索技术领域,尤其涉及一种图文跨模态检索方法、系统、装置和存储介质。



背景技术:

在过去的十年中,随着互联网,社交媒体和其他信息技术的迅速发展,各种形式的数据已经爆炸式增长。通常,不同的媒体使用不同类型的数据来描述相同的对象或主题。例如,在文本中描述的狗和狗的图片具有相同的“狗”的语义。当然,在图片和文本的跨模态检索中,给定文本,应查询到最相关的图片,或者给定图片,应该检索到最相关的描述图片的文本列表。该研究领域面临两个主要问题:首先,如何有效地选择图片和文本的特征;其次,如何最大化图片和文本之间的相关性。

为了最大化图片和文本之间的相关性,已经开发了许多方法来通过学习多个转换以将不同模态映射到公共子空间来解决该问题。这些方法可分为无监督方法和监督方法。像规范相关分析(canonicalcorrelationanalysis,简称cca)这样的无监督的跨模态方法旨在将原始模态的特征投射到公共子空间中。此外,像广义多视图分析(generalizedmultiviewanalysis,简称gma)这样的有监督方法使用多标签信息来增强多模态数据中公共子空间的学习。尽管这些方法在跨模态检索中取得了一些成功,但它们的效果在实际应用中并不满意。大部分方法更关注共同子空间中的多标签信息或相关图片和文本,而忽略了无关图片和文本的重要信息。例如,给定图片,应该检索到与图片最相关的文本,但是同时也检索到不相关的文本,因为它们在共同子空间的距离是最近的,直接影响了图片和文本之间的相关性,降低了跨模态检索的精度。

名词解释:

模态:每一种信息的来源或者形式,都可以称为一种模态。

跨模态检索:跨模态检索是对一种模态的查询词,返回与之相关的其他不同模态检索结果的新型检索方法。

深度配对排序:深度强调的是基于深度神经网络框架训练模型的,配对排序是从训练集的角度来说的,每次训练集输入到框架中是成对出现;在图片文本的跨模态检索中,通过计算图片文本对之间的距离来进行排序。

多标签信息:多标签信息是指数据集的标签有多种,在图片文本的跨模态检索中,一对图片文本属于一种或多种标签,这样组成的信息简称为多标签信息。



技术实现要素:

为了解决上述技术问题,本发明的目的是提供提出一种能够保持相关图片和文本之间更近的距离,并远离不相关的图片和文本的跨模态检索方法、系统、装置和存储介质。

本发明所采用的第一技术方案是:

一种图文跨模态检索方法,包括以下步骤:

获取待检索的文字/图片数据后,结合文字/图片数据和采用组合损失函数训练后的检索模型获取相似度信息;

根据相似度信息获取对应的图片/文字数据。

进一步,还包括建立检索模型的步骤,所述建立检索模型的步骤具体包括以下步骤:

获取文字训练集和图片训练集后,根据预设方式获取文字训练集的文字特征和图片训练集的图片特征;

将文字特征和图片特征输入神经网络模型的嵌入层后,将文字特征和图片特征分别投射到公共子空间;

采用组合损失函数对神经网络模型进行训练后,获得检索模型。

进一步,所述组合损失函数包括分类损失函数和双向三元组损失函数,所述组合损失函数的公式如下:

l=λl4+(1-λ)[μj1+(1-μ)j2]

其中所述l为组合损失函数,所述λ是平衡分类损失函数和双向三元组损失函数的系数,所述l4为双向三元组损失函数,所述j1为根据图片检索相应文本的分类损失函数,所述j2为根据文本检索相应图片的分类损失函数,所述μ为平衡分类损失函数j1和分类损失函数j2的系数。

进一步,所述双向三元组损失函数的公式为:

l4=βl2+(1-β)l3

其中l2为根据图片检索相应文本的三元组损失函数,l3为根据文本检索相应图片的三元组损失函数,所述β为平衡这两个三元组损失函数的系数。

进一步,所述根据图片检索相应文本的三元组损失函数l2的主要公式为:

所述根据文本检索相应图片的三元组损失函数l3的主要公式为:

其中v是三元组所有的训练集的集合,用n表示其总数,k为在总数n中随机抽取的样本数,fi(.)是图片的嵌入层函数,ft(.)是文本的嵌入层函数,xi代表每个图片,所述yi代表每个文本,α为检索样本与正样本之间的距离和指定的检索样本与负样本之间的距离的一个最小间隔参数,a为检索样本的标志,为正样本的标志,n为负样本的标志,g为由k个样本组成的训练集的集合。

进一步,所述根据图片检索相应文本的分类损失函数j1的公式为:

所述根据文本检索相应图片的分类损失函数j2的公式为:

其中h={z1,z2,…,zn,}表示样本集中的标签的集合,m表示小批量的数目,k表示样本集合中总共的类别数目,θ表示嵌入层的参数,1{.}表示一个指示函数,1表示示性函数,只有当大括号内的值为真时才取值为1,否则为0。

进一步,所述根据预设方式获取文字训练集的文字特征和图片训练集的图片特征这一步骤,具体包括以下步骤:

采用预设的配对排序方式将文字训练集和图片训练集进行配对,并获取相应的文字特征和图片特征;

采用预设的多标签信息对文字特征和图片特征进行处理。

本发明所采用的第二技术方案是:

一种图文跨模态检索系统,包括:

计算模块,用于获取待检索的文字/图片数据后,结合文字/图片数据和采用组合损失函数训练后的检索模型获取相似度信息;

获取模块,用于根据相似度信息获取对应的图片/文字数据。

本发明所采用的第三技术方案是:

一种计算机代码自动生成装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行上述方法。

本发明所采用的第四技术方案是:

一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。

本发明的有益效果是:本发明将待检索的文字/图片数据输入检索模型计算相似度矩阵,并根据相似度矩阵获取对应的图片/文字数据,由于所述检索模型经过组合损失函数训练,能够保持相关图片和文本之间更近的距离,并远离不相关的数据,极大地提高了在图片和文本相互之间检索的精确度。

附图说明

图1是本发明一种图文跨模态检索方法的步骤流程图;

图2是具体实施例中检索模型的结构示意图;

图3是具体实施例中建立检索模型的步骤流程图;

图4是本发明一种图文跨模态检索系统的结构框图;

图5是本实施例的方法与现有的图文跨模态检索方法在wikipedia数据集上的对比示意图;

图6是本实施例的方法与现有的图文跨模态检索方法在pascal数据集上的对比示意图;

图7是本实施例的方法与现有的图文跨模态检索方法在nus-wide数据集上的对比示意图。

具体实施方式

实施例一

如图1所示,本实施例提供了一种图文跨模态检索方法,包括以下步骤:

s1、结合训练集和组合损失函数建立检索模型。

s2、获取待检索的文字/图片数据后,结合文字/图片数据和采用组合损失函数训练后的检索模型获取相似度信息。

s3、根据相似度信息获取对应的图片/文字数据。

所述训练集包括文字训练集和图片训练集,将训练集输入深度神经网络框架进行训练,得到模型,再通过组合损失函数对模型进行分类训练,捕获到图片和文本之间的潜在信息,最终生成检索模型。当需要根据文字检索图片时,将文字输入检索模型中,经过计算获得相似度信息,并根据相似度信息获取相应的图片;同理,当需要根据图片检索文字时,将图片输入检索模型中,经过计算获得相似度信息,并根据相似度信息获取相应的文字。由于所述检索模型经过损失函数进行训练,能够捕获到图片和文本之间的潜在信息,能够最大化图片与文本之间的相关性,极大地提高图片和文本相互之间检索的精确度。

其中,s1包括步骤s11~s13:

s11、获取文字训练集和图片训练集后,根据预设方式获取文字训练集的文字特征和图片训练集的图片特征;

s12、将文字特征和图片特征输入神经网络模型的嵌入层后,将文字特征和图片特征分别投射到公共子空间;

s13、采用组合损失函数对神经网络模型进行训练后,获得检索模型。

所述嵌入层作为可直接计算跨模态数据相似度的子空间,通过神经和图片特征投射到公共子空间,建立获得模型,在通过组合损失函数对模型进行训练,提高模型的检索能力,最终获得检索模型。

其中,所述组合损失函数包括分类损失函数和双向三元组损失函数,所述组合损失函数的公式如下:

l=λl4+(1-λ)[μj1+(1-μ)j2]

其中所述l为组合损失函数,所述λ是平衡分类损失函数和双向三元组损失函数的系数,所述l4为双向三元组损失函数,所述j1为根据图片检索相应文本的分类损失函数,所述j2为根据文本检索相应图片的分类损失函数,所述μ为平衡分类损失函数j1和分类损失函数j2的系数。

所述双向三元组损失函数的公式为:

l4=βl2+(1-β)l3

其中l2为根据图片检索相应文本的三元组损失函数,l3为根据文本检索相应图片的三元组损失函数,所述β为平衡这两个三元组损失函数的系数。

所述根据图片检索相应文本的三元组损失函数l2的主要公式为:

所述根据文本检索相应图片的三元组损失函数l3的主要公式为:

其中v是三元组所有的训练集的集合,用n表示其总数,k为在总数n中随机抽取的样本数,fi(.)是图片的嵌入层函数,ft(.)是文本的嵌入层函数,xi代表每个图片,所述yi代表每个文本,α为检索样本与正样本之间的距离和指定的检索样本与负样本之间的距离的一个最小间隔参数,a为检索样本的标志,为正样本的标志,n为负样本的标志,g为由k个样本组成的训练集的集合。为了减少模型训练的时间,我们随机挑选负样本的文本而不是把所有的负样本的文本作为模型的训练。

进一步,所述根据图片检索相应文本的分类损失函数j1的公式为:

所述根据文本检索相应图片的分类损失函数j2的公式为:

其中h={z1,z2,…,zn,}表示样本集中的标签的集合,m表示小批量的数目,k表示样本集合中总共的类别数目,θ表示嵌入层的参数,1{.}表示一个指示函数,1表示示性函数,只有当大括号内的值为真时才取值为1,否则为0。

其中,步骤s2具体包括步骤s21~s22:

s21、采用预设的配对排序方式将文字训练集和图片训练集进行配对,并获取相应的文字特征和图片特征;

s22、采用预设的多标签信息对文字特征和图片特征进行处理。

采用配对排序方式对图片和文本进行匹配,并学习图片和文本之间的相似度矩阵,提高了模型的准确度;为了让模型更好地学习到图片和文本之间的潜在信息和提高结果的精确度,模型在训练的时候增加了多标签信息。

具体实施例

以下,结合图2和图3对建立检测模型的步骤进行详细的讲解。

首先,假设图片集合用i={x1,x2,…,xn,}表示,文本集合用t={y1,y2,…,yn,}表示。配对的图片文本集合用r={p1,p2,…,pn,}表示,每一对图片和文本pi=(zi,yi)包含xi图片的di维图片特征和yi文本的dt维文本特征。接着用欧几里德距离定义图片和文本之间的相似度,公式如下:

其中fi(.)是欧几里德距离的图片的嵌入层函数,ft(.)是文本的嵌入层函数。d(.,.)是欧几里德空间的距离度量。d(fi(xi),ft(yi))的距离越小,表明图片xi和文本yi越相似。我们采用配对排序模型去学习图片和文本之间的相似度矩阵。如图2所示,模型将图片特征和文本特征经过嵌入层后得出的更深的特征映射到共同的子空间,并通过分类损失函数和双向三元组损失函数训练模型,最后求解到图片和文本的相似度矩阵。

假设我们通过给定的图片搜索文本。我们选择一张图片作为anchor,与图片对应的文本作为positive,与图片不对应的文本作为negative。三元组损失函数可用以下公式表示:

其中,v是所有可能的三元组的训练的集合,用n表示其总数。为了减少模型训练的时间,我们随机挑选负样本的文本而不是把所有的负样本的文本作为模型的训练。因此,修改后的三元组损失函数可用以下公式表示:

图片和文本之间的跨模态检索是相互的,除了图片能检索到文本,文本也应该能搜索到图片。因此,本方案提出了双向的三元组损失函数来解决图片和文本之间的相互检索。仿照上述公式,当给定文本去搜索相应的图片,其三元组损失函数公式如下所示:

结合上述两个三元组损失函数,我们提出来的双向三元组损失函数的公式如下所示:

l4=βl2+(1-β)l3(8)

其中β是平衡这两个三元组损失函数的强度。

此外,为了让模型更好地学习到图片和文本之间的潜在信息和提高结果的精确度,模型在训练的时候增加了多标签信息。正如图2所展示,我们在模型的输出端增加了图片和文本的分类损失函数。分类损失函数使用的是softmax交叉熵损失函数。当通过给定图片去搜索相应的文本,softmax交叉熵损失函数的公式如下所示:

其中h={z1,z2,…,zn,}表示样本集中的标签的集合。m表示小批量的数目,k表示样本集合中总共的类别数目。θ表示嵌入层的参数。另外1{.}表示一个指示函数,1表示示性函数,只有当大括号内的值为真时才取值为1,否则为0。

仿照上述公式,当通过给定文本去搜索相应的图片,softmax交叉熵损失函数的公式如下所示:

最后,我们提出的模型的损失函数如下所示:

l=λl4+(1-λ)[μj1+(1-μ)j2](11)

其中λ是平衡双向三元组损失函数与softmax交叉熵损失函数的强度。

结合上述公式、现有的神经网络和训练集,即可获得实施例一的检索模型。具体步骤如图3所示。随机获取小批量的图片和文本,并按照预设的方式处理图片和文本后,比如进行多标签信息处理,将文本特征和图片特征输入神经网络的嵌入层,进行学习后,技术输出端的损失函数的值l,所述损失函数采用的是上述的组合损失函数,判断l是否小于阈值,若是,模型建立完毕,并采用测试进行测试。计算测试集中图片和文本的相似度矩阵,并根据相似度矩阵返回检索结果。

本实施例的方法,先通过深度神经网络框架将特征投射到公共子空间,接着采用基于双向配对的思想和多标签信息结合的方法,能够在有效地时间内求解图片和文本之间的相似度矩阵,并利用修改后的双向三元组损失函数和多标签损失函数自动学习和捕获到图片和文本之间的潜在信息,最终提高了在图片和文本相互之间检索的精确度。

将本实施例的图文跨模态检索方法(以下简称dprcm)与现有的图文跨模态检索方法的性能进行实验对比,现有的图文跨模态检索方法包括cca、基于本地群的一致性特征学习(localgroupbasedconsistentfeaturelearning,简称lgcfl)和跨媒体多重深度网络(thecross-mediamultipledeepnetwork,简称cmdn)等方法,分别选择三个跨模态检索领域公开测试数据集wikipedia、pascal和nus-wide。

其中,wikipedia数据集由2866个图片文本对组成,并分为10个语义类。在我们的实验中,我们遵循其他方法对数据集的划分,其中2000对作为训练集,866对被选为测试集。另外,我们选择了4096维的图片特征和100维的文本特征作为模型的输入。pascal数据集由9963个图片文本对组成,并分为20个语义类。与其他方法一样,其中的5000对作为训练集,4919对作为测试集。另外,我们选择了512维的图片特征和399维的文本特征作为模型的输入。nus-wide数据集由269,648个图片文本对组成,并分为81个语义类。与其他方法一样,其中的25,600对作为训练集,9600对作为测试集。另外,我们选择了500维的图片特征和1000维的文本特征作为模型的输入。

实验中采用平均ap值(map)作为性能评价指标。ap值,即平均精确度。求ap值的公式如下所示:

其中u表示检索集合中相关对象的数量,p(k)是前k个检索对象的精度,r(k)是指标函数。如果r(k)=1,则k个检索对象是相关的;否则是不相关的。通过对来自查询集中的所有查询的ap值来求平均并计算map值。图5为本实施例的dprcm方法与其它方法在wikipedia数据集上的map值;图6为本实施例的dprcm方法与其它方法在在pascal数据集上的map值;图7为本实施例的dprcm方法与其它方法在nus-wide数据集上的map值。从图5,图6和图7中可以看出,本发明无论从图片检索文本还是文本检索图片,map值都比其他算法要高几个百分点。本发明在图片和文本检索中返回的结果的相关性比较高,进一步说明本发明在跨模态检索领域中有比较好的效果。

实施例二

如图4所示,本实施例提供一种图文跨模态检索系统,包括:

计算模块,用于获取待检索的文字/图片数据后,结合文字/图片数据和采用组合损失函数训练后的检索模型获取相似度信息;

获取模块,用于根据相似度信息获取对应的图片/文字数据。

本实施例的一种图文跨模态检索系统,可执行本发明方法实施例一所提供的一种图文跨模态检索方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

实施例三

一种计算机代码自动生成装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行实施例一所述方法。

本实施例的一种计算机代码自动生成装置,可执行本发明方法实施例一所提供的一种图文跨模态检索方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

实施例四

一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如实施例一所述方法。

本实施例的一种存储介质,可执行本发明方法实施例一所提供的一种图文跨模态检索方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1