一种利用时空注意力模型的视频内容描述方法与流程

文档序号:11520239阅读:503来源:国知局
一种利用时空注意力模型的视频内容描述方法与流程

本发明属于计算机视觉与自然语言处理技术领域,涉及一种利用时空注意力模型的视频内容描述方法。



背景技术:

之前在视频内容描述方面的研究工作主要分为以下几个方面:

1.基于特征识别与语言模板填充的方法。具体而言,该方法分为两个步骤,首先将视频按照一定的时间间隔转化成具有连续帧的图像集合;其次,使用一系列预先在大规模的图像训练集中训练好的特征分类器,将视频中的静态特征与动态特征分类标记,具体而言,这些特征可细分为实体、实体属性、实体间的交互关系以及场景等;最后,根据人类语言的特点制定一个“主语,谓语,宾语”的语言模板,在按分类器估计出的概率大小将概率最大的特征填充到语言模版中。

2.基于深度学习的编码-解码方法。该研究方法来源于机器翻译,在编码部分,将待翻译句子用一个固定维度的特征向量表示,之后,解码部分以该向量中储存的信息为条件,将该特征向量转化为目标语言。基于此思想,有人将编码-解码的方法应用到了视觉-文本转化的工作中,通过将图片或视频中的视觉特征编码为固定维度的特征向量,并应用递归神经网络rnn将编码后的特征向量转化为目标文本,从而实现对一副图片或一个视频的自动描述。

3.注意力模型

目前在视觉-文本翻译中广泛应用了注意力模型,该模型仿照了人脑特有的注意力能力,在图片内容描述中,主要利用了空间注意力模型,即在第t个时间点将视觉特征解码为自然语言时,解码模型能够选择性地关注与t-1个时间点生成的描述信息关联最大的区域,通过该模型,能够捕捉到一副图片中的全局空间结构。在视频描述中,主要利用是时间注意力模型,因为捕捉一个视频中的时间结构是了解该视频主要内容的重要手段,因此利用时间注意力模型,可以在第t个时间点根据t-1个时间点生成的描述信息选择性地关注一些关键帧,避免造成视频中不同时间点的事件发生混乱。

对于视频描述现有的方法而言,第一种基于特征识别与语言模板填充的方法不仅需要训练大量的特征分类器用于特征识别,而且在将这些特征填充进语言模板时,容易导致生成的语言描述不完整或不符合人类语言习惯,也就是该使用哪些特征以及这些特征怎么有效结合是导致生成的语言描述正确率很低的关键因素。对于第二种方法,虽然其是目前该研究领域中最为先进也是准确率最高的方法,但是这并不是简单的工作,因为相较于图片而言,视频中含有更多的特征,包括全局静态特征、局部静态特征,局部动态特征等,如何恰当地选取和利用这些特征仍然是现在一个值得继续深入研究的问题。在视频描述中,虽然利用时间注意力模型可以选择性的关注一些关键帧,但是利用的仍然是每一帧上的全局特征,所以容易忽略一些关键的局部特征,所以现在的视频描述方法虽然捕捉了视频中的全局时间结构,但是却忽略了每一帧图片中的空间结构,即忽略了视频中一些关键的局部信息,由此造成的问题主要有以下两方面:1)生成的视频描述不完整,且容易发生歧义;2)因为关键细节的预测错误,会导致视频描述的完全错误。



技术实现要素:

为了克服现有视频内容描述方法中因丢失每一帧图片中空间结构而导致忽略一些关键信息的问题,以及进一步提高描述的准确率,本发明拟在现有时间注意力模型的基础上加入空间注意力模型,新提出一种利用时空注意力模型的视频内容描述方法。本发明通过利用时间注意力模型捕捉视频中全局时间结构的同时,利用空间注意力模型捕捉每一帧图片上的空间结构,目的是使视频描述模型在把握视频中主体事件的同时增强对局部信息的识别能力。

本发明解决上述技术问题所采用的技术方法是:

首先利用公开发表且预先训练好的卷积神经网络(cnn),如googlenet、c3d等,提取每一帧图片中的全局特征以及连续帧形成的动态特征,并级联成固定维度的特征向量;其次利用公开发表且预先训练好的快速区域目标检测模型fasterr-cnn,在每帧图像上进行目标检测,基于需求训练的fasterr-cnn模型可以在每张图片上识别p个物体,因此可以从视频中的每帧图片中提取出p个物体的局部特征;因为图片中的物体个数一般不超过10个,因此我们根据每帧图片检测后得到的每个物体置信度得分,选取得分最高的top-n个物体,作为每帧图片中的重要局部对象,并提取对应的特征作为视频中的局部特征。然后,我们通过时间注意力模型选取每一个时间点的全局、动态、局部特征输入到基于长短期记忆的递归神经网络(lstm),将每一帧编码后的特征向量解码为单词序列。我们以每个时间点生成单词概率的对数似然最大为目标函数。

本发明解决其技术问题所采用的技术方案具体包括以下步骤:

步骤(1)对视频格式进行预处理。

1-1.将待描述视频转换为连续帧的图像集合;利用预先训练好的卷积神经网络googlenet和fasterr-cnn模型分别提取每一帧图片的全局特征和局部特征,其中全局特征取自googlenet卷积神经网络中pool5/7×7_s1层,局部特征取自fasterr-cnn模型中的全连接层fc7。

1-2.采用预先训练好的c3d卷积神经网络,在连续几帧图片中提取视频中的动态特征,特征取自模型中全连接层fc6。

1-3.因为每一个待描述视频的总帧数不一样,为了后续操作方便,统一将所有帧均分成k组,并取每组的第一帧,所以每一个视频最后会有k个全局特征vg={vg1,…,vgk},、k*n个局部特征vl={vl1n,…,vlkn}和k个动态特征vm={vm1,…,vmk}。

1-4.利用级联的方法将全局特征和动态特征融合成一个全局-动态特征向量v[gm]i:

v[gm]i=[vgi,vmi](1)

其中,vgi表示全局特征,vmi表示动态特征,[vgi,vmi]表示全局特征和动态特征进行级联。

步骤(2)建立用于时空注意力模型。

2-1.首先利用空间注意力模型将每一帧图片中top-n个区域的特征{vlin,…,vlin}编码成长度为k的局部空间表征:

ψ(vl)={ψ1(vl),…ψj(vl)…,ψk(vl)}(2)

每个ψj(vl)是利用空间注意力模型得到的每帧图片上所有局部特征的权重和,即每帧图片上n个局部特征都有相应的权重,根据权重lstm在解码时能够选择性地关注每帧图片上的重要区域,从而在视频描述中捕捉到更多的关键细节。

2-2.将k个全局-动态特征向量v[gm]i和局部空间表征ψ(vl)编码成句子长度为m的时间表征:

其中,每个为全局-动态时间表征和局部时间表征的静态融合,即:

上式中,表示全局-动态时间表征和局部时间表征的级联。

每个是分别利用时间注意力模型得到的k个全局-动态特征和k个局部空间表征的权重和。

步骤(3)对视频描述模型进行训练

当每个时间点的时间表征计算出来后,结合人类给出的句子描述,在每个时间节点将时间表征和人类给出的句子描述中的每个单词依次加入到lstm网络中。

由于在视频描述模型训练阶段需要添加人类句子描述作为指导,所以总的训练时间步长为已知,即人类给出的描述句子的长度。整个训练过程按照lstm中三个门和cell的计算来不断更新隐藏状态ht,每个ht中储存了t个时间点生成的所有单词信息,每次将其从lstm网络中输出到前馈神经网络中,通过施加激活函数将其转化为r*v维的向量,r代表lstm网络的维度,v代表候选单词维度,最后利用softmax函数的多分类方法,从v选择概率最高的那一维的索引,对应到事先准备好的字典中,即可选择出每个时间节点应生成的单词。经过l个时间点,l表示该视频人类句子描述的长度,所以最后会得到l个ht={h1,…,hl},同时得到l个单词预测概率,因为训练阶段描述句子已知,所以目标函数是最大化生成单词的对数似然,也就是使得损失函数最小,即l个损失函数的和最小,所以通过梯度下降算法更新所需的训练参数直到损失函数的和最小。

步骤(4)对视频描述模型进行测试。

由于描述句子的内容和长度是未知的,所以运用beamsearch的方法,设定搜索范围k,在第一个时间节点设定初始单词索引为-1(即是一个零向量),并输入到第一个时间节点,计算出当前状态h0,并根据h0和softmax函数算出当前节点可能产生的k个单词索引,并将该k个单词继续加入到下一个时间节点中,计算下一个时间节点可能产生的k个单词并和上一节点的对应单词组成序列。如果在某一时刻,其中一个由ki单词开头的序列搜索到索引为0的单词,则该序列结束搜索,搜索范围也减少为k-1。直到最后第ki个序列也搜索到索引为0的单词,则整个beamsearch过程结束,在k个句子中选择损失最小的一句,将其每一个索引对应到事先准备好的字典中,对应输出相应单词,如果没有对应,则输出unk(未知),如果对应为0,则输出<eos>,即句子结束。

本发明的有益效果:

相比于现有的视频内容描述方法,通过利用时间注意力模型,在保留视频中主要的时间结构的同时,利用空间注意力模型在每帧图片中重点关注一些关键区域,使得生成的视频描述能在把握视频内容中主体事件的同时捕捉一些关键但有容易忽略的细节信息。

附图说明

图1为本发明时空注意力模型示意图;

图2为本发明的实现流程图。

具体实施方式

以下结合附图及实施例,对本发明进行进一步的详细说明。

本发明提出的一种利用时空注意力的视频内容描述方法,通过利用公开发表且预先训练好的卷积神经网络(cnn),如googlenet、c3d等,提出出每一帧中的全局特征以及连续帧形成的动态特征,并级联成固定维度的特征向量;其次利用公开发表且预先训练好的快速区域目标检测模型fasterr-cnn,在每帧图像上进行目标检测,基于需求训练的fasterr-cnn模型预先在mscoco图片数据集上训练,可快速检测80个名词物体。,因此可以从视频中的每帧图片中提取出80个物体的局部特征向;因为图片中的物体个数一般不超过10个,因此我们根据每帧图片检测后得到的每个物体置信度得分,选取得分最高的top-8个物体,作为每帧图片中的重要局部对象,并提取对应的特征作为视频中的局部特征。然后,通过空间注意力模型选取每帧图片上的空间表征。接着,利用时间注意力模型选取每一个时间点的全局、动态特征局部空间表征输入到基于长短期记忆的递归神经网络(lstm),将每一帧编码后的特征向量解码为单词序列。模型的训练过程利用adadelta算法和反向传播算法计算梯度,通过最大化生成目标单词概率来估计最佳参数。实施流程如图2所示。本发明所述方法在视频内容描述模型的训练和测试过程中具体包括以下步骤:

步骤(1)对视频格式进行预处理。首先按照帧率的5%-10%将待描述视频转化为一系列图片集合,其次利用预先在1.2m图像分类训练集imagenet训练好的卷积神经网络googlenet和在mscoco图片分类训练集上训练好的fasterr-cnn模型提取每一帧图片的全局特征和局部特征。对于1024维的全局特征,取自googlenet卷积神经网络中pool5/7×7_s1层;对于4096维的局部特征,首先选取了输出层80个物体的最大置信度得分,我们根据这80个最大的置信度得分,选取了top-8个重要的局部对象,然后,根据这top-8个对象回归框的位置提取出该区域fc7层4096维的cnn特征;对于视频中的动态特征,采用预先在sport-1m视频数据集上训练好的c3d卷积神经网络,在连续几帧图片中提取视频中的动态特征,4096维的动态特征取自模型中全连接层fc6。

因为每一个待描述视频的总帧数不一样,为了后续操作方便,统一将所有帧均分成28组,并取每组的第一帧,所以每一个视频最后会有28个全局特征vg={vg1,…,vg28},、28*8个局部特征vl={vl18,…,vl28*8}和28个动态特征vm={vm1,…,vm28}。

利用级联的方法将全局特征和动态特征融合成一个全局-动态特征向量v[gm]i。计算方法如式(1)所示:

v[gm]i=[vgi,vmi](1)

其中,vgi表示全局特征,vmi表示动态特征,[vgi,vmi]表示全局特征和动态特征进行级联,级联后的全局-动态特征向量有5120维。

如图1所示为本发明时空注意力模型示意图,具体过程如下:

步骤(2)建立空间注意力模型。

我们利用空间注意力模型将每一帧图片上top-8个区域的特征{vli8,…,vli8}编码成视频长度的空间表征:

ψ(vl)={ψ1(vl),…ψj(vl)…,ψk(vl)})(2)

每个ψj(vl)是利用空间注意力模型得到的所有局部特征的权重和,即;

上式中,在lstm解码过程中的每个时间点t中被计算,我们称其为每个t的空间注意力权重。

其中空间注意力权重反映了每一帧上第j个局部特征和之前生成单词信息,也就是y1,…,yt-1的关联程度。因此,我们设计了以下计算公式用来计算将之前的隐藏状态ht-1和第j个局部特征作为输入:

ht-1表示之前生成的隐藏状态,其储存了t-1个时间点产生的单词信息,wa,ua,za是我们模型需要学习的参数,这些参数将被所有局部特征在整个训练过程中共享。

一旦每一帧图片上所有局部区域j=1,…,n的与t-1个生成单词的相关分数得到后,我们利用softmax函数对进行归一化操作后获得空间注意力权重

空间注意力模型使得lstm神经网络解码时能够选择性地关注每个时间点t每一帧图片上权重增加的局部特征,从而在视频描述中捕捉到更多的关键细节。

步骤(3)建立时间注意力模型

我们将视频长度的全局-动态特征和局部空间表征编码成句子长度的时间表征:

其中,每个为全局-动态时间表征和静态时间表征的静态融合,即:

上式中,表示全局-动态和局部时间表征级联。

每个是利用时间注意力模型得到的28个全局-动态特征和局部空间表征的权重和。

上式中,同样地,在lstm解码过程中的每个时间点t中被计算,我们分别称其为每个t的局部时间注意力权重和全局-动态时间注意力权重。反映了第i帧局部空间表征、全局-动态特征与之前生成单词信息,也就是y1,…,yt-1的关联程度。因此,我们设计了以下计算公式用来计算将之前的隐藏状态ht-1和第i帧全局-动态特征和局部空间表征分别作为输入:

ht-1表示之前生成的隐藏层状态,其储存了t-1个时间点产生的单词信息,wb,wc,ub,uc,zb,zc是我们模型需要学习的参数。

一旦所有帧i=1,…,k的全局-动态特征、局部空间表征与t-1个时间点生成单词的相关分数得到后,我们利用softmax函数分别对进行归一化操作后获得全局-动态时间注意力权重和局部时间注意力权重

步骤(4)用于将前面的时间表征进行解码。

在解码过程中,利用式(7)—式(13)计算的出每个时间点的时间表征即并结合人类给出的句子描述中的每个单词,在每个时间节点将特征和单词依次加入到lstm网络中。因为在训练视频描述模型训练阶段,是需要添加人类句子描述作为指导,所以总的训练节点是已知的,即人类描述句子的长度。整个训练过程是按照lstm中三个门和cell的计算来不断更新隐藏状态ht,每个ht中储存了t个时间点生成的所有单词信息。根据输入到lstm每一个神经单元信息的改变,本发明对每一个时间点的it,ot,ft,gt,ct,ht的基础公式做出相应改进,每一个时间节点的隐藏状态ht的计算方法如式(14)-(19)所示:

在每个时间节点将得到一个隐藏状态ht,其储存了之前时间节点产生的单词信息,将其从lstm网络中输出到前馈神经网络中,通过施加激活函数将其转化为r*v维的向量,r代表lstm网络的维度,v代表候选单词维度,最后利用softmax函数的多分类方法,从v选择概率最高的那一维的索引,对应到事先准备好的字典中,即可选择出每个时间节点应生成的单词。经过l个时间点,l表示该视频人类句子描述的长度,所以最后会得到l个ht={h1,…,hl},同时得到l个单词预测概率,因为训练阶段描述句子已知,所以目标函数是最大化生成单词的对数似然,也就是使得损失函数最小,即l个损失函数的和最小,所以通过梯度下降算法更新所需的训练参数直到损失函数的和最小。

目标函数计算方法如式(20)所示:

其中,m表示句子长度,是所有训练的参数集合。

通过梯度下降算法更新所有训练的参数直到损失函数最小,计算方法如式(21)、(22)所示:

其中,wk,bk代表第k个训练参数,η表示学习效率(一般取0.001),n表示n个参数。

步骤(5)的测试阶段,在该阶段中,不会传入人类描述句子,描述句子的内容和长度是未知的。训练后的视频内容描述模型运用beamsearch的方法,设定搜索范围k,在第一个时间节点设定初始单词索引-1(即零向量)输入到第一个时间节点,计算出当前状态h0,并根据h0和softmax函数算出当前节点可能产生的k个单词索引,并将该k个单词继续加入到下一个时间节点中,计算下一个时间节点可能产生的k个单词并和上一节点的对应单词组成序列。在大小为v的候选单词中每个单词的概率计算公式如式(23)所示:

其中,ht代表当前节点的隐藏状态,yt-1代表前一个时间节点由beamsearch搜索到的概率最大单词。

利用式(23)选出概率最大的k个单词索引,并添加到下一个时间节点中继续计算。如果在接下来的时间节点中,某一个由ki单词开头的序列搜索到索引为0的单词,则该序列结束搜索,搜索范围也减少为k-1。直到最后第ki个序列也搜索到索引为0的单词,则整个beamsearch过程结束。随后,在k个句子中选择累计损失最小的一句,将其每一个索引对应到事先准备好的字典中,对应输出相应单词,如果没有对应,则输出unk(未知),如果对应为0,则输出<eos>,即句子结束。

步骤(6)是对测试阶段生成的句子使用当前主流的机器评价方式进行打分,该方法主要涉及bleu,metero,cider等,该方法原理不在本发明技术范围内。根据评分结果,可对模型超参数和迭代次数做修改。

实施例

下面结合图2,给出视频内容描述具体训练和测试实施实例,详细计算过程如下:

(1)某一段视频共430帧,首先对视频格式进行预处理,按照帧率的10%将待描述视频转化为43帧有间隔的图片集合;

(2)利用预先训练好的卷积神经网络googlenet、fasterr-cnn和c3d分别提取出43张图片中的全局特征、局部特征以及整个视频的动态特征,并利用级联的方式按照式(1)所列方法,将全局特征和动态融合;

(3)按照式(2)-(5)所列方法,计算出每帧图片上局部特征的空间表征

(4)按照式(8)-(13)所列方法,分别计算出视频中的全局-动态特征和局部空间表征的时间表征,并按照(7)所列方法将全局-动态时间表征和局部时间表征融合成整个视频的时间表征

(5)按照(14)-(19)所列方法,在解码过程中的每个时间节点依次加入时间表征和人类句子描述,计算每一个时间节点的隐藏状态ht,第一个时间节点的h0是通过将融合后的全局-动态特征平均池化后得到;

(6)将lstm网络中每个时间节点得到的ht输入到前馈神经网络,施加激活函数将其转化为v=20000维的向量,按照(20)—(22)所列方法,利用随机梯度下降的方法使得损失函数最小,并求解出模型训练过程中的最佳参数集合;

(7)在模型测试阶段,不会传入人类描述,训练后的视频描述模型利用beamsearch的方法,设定搜索宽度为5,第一个单词索引设为-1(即零向量),将其代入(14)—(19)中计算每个时间节点的ht。根据式(23)选出概率最大的五个单词索引,和ht一起传入下一个时间节点继续搜索下5个可能单词。

(8)每当新一个单词出现索引0,即代表结束符<eos>时,则从搜索队列中去除,将其添加到候选句子队列中,同时搜索宽度减1。直到搜索宽度变为1且最后一个队列也搜索到索引为0的单词,则整个beamsearch过程结束。从5个候选句子队列中选出损失最小的一句作为该视频的描述。

(9)根据机器翻译评价方法如bleu、meteor和cider等对于步骤(8)中得到的句子进行评分,根据评分结果的优劣确定或调整视频内容描述模型的参数。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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