一种基于深度学习和概率图模型的视频描述生成方法技术领域
本发明属于视频描述生成技术领域,特别涉及一种基于深度学习和概率图模型的
视频描述生成方法。
背景技术
随着互联网的快速发展,文本、语音、图像和视频的等多媒体数据进入了大爆炸时
代。装有丰富传感器的智能设备的普及,推动了用户生成内容的发展,生成数据的门槛变得
越来越低,这使得互联网公司存储的数据量成指数型增长。海量的数据,为科研和应用提供
了基础条件。新兴的众包手段,为模型训练提供了数据集,使得数据分析进入了一个全新的
阶段。
在数据量如此巨大的时代,吸收流媒体中的信息的速度变得非常重要。相对于文
本和图像来说,视频数据增加了时间维度,因此理解起来更加耗时。视频描述生成任务将一
个简单的视频片段转化为一句话描述,它有效地加快了对视频的理解速度。更进一步,还能
将文本描述转化成语音,进而进行语音提示,在紧急情况下还可以通知相应人员做出快速
反应。它在人机交互和机器人领域,都有非常广泛的应用。
如何快速地在海量数据中检索目标并进行分析,是信息检索领域的一个经典问
题。目前,谷歌、百度等公司已经在文本检索方面取得了巨大的成就,并已成为主流的文本
搜索引擎。在图像检索领域,这两家公司也推出了初步的产品。然而,在视频检索领域,尚未
有知名公司推出基于视频内容的检索的系统,只有基于视频标签和标题的检索系统,例如
优酷、土豆等。当新增视频时,前者不需要人工对视频进行标签和标题标注,而后者需要。视
频描述生成任务自动地将视频内容精确地转为文字描述,它可以取代人工标注的标签和标
题,通过这种方法就将视频检索问题转换成了文本检索的问题。
由于这个问题是计算机视觉领域的热点任务,因此已有学者提出各种各样的方
法。例如,直接使用卷积神经网络提取视频的特征,生成特征向量,然后再将特征向量输入
长短期记忆网络,进而生成视频描述。该方法仅使用了用于训练的视频数据集,使用的额外
信息不足,故有一定的局限性。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种基于深度学习和概率
图模型的视频描述生成方法,用于准确地用一句话描述出一段视频包含信息。
为了实现上述目的,本发明采用的技术方案是:
一种基于深度学习和概率图模型的视频描述生成方法,包括以下步骤:
利用现有的图像数据集训练快速区域对象识别卷积神经网络模型;
利用现有的视频数据集训练动作识别卷积神经网络模型;
对视频进行抽帧处理,并分别使用快速区域对象识别卷积神经网络模型和动作识
别卷积神经网络模型识别出视频中的对象和动作;
通过使用条件随机场找到最大概率的<对象,动作,对象>主谓宾三元组;
将主谓宾三元组输入长短期记忆网络进而输出视频的描述。
所述利用现有的图像数据集训练快速区域对象识别卷积神经网络模型具体为:
利用现有的图像数据集,构造<图像,对象集>二元组,将所有二元组作为训练集,
训练快速区域对象识别卷积神经网络模型。
所述利用现有的视频数据集训练动作识别卷积神经网络模型具体为:
利用现有的动作数据集,构造<视频,动作>二元组,将所有二元组作为训练集,训
练动作识别神经网络模型。
所述对视频进行抽帧处理,并分别使用快速区域对象识别卷积神经网络模型和动
作识别卷积神经网络模型识别出视频中的对象和动作的步骤具体为:
利用视频抽帧工具,将视频抽帧,生成图像集;
将图像集输入快速区域对象识别卷积神经网络模型,识别出每个图像中的所有对
象,进而得到对象集;
将图像集输入动作识别卷积神经网络模型,识别出所有该视频对应的动作。
所述通过使用条件随机场找到最大概率的<对象,动作,对象>主谓宾三元组的步
骤具体为:
构造生成主谓宾三元组的条件随机场;
利用现有的语料学习条件随机场的参数;
使用循环信念传播算法根据输入的对象集和动作进行推断,从而得到最大概率的
<对象,动作,对象>主谓宾三元组。
所述将主谓宾三元组输入长短期记忆网络进而输出视频的描述的步骤具体为:
构建长短期记忆网络;
利用现有视频数据集的描述,构造<主谓宾三元组,视频描述>二元组;
将<主谓宾三元组,视频描述>二元组中的主谓宾三元组作为长短期记忆网络的输
入,将视频描述作为正确输出,使用梯度下降法优化目标函数,使用反向传播算法更新权
值,进而训练长短期记忆网络;
将从测试视频中得到的主谓宾三元组输入长短期记忆网络,该网络输出的句子即
为该测试视频对应的描述。
与现有技术相比,本发明的有益效果是:能够充分利用现有的图像数据集训练快
速区域卷积神经网络模型;能够充分利用现有的视频数据集训练动作识别卷积神经网络;
能够充分利用现有的语料库训练条件随机场和长短期记忆网络。本发明充分利用了除用于
生成视频描述的训练集之外额外数据,这使得生成的视频描述更加准确。
附图说明
图1是一种基于深度学习和概率图模型的视频描述生成方法的流程图。
图2是快速区域卷积神经网络的结构图。
图3是动作识别神经网络的结构图。
图4是生成主谓宾三元组的条件随机场。
图5是长短期记忆网络在时间维度上展开的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例详细说明
本发明的实施方式。
本发明通过快速区域卷积神经网络和动作识别卷积神经网络,识别出视频中的动
作和对象,初步理解视频所包含的信息;然后再用条件随机场找到概率最大的主谓宾三元
组,去除影响判断结果的噪声对象和动作;最后利用长短期记忆网络将主谓宾三元组转成
描述。
一种基于深度学习和概率图模型的视频描述生成方法,参见图1,该方法包括以下
步骤:
101:利用现有的图像数据集训练快速区域对象识别卷积神经网络模型;
102:利用现有的视频数据集训练动作识别卷积神经网络模型;
103:对视频进行抽帧处理,并分别使用快速区域对象识别卷积神经网络模型和动
作识别卷积神经网络模型识别出视频中的对象和动作;
104:通过使用条件随机场找到最大概率的<对象,动作,对象>主谓宾三元组;
105:将主谓宾三元组输入长短期记忆网络进而输出视频的描述。
本发明实例通过步骤101-步骤105实现了使用自然语言对视频中的信息进行描
述,从而达到快速理解视频内容和加快视频检索速度的目的。
步骤101所述利用现有的图像数据集训练快速区域对象识别卷积神经网络模型,
该网络结构图参见图2。首先将图片输入预先训练好的卷积神经网络AlexNet中,然后将
AlexNet的最后一层卷积层中的每个特征图分两路输入感兴趣区域池化层(Region of
Interest pooling,RoI pooling)。一路作为区域候选网络(Region Proposal Network,
RPN)的输入,进而从RPN网络中得到RoI的位置信息,再输入RoI pooling层;另一路直接输
入RoI pooling层。RoI pooling层会根据每个RoI的位置信息在最后一层卷积层上找到RoI
的特征,然后通过空间金字塔池化(Spatial Pyramid Pooling,SPP)将其转为固定长度的
向量。
网络的训练主要分为以下四步:
1)单独训练虚线部分网络,该步骤需要先用ImageNet上预先训练的模型初始化网
络的卷积层部分,然后再在该网络上进行端到端的微调,训练出能抽取RoI的RPN网络。
2)用步骤1)训练好的RPN网络输出的RoI作为RoI Production,训练除RPN网络之
外的整个网络,该步骤也需要用ImageNet上预先训练的模型初始化网络卷积层部分。
3)再次训练虚线部分网络,此时固定卷积层部分参数为步骤2)得到的参数,作为
最终参数,只对RPN网络的参数进行微调。
4)固定卷积层部分参数为步骤2)得到的参数,作为最终参数,然后用步骤3)训练
好的RPN网络输出的RoI作为RoI Production,再对虚线部分之外的部分进行训练。
步骤102所述利用现有的视频数据集训练动作识别卷积神经网络模型,该网络的
结构图参见图3。首先将图像集中所有图像通过中心裁剪或缩放的方式将大小调整为320*
240;然后从图像集中抽取灰度特征、水平梯度特征、竖直梯度特征、水平光流特征和竖直光
流特征,其中灰度特征、水平梯度特征和竖直梯度特征只需要从单幅图像中即可获取,而水
平光流特征和竖直光流特征需要根据相邻的图像才能得到,因此灰度特征、水平梯度特征
和竖直梯度特征各有20张特征图,水平光流特征和竖直光流特征各有19张特征图,共98张
特征图,这些特征图连起来可看成是一个大小为320*240*98的特征立方体,即图3中的F层;
接着使用2个21*21*7的卷积核,对大小为320*240*98的立方体进行卷积,生成两组大小为
300*220*68的立方体;再然后对这两组立方体的前两个维度进行大小为2*2的池化,方式为
Max Pooling,生成两组大小为150*110*68的立方体。后面两次卷积和池化即生成C2,P2,C3,
P3的过程和上述步骤类似,这里就不再赘述。
网络训练过程分为以下两步:
1)抽取视频的灰度特征、水平梯度特征、竖直梯度特征、水平光流特征和竖直光流
特征,构成五个特征立方体。
2)将特征立方体输入动作卷积神经网络,进行端到端训练。
步骤103所述对视频进行抽帧处理,并分别使用快速区域对象识别卷积神经网络
模型和动作识别卷积神经网络模型识别出视频中的对象和动作,即将测试视频抽帧后,输
入训练好的图2所示的快速区域卷积神经网络和图3所示的动作识别卷积神经网络,网络将
分别输出测试视频包含的对象和动作。
步骤104所述通过使用条件随机场找到最大概率的<对象,动作,对象>主谓宾三元
组,该条件随机场的结构图参见图4。该条件随机场由y1,y2,y3和X组成,所有节点两两相连。
三个节点y1,y2,y3分别表示主语、谓语和宾语,节点X是生成的对象集和动作集,y1,y3取值于
X中对象集Xobj,y2取值于X中的动作集Xact。
该条件随机场的能量为状态能量与转移能量之和,其定义如式(1)所示。
![]()
其中Ep是节点间的转移能量,由转移特征得到;Eu是节点的状态能量,由状态特征
得到。
转移特征为式(2)、(3)和(4)所示。
tj(y1,y2,X,1)=frequency(y1,y2) (2)
tj(y2,y3,X,2)=frequency(y2,y3) (3)
tj(y1,y3,X,3)=frequency(y1,y3) (4)
其中frequency(y1,y2)表示在语料库的所有句子中,名词y1出现在动词y2前面的
频率;frequency(y2,y3)表示在语料库的所有句子中,动词y2出现在名词y3前面的频率;
frequency(y1,y3)表示在语料库的所有句子中,名词y1出现在名词y3前面的频率。yi在不满
足词性条件时,frequency值均为0。
定义yi的状态特征为式(5)所示。
![]()
其中k表示对象或动作在X中的序号,score(k)表示从视频中识别出的对象k或动
作k的分数。
取以e为底的指数函数作为势函数,将式(1)所示的能量作为势函数的输入,再进
行规范化,即可得到该条件随机场的条件概率,如式(6)所示。最佳三元组即为该式取得最
大值时对应的y1,y2,y3。
![]()
其中Z是规范化因子,是所有可能的标记序列的势函数之和。i是状态的序号,yi是
第i个标记变量,j是转移的序号,k是yi可能的取值的编号,λj是转移特征tj的权值,μk是状
态特征sk的权值,λj参数和μk参数需要通过训练得到。
该条件随机场可以使用梯度上升法训练,使用循环信念传播(Loopy Belief
propagation,LBP)算法进行推断。
步骤105所述将主谓宾三元组输入长短期记忆网络进而输出视频的描述,该网络
在时间维度上展开的结构图参见图5。该模型前三个单元的输入分别为主语、谓语和宾语,
通过这三个单元可得到该语义表示的向量s(2),然后将s(2)和开始符号的One Hot向量输
入第四个单元的隐藏层,进而得到视频描述的第一个词w0,再将w0输入下一个单元,直到输
出结束符号则停止,将所有输出的单词连接起来就得到输入视频的描述。
令t表示时刻,w(t)表示输入向量,y(t)表示输出向量,s(t)表示当前隐藏层,s(t-
1)表示上一时刻的隐藏层,U,V,W分别是w(t),s(t),s(t-1)的权值。该单元将上一个单词转
为One Hot向量w(t)后输入网络,输出向量y(t),它的第i维表示下一个单词是第i个词的概
率,根据y(t)中值最大的维度即可得到概率最大的下一个单词。
s(t)的更新过程如式(7)所示,y(t)的更新过程如式(8)所示。
s(t)=sigmoid(Uw(t)+Ws(t-1)) (7)
y(t)=softmax(Vs(t)) (8)
其中
zj表示向量z第j维的值。
以上对本发明所提供的一种基于深度学习和概率图模型的视频描述生成方法进
行了详细介绍,本文对本发明的原理进行了阐述,以上详细步骤的用于帮助理解本发明的
方法及核心思想;同时,对于本领域的技术人员,根据本发明的思想,在具体的实现方式上
均会有变化和改进之处,这些变化和改进均属于本发明的保护范围之内。