基于分层循环神经网络的视频摘要生成方法与流程

文档序号:17628572发布日期:2019-05-10 23:55阅读:199来源:国知局
基于分层循环神经网络的视频摘要生成方法与流程

本发明涉及一种视频摘要生成方法,特别涉及一种基于分层循环神经网络的视频摘要生成方法。



背景技术:

当今社会,随着摄像头的普及,视频技术也呈现出了爆炸性的增长,对于高效处理这些视频的技术,也产生了巨大的市场需求。视频摘要提供了一种高效的可以快速浏览大量视频数据的方式。通俗来讲,视频摘要是把原有的视频缩短简化成一个紧密的版本。

文献“summarytransfer:exemplar-basedsubsetselectionforvideosummarization,ieeeconferenceoncomputervisionandpatternrecognition,2016,pp.1059-1067.”公布了一种基于深度学习技术视频摘要方法。该方法通过将卷积神经网络(cnn)和循环神经网络(rnn)引入到了视频摘要中,利用cnn对输入的视频进行处理,提取出视频的深度特征,生成输入视频序列的特征矩阵序列,然后利用rnn对输入特征矩阵进行处理,通过rnn对每帧图像进行评分,按照最终评分高低来预测每一帧图像被选入到摘要中的概率。但是利用rnn对视频产生摘要的方案仅能对短时序的视频有较好效果,对于超过80帧的视频时序,随着网络长度的增加,权重的衰减,不能产生很好的摘要效果,视频时间越长,所生成的视频摘要的质量越低,同时利用rnn的方式非线性表征能力较差,计算消耗大。在这样的条件下,仅仅利用rnn来直接的对长时序视频进行视频摘要处理将具有非常大的局限性。



技术实现要素:

为了克服现有视频摘要生成方法实用性差的不足,本发明提供一种基于分层循环神经网络的视频摘要生成方法。该方法首先将输入的视频帧序列划分为不同的子序列,将划分出来的帧序列特征输入到第一层lstm中处理视频序列数据,再利用第二层lstm的输出计算每一段子镜头片段被选入视频摘要的置信度,利用神经网络学习中端到端训练方法,得到算法模型,利用得到的算法模型对测试视频进行测试,根据每帧最终的预测概率,选出关键帧,并将所有关键帧合成为视频,得到视频摘要。由于采用分层循环神经网络,可以减少视频摘要生成时间,并且能够对长时序视频进行建模,解决了背景技术无法处理超过80帧长时序视频的技术问题。非线性适应能力强,可以对多场景下采集视频进行处理。生成视频摘要准确性高。

本发明解决其技术问题所采用的技术方案:一种基于分层循环神经网络的视频摘要生成方法,其特点是包括以下步骤:

步骤一、将输入的视频帧序列(f1,f2,...,ft)划分为不同的子序列,记作不同的子镜头片段(f1,f2,...,fs),(fs+1,fs+2,...,f2s),…,(fm*s+1,fm*s+2,...,ft),其中fi表示视频第i帧的特征,t表示视频总共的帧数,m表示视频划分出来的不同子镜头片段数,s表示每一段子镜头片段的长度。同时提取视频帧的浅层和深度特征。对于浅层特征的提取,采用对视频帧进行均匀采样,并对采样后的每一帧同时提取颜色直方图特征、光流特征和sift特征。对于深度特征,采用googlenet提取每一帧的深度特征。将两种方式分别计算得到的帧序列特征,作为输入数据。

步骤二、将步骤一中划分出来的帧序列特征输入到第一层lstm中,使用第一层lstm处理视频序列数据,学习序列间的依赖关系。计算公式为τi=lstm(fi*s+1,fi*s+2,...,f(i+1)*s),其中,lstm(·)代表lstm的状态计算公式,τi表示第i个子镜头片段在经过lstm网络后最终的隐藏状态,每一个子镜头片段的最终隐藏状态中即描绘着与其他子镜头片段间的时序依赖,得到第i个子镜头片段的一个表征。不同子镜头片段经过第一层lstm计算后得到状态序列(τ1,τ2,...,τm)。

步骤三、将上述步骤计算得到的状态序列(τ1,τ2,...,τm)输入到第二层lstm,所述第二层lstm是双向lstm层,由一个前向lstm和另一个后向lstm共同构成,其中前向lstm的计算过程为后向lstm的计算过程为

步骤四、将第二层lstm的输出用来计算每一段子镜头片段被选入视频摘要的置信度。计算公式如下:其中,wp和bp是要学习的参数,用softmax将公式中最终计算得到的结果向量中每一个预测概率围限定到1以内,最终得到的结果pt是一个二维向量,其中每一个元素代表了第t段子镜头片段是否可以被选作关键镜头。

步骤五、利用神经网络学习中端到端训练方法,重复上述步骤二到步骤四,h-rnn网络待学习的目标函数为其中,n表示训练集中视频的数目,m(i)表示第i段视频中子镜头片段数,l(·)表示损失函数,用来衡量网络对每段输入得到的预测概率和标注概率之间的交叉熵。直到目标函数达到收敛,训练结束,得到算法模型。

步骤六、利用得到的算法模型对测试视频进行测试,根据每帧最终的预测概率,选出关键帧,并将所有关键帧合成为视频,得到视频摘要。选择通用综合评价指标f-measure对摘要结果进行衡量,公式如下:其中,p是分类准确率,r是召回率,α是平衡召回率和准确率的参数。

本发明的有益效果是:该方法首先将输入的视频帧序列划分为不同的子序列,将划分出来的帧序列特征输入到第一层lstm中处理视频序列数据,再利用第二层lstm的输出计算每一段子镜头片段被选入视频摘要的置信度,利用神经网络学习中端到端训练方法,得到算法模型,利用得到的算法模型对测试视频进行测试,根据每帧最终的预测概率,选出关键帧,并将所有关键帧合成为视频,得到视频摘要。由于采用分层循环神经网络,可以减少视频摘要生成时间,并且能够对长时序视频进行建模,解决了背景技术无法处理超过80帧长时序视频的技术问题。非线性适应能力强,可以对多场景下采集视频进行处理。生成视频摘要准确性比背景技术提升5%左右。

下面结合附图和具体实施方式对本发明作详细说明。

附图说明

图1是本发明基于分层循环神经网络的视频摘要生成方法的流程图。

图2是本发明方法中分层循环卷积神经网络结构图。

具体实施方式

参照图1-2。本发明基于分层循环神经网络的视频摘要生成方法具体步骤如下:

步骤1,输入数据特征计算。

首先将输入的视频分割成不同的子镜头片段,时间间隔选择为每30秒划分为一个子镜头,然后为了减少待处理数据的运算量,通过对输入视频进行均匀采样来减少数据冗余。即每隔0.5秒钟采取一帧视频,得到输入视频帧序列。

计算输入视频帧序列的浅层和深层特征。浅层特征由颜色直方图特征、光流特征和sift特征共同构成。深度特征由googlenet网络进行计算得到。

a)颜色直方图特征:颜色直方图可以是基于不同颜色空间和坐标系,选择使用最能直接对数字图像颜色空间进行表达的rgb颜色直方图。通过采用颜色量化的方法,将图像颜色空间划分为若干小的颜色空间,通过统计图像颜色落在每个小区间内的概率来得到每幅输入图像的颜色直方图特征。

b)光流特征:光流特征可以有效描绘运动物体在三维世界中的运动变化,本发明基于文献“determiningopticalflow[j].artificialintelligence,1981,pp.185-203”中提出的改进光流计算方法,利用图像序列灰度的时空微分来计算图像的每一像素点的光流。

c)sift特征:尺度不变特征变换,该方法提取的特征对图像旋转、缩放、亮度变化等保持了不变性,有利于在海量数据中进行快速特征匹配。具体计算方式为首先对原始图像进行尺度变化,以获取图像多尺度下尺度空间表达序列,生成图像的高斯差分金字塔,进行尺度空间的构建,尺度空间的表达式为:l(x,y,δ)=g(x,y,δ)*i(x,y),其中i(x,y)表示原始图像,g(x,y,δ)尺度空间可变的高斯函数,δ表示尺度空间的大小,*表示卷积运算,δ越大则表示图像越模糊。然后在尺度空间中通过高斯差分的方式找到稳定不变极值点,最后利用极值点进行空间你和处理,确定图像特征点的精确定位,最终得到sift特征向量。

d)googlenet提取深度特征:googlenet是基于inception结构设计出来的网络,其有效解决了海量数据处理过程中的过拟合、梯度消失和梯度爆炸等问题,同时更高效利用了计算资源,在相同的计算量下提取到更多特征,实验证明,对于处理大量视频的数据有着较大优势。具体操作为参考文献“goingdeeperwithconvolutions,inproceedingsoftheieeeconferenceoncomputervisionandpatternrecognition,2015,pp.1-9.”中提出的googlenet网络,基于tensorflow深度学习框架搭建网络框架,选择基于tensorflow框架的预训练模型,然后将原始图像输入网络,经过网络的卷积、采样、池化和激活等系列操作,得到输入图像的深度特征向量。

步骤2,第一层lstm的状态特征计算。

利用输入特征序列,学习不同帧间依赖关系。τi=lstm(fi*s+1,fi*s+2,...,f(i+1)*s),其

中lstm(·)代表lstm的状态计算公式,τi表示第i个子镜头片段在经过lstm网络后最终的隐藏状态,lstm内部各状态计算公式如下:

it=σ(wixxt+uihht-1+bi)(1)

ft=σ(wfxxt+ufhht-1+bf)(2)

ot=σ(woxxt+uohht-1+bo)(3)

gt=φ(wgxxt+ughht-1+bg)(4)

ct=ft⊙ct-1+it⊙gt(5)

ht=ot⊙φ(ct)(6)

其中,ht是lstm中的隐藏状态,ct是记忆单元,t表示第t步,φ表示softmax激活函数,σ表示sigmoid激活函数,所有的ws,us是待学习的权重矩阵,bs是偏差。it,ft和ot分别表示lstm中的核心结构:输入门,遗忘门和输出门。⊙是lstm中的逻辑门函数操作。通过上述计算,得到第一层lstm之后的状态特征。

步骤3,第二层双向lstm特征计算。

第一层计算之后,输出一系列状态特征ht,将这些序列记作(τ1,τ2,...,τm),将其输入第二层双向lstm中。利用双向lstm网络,同时视频进行正向学习和反向学习。其中前向lstm计算时利用后向lstm计算时利用其中lstm的中间计算步骤与步骤2中所述相同。前向和后向共同计算,使得网络更有效学习输入视频不同子镜头片段帧之间和相同子镜头片段内部帧之间的依赖关系。

步骤4,摘要概率预测。

对输出的帧序列的特征进行公式化处理,计算公式如下:这样,通过综合前向输出结果、后向输出结果、以及第一层lstm中计算得到的结果,共同给出每帧视频可否被选作关键帧的概率。因为是给出概率预测,所以激活函数选用的是softmax。

步骤5,网络训练。

训练过程采用基于随机梯度下降的方式对目标函数进行优化。输入数据为多公开数据集构成的联合数据集,基于实验结果,为了获取更稳定的计算性能和更少的信息丢失,将每层中lstm长度设置为40,每次同时训练的子镜头片段为64,每个子镜头片段时长为30秒,隐藏层单元个数为128。

步骤6,得到视频摘要并给出评价指标。

根据每帧图像被选做关键帧的概率预测,将预测概率大于0.5的标记为关键帧,并最终将所有关键帧合成为视频,给出视频摘要。评价指标选择通用的综合评价指标f-measure进行衡量,其计算过程是对准确率和召回率的加权综合,公式如下:其中p是分类准确率,r是召回率,α是平衡召回率和准确率的参数,如果认为准确率更重要些,就可以将α值设置为小于1,如果召回率更重要些,就调整α值大于1。为了使生成的视频摘要尽可能完整描述原始输入视频,将召回率设置较高,即α设置为0.6。

本发明的效果通过以下仿真实验作进一步的说明:

1.仿真条件。

本实施例在中央处理器为i5-45903.2ghzcpu、内存16g、windows10操作系统上,利用matlab软件进行的仿真,网络搭建部分是基于tensorflow开源框架。使用的是公开数据集summe,tvsum,和med,将这三个数据集合称为联合数据集。

2.仿真内容。

首先使用训练集按照具体实施方式中的步骤对网络进行特征学习,然后使用联合数据集中测试集内视频序列进行测试,得到视频摘要并统计综合评价指标f-measure。

为了证明算法的有效性,选择目前通用的视频摘要算法作为对比算法,包括文献“summarytransfer:exemplar-basedsubsetselectionforvideosummarization,ieeeconferenceoncomputervisionandpatternrecognition,2016,pp.1059-1067.”提出的summarytransfer算法,文献“quasireal-timesummarizationforconsumervideos,proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition,2014,pp.2513-2520.”中提出的livelight算法,文献“videosummarizationbylearningsubmodularmixturesofobjectives,proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition,2015,pp.3090-3098.”中提出的lsmo算法。为了使对比更加详明,对于所有算法,计算其在视频提取了浅层特征和深度特征下的效果,对比结果如表1所示。

表1

从表1可见,通过提取视频的深度特征,不同数据集下各方法性能都有显著提升,对比于当下流行的summarytransfer方法,本发明方法无论在仅利用浅层特征还是利用深度特征后,检测效果都有较大提升,尤其利用到视频深度特征后,在3个不同数据集下测试指标分别提升了3.4%,9.8%和2.4%。比背景技术生成的视频摘要结果具有更高的准确性,更有效的学习了输入视频不同片段之间的依赖关系,同时对tvsum的长时序数据集的视频摘要结果提升最为显著。此外,多数据集下测试结果的提升也表明了算法的鲁棒性,较强的非线性表征能力,对多场景下视频数据都能产生较为明显效果提升。通过以上仿真实验可以证明本发明的有效性。

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