视频流中异常内容的识别方法及视频流处理系统和方法与流程

文档序号:15387133发布日期:2018-09-08 00:42阅读:2255来源:国知局

本申请涉及通信技术领域,尤其涉及一种视频流中异常内容的识别方法及视频流处理系统和方法。



背景技术:

当下互联网出现很多直播平台,直播平台可以产生直播视频(又称视频流)。直播视频一方面提升了用户体验,另一方面也给不良内容(又称异常内容)提供新的传播渠道。

异常内容可以包括暴力内容、不正当裸露内容、具有煽动性政治内容等等。因此,可以将异常内容分为多个维度:涉政维度、暴恐维度、禁售维度等等。为了限制直播平台传播异常内容,需要对直播平台产生的视频流进行异常内容识别。

目前,对视频流的识别过程可以为:获取单个图像帧在单个维度上的特征矩阵,利用分类器对特征矩阵进行识别,以识别单个图像帧是否具有单个维度上的异常内容。

例如,以涉政维度为例,对单个图像帧在涉政维度上进行特征提取,获取与涉政维度对应的特征矩阵,然后,将特征矩阵输入至分类器,从而获得分类器识别结果。识别结果可以表明单个图像帧是否具有涉政风险。

在研究过程中发现,现有技术中对于异常内容识别的准确率较低。



技术实现要素:

本申请提供了一种视频流的分类方法及系统,可以对多个图像帧进行识别,以确定多个图像帧组成的视频片段是否具有异常内容,从而可以提高视频流的处理效率和准确性。

为了实现上述目的,本申请提供了以下技术特征:

一种视频流处理系统,包括:

视频流提供终端,用于产生视频流并将视频流发送至第一服务器;

第一服务器,用于接收视频流并复制所述视频流获得视频流副本,将所述视频流发送至视频流接收终端,并将所述视频流副本发送至第二服务器,接收所述第二服务器针对视频流副本中的视频片段进行异常内容识别后输出的多维度识别结果,基于所述多维度识别结果判断所述视频流副本是否具有异常内容;若所述视频流副本具有异常内容,则停止向所述视频流接收终端发送后续从所述视频流提供终端接收的视频流;

第二服务器,用于接收第一服务器发送的所述视频流副本,对所述视频流副本进行采样获得采样帧序列并缓存所述采样帧序列,在所述采样帧序列中获取预设数量个采样帧且所述预设数量≥2,基于卷积神经网络模型,利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得全局特征矩阵;其中,所述若干个预设卷积核包括各个维度执行特征提取操作所使用的卷积核的并集;从所述全局特征矩阵中提取与各个维度对应的高层特征矩阵,利用与各个维度对应的异常内容识别模型对各个维度的高层特征矩阵进行异常内容识别并获得多维度识别结果,将所述多维度识别结果发送至所述第一服务器。

一种视频流处理系统,包括:

视频流提供终端,用于产生视频流并将所述视频流发送至第一服务器;

第一服务器,用于将所述视频流发送至第二服务器,并接收第二服务器发送针对所述视频流中视频片段的多维度识别结果;基于所述多维度识别结果判定所述视频片段是否具有异常内容;若所述视频片段不具有异常内容,则将所述视频片段发送至视频流接收终端;

视频流接收终端,用于接收所述第一服务器发送的所述视频片段;

第二服务器,用于接收第一服务器发送的所述视频流,对所述视频流进行采样获得采样帧序列并缓存所述采样帧序列,在所述采样帧序列中获取预设数量个采样帧且所述预设数量≥2,基于卷积神经网络模型,利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得全局特征矩阵;其中,所述若干个预设卷积核包括各个维度执行特征提取操作所使用的卷积核的并集,从所述全局特征矩阵中提取与各个维度对应的高层特征矩阵,利用与各个维度对应的异常内容识别模型对各个维度的高层特征矩阵进行异常内容识别并获得多维度识别结果,将所述多维度识别结果发送至所述第一服务器。

一种视频流中异常内容的识别方法,包括:

对视频流进行采样获得采样帧序列,并缓存所述采样帧序列;

在所述采样帧序列中获取预设数量个采样帧,且,所述预设数量≥2;

基于卷积神经网络模型,利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得全局特征矩阵;其中,所述若干个预设卷积核包括各个维度执行特征提取操作所使用的卷积核的并集;

从所述全局特征矩阵中提取与各个维度对应的高层特征矩阵;

利用与各个维度对应的异常内容识别模型,对各个维度的高层特征矩阵进行异常内容识别并获得多维度识别结果。

可选的,所述利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得全局特征矩阵,包括:

将所述预设数量个采样帧按采样顺序分为多组采样帧;

对各组采样帧中各个采样帧按采样顺序执行合并操作,获得各个部分采样帧;

对各个部分采样帧与若干个预设卷积核执行卷积操作,获得全局特征矩阵。

可选的,所述多组采样帧中相邻两组采样帧具有交集。

可选的,预设数量为4,则所述利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得全局特征矩阵,包括:

将四个采样帧按采样顺序分为两组采样帧,两组采样帧均具有三个采样帧,且,采样帧两组采样帧具有交集;

对两组采样帧中各个采样帧按采样顺序执行合并操作,获得两个部分采样帧;

对各个部分采样帧与若干个预设卷积核执行卷积操作,获得全局特征矩阵。

可选的,所述若干个预设卷积核包括:用于提取底层特征的第一类卷积核和用于提取中层特征的第二类卷积核;

则所述对各个部分采样帧与若干个预设卷积核执行卷积操作,获得全局特征矩阵,包括:

对各个部分采样帧与所述第一类卷积核执行卷积操作,获得用于表示底层特征的各个局部特征矩阵;

对各个局部特征矩阵执行合并操作,获得合并后局部特征矩阵;

对所述合并后局部特征矩阵与所述第二类卷积核执行卷积操作,获得用于表示中层特征的全局特征矩阵。

可选的,所述若干个卷积核包括用于提取底层特征的第一类卷积核和用于提取中层特征的第二类卷积核;

则所述利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得全局特征矩阵,包括:

将所述预设数量个采样帧按采样顺序执行合并操作,获得整体采样帧;

对所述整体采样帧与所述第一类卷积核执行卷积操作,获得用于表示底层特征的全局特征矩阵;

对所述用于表示底层特征全局特征矩阵与第二类卷积核执行卷积操作,获得用于表示中层特征的所述全局特征矩阵。

可选的,所述从所述全局特征矩阵中提取与各个维度对应的高层特征矩阵,包括:

将所述全局特征矩阵与各个维度对应的权值矩阵相乘,得到各个维度的特征矩阵;

分别利用与各个维度对应的用于提取高层特征的多个卷积核对各个维度的特征矩阵执行特征提取操作,获得与各个维度对应的高层特征矩阵。

可选的,每个维度包括多个类别,所述利用与各个维度对应的异常内容识别模型,对各个维度的高层特征矩阵进行异常内容识别并获得识别结果,包括:

将各个维度的高层特征矩阵输入至各个维度对应的异常内容识别模型;

获得各个异常内容识别模型输出的各个维度中各个类别的概率值;

其中,异常内容识别模型为,依据若干高层特征样本训练得到的、区分异常内容中各个类别和正常内容的分类器。

一种视频流处理方法,包括:

接收视频流,并复制所述视频流获得视频流副本;

将所述视频流发送至视频流接收终端,并将所述视频流副本发送至第二服务器;

接收所述第二服务器针对视频流副本中的视频片段进行异常内容识别后输出的多维度识别结果;

基于所述多维度识别结果判定所述视频片段是否具有异常内容;

若所述视频片段具有异常内容,则停止向所述视频流接收终端发送后续从所述视频流提供终端接收的视频流。

一种视频流处理方法,包括:

接收视频流提供终端发送的视频流,并将视频流发送至第二服务器;

接收第二服务器发送针对所述视频流中视频片段的多维度识别结果;

基于所述多维度识别结果判定所述视频片段是否具有异常内容;

若所述视频片段不具有异常内容,则将所述视频片段发送至视频流接收终端。

可选的,还包括:

若所述视频片段具有异常内容,则显示所述视频片段供人工二次验证;

接收人工二次验证结果;

若人工二次验证结果表示视频片段具有异常内容,则向视频流提供终端发送警告。

一种视频流处理系统,包括:

视频流提供终端,用于产生视频流并将视频流发送至第一服务器;

第一服务器,用于接收视频流并复制所述视频流获得视频流副本,将所述视频流发送至视频流接收终端,并将所述视频流副本发送至第二服务器,接收所述第二服务器针对视频流副本中的视频片段进行异常内容识别后输出的单维度识别结果,基于所述单维度识别结果判断所述视频流副本是否具有异常内容;若所述视频流副本具有异常内容,则停止向所述视频流接收终端发送后续从所述视频流提供终端接收的视频流;

第二服务器,用于接收第一服务器发送的所述视频流副本,对所述视频流副本进行采样获得采样帧序列并缓存所述采样帧序列,在所述采样帧序列中获取预设数量个采样帧且所述预设数量≥2,基于卷积神经网络模型,利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得高层特征矩阵,利用异常内容识别模型对高层特征矩阵进行异常内容识别并获得单维度识别结果,将所述单维度识别结果发送至所述第一服务器。

一种视频流处理系统,包括:

视频流提供终端,用于产生视频流并将所述视频流发送至第一服务器;

第一服务器,用于将所述视频流发送至第二服务器,并接收第二服务器发送针对所述视频流中视频片段的单维度识别结果;基于所述单维度识别结果判定所述视频片段是否具有异常内容;若所述视频片段不具有异常内容,则将所述视频片段发送至视频流接收终端;

视频流接收终端,用于接收所述第一服务器发送的所述视频片段;

第二服务器,用于接收第一服务器发送的所述视频流,对所述视频流进行采样获得采样帧序列并缓存所述采样帧序列,在所述采样帧序列中获取预设数量个采样帧且所述预设数量≥2,基于卷积神经网络模型,利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得高层特征矩阵,利用异常内容识别模型对高层特征矩阵进行异常内容识别并获得单维度识别结果,将所述单维度识别结果发送至所述第一服务器。

一种视频流中异常内容的识别方法,包括:

对接收的视频流进行采样获得采样帧序列,并缓存所述采样帧序列;

在所述采样帧序列中获取预设数量个采样帧且所述预设数量≥2;

基于卷积神经网络模型,利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得高层特征矩阵;

利用异常内容识别模型对高层特征矩阵进行异常内容识别并获得单维度识别结果。

可选的,所述若干个预设卷积核包括:用于提取单维度底层特征的第一类卷积核,用于提取单维度中层特征的第二类卷积核,和,用于单维度提取高层特征的第三类卷积核;

则所述基于卷积神经网络模型,利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得高层特征矩阵,包括:

将所述预设数量个采样帧按采样顺序分为多组采样帧;

对各组采样帧中各个采样帧按采样顺序执行合并操作,获得各个部分采样帧;

对各个部分采样帧与第一类卷积核执行卷积操作,获得用于表示底层特征的各个局部特征矩阵;

对各个局部特征矩阵执行合并操作,获得合并后局部特征矩阵;

对所述合并后局部特征矩阵与所述第二类卷积核执行卷积操作,获得用于表示中层特征的全局特征矩阵;

对所述全局特征矩阵与第三类卷积核执行卷积操作,获得高层特征矩阵。

通过以上技术手段,可以实现以下有益效果:

本申请对预设数量个采样帧一并异常内容识别,使得在特征提取时不仅考虑各个采样帧的空间域特征,也考虑连续相邻的采样帧的时间域特征,也即运动特征。相对于现有技术仅能够从单个图像帧提取到空间域特征而言,本申请可以提取更多特征以用于异常内容识别,从而提高异常内容识别的准确率。

并且,本申请在一次处理过程中可以实现在多个维度进行特征提取和分类;即,在一次处理过程中对多个维度执行异常内容识别。相比于现有技术中一次仅能够对单个维度执行异常内容识别而言,可以大大提高识别效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a为本申请一个实施例中提供的视频流处理系统的结构示意图;

图1b为本申请一个实施例中提供的视频流处理系统执行过程的流程示意图;

图1c为本申请一个实施例中提供的视频流处理系统执行过程的流程示意图;

图2a为本申请一个实施例中提供视频流中异常内容的识别方法的流程图;

图2b为本申请一个实施例中提供的卷积申请网络模型的执行过程;

图3为本申请一个实施例中提供的采样帧合并过程的示意图;

图4为本申请一个实施例中提供的局部特征矩阵合并过程的示意图;

图5为本申请一个实施例中提供的视频流中异常内容的识别方法的流程示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

术语解释:

卷积神经网络模型:英文全称为convolutionalneuralnetwork,简称cnn。卷积神经网络是一种前馈神经网络,卷积神经网络具有多层神经元,每层神经元又称特征提取层。多个特征提取层叠加在一起,前一特征提取层是后一特征提取层的输入。

卷积核:在图像处理使用卷积的过程中,输出图像中每一个像素为输入图像中一个小区域中像素的加权平均;其中,权值由一个函数定义,这个函数称为卷积核。

池化:在通过卷积获得特征之后,下一步利用这些特征去做分类。理论上讲,可以用所有提取得到的特征去训练分类器,例如softmax分类器,但这样做面临计算量的挑战。因此,将图像上对不同位置的特征进行聚合统计,这种聚合的操作就叫做池化(pooling),有时也称为平均池化或者最大池化(取决于计算池化的方法)。

空间域:指图像平面所在的二维平面,位置不变。

空间域特征:图像上像元的灰度值所具有的特征。

时间域:从时间的范畴来研究振动,称为时间域。

时间域特征:图像像元的灰度值随时间变化的特征。

底层、中层和高层:卷积神经网络是一个深度神经网络,是多个特征提取层叠加在一起的神经网络,前一特征提取层的输出是后一特征提取层的输入;称靠近输入层特征提取层为底层,靠近输出层的特征提取层为高层。

底层特征:图像的边缘、角点、亮度等基础视觉特征,以及,速度、加速度、速度方向基础运动特征的统称。

中层特征:图像上结构部件对应特征,结构部件可以为车轮、眼睛、肢体等组成完整物体所需的零散结构部件。

高层特征:表达图像的高级特征,如涉政维度、暴恐维度、禁售维度等。底层特征、中层特征和高层特征的层级逐渐提高,特征提取层越高越能表达图像的语义信息。

分类器:分类是数据挖掘的一种非常重要的方法。分类的概念是在已有数据的基础上学会一个分类函数或构造出一个分类模型(即我们通常所说的分类器(classifier))。该函数或模型能够把数据库中的数据纪录映射到给定类别中的某一个,从而可以应用于数据预测。总之,分类器是数据挖掘中对样本进行分类的方法的统称,包含决策树、逻辑回归、朴素贝叶斯、神经网络等算法。

部分采样帧:预设数量个采样帧中一部分采样帧执行合并操作后得到矩阵。

整体采样帧:预设数量个采样帧执行合并操作后得到矩阵。

局部特征矩阵:对部分采样帧执行特征提取操作后得到的特征矩阵。

全局特征矩阵:对整体采样帧执行特征提取操作后得到的特征矩阵,以及,对各个局部特征矩阵执行特征提取操作后得到的特征矩阵。

现有技术对视频流进行异常内容识别的过程中,仅对视频流中单个图像帧进行处理。由于单个图像帧是静态的,所以单个图像帧上仅有空间域特征,而不具有多个图像帧之间所具有的时间域特征,也即动态特征。

为了提高对视频流中异常内容识别的准确率,本申请提出对视频流中多个图像帧一并处理。这样不仅可以获得视频流中每个图像帧的空间域特征,还可以获得多个图像帧之间的时间域特征,也即运动特征。鉴于本申请可以从视频流中提取较多特征,所以提高异常内容识别的准确率。

根据本申请提供的一个实施例,提供了一种视频流处理系统。参见图1a,具体包括:直播终端100、第一服务器200和第二服务器300。其中,直播终端100可以分为视频流提供终端101和视频流接收终端102。

根据本申请提供的一个实施例,参见图1b,对图1a提供系统的执行过程进行介绍:

由于本实施例中,第一服务器200采用先将视频流发送至视频流接收终端,再对视频流进行异常内容识别过程;因此,本实施例适用于对实时性要求较高延迟较短的直播平台。

步骤s101:视频流提供终端101用于产生视频流并将视频流发送至第一服务器200。

视频流提供终端101在直播过程中可以不断产生视频流,并将视频流发送至第一服务器200。第一服务器200为直播平台的服务器端。

步骤s102:第一服务器200用于接收视频流并复制所述视频流获得视频流副本,将所述视频流发送至视频流接收终端102,并将所述视频流副本发送至第二服务器200。

可以理解的是,对视频流进行异常内容识别是耗费时间的,所以为了减少视频流延迟时间,可以对视频流复制从而获得两路视频流:一路视频路直接发送至视频流接收终端102;另一路视频流副本发送至第二服务器200进行异常内容识别。

为了验证视频流中是否具有异常内容,直播平台可以采用服务器租赁方式来享受第二服务器提供的异常内容识别服务。采用服务器租赁的情况下,第一服务器200可以将视频流发送至提供异常内容识别服务的第二服务器300。

第一服务器100在发送视频流时可以遵循现有发送视频流的规则进行发送,同样,第二服务器200在接收视频流时也按照现有接收视频流的规则进行接收。发送过程和接收过程已为成熟技术,在此不再赘述。

步骤s103:第二服务器300用于接收第一服务器200发送的所述视频流副本,并对所述视频流副本执行异常内容识别操作并获得多维度识别结果/单维度识别结果,并发送多维度识别结果/单维度识别结果至第一服务器200。

根据本申请的一个实施例,第二服务器200可以在一次异常内容识别过程中在多个维度进行异常内容识别获得多维度识别结果。这样可以提高异常内容识别效率。

根据本申请的一个实施例,第二服务器200在一次异常内容识别过程中在单个维度进行异常内容识别获得单维度识别结果。

步骤s104:第一服务器200接收所述第二服务器300针对视频流副本中的视频片段进行异常内容识别后输出的多维度识别结果/单维度识别结果,基于所述多维度识别结果/单维度识别结果判断所述视频流副本是否具有异常内容。若视频流副本具有异常内容,则进入步骤s105。

第一服务器200可以接收第二服务器300发送的多维度识别结果/单维度识别结果,基于多维度识别结果/单维度识别结果判断视频流副本是否具有异常内容,若判定视频流副本具有异常内容,则进入步骤s106。

可以理解的是,第一服务器200也可以自己搭建异常内容识别服务,并加载在第一服务器200中。此情况下,第一服务器200可以自身对视频流进行异常内容识别操作并获得识别结果,而不必执行将视频流发送至第二服务器300并获得识别结果的过程。

步骤s105:若所述视频流副本具有异常内容,则停止向所述视频流接收终端发送该视频流提供终端提供的视频流。

在判定视频流副本具有异常内容,则表示视频流提供终端提供的视频流具有异常内容。由于本次处理过程中视频流已经发送至视频流接收终端,因此,第一服务器200会停止向所述视频流接收终端发送该视频流提供终端提供的视频流。

其执行过程可以为:停止接收该视频流提供终端提供的视频流,或者,继续接收该视频流提供终端的视频流但是不发送至视频流接收终端,直到一段时间后对视频流的识别结果表示该视频流不具有异常内容。

根据本申请的一个实施例,第二服务器200可以在一次异常内容识别过程中在多个维度进行异常内容识别获得多维度识别结果。即,本申请在异常内容识别过程中为多帧多任务的处理过程。

(由于一个维度上的特征便已经较多,所以现有技术一次异常内容识别操作仅可以单个维度上进行特征提取以及分类。若需要在多个维度上进行识别,现有技术需要执行多次异常内容识别过程)

参见图2a和图2b,根据本申请的一个实施例提供了一种视频流中异常内容的识别方法,具体如下步骤:

步骤s201:在接收视频流后对视频流进行采样获得采样帧序列,并缓存所述采样帧序列。

在视频流提供终端不断产生视频流的过程中,服务器也会不断接收视频流。由于视频流的密度太大,且,相邻图像帧是类似的,所以服务器会按采样周期对视频流进行采样,然后按采样顺序缓存各个采样帧(对视频流采样后的得到的图像帧称为采样帧)。在采样并缓存一段时间后,服务器上便会缓存若干个采样帧。服务器可以基于缓存的采样帧来周期性执行异常内容识别操作。

即,服务器会持续不断的缓存采样帧,然后周期性对缓存中的采样帧执行异常内容识别操作,从而实时对视频流执行异常内容识别操作,以便实时检测视频流是否具有异常内容。

步骤s202:在所述采样帧序列中获取预设数量个采样帧,且,所述预设数量≥2。

为了获得更多特征,本实施例中服务器一次处理预设数量的采样帧,预设数量≥2。

可以理解的是,预设数量并不是越大越好。预设数量越大则第二服务器300处理时间越长,对计算机cpu资源消耗越多。因此,在实际使用时,可以根据具体情况来设定一个采样帧集合中的预设数量。

例如,预设数量可以为4个,则服务器可以缓存4个采样帧后,便利用缓存的4个采样帧执行异常内容识别操作。当然,在基于异常内容识别操作期间,服务器可以继续缓存新的4个采样帧。在异常内容识别操作结束后,可以删除缓存中该4个采样帧。

步骤s203:基于卷积神经网络模型,利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得全局特征矩阵;其中,所述若干个预设卷积核包括各个维度执行特征提取操作所使用的卷积核的并集。

为了在多个维度上进行异常内容识别,在特征提取过程中需要获取各个维度的特征。由于多个维度对应的特征数量巨大,本申请服务器采用卷积神经网络cnn,来进行特征提取和特征分类的过程。

参见图2b,本实施例中卷积神经网络cnn采用7层神经元。各层神经元分别为:输入层、与输入层相连的特征提取层a、与特征提取层相连的特征提取层b、与特征提取层b相连的全连接层a、与全连接层a相连的全连接层b、与全连接层b相连的分类层和输出层。

为了便于说明,下面以预设数量为4个为例,对神经网络模型中各层神经元的处理过程进行描述:

本实施例提供本步骤的处理方式为,将预设数量个采样帧分为多组采样帧,每组包括采样顺序连续的若干个采样帧,将多组采样帧合并后得到各个局部采样帧,将局部采样帧发送至特征提取层a。

根据本申请的一个实施例,(相邻两组采样帧具有交集即相邻两组采样帧共享采样帧),相邻两组采样帧具有交集的目的在于:使得多组采样帧在时间域上的融合是连续递进的,并且,便于后续在特征提取时可以提取到更多的运动特征。

第一层神经元:输入层。输入层用于接收预设数量的采样帧,并向特征提取层a输出部分采样帧。

假设当前采样时刻为ti,那么ti-3采样时刻到ti采样时刻的4个采样帧f(ti-3)、f(ti-2)、f(ti-1)、f(ti)已存储至第二服务器300的缓存内。每个采样帧(也即图像帧)为按某一图像标准构建的图像矩阵。以图像采用rgb标准为例,则每个采样帧具有三个通道:r通道、g通道和b通道。每个通道对应一个关于灰度值的二维矩阵,则每个采样帧为三个通道的二维矩阵的组合。

以f表示采样帧,则每个采样帧可以表示为f[i][j][c],其中f[i][j]表示一个通道对应的二维矩阵,i表示二维矩阵宽度,j表示二维矩阵的高度;c表示图像的通道数量。

为了便于理解,采用图示进行形象表示。参见图3,以将预设数量个采样帧分为两组采样帧为例,则第一组为f(ti-3),f(ti-2),f(ti-1),第二组为f(ti-2),f(ti-1),f(ti),两者的交集为f(ti-2),f(ti-1)。在图示中每个采样帧采用一个立方体(i[i][j][c])表示。

在将第一组采样帧和第二组采样帧合并后得到部分采样帧1为[f(ti-3),f(ti-2),f(ti-1)],第二组合并后得到部分采样帧2[f(ti-2),f(ti-1),f(ti)]。在图示中将3个采样帧按采样顺序合并后得到的部分采样帧,可以采用一个大立方体(i[i][j][c][3])表示。

根据本申请的另一实施例,可以直接将预设数量个采样帧执行合并操作,获得整体采样帧。

例如,将f(ti-3),f(ti-2),f(ti-1),f(ti)执行合并操作,并获得整体采样帧[f(ti-3),f(ti-2),f(ti-1),f(ti)]。

第二层神经元:特征提取层a。特征提取层a上用于提取部分采样帧的底层特征。

特征提取层a上具有三个处理过程,下面分别进行描述:

(1)卷积过程:

本实施例中服务器上预先存储有各个维度在特征提取层a上所使用的卷积核(即第一类卷积核)。特征提取层a上的卷积核用于提取采样帧的底层特征。

关于获取特征提取层a所使用的卷积核a的过程:服务器可以获取各个维度上在特征提取层a所使用的卷积核,将各个维度上的卷积核的并集,作为所有维度在特征提取层a上所使用的卷积核。

每个卷积核为基于预先人工标注的图像帧进行训练后得到的,用于提取底层特征的矩阵。由于特征提取层a上包含各个维度对应的卷积核,所以可以提取得到各个维度所需使用的底层特征。特征提取层a的目的在于提取底层特征,底层特征包括基础视觉特征和运动特征,基础视觉特征包括角点、亮度、边缘等等,运动特征包括速度、加速度、运动方向等。

因此,特征提取层a上所使用的卷积核可以包括但不限于,与角点对应的卷积核、与亮度对应的卷积核、与边缘对应的卷积核等等,以及,与速度对应的卷积核、与加速度对应的卷积核、与运动方向对应的卷积核等等。部分采样帧与卷积核的计算公式如下:

featmap_conv_a[i][j][c][t]=i*w[t]=∑(i[i][j][c][t]*w[k][l][c][t])…公式(1)

其中,featmap_conv_a[i][j][c][t]表示局部特征矩阵,i表示部分采样帧。w表示特征提取层a的所有卷积核,t表示卷积对应的时间偏移位置,t=0,1。其中,每个卷积核可以表示为:w[k][l][c],其中k表示卷积核的宽度,l表示卷积核的高度,c表示矩阵的通道数。延续上述举例,特征提取层a将输入层输出的两个部分采样帧与各个卷积核进行卷积,从而得到两个部分采样帧对应的局部特征矩阵featmap_conv_a_1和featmap_conv_a_2,局部特征矩阵包含各个卷积核对应的底层特征。

根据另一个实施例,在输入层输出整体采样帧时,则直接采用公式(1)进行计算,从而得到表示底层特征的全局采样帧。

特征提取层a对多个采样帧进行卷积操作从而实现特征提取的目的,即特征提取层a相当于一个时空卷积器。在特征提取层a上既可以提取到空间域特征又可以提取到时间域特征,即,既可以准确提取每个采样帧的画面特征,又可以提取到运动速度特征和方向特征。

(2)批归一化过程

由局部特征矩阵有不同卷积核对应激活值(局部特征矩阵与一个卷积核进行卷积得到的结果成为激活值),为了使得局部特征矩阵具有较好的泛化能力,对卷积过程输出的局部特征矩阵进行批归一化处理,使得局部特征矩阵具有较好的一致性,从而增强泛化能力。

本实施例可以确定局部特征矩阵的平均值和方差,并利用通用的归一化公式来对局部特征矩阵的各个元素进行归一化。对三维矩阵进行归一化过程已为成熟技术,在此不再赘述。

(3)池化过程

在通过卷积获得了特征之后,直接使用会面临计算量的挑战并且容易出现过拟合(over-fitting)。由于图像具有一种“静态性”的属性,这意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。

为了描述数量较大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计,获得特征的降维。这种聚合的操作就叫做池化(pooling),有时也称为平均池化或者最大池化(取决于计算池化的方法)。

本实施例中采用池化核对局部特征矩阵进行池化,本实施例中采用最大池化,下述为池化过程的公式:featmap_a[i][j][c][t]=max(featmap_conv_a[i][j][c][t])…………公式(2)

在对各个局部特征矩阵进行池化后,可以得到各个池化后的局部特征矩阵,并将各个池化后的局部特征矩阵发送至特征提取层b。

延续上述举例,本实施例中可以对两个局部特征矩阵featmap_conv_a_1和featmap_conv_a_2进行池化,分别得到池化后的局部特征矩阵featmap_a_1和featmap_a_2。

第三层神经元:特征提取层b。特征提取层b用于提取中层技术特征。特征提取层b首先对各个池化后的局部特征矩阵进行合并,得到合并后局部特征矩阵。

参见图4所示,以特征提取层a输出两个池化后的局部特征矩阵featmap_a_1和featmap_a_2为例,对池化后的局部特征矩阵featmap_a_1和featmap_a_2合并,得到合并后局部特征矩阵featmap_a_merged。

特征提取层b对合并后局部特征矩阵featmap_a_merged进行卷积操作、批归一化操作和池化操作。

根据本申请另一个实施例,若特征提取层a输出表示底层特征的全局采样帧时,则直接执行后续操作。

(1)卷积操作

本实施例中服务器上预先存储有各个维度在特征提取层b上所使用的卷积核(即第二类卷积核)。特征提取层b上的卷积核用于提取采样帧的中层特征。

关于获取特征提取层b所使用的卷积核b的过程:服务器可以获取各个维度上在特征提取层b所使用的卷积核,将各个维度上的卷积核的并集,作为所有维度在特征提取层b上所使用的卷积核。

卷积层对合并后局部特征矩阵featmap_a_merged与特征提取层b的各个卷积核进行卷积,得到一个全局特征矩阵featmap_conv_b。

此时全局特征矩阵featmap_conv_b已经容纳预设数量个采样帧的空间域和时间域上的所有特征。

通过特征提取层a和特征提取层b上执行过程,可以得到本实施例在输入层将预设数量个采样帧分为多组采样帧,且各组采样帧具有交集的优势在于:

第一:获得更多的运动特征,且,每组采样帧在时间域上具有连续性。

每组采样帧具有交集,所以可以保证每组采样帧在时间域上具有连续性,以便保证提取到的特征具有连续性。

并且,两组采样帧之间具有交集,可以获得更多的运动特征。

以部分采样帧1和部分采样帧2的交集为f(ti-2),f(ti-1)为例,特征提取层a对部分采样帧1执行卷积运算时,对f(ti-2),f(ti-1)执行了一次卷积运算得到局部特征矩阵1;特征提取层a在对部分采样帧2执行卷积运算时,对f(ti-2),f(ti-1)又执行了一次卷积运算得到局部特征矩阵2。

也就是说:本实施例可以对帧间运动特征进行两种表达,局部特征矩阵1为f(ti-2),f(ti-1)的一种表达,局部特征矩阵2为f(ti-2),f(ti-1)的又一种表达。即,局部特征矩阵1和局部特征矩阵2分别包含f(ti-2),f(ti-1)之间的不同运动特征。从而可以更加充分的提取运动特征。

并且,本实施例中运动特征具有两个层次表达,第一个层次为局部特征矩阵1和局部特征矩阵2的层次(即特征提取层a)。第二层次为全局特征矩阵(特征提取层b)。

可以理解的是,运动特征表达的层次越多,越有利于后续的特征提取和分类。因此,将预设数量个采样帧分为多组,并且在特征提取层a和特征提取层b分别进行特征提取的优势为:更好地提取局部运动特征和全局运动特征,使得视频流中运动特征可以更好的表达。

第二:提高处理效率。

由于在将预设数量分为多组后,每组采样帧组成的部分采样帧相对于第一个数量个采样帧组成的整体采样帧而言,其数据量减小。特征提取层a可以同时处理多个部分采样帧,所以,在部分采样帧的数据量减小后,可以提高特征提取层a的处理效率。

(2)批归一化

批归一化的过程与特征提取层a的过程至类似,在此不再赘述。

(3)池化过程

特征提取层b中的池化核与特征提取层a中的池化核的大小不同,但是特征提取层b中利用池化核进行池化的过程与特征提取层a的池化过程类似,在此不再赘述。

将全局特征矩阵featmap_conv_b进行池化,得到池化后的全局特征矩阵featmap_b。

步骤s204:从所述全局特征矩阵中提取与各个维度对应的高层特征矩阵。第四层神经元:全连接层a,用于获得多个维度全部特征矩阵。

全连接层a上具有与多个维度一一对应的权值矩阵,将池化后的全局特征矩阵featmap_b分别与多个权值矩阵相乘,得到多个维度对应的全局特征矩阵。

例如,以4个维度为例,则全连接层a上具有4个不同权值,分别将featmap_b与各个权值相乘,得到4个全局特征矩阵。然后输出至“全连接层b”。

步骤s205:利用与各个维度对应的异常内容识别模型,对各个维度的高层特征矩阵进行异常内容识别并获得多维度识别结果。第五层神经元:卷积神经网络的全连接层b。全连接层b用于提取高层特征。全连接层b上具有各个维度对应的各个卷积核。以各个维度包括涉政维度、暴恐维度为例,则全连接层b上包括与涉政维度对应的卷积核、与暴恐维度对应的卷积核等等。

全局特征矩阵包含各个维度上的所有特征,所以全连接层b的卷积核的目的在于从全局特征矩阵中分离出各个维度在分类时所需使用的特征。

将各个维度的全局特征矩阵分别与各个维度对应的卷积核进行卷积,得到各个维度对应的高层特征矩阵。

全连接层b的卷积核可以在全局特征矩阵中提取与各个维度对应的高层特征矩阵,并将多个维度对应的高层特征矩阵分别输出至分类层。

即,在全连接层b可以将各个维度混淆在一起的特征进行提取,得到各个维度后续分类时所需的高层特征矩阵。例如,可以得到与涉政维度对应的高层特征矩阵,与涉政维度对应的高层特征矩阵等等。

第六层神经元:分类层。

可以理解的是,每个维度还可以细分为不同类别:第一类别、第二类别、第三类别等多个类别。例如,以暴恐纬度为例,其下具有头目任务、暴力血腥、正常等多个类别;以涉政维度为例,其下具有涉疆、涉藏、邪教、正常等多个类别。

分类层上具有各个维度对应的异常内容识别模型,分类模型为预先利用多个高层特征矩阵训练后,得到的可以区分异常内容中各个类别和正常内容的分类器。

因此,将各个维度的高层特征矩阵分别输入至各个维度的分类模型进行类别识别,从而输出特征矩阵属于各个类别的概率。

以“涉政维度”为例,将涉政维度的特征矩阵输入至涉政维度对应的分类模型中,从而输出涉政维度下“涉疆”类别的概率,“涉藏”类别的概率、“64运动”类别的概率等等。

第七层神经元:输出层。

卷积神经网络输出对预设数量个采样帧的多维度识别结果,即输出预设数量个采样帧在各个维度上各个类别的概率。

在上述特征提取层a、特征提取层b和全连接层a上,均会使用到卷积核进行卷积计算。在实验过程中发现,直接使用卷积核的运算代价是巨大的(以卷积核的宽度和高度为11x11为例,在卷积运算中11x11卷积核的参数为11x11=121个)。

因此,在具体运算时可以将卷积核在时间轴拆分为2个卷积核(例如,拆分成两个5x5的卷积核,两个5x5的卷积核参数为2x5x5=50个),这样可以大幅度降低了运算量(计算量减少58.7%),提高计算效率。

图2所示的实施例具有以下有益效果:

本实施例对预设数量个采样帧一并异常内容识别,使得在特征提取时不仅考虑各个采样帧的空间域特征,也考虑连续相邻的采样帧的时间域特征,也即运动特征。相对于现有技术仅能够从单个图像帧提取到空间域特征而言,本申请可以提取更多特征以用于异常内容识别,从而提高异常内容识别的准确率。

并且,本申请在一次处理过程中可以实现在多个维度进行特征提取和分类;即,在一次处理过程中对多个维度执行异常内容识别。相比于现有技术中一次仅能够对单个维度执行异常内容识别而言,可以大大提高识别效率。

根据申请提供的另一个实施例,本申请又提供了一种视频流中异常内容的识别方法。参见图5,具体包括以下步骤:

步骤s501:对接收的视频流进行采样获得采样帧序列,并缓存所述采样帧序列。

步骤s502:在所述采样帧序列中获取预设数量个采样帧且所述预设数量≥2。

步骤s503:基于卷积神经网络模型,利用若干个预设卷积核对所述预设数量个采样帧执行特征提取操作,获得高层特征矩阵。

其中,若干个预设卷积核包括:用于提取单维度底层特征的第一类卷积核(特征提取a),用于提取单维度中层特征的第二类卷积核(特征提取b),和,用于单维度提取高层特征的第三类卷积核(全连接层b)。

具体执行过程可以参见图2a和图2b的执行过程,与图2a和图2b不同的是,特征提取层a、特征提取层b和全连接层b上均只有单个维度的卷积核,在全连接层a上只有单个维度的权值矩阵。

步骤s504:利用异常内容识别模型对高层特征矩阵进行异常内容识别并获得单维度识别结果。

与图2所示实施例不同的是,本实施例在利用多个采样帧在单个维度上进行异常内容识别,相对比现有技术而言,可以单维度上提高异常内容识别的准确率。

根据本申请提供的一个实施例,参见图1c,对图1a提供系统的执行过程进行介绍:

由于本实施例中,第一服务器200采用先对视频流进行异常内容识别过程,再将视频流发送至视频流接收终端;因此,本实施例适用于对实时性要求不高延迟稍长的直播平台。

步骤s111:视频流提供终端101用于产生视频流并将视频流发送至第一服务器200。

视频流提供终端101在直播过程中可以不断产生视频流,并将视频流发送至第一服务器200。第一服务器200为直播平台的服务器端。

步骤s112:第一服务器200用于将视频流发送至第二服务器300。

为了验证视频流中是否具有异常内容,直播平台可以采用服务器租赁方式来享受第二服务器提供的异常内容识别服务。采用服务器租赁的情况下,第一服务器200可以将视频流发送至提供异常内容识别服务的第二服务器300。

第一服务器100在发送视频流时可以遵循现有发送视频流的规则进行发送,同样,第二服务器200在接收视频流时也按照现有接收视频流的规则进行接收。发送过程和接收过程已为成熟技术,在此不再赘述。

步骤s113:第二服务器300用于接收第一服务器200发送的所述视频流,对视频流进行异常内容识别获得多维度识别结果/单维度识别结果,并发送多维度识别结果/单维度识别结果至第一服务器200。

可以理解的是,第一服务器200也可以自己搭建异常内容识别服务,并加载在第一服务器200中。此情况下,第一服务器200可以自身对视频流进行异常内容识别操作并获得识别结果,而不必执行将视频流发送至第二服务器300并获得识别结果的过程。

步骤s114:基于所述多维度识别结果/单维度识别结果判定所述视频片段是否具有异常内容。若不具有异常内容,则进入步骤s115。

步骤s115:将所述视频片段发送至视频流接收终端。

本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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