基于深度神经网络的智能图像自动描述方法

文档序号:1738186 发布日期:2019-12-20 浏览:13次 >En<

阅读说明:本技术 基于深度神经网络的智能图像自动描述方法 (Intelligent image automatic description method based on deep neural network ) 是由 纪荣嵘 陈福海 沈忱 于 2019-08-06 设计创作,主要内容包括:基于深度神经网络的智能图像自动描述方法,涉及人工智能领域中的智能图像自动描述。包括以下步骤:1)描述数据预处理;2)抽取图像深度卷积特征和语义信息;3)基于多层级视觉语义嵌入的智能图像自动描述。采用因式分解的注意力机制模块,可解决图像自动描述中没有考虑语义信息层次性以及没有考虑场景信息等问题,可以显式地嵌入场景相关的语义信息,用以指导物体相关的语义信息嵌入和图像特征的嵌入。基于多层级视觉语义嵌入的图像自动描述研究,可方便图像自动描述在工业届中的推广与使用。(An intelligent image automatic description method based on a deep neural network relates to intelligent image automatic description in the field of artificial intelligence. The method comprises the following steps: 1) preprocessing description data; 2) extracting depth convolution characteristics and semantic information of the image; 3) and automatically describing the intelligent image based on multi-level visual semantic embedding. By adopting a factorization attention mechanism module, the problems that semantic information hierarchy is not considered and scene information is not considered in automatic image description can be solved, and scene-related semantic information can be explicitly embedded to guide object-related semantic information embedding and image feature embedding. The image automatic description research based on the multi-level visual semantic embedding can facilitate the popularization and the use of the image automatic description in the industry.)

基于深度神经网络的智能图像自动描述方法

技术领域

本发明涉及人工智能领域中的智能图像自动描述,尤其是涉及一种基于图片用自然语言对图像客观内容进行描述的基于深度神经网络的智能图像自动描述方法。

背景技术

图像自动描述(Image Captioning)是今年来计算机科学界提出的一个机器终极智能任务。它的任务内容为基于一张给定图像,用自然语言对图像客观内容进行描述,如图1所示。随着计算机视觉的发展,不仅局限于让机器能完成检测、识别、分割等任务,要求计算机能对图像的客观内容进行自动描述。与图像分类或者目标检测任务不同,图像自动描述要对图片中重要的场景、物体和它们之间的关系用自然语言进行整体的描述。这是计算机视觉内容理解的重要组成部分。

图像自动描述代表这人工智能研究的一个新顶峰,是人工智能逼近人类智慧的一个重要体现。由于图像自动描述任务内容的特殊性,该研究方向的发展往往基于计算机视觉和自然语言处理等两大领域的最新研究进展。与传统的图像检测、识别、分割任务或者多模态研究问题相比,图像自动描述往往要求机器模型对视觉和文本内容进行了解,并能在内容获取的基础上做出逻辑推理以完成最终的描述。图像自动描述同时具有巨大的工业应用场景,这些场景包括了:社交媒体智能发文、智能装备以及视觉残疾人障碍辅助。

图像自动描述方法采用编码器-解码器结构,使用卷积神经网络对图像进行编码,接着用循环神经网络进行句子的解码。然而由于图像特征的提取与嵌入,无法显式地表示出图像的多层面的语义信息,一些方法提出了基于视觉概念的图像自动描述方法。然而,基于视觉概念的图像自动描述方法不能很好的表示出视觉语义的不同层次,并且只停留在物体为主的语义层面,没有涉及场景语义部分。场景语义信息的上下文捕捉了编码在图片中更高层的语义信息,例如图片被拍摄的地点和图中人物可能进行的活动,并用于影响注意力模块和文本生成。对于特定的场景类型,生成的描述的词语会有所不同。

虽然图像自动描述在近两年中获得了极大的发展,但仍然存在着问题。

发明内容

本发明的目的在于针对当前图像自动描述方法存在的上述问题,提供采用基于场景信息的因式分解的注意力机制下进行全新的深度学习网络设计,可解决图像自动描述中没有考虑语义信息层次性以及没有考虑场景信息等问题的基于深度神经网络的智能图像自动描述方法。

本发明包括以下步骤:

1)描述数据预处理;

2)抽取图像深度卷积特征和语义信息;

3)基于多层级视觉语义嵌入的智能图像自动描述。

在步骤1)中,所述描述数据预处理的具体方法可为:对所有训练数据中的文本内容进行去停用词处理,并将所有英文词汇进行小写化;然后对文本内容按空格进行分词,得到9487个单词,对数据集描述中出现次数小于5的单词进行了剔除,使用“<UNK>”进行替代,同时加入了开始符“<BOS>”和结束符“<END>”分别在描述句子的开头和结尾。

在步骤2)中,所述抽取图像深度卷积特征和语义信息的具体步骤可为:

(1)使用残差深度卷积网络对图像卷积特征进行处理,获取每张图像的特征图,表示为FI∈R14×14×2048;此处14×14为图像的特征区域块,2048表示为每个特征块的特征维度;

(2)对所有训练数据中的文本内容进行去停用词处理,并将所有英文词汇进行小写化;然后对文本内容按空格进行分词,再利用NLTK工具进行名词提取,将名词作为物体语义概念,统计物体语义概念出现的频数;利用Sigmoid函数,将名词出现的频数转化为一个0到1之间的小数;最后,一张图片,得到一个物体语义概念词表长度的向量,该表长度为4267;在由此构成的标签上进行多标签分类训练,采用多个Sigmoid交叉熵损失;为了平衡正负样本之间数量的差距,增大了损失上正样本的权重,扩大为原来的十倍;以F1分值作为指标衡量其在验证集上的好坏;采用Adam优化算法,初始学习率为0.4,每10轮进行一次衰减,衰减率为0.9,迭代至收敛;在提取物体语义信息时,在MS COCO图像自动描述数据集上进行输出的是Sigmoid函数层后得到的概率,最后的输出维度为4267;

(3)使用残差深度卷积网络对对图片上保留前5个预测场景的概率,最后的输出维度为366。

在步骤3)中,所述基于多层级视觉语义嵌入的智能图像自动描述的具体步骤可为:

(1)使用双层循环神经网络处理对于物体语义概念和局部抽象特征的关注和嵌入,循环神经网络中的处理单位为长短时记忆神经网络;第一层长短时记忆神经网络是自上而下注意力的长短时记忆神经网络,用于根据第二层语言长短时记忆神经网络的输出和状态,去处理对于物体语义概念和局部抽象特征的关注和嵌入;在这个注意力长短时记忆神经网络中,每一步的输入是前一个语言长短时记忆神经网络的输出和一个编码过的前一个产生后的单词:

其中,zt是t时刻下独热编码(one-hot)的输入词汇,而是一个对于Q大小词汇表的词嵌入矩阵,这个词嵌入矩阵是通过随机初始化后学习得到的,没有经过预先训练;

(2)自上而下注意力长短时记忆神经网络接受上一时刻语言长短时记忆神经网络隐层状态和这一时刻单词编码Wezt作为输入,产生的隐层状态送入因式分解的注意力模块中,嵌入转成对角矩阵的场景语义信息S=diag(vscene)引导注意力得到加权后的局部抽象特征和物体语义概念,最后一起送入语言长短时记忆神经网络中得到单词的输出;

为了能将场景语义信息vscene在注意力长短时记忆神经网络输出中进行显式地嵌入,设计了因式分解的注意力机制模块,它将传统注意力机制中隐藏状态权重Wh进行因式分解成为UhSVh,公式如下:

Wh=UhSVh

其中S=diag(vscene)是场景语义信息vscene的对角化矩阵;S的作用是对隐藏层状态嵌入描述场景的内容,并直接影响接下来的两个注意力引导和描述生成;

(3)为了能让模型在生成单词的时候动态地去关注图像空间特征,得到更丰富的细节描述,保留了图像局部抽象特征的注意力嵌入方式;对于L个图像局部抽象特征vi,根据注第一层意力长短时记忆神经网络隐藏层状态和对角化后的场景语义信息S,可以通过如下计算方式得到一个经过标准化的权重αi,t

αt=Softmax(at)

其中,是可学习的参数;

图像局部抽象特征vconv点乘上权重αt进行加权求和后,用在第二层语言长短时记忆神经网络中:

(4)对于C维物体语义概念根据第一层注意力长短时记忆神经网络的输出和对角化后的场景语义信息S,进行计算得到一个经过标准化的权重βi,t,其公式如下:

βt=Softmax(bt)

其中,是可学习的参数;

C维的物体语义概念vobj经过维度变换后点乘权重,得到经过场景语义信息嵌入的高层物体语义概念也用第二层在语言长短时记忆神经网络中;

(5)第二层语言长短时记忆神经网络得到注意力机制处理后的图像信息后,进行当前单词的生成;第二层语言长短时记忆神经网络的输入包含了带场景注意力的图像局部抽象特征带场景注意力的语义概念和第一层注意力长短时记忆神经网络的隐藏层状态

其中,是可学习的参数和偏置;

第二层长短时记忆神经网络单词概率分布p2不仅参与训练过程中的优化,还进行测试时的“采样”;

完整输出序列的概率分布是条件概率分布的乘积:

本发明提供了一种新型的深度学习网络结构,该网络创新性地采用了因式分解的注意力机制模块,可以显式地嵌入场景相关的语义信息,用以指导物体相关的语义信息嵌入和图像特征的嵌入。本发明基于多层级视觉语义嵌入的图像自动描述研究,可方便图像自动描述在工业届中的推广与使用。

附图说明

图1为模型示例图。在给定图像后,模型进行对图像进行描述。

图2为模型框架图。

图3为模型输出可视化效果案例图。

具体实施方式

以下实施例将结合附图对本发明作进一步的说明。

如图2所示,本发明实施例包括以下步骤:

一、描述数据预处理

步骤1对所有训练数据中的文本内容进行去停用词处理,并将所有英文词汇进行小写化。然后对文本内容按空格进行分词,得到9487个单词,对数据集描述中出现次数小于五的单词进行了剔除,使用“<UNK>”进行替代,同时加入了开始符“<BOS>”和结束符“<END>”分别在描述句子的开头和结尾。

二、图像深度卷积特征和语义信息抽取

步骤1使用残差深度卷积网络对图像卷积特征进行处理,获取每张图像的特征图,表示为FI∈R14×14×2048。此处14×14为图像的特征区域块,2048表示为每个特征块的特征维度。

步骤2对所有训练数据中的文本内容进行去停用词处理,并将所有英文词汇进行小写化。然后对文本内容按空格进行分词,再利用NLTK工具进行名词提取,将名词作为物体语义概念,统计物体语义概念出现的频数。利用Sigmoid函数,将名词出现的频数转化为一个0到1之间的小数。最后,一张图片,得到一个物体语义概念词表长度的向量,该表长度为4267。在由此构成的标签上进行多标签分类训练,采用多个Sigmoid交叉熵损失。为了平衡正负样本之间数量的差距,增大了损失上正样本的权重,扩大为原来的十倍。以F1分值作为指标衡量其在验证集上的好坏。采用Adam优化算法,初始学习率为0.4,每10轮进行一次衰减,衰减率为0.9,迭代至收敛。在提取物体语义信息时,在MS COCO图像自动描述数据集上进行输出的是Sigmoid函数层后得到的概率,最后的输出维度为4267。

步骤3使用残差深度卷积网络对对图片上保留前5个预测场景的概率,最后的输出维度为366。

三、基于多层级视觉语义嵌入的智能图像自动描述

步骤1使用双层循环神经网络去处理对于物体语义概念和局部抽象特征的关注和嵌入,起着循环神经网络中的处理单位为长短时记忆神经网络。第一层长短时记忆神经网络是自上而下注意力的长短时记忆神经网络,其作用是根据第二层语言长短时记忆神经网络的输出和状态,去处理对于物体语义概念和局部抽象特征的关注和嵌入。在这个注意力长短时记忆神经网络中,每一步的输入是前一个语言长短时记忆神经网络的输出,和一个编码过的前一个产生后的单词:

其中,zt是t时刻下独热编码(one-hot)的输入词汇,而是一个对于Q大小词汇表的词嵌入矩阵,这个词嵌入矩阵是通过随机初始化后学习得到的,没有经过预先训练。

步骤2自上而下注意力长短时记忆神经网络接受上一时刻语言长短时记忆神经网络隐层状态和这一时刻单词编码Wezt作为输入,产生的隐层状态送入因式分解的注意力模块中,嵌入转成对角矩阵的场景语义信息引导注意力得到加权后的局部抽象特征和物体语义概念,最后一起送入语言长短时记忆神经网络中得到单词的输出。

为了能将场景语义信息vscene在注意力长短时记忆神经网络输出中进行显式地嵌入,我们设计了因式分解的注意力机制模块,它将传统注意力机制中隐藏状态权重Wh进行因式分解成为UhSVh,公式如下:

Wh=UhSVh

其中S=diag(vscene)是场景语义信息vscene的对角化矩阵。S的作用是对隐藏层状态嵌入描述场景的内容,并直接影响接下来的两个注意力引导和描述生成。

步骤3为了能让模型在生成单词的时候动态地去关注图像空间特征,得到更丰富的细节描述,保留了图像局部抽象特征的注意力嵌入方式。对于L个图像局部抽象特征vi,根据注第一层意力长短时记忆神经网络隐藏层状态和对角化后的场景语义信息S,可以通过如下计算方式得到一个经过标准化的权重αi,t

αt=Softmax(at)

其中是可学习的参数。

图像局部抽象特征vconv点乘上权重αt进行加权求和后,用在第二层语言长短时记忆神经网络中。

步骤4对于C维物体语义概念同样可以根据第一层注意力长短时记忆神经网络的输出和对角化后的场景语义信息S,进行计算得到一个经过标准化的权重βi,t,其公式如下所示:

βt=Softmax(bt)

其中,是可学习的参数。

C维的物体语义概念vobj经过维度变换后点乘权重,得到经过场景语义信息嵌入的高层物体语义概念也用第二层在语言长短时记忆神经网络中。

步骤5第二层语言长短时记忆神经网络得到注意力机制处理后的图像信息后,进行当前单词的生成。第二层语言长短时记忆神经网络的输入包含了带场景注意力的图像局部抽象特征带场景注意力的语义概念和第一层注意力长短时记忆神经网络的隐藏层状态

其中,是可学习的参数和偏置。

第二层长短时记忆神经网络单词概率分布p2不仅参与训练过程中的优化,还进行测试时的“采样”。

完整输出序列的概率分布是条件概率分布的乘积:

长短时记忆神经网络被训练为预测整个描述的每一个词。在推理阶段,存在很多方法可以生成给定图片的描述。一种方法是“采样”,根据生成的第一个概率分布p1,采样得到第一个词。再进行对应词的嵌入作为输入,得到第二个概率分布p2,一直如此循环直到采样到“结束标志”或者达到最大长度。第二种方法是进行集束搜索,在t时刻迭代的时候考虑k个最好的已生成的句子作为候选,去生成t+1时刻的句子并只保留最好的k个。当使用集束搜索(Beam search)解码时,通常会包含至少一个质量特别高(即分数特别高)的句子,尽管通常最好的句子不是生成的对数概率中最高的那个。因此为了增加训练的速度,做了一个额外的近似。相比在整个概率分布中进行采样,选择在集束搜索作为采样的集合。

为了验证提出的模型的可行性和先进性,在通用数据集MSCOCO进行模型的评估。其中和最新图像自动描述方法的量化比较如表1所示。

表1

模型 Bleu_1 Bleu_2 Bleu_3 Bleu_4 Meteor Rouge_L CIDEr SPICE
Up-Down 0.798 - - 0.363 0.277 0.569 1.201 0.214
DA - - - 0.375 0.285 0.582 1.256 0.223
本专利 0.803 0.646 0.501 0.381 0.284 0.582 1.268 0.220

可以看出,在多种评估指标上所提出的模型性能都具有很高的优势。

另外,如图3,本发明通过可视化输入图像所生成的文本描述见表2。

表2

从图3和表2可以看出,由于本发明的模型考虑了内在场景信息的建模,其在图像描述上取得了很明显的改进。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种软骨图像分割方法、装置、可读存储介质及终端设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!