视频分类模型构建、视频分类的方法、装置、设备及介质与流程

文档序号:20190532发布日期:2020-03-27 19:37阅读:145来源:国知局
视频分类模型构建、视频分类的方法、装置、设备及介质与流程

本申请一般涉及数据处理技术领域,具体涉及视频数据处理技术领域,尤其涉及视频分类模型构建、视频分类的方法、装置、设备及介质。



背景技术:

目前,在使用三维卷积神经网络对视频进行分类时,一般通过在卷积神经网络中的设置多个卷积层,该卷积层获取待分类视频的每帧视频帧中的特征,得到特征图;然后基于特征图对视频进行分类。

由上述描述可知,现有技术在获取特征图时,是基于视频帧中每帧图像的各像素周围的信息得到的,因此限制了特征图内容信息的丰富性,导致分类不够准确。



技术实现要素:

鉴于现有技术不能对视频进行准确分类的问题,本申请提出了视频分类模型构建、分类方法、装置、设备及介质,构建的视频分类模型能够提高视频分类的准确性。

第一方面,本申请实施例提供了一种视频分类模型构建的方法,该方法包括:

获取训练集数据,训练集数据包括多帧视频帧;

将训练集数据输入待训练分类模型,待训练分类模型包括多个卷积层组和一个输出层组,其中部分卷积层组包括非局部模块;

通过非局部模块提取多帧视频帧的长距离依赖特征,长距离依赖特征用于表示多帧视频帧所包含的空间位置之间的关联关系;

将长距离依赖特征输出到输出层组,输出多帧视频帧的预测分类结果;

通过预设的预测损失函数对待训练分类模型进行训练,直至待训练分类模型中的参数收敛,得到视频分类模型。

第二方面,本申请实施例提供了一种视频分类方法,该方法包括:

获取待分类的视频;

按照预设时间位置从视频中获取多帧视频帧;

将多帧视频帧输入至预先训练得到的视频分类模型,输出多帧视频帧的至少一个分类标签;视频分类模型通过上述第一方面的视频分类模型的训练方法训练得到;

根据多帧视频帧的至少一个分类标签标识视频的类别。

第三方面,本申请实施例提供了一种视频分类模型构建的装置,该装置包括:

第一获取模块,用于获取训练集数据,训练集数据包括多帧视频帧;

输入模块,用于将训练集数据输入待训练分类模型,待训练分类模型包括多个卷积层组和一个输出层组,其中部分卷积层组包括非局部模块;

提取模块,用于通过非局部模块提取多帧视频帧的长距离依赖特征,长距离依赖特征用于表示多帧视频帧所包含的空间位置之间的关联关系;

输出模块,用于将长距离依赖特征输出到输出层组,输出多帧视频帧的预测分类结果;

训练模块,用于通过预设的预测损失函数对待训练分类模型进行训练,直至待训练分类模型中的参数收敛,得到视频分类模型。

第四方面,本申请实施例提供了一种视频分类装置,该装置包括:

第二获取模块,用于获取待分类的视频;

第三获取模块,用于按照预设时间位置从视频中获取多帧视频帧;

输入输出模块,用于将多帧视频帧输入至预先训练得到的视频分类模型,输出多帧视频帧的至少一个分类标签;视频分类模型通过上述第三方面的视频分类模型的训练装置训练得到;

标识模块,用于根据多帧视频帧的至少一个分类标签标识视频的类别。

第五方面,本申请实施例提供了一种计算机设备,包括:

一个或者多个处理器;

存储器,用于存储一个或者多个程序;

当一个或者多个程序被一个或者多个处理器执行时,使得一个或者多个处理器执行实现上述第一方面和第二方面的方法。

第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序用于实现上述第一方面和第二方面的方法。

本申请实施例提供的视频分类模型构建的方法,通过在三维卷积神经网络中设置非局部模块,以使用非局部模块获取长距离依赖特征,相较于现有技术使用普通的多个卷积层提取特征图后,依靠特征图进行视频分类,本申请实施例可以获取不同像素之间或不同特征图之间的关联性,丰富了特征图的内容,从而提高了视频分类的准确性。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,附图仅用于示出优选实施方法的目的,而并不认为是对本申请的限制。另外还需要说明的是,为了便于描述,附图中仅示出了本申请相关的部分而非全部。

图1是根据本申请实施例示出的一种视频分类模型构建、视频分类的实施环境架构图;

图2是根据本申请实施例示出的一种视频分类模型构建的方法流程图;

图3是根据本申请实施例示出的一种获取训练集数据的方法流程图图;

图4是根据本申请实施例示出的一种待训练分类模型的结构示意图;

图5是根据本申请实施例示出的另一种待训练分类模型的结构示意图;

图6是根据本申请实施例示出的一种提取特征图的方法流程图;

图7是根据本申请实施例示出的一种非局部模块网络结构图;

图8是根据本申请实施例示出的另一种视频分类方法的流程图;

图9是根据本申请实施例示出的一种视频分类模型构建的装置框图;

图10是根据本申请实施例示出的另一种视频分类的装置框图;

图11是根据本申请实施例示出的一种计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本申请相关内容,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与申请相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1是根据本申请实施例示出的一种视频分类模型构建、视频分类的实施环境架构图。如图1所示,该实施环境架构包括:终端100和服务器200。

其中,视频分类模型构建装置即可以是终端100,也可以是服务器200。终端100或服务器200获取视频数据库中的视频,在待训练的视频分类模型进行训练、优化及测试,以构建视频分类模型。

其中,视频分类的过程即可以在终端100执行,也可以在服务器200执行。终端100接收待分类视频,将待分类视频进行相应的预处理,进一步地,当视频分类在终端100执行时,终端100直接将待分类视频输入到视频分类模型,然后对视频进行分类,当视频分类在服务器200执行时,终端100将预处理之后待分类视频发送给服务器200,服务器200将接收预处理后的待分类视频,并输入到视频分类模型,然后对待分类视频进行分类。

可选地,上述中的待分类视频可以为时间较短的视频。

另外,终端100可显示有应用界面,通过该界面可获取用户上传待分类视频,或将上传的待分类视频发送给服务器200。

终端100的类型包括但不限于智能手机、平板电脑、电视机、笔记本电脑、台式电脑等,本申请实施例对此不进行具体限定。

其中,服务器200将分类结果发送终端100该答案文本发送至终端100,由终端100在应用界面上显示该分类结果。进一步地,服务器200可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。

终端100与服务器200通过有线或无线网络建立通信连接。

图2是根据本申请实施例示出的一种视频分类模型构建的方法流程图。如图2所示,该方法由视频分类模型构建装置执行,构建视频分类装置作为执行主体。构建视频分类装置可以集成在终端或服务器等计算机设备中,构建视频分类装置可以是硬件也可以是软件模块。该方案可以由单一的终端或服务器执行,也可以由二者配合起来执行。

该方法包括以下步骤:

步骤101,获取训练集数据,训练集数据包括多帧视频帧。

可选地,可以从已有的视频数据库中获取训练集数据,比如,kinetics视频数据库。

视频数据库中的每一段视频都可以被确定为一个训练样本,训练样本经过相应的处理后获取到一个训练集数据。

可选地,参见图3,对于每一个训练样本,可以通过如下步骤获取训练集数据:

步骤1011,对待处理视频按照时间位置抽取多帧视频帧。

其中,待处理视频即为选定的用于获取训练集数据的一个训练样本。

可选地,步骤1011可以为:在待处理视频中随机确定一个时间位置,在确定的该时间位置的周围抽取若干帧图像,得到多帧视频帧。进一步地,当待处理视频的长度不足以抽取多帧视频帧时,可以通过循环操作来获取多帧视频帧。

可选地,多帧视频帧的帧数可以是固定帧数,比如,固定为16帧。也可以是根据实际情况确定的帧数。比如,当待处理视频较长时,可以获取较多帧视频帧,当待处理视频较短时,可以获取较少帧视频帧。

步骤1012,确定多帧视频帧中的每帧视频帧的空间位置。

步骤1013,按照预定的空间尺寸对确定空间位置后的视频帧进行多尺度裁剪。

其中,对视频帧进行多尺度裁剪可以增强待训练样本的泛化性,以提高待训练分类模型的分类性能。

可选地,在训练过程中,可以对不同的视频帧执行不同的裁剪,比如,通过随机选择视频帧的4个角点或者中心点,以4个角点或中心点为参考对视频帧进行裁剪,还可以通过选择一个空间尺寸对视频帧进行裁剪,比如,选择的尺寸包括如下:

其中,尺寸1表示裁剪后视频帧的宽和高与裁剪前的短边的大小相同,尺寸0.5表示裁剪后视频帧的宽和高是裁剪前的短边的大小的一半,其他数值类比上述形式。

这里需要说明的是,对视频帧数据进行多尺度裁剪,是对每一帧视频帧只进行一种尺度裁剪,多帧视频帧中的每一帧视频帧经过不同尺度裁剪后,得到多帧不同裁剪尺度的视频帧,从而得到泛化的视频帧。

步骤1014,将经过裁剪处理后的视频帧进行缩放、翻转处理得到训练集数据。

通过步骤1013对视频帧进行裁剪后,裁剪后的视频帧的大小可能不一样,因此需要将所有裁剪的后的视频帧缩放到同一个预设的大小,以方便待训练分类模型对多帧视频帧进行处理,比如,缩放到112*112。

可选地,在缩放到预设大小后,还可以根据预设的翻转概率对视频帧进行翻转处理,比如,水平翻转,以进一步进行数据增强,提高训练样本的泛化性。

可选地,预设的翻转概率可以为根据需要设置的任何概率,比如,翻转的概率为0.5。

步骤102,将训练集数据输入待训练分类模型,待训练分类模型包括多个卷积层组和一个输出层组,其中部分卷积层组包括非局部模块。

可选地,参见图4,多个卷积层组为5个卷积层组,按照输入输出顺序依次为第一卷积层组、第二卷积层组、第三卷积层组、第四卷积层组和第五卷积层组。可选地,在第三卷积层组和第四卷积层组包括有非局部模块。需要说明的是,非局部模块还可以设置在其它卷积层组,此处仅以第三卷积层组和第四卷积层组为例。

其中,非局部模块可以通过如下方法定义,假设x是输入到非局部模块的视频帧,xi是某一帧视频帧中的一个参数(一个单独像素),则非局部模块是将所有输入到其中的视频帧包括的参数与xi的关联关系的加权,将该加权作为xi位置处的响应,进一步地,所有视频帧包括的参数的响应作为非局部模块的输出,这里的“所有输入到其中的视频帧的参数”包括空间的、时间的、时空的。因此,非局部模块用于提取多帧视频帧的长距离依赖特征,长距离依赖特征用于表示多帧视频帧所包含的空间位置之间的关联关系。

可选地,第一卷积层组包括卷积核大小为7*7*7,输出通道数为64,在时间维度上的步长为1,在空间维度上的步长为2的卷积计算层。

可选地,第二卷积层组、第三卷积层组、第四卷积层组和第五卷积层组中包括至少一个卷积计算层。第二卷积层组、第三卷积层组、第四卷积层组和第五卷积层组的卷积核大小由包括在其中的具体的卷积计算层确定该卷积计算层可以是瓶颈模块等,不做具体限制。

可选地,第二卷积层组的通道数为128;第三卷积层组的通道数为256;第四卷积层组的通道数为512;第五卷积层组的通道数为1024。

可选地,在第二卷积层组前包括一个尺寸大小为3*3*3,时间维度的步长为2,空间维度的步长为2的最大池化层下采样。

可选地,在第三卷积层组、第四卷积层组和第五卷积层组前均包括尺寸大小为2*2*2,时间和空间维度步长均为2的最大池化层下采样。

进一步地,仍参见图4,输出层组按照输入输出顺序依次包括全局池化层、全连接层。也即,从第五卷积层组输出的特征图输入到全局池化层,再输入到全连接层。

进一步地,待训练分类模型的输出层组还包括分类模块。其中分类模块用于接收全连接层的输出,作为自身的输入,并根据输入计算训练集数据属于各视频类型的概率值,并根据概率值将训练集数据确定为至少一个视频类型。

可选地,待训练分类模型所包括的每个卷积层组包括至少一个瓶颈模块,且瓶颈模块与非局部模块位于同一个卷积层组时,将瓶颈模块和非局部模块间隔设置。

可选地,第一卷积层组不设置瓶颈模块,第二卷积层组的瓶颈模块的数量为3;第三卷积层组的瓶颈模块的数量为4;第四卷积层组的瓶颈模块的数量为6;第五卷积层组的瓶颈模块的数量为3。

其中,每个瓶颈模块包括预设个卷积计算层,且至少一个卷积计算层为深度可分离卷积计算层。其中,深度可分离卷积用于在保持卷积计算结果性能不变的情况下,降低卷积计算的参数量,从而达到降低计算量的效果。

示例性地,每个瓶颈模块包括3个卷积计算层,分别为第一卷积计算层、第二卷积计算层和第三卷积计算层,其中,第一卷积计算层和第三卷积计算层是卷积核大小为1*1*1的卷积计算,第二卷积计算层为深度可分离卷积计算层。

可选地,特征图从每个卷积计算层输出后,输入到一个批次归一化层和一个修正线性单元(英文全程:rectifiedlinearunits,英文简称:relu)激活函数层,分别执行归一化操作和relu激活操作。

可选地,深度可分离卷积计算包括:

步骤一、对输入到其中的特征图的每个通道分别进行卷积核大小为3*3*3的卷积计算,得到每个通道的特征图。

本步骤可以为:确定特征图的通道数,按照通道分解特征图,将特征图拆分为通道数量个通道特征图,之后对拆分后的每个通道特征图进行卷积核大小为3*3*3,输入通道数为1,输出通道数为1的卷积计算,得到新的通道数量个通道特征图。

示例性地,特征图的大小为n*h*w*c1,其中,n表示时间维度的大小,h*w表示空间维度的大小,c1表示输入通道数。则将该特征图拆分为c1个通道特征图,之后对这c1个通道特征图进行卷积核大小为3*3*3,输入通道数为1,输出通道数为1的卷积计算,得到通道数量个新的通道特征图。

步骤二、合并全部新的通道特征图,得到合并特征图。

示例性的,仍以上述例子为例,则将c1个通道特征图合并得到一个合并特征图。

步骤三、对合并特征图进行卷积核大小为1*1*1的卷积计算,得到深度可分离卷积计算层的输出。

可选地,步骤1023可以为对合并特征图进行卷积核大小为1*1*1,输入通道数为c1,输出通道数为c2的卷积计算。

此处使用深度可分离卷积计算,相较于传统的卷积计算能够大大降低计算量。比如,针对一个n*h*w*c1的特征图,使用卷积核大小为3*3*3,输出通道数为c2的卷积计算,其计算的参数量为c1*3*3*3*c2,而如果使用深度可分离卷积计算,包括的参数量为c1*3*3*3+c1*1*1*1*c2,该参数量明显小于c1*3*3*3*c2。因此,深度可分离卷积计算能够大大降低计算量。

其中,当一个卷积层组中包括相间隔设置的瓶颈模块和非局部模块时,相间隔设置的具体位置根据瓶颈模块和非局部模块的数量进行确定,不做具体限制。

示例性地,当第三卷积层组和第四卷积层组中包括相间隔设置的瓶颈模块和非局部模块,且第三卷积层组的瓶颈模块的数量为4,非局部模块数量为2,第四卷积层组的瓶颈模块的数量为6,非局部模块数量为3时,第三卷积层组中的2个非局部模块可以设置在第一瓶颈模块与第二瓶颈模块、第二瓶颈模块和第三瓶颈模块、以及第三瓶颈模块与第四瓶颈模块之间的任意两个位置处。比如,在图5中,第三卷积层组中的2个非局部模块设置在第一瓶颈模块与第二瓶颈模块、第二瓶颈模块和第三瓶颈模块之间。

进一步地,参见图6,当一个卷积层组中包括相间隔设置的瓶颈模块和非局部模块时,待训练分类模型对多帧视频帧执行如下处理步骤,以获取特征图组:

步骤1021,多帧视频帧对应的特征图通过瓶颈模块进行深度可分离卷积处理,同时对深度可分离卷积处理后的特征图进行通道翻倍处理,得到第一特征图组。

其中,通道翻倍指将通道数变为原来的若干倍,一般为整数倍,以提高卷积计算的效果,进而提高待分类模型的分类性能。

相较于一般的卷积计算层,本申请实施例增加了特征图的通道数,提高了分类性能,同时使用深度可分离卷积计算以降低参数量,因此,该方法在不增加参数量的前提下,提高分类性能。

步骤1022,将第一特征图组输入非局部模块,非局部模块计算每张特征图所包含的空间位置之间的对应关系,作为长距离依赖特征,输出包含长距离依赖特征的第二特征图组。

步骤103,通过非局部模块提取多帧视频帧的长距离依赖特征,长距离依赖特征用于表示多帧视频帧所包含的空间位置之间的关联关系。

其中,长距离依赖特征可以为同一张特征图中不同像素之间的关联关系,或不同特征图之间的关联关系。

可选地,本申请实施例通过如下公式(1)定义一个非局部模块:

zi=wzyi+xi(1)

其中,zi表示非局部模块的输出,xi表示非局部模块的输入,可以为一张特征图上的一个像素,wz为系数,可以随机初始化,yi用于建立特征图中像素xi和与之相关的像素之间的关联关系,yi通过如下公式(2)计算得到:

其中,c(x)是归一化参数,在本申请实施例中c(x)取n,n表示与xi有关系的位置个数。

其中,g(xj)用于计算输入信号在j位置的特征值。

其中,f(xi,xj)用来计算位置i和位置j之间的关联度,比如,如i和j的位置距离越远,f值越小,表示j位置对i影响越小。

进一步地,f(xi,xj)使用如下公式(3)计算:

f(xi,xj)=θ(xi)tφ(xj)(3)

其中,θ表示对输入xi进行卷积核为1*1*1的卷积计算,φ表示对输入xj进行卷积核为1*1*1的卷积计算。

进一步地,非局部模块的网络结构如图7所示,其中,输入为t*h*w*1024,其中,t表示时间维度,h*w表示空间维度,1024表示输入的特征图的通道数。

由于非局部模块可以获取特征图的长距离依赖特征,相较于现有技术使用堆叠卷积计算来获取周围信息的方法,非局部模块提高分类模型的分类性能。

步骤104,将长距离依赖特征输出到输出层组,输出多帧视频帧的预测分类结果。

这里需要说明的是,当待训练分类模型还包括瓶颈模块时,输到输出层的特征图内容还包括由瓶颈模块提取的特征。

步骤105,通过预设的预测损失函数对待训练分类模型进行训练,直至待训练分类模型中的参数收敛,得到视频分类模型。

可选地,预测损失函数可以为如下公式(4):

公式(4)为一种改进的交叉熵损失函数,其中,y=1表示训练样本为正样本,y=0表示训练样本为负样本。

y′表示训练样本为正样本时,待训练分类模型输出的概率值,取值范围是大于等于0,小于等于1。

其中,γ为根据实际情况设置的数值,比如,设置为0.5、1或2。

而现有的交叉熵损失函数为如下公式(5):

由公式(4)和公式(5)可知,使用公式(4)计算损失值,相较于使用公式(5)计算损失值,可以减少易分类样本的损失,通过这样方式避免了模型的损失值是由大量的易分样本贡献的,提高模型对难分样本的关注。

例如γ取2时,对于正样本而言,预测结果为0.9认为其是易分样本,使用公式(4)得到的正样本的损失是普通交叉熵损失函数的损失的0.01倍;如果预测结果为0.1认为其是难分样本,使用公式(4)得到的正样本的损失是普通交叉熵损失函数的损失的0.81倍。可见通过使用公式(4)计算损失值时,对于易分样本,损失减少得比较多,对于难分样本,损失减少得比较少,通过这样方式避免了待测试分类模型的损失值是由大量的易分样本提供的,提高模型对难分样本的关注。

另外,训练过程中,使用了改进的交叉熵损失函数,针对预训练模型的获取,利用随机梯度算法进行优化,设置动量为0.9,权重衰减为0.001,学习速率初始化为0.1,一共设置150轮迭代,同时如果在连续10轮迭代中,训练集损失不降低的情况下,学习速率将降低10倍,并且学习速率降低10倍的情况只会出现两次,即如果出现第3次在连续10轮迭代中训练集损失不降低的情况,学习率保持不变,不再降低10倍。针对模型微调时,初始学习速率为0.001,权重衰减为0.00001,其他条件同训练预训练模型。

可选地,在对待训练分类模型完成之后,还需要对其进行测试。

可选地,测试过程如下:

对于一个待测试视频,采用滑动窗口的方式产生多组测试样本,比如,产生5组测试样本,每个测试样本包括若干帧图像,比如,每个测试样本包括16帧图像;对于每一组测试样本,分别输入到待测试模型,以使待测试模型输出每组测试样本属于每个视频类型的概率值,平均每个视频类型的概率值,得到平均概率值,将最大的平均概率值对应的视频类型作为该待测试视频所属的视频类型。

另外,需要说明的是,上述kinetics视频数据库包含400个视频类型,共300000个视频片段,是一个较大的视频数据库。通过该视频数据库训练待训练分类模型,得到性能较好的视频分类模型,但是此时的视频分类模型对于另一种特定的视频数据集,还存在一定的误差,因此在使用该视频分类模型时,需要在特定的视频数据集上再次进行训练,以微调视频分类模型,进而可以得到适合该特征的视频数据集的分类模型。该特定的数据集可以为某个需要进行分类的视频集的一部分,比如,可以为应用软件对应的视频数据集,这样通过使用该应用软件的视频数据集进行微调后,可以对该应用软件的其它视频进行分类。

综上所述,本申请实施例提供的视频分类模型构建的方法,通过在三维卷积神经网络中设置非局部模块,以使用非局部模块获取长距离依赖特征,相较于现有技术使用多个卷积层提取特征图后,依靠特征图进行视频分类,本申请实施例可以获取不同像素之间或不同特征图之间的关联性,从而提高了视频分类的准确性。

另外,本申请实施例提供视频分类模型构建的方法,还将瓶颈模块中的部分卷积计算层使用深度可分离卷积计算代替,以减少参数数量,降低分类过程中的计算量,提高视频分类的效率。

另外,本申请实施例提供的视频分类模型构建的方法,还适当增加特征图的通道数,以提高特征图特征提取的性能,进而提高分类模型的分类性能。

另外,本申请实施例提供的视频分类模型构建的方法,还改进了分类模型训练阶段的损失函数,通过增加超参数的方法,避免了模型的损失值是由大量的易分样本贡献,提高模型对难分样本的关注。

图8是根据本申请实施例示出的一种视频分类方法的流程图。图8所示的方法可以由视频分类装置执行,视频分类装置作为执行主体。视频分类装置可以集成在终端或服务器等计算机设备中,视频分类装置可以是硬件也可以是软件模块。该方案可以由单一的终端或服务器执行,也可以由二者配合起来执行。如图8所示,该方法包括以下步骤:

步骤301,获取待分类的视频。

步骤302,按照预设时间位置从视频中获取多帧视频帧;

可选地,视频帧数据可以通过如下方法得到:获取待分类视频;从待分类视频中按照预设方法获取若干帧图像,得到视频帧数据。

其中,预设方法可以是从待分类视频中随机获取若干帧图像,进一步地,随机获取若干帧图像包括:在待分类视频中随机确定一个时间位置,在该时间位置的周围获取若干帧图像,得到视频帧数据。进一步地,当待分类视频的长度不足于获取若干帧图像时,可以通过循环操作来获取若干帧图像。

可选地,若干帧图像的帧数可以是固定帧数,比如,固定为16帧。也可以是根据实际情况确定的帧数。比如,当视频较长时,可以获取较多帧图像,当视频较短时,可以获取较少帧图像。

步骤303,将多帧视频帧输入至预先训练得到的视频分类模型,输出多帧视频帧的至少一个分类标签。

其中,预先训练的分类模型为三维卷积神经网络。进一步地,通过三维卷积神经网络获取视频帧数据的特征图,然后根据特征图对待分类视频进行分类。

可选地,分类结果中待分类视频只能属于某一个视频类型。

可选地,待分类视频可以属于一个视频类型,也可以属于多个视频类型。

进一步地,分类结果可以根据待分类视频属于各视频类型的概率进行确定。进一步地,当分类结果中待分类视频只能属于某一个视频类型时,将最高的概率对应的视频类型,确定为待分类视频属于的视频类型。进一步地,当待分类视频可以属于一个视频类型,也可以属于多个视频类型时,如果属于某一个视频类型的概率明显高于其它视频类型的概率时,确定待分类视频为该某一个视频类型;当属于多个视频类型的概率基本相同,且明显高于属于其它视频类型的概率时,确定待分类视频属于该多个视频类型。

示例性地,视频类型包括1、2、3、4和5这五种类型,预先训练的分类模型计算的待分类视频属于各视频类型的概率值为[0.1,0.35,0.05,0.05,0.45],则预先训练的分类模型确定待分类视频分为第5个视频类型;当计算的概率值为[0.1,0.35,0.05,0.15,0.35]时,预先训练的分类模型确定待分类视频分为第2和第5个视频类型。

另外,需要说明的是,视频分类模型通过如图2-图3所示的任一种的视频分类模型的训练方法训练得到。

步骤304,根据多帧视频帧的至少一个分类标签标识视频的类别。

综上所述,本申请实施例提供的视频分类方法,通过在三维卷积神经网络中设置非局部模块,以使用非局部模块获取长距离依赖特征,相较于现有技术使用多个卷积层提取特征图后,依靠特征图进行视频分类,本申请实施例可以获取不同像素之间或不同特征图之间的关联性,从而提高了视频分类的准确性。

另外,本申请实施例提供视频分类方法,还将瓶颈模块中的部分卷积计算层使用深度可分离卷积计算代替,以减少参数数量,降低分类过程中的计算量,提高视频分类的效率。

另外,本申请实施例提供的视频分类方法,还适当增加特征图的通道数,以提高特征图特征提取的性能,进而提高分类模型的分类性能。

另外,本申请实施例提供的视频分类方法,还改进了分类模型训练阶段的损失函数,通过增加超参数的方法,避免了模型的损失值是由大量的易分样本贡献,提高模型对难分样本的关注。

本说明书中的实施例均采用递进的方式描述,各个实施例子之间的相似部分相互参见。每个步骤下的实施例侧重于该步骤下的具体方法。以上的所描述的实施方案仅仅是示意性的,具体实施例仅是对本申请做举例说明,本申请所属技术领域的技术人员在不脱离本申请实施例所述原理的前提,还可以做出若干改进和润色,这些改进也应视为本申请的保护范围。

图9是根据本申请实施例示出的一种视频分类模型构建的装置框图。图9所示的装置可以设置在终端上,如图9所示,该装置包括:

第一获取模块801,用于获取训练集数据,训练集数据包括多帧视频帧;

输入模块802,用于将训练集数据输入待训练分类模型,待训练分类模型包括多个卷积层组和一个输出层组,其中部分卷积层组包括非局部模块;

提取模块803,用于通过非局部模块提取多帧视频帧的长距离依赖特征,长距离依赖特征用于表示多帧视频帧所包含的空间位置之间的关联关系;

输出模块804,用于将长距离依赖特征输出到输出层组,输出多帧视频帧的预测分类结果;

训练模块805,用于通过预设的预测损失函数对待训练分类模型进行训练,直至待训练分类模型中的参数收敛,得到视频分类模型。

可选地,待训练分类模型所包括的每个卷积层组包括至少一个瓶颈模块,且瓶颈模块与非局部模块位于同一个卷积层组时,将瓶颈模块和非局部模块间隔设置。

进一步地,提取模块803,还用于:

多帧视频帧对应的特征图通过瓶颈模块进行深度可分离卷积处理,同时对深度可分离卷积处理后的特征图进行通道翻倍处理,得到第一特征图组;

将第一特征图组输入非局部模块,非局部模块计算每张特征图所包含的空间位置之间的对应关系,作为长距离依赖特征,输出包含长距离依赖特征的第二特征图组。

可选地,预测损失函数包括:

其中,y=1表示训练样本为正样本,y=0表示训练样本为负样本,y′表示训练样本为正样本时,待训练分类模型输出的概率值,取值范围是大于等于0,小于等于1;其中,γ为预设数值。

可选地,第一获取模块801还用于:

对待处理视频按照时间位置抽取多帧视频帧;

确定多帧视频帧中的每帧视频帧的空间位置;

按照预定的空间尺寸对确定空间位置后的视频帧进行多尺度裁剪;

将经过裁剪处理后的视频帧进行缩放、翻转处理得到训练集数据。

另外,需要说明的是,装置实施例中的相关内容,请参照方法实施例,在此不做赘述。

综上所述,本申请实施例提供的视频分类模型构建的装置,通过在三维卷积神经网络中设置非局部模块,以使用非局部模块获取长距离依赖特征,相较于现有技术使用多个卷积层提取特征图后,依靠特征图进行视频分类,本申请实施例可以获取不同像素之间或不同特征图之间的关联性,从而提高了视频分类的准确性。

另外,本申请实施例提供的视频分类模型构建的装置,还将瓶颈模块中的部分卷积计算层使用深度可分离卷积计算代替,以减少参数数量,降低分类过程中的计算量,提高视频分类的效率。

另外,本申请实施例提供的视频分类模型构建的装置,还适当增加特征图的通道数,以提高特征图特征提取的性能,进而提高分类模型的分类性能。

另外,本申请实施例提供的视频分类模型构建的装置,还改进了分类模型训练阶段的损失函数,通过增加超参数的方法,避免了模型的损失值是由大量的易分样本贡献,提高模型对难分样本的关注。

图10是根据本申请实施例示出的一种视频分类的装置框图。图10所示的装置可以设置在终端上,如图10所示,该装置包括:

第二获取模块901,用于获取待分类的视频;

第三获取模块902,用于按照预设时间位置从视频中获取多帧视频帧;

输入输出模块903,用于将多帧视频帧输入至预先训练得到的视频分类模型,输出多帧视频帧的至少一个分类标签;

其中,视频分类模型通过图9所示的任一种的视频分类模型的训练装置训练得到。

标识模块904,用于根据多帧视频帧的至少一个分类标签标识视频的类别。

另外,需要说明的是,装置实施例中的相关内容,请参照方法实施例,在此不做赘述。

综上所述,本申请实施例提供的视频分类的装置,通过在三维卷积神经网络中设置非局部模块,以使用非局部模块获取长距离依赖特征,相较于现有技术使用多个卷积层提取特征图后,依靠特征图进行视频分类,本申请实施例可以获取不同像素之间或不同特征图之间的关联性,从而提高了视频分类的准确性。

另外,本申请实施例提供的视频分类的装置,还将瓶颈模块中的部分卷积计算层使用深度可分离卷积计算代替,以减少参数数量,降低分类过程中的计算量,提高视频分类的效率。

另外,本申请实施例提供的视频分类的装置,还适当增加特征图的通道数,以提高特征图特征提取的性能,进而提高分类模型的分类性能。

另外,本申请实施例提供的视频分类的装置,还改进了分类模型训练阶段的损失函数,通过增加超参数的方法,避免了模型的损失值是由大量的易分样本贡献,提高模型对难分样本的关注。

图11是根据本申请实施例示出的一种计算机系统1000的结构示意图,计算机系统包括中央处理单元(cpu)1001,其可以根据存储在只读存储器(rom)1002中的程序或者从存储部分加载到随机访问存储器(ram)1003中的程序而执行各种适当的动作和处理。在ram1003中,还存储有系统操作所需的各种程序和数据。cpu1001、rom1002以及ram1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。

以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分;包括硬盘等的存储部分1008;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。

特别地,根据本申请的实施例各流程图描述的过程可以被实现为计算机软件程序。例如,本申请的各方法实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)1001执行时,执行本申请的系统中限定的上述功能。

需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一获取模块、输入模块、提取模块、输出模块及训练模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的视频分类模型构建的方法。

例如,所述电子设备可以实现如图2中所示的:步骤101,获取训练集数据,训练集数据包括多帧视频帧。步骤102,将训练集数据输入待训练分类模型,待训练分类模型包括多个卷积层组和一个输出层组,其中部分卷积层组包括非局部模块。步骤103,通过非局部模块提取多帧视频帧的长距离依赖特征,长距离依赖特征用于表示多帧视频帧所包含的空间位置之间的关联关系。步骤104,将长距离依赖特征输出到输出层组,输出多帧视频帧的预测分类结果。步骤105,通过预设的预测损失函数对待训练分类模型进行训练,直至待训练分类模型中的参数收敛,得到视频分类模型。又如,所述电子设备可以实现如图2、图3和图8中所示的各个步骤。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。

综上所述,本申请实施例提供的视频分类计算机系统或计算机可读介质,通过在三维卷积神经网络中设置非局部模块,以使用非局部模块获取长距离依赖特征,相较于现有技术使用多个卷积层提取特征图后,依靠特征图进行视频分类,本申请实施例可以获取不同像素之间或不同特征图之间的关联性,从而提高了视频分类的准确性。

上述仅为本申请较佳实施例及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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