本发明属于图像文本匹配方法,涉及计算机视觉和自然语言处理的技术领域。
背景技术:
图像文本匹配是许多实际应用中一个重要的视觉语言交叉模态任务。准确的说,它是对于给定的文本查询出最相关的图片,对于给定的图像查询出最相关的句子。但是由于视觉语义的巨大差异,想要在一个公共空间中精确地表示来自不同模态的数据仍然是一个具有挑战性的问题。一系列丰富的研究探索了如何学习一个将图像特征向量和句子特征向量直接比较的联合空间。针对图像-文本匹配提出的许多方法,可分为基于全局语义匹配方法和局部语义匹配方法。
全局语义匹配方法是学习图像与文本之间的对应关系。一般的方法是通过将图像和文本映射到一个公共空间并优化它们的相关性来估计它们是否匹配。kiros等人首先尝试使用cnn和lstm分别对图像和文本进行编码,并采用双向的排名损失来学习嵌入空间。zheng等人提供了一个双重cnn模型有区别地嵌入图像和文本。karpathy等人提出一个三元组排名损失来使相关的图像文字对之间的距离尽可能的小而不相关的图像文字对之间的距离尽可能的大。huang等人对排序损失函数增加了硬否定,进一步提高了匹配结果。zhang等人设计了一种跨模态投影分类损失模型和跨模态投影匹配损失模型来学习图像和文本的嵌入。虽然这些工作都取得了良好的效果,但缺乏对图像和文本的局部细粒度分析。
局部语义匹配方法通过将视觉区域与文本词对齐进而推断图像和句子的相似度。karpathy等人通过计算所有区域-词对的相似性来推断图像-文本匹配。wu等人提出通过测量双向相对语义相似度来学习图文对齐。但是,简单地通过聚集所有可能的区域和单词对的相似性不能推断出全部潜在的视觉语义关系。近年来,随着注意力机制的兴起,许多研究者开始将注意力应用到图像文本匹配中。这种注意机制的优点是可以有选择地集中注意区域或单词,并获得关于它们的详细信息。nam等人引入了一个双重注意网络来捕捉区域和单词之间的精细交互。wang等人提供了一种根据上下文调整注意力的方法,可以有选择地强调图像和句子中的一对实例。lee等人设计了叠加交叉注意,通过密切关注区域相关词或词相关区域来推断图像与文本的匹配,使得局部语义匹配有更好的解释。然而,仅通过计算区域与词语之间的相似度来推断图像与文本的匹配会扭曲图像所表达的主旨意思,从而导致语义错位。
不同于现有的方法,我们的模型(dvsi)通过测量图像中每个区域与其他区域之间的关系来增加相似区域的权重,从而生成一个突出显示图像区域的空间地图。然后,对所有的区域词对进行局部相似度计算。本文增加了全局匹配网络,通过对图像区域特征的推理过滤无关信息,得到具有中心意义的图像特征。然后计算文本与主题图像的全局相似度。最后,融合两部分的图文相似度进行图像文本匹配。
技术实现要素:
本发明的目的是为了解决在基于堆叠注意力机制的图像文本匹配方法中,只通过关注更重要的单词或区域来聚合所有区域-单词对的相似性,而扭曲了图片真正表达的主要含义,从而缺乏全局语义概念的问题。
本发明为解决上述技术问题采取的技术方案是:
s1.从全局视域,构建全局语义推理匹配网络。
s2.构建区域增强模块,形成高亮显示图像区域的空间地图。
s3.结合s2中的增强特征,从局部视域构建局部语义推理匹配网络。
s4.结合s1中的网络和s3中的局部语义推理网络构建基于双视域语义推理网络架构。
s5.基于双视域语义推理网络的训练和图像文本匹配。
其中,基于图像区域特征x,我们先从全局视域捕捉重要的视觉中心意思。保留关键的信息,忘记不重要的信息,最终得到图片的关键表示。具体的说,我们使用双向gru进行图像的全局推理,将区域特征的序列x={x1,…,xm},xm∈rd,一个接一个地进入bi-grus。首先进行前向的推理,一个更新门z控制上一时刻的状态信息被带入到当前状态中的程度。
zt=sigmoid(uzxt vzct-1)(1)
其中u和v为权值参数,z值在[0,1]之间。特别是,较大的z表示前一时刻的状态信息更多。
复位门类似于更新门,它控制将多少来自前一状态的信息写入当前候选集h,而较小的r表示前一时刻的状态信息更少。
rt=sigmoid(uzxt vzct-1)(2)
然后利用复位门对内存信息进行复位,得到eq16中的候选集合h。当r=0时,表示所有已记忆的信息被清除,当r=1时,表示所有已记忆的信息被保留。
最后,使用z更新当前隐藏状态的输出,获得正向推理的特征。
同样,通过反向推理得到特征信息
然后用公式6计算图像和文本的相似度得分.
受自注意力的启发,本文通过计算图片中每个区域与其他区域之间的关系来增大相关区域的权重,从而产生突出显示图像区域的空间图。因为图像的显着区域包含比背景更多的重要信息。同样,句子的宾语或短语比形容词和副词更好地表达句子的含义。首先使用公式4来测量每个图像中所有区域间的相关性,将相关性作为一个权重表示其他位置与当前待计算位置的相似度,进而突出相关的区域。
首先使用公式7来测量每个图像中所有区域间的相关性,将相关性作为一个权重表示其他位置与当前待计算位置的相似度,进而突出相关的区域。
其中f(xm)tg(xn)代表两个图像区域间的相关性,xm为第m个区域的图像特征,xn为第n个区域的图像特征。f(xm)=wfx,g(xn)=wgx,h(xn)=whx,参数w均可以通过反向传播学习。然后按照因子n进行归一化,其中n代表图片中的区域数。
为了得到具有更强的语义关系图像区域特征x*,我们添加了残差网络,得到下式。
x*=w(vm)res xi(8)
其中参数w的维数为1024×1024,输出的特征x*={x1,...,xm},xm∈rd是使图像中主体区域显著的空间地图。
由于我们分别使用图像区域和单词作为上下文来推断图像文本的相似性(图像到文本匹配时,使用图像区域作为上下文来推理相似性;文本匹配图像时,使用单词作为上下文来推理相似性)。具体地,我们分为了2个模块:图像-文本和文本-图像。
对于图像-文本模块:
首先计算图像特征x*和文本y中所有图像区域与单词对的相似矩阵,以此表示每个单词对第m个区域的权重。
然后,通过单词表示的加权组合提取第m个图像区域对应的文本级向量
其中λ1是softmax函数的倒数温度参数。
再将每个区域的文本级向量
最后通过公式7计算图像x*与句子y之间的相似性。
其中μ,λ是超参数。λ2是一个因素,决定放大多少图像区域特征与相应的文本级向量之间的相似性。
对于文本-图像模块:
首先和图像-文本模块一样使用公式(9)计算图像特征x*和文本y中所有图像区域单词对的相似矩阵。
然后通过图像区域表示的加权组合计算第n个单词对应的图像级向量
再将每个单词的图像级向量
最后通过公式11计算图像x*与句子y之间的相似性。
基于双视域语义推理网络包含一个区域增强模型、一个全局语义推理网络和一个局部语义推理网络。
最后,所述的基于双视域语义推理网络的训练方法如下:
该模型(dvsi)由pytorch1.0实现。对于每个图像,我们采用自底向上的注意力模型提取得分排名前36名的对象作为图像区域特征,把它们映射到维度1024的向量作为网络的输入。文本方面,每个词嵌入的大小是300维,我们把它投射到相同的1024维向量空间。对于dvsi的训练,分为图像匹配文本和文本匹配图像两部分。在图像到文字部分,我们使用adam优化器来训练模型,在mscoco数据集上,训练20个批次,学习率设置为0.0005,λ1,λ2分别为4和5。在flickr30k数据集上,我们训练30个批次,学习率设置为0.0002,λ1,λ2分别为4和20。其他参数μ、γ、β和ε都设置为1,α为0.2,梯度裁剪阈值为2.0。在文本到图像的部分,α是0.15,,λ3,λ4分别为9和6,其他参数设置同上。
与现有的技术相比,本发明的有益效果是:
1.本发明提出了一种新的双视域语义推理网络(dvsi),该网络不仅可以挖掘图像中的中心意思来推断视觉语义关系,还可以探索局部的细粒度相似性,为推理图像与文本的对齐提供丰富的补充信息
2.本发明提出了一种区域增强模块,通过计算图像中每个区域与其他区域之间的相关性来增加相似区域的权重,从而生成一个强调图像区域的空间地图,为推断图像文本的相似性做铺垫。
附图说明
图1为基于双视域语义推理网络的结构示意图。
图2为全局语义推理匹配模型示意图。
图3为区域增强模块的模型示意图。
图4为基于局部语义推理网络的图像到文本匹配的结构示意图。
图5为基于局部语义推理网络的文本到图像匹配的结构示意图。
图6为基于双视域语义推理网络的图像文本匹配与堆叠注意力网络的图像文本匹配的结果对比图。
图7和图8为图像匹配文本和文本匹配图像的可视化结果图
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制。
以下结合附图和实施例对本发明做进一步的阐述。
图1为基于双视域语义推理网络的结构示意图。如图1所示,整个图像-文本匹配的dvsi框架由局部语义匹配(下)和全局语义匹配(上)两部分组成。
图2为全局语义推理匹配模型示意图。如图2所示,输入的featuremap表示1024为的图像区域特征,文本部分输入的是经过编码后的1024为的句子特征。基于图像区域特征x,我们使用双向gru进行图像的全局推理,将区域特征的序列x={x1,…,xm},xm∈rd,一个接一个地进入bi-grus。首先进行前向的推理,一个更新门z控制上一时刻的状态信息被带入到当前状态中的程度。
zt=sigmoid(uzxt vzct-1)(1)
其中u和v为权值参数,z值在[0,1]之间。特别是,较大的z表示前一时刻的状态信息更多。
复位门类似于更新门,它控制将多少来自前一状态的信息写入当前候选集h,而较小的r表示前一时刻的状态信息更少。
rt=sigmoid(uzxt vzct-1)(2)
然后利用复位门对内存信息进行复位,得到eq16中的候选集合h。当r=0时,表示所有已记忆的信息被清除,当r=1时,表示所有已记忆的信息被保留。
最后,使用z更新当前隐藏状态的输出,获得正向推理的特征。
同样,通过反向推理得到特征信息
然后用公式6计算图像和文本的相似度得分.
图3为区域增强模块的模型示意图。如图3所示,输入的featuremap表示1024为的图像区域特征,我们首先使用公式7来测量每个图像中所有区域间的相关性,将相关性作为一个权重表示其他位置与当前待计算位置的相似度,进而突出相关的区域。
其中f(xm)tg(xn)代表两个图像区域间的相关性,xm为第m个区域的图像特征,xn为第n个区域的图像特征。f(xm)=wfx,g(xn)=wgx,h(xn)=whx,参数w均可以通过反向传播学习。然后按照因子n进行归一化,其中n代表图片中的区域数。
为了得到具有更强的语义关系图像区域特征x*,我们添加了残差网络,得到下式。
x*=w(vm)res xi(8)
其中参数w的维数为1024×1024,输出的特征x*={x1,...,xm},xm∈rd是使图像中主体区域显著的空间地图,即local-levelrepresentation。
图4为基于局部语义推理网络的图像到文本匹配的结构示意图。如图4所示,在图像匹配文本时,我们使用图像区域作为上下文来推断图像文本的相似性。首先计算图像特征x*和文本y中所有图像区域与单词对的相似矩阵,以此表示每个单词对第m个区域的权重。
然后,通过单词表示的加权组合提取第m个图像区域对应的文本级向量
其中λ1是softmax函数的倒数温度参数。
再将每个区域的文本级向量
最后通过公式7计算图像x*与句子y之间的相似性。
其中μ,λ是超参数。λ2是一个因素,决定放大多少图像区域特征与相应的文本级向量之间的相似性。
图5为基于局部语义推理网络的文本到图像匹配的结构示意图。如图5所示,在文本匹配图像时,我们使用单词作为上下文来推断图像文本的相似性。首先和图像匹配文本模块一样使用公式(9)计算图像特征x*和文本y中所有图像区域单词对的相似矩阵。然后通过图像区域表示的加权组合计算第n个单词对应的图像级向量
再将每个单词的图像级向量
最后通过公式11计算图像x*与句子y之间的相似性。
图6为基于双视域语义推理网络的图像文本匹配与堆叠注意力网络的图像文本匹配的结果对比图。如图6所示,基于双视域语义推理网络的图像文本匹配结果比其他模型更加准确。
图7和图8为图像匹配文本和文本匹配图像的可视化结果图。如图7所示,给与一张图像,基于双视域语义推理网络模型可以匹配出相应的文本。如图8所示,给与文本,基于双视域语义推理网络模型可以匹配出相应的图片。
本发明提出了一种双视域语义推理的图像-文本匹配方法,该方法分为全局语义匹配和局部语义匹配两部分。全局语义匹配关注的是图像所表达的主题意义。局部语义匹配关注图像和文本的局部信息。最后,将两部分相似度融合到一起来进行图像文本匹配。通过训练提高了图像匹配文本和文本匹配图像的准确率,可以很好的找到相应的图像或文本。未来,我们将进一步研究双视图语义推理方法在多模态匹配(视频、声音、3d)和其他视觉语言任务中的有效性
最后,本发明的上述示例的细节仅为解释说明本发明所做的举例,对于本领域技术人员,对上述实施例的任何修改、改进和替换等,均应包含在本发明权利要求的保护范围之内。
1.基于双视域语义推理网络的图像文匹配方法,其特征在于,所述方法包括以下步骤:
s1.从全局视域,构建全局语义推理匹配网络。
s2.构建区域增强模块,形成高亮显示图像区域的空间地图。
s3.结合s2中的增强特征,从局部视域构建局部语义推理匹配网络。
s4.结合s1中的网络和s3中的局部语义推理网络构建基于双视域语义推理网络架构。
s5.基于双视域语义推理网络的训练和图像文本匹配。
2.根据权利要求1所述的基于双视域语义推理网络的图像文匹配方法,其特征在于,所述s1的具体过程为:
基于图像区域特征x,我们使用双向gru进行图像的全局推理,将区域特征的序列x={x1,…,xm},xm∈rd,一个接一个地进入bi-grus。首先进行前向的推理,一个更新门z控制上一时刻的状态信息被带入到当前状态中的程度。
zt=sigmoid(uzxt vzct-1)(1)
其中u和v为权值参数,z值在[0,1]之间。特别是,较大的z表示前一时刻的状态信息更多。
复位门类似于更新门,它控制将多少来自前一状态的信息写入当前候选集h,而较小的r表示前一时刻的状态信息更少。
rt=sigmoid(uzxt vzct-1)(2)
然后利用复位门对内存信息进行复位,得到eq16中的候选集合h。当r=0时,表示所有已记忆的信息被清除,当r=1时,表示所有已记忆的信息被保留。
最后,使用z更新当前隐藏状态的输出,获得正向推理的特征。
同样,通过反向推理得到特征信息
然后用公式6计算图像和文本的相似度得分.
3.根据权利要求1所述的基于双视域语义推理网络的图像文匹配方法,其特征在于,所述s2的具体过程为:
首先使用公式7来测量每个图像中所有区域间的相关性,将相关性作为一个权重表示其他位置与当前待计算位置的相似度,进而突出相关的区域。
其中f(xm)tg(xn)代表两个图像区域间的相关性,xm为第m个区域的图像特征,xn为第n个区域的图像特征。f(xm)=wfx,g(xn)=wgx,h(xn)=whx,参数w均可以通过反向传播学习。然后按照因子n进行归一化,其中n代表图片中的区域数。
为了得到具有更强的语义关系图像区域特征x*,我们添加了残差网络,得到下式。
x*=w(vm)res xi(8)
其中参数w的维数为1024×1024,输出的特征x*={x1,...,xm},xm∈rd是使图像中主体区域显著的空间地图。
4.根据权利要求1所述的基于双视域语义推理网络的图像文匹配方法,其特征在于,所述s3的具体过程为:
由于我们分别使用图像区域和单词作为上下文来推断图像文本的相似性(图像到文本匹配时,使用图像区域作为上下文来推理相似性;文本匹配图像时,使用单词作为上下文来推理相似性)。具体地,我们分为了2个模块:图像-文本和文本-图像。
对于图像-文本模块:
首先计算图像特征x*和文本y中所有图像区域与单词对的相似矩阵,以此表示每个单词对第m个区域的权重。
然后,通过单词表示的加权组合提取第m个图像区域对应的文本级向量
其中λ1是softmax函数的倒数温度参数。
再将每个区域的文本级向量
最后通过公式7计算图像x*与句子y之间的相似性。
其中μ,λ是超参数。λ2是一个因素,决定放大多少图像区域特征与相应的文本级向量之间的相似性。
对于文本-图像模块:
首先和图像-文本模块一样使用公式(9)计算图像特征x*和文本y中所有图像区域单词对的相似矩阵。
然后通过图像区域表示的加权组合计算第n个单词对应的图像级向量
再将每个单词的图像级向量
最后通过公式11计算图像x*与句子y之间的相似性。
5.根据权利要求1所述的基于双视域语义推理网络的图像文匹配方法,其特征在于,所述s4的具体过程为:
所述的基于双视域语义推理网络包含一个区域增强模型、一个全局语义推理网络和一个局部语义推理网络。
6.根据权利要求1所述的基于双视域语义推理网络的图像文匹配方法,其特征在于,所述s5的具体过程为:
基于双视域语义推理网络的训练方法如下:
模型(dvsi)由pytorch1.0实现。对于每个图像,我们采用自底向上的注意力模型提取得分排名前36名的对象作为图像区域特征,把它们映射到维度1024的向量作为网络的输入。文本方面,每个词嵌入的大小是300维,我们把它投射到相同的1024维向量空间。对于dvsi的训练,分为图像匹配文本和文本匹配图像两部分。在图像到文字部分,我们使用adam优化器来训练模型,在mscoco数据集上,训练20个批次,学习率设置为0.0005,λ1,λ2分别为4和5。在flickr30k数据集上,我们训练30个批次,学习率设置为0.0002,λ1,λ2分别为4和20。其他参数μ、γ、β和ε都设置为1,α为0.2,梯度裁剪阈值为2.0。在文本到图像的部分,α是0.15,,λ3,λ4分别为9和6,其他参数设置同上。
技术总结