掌桥专利:专业的专利平台
掌桥专利
首页

一种基于三层LSTM推敲网络的图像语义理解算法

文献发布时间:2023-06-19 16:04:54



技术领域

本发明属于图像描述领域,具体涉及一种基于三层LSTM推敲网络的图像语义理解方法。

背景技术

图像语义理解算法主要是通过给图片生成一句描述语句来挖掘图片深层语义信息,受机器翻译领域使用编解码框架的影响,学者们将这一框架迁移到图像语义理解领域,使用卷积神经网络作为编码器提取图像特征,使用循环神经网络作为解码器将提取的图像特征解码成文字描述,编解码框架成为当前图像语义理解领域最流行的框架,本发明的图像语义理解算法也将基于编解码框架结构进行改进。

发明内容

本发明要解决的技术问题是:基于编解码框架的图像语义理解算法框架对解码器进行改进,改进后算法的描述效果比原算法更好。

本发明基于Top-down Attention的编解码框架进行改进,包括以下步骤:

步骤1:输入一张图像,使用卷积神经网络提取该图像特征;

其中步骤1的具体步骤为:

步骤101:使用Faster R-CNN网络处理图像,取最后k个感兴趣区域的图像特征为输出特征。

步骤2:将步骤1提取到的图像特征进行平均池化操作得到全局特征;

其中步骤2的具体步骤为:

步骤201:将步骤101中K个感兴趣区域的特征取平均得到全局特征。

步骤3:将步骤2中的全局特征和上一时刻生成的单词的词向量以及第三层 LSTM上一时刻的隐藏层的输出拼接之后输入第一层LSTM网络;

步骤4:将步骤1提取的图像特征和第一层LSTM网络的隐藏层输出一起输入到第一层LSTM和第二层LSTM网络之间的注意力网络;

其中步骤4的具体步骤为:

步骤401:注意力网络使用双曲正切tanh激活函数处理图像特征和第一层 LSTM网络的隐藏层输出得到输入图像特征各个分量的权重;

步骤402:注意力网络将权重和对应的图像特征分量相乘再累加作为注意力网络的输出。

步骤5:将步骤4中的注意力网络的输出和第一层LSTM网络隐藏层输出一起输入第二层LSTM网络;

步骤6:将步骤1中提取的图像特征和第二层LSTM网络的隐藏层输出以及“视觉哨兵”一起输入第二层LSTM和第三层LSTM网络之间的自适应注意力网络;

其中步骤6的具体步骤为:

步骤601:自适应注意力网络使用双曲正切tanh激活函数处理图像特征、“视觉哨兵”和第二层LSTM网络的隐藏层输出得到输入图像特征各个分量和“视觉哨兵”对应的权重;

步骤602:自适应注意力网络将权重和对应的图像特征分量以及“视觉哨兵”相乘再累加作为注意力网络的输出。

步骤7:将自适应注意力网络的输出和第二层LSTM网络的隐藏层输出一起输入第三层LSTM网络;

步骤8:将第三层LSTM网络当前时刻的隐藏层输出和自适应注意力网络的输出做残差连接之后输入到softmax层,得到单词的概率分布;

其中步骤8的具体步骤为:

步骤801:将自适应注意力网络的输出和第三层LSTM网络的输出隐藏层相加作为softmax层的输入。

步骤9:根据步骤8中的单词的概率分布,取分布值最大的概率对应的单词,得到当前时刻的单词;

其中步骤9的具体步骤为:

步骤901:从单词的概率分布中使用argmax函数获取最大值对应的索引,从词汇表中取索引对应的单词即为当前时刻的单词。

步骤10:将每个时刻的输出的单词按序组成描述语句,直到输出语句的单词长度达到最大长度或者单词为结束符标志时,结束输出。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

(1)解决了传统解码器生成描述过于粗糙表达能力不足的问题,从而使得生成的描述更加精准,表达更加和丰富;

(2)使用第三层LSTM网络对前两层的输出进行打磨润色,生成的语句描述将会更加细腻。

附图说明

图1基于三层LSTM推敲网络的图像语义理解方法的网络框架图

图2生成描述示例图

图3初始描述层网络架构图

图4推敲层网络架构图

具体实施方式

基于三层LSTM推敲网络的图像语义理解方法的的网络结构如图1所示。

在基于编解码框架的图像语义理解算法中,现有的研究往往采用一层或者两层的LSTM网络来对编码器提取的图像特征进行解码操作,将图像特征解码为文字描述输出,目前较少有通过三层LSTM网络来处理图像特征作为解码器的;当前的解码器生成的文字描述基本能表达出图片中的内容,但是往往描述的表达过于粗糙,虽然描述了实体,但是实体名称不能准确的表示图片中的目标,或者动词的表述不够精准,如图2所示,使用编解码框架对图2左侧图片生成的描述为“a cat sit on the rock near the tree”,该语句基本描述了图片的内容,但是表达上存在粗糙不够细腻的问题,对于“cat”的动作采用“sit on”不如“stand on”准确细致,而图中“cat”的附近是“grass”而不是“tree”,这样的描述语句虽然在内容完整性上面表达了图片内容,但是表达过于粗糙甚至错误,对于理解图片内容也是不利的。

人类在创作的过程中往往会先草拟出比较粗糙的内容,然后再在此基础上进行打磨推敲和润色,从而创作出更加精致的作品,同时受机器翻译领域推敲网络的启发,可以在top-down两层LSTM解码器框架之上,引入第三层LSTM作为推敲层网络,对前两层的输出进行推敲和润色处理从而生成更加细致的描述,在此将前两层LSTM称之为“初始描述层”,初始描述层的网络架构如图3所示,该网络设计与经典的top-down结构基本一致,不同之处在于考虑到上一时刻注意力机制的结果可能影响到当前时刻的注意力的分配,将注意力网络的输出重新作为注意力网络的输入,其中

如图4所示为推敲层的网络结构,在该层除了增加一层LSTM网络之外,还引入了自适应注意力机制,在生成的语句描述中,除了具体性的词语还有抽象性的单词,一般来说,具体性的单词与图片中包含的实物相关,如“桌子”和“草地”等,因此通过对图像特征赋予不同的权值可以很好的指导单词生成,同时通过可视化的分析还可以使得神经网络生成单词的过程从“黑盒”变得更加具有可解释性。但是描述语句中还有一些抽象性的,比如在“Agroup of people stand next to each other”中,“people”是具体类的单词,而“of”和“to”等都是抽象性的虚词,它们的生成并不依赖具体的实物,而是由句子语法和先前生成的词语决定,引入视觉哨兵可以使得句子里面生成的每个单词都能得到更好的指导,即在生成单词时会自适应的选择关注图片特征还是语言模型,从而提升描述生成的质量。

为了能使系统决定是否关注图片还是视觉哨兵,类似于LSTM内部门控结构的设计,引入哨兵门g

其中W

s

其中m

前面我们介绍了视觉哨兵的概念,并且给出了视觉哨兵具体的计算方法,我们将在此基础上进一步介绍基于视觉哨兵的自适应注意力机制,如图4所示,自适应注意力的输出为

其中β

为了计算β

上面公式中的“[;]”表示拼接,W

将自适应注意力的输出

其中“[;]”表示拼接。

由于

其中W

相关技术
  • 一种基于三层LSTM推敲网络的图像语义理解算法
  • 一种基于信息增益的CNN和LSTM图像高层语义理解方法
技术分类

06120114693551