一种基于多模态注意力的图像标题自动生成方法与流程

文档序号:15981782发布日期:2018-11-17 00:25阅读:243来源:国知局

本发明属于计算机视觉与自然语言处理的交叉技术领域,涉及一种基于多模态注意力的图像标题自动生成方法。

背景技术

为图像生成标题的本质是将图像转换为语言。设计一种高效的图像标题自动生成算法可以使缺少视觉或视觉能力差的系统(人类或计算机)具备感知周围环境的能力。近年来,有许多新颖的工作融合了计算机视觉和自然语言处理的先进技术取得了大有希望的成果。根据标题生成方式的不同,这些工作可以被分为三类:基于模板匹配的方法、基于迁移的方法和基于神经网络的方法。

基于模板匹配的方法首先使用多个分类器分别将图片所包含的物体、属性和活动都识别出来,然后把这些已识别信息填入一个手工设计的固定句子模板以产生句子。该类方法虽然直观且简单,但是由于分类器与固定模板的限制而难以提取更复杂的图像内容也不能灵活地产生结构更复杂的句子。基于迁移的方法使用图像检索技术在现有数据库中搜索出与之相似的图像,然后直接把相似图像的标题作为所查询图片的结果。然而,因为搜索出的图像与待查询图像仅仅是相似而不一定完全相同,所以迁移产生的句子可能无法准确地描述待查询图像的内容。

基于神经网络的方法一般先利用卷积神经网络(convolutionalneuralnetwork,cnn)作为视觉模型来提取图像特征进而利用循环神经网络(recurrentneuralnetwork,rnn)作为语言模型产生有意义的通顺语句。vinyals等人借鉴了机器翻译任务中的编码器-解码器结构提出了一种基于深度神经网络的图像标题生成器nic(vinyalso,tosheva,bengios,etal.showandtell:aneuralimagecaptiongenerator[c]//ieeeconferenceoncomputervisionandpatternrecognition.2015:3156-3164.)。nic首先使用cnn作为编码器提取出一个定长向量来表示图像特征,进而使用长短期记忆模型(longshorttermmemory,lstm)作为解码器产生图像标题,是一种允许以端到端方式训练的模型。为了达到动态关注显著性图像区域的目的,xu等人选择使用cnn的最后一个卷积层把整个图像转化为一组表示图像各局部特征的向量。在局部特征上应用软注意力机制或硬注意力机制可以进行显著性区域的选择,提高了模型的可解释性和性能(xuk,baj,kirosr,etal.show,attendandtell:neuralimagecaptiongenerationwithvisualattention[j].computerscience,2015:2048-2057.)。为了获得更精细的图像区域特征,li等人使用fasterr-cnn(rens,hek,girshickr,etal.fasterr-cnn:towardsreal-timeobjectdetectionwithregionproposalnetworks[c]//advancesinneuralinformationprocessingsystems.2015:91-99.)提取图像级特征和物体级特征并提出了全局-局部注意力机制(lil,tangs,dengl,etal.imagecaptionwithglobal-localattention[c]//aaai.2017:4133-4139.)。全局-局部注意力机制可以动态地从图像级特征和物体级特征中选择显著性特征以预测下一时刻的单词。提取物体级特征不仅可以使用fasterr-cnn,fu等人一方面利用选择性搜索算法产生图像中可能包含物体的候选框,然后将包含于各候选框的图像区域输入cnn以提取物体级特征;一方面通过文档主题生成模型(latentdirichletallocation,lda)训练一个单隐藏层神经网络预测图像的场景信息,为标题生成提供更多的辅助信息(fuk,jinj,cuir,etal.aligningwheretoseeandwhattotell:imagecaptioningwithregion-basedattentionandscene-specificcontexts[j].ieeetransactionsonpatternanalysisandmachineintelligence,2017,39(12):2321-2334.)。此外,带语义注意力机制的模型被提出以提高图像标题的生成质量(youq,jinh,wangz,etal.imagecaptioningwithsemanticattention[c]//computervisionandpatternrecognition.ieee,2016:4651-4659.)。语义注意力包括输入注意力模块和输出注意力模块两部分。输入注意力模块会根据上一时刻预测的单词选择重要的视觉概念和属性,而输出注意力模块则根据当前时刻隐藏层的状态选择重要的视觉概念和属性。gu等人在rnn的基础上加入了时域cnn以提取单词序列的特征(guj,wangg,caij,etal.anempiricalstudyoflanguagecnnforimagecaptioning[c]//proceedingsoftheinternationalconferenceoncomputervision(iccv).2017.)。其中,时域cnn用以获取单词序列的静态表达,而rnn则用以获取单词序列的动态表达。这种结合rnn和时域cnn的方式有助于产生更通顺的句子。

传统的基于神经网络的方法存在两个问题:1.用于训练cnn的图像分类数据集包含的类别数目是有限的,许多经常出现在图像标题中的语义信息(比如,颜色和大小)并不包含于有限的图像类别中,因此在图像分类数据集上训练的cnn提取出的视觉信息和图像标题中的语义信息不存在严格的对齐关系。2.根据图像特征按单词顺序生成图像标题的做法仅考虑了图像特征而忽视了句子特征,而图像特征和句子特征作为视觉和语义两方面的重要信息都应该被考虑。针对以上两个存在的问题,本发明利用cnn和rnn分别提取图像特征和句子特征并提出了多模态注意力机制。多模态注意力机制可以自适应地关注图像特征或句子特征,避免了视觉和语义的直接对齐,同时在预测下一时刻的单词时充分考虑了视觉信息和语义信息。



技术实现要素:

针对传统的基于神经网络的方法存在视觉信息和语义信息的对齐问题以及句子特征往往被忽视的问题,本发明提出了一种基于多模态注意力的图像标题自动生成方法,它降低了视觉信息与语义信息之间的不对称问题对生成图像标题的不利影响,并充分考虑视觉和语义两方面信息。本发明使用cnn和rnn分别提取图像特征和句子特征,设计一种带多模态注意力的模型自适应地关注图像特征和句子特征以生成最终的图像标题。

本发明的技术方案:

一种基于多模态注意力的图像标题自动生成方法,步骤如下:

步骤1:通过选择性搜索算法把原始图像包含物体的图像区域提取出来,并把它们缩放为统一的像素大小。将这些图像区域输入resnet卷积神经网络进行前向传播计算,提取倒数第二个全连接层的输出作为图像特征v。

步骤2:通过将单词嵌入一个低维稠密向量空间获得单词特征w,并利用视觉注意力机制从图像特征v中选择显著性图像特征。把选择出的图像特征以及单词特征一同输入lstm以预测下一时刻的单词,达到初步生成图像标题的目的。提取该lstm隐藏层的状态作为句子特征h。

步骤3:通过设计的多模态注意力机制从图像特征v中选择显著性图像特征,并从句子特征h中选择显著性句子特征。把选择出的图像特征、句子特征以及本时刻的单词特征一同输入另一个lstm以预测下一时刻的单词,达到生成最终图像标题的目的。

步骤4:使用步骤3中的lstm通过集束搜索的方式保留每一时刻产生的多个候选单词并以这些单词为出发点继续搜索直到生成完整的图像标题。

本发明的有益效果:设计的多模态注意力机制同时考虑了图像特征和句子特征并能够自适应地关注图像特征和句子特征,不仅缓解了传统的基于神经网络的方法中存在的视觉特征和语义特征的对齐问题,而且加快了模型收敛速度,提高了最终生成标题的质量。提出的多模态注意力模型通过融合视觉注意力和隐变量注意力,不仅可以得到显著性图像特征和句子特征,并且可以自适应地关注显著性,解决了传统的基于神经网络的方法中存在的视觉和语义的对齐问题以及往往忽略句子特征的问题。

附图说明

图1是基于多模态注意力的图像标题自动生成方法示意图;

图2是利用resnet卷积神经网络对图像区域进行特征提取的示意图;

图3是带视觉注意力的lstm示意图;

图4是带多模态注意力(视觉注意力和隐变量注意力)的lstm示意图;

图5是基于多模态注意力的图像标题自动生成方法的流程图。

具体实施方式

本发明提供一种基于多模态注意力的图像标题自动生成方法。所论述的具体实施例仅用于说明本发明的实现方式,而不限制本发明的范围。下面结合附图对本发明的实施方式进行详细说明,一种基于多模态注意力的图像标题自动生成方法,具体步骤如下:

(1)图像的预处理

使用选择性搜索算法从原始图像提取出包含物体的图像区域。而这些图像区域的大小是不一样的,不适合后续通过resnet卷积神经网络进行特征提取。因此本发明对提取出的图像区域进行放缩,使其大小能够符合要求,同时对图像像素值进行了规整化处理。

(2)图像特征的提取

由于resnet卷积神经网络在大规模图像识别等任务中取得了巨大成功,本发明选取resnet作为图像特征提取器。首先在imagenet数据集上对resnet进行预训练,然后将一幅图像中提取出的图像区域分别输入到该resnet进行前向传播,最后把该卷积神经网络倒数第二个全连接层的输出作为图像区域的特征。图2展示了一个利用resnet提取图像区域特征的例子。

(3)句子特征的提取

如图3所示:首先利用带视觉注意力的lstm为原始图像生成一个初步的标题,然后提取生成过程中该lstm各时刻隐藏层的状态作为句子特征,包括显著性图像特征的选择、lstm隐藏层的状态更新以及新单词的预测三个部分;

(3.1)显著性图像特征的选择

在生成初步标题的过程中,使用视觉注意力机制,选择出对预测下一时刻单词有帮助的显著性视觉特征;

视觉注意力机制根据t-1时刻隐藏层的状态ht-1,计算t时刻的显著性视觉特征vt;视觉注意力av通过对图像的各局部特征vi,(i=1,2,...,n)加权求和,得到显著性视觉特征,计算公式如下:

其中,v表示图像特征,表示第i个图像特征在t时刻的注意力权重,且

根据t时刻之前隐藏层的状态ht-1推断出t时刻图像各区域的显著性程度;第i个图像特征在t时刻的注意力权重通过使用图像的局部特征vi,(i=1,2,...,n)以及t时刻之前的隐藏层的状态ht-1计算出来,计算公式如下:

其中,wh、wv、b以及ωt是需要学习的参数;先使用wh和wv将ht-1和vi映射到同一个向量空间;再将whht-1、wvvi与偏置b相加,得到ht-1和vi的相关性向量;接着使用双曲正切函数tanh对该相关性向量进行非线性激活,最后通过与ωt相乘,计算出相关性标量表示第i个图像特征与t时刻之前的状态信息ht-1的相关性分数,取值范围是(-∞,+∞);使用softmax函数将βit的取值范围压缩在(0,1)之间;

(3.2)lstm隐藏层的状态更新

已知图像特征v={v1,v2,...,vn}和t时刻之前的所有单词{w0,w1,...,wt-1},则t时刻单词的条件概率表示为p(wt|w0,w1,...,wt-1,v),使用lstm对单词的概率分布建模,其隐藏层的状态更新由如下公式定义:

vt=av(v,ht-1)(4)

it=σ(wixwt+wihht-1+wivvt+bi)(5)

ft=σ(wfxwt+wfhht-1+wfvvt+bf)(6)

ot=σ(woxwt+wohht-1+wovvt+bo)(7)

其中,w*和b*表示需要学习的参数,σ表示sigmoid激活函数,表示元素级乘积,it、ft和ot分别表示输入门、忘记门和输出门,ct和ct-1分别表示本时刻和上一时刻的记忆单元,ht和ht-1分别表示本时刻和上一时刻的隐藏层状态;

(3.3)新单词的预测

softmax函数将ht进一步转化为新单词的概率分布p(wt|w0,w1,...,wt-1,v),计算公式如下:

p(wt|w0,w1,...,wt-1,v)=softmax(wpht)(11)

其中,wp是需要学习的参数;通过最小化整个句子的负对数似然函数nonlikely()完成训练后,提取lstm所有时刻隐藏层的状态h={h1,h2,...,hm}作为句子特征s={s1,s2,...,sm};

(4)最终图像标题的生成

如图4所示:设计一个带多模态注意力的lstm为图像生成最终的标题,包括显著性多模态特征的选择、lstm隐藏层的状态更新以及新单词的预测三个部分;显著性多模态特征包括图像特征v与句子特征s;

(4.1)显著性多模态特征的选择

多模态注意力机制在视觉注意力机制的基础上增加隐变量注意力模块,根据上一时刻lstm隐藏层的状态关注显著性句子特征;最终,显著性句子特征与显著性图像特征通过连接,形成显著性多模态特征;隐变量注意力ah通过对句子特征s加权求和,得到t时刻关注的句子特征st,计算公式如下:

其中,表示第i个句子特征在t时刻的注意力权重,且

按照图像特征在t时刻的注意力权重的计算方式,计算出句子特征在t时刻的注意力权重:

计算出显著性句子特征st后,将它与显著性视觉特征vt连接起来,作为多模态特征mt

mt=am(v,s)=concat(vt,st)(16)

其中,am表示多模态注意力函数,concat表示将两个向量连接为一个新向量;

(4.2)lstm隐藏层的状态更新

已知多模态特征m={v,s}和t时刻之前的所有单词{w0,w1,...,wt-1},则t时刻单词的条件概率表示为p(wt|w0,w1,...,wt-1,m);使用lstm对单词的概率分布建模,其隐藏层的状态更新由以下公式定义:

mt=am(v,s)(17)

it=σ(wixwt+wihht-1+wimmt+bi)(18)

ft=σ(wfxwt+wfhht-1+wfmmt+bf)(19)

ot=σ(woxwt+wohht-1+wommt+bo)(20)

其中w*和b*表示需要学习的参数,σ表示sigmoid激活函数,表示元素级乘积,it、ft和ot分别表示输入门、忘记门和输出门,ct和ct-1分别表示本时刻和上一时刻的记忆单元,ht和ht-1分别表示本时刻和上一时刻的隐藏层状态;

(4.3)新单词的预测

softmax函数将ht进一步转化得到新单词的概率分布p(wt|w0,w1,...,wt-1,m),计算公式如下:

p(wt|w0,w1,...,wt-1,m)=softmax(wpht)(24)

其中,wp是需要学习的参数;通过最小化整个句子的负对数似然函数nonlikely()完成训练后,使用该lstm生成最终的图像标题;

(5)使用步骤(4)训练的lstm,通过集束搜索的方式保留每一时刻产生的多个候选单词,并以候选单词为出发点,继续搜索直到搜索出句子结束标志。

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