本发明属于是指示表达理解(referringexpressioncomprehension,rec)技术领域,更为具体地讲,涉及一种基于多层级表达引导注意力网络的指示表达理解方法。
背景技术:
指示表达理解(referringexpressioncomprehension,rec)的主要任务是在给定的图像中,根据自然语言表达式来识别其中相关的目标或者区域。这个任务的一个典型的方法是首先使用循环神经网络模型(rnn)处理表达式语句获取文本的表示,然后利用卷积神经网络(cnn)提取图像区域的表示;之后,这两种表示被映射到一个公共的语义空间中来确定最匹配的图像区域。
现有的一些方法应用自注意机制隐式地将表达式语句划分为不同的短语表示(主语,谓语和宾语)。它们利用这些短语表示来指导学习具有区分度的目标表示。为了增强模型的可解释性;另外一些方法将表达式语句转化成树结构,能够详细地提供了模型推理的步骤;还有一些方法使用共同注意机制,将视觉信息和文本信息紧密结合来增强模型的推理能力。
在指示表达理解中,从多个方面理解表达语句并且使其适应区域表示从而生成具有区分度的信息是非常重要的。现有方法通常使用自注意机制,将注意力集中在表达中重要的词汇或者短语上,用这样的方法可能导致无法将目标区域与其他区域区分开来,尤其是当区域非常相似时。此外,现有方法一般采用单级的方式来匹配区域,这种方式不能对相似的物体进行很好地区分。
技术实现要素:
本发明的目的在于克服现有技术的不足,提供一种基于多层级表达引导注意力网络的指示表达理解方法,以提高图像区域识别的准确率。
为实现上述发明目的,本发明基于多层级表达引导注意力网络的指示表达理解方法,其特征在于,包括以下步骤:
(1)、提取图像区域表示以及表达式语句特征
1.1)、提取图像中每个区域的图像区域表示,并记为
1.2)、首先使用双向的gru网络(门控循环单元网络)对表达式语句中的单词进行编码,然后分别使用三个自注意的机制为每一个单词根据其在整个句子的重要性赋予一个权重(权重越大代表该词汇越为重要),得到表达式语句特征:
其中,t为语句的长度(即t个单词),de是每一个语句特征的维度,
(2)、构建多层级注意机制(包括三个层级注意网络)
2.1)、构建语句层级注意网络
首先,计算所有词汇表示
然后,通过融合表达式语句的文本特征和区域视觉特征生成多模态的特征:
其中,
然后,使用softmax网络生成每一个图像区域的权重
其中,
再计算新的图像区域表示
2.2)、构建单词层级注意网络
对于第i个区域的图像区域表示ri,首先与每一个单词的词汇表示
其中,
然后,将多模态特征
最后通过计算所有多模态特征的加权和得到新的图像区域表示
其中,
2.3)、构建短语层级注意网络
每一个短语表示
其中,
然后将中间表征
最后,得到新的图像区域表示
其中,
2.4)、计算第i个图像区域与表达式语句之间的匹配值
其中,每个层级注意网络的匹配值为:
其中,
n个图像区域与表达式语句之间的匹配值表示为:
(3)、构建目标对比注意机制
首先根据匹配值(匹配分数)
rc=topk(r,sc)(13)
其中,topk是选择函数;
然后使用目标比较注意机制来学习候选区域之间的差异,从而选择最优的图像区域:
第i个候选区域和第j个候选区域之间的差异表示为:
其中,
然后,将候选区域之间的差异表示
其中,
计算所有差异表示的加权和得到新的图像区域表示,其中,第i个候选区域的图像区域表示为:
最后,计算目标对比注意机制的匹配值
其中,
(4)、计算最终的匹配值(匹配得分)
根据多层级注意机制和目标对比注意机制的匹配值结合,计算出n个图像区域最终的匹配得分
(5)、计算图像区域为目标区域的概率
对于第i个图像区域,其成为目标区域的概率pi为:
本发明的目的是这样实现的。
本发明基于多层级表达引导注意力网络的指示表达理解方法,创新性地设计了一个新的多层级注意机制,即一个多层级表达引导注意网络(mega-net),其中,包含了一个三个层级注意网络。该多层级注意机制在不同层级的表达式表示的指导下(语句层级、单词层级和短语层级)能够生成具有区分度的图像区域表示,从而帮助准确地确定目标区域。此外,现有方法一般采用单级的方式来匹配区域,这种方式不能对相似的物体或目标进行很好地区分。针对这个问题,本发明设计了一种两级的结构,来比较这些相似的图像区域,找出它们之间的不同,从而去匹配最优的图像区域。本发明在三个流行的数据集上进行评估,实验结果显示其性能优于其他最高水平的模型。
附图说明
图1是本发明基于多层级表达引导注意力网络的指示表达理解方法一种具体实施方式流程图;
图2是本发明基于多层级表达引导注意力网络的指示表达理解方法一种具体实施方式的原理示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图1是本发明基于多层级表达引导注意力网络的指示表达理解方法一种具体实施方式流程图。
在本实施例中,如图1所示,基于多层级表达引导注意力网络的指示表达理解方法包括以下步骤:
步骤s1:提取图像区域表示以及表达式语句特征
步骤s1.1:在本实施例中,如图2所示,本发明使用fasterr-cnn resnet-152网络提取图像中每个区域的图像区域信息以及其中的属性信息,然后融合这两种信息作为图像区域表示,并记为
步骤s1.2:在本实施例中,如图2所示,在表达式语句处理方面,首先使用双向的gru网络(门控循环单元网络)对表达式语句中的单词进行编码,然后分别使用三个自注意的机制为每一个单词根据其在整个句子的重要性赋予一个权重(权重越大代表该词汇越为重要),得到表达式语句特征:
其中,t为表达式语句的长度(即t个单词,有t个语句特征),de是每一个语句特征的维度,
步骤s2:构建多层级注意机制(包括三个层级注意网络)
为了匹配与表达式语句最相关的图像区域(目标区域),本发明提取三种不同层级的表达式表示来指导视觉注意机制,多层级注意机制(网络)能够在图像区域和表达式语句之间建立多层次的交互。
步骤s2.1:构建语句层级注意网络
给定一个带有图像区域集的图像和相应的表达式语句。一般来说,需要在全局层面理解表达式语句,才能确定最匹配的图像区域。与传统的方法相似,本发明使用语句层级的表达式表示来指导视觉注意。
首先,计算所有词汇表示
然后,通过融合表达式语句的文本特征和区域视觉特征生成多模态的特征:
其中,
然后,使用softmax网络生成每一个图像区域的权重
其中,
再计算新的图像区域表示
步骤s2.2:构建单词层级注意网络
一般来说,表达式语句中的大部分单词都能在一定程度上提示系统关注特定图像区域。例如,在表达式语句“tallmaninblackglassestouchingcat”中目标单词“man”,“glasses”,“cat”和其他形容词“tall”,“black”都能帮助去锁定相关的图像区域。受此启发,本发明设计了一个单词层级注意网络来学习单词和图像区域之间精细的相互关系。
对于第i个区域的图像区域表示ri,首先与每一个单词的词汇表示
其中,
然后,将多模态特征
最后通过计算所有多模态特征的加权和得到新的图像区域表示
其中,
步骤s2.3:构建短语层级注意网络
与单词相比,短语包含更连贯的信息(例如,“tallman”和“blackglasses”),可以更准确地识别相关区域。在指示表达理解任务中,本发明观察到其中的语句都是相对简单的描述目标或者区域。因此,本发明简单地根据关系词(通常是动词或者介词)将一个表达式语句分为几个短语。对于“tallmaninblackglassestouchingcat”这句话,本发明将其分解为“tallman”,“in”,“blackglasses”,“touching”和“cat”。
与单词层级注意网络相似,本发明获取了短语层级的短语表示来指导具有区分度的图像区域表示生成。
每一个短语表示
其中,
然后将中间表征
最后,得到新的图像区域表示
其中,
步骤s2.4:在得到三个新的图像区域表示后,计算第i个图像区域与表达式语句之间的匹配值
其中,每个层级注意网络的匹配值为:
其中,
n个图像区域与表达式语句之间的匹配值表示为:
步骤s3:构建目标对比注意机制
多层级表达指导的视觉注意力网络用于生成具有区分度的图像区域表示。然而,这些图像区域表示在处理的时候是彼此孤立的,这可能导致目标区域无法与其他相似的图像区域区分开来。为了解决这个问题,本发明提出了一个新的两级的结构。
首先根据匹配值(匹配分数)
rc=topk(r,sc)(13)
其中,topk是选择函数。
然后使用目标比较注意机制来学习候选区域之间的差异,从而选择最优的图像区域:
第i个候选区域和第j个候选区域之间的差异表示为:
其中,
然后,将候选区域之间的差异表示
其中,
计算所有差异表示的加权和得到新的图像区域表示,其中,第i个候选区域的图像区域表示为:
k个候选区域的图像区域表示用
最后,计算目标对比注意机制的匹配值
其中,
步骤s4:计算最终的匹配值(匹配得分)
根据多层级注意机制和目标对比注意机制的匹配值结合,计算出n个图像区域最终的匹配得分
步骤s5:计算图像区域为目标区域的概率
对于第i个图像区域,其成为目标区域的概率pi为:
此外,在训练学习参数时,本发明采用交叉熵损失函数作为目标函数:假定第g个图像区域是正确的,则损失函数l为:
实例
本发明在三个大型的基准数据集refcoco,refcoco 和refcocog上进行测试,从实验的效果可以可知,本发明优于最高水平的方法,具体如表1所示。
表1
从表1中可以得出,本发明在绝大多数子任务中取得了最好的表现,在refcoco数据中的testa和testb测试集上分别取得了87.45%和86.93%的准确率;在refcoco 数据中的testa和testb测试集上分别取得了77.05%和69.65%的准确率;在refcocog数据中的测试集上分别取得了80.29%的准确率。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
1.一种基于多层级表达引导注意力网络的指示表达理解方法,其特征在于,包括以下步骤:
(1)、提取图像区域表示以及表达式语句特征
1.1)、提取图像中每个区域的图像区域表示,并记为
1.2)、首先使用双向的gru网络(门控循环单元网络)对表达式语句中的单词进行编码,然后分别使用三个自注意的机制为每一个单词根据其在整个句子的重要性赋予一个权重(权重越大代表该词汇越为重要),得到表达式语句特征:
其中,t为语句的长度(即t个单词),de是每一个语句特征的维度,
(2)、构建多层级注意机制(包括三个层级注意网络)
2.1)、构建语句层级注意网络
首先,计算所有词汇表示
然后,通过融合表达式语句的文本特征和区域视觉特征生成多模态的特征:
其中,
然后,使用softmax网络生成每一个图像区域的权重
其中,
再计算新的图像区域表示
2.2)、构建单词层级注意网络
对于第i个区域的图像区域表示ri,首先与每一个单词的词汇表示
其中,
然后,将多模态特征
最后通过计算所有多模态特征的加权和得到新的图像区域表示
其中,
2.3)、构建短语层级注意网络
每一个短语表示
其中,
然后将中间表征
最后,得到新的图像区域表示
其中,
2.4)、计算第i个图像区域与表达式语句之间的匹配值
其中,每个层级注意网络的匹配值为:
其中,
n个图像区域与表达式语句之间的匹配值表示为:
(3)、构建目标对比注意机制
首先根据匹配值(匹配分数)
rc=topk(r,sc)(13)
其中,topk是选择函数;
然后使用目标比较注意机制来学习候选区域之间的差异,从而选择最优的图像区域:
第i个候选区域和第j个候选区域之间的差异表示为:
其中,
然后,将候选区域之间的差异表示
其中,
计算所有差异表示的加权和得到新的图像区域表示,其中,第i个候选区域的图像区域表示为:
最后,计算目标对比注意机制的匹配值
其中,
(4)、计算最终的匹配值(匹配得分)
根据多层级注意机制和目标对比注意机制的匹配值结合,计算出n个图像区域最终的匹配得分
(5)、计算图像区域为目标区域的概率
对于第i个图像区域,其成为目标区域的概率pi为:
2.根据权利要求1所述的基于多层级表达引导注意力网络的指示表达理解方法,其特征在于,在训练学习参数时,本发明采用交叉熵损失函数作为目标函数:假定第g个图像区域是正确的,则损失函数l为: