提高图像文本描述独特多样性的网络构建方法

文档序号:30425003发布日期:2022-06-15 14:40阅读:69来源:国知局
提高图像文本描述独特多样性的网络构建方法

1.本发明属于图像文本描述网络技术领域,涉及一种提高图像文本描述独特多样性的网络构建方法。


背景技术:

2.图像是人类活动中最常用的信息载体,蕴含着丰富的有用信息。如何自动提取图像内容,对其进行文本的正确描述虽很困难,但已经具有了可行性。图像文本描述算法是指对于给定的图像,计算机自动输出一句描述图像内容的文字。由于其能够完成从图像到文本信息的跨模态转换,所以可以应用到图像的跨模态快速检索等多个领域,因此,这个方向的研究具有广泛的应用前景。
3.图像文本描述的独特多样性主要取决于两个方面:一是对图像中包含物体的主要属性的准确识别能力;二是通过解码网络准确输出文本内容的描述能力,而不只是对图像中物体、场景的广泛概况。对物体属性的准确识别能力是能输出独特单词的前提,这部分的工作要求提取到的特征具有代表性。之后在模型的解码器中提高独特单词的输出概率,但是现有技术在这方面还存在输出物体信息不准确、输出句子信息较少的不足。


技术实现要素:

4.本发明的目的是提供一种提高图像文本描述独特多样性的网络构建方法,解决了现有技术在图像文本描述过程中描述信息较低,以及描述内容不可控的问题。
5.本发明所采用的技术方案是,一种提高图像文本描述独特多样性的网络构建方法,包括以下步骤:
6.步骤1,构建网络模型图像数据集;
7.步骤2,提取图像数据集的全局特征g
ks
和抽象场景图节点的区域特征;
8.步骤3,用编码器对抽象场景图节点区域特征进行编码,得到最终的区域特征对取平均值得到平均区域编码特征将和g
ks
融合,得到编码阶段输出的全局特征
9.步骤4,将全局特征通过双层解码器解码,得到输出并将通过图更新模块更新区域特征,重新计算节点权重,生成下一个单词,以此类推;
10.步骤5,构建单词精细模块,选择出更准确更独特的单词;
11.步骤6,构建单词校正模块,通过单词校正模块输出语句;
12.步骤7,使用标准的交叉熵损失训练网络,完成网络构建。
13.其中,步骤1的具体过程如下:
14.步骤1.1,建立训练及验证图像数据集
15.选用数据集图像样本和标签作为特征提取网络的数据样本,数据集的90%作为训练集,其余作为验证集,统称为样本图像;
16.步骤1.2,建立控制条件数据集
17.通过asg生成器生成每幅训练集样本和验证集样本的抽象场景图,确定每幅图像中的对象节点、属性节点和关系节点,训练样本和验证样本图像数据集的抽象场景图asg记为g
ks
=(n
ks
,e
ks
),ks=1,2,...,ns,ns为数据集中的样本个数,样本集合的asg节点集合为n
ks
=[node
1ks
,node
2ks
,...,node
neks
],node
kks
∈{o,a,r},k=1,2,...,ne,ne为节点个数,asg的边集合为e
ks
=[e
i,j
]
ne
×
ne
,e
i,j
∈{0,1}。
[0018]
步骤2的具体过程如下:
[0019]
步骤2.1,建立描述文本的语义词典
[0020]
从训练集和验证集样本的标注中,选择出现频次最高的前m个单词,组成语义概念集合,m的取值范围为[10000,12000],对每个单词分配一个整数序号,再加上三个特殊位:开始标志位、结束标志位和低频词位,共m+3个整数序号构成词典;利用建立的词典对数据集样本进行语义词典标注,语义属性标注为y
ks
,,是第t个单词在文本语义词典中的排序序号,t=1,2,...,l
ks
,l
ks
是数据集样本中第ks幅图像的文本描述长度;
[0021]
步骤2.2,提取全局特征
[0022]
采用resnet网络提取样本图像的全局特征g
ks
,取卷积网络resnet中最后一层平均池化层的输出m1维特征向量描述图像的全局特征;
[0023]
步骤2.3,提取抽象场景图节点的区域特征
[0024]
取faster-rcnn网络的全连接fc7层作为图像区域特征,提取所有asg节点n
ks
的区域特征对于node
kks
=o的目标节点,为在对应的区域上提取的特征;对于node
kks
=a的属性节点,与其连接的对象节点的区域特征相同,对于node
kks
=r的关系节点,从涉及到的两个关联目标的联合区域中提取。
[0025]
步骤3中编码器包括节点嵌入模块和图卷积模块,步骤3具体过程如下:
[0026]
步骤3.1,将代表不同节点的区域特征输入节点嵌入模块,进行节点嵌入增强,得到具有节点属性感知的区域特征z
kks

[0027][0028]
其中,wr是3
×
m1大小的节点嵌入矩阵,wr[1],wr[2],wr[3]分别表示wr的第1、2、3行,是第k个节点的属性,posk是m1维的位置嵌入向量,当节点为属性节点时增大wr[2]的权重系数,用来区分连接同一对象的不同属性节点的顺序,其中:
[0029][0030]
步骤3.2,将节点特征z
kks
输入图卷积模块进行编码,得到最终的区域特征
[0031][0032]
其中,表示节点k在关系s下的邻居节点,σ是relu激活函数,是由网络学出的第l层的关系s的参数;
[0033]
步骤3.3,特征融合
[0034]
对取平均值得到平均区域编码特征将和g
ks
融合,得到编码阶段输出的全局特征
[0035][0036]
步骤4中双层解码器包括双层lstm模块,图注意力模块和图更新模块,步骤4的具体过程如下:
[0037]
步骤4.1,构建双层lstm模块,双层lstm模块由注意lstm和语言lstm构成,t时刻注意lstm的输入为全局特征输出为
[0038][0039]
其中,θa是网络参数,w
t-1
为词表特征,drop为dropout操作,为t-1时刻语言lstm的输出;
[0040]
步骤4.2,将t时刻的区域特征和注意lstm输出作为双层解码器中图注意力模块的输入,得到内容注意力和图流注意力对和加权融合,获得最终的图注意力,加入图注意力后的注意力区域特征为
[0041]
步骤4.3,将注意lstm的输出和注意力区域特征作为语言lstm的输入,生成t时刻的预测结果输出
[0042][0043]
其中,θ
l
是网络训练的参数;
[0044]
步骤4.4,构建图更新模块,在图注意力下对重要节点进行解码后,需要通过图更新模块,以记录表示过的节点和需要被更新的节点,即需要一个擦除操作和增添操作,擦除操作是根据图注意力的强度对每个节点进行不同程度的擦除,擦除操作输出为
[0045][0046]
其中,sigmoid是s型激活函数,fc是全连接网络,θc是网络参数,是语言lstm的预测结果输出,是t时刻的区域特征;如果不再需要访问某个节点,则可以将其设置为零,而如果一个节点需要多次访问,就需要使用一个增添操作,增添操作输出为
[0047][0048]
将擦除操作和增添操作结合,更新图以进行下一个解码步骤:
[0049][0050]
其中,fa是全连接网络,θa是网络参数,是网络学习到的更新强度。
[0051]
步骤4.2的具体过程如下:
[0052]
步骤4.2.1,将t时刻的区域特征和注意lstm输出作为双层解码器中图注意力的输入,,计算两者语义相关度,得到内容注意力
[0053][0054]
其中,wc,w
xc
,w
hc
是网络训练的参数,tanh是双曲正切函数,soft是softmax函数;
[0055]
步骤4.2.2,输入图结构的邻接矩阵mf、前一时刻的图流注意力和注意力区域特征得到t时刻距离为dis的节点的图流注意力:
[0056][0057][0058][0059]
其中,ws,w
es
,w
hs
是网络训练的参数,dis为转移距离,为t时刻距离为dis的节点的图流注意力,是上一时刻的图流注意力;
[0060]
步骤4.2.3,将内容注意力和图流注意力进行加权融合,得到最终的图注意力:
[0061][0062]
其中,β
t
为t时刻网络学习到的权重;
[0063]
加入图注意力后的注意力区域特征为
[0064][0065]
其中,表示t时刻最终区域特征。
[0066]
步骤5具体包括将lstm的预测结果输出通过两个不同全连接层,使特征变为词典维度大小的概率后,将两结果进行点乘得到最终的融合单词概率:
[0067][0068]
其中,f1和f2为不同的全连接层,是按位点乘操作,输出为每个单词的概率。
[0069]
步骤6包括采用束搜索和前k采样方法对重复单词进行校正的同时扩大寻优范围,在保证指标不降的前提下减少重复,提高语句的多样性;
[0070]
前k采样方法是先确定每个时刻的候选词典m
t
,之后根据单词概率进行随机采样得到下一个单词;候选词典是在之前已经生成好的单词的情况下,选择当前概率最大的pk个单词:
[0071][0072]
其中,topk是对输入的数进行从大到小的排序,然后选取前pk个作为词典m
t
,按照单词概率在候选词典中随机采样出bk个词;
[0073]
之后的时刻基于之前所有的输出序列,在组合的条件概率中再进行前k采样选取bk个单词,作为该时间步长下的候选输出序列,最后从bk个候选句子中挑出最优的。
[0074]
步骤7包括对编码网络进行训练,用编码网络获得带有可控条件的图像特征,之后输入至解码网络,完成图像文本的描述;
[0075]
使用标准的交叉熵损失训练网络,对于在控制条件g
ks
下图像ks的文本描述的损失l
ks
为:
[0076][0077]
本发明的有益效果是,将解码特征通过单词精细模块获得两个不同的单词特征,之后将两个特征融合使用,提高了图像文本描述的准确独特性,再通过单词校正模块对每个时刻的单词进行选择校正,输出最终的文本描述,与目前现有的图像文本描述网络相比,本发明图像文本描述网络可以在保持文本语句准确率的同时更具有独特、多样的描述。
附图说明
[0078]
图1是本发明提高图像文本描述独特多样性的网络构建中抽象场景图的结构示意图;
[0079]
图2是本发明提高图像文本描述独特多样性的网络构建中编码器结构示意图;
[0080]
图3是本发明提高图像文本描述独特多样性的网络构建中双层解码器模型示意图。
具体实施方式
[0081]
下面结合附图和具体实施方式对本发明进行详细说明。
[0082]
本发明一种提高图像文本描述独特多样性的网络构建方法,包括以下步骤:
[0083]
步骤1,构建网络模型图像数据集
[0084]
步骤1.1,建立训练及验证图像数据集
[0085]
训练一个深度学习网络的数据集,需要大量的已经标注过的样本,考虑到自行对图像进行打标有一定的局限性,并且该网络模型需要提供控制条件来控制描述的生成,为此,本实施例选用已经公开发表的mscoco数据集图像样本和标签作为特征提取网络的数据样本,随机选出mscoco数据集的90%作为训练集,其余作为验证集,统称为样本图像;
[0086]
步骤1.2,建立控制条件数据集
[0087]
在生成图像文本描述时,对每幅样本图像都需要提供一个抽象场景图(asg),作为输入来控制生成语句的结构,抽象场景图的结构如图1所示,包括三种类型的节点(对象节点o,属性节点a,和关系节点r)和连接节点的边;例如,用图1描述“一束粉红色的花放在木制的桌子上”句子时,“花”和“桌子”是对象节点,“粉红色”,“一束”,“木制的”是属性节点,“花与桌子是关联的”是关系节点;
[0088]
通过asg生成器生成每幅训练集样本和验证集样本的抽象场景图,之后使用已经公开的rpn模型来检测每幅图像中的对象节点,属性节点通过自动采样添加到对象节点上;关系节点只需确定物体间是否存在关系即可,所以采用一个简单的分类网络,判断两个物体间是否有关系节点(即边);训练样本和验证样本图像数据集的抽象场景图asg记为g
ks
=(n
ks
,e
ks
),ks=1,2,...,ns,ns为数据集中的样本个数,样本集合的asg节点集合为n
ks
=[node
1ks
,node
2ks
,...,node
neks
],node
kks
∈{o,a,r},k=1,2,...,ne,ne为节点个数,为描述和计算方便起见,设置每幅样本图的节点个数为固定值,优选范围为:ne∈[10,20],如果实际提取出的节点数多于ne,则消除没有关联的孤立节点,或者限制属性节点的个数,如果少于ne,则将对应的节点置为0;asg的边集合为e
ks
=[e
i,j
]
ne
×
ne
,e
i,j
∈{0,1}(两个节点间有关联为1,无关联为0)。
[0089]
步骤2,提取数据集特征
[0090]
步骤2.1,建立描述文本的语义词典
[0091]
从训练集和验证集样本的标注中,选择出现频次最高的前m个单词,组成语义概念集合,m一般按照不同的文本描述领域和不同的描述准确度要求进行选择,本发明根据mscoco数据集和通用要求,优选单词总数m的取值范围为[10000,12000],对每个单词分配一个整数序号,再加上三个特殊位:开始标志位、结束标志位和低频词位,共m+3个整数序号构成词典;
[0092]
对于数据集样本中的第ks幅图像样本,l
ks
是第ks幅图像的文本描述长度;利用建立的词典对数据集样本进行语义词典标注,语义属性
[0093]
标注为y
ks

[0094]
其中,是第t个单词在文本语义词典中的排序序号,t=1,2,...,l
ks
;步骤2.2,提取全局特征
[0095]
采用resnet网络提取样本图像的全局特征g
ks
,取卷积网络resnet中最后一层平均池化层的输出m1维特征向量描述图像的全局特征,本实施例中m1为2048;
[0096]
步骤2.3,提取抽象场景图节点的区域特征
[0097]
根据asg节点集合n
ks
=[node
1ks
,node
2ks
,...,node
neks
],采用faster-rcnn网络,取faster-rcnn网络的全连接fc7层作为图像区域特征,为计算方便起见,区域特征也为m1维的特征向量;提取所有asg节点n
ks
的区域特征对于node
kks
=o的目标节点,为在对应的区域上提取的特征;对于node
kks
=a的属性节点,与其连接的对象节点的区域特征相同,对于node
kks
=r的关系节点,从涉及到的两个关联目标的联合区域中提取。
[0098]
步骤3,用编码器将特征进行编码
[0099]
对特征进行编码的编码器结构如图2所示,包括节点嵌入模块和图卷积模块;
[0100]
步骤3.1,仅仅通过提取到的区域特征无法体现图像文本描述的可控性,因此将代表不同节点的区域特征输入节点嵌入模块,经过节点嵌入模块将特征与节点属性结合,进行节点嵌入增强,得到具有节点属性感知的区域特征z
kks

[0101][0102]
其中,wr是3
×
m1大小的节点嵌入矩阵,wr[1],wr[2],wr[3]分别表示wr的第1、2、3行,是第k个节点的属性,posk是m1维的位置嵌入向量,当节点为属性节点时增大wr[2]的权重系数,用来区分连接同一对象的不同属性节点的顺序,其中:
[0103][0104]
步骤3.2,因为asg中连接节点之间的边对两个节点的影响是相互的,而且消息从一种类型的节点传递到另一种类型的节点的方式与其反向也是不同的;所以需要将原先抽象场景图asg中有方向的单向边扩展为具有不同含义的双向边,即将g
ks
=(n
ks
,e
ks
),ks=1,2,...,ns改为多关系场景图g
ks
'=(n
ks
,e
ks
,r
ks
),ks=1,2,...,ns,r
ks
是节点间的6种交互关系,包括物体对属性,属性对物体,主体对关系,关系对主体,客体对关系和关系对客体的关系;
[0105]
将节点特征z
kks
输入图卷积模块进行编码,得到最终的区域特征
[0106][0107]
其中,表示节点k在关系s下的邻居节点,σ是relu激活函数,是由网络学出的第l层的关系s的参数;
[0108]
使用一次gcn可以为每个节点带来相邻节点的特征信息,而堆叠多次可以获得更广泛的上下文;一般我们优选l∈[2,4],最后第l层的输出作为编码阶段输出的10个512维的区域特征
[0109]
步骤3.3,特征融合
[0110]
对取平均值得到平均区域编码特征
[0111][0112]
将平均区域编码特征和全局特征g
ks
融合,得到编码阶段输出的全局特征
[0113]
[0114]
步骤4,将特征通过双层解码器解码
[0115]
双层解码器解码模型结构如图3所示,包括双层lstm模块,图注意力模块和图更新模块,双层lstm模块由注意lstm和语言lstm构成,解码过程中先将步骤3得到的全局特征作为输入,通过双层lstm模块计算出t时刻注意lstm的输出再经过图注意力模块计算每个解码时刻需要关注的节点的权重,将图注意力后的注意力区域特征通过语言lstm得到输出再将当前lstm的输出通过图更新模块以更新区域特征重新计算节点权重,生成下一个单词,以此类推;具体过程如下:
[0116]
步骤4.1,构建双层lstm模块,双层lstm模块由注意(top-down attention)lstm和语言(language)lstm构成,t时刻注意lstm的输入为全局特征输出为
[0117][0118]
其中,θa是网络参数,w
t-1
为词表特征,drop为dropout操作,即在前向传播中随机让某些神经元间的激活值置0,这样会破坏神经元携带的信息,迫使它们更健壮地执行中间计算,使网络模型更具有泛化性;为t-1时刻语言lstm的输出;
[0119]
步骤4.2,图注意力模块是为了兼顾语义内容和图的结构,所以将内容注意力和图流注意力结合使用;内容注意力不考虑图中节点的连接情况,因此可以在一个时间步长中跨越较远的距离;
[0120]
步骤4.2.1,将t时刻的区域特征和注意lstm输出作为双层解码器中图注意力模块的输入,计算两者语义相关度,得到内容注意力
[0121][0122]
其中,wc,w
xc
,w
hc
是网络训练的参数,tanh是双曲正切函数,soft是softmax函数;
[0123]
步骤4.2.2,图的结构隐式地反映了用户在生成标题时的预期想法,所以也需要结合图流注意力;比如当前参与解码的是关系节点,那么下一个要访问的节点很有可能是紧随其后的对象节点;实现过程需要输入图结构的邻接矩阵mf、前一时刻的图流注意力和注意力区域特征得到t时刻距离为dis的节点的图流注意力:
[0124][0125][0126][0127]
其中,ws,w
es
,w
hs
是网络训练的参数,dis为转移距离,为t时刻距离为dis的节点的图流注意力,是上一时刻的图流注意力;
[0128]
步骤4.2.3,将内容注意力和图流注意力进行加权融合,得到最终的图注意
white building”或“a luggage cart with luggage”;因此构建单词校正模块,就是采用束搜索(beam search)和前k采样(top-k)方法对重复单词进行校正的同时扩大寻优范围,在保证指标不降的前提下减少重复,提高语句的多样性;
[0150]
传统的贪心搜索方法直接在每个时刻选取条件概率最大的候选单词作为最优进行输出,但该方法其实与人们平常表述出的单词分布是不同的;而前k采样方法是先确定每个时刻的候选词典m
t
,之后根据单词概率进行随机采样得到下一个单词;候选词典是在之前已经生成好的单词的情况下,选择当前概率最大的pk个单词:
[0151][0152]
其中,topk是对输入的数进行从大到小的排序,然后选取前pk个作为词典m
t
,pk的取值范围为[10,30],按照单词概率在候选词典中随机采样出bk个词,而不只是选取条件概率中最大的一个单词;
[0153]
之后的时刻基于之前所有的输出序列,在组合的条件概率中再进行前k采样选取bk个单词,作为该时间步长下的候选输出序列,最后从bk个候选句子中挑出最优的。这种方法比一般的搜索方法空间更大,所以可以达到降低重复和提高句子多样性的结果。
[0154]
步骤7,训练网络
[0155]
对编码网络进行训练,用编码网络获得带有可控条件的图像特征,之后输入至解码网络,完成图像文本的描述;
[0156]
使用标准的交叉熵损失训练网络,对于在控制条件g
ks
下图像ks的文本描述的损失l
ks
为:
[0157][0158]
训练过程中设置的具体参数为,批处理大小batch size优选为128,迭代次数epoch优选为50代,初始学习率learning rate优选为0.0002;构建的网络可以根据图像和指定的asg生成可控的图像文本描述。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1