基于FCN特征提取的多模态循环神经网络图像描述方法与流程

文档序号:12666333阅读:427来源:国知局
基于FCN特征提取的多模态循环神经网络图像描述方法与流程

本发明涉及人工智能领域,更具体地,涉及一种基于FCN特征提取的多模态循环神经网络图像描述方法。



背景技术:

近年来,循环神经网络RNN与卷积神经网络CNN分别在自然语言处理与图像分类处理取得成功,使得机器学习领域上出现了一种结合循环神经网络与卷积神经网络用于自动生成图像描述的方法。自动生成图像描述是人工智能的重要分支,它可以广泛应用于图像检索,盲人导航等方面。因此,受到了越来越多研究人员的关注。2011年,Mikolov等人提出了用于自然语言处理的循环神经网络模型,该模型在对话识别和词语特征提取等方面,都获得了最好的效果。2012年,Krizhevsky等人提出了一种8层的卷积神经网络模型AlexNet,其在图像分类的准确性大幅度超越了以往的各种模型。2015年,Junhua Mao将以上述两模型为基础,提出了多模态循环神经网络M-RNN,较好的融合了语言模型与图像模型。

虽然M-RNN在各个测试标准下都可以取得不错的成绩,但是该模型只能对图像中面积较大的目标生成描述。对于一些在图像中所占面积较少的区域,其信息在卷积神经网络提取图像特征时已丢失,所以无法生成这些丢失区域的图像描述。因此,该模型忽略了图中较多的细节信息导致了不能生成更完整的图像描述。



技术实现要素:

本发明提供一种基于FCN特征提取的多模态循环神经网络图像描述方法,该方法可以自动识别、理解输入的图像。

为了达到上述技术效果,本发明的技术方案如下:

一种基于FCN特征提取的多模态循环神经网络图像描述方法,包括构建每一时间帧的多模态循环神经网络模型,过程如下:

S1:构造与训练全卷积网络FCN;

S2:构造与训练多模态循环神经网络M-RNN;

S3:利用得到的全卷积网络FCN和多模态循环神经网络M-RNN自动生成图像描述。

进一步地,所述步骤S1的具体过程如下:

S11:采集日常生活中各类场景里面的图像作为训练图像,每张训练图像带上经过处理后得到的关于该图像的标准特征图;

S12:将现有的已训练好的卷积神经网络模型进行调整得到初步全卷积网络模型;

S13:删除现有卷积神经网络的分类层,并将全连接层转换为卷积层;

S14:对最高层池化层n卷积后的结果进行上抽样,得到该池化层的上抽样预测为:Pre_Up(n);

S15:对上一层池化层n-1进行卷积核为1×1卷积运算,得到该池化层的预测结果为:Pre_Pool(n-1);

S16:将上述两预测结果Pre_Up(n)与Pre_Pool(n-1)进行求和,再进行上抽样,得到上抽样预测为:Pre_Up[Pre_Up(n)+Pre_Pool(n-1)];

S17:对再上一层池化层n-2进行卷积核为1×1卷积运算,得到该池化层的预测结果为:Pre_Pool(n-2);

S18:将Pre_Up[Pre_Up(n)+Pre_Pool(n-1)]与Pre_Pool(n-2)求和,再进行上抽样得到与原输入图像大小相同的具有更多细节信息的密集预测结果:

Pre_Up{[Pre_Up(n)+Pre_Pool(n-1)]+Pre_Pool(n-2)};

S19:最高的上抽样层的反卷积核(上抽样倍数)由双线性插值法确定,是固定的,而模型中间的上抽样层的反卷积核由双线性插值法初始化,并在训练中进行学习;

S20:输入具有标准特征图的图像,利用随机梯度下降进行全图像训练,并对全卷积神经网络里所有层的参数进行微调,得到更好的密集预测结果。

进一步地,所述步骤S2的具体过程如下:

S21:在互联网上搜集日常生活中的各类图像作为训练图像,并且每张训练图像都带上一句或若干句描述该图像内容的句子;

S22:每一时刻仅输入描述句子中的一个单词,该单词先输入到两层的词嵌入层,两层词嵌入层能更有效提取单词信息,该层对单词在句子中的语义信息和语法信息进行提取,并转换为密集的特征向量w(t)表示;

S23:将特征向量w(t)输入到循环层,结合上一时刻的循环层的输出,计算当前时刻循环层的特征信息r(t)=f2(Ur·r(t-1)+w(t)),一方面将该特征信息传给下一时刻的循环层,另一方面将该特征信息输入到当前时刻的多模态层;

S24:多模态层用于连结第二层词嵌入层的输出特征、当前时刻循环层的输出特征、全卷积网络FCN所提取的图像特征,将三种特征信息映射到统一的多模态空间m(t)=g2(Vw·w(t)+Vr·r(t)+VI·I);

S25:将多模态空间特征m(t)输入到SoftMax层,输出下一个出现的单词的预测概率分布;

S26:训练时,各层的参数随机初始化,并采用损失函数的反向传导算法对该模型的语言部分进行训练。

进一步地,所述步骤S3的具体过程如下:

S31:将与日常生活相关的图像输入到多模态神经网络M-RNN,全卷积网络FCN对该图像进行信息特征提取,结合低层卷积层的精细信息与高层卷积层的全局信息,输出具有更多细节信息的点到点的关于该图像密集预测结果;

S32:根据所输出的图像密集预测,多模态神经网络M-RNN的多模态层将其映射到多模态空间,再通过Softmax计算下一个出现的单词的概率分布,选取概率最大的单词作为该时刻的单词输出,即描述语句的首个单词w1

S33:将上一时刻输出的预测单词输入到多模态神经网络M-RNN的词嵌入层,提取该单词语义信息和语法信息,并转换为密集的特征向量w(t)表示;

S34:将特征向量w(t)输入到循环层,结合上一时刻的循环层的输出,计算当前时刻循环层的特征信息r(t)=f2(Ur·r(t-1)+w(t)),一方面将该特征信息传给下一时刻的循环层,另一方面将该特征信息输入到当前时刻的多模态层;

S35:多模态层用于连结第二层词嵌入层的输出特征、当前时刻循环层的输出特征、全卷积网络FCN所提取的图像特征,将三种特征信息映射到统一的多模态空间m(t)=g2(Vw·w(t)+Vr·r(t)+VI·I);

S36:将多模态空间特征m(t)输入到SoftMax层,计算出下一个出现的单词的预测概率分布,选取概率最大的单词作为该时刻的单词输出,即描述句子的第二个单词w2

S37:将该预测单词输入到多模态神经网络M-RNN的词嵌入层,如此循环,直到生成一个完整的描述句子。

进一步地,所述步骤S4中,多模态层用于连结第二层词嵌入层的输出特征、当前时刻循环层的输出特征、全卷积网络FCN所提取的图像特征,将三种特征信息映射到统一的多模态空间m(t)=g2(Vw·w(t)+Vr·r(t)+VI·I);

其中,Vw、Vr、VI分别为词嵌入层特征、循环层特征、图像特征所对应投影权重系数矩阵,g2为调整过的双曲正切函数它使梯度处于最大非线性范围,能加快训练进程。

进一步地,采用对数似然损失函数对模型进行训练,通过最小化损失函数,误差反向传导来更新模型参数。

与现有技术相比,本发明技术方案的有益效果是:

本发明提供一种基于FCN图像特征提取的多模态循环神经网络M-RNN的图像描述生成方法,通过对海量已标注文本描述的图像训练得到一个由三部分(循环神经网络RNN,全卷积神经网络FCN,多模态层)组成的多模态模型,并实现对任意输入测试图像的文本描述的自动生成。RNN处理文本描述,FCN提取具有细节信息的图像特征,再用多模态层将文本特征信息、循环层特征信息、图像信息特征信息三者结合形成整个多模态循环神经网络M-RNN模型。本发明能够有效地提取图像特征,并保留图像更多的细节信息,能更好建立文本描述中单词和图像的联系。对基于语义上,图像显著目标或场景间的描述有很好的表现。

附图说明

图1为多模态神经网络模型M-RNN;

图2为全卷积神经网络模型FCN。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1-2所示,一种基于FCN特征提取的多模态循环神经网络图像描述方法,包括以下步骤:

S1构造与训练全卷积网络FCN

S1.1采集图像:从互联网上下载PASCAL VOC数据集,它为图像识别和图像分类提供了一整套标准的优秀数据集。并利用此数据集进行模型的微调和测试;

S1.2将现有的已训练好的卷积神经网络模型Alex Net进行调整得到初步全卷积网络模型;

S1.3删除Alex Net卷积神经网络的分类层,并将全连接层转换为卷积层;

S1.4对最高层池化层5卷积后的结果进行2x上抽样,得到该池化层5的上抽样预测,预测结果具有图像粗略的信息。结果为:Pre_Up(5);

S1.5对上一层池化层4进行卷积核为1×1卷积运算,得到该池化层4的预测具有图像的细节信息,结果为:Pre_Pool(4);

S1.6将上述两预测结果Pre_Up(5)与Pre_Pool(4)进行求和,再进行2x上抽样,得到上抽样预测为:Pre_Up[Pre_Up(5)+Pre_Pool(4)];

S1.7对再上一层池化层3进行卷积核为1×1卷积运算,得到该池化层3的预测较池化层4具有图像更多的细节信息,结果为:Pre_Pool(3);

S1.8将Pre_Up[Pre_Up(5)+Pre_Pool(4)]与Pre_Pool(3)求和,再进行8x上抽样得到与原输入图像大小相同的具有更多细节信息的密集预测结果:

Pre_Up{Pre_Up[Pre_Up(5)+Pre_Pool(4)]+Pre_Pool(3)};

S1.9最高的上抽样层的反卷积核由双线性插值法确定,是固定的。而模型中间的上抽样层的反卷积核由双线性插值法初始化,并在训练中进行学习;

S1.10输入具有标准特征图的图像,利用随机梯度下降进行全图像训练,并对全卷积神经网络里所有层的参数进行微调,得到更好的密集预测结果。

S2构造与训练多模态循环神经网络M-RNN

S2.1采集图像:从互联网上下载MS COCO数据集,它包含了8万张训练图像,4万张评价图像,每个图像提供5个图像描述句子。并利用此数据集进行模型的训练和测试;

S2.2每一时刻仅输入描述句子中的一个单词,该单词先输入到两层的词嵌入层,该层对单词在句子中的语义信息和语法信息进行提取,并转换为密集的特征向量w(t)表示;

S2.3将特征向量w(t)输入到循环层,结合上一时刻的循环层的输出,计算当前时刻循环层的特征信息r(t)=f2(Ur·r(t-1)+w(t)),一方面将该特征信息传给下一时刻的循环层,另一方面将该特征信息输入到当前时刻的多模态层。其中f2使用的是ReLU函数,具有速度更快、更难以饱和和过拟合等优点。Ur为投影转换矩阵。r(t-1)为上一时刻循环层的输出;

S2.4多模态层用于连结第二层词嵌入层的输出特征w(t)、当前时刻循环层的输出特征r(t)、全卷积网络FCN所提取的图像特征I,将三种特征信息映射到统一的多模态空间m(t)=g2(Vw·w(t)+Vr·r(t)+VI·I)。其中Vw、Vr、VI分别为词嵌入层特征、循环层特征、图像特征所对应投影权重系数矩阵。g2为调整过的双曲正切函数它能使梯度处于最大非线性范围,能加快训练进程;

S2.5将多模态空间特征m(t)输入到SoftMax层,输出下一个出现的单词的预测概率分布。

S2.6训练时,各层的参数随机初始化。并采用损失函数的反向传导算法对该模型的语言部分进行训练。

S3自动生成图像描述

S3.1将与日常生活相关的图像输入到多模态神经网络M-RNN。全卷积网络FCN对该图像进行信息特征提取,结合低层卷积层的精细信息与高层卷积层的全局信息,输出具有更多细节信息的点到点的关于该图像密集预测结果。

S3.2根据所输出的图像密集预测,多模态神经网络M-RNN的多模态层将其映射到多模态空间,再通过Softmax计算下一个出现的单词的概率分布,选取概率最大的单词作为该时刻的单词输出,即描述语句的首个单词。

S3.3将上一时刻输出的预测单词输入到多模态神经网络M-RNN的词嵌入层,提取该单词语义信息和语法信息,并转换为特征向量w(t)。

S3.4将特征向量w(t)输入到循环层,结合上一时刻的循环层的输出,计算当前时刻循环层的特征信息r(t)=f2(Ur·r(t-1)+w(t)),一方面将该特征信息传给下一时刻的循环层,另一方面将该特征信息输入到当前时刻的多模态层。其中f2使用的是ReLU函数,具有速度更快、更难以饱和和过拟合等优点。Ur为投影转换矩阵。r(t-1)为上一时刻循环层的输出;

S3.5多模态层用于连结第二层词嵌入层的输出特征、当前时刻循环层的输出特征、全卷积网络FCN所提取的图像特征,将三种特征信息映射到统一的多模态空间m(t)=g2(Vw·w(t)+Vr·r(t)+VI·I)。其中Vw、Vr、VI分别为词嵌入层特征、循环层特征、图像特征所对应投影权重系数矩阵。g2为调整过的双曲正切函数它能使梯度处于最大非线性范围,能加快训练进程;

S3.6将多模态空间特征m(t)输入到SoftMax层,计算出下一个出现的单词的预测概率分布,选取概率最大的单词作为该时刻的单词输出,即描述句子的第二个单词。

S3.7将该预测单词输入到多模态神经网络M-RNN的词嵌入层,如此循环。直到生成一个完整的描述句子。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1