视频分类的方法、信息处理的方法以及服务器
本申请要求于2017年9月15日提交中国专利局、申请号2017108336688、发明名称为“视频分类的方法、信息处理的方法以及服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及计算机技术领域,尤其涉及视频分类技术。
背景技术
随着网络多媒体技术的飞速发展,各式各样的多媒体信息不断涌现。越来越多的用户习惯于在网络上观看视频,为了使用户能够从大量的视频中选择自己想观看的内容,服务器通常会对视频进行分类,视频分类对于实现视频的管理以及兴趣推荐具有十分重要的作用。
目前所采用的视频分类方法主要为,先对待标记视频中的每一个视频帧进行特征提取,然后通过平均特征方法将帧级别的特征变换为视频级别的特征,最后将视频级别的特征传输到分类网络中进行分类。
然而,在目前的视频分类方法中,仅采用平均特征方法对帧级别的特征进行变换是较为单一的,在对视频进行分类的过程中,忽略了其他维度的变化对视频帧特征变换的影响,不利于保证视频分类的准确性。
发明内容
本发明实施例提供了一种视频分类的方法、信息处理的方法以及服务器,在对视频进行分类的过程中,还考虑到视频在时间维度上的特征变化,从而能够更好地表达视频内容,提高视频分类的准确率,提升视频分类的效果。
有鉴于此,本发明第一方面提供了一种视频分类的方法,该方法由计算机设备执行,包括:
获取待处理视频,其中,所述待处理视频包含多个视频帧,每个视频帧对应一个时间特征;
根据时间特征采样规则对所述待处理视频进行采样,并获取至少一个视频帧特征序列,其中,所述时间特征采样规则为时间特征与视频帧特征序列之间的对应关系;
通过第一神经网络模型对所述至少一个视频帧特征序列进行处理,得到所述至少一个视频帧特征序列所对应的特征表达结果;所述第一神经网络模型为递归神经网络模型;
通过第二神经网络模型对所述至少一个视频帧特征序列所对应的特征表达结果进行处理,得到所述至少一个视频帧特征序列所对应的预测结果;
根据所述至少一个视频帧特征序列所对应的预测结果确定所述待处理视 频的类别。
本发明第二方面提供了一种信息处理的方法,该方法由计算机设备执行,包括:
获取待处理视频,其中,所述待处理视频包含多个视频帧,每个视频帧对应一个时间特征;
根据时间特征采样规则对所述待处理视频进行采样,并获取至少一个视频帧特征序列,其中,所述时间特征采样规则为时间特征与视频帧特征序列之间的对应关系;
通过第一神经网络模型对所述至少一个视频帧特征序列进行处理,得到所述至少一个视频帧特征序列所对应的特征表达结果;所述第一神经网络模型为递归神经网络模型;
通过第二神经网络模型对所述至少一个视频帧特征序列所对应的特征表达结果进行处理,得到所述至少一个视频帧特征序列所对应的预测结果,其中,所述预测结果用于确定所述待处理视频的类别。
本发明第三方面提供了一种服务器,包括:
第一获取模块,用于获取待处理视频,其中,所述待处理视频包含多个视频帧,每个视频帧对应一个时间特征;
第二获取模块,用于根据时间特征采样规则对所述第一获取模块获取的所述待处理视频进行采样,并获取至少一个视频帧特征序列,其中,所述时间特征采样规则为时间特征与视频帧特征序列之间的对应关系;
第一输入模块,用于通过第一神经网络模型对所述第二获取模块获取的所述至少一个视频帧特征序列进行处理,得到所述至少一个视频帧特征序列所对应的特征表达结果;所述第一神经网络模型为递归神经网络模型;
第二输入模块,用于通过第二神经网络模型对所述第一输入模块输入后得到的所述至少一个视频帧特征序列所对应的特征表达结果进行处理,得到所述至少一个视频帧特征序列所对应的预测结果,其中,所述预测结果用于确定所述待处理视频的类别。
本发明第四方面提供了一种服务器,包括:存储器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,具体包括如下步骤:
获取待处理视频,其中,所述待处理视频包含多个视频帧,每个视频帧对应一个时间特征;
根据时间特征采样规则对所述待处理视频进行采样,并获取至少一个视频帧特征序列,其中,所述时间特征采样规则为时间特征与视频帧特征序列之间的对应关系;
通过第一神经网络模型对所述至少一个视频帧特征序列进行处理,得到 所述至少一个视频帧特征序列所对应的特征表达结果;所述第一神经网络模型为递归神经网络模型;
通过第二神经网络模型对所述至少一个视频帧特征序列所对应的特征表达结果进行处理,得到所述至少一个视频帧特征序列所对应的预测结果,其中,所述预测结果用于确定所述待处理视频的类别;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
本发明的第五方面提供了一种计算机可读存储介质,所述计算机存储介质用于存储程序代码,所述程序代码用于执行上述各方面所述的方法。
本发明的第六方面提供了一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,提供了一种信息处理的方法,首先计算机设备获取待处理视频,其中,待处理视频包含多个视频帧,每个视频帧对应一个时间特征,然后根据时间特征采样规则对待处理视频进行采样,并获取至少一个视频帧特征序列,其中,时间特征采样规则为时间特征与视频帧特征序列之间的对应关系,计算机设备通过第一神经网络模型对至少一个视频帧特征序列进行处理,得到至少一个视频帧特征序列所对应的特征表达结果,该第一神经网络模型为递归神经网络模型,最后计算机设备通过第二神经网络模型对至少一个视频帧特征序列所对应的特征表达结果进行处理,得到至少一个视频帧特征序列所对应的预测结果,预测结果用于确定待处理视频的类别。通过上述方式,在对视频进行分类的过程中,还考虑到视频在时间维度上的特征变化,从而能够更好地表达视频内容,提高视频分类的准确率,提升视频分类的效果。
附图说明
图1为本发明实施例中信息处理的架构示意图;
图2为本发明实施例中信息处理的方法一个实施例示意图;
图3为本发明实施例中待处理视频的一个示意图;
图4为本发明实施例中具有意念结构的卷积神经网络示意图;
图5为本发明实施例中第一神经网络模型的一个结构示意图;
图6为本发明实施例中第二神经网络模型的一个结构示意图;
图7为本发明实施例中服务器一个实施例示意图;
图8为本发明实施例中服务器另一个实施例示意图;
图9为本发明实施例中服务器另一个实施例示意图;
图10为本发明实施例中服务器另一个实施例示意图;
图11为本发明实施例中服务器另一个实施例示意图;
图12为本发明实施例中服务器另一个实施例示意图;
图13为本发明实施例中服务器另一个实施例示意图;
图14为本发明实施例中服务器另一个实施例示意图;
图15为本发明实施例中服务器一个结构示意图。
具体实施方式
本发明实施例提供了一种视频分类的方法、信息处理的方法以及服务器,在对视频进行分类的过程中,还考虑到视频在时间维度上的特征变化,从而能够更好地表达视频内容,提高视频分类的准确率,提升视频分类的效果。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本方案主要用于提供视频内容分类服务,在后台计算机设备对视频进行特征提取,时间序列建模与特征压缩,最后通过混合专家模型对视频特征进行分类,从而实现在计算机设备对视频进行自动化分类与标签。可以将本方案部署在视频类网站,为视频类网站中视频添加关键字词,还可以用于快速搜索与匹配内容,此外,又可以用于视频个性化推荐。
为了便于介绍,请参阅图1,图1为本发明实施例中信息处理的架构示意图,如图1所示,首先,计算机设备获取待处理视频,从图1可以看出,待处理视频包含了多个视频帧,而且每个视频帧对应一个时间特征,不同的时间特征可以用t来表示。接下来,计算机设备采用卷积神经网络对待处理视频中的每个视频帧进行处理,得到每个视频帧所对应的时间特征,然后计算机设备根据每个视频帧所对应的时间特征,确定待处理视频的时间特征序列,该时间特征序列也就是帧级别的深度学习表达。
紧接着,请继续参阅图1,计算机设备可以根据时间特征采样规则对待处理视频进行采样,其中,时间特征采样规则是指以不同帧率对视频特征在时间维度上进行采样,并获取至少一个视频帧特征序列,这些视频帧特征序列对应不同的时间尺度。计算机设备在将不同时间尺度对应的视频帧特征序列输入分别输入至双向递归神经网络,得到至少一个视频帧特征序列所对应的特征表达结果,该特征表达结果即为时间尺度上的视频特征表达。最后,计算机设备将所有的特征表达结果输入至第二神经网络,即混合专家模型中,并得到每个视频帧特征序列所对应的预测结果,根据这些预测结果可以确定待处理视频的类别,以此来对待处理视频进行分类。
在常见的视频数据中,用户常常会对视频信息进行描述、评论以及提供个性化的标签数据,由此形成与在线视频相关的丰富的文本信息。这些文本信息也可以作为视频分类的依据。
下面以服务器作为执行主体,对本发明中信息处理的方法进行介绍,应理解,本发明中信息处理的方法除了可以应用于服务器外,还可以应用于其他计算机设备,请参阅图2,本发明实施例中信息处理的方法一个实施例包括:
101、获取待处理视频,其中,待处理视频包含多个视频帧,每个视频帧对应一个时间特征;
本实施例中,服务器先要获取待处理视频,具体地,请参阅图3,图3为本发明实施例中待处理视频的一个示意图,待处理视频包含了多个视频帧,如图3中每张图即为一个视频帧,每个视频帧会对应一个时间特征。
其中,由于待处理视频对应于一段播放时间,因此每一帧视频帧都对应不同的播放时刻,假设待处理视频中第一个视频帧的时间特征为“1”,那么第二个视频帧的时间特征为“2”,以此类推,第T个视频帧的时间特征为“T”。
102、根据时间特征采样规则对待处理视频进行采样,并获取至少一个视频帧特征序列,其中,时间特征采样规则为时间特征与视频帧特征序列之间的对应关系;
本实施例中,接下来,服务器需要根据时间特征采样规则对该待处理视频进行采样处理。其中,时间特征采样规则中包含了预先设定的时间特征和视频帧特征序列之间的关系;在实际应用中,可以获取一个视频帧特征序列,也可以获取至少两个不同时间尺度的视频帧特征序列;对应于不同时间尺度的视频帧特征序列,其中所包括的每个视频帧特征对应的时间特征的数量不同,相应地,对应于不同的时间尺度的视频帧特征序列的长度也不同。例如,一个待处理视频共有1000个视频帧,这1000个视频帧分别对应1至1000的时间特征,如果时间特征采样规则为每个时间特征对应一个视频帧特征,那么待处理视频的1000个时间特征将对应1000个视频帧特征,相应地,由这1000个视频帧特征构成的视频帧特征序列的长度为1000。如果时间特征采样规则为每100个时间特征对应一个视频帧特征,那么待处理视频的1000个时间特征将对应10个视频帧特征,相应地,由这10个视频帧特征构成的视频帧特征序列的长度为10。以此类推,此处不作赘述。
103、通过第一神经网络模型对所述至少一个视频帧特征序列进行处理,得到所述至少一个视频帧特征序列所对应的特征表达结果;其中,每个视频帧特征序列各自对应有一个特征表达结果;
本实施例中,服务器在得到至少一个视频帧特征序列之后,可以分别将不同时间尺度所对应的视频帧特征序列输入至第一神经网络模型,该第一神经网络模型为递归神经网络模型,然后由该第一神经网络模型对输入的至少 一个视频帧特征序列进行递归处理,相应地输出各个视频帧特征序列的特征表达结果。
其中,不同的时间尺度也就是不同的视频帧特征序列长度,如步骤102中所介绍的,假设视频的总长度为T,如果每个时间特征对应一个视频帧特征,那么就是视频帧特征序列长度就是T/1。如果每10个时间特征对应一个视频帧特征,那么视频帧特征序列长度就是T/10。
104、通过第二神经网络模型对至少一个视频帧特征序列所对应的特征表达结果进行处理,得到至少一个视频帧特征序列所对应的预测结果,其中,预测结果用于确定待处理视频的类别。其中,每个视频帧特征序列各自对应有一个预测结果;本实施例中,服务器可以分别将每个视频帧特征序列所对应的特征表达结果输入至第二神经网络模型,然后经第二神经网络模型对输入的各个特征表达结果进行处理后,输出各个特征表达结果所对应的预测结果。最后,服务器可以根据预测结果来确定待处理视频的类别。
可以理解的是,待处理视频的类别可以有“体育”、“新闻”、“音乐”“动漫”和“游戏”等,此处不做限定。
本发明实施例中,提供了一种信息处理的方法,首先服务器获取待处理视频,其中,待处理视频包含多个视频帧,每个视频帧对应一个时间特征,然后根据时间特征采样规则对待处理视频进行采样,并获取至少一个视频帧特征序列,其中,时间特征采样规则为时间特征与视频帧特征序列之间的对应关系,服务器再将至少一个视频帧特征序列输入至第一神经网络模型,得到至少一个视频帧特征序列所对应的特征表达结果,该第一神经网络模型为递归神经网络模型,最后服务器将至少视频帧特征序列所对应的特征表达结果输入至第二神经网络模型,得到每个视频帧特征序列所对应的预测结果,预测结果用于确定待处理视频的类别。通过上述方式,在对视频进行分类的过程中,还考虑到视频在时间维度上的特征变化,从而能够更好地表达视频内容,提高视频分类的准确率,提升视频分类的效果。
可选地,在上述图2对应的实施例的基础上,本发明实施例提供的信息处理的方法第一个可选实施例中,获取待处理视频之后,还可以包括:
采用卷积神经网络CNN对待处理视频中的每个视频帧进行处理,得到每个视频帧所对应的时间特征;
根据每个视频帧所对应的时间特征,确定待处理视频的时间特征序列,其中,时间特征序列用于进行采样。
本实施例中,服务器在获取待处理视频之后,可以采用具有意念(inception)结构的卷积神经网络(convolutional neural network,CNN)对待处理视频中的每个视频帧进行处理,然后提取每个视频帧所对应的时间特征。最后,服务器根据每个视频帧的时间特征,确定待处理视频的时间特征序列。假设待处理视频的第一个视频帧为1,第二个视频帧为2,以此类推,最后一 个视频帧为T,那么可以确定待处理视频的时间特征序列为T(秒)。
下面将介绍inception结构的CNN,请参阅图4,图4为本发明实施例中具有意念结构的卷积神经网络示意图,如图4所示,inception结构包含了3个不同尺寸的卷积,即1×1卷积层、3×3卷积层、5×5卷积层以及3×3最大池化层,去除了最后的全连接层,而使用全局平均池化层(将图片尺寸变为1×1)取代全连接层。
要想增强网络能力,可以增加网络深度,增加网络宽度。但是为了减少过拟合,也要减少自由参数。因此,在inception结构的同一层里中,有卷积1×1卷积层、3×3卷积层和5×5卷积层三个不同的卷积模板,他们可以在不同尺寸下做特征提取,也是一种混合模型。因为最大池化层本身也有特征提取的作用,而且和卷积不同,没有参数不会过拟合,也作为一个分支。但是直接这样做,整个网络计算量会较大,且层次并没有变深,因此,在3×3卷积和5×5卷积前面先做1×1的卷积,降低输入的通道的数量,这样既使得网络变深,同时计算量反而小了。
其次,本发明实施例中,服务器获取待处理视频之后,还可以采用卷积神经网络对该待处理视频中的每个视频帧进行处理,并且得到各个视频帧对应的时间特征,这些时间特征用于构成整个待处理视频的时间特征序列。通过上述方式,利用卷积神经网络对每个视频帧进行训练和处理,有利于提升时间特征提取的准确性和效果。
可选地,在上述图2对应的第一个实施例的基础上,本发明实施例提供的信息处理的方法第二个可选实施例中,根据时间特征采样规则对待处理视频进行采样,并获取至少一个视频帧特征序列,可以包括:
根据时间特征采样规则确定至少一个时间窗口,其中,每个时间窗口包含待处理视频中的至少一个视频帧;
从时间特征序列中提取每个时间窗口对应的视频帧特征序列。
本实施例中,将介绍服务器如何获取至少一个视频帧特征序列的。
具体地,首先根据时间特征采样规则定义至少一个时间窗口,以进行多尺度的视频帧特征序列采样。假设待处理视频共有T秒,分别以1帧视频帧、5帧视频帧和10帧视频帧为时间窗口,对该时间窗口内的视频帧特征做平均,得到三个不同尺度下的视频帧特征序列。如果T秒等于100帧,我们以1帧为时间窗口,那么视频帧特征序列长度就是T/1=T。如果我们以10帧为时间窗口,那么最后得到的就是视频帧特征序列长度就是T/10。因此,视频帧特征序列长度与时间窗口的大小有关。
其中,时间窗口大小可以是人为预先定义的,一个时间窗口内视频帧的数量越多,颗粒度也就越大,对于每个时间窗口中的内容我们是把它做一个平均操作,以此变成“一帧”的内容。
再次,本发明实施例中,说明了提取不同时间尺度下视频帧特征序列的 方法,即先根据时间特征采样规则确定至少一个时间窗口,其中,每个时间窗口包含待处理视频中的至少一个视频帧,然后从时间特征序列中提取每个时间窗口对应的视频帧特征序列。通过上述方式,能够获得不同尺度下的视频帧特征序列,以此得到多个不同的样本来进行特征训练,这样的话,有利于提高视频分类结果的准确性。
可选地,在上述图2对应的实施例的基础上,本发明实施例提供的信息处理的方法第三个可选实施例中,通过第一神经网络模型对所述至少一个视频帧特征序列进行处理,得到每个视频帧特征序列所对应的特征表达结果,可以包括:
将至少一个视频帧特征序列输入至第一神经网络模型中的前向递归神经网络,以获取第一表达结果;
将至少一个视频帧特征序列输入至第一神经网络模型中的后向递归神经网络,以获取第二表达结果;
根据第一表达结果和第二表达结果,计算至少一个视频帧特征序列所对应的特征表达结果。
本实施例中,将介绍如何利用第一神经网络模型得到每个视频帧特征序列所对应的特征表达结果。
具体地,请参阅图5,图5为本发明实施例中第一神经网络模型的一个结构示意图,如图5所示,整个第一神经网络模型包括两个部分,即前向递归神经网络和后向递归神经网络,将每个视频帧特征序列输入至前向递归神经网络,然后输出相应的第一表达结果。与此同时,将每个视频帧特征序列输入至后向递归神经网络,然后输出相应的第二表达结果。
最后,直接拼接第一表达结果和第二表达结果,即可得到视频帧特征序列所对应的特征表达结果。
其次,本发明实施例中,在提取视频帧特征序列的基础上,可以使用基于递归门单元的递归神经网络对视频帧特征序列进行时序建模,进一步地,为了更好地对不同时间规模的信息进行特征表达,本方案中还可以使用第一神经网络模型进行视频特征压缩。通过上述方式,对于递归神经网络,由于大多数视频的主要内容是发生在视频时间中部,因此使用双向递归神经网络分别从前向和后向往待处理视频的时间中心点位置进行特征压缩与表达。以此,提升方案的可操作性。
可选地,在上述图2对应的第三个实施例的基础上,本发明实施例提供的信息处理的方法第四个可选实施例中,根据第一表达结果和第二表达结果,计算至少一个视频帧特征序列所对应的特征表达结果,可以包括:
采用如下公式计算至少一个视频帧特征序列所对应的特征表达结果:
其中,h表示一个视频帧特征序列的特征表达结果,
表示第一表达结果,
表示第二表达结果,x
t表示第t时刻的视频帧特征序列,GRU()表示采用门控循环单元GRU神经网络处理,T表示待处理视频的总时间,t表示从1至T中的一个整数。
本实施例中,可以使用双向递归神经网络分别从前向和后向往视频时间中心点位置进行特征压缩与表达。具体为,对于某个尺度的视频帧特征序列x
t,t∈[1,T]。
前向递归神经网络为:
后向递归神经网络为:
其中,
为前向递归神经网络的中间层特征表达,也可表达为第一表达结果
为后向递归神经网络的中间层特征表达,也可表达为第二表达结果
GRU()为递归门单元函数,其具体形式为:
z
t=σ
g(W
zx
t+U
zh
t-1+b
z);
r
t=σ
g(W
rx
t+U
rh
t-1+b
r);
其中,σ
g表示sigmoid函数,σ
h表示反正切函数,此外,W
z、W
r、W
t、U
z、U
r和U
h均为线性变换参数矩阵,不同的下角标分别表示不同的“门”,b
z、b
r和b
h为偏置参数向量。
表示复合函数的计算。
由此,我们可以将第一表达结果和第二表达结果拼接起来,得到某个尺度对应的特征表达结果,即
再次,本发明实施例中,具体介绍了如何根据第一表达结果和第二表达结果,计算每个视频帧特征序列所对应的特征表达结果。通过上述方式,可以利用相关公式计算得到预测结果,为方案的实现提供了可行的方式,从而可以提升方案的可行性和可操作性。
可选地,在上述图2对应的实施例的基础上,本发明实施例提供的信息处理的方法第五个可选实施例中,通过第二神经网络模型对所述至少一个视频帧特征序列所对应的特征表达结果进行处理,得到至少一个视频帧特征序 列所对应的预测结果,可以包括:
将至少一个视频帧特征序列所对应的特征表达结果输入至第二神经网络模型中的第一子模型,以获取第三表达结果;
将至少一个视频帧特征序列所对应的特征表达结果输入至第二神经网络模型中的第二子模型,以获取第四表达结果;
根据第三表达结果和第四表达结果,计算至少一个视频帧特征序列所对应的预测结果。
本实施例中,将介绍如何利用第二神经网络模型得到每个视频帧特征序列所对应的预测结果。
具体地,请参阅图6,图6为本发明实施例中第二神经网络模型的一个结构示意图,如图6所示,整个第二神经网络模型包括两个部分,分别为第一子模型和第二子模型,第一子模型又可以称为“门表达”,第二子模型又可以称为“激活表达”。将每个视频帧特征序列所对应的特征表达结果输入至“门表达”,然后输出相应的第三表达结果。与此同时,将每个视频帧特征序列所对应的特征表达结果输入至“激活表达”,然后输出相应的第四表达结果。
将每个第三表达结果和每个第四表达结果进行相乘,再进行相加,即可得到该视频帧特征序列的预测结果。
其次,本发明实施例中,在使用第一神经网络模型获得特征表达结果之后,还可以进一步采用第二神经网络模型来对该特征表达结果进行分类。通过上述方式,可以将特征表达结果经过非线性变换分别获得门表达和激活表达,然后将两路表达进行乘积操作并进行相加,获得最终特征表达用于分类,从而有利于提升分类的准确度。
可选地,在上述图2对应的第五个实施例的基础上,本发明实施例提供的信息处理的方法第六个可选实施例中,根据第三表达结果和第四表达结果,计算至少一个视频帧特征序列所对应的预测结果,可以包括:
采用如下公式计算至少一个视频帧特征序列所对应的预测结果:
g
n=σ
g(W
gh+b
g),n∈[1,N];
a
n=σ
a(W
ah+b
a),n∈[1,N];
其中,lable表示一个视频帧特征序列的预测结果,g
n表示第三表达结果,a
n表示第四表达结果,σ
g表示softmax函数,σ
a表示sigmoid函数,h表示视频帧特征序列的特征表达结果,W
g和b
g表示第一子模型中的参数,W
a和b
a表示第二子模型的参数,N表示对特征表达结果进行非线性变换后得到的计算总数,n表示从1至N中的一个整数。
本实施例中,具体介绍了如何采用相应的公式计算得到每个视频帧特征 序列所对应的预测结果。
首先,利用获取对特征表达结果进行非线性变换得到的N路门表达(gate representation)和激活表达(activation representation),然后计算gate representation对应的第三表达结果g
n,以及计算activation representation对应的第四表达结果a
n,需要说明的是,计算第三表达结果g
n和第四表达结果a
n的时候不分计算顺序。
得到两路表达后,将进行乘积操作,再进行相加操作,即可得到一个视频帧特征序列的预测结果。
再次,本发明实施例中,具体介绍了如何根据第三表达结果和第四表达结果,计算每个视频帧特征序列所对应的预测结果。通过上述方式,可以利用相关公式计算得到预测结果,为方案的实现提供了可行的方式,从而可以提升方案的可行性和可操作性。
可选地,在上述图2以及图2对应的第一个至第六个实施例中任一项的基础上,本发明实施例提供的信息处理的方法第七个可选实施例中,通过第二神经网络模型对至少一个视频帧特征序列所对应的特征表达结果进行处理,得到至少一个视频帧特征序列所对应的预测结果之后,还可以包括:
根据至少一个视频帧特征序列所对应的预测结果以及至少一个视频帧特征序列所对应的权重值,计算待处理视频的类别;
根据待处理视频的类别对待处理视频进行分类。
本实施例中,服务器还可以根据每个视频帧特征序列所对应的预测结果以及每个视频帧特征序列所对应的权重值,计算待处理视频的类别,并且根据分类结果对该待处理视频进行分类。
具体地,假设预测结果最多有5个,以长度为5的“0和1”编码来表示预测结果,比如说预测结果为1的编码为00001,预测结果为3的编码为00100,以此类推,如果一个待处理视频同时包含预测结果1和预测结果3,那么该待处理视频表示为00101。
但是对于整个待处理视频而言,我们得到的是对于每个视频帧特征序列所对应的预测结果,所以每个预测结果不大于1,预测结果可以代表待处理视频属于这个类别的可能性。比如{0.01,0.02,0.9,0.005,1.0}是一个合理的预测结果,意思是该待处理视频属于第一个类别的概率为1.0即100%,属于第二个类别的概率为0.005即0.5%,属于第三个类别的概率为0.9即90%,属于第四个类别的概率为0.02即2%,属于第五个类别的概率为0.01即1%。
此时,利用预先设置的权重值对预测结果进行计算,计算可以采用加权算法,每个权重值是通过线性回归学习到的,是一个数值,代表着每个视频帧特征序列的重要性,且权重值之和为1,比如{0.1,0.4,0.5}。下面将具体说明如何计算得到待处理视频的类别。
若权重值为{0.2,0.3,0.5},视频帧特征序列1的预测结果为{0.01,0.02,0.9, 0.005,1.0},视频帧特征序列2的预测结果为{0.02,0.01,0.9,0.000 0.9},视频帧特征序列3的预测结果为{0.2,0.3,0.8,0.01 0.7},则待处理视频的类别表示为:
0.2×0.01+0.3×0.02+0.5×0.2,0.2×0.02+0.3×0.01+0.5×0.3,0.2×0.9+0.3×0.9+0.5×0.8,0.2×0.005+0.3×0.000+0.5×0.01,0.2×1.0+0.3×0.9+0.5×0.7
={0.108,0.157,0.85,0.0075,0.82}
从上式的结果可以看出,待处理视频属于第三个类别的概率最大,其次是第一个类别,因此,可以将待处理视频优先显示在第三个类别的视频列表中。
进一步地,本发明实施例中,服务器在得到每个视频帧特征序列所对应的预测结果之后,还可以根据每个视频帧特征序列所对应的预测结果以及每个视频帧特征序列所对应的权重值,计算出待处理视频的类别,最后根据待处理视频的类别对待处理视频进行分类。通过上述方式,由于预测结果参考了时间特征,在分析待处理视频的时候,能够提升视频分类的能力,从而实现个性化推荐,具有较好的实用性。
下面对本发明中的服务器进行详细描述,请参阅图7,图7为本发明实施例中服务器一个实施例示意图,服务器20包括:
第一获取模块201,用于获取待处理视频,其中,所述待处理视频包含多个视频帧,每个视频帧对应一个时间特征;
第二获取模块202,用于根据时间特征采样规则对所述第一获取模块201获取的所述待处理视频进行采样,并获取至少一个视频帧特征序列,其中,所述时间特征采样规则为时间特征与视频帧特征序列之间的对应关系;
第一输入模块203,用于通过第一神经网络模型对所述第二获取模块202获取的所述至少一个视频帧特征序列进行处理,得到所述至少一个视频帧特征序列所对应的特征表达结果;所述第一神经网络模型为递归神经网络模型;
第二输入模块204,用于通过第二神经网络模型对所述第一输入模块203得到所述至少一个视频帧特征序列所对应的特征表达结果进行处理,得到所述至少一个视频帧特征序列所对应的预测结果,其中,所述预测结果用于确定所述待处理视频的类别。
本实施例中,第一获取模块201获取待处理视频,其中,所述待处理视频包含多个视频帧,每个视频帧对应一个时间特征,第二获取模块202根据时间特征采样规则对所述第一获取模块201获取的所述待处理视频进行采样,并获取至少一个视频帧特征序列,其中,所述时间特征采样规则为时间特征与视频帧特征序列之间的对应关系,第一输入模块203通过第一神经网络模型对所述第二获取模块202获取的所述至少一个视频帧特征序列进行处理,得到至少一个视频帧特征序列所对应的特征表达结果,该第一神经网络模型为递归神经网络模型,第二输入模块204通过第二神经网络模型对所述 第一输入模块203得到的所述至少一个视频帧特征序列所对应的特征表达结果进行处理,得到所述至少一个视频帧特征序列所对应的预测结果,其中,所述预测结果用于确定所述待处理视频的类别。
本发明实施例中,提供了一种服务器,首先该服务器获取待处理视频,其中,待处理视频包含多个视频帧,每个视频帧对应一个时间特征,然后根据时间特征采样规则对待处理视频进行采样,并获取至少一个视频帧特征序列,其中,时间特征采样规则为时间特征与视频帧特征序列之间的对应关系,服务器再将至少一个视频帧特征序列输入至第一神经网络模型,得到每个视频帧特征序列所对应的特征表达结果,最后服务器将每个视频帧特征序列所对应的特征表达结果输入至第二神经网络模型,得到每个视频帧特征序列所对应的预测结果,预测结果用于确定待处理视频的类别。通过上述方式,在对视频进行分类的过程中,还考虑到视频在时间维度上的特征变化,从而能够更好地表达视频内容,提高视频分类的准确率,提升视频分类的效果。
可选地,在上述图7所对应的实施例的基础上,请参阅图8,本发明实施例提供的服务器20的另一实施例中,所述服务器20还包括:
处理模块205,用于所述第一获取模块201获取待处理视频之后,采用卷积神经网络CNN对所述待处理视频中的每个视频帧进行处理,得到所述每个视频帧所对应的所述时间特征;
确定模块206,用于根据所述处理模块205处理的所述每个视频帧所对应的时间特征,确定所述待处理视频的时间特征序列,其中,所述时间特征序列用于进行采样。
其次,本发明实施例中,服务器获取待处理视频之后,还可以采用卷积神经网络对该待处理视频中的每个视频帧进行处理,并且得到各个视频帧对应的时间特征,这些时间特征用于构成整个待处理视频的时间特征序列。通过上述方式,利用卷积神经网络对每个视频帧进行训练和处理,有利于提升时间特征提取的准确性和效果。
可选地,在上述图8所对应的实施例的基础上,请参阅图9,本发明实施例提供的服务器20的另一实施例中,
所述第二获取模块202包括:
确定单元2021,用于根据所述时间特征采样规则确定至少一个时间窗口,其中,每个时间窗口包含所述待处理视频中的至少一个视频帧;
提取单元2022,用于从所述时间特征序列中提取所述所述确定单元2021确定的每个时间窗口对应的视频帧特征序列。
再次,本发明实施例中,说明了提取不同尺度下视频帧特征序列的方法,即先根据时间特征采样规则确定至少一个时间窗口,其中,每个时间窗口包含待处理视频中的至少一个视频帧,然后从时间特征序列中提取每个时间窗口对应的视频帧特征序列。通过上述方式,能够获得不同尺度下的视频帧特 征序列,以此得到多个不同的样本来进行特征训练,这样的话,有利于提高视频分类结果的准确性。
可选地,在上述图9所对应的实施例的基础上,请参阅图10,本发明实施例提供的服务器20的另一实施例中,
所述第一输入模块203包括:
第一获取单元2031,用于将所述至少一个视频帧特征序列输入至所述第一神经网络模型中的前向递归神经网络,获取第一表达结果;
第二获取单元2032,用于将所述每个视频帧特征序列输入至所述第一神经网络模型中的后向递归神经网络,获取第二表达结果;
第一计算单元2033,用于根据所述第一获取单元2031获取的所述第一表达结果和所述第二获取单元2032获取的所述第二表达结果,计算所述至少一个视频帧特征序列所对应的特征表达结果。
其次,本发明实施例中,在提取视频帧特征序列的基础上,可以使用基于递归门单元的递归神经网络对视频帧特征序列进行时序建模,进一步地,为了更好地对不同时间规模的信息进行特征表达,本方案中还可以使用第一神经网络模型进行视频特征压缩。通过上述方式,对于递归神经网络,由于大多数视频的主要内容是发生在视频时间中部,因此使用双向递归神经网络分别从前向和后向往待处理视频的时间中心点位置进行特征压缩与表达。以此,提升方案的可操作性。
可选地,在上述图10所对应的实施例的基础上,请参阅图11,本发明实施例提供的服务器20的另一实施例中,所述第一计算单元2033包括:
第一计算子单元20331,用于采用如下公式计算至少一个视频帧特征序列所对应的特征表达结果:
其中,所述h表示一个视频帧特征序列的特征表达结果,所述
表示所述第一表达结果,所述
表示所述第二表达结果,所述x
t表示第t时刻的所述视频帧特征序列,所述GRU()表示采用门控循环单元GRU神经网络处理,所述T表示所述待处理视频的总时间,所述t表示从1至所述T中的一个整数。
再次,本发明实施例中,具体介绍了如何根据第一表达结果和第二表达结果,计算每个视频帧特征序列所对应的特征表达结果。通过上述方式,可以利用相关公式计算得到预测结果,为方案的实现提供了可行的方式,从而 可以提升方案的可行性和可操作性。
可选地,在上述图7所对应的实施例的基础上,请参阅图12,本发明实施例提供的服务器20的另一实施例中,
所述第二输入模块204包括:
第三获取单元2041,用于将所述每个视频帧特征序列所对应的特征表达结果输入至所述第二神经网络模型中的第一子模型,以获取第三表达结果;
第四获取单元2042,用于将所述每个视频帧特征序列所对应的特征表达结果输入至所述第二神经网络模型中的第二子模型,以获取第四表达结果;
第二计算单元2043,用于根据所述第三获取单元2041获取的所述第三表达结果和所述第四获取单元2042获取的所述第四表达结果,计算所述每个视频帧特征序列所对应的预测结果。
其次,本发明实施例中,在使用第一神经网络模型获得特征表达结果之后,还可以进一步采用第二神经网络模型来对该特征表达结果进行分类。通过上述方式,可以将特征表达结果经过非线性变换分别获得门表达和激活表达,然后将两路表达进行乘积操作并进行相加,获得最终特征表达用于分类,从而有利于提升分类的准确度。
可选地,在上述图12所对应的实施例的基础上,请参阅图13,本发明实施例提供的服务器20的另一实施例中,
所述第二计算单元2043包括:
第二计算子单元20431,用于采用如下公式计算所述每个视频帧特征序列所对应的预测结果:
g
n=σ
g(W
gh+b
g),n∈[1,N];
a
n=σ
a(W
ah+b
a),n∈[1,N];
其中,所述lable表示一个视频帧特征序列的预测结果,所述g
n表示所述第三表达结果,所述a
n表示所述第四表达结果,所述σ
g表示softmax函数,所述σ
a表示sigmoid函数,所述h表示所述视频帧特征序列的特征表达结果,所述W
g和所述b
g表示所述第一子模型中的参数,所述W
a和所述b
a表示所述第二子模型的参数,所述N表示对所述特征表达结果进行非线性变换后得到的计算总数,所述n表示从1至所述N中的一个整数。
再次,本发明实施例中,具体介绍了如何根据第三表达结果和第四表达结果,计算每个视频帧特征序列所对应的预测结果。通过上述方式,可以利用相关公式计算得到预测结果,为方案的实现提供了可行的方式,从而可以提升方案的可行性和可操作性。
可选地,在上述图7至图13中任一项所对应的实施例的基础上,请参阅 图14,本发明实施例提供的服务器20的另一实施例中,
所述服务器20还包括:
计算模块207,用于所述第二输入模块204通过第二神经网络模型对所述至少一个视频帧特征序列所对应的特征表达结果进行处理,得到所述至少一个视频帧特征序列所对应的预测结果之后,根据所述至少一个视频帧特征序列所对应的所述预测结果以及所述至少一个视频帧特征序列所对应的权重值,计算所述待处理视频的类别;
分类模块208,用于根据所述计算模块207计算的所述待处理视频的类别对所述待处理视频进行分类。
进一步地,本发明实施例中,服务器在得到每个视频帧特征序列所对应的预测结果之后,还可以根据每个视频帧特征序列所对应的预测结果以及每个视频帧特征序列所对应的权重值,计算出待处理视频的类别,最后根据待处理视频的类别对待处理视频进行分类。通过上述方式,由于预测结果参考了时间特征,在分析待处理视频的时候,能够提升视频分类的能力,从而实现个性化推荐,具有较好的实用性。
图15是本发明实施例提供的一种服务器结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。
服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图15所示的服务器结构。
在本发明实施例中,该服务器所包括的CPU 322具有以下功能:
获取待处理视频,其中,所述待处理视频包含多个视频帧,每个视频帧对应一个时间特征;
根据时间特征采样规则对所述待处理视频进行采样,并获取至少一个视频帧特征序列,其中,所述时间特征采样规则为时间特征与视频帧特征序列之间的对应关系;
通过第一神经网络模型对所述至少一个视频帧特征序列进行处理,得到 所述至少一个视频帧特征序列所对应的特征表达结果;所述第一神经网络模型为递归神经网络模型;
通过第二神经网络模型对所述至少一个视频帧特征序列所对应的特征表达结果进行处理,得到所述至少一个视频帧特征序列所对应的预测结果,其中,所述预测结果用于确定所述待处理视频的类别。
可选地,CPU 322还用于执行如下步骤:
采用卷积神经网络CNN对所述待处理视频中的每个视频帧进行处理,得到所述每个视频帧所对应的时间特征;
根据所述每个视频帧所对应的时间特征,确定所述待处理视频的时间特征序列,其中,所述时间特征序列用于进行采样。
可选地,CPU 322具体用于执行如下步骤:
根据所述时间特征采样规则确定至少一个时间窗口,其中,每个时间窗口包含所述待处理视频中的至少一个视频帧;
从所述时间特征序列中提取所述每个时间窗口对应的视频帧特征序列。
可选地,CPU 322具体用于执行如下步骤:
将所述至少一个视频帧特征序列输入至所述第一神经网络模型中的前向递归神经网络,获取第一表达结果;
将所述至少一个视频帧特征序列输入至所述第一神经网络模型中的后向递归神经网络,获取第二表达结果;
根据所述第一表达结果和所述第二表达结果,计算所述至少一个视频帧特征序列所对应的特征表达结果。
可选地,CPU 322具体用于执行如下步骤:
采用如下公式计算所述至少一个视频帧特征序列所对应的特征表达结果:
其中,所述h表示一个视频帧特征序列的特征表达结果,所述
表示所述第一表达结果,所述
表示所述第二表达结果,所述x
t表示第t时刻的所述视频帧特征序列,所述GRU()表示采用门控循环单元GRU神经网络处理,所述T表示所述待处理视频的总时间,所述t表示从1至所述T中的一个整数。
可选地,CPU 322具体用于执行如下步骤:
将所述至少一个视频帧特征序列所对应的特征表达结果输入至所述第二 神经网络模型中的第一子模型,获取第三表达结果;
将所述至少一个视频帧特征序列所对应的特征表达结果输入至所述第二神经网络模型中的第二子模型,获取第四表达结果;
根据所述第三表达结果和所述第四表达结果,计算所述至少一个视频帧特征序列所对应的预测结果。
可选地,CPU 322具体用于执行如下步骤:
采用如下公式计算所述至少一个视频帧特征序列所对应的预测结果:
g
n=σ
g(W
gh+b
g),n∈[1,N];
a
n=σ
a(W
ah+b
a),n∈[1,N];
其中,所述lable表示一个视频帧特征序列的预测结果,所述g
n表示所述第三表达结果,所述a
n表示所述第四表达结果,所述σ
g表示softmax函数,所述σ
a表示sigmoid函数,所述h表示所述视频帧特征序列的特征表达结果,所述W
g和所述b
g表示所述第一子模型中的参数,所述W
a和所述b
a表示所述第二子模型的参数,所述N表示对所述特征表达结果进行非线性变换后得到的计算总数,所述n表示从1至所述N中的一个整数。
可选地,CPU 322还用于执行如下步骤:
根据所述至少一个视频帧特征序列所对应的所述预测结果以及所述至少一个视频帧特征序列所对应的权重值,计算所述待处理视频的类别;
根据所述待处理视频的类别对所述待处理视频进行分类。
本发明实施例还提供一种存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种信息处理方法中的任意一种实施方式。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传 输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD)等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。