图文匹配方法、装置、存储介质及设备与流程

文档序号:18475447发布日期:2019-08-20 20:58阅读:235来源:国知局
图文匹配方法、装置、存储介质及设备与流程

本申请实施例涉及计算机技术领域,特别涉及一种图文匹配方法、装置、存储介质及设备。



背景技术:

跨模态检索是一种新型的检索方式,其可以实现不同模态之间的数据检索。以图文互检索为例,用户可以输入一张图像来检索该图像的描述文本,或者,用户可以输入一个文本来检索该语句所描述的图像。

以根据图像检索文本为例,服务器可以根据检索到的文本与图像之间的匹配度来生成检索结果。在计算文本与图像的匹配度时,服务器利用训练好的物体检测器提取该图像的实例特征集合;利用循环神经网络生成该文本的文本向量;利用匹配模型根据实例特征集合和文本向量计算该图像与该文本之间的匹配度。

由于训练物体检测器时,需要在每张图像上标注图像中所有实例的类别和位置信息,导致训练物体检测器的难度较大;另外,物体检测器和匹配模型是分开训练的,所以,物体检测器识别出的实例特征可能并不适合供匹配模型匹配文本,从而影响图文匹配的准确率。



技术实现要素:

本申请实施例提供了一种图文匹配方法、装置、存储介质及设备,用于解决物体检测器的训练难度较大,且其识别的实例特征并不适用于匹配文本,影响图文匹配的准确率的问题。所述技术方案如下:

一方面,提供了一种图文匹配方法,所述方法包括:

获取待匹配的图像和文本;

根据所述图像生成候选实例特征集合;

利用自注意力机制对所述候选实例特征集合中的候选实例特征进行聚合,得到实例特征集合,所述实例特征集合中的每个实例特征对应于所述图像中的一个物体或区域;

对所述文本进行编码,得到文本向量;

根据所述实例特征集合和所述文本向量计算所述图像与所述文本之间的匹配度。

一方面,提供了一种图文匹配装置,所述装置包括:

获取模块,用于获取待匹配的图像和文本;

生成模块,用于根据所述获取模块获得的所述图像生成候选实例特征集合;

聚合模块,用于利用自注意力机制对所述生成模块生成的所述候选实例特征集合中的候选实例特征进行聚合,得到实例特征集合,所述实例特征集合中的每个实例特征对应于所述图像中的一个物体或区域;

编码模块,用于对所述获取模块获得的所述文本进行编码,得到文本向量;

计算模块,用于根据所述聚合模块得到的所述实例特征集合和所述编码模块得到的所述文本向量计算所述图像与所述文本之间的匹配度。

一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的图文匹配方法。

一方面,提供了一种图文匹配设备,所述图文匹配设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的图文匹配方法。

本申请实施例提供的技术方案的有益效果至少包括:

通过根据图像生成候选实例特征集合,再利用自注意力机制对候选实例特征集合中的候选实例特征进行聚合,即可得到实例特征集合,再根据实例特征集合与文本向量计算图像与文本之间的匹配度,这样,可以利用自注意力机制来通过候选实例特征之间的关联性来聚合实例特征,避免通过物体检测器来获取图像的实例特征集合,既解决了训练物体检测器时需要在每张图像上标注所有实例的类别和位置信息,导致物体检测器的训练难度大的问题,从而达到了简化图文匹配的实现难度的效果;也解决了物体检测器除了输出语义信息之外还输出相应的位置信息,而位置信息对图文匹配并没有帮助,导致物体检测器识别的实例特征并不适用于匹配文本,影响图文匹配的准确率的问题,从而达到了提高图文匹配的准确率的效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据部分示例性实施例示出的一种检索结果的示意图;

图2是根据部分示例性实施例示出的一种图文匹配系统的结构示意图;

图3是本申请一个实施例提供的图文匹配方法的方法流程图;

图4是本申请另一实施例提供的图文匹配方法的方法流程图;

图5是本申请另一实施例提供的图文匹配系统的框图;

图6是本申请一个实施例提供的图文匹配装置的结构框图;

图7是本申请再一实施例提供的服务器的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

视觉内容识别和自然语言理解是人工智能领域的两大挑战,当前比较热门的研究方向是确定图像与文字之间的交叉点,再基于该交叉点实现一些应用。比如,根据图像生成描述文本、视觉问答、根据文本生成图像、图像和文本互检索等等。

本申请涉及图像和文字的互检索,其主要目的是通过给定的文字搜索相匹配的图像或通过给定的图像查询相匹配的文字。下面根据图像和文字的不同展示形态,对可能的几种应用场景进行说明。

1)图像和文本的互检索

文本可以是具有完整语义的一个语句或多个语句的组合。这里所说的语句可以是任意一种自然语言中的语句。

当利用图像检索文本时,可以输入一张图像,再从包含至少一个文本的文本库中检索与该图像的视觉语义相匹配的文本。为了便于理解,可以以flickr30k数据集中的4张图像作为输入,分别查询与每张图像的视觉语义最相似的5个文本,并将每张图像和基于该图像检索到的5个文本进行对应显示,得到图1所示的检索结果。需要说明的是,服务器查找到的文本可能与图像相匹配(即检索结果准确),也可能与图像不匹配(即检索结果出错),图1中用“√”表示与图像相匹配的文本,用“×”表示与图像不匹配的文本。

当利用文本检索图像时,可以输入一个文本,再从包含至少一张图像的图像库中检索与该文本的文本语义相匹配的图像。

2)图像和标签的互检索

标签可以是一个词汇或多个词汇的组合。这里所说的词汇可以是任意一种自然语言中的词汇。

当利用图像检索标签时,可以输入一张图像,再从包含至少一个标签的标签库中检索与该图像的视觉语义相匹配的标签。若将图1中的第一张图像作为输入,则检索到的标签可以是沙滩排球、比基尼、体育运动等等。

当利用标签检索图像时,可以输入一个标签,再从包含至少一张图像的图像库中检索与该标签的标签语义相匹配的图像。

3)视频和文本的互检索

文本可以是具有完整语义的一个语句或多个语句的组合。这里所说的语句可以是任意一种自然语言中的语句。

当利用视频检索文本时,可以输入一段视频,从该视频中提取各个图像帧,将每个图像帧作为输入的一张图像,再从包含至少一个文本的文本库中检索与该图像的视觉语义相匹配的文本。

当利用文本检索视频时,可以输入一个文本,再从包含至少一段视频的视频库中检索包含与该文本的文本语义相匹配的图像帧的视频。

4)视频和标签的互检索

标签可以是一个词汇或多个词汇的组合。这里所说的词汇可以是任意一种自然语言中的词汇。

当利用视频检索标签时,可以输入一段视频,从该视频中提取各个图像帧,将每个图像帧作为输入的一张图像,再从包含至少一个标签的标签库中检索与该图像的视觉语义相匹配的标签。

当利用标签检索视频时,可以输入一个标签,再从包含至少一段视频的视频库中检索包含与该标签的标签语义相匹配的图像帧的视频。

值得注意的是,本申请实施例可以实现在终端中,也可以实现在服务器中,还可以由终端和服务器共同实现,如图2所示,以根据文本检索图像为例,终端21用于生成文本,并将该文本发送至服务器22,服务器22基于该文本检索图像,将检索到的图像发送至终端21进行展示。可选地,终端21与服务器22之间通过通信网络进行连接,该通信网络可以是有线网络也可以是无线网络,本申请实施例对此不加以限定。

示意性的,服务器22中存储有用于图文匹配的机器学习模型,用户在终端21中输入需要检索的文本“awomanisplayingvolleyball”后,终端21将该文本发送至服务器22,由服务器22从图像库中读取每张图像,通过该机器学习模型计算每张图像与该文本的匹配度,并将与该文本相匹配的图像发送至终端21进行展示。

请参考图3,其示出了本申请一个实施例提供的图文匹配方法的方法流程图。该图文匹配方法,包括:

步骤301,获取待匹配的图像和文本。

对应于上述四种应用场景,可以通过以下四种方式来获取待匹配的图像和文本。

1)图像和文本的互检索

当利用图像检索文本时,可以依次从包含至少一个文本的文本库中获取一个文本,对于获取到的每个文本,将该文本和输入的图像作为一组待匹配的图像和文本。

当利用文本检索图像时,可以依次从包含至少一张图像的图像库中获取一张图像,对于获取到的每张图像,将该图像和输入的文本作为一组待匹配的图像和文本。

2)图像和标签的互检索

当利用图像检索标签时,可以依次从包含至少一个标签的标签库中获取一个标签,对于获取到的每个标签,将该标签和输入的图像作为一组待匹配的图像和文本。

当利用标签检索图像时,可以依次从包含至少一张图像的图像库中获取一张图像,对于获取到的每张图像,将该图像和输入的标签作为一组待匹配的图像和文本。

3)视频和文本的互检索

当利用视频检索文本时,由于视频中连续f(f为正整数)个视频帧的内容的差别不大,所以,可以每隔f个视频帧对输入的视频进行采样,得到各个图像帧,在将每个图像帧作为输入的图像时,依次从包含至少一个文本的文本库中获取一个文本,对于获取到的每个文本,将该文本和输入的图像作为一组待匹配的图像和文本。后续,可以将该视频中所有图像帧与一个文本的匹配度的平均值或最大值作为该视频和该文本的匹配度。

当利用文本检索图像时,可以依次从包含至少一段视频的视频库中获取一段视频,对于获取到的每段视频,由于视频中连续f(f为正整数)个视频帧的内容的差别不大,所以,可以每隔f个视频帧对该视频进行采样,得到各个图像帧,对于每个图像帧,将该图像帧和输入的文本作为一组待匹配的图像和文本。后续,可以将该视频中所有图像帧与该文本的匹配度的平均值或最大值作为该视频和该文本的匹配度。

4)视频和标签的互检索

当利用视频检索标签时,由于视频中连续f(f为正整数)个视频帧的内容的差别不大,所以,可以每隔f个视频帧对输入的视频进行采样,得到各个图像帧,在将每个图像帧作为输入的图像时,依次从包含至少一个标签的标签库中获取一个标签,对于获取到的每个标签,将该标签和输入的图像作为一组待匹配的图像和文本。后续,可以将该视频中所有图像帧与一个标签的匹配度的平均值或最大值作为该视频和该标签的匹配度。

当利用标签检索图像时,可以依次从包含至少一段视频的视频库中获取一段视频,对于获取到的每段视频,由于视频中连续f(f为正整数)个视频帧的内容的差别不大,所以,可以每隔f个视频帧对该视频进行采样,得到各个图像帧,对于每个图像帧,将该图像帧和输入的标签作为一组待匹配的图像和文本。后续,可以将该视频中所有图像帧与该标签的匹配度的平均值或最大值作为该视频和该标签的匹配度。

在得到一组待匹配的图像和文本后,可以通过步骤302-303来处理图像,通过步骤304来处理文本,本实施例不限定图像和文本的先后处理顺序,即,本实施例不限定步骤302-303和步骤304之间的先后执行顺序。

需要说明的是,当利用一张图像检索文本时,可以对该图像进行一次处理,并将该处理结果与各个文本的处理结果进行匹配;即,在第一次实施本方法时执行步骤301-305,在后续实施本方法时执行步骤301、304-305。当利用一个文本检索图像时,可以对该文本进行一次处理,并将该处理结果与各个图像的处理结果进行匹配;即,在第一次实施本方法时执行步骤301-305,在后续实施本方法时执行步骤301-303和305。

步骤302,根据图像生成候选实例特征集合。

候选实例特征集合包括至少一个候选实例特征,且每个候选实例特征对应于图像的特征图中的一个区域。

本实施例中,可以先将图像输入卷积神经网络中以得到特征图,再根据特征图得到候选实例特征集合,详见下文中的描述。其中,卷积神经网络可以是resnet(残差网络)、vggnet(visualgeometrygroup,视觉几何组)、googlenet、alexnet等,本实施例不作限定。

步骤303,利用自注意力机制对候选实例特征集合中的候选实例特征进行聚合,得到实例特征集合,该实例特征集合中的每个实例特征对应于图像中的一个物体或区域。

实例特征集合包括至少一个实例特征,且每个实例特征对应于图像中的一个物体或区域。以图1中的第一张图像为例,则实例特征可以是人、球网、观众席等等。

在解释自注意力机制之前,先对注意力机制进行解释。注意力机制是对人类视觉机制的模仿。人类视觉机制通过快速扫描全局图像,获得需要重点关注的目标区域,也就是一般所说的注意力焦点,而后对这一目标区域投入更多的注意力资源,以获取更多所需要关注目标的细节信息,而抑制其他无用信息。可见,注意力机制是一种将内部经验和外部感觉对齐从而增加目标区域的观察精细度的机制,其可以快速提取稀疏数据的重要特征,因而被广泛应用。而自注意力机制是注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。

由于每个候选实例特征对应于图像的特征图中的一个区域,所以,可以利用自注意力机制基于这些候选实例特征之间的相关性来聚合相似的视觉语义,以获取图像中需要关注的各个物体或区域,也即实例特征集合。

步骤304,对文本进行编码,得到文本向量。

本实施例中,可以将文本输入循环神经网络中以得到文本向量。其中,循环神经网络可以是rnn(recurrentneuralnetwork)、lstm(longshort-termmemory,长短期记忆网络)、gru(gaterecurrentunit,门控循环单元)等,本实施例不作限定。

步骤305,根据实例特征集合和文本向量计算图像与文本之间的匹配度。

本实施例中,可以将实例特征集合和文本向量映射到共同的语义空间中,再在该语义空间中计算实例特征集合与文本向量之间的全局相似度,根据该全局相似度来衡量图像和文本之间的匹配度。

在得到图像和文本之间的匹配度之后,可以选取大于预定阈值的匹配度,将该匹配度对应的图像或文本确定为检索结果;或者,可以对所有图像或文本的匹配度进行排序,将排列在前几位的图像或文本确定为检索结果。

综上所述,本申请实施例提供的图文匹配方法,通过根据图像生成候选实例特征集合,再利用自注意力机制对候选实例特征集合中的候选实例特征进行聚合,即可得到实例特征集合,再根据实例特征集合与文本向量计算图像与文本之间的匹配度,这样,可以利用自注意力机制来通过候选实例特征之间的关联性来聚合实例特征,避免通过物体检测器来获取图像的实例特征集合,既解决了训练物体检测器时需要在每张图像上标注所有实例的类别和位置信息,导致物体检测器的训练难度大的问题,从而达到了简化图文匹配的实现难度的效果;也解决了物体检测器除了输出语义信息之外还输出相应的位置信息,而位置信息对图文匹配并没有帮助,导致物体检测器识别的实例特征并不适用于匹配文本,影响图文匹配的准确率的问题,从而达到了提高图文匹配的准确率的效果。

另外,物体检测器的输出会提供无用的位置信息,这并没有充分考虑跨模态检索本身的特性,发明人能够发现物体检测器在跨模态检索中所存在的问题,这本身就具有难度。

另外,由于卷积核的感受野的大小是固定的,所以,自注意力机制常常被用来抓取图像特征之间的长期依赖关系,而本申请中利用自注意力机制来聚合相似的语义信息以获取实例特征集合,这与自注意力机制的常规作用不同,所以,从这一点来说,将自注意力机制引入跨模态检索是不容易想到的。

请参考图4,其示出了本申请另一实施例提供的图文匹配方法的方法流程图。该图文匹配方法,包括:

步骤401,获取待匹配的图像和文本。

对应于上述四种应用场景,可以通过四种方式来获取待匹配的图像和文本,详见步骤301中的描述,此处不作赘述。

在得到一组待匹配的图像和文本后,可以通过步骤402-404来处理图像,通过步骤405来处理文本,本实施例不限定图像和文本的先后处理顺序,即,本实施例不限定步骤402-404和步骤405之间的先后执行顺序。

需要说明的是,当利用一张图像检索文本时,可以对该图像进行一次处理,并将该处理结果与各个文本的处理结果进行匹配;即,在第一次实施本方法时执行步骤401-406,在后续实施本方法时执行步骤401、405-406。当利用一个文本检索图像时,可以对该文本进行一次处理,并将该处理结果与各个图像的处理结果进行匹配;即,在第一次实施本方法时执行步骤401-406,在后续实施本方法时执行步骤401-404和405。

步骤402,将图像输入卷积神经网络中,并获取该卷积神经网络输出的特征图。

卷积神经网络可以是resnet、vggnet、googlenet、alexnet等,本实施例不作限定。

可选的,可以利用数据集对卷积神经网络进行训练,再将图像输入训练好的卷积神经网络中,以获取特征图。比如,可以利用imagenet数据集对卷积神经网络进行训练,本实施例不作限定。

本实施例中将卷积神经网络的卷积层的输出结果称为特征图。

本实施例中,可以提取卷积神经网络中至少一个卷积层的输出,得到至少一个特征图。本实施例既不限定特征图的数量,也不限定输出特征图的卷积层。

请参考图5,其中的卷积神经网络为resnet-152,卷积层分别为conv1、conv2_x、conv3_x、conv4_x和conv5_x,假设选取conv3_x、conv4_x和conv5_x的输出结果,则conv3_x得到的是尺度为28×28×512的特征图,conv4_x得到的是尺度为14×14×1024的特征图,conv5_x得到的是尺度为7×7×2048的特征图。

需要说明的是,在将图像输入卷积神经网络之前,还可以对该图像进行预处理,以使图像满足卷积神经网络的输入条件。以ms-coco和flickr30k这两个数据集上的图像为例,可以对该图像进行随机裁剪和缩放,以使图像的大小为224×224。

步骤403,对特征图进行划分,将划分后得到的候选实例特征组成候选实例特征集合。

候选实例特征集合包括至少一个候选实例特征,且每个候选实例特征对应于图像的特征图中的一个区域。

若卷积神经网络输出了一张特征图,则可以将该特征图均匀划分成k个候选实例区域,每个候选实例区域即为一个候选实例特征,得到一个候选实例特征集合,k为大于等于2的正整数。其中,候选实例特征集合中每个候选实例特征与图像中的一个区域对应。若卷积神经网络输出了至少两张不同尺度的特征图,对于每张特征图,可以按照上面所说的方式得到一个候选实例特征集合。

若按照上述方式将特征图划分成k个候选实例区域,假设图像中的一个物体占用的空间对应于多个候选实例区域,则该物体所对应的实例特征也会涉及到该多个候选实例区域,所以,将候选实例区域对应的特征称为候选实例特征。

给定输入的图像i,可以在特征图上定义候选实例特征如下:对于尺度大小为m×n且通道数为c的特征图,沿着通道维度在每个空间位置取特征值,可以得到k=m×n个特征向量,即u={u1,…,uk},ui∈rc。由于这些特征向量分别对应于图像i中的某个特定区域,因而可以看成候选实例特征。其中,c可以是2048,也可以是其他数值,本实施例不作限定。

为了便于理解,以尺度为3×3且通道数为512的特征图为例,若基于空间维度(宽和高)将该特征图等分成9个候选实例区域,则每一个候选实例区域均为一个512维的特征向量。

步骤404,利用自注意力机制对候选实例特征集合中的候选实例特征进行聚合,得到实例特征集合,该实例特征集合中的每个实例特征对应于图像中的一个物体或区域。

实例特征集合包括至少一个实例特征,且每个实例特征对应于图像中的一个物体或区域。以图1中的第一张图像为例,则实例特征可以是人、球网、观众席等等。

自注意力机制的解释详见步骤303中的描述,此处不作赘述。

由于每个候选实例特征对应于图像的特征图中的一个区域,所以,可以利用自注意力机制基于这些候选实例特征之间的相关性来聚合相似的视觉语义,以获取图像中需要关注的各个物体或区域,也即实例特征集合。即,对于候选实例特征集合中的第i个候选实例特征,利用自注意力机制计算第i个候选实例特征与其余候选实例特征之间的相关性,并根据相关性计算基于第i个候选实例特征的实例特征。

本实施例中,可以基于每个候选实例特征计算实例特征。对于每个候选实例特征,可以利用自注意力机制计算其与其他候选实例特征之间的相似度,并将该相似度转化为权重,以通过权重来表示候选实例特征之间的相关性,这样聚合实例特征实质上是对所有候选实例特征进行加权求和运算。

如何设计合适的自注意力机制是本申请的实现难点,下面对两种自注意力机制的实现方式进行介绍,且这两种自注意力机制中用权重来表示相关性。

在第一种实现方式中,对于候选实例特征集合中的第i个候选实例特征,计算第i个候选实例特征与第j个候选实例特征之间的余弦相似度,并根据余弦相似度计算第j个候选实例特征的权重,该权重用于表示基于第i个候选实例特征聚合其他候选实例时对第j个候选实例特征的关注程度,i和j为正整数;将候选实例特征集合中的每个候选实例特征乘以对应的权重,将得到的各个乘积相加,得到基于第i个候选实例特征的实例特征。

对于输入的图像i,根据步骤403可以得到一个特征图对应的候选实例特征集合u,再计算候选实例特征集合u中所有候选实例特征之间的余弦相似度,即

其中,sij表示第i个候选实例特征和第j个候选实例特征之间的余弦相似度。

下面根据余弦相似度计算第j个候选实例特征的权重,在计算该权重之前,还可以对余弦相似度做归一化处理,即

其中,[x]+≡max(x,0)。

下面根据该归一化余弦相似度计算第j个候选实例特征的权重,该权重用于表示基于第i个候选实例特征聚合其他候选实例时对第j个候选实例特征的关注程度,即

其中,λ1是超参数,用于控制聚合的效果。

在一种可能的实现方式中,λ1=9。

对于第i个候选实例特征ui,可以通过加权求和算法来集合其他相关的候选实例特征,得到基于ui聚合得到的实例特征,即

本实施例中,可以将上述第一种实现方式中的自注意力机制称为确定性自注意力机制(deterministicself-attention,dsa),其使用候选实例特征之间的余弦相似度来度量候选实例特征之间的相似性,不需要引入额外的学习参数。

在第二种实现方式中,将候选实例特征集合中的每个候选实例特征分别映射到第一特征空间、第二特征空间和第三特征空间中;对于候选实例特征集合中的第i个候选实例特征,根据第一特征空间中的第j个候选实例特征和第二特征空间中的第i个候选实例特征,计算第j个候选实例特征的权重,权重用于表示基于第i个候选实例特征聚合其他候选实例时对第j个候选实例特征的关注程度,i和j为正整数;将第三特征空间中的每个候选实例特征乘以对应的权重,将得到的各个乘积相加并进行残差拟合,得到基于第i个候选实例特征的实例特征。

对于输入的图像i的特征图x∈rc×m×n,可以将其转化为二维矩阵u∈rc×k,k=m×n,其对应了步骤403中所述的k个候选实例特征。为了建模候选实例特征之间的权重矩阵β∈rk×k,首先将u映射到第一特征空间θ和第二特征空间φ中,则有θ(u)=wθu,φ(u)=wφu。其中,且wθ和wφ都是可以学习的模型参数。在一种可能的实现方式中,可以使用1×1的卷积操作来实现,且在验证实验中取

对于第i个候选实例特征ui,计算第j个候选实例特征的权重,该权重用于表示基于第i个候选实例特征聚合其他候选实例时对第j个候选实例特征的关注程度,即

其中,sji=θ(uj)tφ(ui),i,j∈[1,k],θ(uj)即为第一特征空间中的第j个候选实例特征,φ(ui)即为第二特征空间中的第i个候选实例特征。

下面将u映射到第三特征空间g中,则有g(u)=wgu。其中,wg∈rc×c,且wg都是可以学习的模型参数。在一种可能的实现方式中,可以使用1×1的卷积操作来实现。

对于第i个候选实例特征ui,可以通过加权求和算法来集合其他相关的候选实例特征,得到基于ui聚合得到的实例特征,即

另外,还可以对加权求和算法得到的实例特征ai进行残差拟合,即在ai上添加残差拟合模块,得到最终的实例特征yi=ηai+ui。(7)

其中,η可以是学习的模型参数。

本实施例中,可以将上述第二种实现方式中的自注意力机制称为可适配自注意力机制(adaptiveself-attention,asa),其基于神经网络可适配地建模候选实例之间的相关性,需要引入额外的学习参数。

需要说明的是,当卷积神经网络输出一张特征图时,可以通过上述两种实现方式中的任一种得到一个实例特征集合;当卷积神经网络输出n张不同尺度的特征图且n≥2时,由于自注意力机制并不会改变特征图的尺度大小,所以,需要对这n张不同尺度的特征图进行融合。

由于特征图的尺度大小决定了候选实例特征的数量,而实例特征是对候选实例特征进行聚合得到的,所以,特征图的尺度大小间接决定了实例特征的数量。即,特征图的尺度越大,编码的实例特征的数量越多。若实例特征的数量越多,则与文本中的词汇特征在语义空间中的对齐就越困难,所以,本实施例中需要在融合不同尺度的特征图时减少实例特征的数量。

在一种可能的实现方式中,可以采用下采样的方式来融合不同尺度的特征图。此时,对于n张特征图中的第m张特征图,获取第m+1张特征图的尺度,1≤m<n;按照第m+1张特征图的尺度,对基于第m张特征图生成的实例特征集合进行下采样,将得到的实例特征集合与基于第m+1张特征图生成的实例特征集合进行合并;将合并后的实例特征集合确定为基于第m+1张特征图最终生成的实例特征集合。

请参考图5,三张特征图的尺度分别是28×28×512、14×14×1024和7×7×2048,则对于第一张特征图来说,可以将28×28×512的特征图下采样(maxpool)到14×14×512,再与14×14×1024的特征图在通道维度上作联结(concat),得到14×14×1536的特征图;再将将14×14×1536的特征图下采样(maxpool)到7×7×1536,再与7×7×2048的特征图在通道维度上作联结(concat),得到7×7×3584的特征图。

需要说明的第一点是:由于特征图与实例特征集合,所以,对特征图作下采样即为对实例特征集合作下采样。

需要说明的第二点是,图5中以maxpool的下采样方式进行举例说明,还可以通过averagepool、卷积等方式进行下采样,本实施例不作限定。

需要说明的第三点是,在尺度融合后,可以通过全连接层将实例特征集合映射到d维的共享语义空间中,即vi=wvai+bv。(7)

其中,wv和bv是对应于全连接的模型参数。d可以是1024,也可以是其他数值,本实施例不作限定。

需要说明的第四点是,若利用物体检测器来提取实例特征,由于物体检测器的检测框架中自带了多尺度的设计,所以,利用物体检测器来提取实例特征时无需融合多尺度的特征图。由于利用物体检测器提取实例特征时并不需要考虑多尺度的特征图的融合,所以,发明人能够想到在利用自注意力机制来得到实例特征时,增加多尺度的特征图的融合过程,以增强视觉语义,这本身就具有难度。

需要说明的第五点是,还可以利用自注意力机制得到图像的实例特征集合之后,将该实例特征集合运用到其他应用中,比如,根据图像生成描述文本、视觉问答、根据文本生成图像等等,本实施例不作限定。

需要说明的第二点是,当图像是视频中的图像帧时,除了可以提取图像帧的特征图,还可以提取各个图像帧之间的动态关联信息,再根据该特征图和该动态关联信息来生成实例特征集合,本实施例不作限定。

步骤405,对文本进行编码,得到文本向量。

其中,循环神经网络可以是rnn、lstm、gru等,本实施例不作限定。下面以双向gru为例,则编码过程包括以下几个步骤:

1)对语句进行分词,得到r个词汇,r为正整数。

给定输入的语句s={w1,…,wr},其潜在的实例大多数为名词或名词短语,这里的目标是学习词汇向量。所以,需要对语句进行分词处理,得到r个词汇。其中,对语句进行分词处理的实现方式较多,此处不作限定。

2)对于r个词汇中的第t个词汇,根据第t个词汇在词汇表中的位置对第t个词汇进行编码,得到第t个词汇特征向量,1≤t≤r。

在分词处理后,可以使用双向gru结合语句的上下文嵌入词汇向量。对于语句中的第t个词汇wt而言,可以先用独热编码ⅱt标识其在整个词汇表中的位置,再基于该位置将ⅱt映射成预定维度的词汇特征向量xt,即x(t)=wxⅱt,i∈[1,r]。其中,词汇表是由所有语句进行分词后,将其中出现频率大于预定频率的词汇组成的。在一种可能的实现方式中,预定维度为300维,且默认情况下使用预先训练的glove(词嵌入向量)特征作初始化。

比如,假设词汇表中包括300个词汇,且wt在词汇表中的位置是29,则第t个词汇特征向量是一个300维的向量,且其中第29个维度的数值为1,其余维度的数值为0。

3)将第t个词汇特征向量在第t个时间步中输入双向门控循环单元中,并根据双向门控循环单元在第t个时间步的双向隐藏状态确定第t个词汇向量。

双向gru包括一个前向gru和一个后向gru,可以以w1到wr的顺序依次将r个词汇特征向量作为该前向gru的输入,可以以wr到w1的顺序依次将r个词汇特征向量作为该后向gru的输入。

对于前向gru,

对于后向gru,

第t个词汇向量可以由前向隐藏状态和后向隐藏状态的平均值决定,其描述了整个语句在单词wt周围的信息,即

4)将得到的r个词汇向量组成文本向量。

请参考图5,将文本输入双向gru中,即可根据各个隐藏状态h来得到文本向量。

步骤406,根据实例特征集合和文本向量计算图像与文本之间的匹配度。

本实施例中,可以将实例特征集合和文本向量映射到共同的语义空间中,再在该语义空间中计算实例特征集合与文本向量之间的全局相似度,根据该全局相似度来衡量图像和文本之间的匹配度。

对于给定的输入的图像i和语句s,根据上述步骤可以得到实例特征集合v={v1,…,vk},vi∈rd和文本向量e={e1,…,er},er∈rd。为了衡量图像i和语句s之间的全局相似性,可以采用堆叠交叉注意力方法(stackedcrossattention),其可以通过聚合实例特征集合和文本向量之间的局部相似度来评估最终的全局相似度。其中局部相似度的聚合有两个方向,分别是基于实例特征集合聚合其与文本向量的相似度(image-text,简记为i-t)以及基于文本向量聚合其与实例特征集合之间的相似度(text-image,简记为t-i)。下面分别对这两种聚合方式进行介绍。

以i-t方向聚合为例,则对于实例特征集合中的第p个实例特征,计算第p个实例特征与文本向量中第q个词汇向量之间的相似度,并根据相似度计算第q个词汇向量的权重,p和q为正整数;将文本向量中的每个词汇向量乘以对应的权重,将得到的各个乘积相加,得到基于第p个实例特征的文本语义向量;计算第p个实例特征与文本语义向量之间的余弦相似度;根据实例特征集合中所有的特征实例与对应的文本语义向量之间的余弦相似度计算图像与文本之间的全局相似度,该全局相似度用于指示图像与文本之间的匹配度。

对于第p个实例特征vp,可以先计算其与文本向量中所有的词汇向量{e1,…,er}之间的相似度,然后将该相似度作为权重,对所有的词汇向量进行加权求和运算,可以得到基于vp聚合的文本语义向量基于vp的局部相似度可以用vp和之间的余弦相似度来量化,而图像i和语句s之间的全局相似度可以用logsumexp函数聚合,即

或者,图像i和语句s之间的全局相似度可以用均值函数聚合,即

以t-i方向聚合为例,则对于文本向量中的第p个词汇向量,计算第p个词汇向量与实例特征集合中第q个实例特征之间的相似度,并根据相似度计算第q个实例特征的权重,p和q为正整数;将实例特征集合中的每个实例特征乘以对应的权重,将得到的各个乘积相加,得到基于第p个词汇向量的图像语义向量;计算第p个词汇向量与图像语义向量之间的余弦相似度;根据文本向量中所有的词汇向量与对应的图像语义向量之间的余弦相似度计算文本与图像之间的全局相似度,该全局相似度用于指示图像与文本之间的匹配度。

其中,t-i方向聚合的全局相似度和i-t方向聚合的全局相似度的计算方法相同,此处不作赘述。

可选的,还可以计算t-i方向聚合的全局相似度和i-t方向聚合的全局相似度的平均值,将该平均值作为图像和文本的全局相似度。

本实施例中,图像和文本之间的全局相似度即为图像和文本之间的匹配度。在得到图像和文本之间的匹配度之后,可以选取大于预定阈值的匹配度,将该匹配度对应的图像或文本确定为检索结果;或者,可以对所有图像或文本的匹配度进行排序,将排列在前几位的图像或文本确定为检索结果。请参考图5,在堆叠交叉注意力之后,还可以通过排序误差来确定排列在前几位的图像或文本,以得到检索结果。

综上所述,本申请实施例提供的图文匹配方法,通过根据图像生成候选实例特征集合,再利用自注意力机制对候选实例特征集合中的候选实例特征进行聚合,即可得到实例特征集合,再根据实例特征集合与文本向量计算图像与文本之间的匹配度,这样,可以利用自注意力机制来通过候选实例特征之间的关联性来聚合实例特征,避免通过物体检测器来获取图像的实例特征集合,既解决了训练物体检测器时需要在每张图像上标注所有实例的类别和位置信息,导致物体检测器的训练难度大的问题,从而达到了简化图文匹配的实现难度的效果;也解决了物体检测器除了输出语义信息之外还输出相应的位置信息,而位置信息对图文匹配并没有帮助,导致物体检测器识别的实例特征并不适用于匹配文本,影响图文匹配的准确率的问题,从而达到了提高图文匹配的准确率的效果。

另外,物体检测器的输出会提供无用的位置信息,这并没有充分考虑跨模态检索本身的特性,发明人能够发现物体检测器在跨模态检索中所存在的问题,这本身就具有难度。

另外,由于卷积核的感受野的大小是固定的,所以,自注意力机制常常被用来抓取图像特征之间的长期依赖关系,而本申请中利用自注意力机制来聚合相似的语义信息以获取实例特征集合,这与自注意力机制的常规作用不同,所以,从这一点来说,将自注意力机制引入跨模态检索是不容易想到的。

通过对多个尺度的特征图进行融合,可以用来增强视觉语义。另外,由于利用物体检测器提取实例特征时并不需要考虑多尺度的特征图的融合,所以,发明人能够想到在利用自注意力机制来得到实例特征时,增加多尺度的特征图的融合过程,以增强视觉语义,这本身就具有难度。

通过下采样的方式实现多个尺度的特征图的融合,可以在融合特征图的同时减少实例特征的数量,从而降低实例特征与文本中的词汇在语义空间中对齐的难度,提高图文匹配的准确性。

上述方法可以通过一个用于图文匹配的模型实现,若将上述方法命名为save方法,则可以将该模型命名为save模型。save模型尝试以端到端的方式从图像中潜在的物体或区域中提取实例特征(也可以称为实例级别的视觉特征),再基于该实例特征进行跨模态检索。受基于物体检测器来获取实例特征的启发,本实施例中使用自注意力机制来替代物体检测器,并探索其在实例特征提取上的效果。为了获取不同层级的实例特征,可以先用卷积神经网络提取不同尺度的特征图,再将自注意力机制分别应用到这些特征图中,以期望从高分辨率的特征图上提取低阶物体或区域的细节特征,从低分辨率的特征图上聚合高阶语义概念信息。

另外,save模型除了包括一个卷积神经网络,还包括一个循环神经网络和一个匹配模型,该循环神经网络用于提取文本向量,该匹配模型用于基于特征图提取实例特征集合,并对实例特征集合和文本向量进行匹配。

在训练匹配模型时,我们重点关注的是训练过程中的负样本。对于一对匹配的图文样例(i,s),负样本可以定义为ih=argmaxx≠is(x,s)和sh=argmaxy≠ss(i,y)。可选的,还可以定义最小化合页形式的三元排序损失函数,该损失函数定义为

其中,m为合页损失的边界参数,[x]+≡max(x,0)。

在训练save模型时,可以将损失函数的边界值设定为0.2,训练过程中梯度裁剪的最大值设置为2.0。可选的,可以用adam优化器来训练save模型,且每个批次的训练样本数设定为128。训练过程分为两个阶段,第一阶段先固定resnet-152的参数,初始学习率设为5e-4;第二阶段将resnet-152和save模型的其他部分一起训练,初始学习率设为2e-5。需要说明的是,学习率是与数据集相关的,这里所例举的学习率是基于ms-coco数据集的学习率。

需要说明的是,本申请的一个实现难点在于save模型的参数的调整,这和训练的学习率、训练方法的选择、训练论述的设置密切相关,且这些参数的选择需要观察训练损失的变化,再利用经验基于该变化调整参数。超参数的选择一般使用网格搜索法,比较耗时。

下面将图文匹配方法应用到上述四种应用场景中,并对上述四种应用场景中的跨模态检索的完整流程进行介绍。

1)图像和文本的互检索

当利用图像检索文本时,save模型获取输入的一张图像,执行上述步骤402-404来计算图像的实例特征集合;再从包含至少一个文本的文本库中读取第z个文本,执行上述步骤405-406来计算图像与第z个文本之间的匹配度;将z更新为z+1,继续执行从包含至少一个文本的文本库中读取第z个文本的步骤,直至得到文本库中所有文本与图像的匹配度后停止循环,z为正整数。save模型再按照与该图像的匹配度对文本进行排序,将排列在前几位的文本确定为本次的检索结果,并对该检索结果进行输出。

当利用文本检索图像时,save模型获取输入的一个文本,执行上述步骤405来计算文本向量;再从包含至少一张图像的图像库中读取第z张图像,执行上述步骤402-404以及406来计算文本与第z张图像之间的匹配度;将z更新为z+1,继续执行从包含至少一张图像的图像库中读取第z张图像的步骤,直至得到图像库中所有图像与文本的匹配度后停止循环,z为正整数。save模型再按照与该文本的匹配度对图像进行排序,将排列在前几位的图像确定为本次的检索结果,并对该检索结果进行输出。

2)图像和标签的互检索

当利用图像检索标签时,save模型获取输入的一张图像,执行上述步骤402-404来计算图像的实例特征集合;再从包含至少一个标签的标签库中读取第z个标签,执行上述步骤405-406来计算图像与第z个标签之间的匹配度;将z更新为z+1,继续执行从包含至少一个标签的标签库中读取第z个标签的步骤,直至得到标签库中所有标签与图像的匹配度后停止循环,z为正整数。save模型再按照与该图像的匹配度对标签进行排序,将排列在前几位的标签确定为本次的检索结果,并对该检索结果进行输出。

当利用标签检索图像时,save模型获取输入的一个标签,执行上述步骤405来计算文本向量;再从包含至少一张图像的图像库中读取第z张图像,执行上述步骤402-404以及406来计算标签与第z张图像之间的匹配度;将z更新为z+1,继续执行从包含至少一张图像的图像库中读取第z张图像的步骤,直至得到图像库中所有图像与标签的匹配度后停止循环,z为正整数。save模型再按照与该标签的匹配度对图像进行排序,将排列在前几位的图像确定为本次的检索结果,并对该检索结果进行输出。

3)视频和文本的互检索

当利用视频检索文本时,save模型获取输入的一段视频,由于视频中连续f(f为正整数)个视频帧的内容的差别不大,所以,可以每隔f个视频帧对输入的视频进行采样,得到各个图像帧,对于每个图像帧,save模型将该图像帧作为输入的一张图像,执行上述步骤402-404来计算图像的实例特征集合;再从包含至少一个文本的文本库中读取第z个文本,执行上述步骤405-406来计算图像与第z个文本之间的匹配度,并将第z个文本与该视频中所有图像的匹配度的平均值或最大值确定第z个文本与视频的匹配度;将z更新为z+1,继续执行从包含至少一个文本的文本库中读取第z个文本的步骤,直至得到文本库中所有文本与视频的匹配度后停止循环,z为正整数。save模型再按照与该视频的匹配度对文本进行排序,将排列在前几位的文本确定为本次的检索结果,并对该检索结果进行输出。

当利用文本检索视频时,save模型获取输入的一个文本,执行上述步骤405来计算文本向量;再从包含至少一段视频的视频库中读取第z段视频,由于该第z段视频中连续f(f为正整数)个视频帧的内容的差别不大,所以,可以每隔f个视频帧对该第z段视频进行采样,得到各个图像帧,将每个图像帧作为一张图像,执行上述步骤402-404以及406来计算文本与图像之间的匹配度,并根据文本与该第z段视频中所有图像的匹配度的平均值或最大值确定文本与该第z段视频的匹配度;将z更新为z+1,继续执行从包含至少一段视频的视频库中读取第z段视频的步骤,直至得到视频库中所有视频与文本的匹配度后停止循环,z为正整数。save模型再按照与该文本的匹配度对视频进行排序,将排列在前几位的视频确定为本次的检索结果,并对该检索结果进行输出。

4)视频和标签的互检索

当利用视频检索标签时,save模型获取输入的一段视频,由于视频中连续f(f为正整数)个视频帧的内容的差别不大,所以,可以每隔f个视频帧对输入的视频进行采样,得到各个图像帧,对于每个图像帧,save模型将该图像帧作为输入的一张图像,执行上述步骤402-404来计算图像的实例特征集合;再从包含至少一个标签的标签库中读取第z个标签,执行上述步骤405-406来计算图像与第z个标签之间的匹配度,并根据第z个标签与该视频中所有图像的匹配度的平均值或最大值确定第z个标签与视频的匹配度;将z更新为z+1,继续执行从包含至少一个标签的标签库中读取第z个标签的步骤,直至得到标签库中所有标签与视频的匹配度后停止循环,z为正整数。save模型再按照与该视频的匹配度对标签进行排序,将排列在前几位的标签确定为本次的检索结果,并对该检索结果进行输出。

当利用标签检索视频时,save模型获取输入的一个标签,执行上述步骤405来计算文本向量;再从包含至少一段视频的视频库中读取第z段视频,由于该第z个视频中连续f(f为正整数)个视频帧的内容的差别不大,所以,可以每隔f个视频帧对该第z个视频进行采样,得到各个图像帧,将每个图像帧作为一张图像,执行上述步骤402-404以及406来计算标签与图像之间的匹配度,并根据标签与该第z个视频中所有图像的匹配度的平均值或最大值确定标签与第z段视频的匹配度;将z更新为z+1,继续执行从包含至少一段视频的视频库中读取第z段视频的步骤,直至得到视频库中所有视频与标签的匹配度后停止循环,z为正整数。save模型再按照与该标签的匹配度对视频进行排序,将排列在前几位的视频确定为本次的检索结果,并对该检索结果进行输出。

下面在如下外部硬件环境配置中运行save模型,以验证save模型的技术效果:

cpu:8核

内存:128g

显卡:nvidiateslap402块

在验证save方法的技术效果时,先对跨模态检索的两个数据集进行介绍。ms-coco和flickr30k是跨模态检索的两个基准数据集。flickr30k数据集包含从flickr网站上搜集的31783张图像,并且每张图像拥有5个文本。我们用29000张图像作训练集,1014张图像作验证集,1000张图像作测试集。ms-coco数据集包含123287张图像,同样地每张图像对应了5个文本。我们用82783张图像作训练集,5000张图像作验证集,5000张图像作测试集。此外,还可以将ms-coco数据集中原有的30504张验证集图像加入到检索的训练集中,此时,训练集图像扩充到113287张,其他保持不变。在ms-coco数据集上的测试分为两种情况:1)直接用5000张图像作测试;2)将5000张图像分为5份,分别在每份1000张图像上测试并对结果取平均值。

r@k(k=1,5,10)是跨模态检索任务常用的评价指标,它的定义是在所有检索前k个结果的查询中至少包含一个正确结果的查询所占的百分比。medr是另外一个评价指标,它对应的是所有查询中最靠前的正确结果对应序号的中位数。此外,还可以定义sum这个评价指标用来衡量跨模态检索的整体效果,

下面将save方法与相关技术中的一些方法在flickr30k数据集上的实验结果进行比较,请参考表1。表1中将各种方法的实验结果划分到三栏中进行显示,下面分别对三栏中方法的实现原理进行介绍。

第一栏中的各种方法是端到端可训练,其视觉特征可以由vgg或resnet直接提取得到,再将提取到的视觉特征一对一或多对多映射到语义空间中。其中,一对一映射是指将图像和文本的全局特征向量映射到语义空间中,并用该全局特征向量在语义空间中的距离来度量图像和文本之间的匹配度。然而,全局特征向量所包含的高阶语义信息是交错混杂在一起的,基于其检索到的图像(或文本)的内容常常在一些细节上与给定的文本(或图像)的内容不一致,比如图像中的物体与文本中的名词不能一一对应上。多对多映射是指将图像的局部特征集合和文本的词汇特征集合映射到语义空间中,并聚合图像和文本之间的局部相似性来衡量图像和文本之间的全局相似性,从而得到图像和文本之间的匹配度。

第二栏中的各种方法是利用物体检测器提取实例特征集合。

第三栏中的各种方法即为上面所说的save方法,其根据自注意力机制和不同尺度的特征图的数量进行了分类,其中,ms2是指save方法提取了14×14和7×7这两个尺度的特征图,ms3是指save方法提取了28×28、14×14和7×7这三个尺度的特征图。

可见,save方法在所有评价指标下都明显优于第一栏中的各种方法(端到端可训练的)。我们的最佳实验结果是通过融合可适配自注意力聚合的3层实例特征集合来实现的,这一结果与现有最好的检索方法(即scan方法)相当。值得一提的是,我们的save方法并不需要使用额外的人工注释数据来训练物体检测器。

表1

表2示出了各种方法在ms-coco数据集上的1k和5k测试集的实验结果,仍然按照表1中各种方法的实现原理将各种方法的实验结果划分到六栏中进行显示。其中我们的最佳实验结果是通过融合可适配自注意力聚合的2层实例特征集合来实现的,其所有评价指标都优于第一栏和第四栏中的各种方法(端到端可训练的)。但是save方法和现有最好的检索方法(即scan方法)之间还存在着一些差距,特别是在5k测试集下,这可能是因为scan方法除了使用额外的标注数据训练物体检测器之外,还使用额外的数据集(visualgenome)训练物体检测器,所以,训练得到的物体检测器所提取的特征的泛化能力可能会更好,使得scan方法具有更好的通用性。

表2

请参考图6,其示出了本申请一个实施例提供的图文匹配装置的结构框图。该图文匹配装置,包括:

获取模块610,用于获取待匹配的图像和文本;

生成模块620,用于根据获取模块610获得的图像生成候选实例特征集合;

聚合模块630,用于利用自注意力机制对生成模块620生成的候选实例特征集合中的候选实例特征进行聚合,得到实例特征集合,实例特征集合中的每个实例特征对应于图像中的一个物体或区域;

编码模块640,用于对获取模块610获得的文本进行编码,得到文本向量;

计算模块650,用于根据聚合模块630得到的实例特征集合和编码模块640得到的文本向量计算图像与文本之间的匹配度。

在一种可能的实现方式中,聚合模块630,还用于:

对于候选实例特征集合中的第i个候选实例特征,利用自注意力机制计算第i个候选实例特征与其余候选实例特征之间的相关性,并根据相关性计算基于第i个候选实例特征的实例特征。

在一种可能的实现方式中,当相关性是权重时,聚合模块630,还用于:

对于候选实例特征集合中的第i个候选实例特征,计算第i个候选实例特征与第j个候选实例特征之间的余弦相似度,并根据余弦相似度计算第j个候选实例特征的权重,权重用于表示基于第i个候选实例特征聚合其他候选实例时对第j个候选实例特征的关注程度,i和j为正整数;

将候选实例特征集合中的每个候选实例特征乘以对应的权重,将得到的各个乘积相加,得到基于第i个候选实例特征的实例特征。

在一种可能的实现方式中,当相关性是权重时,聚合模块630,还用于:

将候选实例特征集合中的每个候选实例特征分别映射到第一特征空间、第二特征空间和第三特征空间中;

对于候选实例特征集合中的第i个候选实例特征,根据第一特征空间中的第i个候选实例特征和第二特征空间中的第j个候选实例特征,计算第j个候选实例特征的权重,权重用于表示基于第i个候选实例特征聚合其他候选实例时对第j个候选实例特征的关注程度,i和j为正整数;

将第三特征空间中的每个候选实例特征乘以对应的权重,将得到的各个乘积相加并进行残差拟合,得到基于第i个候选实例特征的实例特征。

在一种可能的实现方式中,生成模块620,还用于:

将图像输入卷积神经网络中,并获取卷积神经网络输出的特征图;

对特征图进行划分,将划分后得到的候选实例特征组成候选实例特征集合。

在一种可能的实现方式中,当卷积神经网络输出有n张不同尺度的特征图且n≥2时,获取模块610,还用于对于n张特征图中的第m张特征图,获取第m+1张特征图的尺度,1≤m<n;

该装置还包括:下采样模块,用于按照获取模块610获得的第m+1张特征图的尺度,对基于第m张特征图生成的实例特征集合进行下采样,将得到的实例特征集合与基于第m+1张特征图生成的实例特征集合进行合并;

确定模块,用于将下采样模块合并后的实例特征集合确定为基于第m+1张特征图最终生成的实例特征集合。

在一种可能的实现方式中,当文本为语句时,计算模块650,还用于:

对于实例特征集合中的第p个实例特征,计算第p个实例特征与文本向量中第q个词汇向量之间的相似度,并根据相似度计算第q个词汇向量的权重,p和q为正整数;

将文本向量中的每个词汇向量乘以对应的权重,将得到的各个乘积相加,得到基于第p个实例特征的文本语义向量;

计算第p个实例特征与文本语义向量之间的余弦相似度;

根据实例特征集合中所有的特征实例与对应的文本语义向量之间的余弦相似度计算图像与文本之间的全局相似度,全局相似度用于指示图像与文本之间的匹配度。

在一种可能的实现方式中,当文本为语句时,计算模块650,还用于:

对于文本向量中的第p个词汇向量,计算第p个词汇向量与实例特征集合中第q个实例特征之间的相似度,并根据相似度计算第q个实例特征的权重,p和q为正整数;

将实例特征集合中的每个实例特征乘以对应的权重,将得到的各个乘积相加,得到基于第p个词汇向量的图像语义向量;

计算第p个词汇向量与图像语义向量之间的余弦相似度;

根据文本向量中所有的词汇向量与对应的图像语义向量之间的余弦相似度计算文本与图像之间的全局相似度,全局相似度用于指示图像与文本之间的匹配度。

在一种可能的实现方式中,当文本为语句时,编码模块640,还用于:

对语句进行分词,得到r个词汇,r为正整数;

对于r个词汇中的第t个词汇,根据第t个词汇在词汇表中的位置对第t个词汇进行编码,得到第t个词汇特征向量,1≤t≤r;

将第t个词汇特征向量在第t个时间步中输入双向门控循环单元中,并根据双向门控循环单元在第t个时间步的双向隐藏状态确定第t个词汇向量;

将得到的r个词汇向量组成文本向量。

综上所述,本申请实施例提供的图文匹配装置,通过根据图像生成候选实例特征集合,再利用自注意力机制对候选实例特征集合中的候选实例特征进行聚合,即可得到实例特征集合,再根据实例特征集合与文本向量计算图像与文本之间的匹配度,这样,可以利用自注意力机制来通过候选实例特征之间的关联性来聚合实例特征,避免通过物体检测器来获取图像的实例特征集合,既解决了训练物体检测器时需要在每张图像上标注所有实例的类别和位置信息,导致物体检测器的训练难度大的问题,从而达到了简化图文匹配的实现难度的效果;也解决了物体检测器除了输出语义信息之外还输出相应的位置信息,而位置信息对图文匹配并没有帮助,导致物体检测器识别的实例特征并不适用于匹配文本,影响图文匹配的准确率的问题,从而达到了提高图文匹配的准确率的效果。

另外,物体检测器的输出会提供无用的位置信息,这并没有充分考虑跨模态检索本身的特性,发明人能够发现物体检测器在跨模态检索中所存在的问题,这本身就具有难度。

另外,由于卷积核的感受野的大小是固定的,所以,自注意力机制常常被用来抓取图像特征之间的长期依赖关系,而本申请中利用自注意力机制来聚合相似的语义信息以获取实例特征集合,这与自注意力机制的常规作用不同,所以,从这一点来说,将自注意力机制引入跨模态检索是不容易想到的。

通过对多个尺度的特征图进行融合,可以用来增强视觉语义。另外,由于利用物体检测器提取实例特征时并不需要考虑多尺度的特征图的融合,所以,发明人能够想到在利用自注意力机制来得到实例特征时,增加多尺度的特征图的融合过程,以增强视觉语义,这本身就具有难度。

通过下采样的方式实现多个尺度的特征图的融合,可以在融合特征图的同时减少实例特征的数量,从而降低实例特征与文本中的词汇在语义空间中对齐的难度,提高图文匹配的准确性。

本申请还提供了一种服务器,该服务器包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的图文匹配方法。需要说明的是,该服务器可以是如下图7所提供的服务器。

请参考图7,其示出了本申请一个示例性实施例提供的服务器的结构示意图。具体来讲:所述服务器700包括中央处理单元(cpu)701、包括随机存取存储器(ram)702和只读存储器(rom)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。所述服务器700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。

所述基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中所述显示器708和输入设备709都通过连接到系统总线705的输入输出控制器710连接到中央处理单元701。所述基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。所述大容量存储设备707及其相关联的计算机可读存储介质为服务器700提供非易失性存储。也就是说,所述大容量存储设备707可以包括诸如硬盘或者cd-roi驱动器之类的计算机可读存储介质(未示出)。

不失一般性,所述计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。

存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元701执行,一个或多个程序包含用于实现上述语句编码或语句解码方法的指令,中央处理单元701执行该一个或多个程序实现上述各个方法实施例提供的图文匹配方法。

根据本发明的各种实施例,所述服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在所述系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的图文匹配方法中由服务器所执行的步骤。

本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器710加载并执行以实现如上所述的图文匹配方法。

本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的图文匹配方法。

本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的图文匹配方法。

本申请一个实施例提供了一种图文匹配设备,所述图文匹配设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的图文匹配方法。

需要说明的是:上述实施例提供的图文匹配装置在进行图文匹配时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将图文匹配装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图文匹配装置与图文匹配方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

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