本发明属于视频描述生成技术领域,特别涉及一种基于预编码语义特征的视频描述生成方法。
背景技术:
随着信息与通信技术的快速发展,视频渐渐成为网络上最流行的信息交流载体。视频描述生成是近年来人工智能领域的研究热点,它在计算机视觉社区和自然语言处理社区倍受关注。对于一个给定的视频,该任务的目标是自动生成一个能将视频内容描述清楚并且完整通顺的句子。
视频比图像多了时间维度,因此视频描述生成任务除了需要识别出视频每帧的内容之外,还需要理解帧间关系,进而将内容与描述文字对应起来。目前,视频描述生成技术已应用在机器人和视频检索等领域。
由于这个问题是计算机视觉领域的热点任务,已有学者提出多种方法。例如,直接使用编码器-解码器方法生成句子,即使用卷积神经网络提取视频的每帧特征,再将特征输入长短期记忆网络编码器,然后从解码器生成视频描述。该方法仅使用了用于训练的视频数据集,用到的信息不足,故有一定的局限性。
技术实现要素:
为了克服上述现有技术的缺点,本发明的目的在于提供一种基于预编码语义特征的视频描述生成方法,用于生成一个句子,该句子语句通顺并准确地描述出一段视频包含信息。
为了实现上述目的,本发明采用的技术方案是:
一种基于预编码语义特征的视频描述生成方法,包括以下步骤:
对视频进行抽帧处理,并生成光流图;
利用152层的残差网络抽取视频的全局rgb特征;
利用多模态融合网络抽取视频的全局动作特征;
利用快速区域对象识别卷积神经网络识别出视频中的对象集,建立向量空间模型,将对象集转为局部对象特征;
将三种特征拼接生成预编码语义特征,输入长短期记忆网络进而生成输入视频的描述。
所述对视频进行抽帧处理,并生成光流图的具体方法为:
利用ffmpeg对视频进行抽帧处理,然后对相邻的每两帧抽取tvl1和warpedtvl1光流图。
所述利用152层的残差网络抽取视频的全局rgb特征的具体方法为:
在公开数据集imagenet上训练152层残差网络,即resnet152;
使用resnet152分别预测视频中抽出的帧,将网络的最后一个卷积层作为特征,具体方法为:
将所有的帧等分成8段;
每段取最中间一帧;
使用resnet152预测这8帧;
将得到的特征取平均得到视频的全局rgb特征。
所述利用多模态融合网络抽取视频的全局动作特征的具体方法为:
在公开数据集ucf101上训练tsn网络;
在公开数据集ucf101上训练c3d网络;
将抽取好的帧和光流图输入训练好的tsn网络和c3d网络中,分别得到tsn分数特征和c3d分数特征,具体方法为:
将所有的帧分成8段,每段取中间一帧,输入tsn空间网络,得到tsn空间网络分数特征;
将tvl1光流图和warpedtvl1光流图分别分成8段,每段取中间5张x方向光流图和y方向光流图,输入tsn时间网络,分别得到tsn时间网络tvl1分数特征和warpedtvl1分数特征;
将tsn空间网络分数特征和tsn时间网络分数特征进行线性融合,得到tsn网络分数特征;
将所有的帧每16帧为一段,输入c3d网络,得到c3d分数特征;
将tsn分数特征和c3d分数特征进行线性融合,得到多模态融合网络分数特征,称为全局动作特征。
所述利用快速区域对象识别卷积神经网络识别出视频中的对象集,建立向量空间模型,将对象集转为局部对象特征的具体方法为:
在公开数据集coco上训练快速区域对象识别卷积神经网络,即fasterr-cnn;
使用fasterr-cnn对视频中的帧进行对象识别,建立向量空间模型,将识别出的对象集转为局部对象特征,具体方法为:
将所有的帧分为8段,每段取中间一帧,使用fasterr-cnn识别出分数大于0.8的对象;
由于对象类别数为80,故建立80维特征向量,图像中出现某类别,则在特征向量中对应位置加1;
将8个特征向量求平均,得到局部对象特征。
所述将三种特征拼接生成预编码语义特征,输入长短期记忆网络进而生成输入视频的描述具体为:
将全局rgb特征、全局动作特征和局部对象特征进行拼接,得到预编码语义特征;
构建长短期记忆网络(lstm);
将预编码语义特征输入长短期记忆网络,进而输出句子,具体方法为:
训练时,利用现有视频数据集的描述,构造<预编码语义特征,视频描述>二元组,将<预编码语义特征,视频描述>二元组中的预编码语义特征作为长短期记忆网络的输入,将视频描述作为正确输出,使用梯度下降法优化目标函数,使用反向传播算法更新权值,进而训练长短期记忆网络;
测试时,将从测试视频中得到的预编码语义特征输入长短期记忆网络,该网络输出的句子即为该测试视频对应的描述。
与现有技术相比,本发明的有益效果是:能够充分利用公开的图像数据集训练分类残差网络;能够充分利用现有的视频数据集训练多模态融合网络;能够充分利用现有的对象识别数据集训练快速区域卷积神经网络。本发明充分利用了除用于生成视频描述的数据集之外大量公开数据集,这使得生成的视频描述更加准确。
附图说明
图1是一种基于预编码语义特征的视频描述生成方法的流程图。
图2是使用152层残差网络抽取全局rgb特征的网络的结构图。
图3是多模态融合网络的结构图。
图4是快速区域对象识别卷积神经网络的结构图。
图5是用于解码预编码语义向量的长短期记忆网络的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例详细说明本发明的实施方式。
本发明通过152层残差网络抽取视频的全局rgb特征,得到视频的场景等基本信息;然后利用多模态融合网络,抽取视频的全局动作特征,得到视频中的动作信息;接着利用快速区域卷积神经网络,识别出视频中的对象,得到视频中的包含的物体信息;最后将三种特征拼接得到预编码语义特征,利用长短期记忆网络将预编码语义特征转成描述。
一种基于预编码语义特征的视频描述生成方法,参见图1,该方法包括以下步骤:
101:对视频进行抽帧处理,并生成光流图;
102:利用152层的残差网络抽取视频的全局rgb特征;
103:利用多模态融合网络抽取视频的全局动作特征;
104:利用快速区域对象识别卷积神经网络识别出视频中的对象集,建立向量空间模型,将对象集转为局部对象特征;
105:将三种特征拼接生成预编码语义特征,输入长短期记忆网络进而生成输入视频的描述。
本发明实例通过步骤101至步骤105实现了使用句子对视频中的信息进行描述,从而达到快速理解视频内容和为视频检索提供文本的目的。
步骤101所述对视频进行抽帧处理,并生成光流图,即利用ffmpeg工具将视频进行抽帧处理,然后分别利用tvl1光流算法和warpedtvl1光流算法对帧进行光流图计算。
步骤102所述利用152层的残差网络抽取视频的全局rgb特征,该网络的结构图参见图2。本方法使用imagenet数据集上预训练的上好的resnet152网络抽取特征,取最后一层卷积层输出的2048维的向量作为图像特征。由于视频是由多帧图像组成的,所以不能直接对视频抽特征。因此先将每个视频平均分成8段,每段取中间一帧,然后将对每帧rgb图抽取resnet152特征向量,然后再求平均,得到视频的全局rgb特征。
步骤103所述利用多模态融合网络抽取视频的全局动作特征,该网络的结构图参见图3。首先在ucf101数据集上训练tsn网络的空间网络和时间网络,然后分别使用空间网络抽取rgb空间模态分数特征、使用两种时间网络抽取tvl1时间模态分数特征和warpedtvl1时间模态分数特征,再将特征进行线性融合,就得到了视频的tsn网络特征。接着在ucf101数据集上训练c3d网络,然后使用c3d网络抽取视频的时空模态分数特征。最后将tsn网络特征和c3d时空模态分数特征线性融合,得到视频的多模态融合网络特征。
步骤104所述利用快速区域对象识别卷积神经网络识别出视频中的对象集,建立向量空间模型,将对象集转为局部对象特征,该网络的结构参见图4。首先将图片输入预先训练好的卷积神经网络resnet152中,然后将resnet152的最后一层卷积层中的每个特征图分两路输入感兴趣区域池化层(regionofinterestpooling,roipooling)。一路作为区域候选网络(regionproposalnetwork,rpn)的输入,进而从rpn网络中得到roi的位置信息,再输入roipooling层;另一路直接输入roipooling层。roipooling层会根据每个roi的位置信息在最后一层卷积层上找到roi的特征,然后通过空间金字塔池化(spatialpyramidpooling,spp)将其转为固定长度的向量;将路信息一同输入分类器,即可得到图像中的所有对象。将视频分成8段,每段取中间一帧,用fasterr-cnn找出该帧中所有分数大于0.8的对象,再根据对象集建立向量空间,将图像的对象集转为特征向量,取8帧的特征向量的平均,即可得到视频的局部对象特征。
步骤105所述将三种特征拼接生成预编码语义特征,输入长短期记忆网络进而生成输入视频的描述,该长短期记忆网络的结构图参见图5。模型的输出分为训练和测试两个阶段,训练的目标输出词和测试时的输出词分别组成原文和译文,以下为了区分,训练时将模型的输出使用符号r来表示,测试时使用符号c来表示。测试时,将语义特征和开始符号分别映射后,输入解码器的第一个lstm单元,可以得到第一个输出的词;然后将第一个词输入第二个lstm单元得到第二个词;以此类推,一直到输出结束符号为止。
模型参数的求解采用最大似然估计,其定义如式(1)所示。
其中θ表示模型的参数,v表示输入的视频的特征向量序列,r表示原文,p(r|v;θ)表示当参数为θ输入为v时,输出是r的概率。
p(r|v;θ)可由链式法则对输出的正确单词r0,r1,…,rn的联合概率建模得到,如式(2)所示。
其中n为原文r的长度,t为时刻。
预测时,输出的各单词的概率由此时的lstm输出单元的值应用softmax函数得到,p(ci|yt)表示当lstm输出yt时,输出是ci的概率,其定义如式(3)所示,最大概率对应的单词即为此时的输出单词。
其中t表示时刻,ci表示输出的某个单词,yt表示t时刻lstm单元的输出,wct表示权重,vob表示词汇表。
本方法使用的损失函数(loss)是模型参数的对数似然之和的相反数,其定义为式(4)中的l(v,r)。训练时,对于模型的参数最小化l(v,r)的值,根据梯度进行反向传播。
其中v是视频的特征向量,r是原文,pt(rt|v;θ)表示视频向量为v参数为θ时,在t时刻输出词rt的概率。
以上对本发明所提供的一种基于预编码语义特征的视频描述生成方法进行了详细介绍,本文对本发明的原理进行了阐述,以上详细步骤的用于帮助理解本发明的方法及核心思想;同时,对于本领域的技术人员,根据本发明的思想,在具体的实现方式上均会有变化和改进之处,这些变化和改进均属于本发明的保护范围之内。
1.一种基于预编码语义特征的视频描述生成方法,其特征在于,包括以下步骤:
对视频进行抽帧处理,并生成光流图;
利用152层的残差网络抽取视频的全局rgb特征;
利用多模态融合网络抽取视频的全局动作特征;
利用快速区域对象识别卷积神经网络识别出视频中的对象集,建立向量空间模型,将对象集转为局部对象特征;
将三种特征拼接生成预编码语义特征,输入长短期记忆网络进而生成输入视频的描述。
2.根据权利要求1所述基于预编码语义特征的视频描述生成方法,其特征在于,所述对视频进行抽帧处理,并生成光流图的具体方法为:
利用ffmpeg对视频进行抽帧处理,然后对相邻的每两帧抽取tvl1和warpedtvl1光流图。
3.根据权利要求1所述基于预编码语义特征的视频描述生成方法,其特征在于,所述利用152层的残差网络抽取视频的全局rgb特征的具体方法为:
在公开数据集imagenet上训练152层残差网络,即resnet152;
使用resnet152分别预测视频中抽出的帧,将网络的最后一个卷积层作为特征;
将得到的特征取平均得到视频的全局rgb特征。
4.根据权利要求3所述基于预编码语义特征的视频描述生成方法,其特征在于,所述使用resnet152分别预测视频中抽出的帧的具体方法为:
将所有的帧等分成8段;
每段取最中间一帧;
使用resnet152预测这8帧。
5.根据权利要求1所述基于预编码语义特征的视频描述生成方法,其特征在于,所述利用多模态融合网络抽取视频的全局动作特征的具体方法为:
在公开数据集ucf101上训练tsn网络;
在公开数据集ucf101上训练c3d网络;
将抽取好的帧和光流图输入训练好的tsn网络和c3d网络中,分别得到tsn分数特征和c3d分数特征;
将tsn分数特征和c3d分数特征进行线性融合,得到多模态融合网络分数特征,称为全局动作特征。
6.根据权利要求5所述基于预编码语义特征的视频描述生成方法,其特征在于,所述将抽取好的帧和光流图输入训练好的tsn网络和c3d网络中,分别得到tsn分数特征和c3d分数特征的具体方法为:
将所有的帧分成8段,每段取中间一帧,输入tsn空间网络,得到tsn空间网络分数特征;
将tvl1光流图和warpedtvl1光流图分别分成8段,每段取中间5张x方向光流图和y方向光流图,输入tsn时间网络,分别得到tsn时间网络tvl1分数特征和warpedtvl1分数特征;
将tsn空间网络分数特征和tsn时间网络分数特征进行线性融合,得到tsn网络分数特征;
将所有的帧每16帧为一段,输入c3d网络,得到c3d分数特征。
7.根据权利要求1所述基于预编码语义特征的视频描述生成方法,其特征在于,所述利用快速区域对象识别卷积神经网络识别出视频中的对象集,建立向量空间模型,将对象集转为局部对象特征的具体方法为:
在公开数据集coco上训练快速区域对象识别卷积神经网络,即fasterr-cnn;
使用fasterr-cnn对视频中的帧进行对象识别,建立向量空间模型,将识别出的对象集转为局部对象特征。
8.根据权利要求7所述基于预编码语义特征的视频描述生成方法,其特征在于,使用fasterr-cnn对视频中的帧进行对象识别,建立向量空间模型,将识别出的对象集转为局部对象特征的具体方法为:
将所有的帧分为8段,每段取中间一帧,使用fasterr-cnn识别出分数大于0.8的对象;
由于对象类别数为80,故建立80维特征向量,图像中出现某类别,则在特征向量中对应位置加1;
将8个特征向量求平均,得到局部对象特征。
9.根据权利要求1所述基于预编码语义特征的视频描述生成方法,其特征在于,所述将三种特征拼接生成预编码语义特征,输入长短期记忆网络进而生成输入视频的描述具体为:
将全局rgb特征、全局动作特征和局部对象特征进行拼接,得到预编码语义特征;
构建长短期记忆网络(lstm);
将预编码语义特征输入长短期记忆网络,进而输出句子。
10.根据权利要求9所述基于预编码语义特征的视频描述生成方法,其特征在于,将预编码语义特征输入长短期记忆网络,进而输出句子的具体方法为:
训练时,利用现有视频数据集的描述,构造<预编码语义特征,视频描述>二元组,将<预编码语义特征,视频描述>二元组中的预编码语义特征作为长短期记忆网络的输入,将视频描述作为正确输出,使用梯度下降法优化目标函数,使用反向传播算法更新权值,进而训练长短期记忆网络;
测试时,将从测试视频中得到的预编码语义特征输入长短期记忆网络,该网络输出的句子即为该测试视频对应的描述。
技术总结