一种基于RNN的图片描述自动生成方法技术

技术编号:14848812 阅读:135 留言:0更新日期:2017-03-17 22:17
本发明专利技术公开了一种于RNN的图片描述自动生成方法,先使用预训练好的深度网络,对图像提取特征;再对该句子的单词去掉非名词和动词的成分;最后使用LSTM网络对图像特征和词语特征进行联合训练;在生成句子过程中,首先通过输入的图片和训练好的LSTM网络,生成一个名动词组成的句子;然后通过网络上的大量语料库,生成最后的输出句子。本发明专利技术可以自动识别,理解用户上传的数码图像,并生成人类能理解的自然句子。

【技术实现步骤摘要】

本专利技术涉及人工智能领域,特别涉及一种基于RNN的图片描述自动生成方法
技术介绍
自动图像内容描述是人工智能图像识别近年兴起的新技术。其目的在于通过算法,自动把一个图像的内容信息,用自然语言表达出来。ShowandTell:ANeuralImageCaptionGenerator,OriolVinyals2014,通过先使用深度网络提取图像特征,再使用RNN模型将图像特征转化为文字描述,提取出图像的语义信息。但其是对整个图像进行整体处理,不能很好地利用图像中的空间位置的信息。Show,AttendandTell:NeuralImageCaptionGenerationwithVisualAttention,KelvinXu2015,在其之上加入了显著性检测,对图像的空间信息有一定的利用,但其也只利用了简单的RNN模型,语义的表达力较弱。
技术实现思路
为了克服现有技术的上述缺点与不足,本专利技术的目的在于提供一种基于RNN的图片描述自动生成方法,可以自动识别,理解用户上传的数码图像,并生成人类能理解的自然句子。本专利技术的目的通过以下技术方案实现:一种基于RNN的图片描述自动生成方法,包括以下步骤:S1在计算机上进行训练过程:S1.1采集数据集:采集日常生活中各类场景里面的图像作为训练图像,每张训练图像带上一句或多句描述该图像内容的句子;S1.2使用深度学习网络,对训练集的每一张图片提取图像特征;S1.3词性筛选:收集四、六级英语单词的词汇表,以及每个单词的词性;对于每张训练图像对应的一个或多个句子进行词性筛选:对于句子中的每个单词,如果单词在四、六级词汇表中排第一的词性是名词或者动词,该单词留下,否则,把该单词去掉;使用筛选之后剩下的单词组成句子作为数据库;S1.4将词语数据转换成特征向量:统计出S1.3中的数据库中所有句子中出现的不同单词的数目,加上一个自定义的END字符,句子的总字符数为n;并对单词按字母顺序进行排序,每个单词在序列中的位置作为该单词的索引位置;由此把每个单词表示为一个n维的单词特征向量,该向量只有在该单词的索引位置上为1,其他全为零;n为正整数;S1.5将单词特征向量和图像特征向量统一映射到同一维度k的向量;k为正整数;S1.6使用LSTM网络进行训练:每个训练样例为一张训练图像和该训练图像所对应的经S1.3筛选的句子;每次随机选择一张训练图像和一个对应的参考句子;S1.7将LSTM网络的输入和输出都设为k维向量,在时刻0,把k维的图像特征向量传入LSTM网络,网络输出一个k维向量;然后将输出的k维向量左乘一个n*k维的矩阵,得到一个n维向量;向量上第i维的值代表了索引值为i的单词的可能性;i为正整数;S1.8使用S1.7得到的n维向量和S1.6中输入的参考句子的n维向量进行比较,计算两个向量的欧式距离,作为LSTM网络的误差,使用反向误差传播算法,更新网络参数;S2自动生成图像描述:S2.1在互联网上搜集自然语言的句子,形成语料库;S2.2对于测试图像,先使用深度学习网络对测试图像提取图像特征,再使用S1.7的方法得到n维的可能性单词向量;根据n维向量上每一维值的大小,选出可能性最大的单词;S2.3将步骤S2.2得到的单词向量再次输入LSTM网络中,得到更新后的输出单词可能性向量;不断重复此过程,直到入LSTM网络输出END单词;S2.4将S2.2和S2.3过程中输出的单词,按顺序组合成一个句子;使用该句子在S2.1的语料库中进行匹配,搜索最相近的句子并输出,生成测试图像的描述。步骤S1.5所述将单词特征向量和图像特征向量统一映射到同一维度k的向量,具体为:对n维的单词向量特征左乘以一个k*n的矩阵,对于m维的图像特征向量,乘以一个k*m维的矩阵;由此把单词特征和图像特征统一到k维;m为正整数。S1.8所述使用S1.7得到的n维向量和S1.6中输入的参考句子的n维向量进行比较,计算两个向量的欧式距离作为LSTM网络的误差,使用反向误差传播算法,更新网络参数,具体为:在输入第t个单词时,t小于句子长度l,使用S1.7的方法,向LSTM网络输入参考句子中的第t个单词,得到n维的可能性向量;使用参考句子中的第t+1个单词作为参考,t+1个单词在n维可能性向量的负数作为误差,使用反向误差传播算法,更新网络参数;t为正整数,l为正整数;在输入第l个单词时,使用S1.7的方法,向LSTM网络输入参考句子中的第l个单词,得到n维的可能性向量;使用S1.4中加入的END单词作为参考,END单词在n维可能性向量的负数作为误差,使用反向误差传播算法,更新网络参数。与现有技术相比,本专利技术具有以下优点和有益效果:(1)本专利技术很好地融合图像特征和文字特征,放在统一的框架下进行学习和理解,使图像信息和文字信息产生互补。(2)本专利技术充分考虑到自动文字描述图片的困难性。采用了把句子中的名词和动词保留,去除其他词性词语的方法。保留了原来句子的主干部分(名词和动词),去掉其他可能带来很大干扰的部分,降低了学习的复杂度,得到了较好的效果。(3)本专利技术通过不断增加训练数据库中的图像和句子,本专利技术的性能可以不断得到提高,而不需要重新训练。(4)本专利技术中使用了互联网上的海量信息作为我们的语料库,使算法可以输出更贴近日常语言的话语。附图说明图1为本专利技术的实施例的基于RNN的图片描述自动生成方法的流程图。具体实施方式下面结合实施例,对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。实施例本实施例的一种基于RNN的图片描述自动生成方法,如图1所示,包括以下步骤:S1在计算机上进行训练过程:S1.1采集数据集:从http://mscoco.org/网站上下载mscoco数据库,该数据库包含30万张图片,每张图片带有5个描述图像内容的句子;S1.2使用深度学习网络(参照论文ImageNetClassificationwithDeepConvolutionalNeuralNetworks,AlexKrizhevsky,IlyaSutskever,GeoffreyEHinton,NIPS2012.),对训练集的每一张图片提取图像特征;本实施例选用网络结构的最后一个全连接层的输出m=4096维向量Fi∈R4096作为图像的特征向量;S1.3词性筛选:收集四、六级英语单词的词本文档来自技高网...

【技术保护点】
一种基于RNN的图片描述自动生成方法,其特征在于,包括以下步骤:S1在计算机上进行训练过程:S1.1采集数据集:采集日常生活中各类场景里面的图像作为训练图像,每张训练图像带上一句或多句描述该图像内容的句子;S1.2使用深度学习网络,对训练集的每一张图片提取图像特征;S1.3词性筛选:收集四、六级英语单词的词汇表,以及每个单词的词性;对于每张训练图像对应的一个或多个句子进行词性筛选:对于句子中的每个单词,如果单词在四、六级词汇表中排第一的词性是名词或者动词,该单词留下,否则,把该单词去掉;使用筛选之后剩下的单词组成句子作为数据库;S1.4将词语数据转换成特征向量:统计出S1.3中的数据库中所有句子中出现的不同单词的数目,加上一个自定义的END字符,句子的总字符数为n;并对单词按字母顺序进行排序,每个单词在序列中的位置作为该单词的索引位置;由此把每个单词表示为一个n维的单词特征向量,该向量只有在该单词的索引位置上为1,其他全为零;n为正整数;S1.5将单词特征向量和图像特征向量统一映射到同一维度k的向量;k为正整数;S1.6使用LSTM网络进行训练:每个训练样例为一张训练图像和该训练图像所对应的经S1.3筛选的句子;每次随机选择一张训练图像和一个对应的参考句子;S1.7将LSTM网络的输入和输出都设为k维向量,在时刻0,把k维的图像特征向量传入LSTM网络,网络输出一个k维向量;然后将输出的k维向量左乘一个n*k维的矩阵,得到一个n维向量;向量上第i维的值代表了索引值为i的单词的可能性;i为正整数;S1.8使用S1.7得到的n维向量和S1.6中输入的参考句子的n维向量进行比较,计算两个向量的欧式距离,作为LSTM网络的误差,使用反向误差传播算法,更新网络参数;S2自动生成图像描述:S2.1在互联网上搜集自然语言的句子,形成语料库;S2.2对于测试图像,先使用深度学习网络对测试图像提取图像特征,再使用S1.7的方法得到n维的可能性单词向量;根据n维向量上每一维值的大小,选出可能性最大的单词;S2.3将步骤S2.2得到的单词向量再次输入LSTM网络中,得到更新后的输出单词可能性向量;不断重复此过程,直到入LSTM网络输出END单词;S2.4将S2.2和S2.3过程中输出的单词,按顺序组合成一个句子;使用该句子在S2.1的语料库中进行匹配,搜索最相近的句子并输出,生成测试图像的描述。...

【技术特征摘要】
1.一种基于RNN的图片描述自动生成方法,其特征在于,包括以下步骤:
S1在计算机上进行训练过程:
S1.1采集数据集:采集日常生活中各类场景里面的图像作为训练图像,每
张训练图像带上一句或多句描述该图像内容的句子;
S1.2使用深度学习网络,对训练集的每一张图片提取图像特征;
S1.3词性筛选:收集四、六级英语单词的词汇表,以及每个单词的词性;
对于每张训练图像对应的一个或多个句子进行词性筛选:对于句子中的每
个单词,如果单词在四、六级词汇表中排第一的词性是名词或者动词,该单词
留下,否则,把该单词去掉;使用筛选之后剩下的单词组成句子作为数据库;
S1.4将词语数据转换成特征向量:统计出S1.3中的数据库中所有句子中出
现的不同单词的数目,加上一个自定义的END字符,句子的总字符数为n;并
对单词按字母顺序进行排序,每个单词在序列中的位置作为该单词的索引位置;
由此把每个单词表示为一个n维的单词特征向量,该向量只有在该单词的索引
位置上为1,其他全为零;n为正整数;
S1.5将单词特征向量和图像特征向量统一映射到同一维度k的向量;k为
正整数;
S1.6使用LSTM网络进行训练:每个训练样例为一张训练图像和该训练图
像所对应的经S1.3筛选的句子;每次随机选择一张训练图像和一个对应的参考
句子;
S1.7将LSTM网络的输入和输出都设为k维向量,在时刻0,把k维的图
像特征向量传入LSTM网络,网络输出一个k维向量;然后将输出的k维向量
左乘一个n*k维的矩阵,得到一个n维向量;向量上第i维的值代表了索引值
为i的单词的可能性;i为正整数;
S1.8使用S1.7得到的n维向量和S1.6中输入的参考句子的n维向量进行
比较,计算两个向量的欧式距离,作为LSTM网络的误差,使用反向误差传播
算法,更新网络参数;
S2自动生成图像描述:
S2.1在...

【专利技术属性】
技术研发人员:郭礼华廖启俊
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1