公开/公告号CN112784848A
专利类型发明专利
公开/公告日2021-05-11
原文格式PDF
申请/专利权人 东北大学;
申请/专利号CN202110153536.7
申请日2021-02-04
分类号G06K9/34(20060101);G06K9/46(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);
代理机构21109 沈阳东大知识产权代理有限公司;
代理人梁焱
地址 110819 辽宁省沈阳市和平区文化路3号巷11号
入库时间 2023-06-19 10:57:17
技术领域
本发明属于图像描述技术领域,具体涉及一种基于多种注意力机制和外部知识的图像描述生成方法。
背景技术
随着互联网中数据的井喷式增长,图像形式的数据渐渐占据了互联网大量流量。由于这些数据的便捷性,人们逐渐倾向于利用图像来实现社交通信。但是如果人工标注图像中的语义信息,势必会花费昂贵的物力和人力,因此图像描述生成成为倍受关注的研究方向,让一个机器能够具有人的思维提取图像的内容,从而以自然流畅的语言描述图像内容。
图像描述生成需要在图像和文本这两种不同的模态中检索一种合适的对齐方式,并且这种方式需要符合人类的认知和表达。但是,图像和文本这两种模态本身之间存在着语义鸿沟,使用自然语言来描述图像的内容首先就需要解决这个重大难题。
近期主流的图像描述生成方法采用编码器-解码器的生成架构,通常使用CNN(Convolutional Neural Network,卷积神经网络)作为编码器将图像编码成一个固定长度的中间表示,然后使用RNN(Recurrent Neural Network,循环神经网络)或者LSTM(LongShort-Term Memory,长短时记忆网络)将这个中间表示解码为一个描述语句。在这个过程中,注意力机制可以表现很强的有效性。在现有的方法中,注意力机制根据当前时刻的语义信息挑选出重要的局部图像特征,进而依靠解码器的翻译能力将图像特征解码成文字。然而,在此过程中,单向的注意力机制并未检验语义信息与图像内容的一致性,所生成的描述在准确性方面有所欠缺。除此以外,挑选重要的局部图像特征的过程通常是在一个“黑盒”里强制地、不可预测地执行。例如,对于某图像所对应的“A group of people arestanding at the bus sign”描述语句,单词“people”、“bus sign”显然更重要,因为他们对应图像中的两个显著目标实体。而“are”、“at”和“the”等单词就不太重要,因为他们与图像内容没有直接关系,甚至可以用其他单词代替。
其次,当前大多数图像描述生成方法建立在大量成对的图像-文本数据上,但是训练数据中的每张图像只包含几个真实描述语句,缺乏足够的线索来揭示图像中隐含的意图。例如图1中,借助知识图谱中的知识可以得知这一群人可能在等候“bus”,而采用之前的图像描述生成方法很难在语句中生成“bus”这个单词。因此,为了扩展从训练数据中描述新实体的能力,需要从外部数据源引入更多的知识。
发明内容
针对现有技术存在的不足,本发明提供一种基于多种注意力机制和外部知识的图像描述生成方法。
本发明的技术方案是:
一种基于多种注意力机制和外部知识的图像描述方法,包括以下步骤:
步骤1:获取图像标注数据集并对该数据集进行预处理,得到所需的训练集与测试集、词汇表以及词汇表的词嵌入矩阵;
步骤2:求解训练集中图像的区域特征与全局特征、以及训练集中自然语言描述的单词注意;
所述单词注意是根据图像内容与对应自然语言描述中单词的紧密关系,为描述中的单词赋予相应的权重值,以在生成描述语句的过程中强调不同单词的重要性;
步骤3:创建双层长短时记忆网络,用于对输入该网络的图像的区域特征、全局特征、自然语言描述的单词注意进行融合;
步骤4:将步骤2获得的图像的全局特征、区域特征以及自然语言描述的单词注意输入到所创建的双层长短时记忆网络中,基于训练集中的图像所对应的自然描述语句,对双层长短时记忆网络进行训练;
步骤5:通过使用目标检测算法检测测试集中待测试图像的显著目标,进而从外部知识库中检索各显著目标对应的知识实体,从而得到一个外部知识实体库,将该实体库中的表示知识实体与显著目标相关程度的概率注入到步骤4所训练的双层长短时记忆网络中得到单词的预测概率分布;
步骤6:基于单词的预测概率分布以序列生成方式为相对应的的图像产生图像描述。
进一步地,根据所述的基于多种注意力机制和外部知识的图像描述方法,步骤1具体包括如下步骤:
步骤1.1:对图像标注数据集中的所有自然语言描述进行单词分割处理,分割后的单词构成词汇表,对词汇表中的每一个单词计算其词嵌入向量,进而得到词汇表的词嵌入矩阵;
步骤1.2:对图像标注数据集预处理,得到所需的训练集和测试集;
从所获取的图像标注数据集中划分出一部分一定数量的图像,由这些图像及与图像对应的自然语言描述构成训练集;从所获取的图像标注数据集中划分出另一部分一定数量的图像,由这些图像及与图像对应的自然语言描述构成测试集。
进一步地,根据所述的基于多种注意力机制和外部知识的图像描述方法,步骤2中所述求解训练集中自然语言描述的单词注意的方法包括:
首先从词汇表的词嵌入矩阵中获取训练集中自然语言描述对应的词嵌入矩阵,然后根据训练集中自然语言描述对应的词嵌入矩阵,按照公式(2)至公式(4)求解训练集中自然语言描述的单词注意s:
η
其中,f
进一步地,根据所述的基于多种注意力机制和外部知识的图像描述方法,训练集中自然语言描述的集合构成语料库,所述函数f
进一步地,根据所述的基于多种注意力机制和外部知识的图像描述方法,步骤3中创建的双层长短时记忆网络包含底层LSTM、双向注意力模块和顶层LSTM;
1)所述底层LSTM在当前t时刻的隐状态输出为语义信息
其中,
2)所述双向注意力模块,用于:
一方面,根据图像特征与语义信息的相关性,筛选出对于当前时刻t较为重要的局部图像特征,得到动态的图像特征表示
其中,
另一方面,根据各个时刻的语义信息表示
其中,
最后利用门控融合单元,以
其中,W
所述顶层LSTM,在当前t时刻以融合后的信息向量表示C
进一步地,根据所述的基于多种注意力机制和外部知识的图像描述方法,步骤5中所述的目标检测算法为FasterR-CNN。
进一步地,根据所述的基于多种注意力机制和外部知识的图像描述方法,步骤5中所述单词的预测概率分布为:
其中,
进一步地,根据所述的基于多种注意力机制和外部知识的图像描述方法,λ的值设置为0.2。
进一步地,根据所述的基于多种注意力机制和外部知识的图像描述方法,所述外部知识库为ConceptNet语义知识库。
进一步地,根据所述的基于多种注意力机制和外部知识的图像描述方法,其特征在于,步骤6中所述的以序列生成方式为测试集中的图像产生图像描述的内容为:采用贪心搜索方式,每个时刻都选择预测概率最大的那个单词,作为当前时刻的输出。
与现有技术相比,本发明实施方式提供的基于多种注意力机制和外部知识的图像描述生成方法具有如下有益效果:
(1)设计了一种特殊的单词注意来调整单词和图像区域之间的对齐,具体的说,首先根据图像区域的重要程度为相应描述中单词赋予一个权重值,然后在下文创建的双层长短时记忆网络中融入其单词的上下文信息,以更好的利用描述语句中的语义信息来引导描述语句的生成过程,即更倾向于描述图像中的显著区域而不是非显著区域。
(2)创建了可以融合图像的区域特征、全局特征、自然语言描述的单词注意的双层长短时记忆网络,以完成多种注意力的融合,生成更加准确的图像描述语句。
(3)由于单向的注意力机制并未检验语义信息和图像内容的一致性,因此,所生成的描述在准确性方面会有所欠缺。为解决该问题,本发明在所创建的双层长短时记忆网络中引入了双向注意力机制,在单向注意力机制的基础上,加入图像特征到语义信息方向的注意力计算,实现图像特征和语义信息两者在两个方向上的交互,并设计了一种门控融合单元对上述两个方向上的信息进行融合,以提高语义信息与图像内容的一致性,使得所生成描述更加准确。
(4)为了揭示难以被机器直接表达出的隐含信息,将知识注入到训练完成的双层长短时记忆网络中。除此以外,还考虑到由于不必要的输入会在双层长短时记忆网络的训练阶段产生噪声,从而降低网络的性能。因此没有直接将外部知识库中抽取出来的知识输入到双层长短时记忆网络的输入层进行训练,而是将训练完成的双层长短时记忆网络的输出信息进行知识注入,而在保证网络性能的前提下生成更新颖自然的图像描述语句。
附图说明
图1为真实标注语句“A group of people are standing at the bus sign”对应的图像;
图2为本发明基于多种注意力机制和外部知识的图像描述生成方法流程图;
图3为本发明中获取自然语言描述的单词注意的流程图;
图4为本发明中双层长短时记忆网络的结构示意图;
图5为本发明中双层注意力模块中双向注意力机制的过程示意图;
图6为本发明中抽取外部知识的流程示例图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的较佳实施方式。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本申请的公开内容理解的更加透彻全面。
本实施方式的基于多种注意力机制和外部知识的图像描述方法,如图2所示,包括以下步骤:
步骤1:获取图像标注数据集并对该数据集进行预处理,得到所需的训练集与测试集、词汇表以及词汇表的词嵌入矩阵。
所述图像标注(Image Caption)数据集指的是具有足够数量的图像且每幅图像标注了对应的自然语言描述的数据集,例如Flickr8K数据集、Flickr30K数据集和MS COCO数据集。在本实施方式中获取的是MSCOCO 2014数据集,MSCOCO 2014数据集包含123287张图像,训练集、验证集、测试集中分别包含82783张、40504张和40774张图像,每张图像具有5条相似语义的人工标注的自然语言描述。MSCOCO 2014数据集中的官方图像命名和其图像对应的5条相似语义的人工标注的自然语言描述,如表1所示。
表1官方图像命名及其自然语言描述
步骤1.1:对图像标注数据集中的所有自然语言描述进行单词分割处理,分割后的单词构成词汇表,对词汇表中的每一个单词计算其词嵌入向量,进而得到词汇表的词嵌入矩阵。
本实施方式中对获取的图像标注数据集中的所有自然语言描述进行单词分割,将所分割后的单词进行小写转换,紧接着把转换后的单词集合与开始标记
常见的单词嵌入方式是独热编码(One-Hot Encoding)。这种编码方式将向量中的某一位设置为1,其余位设置为0来表示词汇表的一个单词,该向量称为独热向量。如果词汇表中单词的数目过多,会使得独热向量变得稀疏,也会出现维度爆炸的问题。
因此,本实施方式利用Word2vec算法对词汇表中的每一个单词计算其词嵌入向量
步骤1.2:对图像标注数据集预处理,得到所需的训练集和测试集。
本实施方式遵循了一种广泛使用的划分方法,该划分方法是Karpathy在文献《Deep visual-semantic alignments for generating image descriptions》提到的划分方法。经该方法划分后,分别得到82783张图像及与图像对应的自然语言描述构成训练集用于训练,5000张图像及与图像对应的自然语言描述构成验证集用于验证,5000张图像及与图像对应的自然语言描述构成测试集用于测试。为了方便后续处理,本实施方式将每一张图像都调整为256×256的像素大小。
步骤2:求解训练集中图像的区域特征与全局特征,同时获取训练集中自然语言描述的单词注意。
步骤2.1:求解训练集中图像的区域特征与全局特征。
步骤2.1.1:求解训练集中图像的区域特征V。
本实施方式使用Faster R-CNN算法对图像进行实体特征的提取,该算法是Shaoqing Ren等在文献《Faster R-CNN:Towards real-time object detection withregion proposal》中提出的。该算法共分为两个阶段,在第一阶段,使用RPN(RegionProposal Networks,区域建议网络)得到图像中的一系列候选区域并进行第一次边框回归。在第二阶段,通过ROI(Region of interest,感兴趣区域)池化层将上述的候选区域特征的维度进行统一。本实施方式将所有候选区域经ROI池化层的输出作为该图像的区域特征V={v
步骤2.1.2:基于训练集中图像的区域特征获取数据集中图像的全局特征
对步骤2.1.1中获取的图像区域特征V={v
步骤2.1.3:分别将得到的2048维的区域特征和2048维的全局特征经线性变换均映射到512维。
为了与词向量维度统一,本实施方式分别将得到的2048维的区域特征和全局特征经线性变换均映射到512维。
步骤2.2:求解训练集中自然语言描述的单词注意。
本实施方式引入的单词注意来自于这样一种认知,即自然语言描述中的某些单词与给定图像的内容的联系比其他单词更紧密。在本实施方式中引入单词注意以加强这种联系,让这些单词在训练过程中起到更好的指导作用。所述单词注意是根据图像内容与对应描述中单词的紧密关系,为该描述中的单词赋予相应的权重值,以在生成描述语句的过程中强调不同单词的重要性。如图3所示,本步骤具体包括以下内容:
首先从词汇表的词嵌入矩阵中获取训练集中自然语言描述对应的词嵌入矩阵,例如对于训练集中的图像I,其对应的自然语言描述为E={w
然后根据练集中自然语言描述对应的词嵌入矩阵,按照公式(2)-(4)求解训练集中自然语言描述的单词注意s。
η
其中,f
步骤3:创建双层长短时记忆网络,用于对输入该网络的图像的区域特征、全局特征、自然语言描述的单词注意进行融合。
如图4所示,本实施方式的双层长短时记忆网络包含底层LSTM、双向注意力模块和顶层LSTM。其中,底层LSTM以图像的全局特征、与图像对应的自然语言描述的单词注意和当前时刻输入到底层LSTM的单词的词嵌入向量作为输入,其隐状态输出
1)底层LSTM用于获得当前时刻t的语义信息
首先,底层LSTM在当前时刻t的输入
其中,
其中,
基于底层LSTM在t时刻的输入
其中,
通过公式(12)可以得到当前时刻t的语义信息
2)双向注意力模块,用于从两个方向进行注意力计算:根据当前时刻的语义信息筛选出重要的局部图像特征以获得动态的图像特征表示;根据全局图像特征调整语义信息,以获得与图像内容更为一致的语义信息表示;
一方面,底层LSTM的隐状态输出中存储了已知的语义信息,根据图像特征与语义信息的相关性,可筛选出对于当前时刻t较为重要的局部图像特征,得到动态的图像特征表示
其中,
另一方面,根据各个时刻的语义信息表示
其中,
最后利用门控融合单元,权衡图像特征表示
在生成不同单词的时候,需要不同比重的图像特征和语义信息,例如,在生成实体词汇的时候,需要更多的关注图像特征,而在生成虚词的时候,需要更多地关注语义信息。因此,本实施方式在双向注意力模块中设计了门控融合单元,以权衡
其中,W
3)顶层LSTM在t时刻以融合后的信息向量表示C
顶层LSTM在t时刻的输入
其中,C
顶层LSTM在t时刻的更新过程如式(20)-(25)所示:
其中,
步骤4:基于步骤1得到的训练集、词汇表、词汇表的词嵌入矩阵和步骤2得到的训练集中图像的区域特征与全局特征以及自然语言描述的单词注意,对步骤3创建的双层长短时记忆网络进行训练。
首先,将步骤2获得的训练集中图像的区域特征与全局特征、训练集中自然语言描述的单词注意以及步骤1得到的词汇表的词嵌入矩阵输入到所创建的双层长短时记忆网络中,然后将双层长短时记忆网络中顶层LSTM的隐状态输出
其中,W
然后,基于步骤1得到的词汇表和训练集中的真实标注语句,即图像所对应的自然描述语句,对该双层长短时记忆网络进行训练。本实施方式采用交叉熵损失函数训练网络,根据真实标注语句,模型参数θ,最小化交叉熵损失。
按照现有技术,可以直接使用公式(26)进行单词的预测。假设词汇表V
步骤5:通过使用目标检测算法检测测试集中待测试图像的显著目标,进而从外部知识库中检索各显著目标对应的知识实体,从而得到一个外部知识实体库,将该实体库中表示知识实体与显著目标相关程度的概率注入到步骤4所训练的双层长短时记忆网络中得到单词的预测概率分布。
在图像描述任务中,知识是非常重要的,因为它为生成描述语句提供了大量的线索。在许多现有的数据集中,不可能包含所有需要的必要知识,这限制了图像描述语句的新颖性。因此,本实施方式考虑从外部资源中获取知识来辅助描述生成,从而提高步骤4所训练的网络的泛化性能。近年来,人工智能领域出现了许多开放可用的知识库,本实施方式使用外部知识库ConceptNet来帮助所训练的网络进一步理解图像中隐含的意图。ConceptNet是一个开放的语义知识库,以三元组形式的关系型知识构成,包含了与人类日常生活密切相关的常识性知识。
一般来说,知识图谱中的每一条知识都可以看作是一个三元组(subject,rel,object),其中subject和object代表现实世界中的两个实体或者概念,rel是它们之间的关系。为了获得与给定图像相关的信息知识,首先使用目标检测算法例如FasterR-CNN来检测图像的一系列显著目标,然后从知识库中检索与这些显著目标语义上相关联的知识。图6给出了为检测到的目标“surfboard”从ConceptNet中检索语义知识的示例。如图6所示,检索到的“surfing”、“waves”、“surfer”等信息显然对描述生成具有指导作用。同时,检索到每个单词对应一个表示其与显著目标相关程度的概率,称为检索概率,这将作为所训练网络利用知识的重要依据。对于每个被检测到的目标,选择相关的知识实体运用于图像描述生成任务,就可得到一个小型外部知识实体库W
由于不必要的输入可能会在训练阶段产生噪声,从而降低网络的性能。因此,本实施方式并不直接将语义知识输入到双层长短时记忆网络的输入层进行训练,而是在预测下一个单词时,对某些存在于知识实体库W
其中,λ是一个控制引入语义知识程度的超参数,通过自行设置其值实现,此实施方式将λ的值设置为0.2。V
例如,对于测试集中的任意一张图像,本实施方式首先按照步骤2的方法获取该图像的全局特征,并且将单词注意置为0,一起输入到步骤4得到的训练后的双层长短时记忆网络中,最后将所创建的知识实体库中的表示知识实体与显著目标相关程度的概率注入到该网络中以产生最终的预测概率分布。
步骤6:基于单词的预测概率分布以序列生成方式为测试集中的图像产生图像描述。
本实施方式采用主流的序列生成方式产生图像描述,也就是所产生的描述语句是按照一个单词接着一个单词生成的。基于公式(27)所产生的单词的预测概率分布p
例如,假设词汇表V
在t=1时,预测概率分布p
在t=2时,预测概率分布p
在t=3时,预测概率分布p
在t=4时,预测概率分布p
在t=5时,预测概率分布p
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
机译: 打印设置装置,计算机可读记录介质和图像形成系统,用于生成以包括在多种数据格式中的一种数据格式描述的打印设置信息,并将打印作业提交至能够基于打印设置执行打印作业的图像形成装置以多种数据格式描述的信息
机译: 一种信息建模,表示和集成的信息进程与不同型号的知识表示的无需使用正式语言的方法,这是一种基于结构化数据的有限集合来呈现描述这些对象的半结构化数据的方法
机译: 一种基于模板生成闪烁图像的移动终端以及一种基于模板生成闪烁图像的方法