掌桥专利:专业的专利平台
掌桥专利
首页

一种视频分类方法、装置、设备及计算机可读存储介质

文献发布时间:2024-04-18 19:58:26


一种视频分类方法、装置、设备及计算机可读存储介质

技术领域

本申请涉及数据处理技术领域,尤其涉及一种视频方法、装置、设备及计算机可读存储介质。

背景技术

随着网络视频数据的日益增长,视频数据处理技术得到了广泛的运用,对视频数据所表示的内容进行理解并进行视频分类成为视频数据处理的基础问题。视频分类技术主要是根据视频中的内容给出视频对应的类别,该技术可以广泛应用于短视频推荐、自动驾驶辅助以及智能安防等场景中,准确且快速的理解视频内容并给出对应类别,可以大大的改善和提高用户体验。

相关技术中,一种视频分类方法基于膨胀3D卷积(Inflated 3D ConvNet,I3D)网络,将视频数据分为音频模态数据和视觉模态数据分别进行处理,该方法对视频中的音频模态数据进行处理,会对一些场景下的视频分类带来一定程度的干扰,降低视频分类的准确性;另一种视频分类方法提取视频的光流图像帧和RGB图像帧,对RGB图像帧和光流图像帧使用带通道注意力机制的I3D网络进行分类,但是该方法难以处理视频中不同尺寸的目标对象,从而无法保证视频分类的准确性。

发明内容

为解决上述技术问题,本申请实施例期望提供一种视频分类方法,能够提高视频分类准确性。

申请实施例的的技术方案是这样实现的:

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

获取待处理的视频文件对应的至少一个目标图像帧,并对所述至少一个目标图像帧进行预处理,得到至少一个预处理后的目标图像帧;

获取训练好的视频分类模型,所述训练好的视频分类模型至少包括卷积注意力模块,所述卷积注意力模块中包括多个卷积核,与所述预处理后的目标图像帧中目标对象大小匹配的卷积核的权重大于其他卷积核的权重;

利用所述训练好的视频分类模型对所述至少一个预处理后的目标图像帧进行分类处理,得到所述待处理的视频文件的分类结果;

输出所述分类结果。

本申请实施例提供一种视频分类装置,包括:

第一获取模块,用于获取待处理的视频文件对应的至少一个目标图像帧,并对所述至少一个目标图像帧进行预处理,得到至少一个预处理后的目标图像帧;

第二获取模块,用于获取训练好的视频分类模型,所述训练好的视频分类模型至少包括卷积注意力模块,所述卷积注意力模块中包括多个卷积核,与所述预处理后的目标图像帧中目标对象大小匹配的卷积核的权重大于其他卷积核的权重;

处理模块,用于利用所述训练好的视频分类模型对所述至少一个预处理后的目标图像帧进行分类处理,得到所述待处理的视频文件的分类结果;

输出模块,用于输出所述分类结果。

本申请实施例提供一种视频分类设备,包括:

存储器,用于存储可执行视频分类指令;

处理器,用于执行所述存储器中存储的可执行视频分类指令时,实现权利要求本申请实施例提供的视频分类方法。

本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行视频分类指令,所述计算机可执行视频分类指令配置为执行本申请实施例提供的视频分类方法。

本申请实施例提供一种视频分类方法、装置、设备和计算机可读存储介质,采用本技术方案,首先,获取待处理的视频文件对应的至少一个目标图像帧,对各个目标图像帧进行预处理,获得预处理后的至少一个目标图像帧,然后,获取训练好的视频分类模型;利用该训练好的视频分类模型对至少一个预处理后的目标图像帧进行分类处理,得到待处理的视频文件的分类结果,并输出所述分类结果。在本申请实施例中,训练好的视频分类模型至少包括具有多个卷积核的卷积注意力模块,多个卷积核中与预处理后的目标图像帧中目标对象大小匹配的卷积核的权重大于其他卷积核的权重,从而可以获取与各个卷积核匹配的不同目标对象,实现对预处理后的目标图像帧中不同尺寸的目标对象的处理,提高视频分类的准确性。

附图说明

图1为本申请实施例提供的一种视频分类方法的流程示意图;

图2为申请实施例提供的一种目标图像帧的获取方法流程示意图;

图3为本申请实施例提供的一种基于SK-I3D网络模型的视频分类方法流程示意图;

图4为本申请实施例提供的一种SK-I3D视频分类模型的结构示意图;

图5为本申请实施例提供的一种SK-Inc模块的结构示意图;

图6为本申请实施例提供的一种视频分类装置的组成结构示意图;

图7为本申请实施例提供的一种视频分类设备的组成结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例另一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例另一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本申请所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

为了更好地理解本申请实施例中提供的视频分类方法,首先对相关技术中视频分类方法及存在的缺点进行说明。

申请号为CN202010117185.X的中国专利提出了一种基于深度网络的多模态特征融合的短视频单标签分类方法,该方法选取了三个I3D网络,对音频模态数据和视觉模态进行处理,三个I3D网络构建的模型会引起计算量剧增,会大大地降低视频分类的预测速度;同时,对视频中的音频模态数据进行处理,会对一些场景下的视频分类带来一定程度的干扰,比如对直播场景下带有背景音乐的视频进行分类。由此可见,该方法在视频分类时预测速度慢,不适用于要求实时或者准实时的场景,且引入音频模态数据会在部分场景下降低视频分类准确度。

申请号为CN202110116862.0的中国专利提出了一种基于双流卷积注意力的动作识别方法,该方法首先把视频分成K段,然后再从每段中随机进行抽取RGB图像帧,并同时提取光流图像帧,对RGB图像帧和光流图像帧使用带注意力机制的I3D进行分类。该方案由于对视频随机抽样的方法会漏掉视频中比较关键的信息片段,且划分成K段子视频会引起多个子视频之间关联关系的缺失。同时,视频抽取光流图像帧需要消耗大量的算力对视频处理,因此也不适用于实时或者准实时的场景,且虽然使用了注意力机制对I3D进行改进,但该方案仅仅使用了通道注意力,无法根据视频中不同尺寸大小的关键目标的进行自适应的重点关注,难以保证视频分类的精度。

基于上述问题,本申请实施例提供了一种视频分类方法,该方法能够保证视频分类的预测速度,提高视频分类的精度。

下面,将说明本申请实施例提供的视频分类方法,该方法可应用于视频分类设备,该视频分类设备可以是智能手机、台式计算机、笔记本电脑、平板电脑等终端,还可以是服务器等。如图1所示,为本申请实施例提供的一种视频分类方法流程示意图,该方法包括以下步骤:

S101、获取待处理的视频文件对应的至少一个目标图像帧,并对至少一个目标图像帧进行预处理,得到至少一个预处理后的目标图像帧。

需要说明的是,图像帧可以是待处理的视频文件对应的多帧图像,目标图像帧可以是待处理的视频文件中的关键图像帧,关键图像帧可以反映视频内容的变化,可以完整的还原原始视频。在一些实施例中,从待处理的视频文件可以仅提取RGB图像帧,即获取的目标图像帧均可以是RGB图像帧。

在一些实施例中,对目标图像帧的预处理可以是对获得的至少一个目标图像帧进行裁剪处理,使得裁剪处理后的目标图像帧可以满足视频分类模型的输入要求。对至少一个目标图像帧进行预处理时,可以是将目标图像帧裁剪为预设尺寸的大小,预设尺寸可以是预先设定的图像尺寸,图像尺寸表示图像帧的大小,若图像帧的长、宽分别为a和b,则图像尺寸可以用a*b来表示,预设尺寸可以为任意合适的值,例如224*224等,只要满足分类模型要求的图像尺寸即可。示例性地,若分类模型要求的图像尺寸是224*224,预设尺寸可以是224*224,从待处理的视频文件中获取的目标图像帧的图像尺寸为800*800,则可以将图像尺寸为800*800的目标图像帧裁剪为图像尺寸为224*224的图像帧。

S102、获取训练好的视频分类模型。

在一些实施例中,训练好的视频分类模型至少包括卷积注意力模块,卷积注意力模块中包括多个卷积核,与预处理后的目标图像帧中目标对象大小匹配的卷积核的权重大于其他卷积核的权重。

在一些实施例中,卷积注意力模块中的卷积核可以包含普通卷积核和空洞卷积核,普通卷积核和空洞卷积核的个数均可以是一个或多个。多个卷积核有各自对应的权重,不同的卷积核与不同大小的目标对象匹配。当基于卷积核对目标图像帧中的目标对象进行特征提取时,与目标图像帧的中目标对象大小匹配的卷积核的权重大于其他卷积核的权重,使得各个卷积核可以提取与自身匹配的目标对象的全部特征,从而获取到更加准确和全面的待处理的视频文件的内容。

S103、利用训练好的视频分类模型对至少一个预处理后的目标图像帧进行分类处理,得到待处理的视频文件的分类结果。

在一些实施例中,在获取了预处理后的目标图像帧,以及训练好的视频分类模型之后,可以将预处理后的目标图像帧输入训练好的视频分类模型,利用训练好的视频分类模型对预处理后的目标图像帧进行分类处理,从而获得预处理后的目标图像帧对应的待处理视频文件的分类结果。

S104、输出分类结果。

在获取了待处理的视频文件对应的分类结果后,可以从训练好的视频分类模型中输出该分类结果,该分类结果可以表示待处理的视频文件所述的类别,该类别可以是科技类、美食类、旅游类、运动类等。

在一些实施例中,当步骤S104是由诸如智能手机、台式计算机等终端设备实现时,输出分类结果可以是将通过终端设备的显示装置输出呈现该分类结果;当该步骤是由服务器实现时,输出分类结果可以是将分类结果发送至请求进行视频分类的终端,进而该请求进行视频分类的终端在接收到分类结果后,通过自身的显示装置呈现该分类结果。

在本申请实施例提供的视频分类方法中,首先,获取待处理的视频文件对应的至少一个目标图像帧,对各个目标图像帧进行预处理,获得预处理后的至少一个目标图像帧,然后,获取训练好的视频分类模型;利用该训练好的视频分类模型对至少一个预处理后的目标图像帧进行分类处理,得到待处理的视频文件的分类结果,并输出所述分类结果。在本申请实施例中,训练好的视频分类模型至少包括具有多个卷积核的卷积注意力模块,多个卷积核中与预处理后的目标图像帧中目标对象大小匹配的卷积核的权重大于其他卷积核的权重,从而可以获取与各个卷积核匹配的不同目标对象,实现对预处理后的目标图像帧中不同尺寸的目标对象的处理,提高视频分类的准确性。

如图2所示,为本申请实施例提供的一种目标图像帧的获取方法流程示意图,在本申请的一些实施例中,获取待处理的视频文件对应的至少一个目标图像帧,即步骤S101还可以通过下述步骤S1011至步骤S1018来实现,以下对各个步骤进行详细说明。

S1011、基于预设分辨率对待处理的视频文件进行分辨率调整,获得第一视频文件。

需要说明的是,视频文件对应的分辨率可以用于度量视频文件对应的图像帧内的数据量多少,可以表示图像帧在横向和纵向上的有效像素。由于待处理的视频文件可以包括多个,各个待处理的视频文件之间分辨率会存在差异,这些差异会使得视频分类模型难以处理不同的待处理的视频文件,因此需要对各个待处理的视频文件进行统一的处理,使得各个待处理的视频文件的分辨率保持一致,便于视频分类模型对各个待处理的视频文件进行处理。

在一些实施例中,预设分辨率可以是预先设定的任意数值,例如预设分辨率可以是720×480、1920×1080等。基于预设分辨率对待处理的视频文件进行分辨率的调整后,获得的第一视频文件的分辨率为预设分辨率。

S1012、基于第一预设帧率对第一视频文件进行帧率调整,获得第二视频文件。

需要说明的是,帧率可以表示以帧为单位的图像连续出现在显示器上的速率或频率,单位用帧每秒(frames per second,fps)表示,第一预设帧率可以是预设的帧率,第一预设帧率可以是预先设定的任意正整数,例如5、8、10等。

在一些实施例中,当带处理的视频文件包括多个时,经过分辨率调整后得到各个第一视频文件对应的帧率可能不同,使得视频分类模型难以处理不同的视频文件,因此,需要对各个第一视频文件进行帧率调整,使得经过帧率调整后的各个视频文件,即第二视频文件具有相同的帧率。在一些实施例中,第二视频文件对应的视频时长可能不同于帧率被调整前的第一视频文件对应的视频时长,示例性地,如果一第一视频文件对应的视频时长为6分钟,该第一视频文件经过帧率调节后得到的第二视频文件对应的视频时长可能为10分钟。

S1013、间隔第一预设时长对第二视频文件中的图像帧进行提取,得到提取出的多个图像帧。

需要说明的是,第一预设时长可以是预先设定的任意时长,可以作为提取第二视频文件中的图像帧的采样周期,每间隔第一预设时长提取一次图像帧,直至达到视频结束时间,获得第二视频文件对应的多个图像帧。

S1014、获取提取出的图像帧的图像帧个数S。

S1015、判断图像帧个数S是否小于预设的帧数阈值Q。

在一些实施例中,在获取了第二第二视频文件对应的图像帧后,还可以对图像帧的个数进行统计,获得图像帧个数S。之后,可以判断获得的图像帧个数S是否小于预设的帧数阈值Q。预设的帧数阈值Q可以是预先设定的图像帧个数,帧数阈值Q用于表示满足视频分类模型要求的图像帧的个数,帧数阈值Q可以是任意的正整数,例如7、10、15等。

在一些实施例中,如果图像帧个数S小于帧数阈值Q,则执行步骤S1016至步骤S1017;反之,如果图像帧个数S大于或者等于预设的帧数阈值Q,则执行步骤S1018。

S1016、获取从第二视频文件提取出的最后一个图像帧。

需要说明是,从第二视频文件中提取出的多个图像帧具有时间戳,最后一个图像帧可以是按时间戳排序后,排列在最后位置的图像帧。在一些实施例中,当提取出的多个图像帧的图像帧的个数S小于帧数阈值Q时,表示从第二视频文件提取出的图像帧的个数不满足分类模型的所要求的图像帧的个数,此时,便可以从提取出的多个图像帧中获的最后一个图像帧。

S1017、将提取出的多个图像帧和(Q-S)个最后一个图像帧确定为第二视频文件对应的至少一个目标图像帧。

在一些实施例中,在获取了第二视频文件对应的多个图像帧,以及多个图像帧中的最后一个图像帧后,可以先确定图像帧个数S与帧数阈值Q之间的差值(Q-S),然后将多个图像帧,以及(Q-S)个的最后一个图像帧确定为第二视频文件对应的目标图像帧。

S1018、将提取出的多个图像帧确定为第二视频文件对应的至少一个目标图像帧。

在另一些实施例中,如果判断图像帧个数S大于或等于预设的帧数阈值Q,则说明从第二视频文件中提取出的图像帧的个数满足视频分类模型所要求的图像帧个数,此时,可以直接将提取出的多个图像帧作为第二视频文件对应的目标图像帧。

可以理解的是,将待处理的视频文件进行分辨率调整、帧率调整,以及在提取出的多个图像帧的个数不满足视频分类模型要求时,基于多个图像帧和最后一个图像帧,确定待处理的视频文件对应的目标图像帧,可以避免由于待处理的视频文件在分辨率、帧速率、视频时长等会存在差异,而导致视频分类模型难以处理不同待处理的视频文件的问题,为视频分类模型的分类处理提供前提条件。

在本申请的一些实施例中,训练好的视频分类模型还包括卷积模块、池化模块、分类模块。基于此,利用训练好的视频分类模型对至少一个预处理后的目标图像帧进行分类处理,得到待处理的视频文件的分类结果,即步骤S103,还可以通过下述步骤S1031至步骤S1034来实现。

S1031、利用训练好的视频分类模型中的卷积模块,对至少一个预处理后的目标图像帧进行卷积处理,获得卷积处理后的至少一个第一特征图。

在一些实施例中,训练好的视频分类模型中的卷积模块可以包括一个或多个,一个或多个卷积模块对应有一个或多个卷积核,一个或多个卷积核可以均为三维卷积核,卷积核的大小可以用a*b*t来表示,其中a、b、t分别表示卷积核的长、宽和时长。示例性地,卷积模块可以包括一个大小为7*7*7卷积核,两个大小为1*1*1的卷积核,一个大小为3*3*3的卷积核,各个卷积核的步长stride均可以设置为2。

在一些实施例中,在利用训练好的视频分类模型对预处理后的目标图像帧进行分类处理时,可以首先利用卷积模块对预处理后的目标图像帧进行卷积处理,获得卷积处理后的一个或多个第一特征图。第一特征图可以表示利用卷积模块中对应的卷积核对处理后的目标图像帧进行卷积处理后得到的特征图,第一特征图的个数可以和卷积核的个数对应,当获取到多个第一特征图时,各个特征图可能不同。

S1032、利用池化模块对至少一个第一特征图进行池化处理,得到池化处理后的至少一个第二特征图。

需要说明的是,池化模块可以包括一个或多个,不同的池化模块对应的滑动窗口(sliding window)的大小可以不同,滑动窗口移动的步长stride也可以不同。在一些实施例中,滑动窗口的大小可以用m*n*l来表示,其中,m、n、l分别表示长、宽和时长,步长可以用stride=a,b,c来表示,其中a,b,c分别表示滑动窗口在长、宽和时长三个维度上滑动时对应的步长。

在一些实施例中,在获取了卷积处理后的至少一个第一特征图之后,可以将利用池化模块对第一特征图进行池化处理,获得池化处理后的第二特征图。当池化模块包括多个时,不同的池化模块可以对第一特征图进行最大池化处理或平均池化处理,以下将进行最大池化处理的池化模块称为最大池化处理模块,将进行平均池化处理的池化模块称为平均池化处理模块。

示例性地,在一些实施例中,训练好的视频分类模型可以包括5个池化模块,其中,两个最大池化模块对应的滑动窗口大小为1*3*3,步长为stride=1,2,2;一个最大池化模块对应的滑动窗口大小为1*3*3,步长为stride=2,2,2;一个最大池化模块对应的滑动窗口大小为2*2*2,步长为stride=2,2,2;一个平均池化模块对应的滑动窗口大小为2*7*7,步长为stride=2,2,2。

S1033、利用卷积注意力模块对至少一个第二特征图进行卷积处理和聚合处理,获得至少一个第三特征图。

需要说明的是,卷积注意力模块对应有一个或多个卷积核,多个卷积核可以包括普通卷积核和空洞卷积核,普通卷积核和空洞卷积核的个数可以是一个或多个。在一些实施例中,在获得了经过池化模块进行池化处理后的第二特征图后,可以基于卷积注意力模块对应的多个卷积核对第二特征图分别进行卷积处理,获得多个卷积处理结果,之后对多个卷积处理结果进行聚合处理,以获得经过处理后的第三特征图。

S1034、利用分类模块确定至少一个第三特征图对应视频文件的分类结果。

需要说明的是,分类模块可以基于至少一个第三特征图,确定待处理的视频文件的分类结果,分类结果可以是待处理的视频文件所属类别。在一些实施例中,分类模块可以包括softmax分类器,利用softmax分类器可以确定当前待处理的视频文件属于不同类别时对应的概率,之后选取概率最大的类别即为当前待处理的视频文件所属类别。

在本申请的一些实施例中,卷积注意力模块可以包括M个第一卷积核和N个第二卷积核,其中,第二卷积核为空洞卷积核,M和N均为大于0的整数。基于此,利用卷积注意力模块对至少一个第二特征图进行卷积处理和聚合处理,获得至少一个第三特征图,即步骤S1033还可以通过下述步骤S201至步骤S204来实现。

S201、利用卷积注意力模块中的各个第一卷积核对第j个第二特征图分别进行卷积处理,得到第j个第二特征图对应的M个第一卷积结果。

需要说明的是,其中,j=1,2,…,P;P为特征图总数。示例性地,若第一卷积核的个数M为2,第二特征图的个数为3,即j=1,2,3,则利用第一卷积核对第二特征图进行卷积处理时,当j=1,基于2个第一卷积核分别对第1个第二特征图进行卷积处理,得到2个第一卷积结果;当j=2,基于2个第一卷积核分别对第2个第二特征图进行卷积处理,得到2个第一卷积结果;当j=3,基于2个第一卷积核分别对第3个第二特征图进行卷积处理,得到2个第一卷积结果。

S202、利用各个第二卷积核对第j个第二特征图分别进行卷积处理,得到第j个第二特征图对应的N个第二卷积结果。

在一些实施例中,在利用各个第一卷积核对各个第二特征图进行卷积处理后,还可以利用各个第二卷积核对各个第二特征图进行卷积处理。示例性地,若第一卷积核的个数N为2,第二特征图的个数为3,即j=1,2,3,则利用第二卷积核对第二特征图进行卷积处理时,当j=1,基于2个第二卷积核分别对第1个第二特征图进行卷积处理,得到2个第二卷积结果;当j=2,基于2个第二卷积核分别对第2个第二特征图进行卷积处理,得到2个第二卷积结果;当j=3,基于2个第二卷积核分别对第3个第二特征图进行卷积处理,得到2个第二卷积结果。

S203、基于各个第一卷积核对应的第一权重、各个第二卷积核对应的第二权重对第j个第二特征图对应的M个第一卷积结果和第j个第二特征图对应的N个第二卷积结果进行加权求和,得到第j个第三特征图。

在一些实施例中,示例性地,若第一卷积核的个数M为2,2个第一卷积核对应的第一权重分别为a和b;第二卷积核的个数N也为2,2个第二卷积核对应的第二权重分别为c和d。若第二特征图的个数为3,即j=1,2,3,当j=1时,若第1个第二特征图对应的2个第一卷积结果分别为U11和U12,2个第二卷积结果分别为U13和U14,则第1个第三特征图可以表示为:A1=a*U11+b*U12+c*U13+d*U14;当j=2时,若第2个第二特征图对应的2个第一卷积结果分别为U21和U22,2个第二卷积结果分别为U23和U24,则第2个第三特征图可以表示为:A2=a*U21+b*U22+c*U23+d*U24;当j=3时,若第3个第二特征图对应的2个第一卷积结果分别为U31和U32,2个第二卷积结果分别为U33和U34,则第3个第三特征图可以表示为:A3=a*U31+b*U32+c*U33+d*U34。

在本申请的一些实施例中,在获取训练好的视频分类模型,即步骤S102之前,还可以执行下述步骤S301至步骤S304,以下对各个步骤进行详细说明。

S301、获取预设的视频分类模型,并获取各个训练视频文件对应的训练图像帧集合。

需要说明的是,各个训练视频文件对应有类别标签,类别标签可以表示各个训练视频文件所属的类别,预设的视频分类模型可以是未经过训练的视频分类模型。除了获取了预设的视频分类模型,以及训练视频文件对应的类别标签,还可以获取训练视频文件对应的图像帧集合,由于训练视频文件包括多个,每个训练视频文件可以包括多个图像帧,因此对多个训练视频文件进行图像帧提取,从而可以获得图像帧集合。

在一些实施例中,从训练视频文件中获取图像帧的过程,和从待处理的视频文件中获取目标图像帧的过程类似,也可以通过步骤S1011至步骤S1018来实现,本申请对从训练视频文件中获取图像帧的过程不再赘述。

S302、利用视频分类模型对各个训练视频文件对应的图像帧集合进行预测处理,得到各个训练视频文件对应的预测结果。

在一些实施例中,当获得了各个训练视频文件对应的训练图像帧集合后,可以将多个训练图像帧输入视频分类模型,利用视频分类模型对各个训练视频文件对应的图像帧集合进行预测处理,从而获得各个训练视频文件对应的预测结果,该预测结果可以表示各个训练视频文件各自对应的类别。

S303、基于各个训练视频文件对应的预测结果和各个训练视频文件对应的类别标签,对视频分类模型进行反向传播训练,得到训练好的视频分类模型。

在一些实施例中,当获取了各个训练视频文件对应的预测结果后,可以将该预测结果和训练视频文件对应的类别标签进行比较,确定视频分类模型的预测误差,基于该预测误差对视频分类模型进行反向传播训练,从而获得训练好的视频分类模型。

在本申请的一些实施例中,基于各个训练视频文件对应的预测结果和各个训练视频文件对应的类别标签,对视频分类模型进行反向传播训练,得到训练好的视频分类模型,即步骤S303,还可以通过下述步骤S3031至步骤S3032来实现,以下对各个步骤进行详细说明。

S3031、将各个训练视频文件对应的预测结果和各个训练视频文件对应的类别标签反馈至视频分类模型,调整视频分类模型中的网络参数。

需要说明的是,网络参数至少包括卷积注意力模块中各个第一卷积核对应的权重和各个第二卷积核对应的权重。在一些实施例中,对视频分类模型进行反向传播训练时,可以将各个训练视频文件对应的预测结果和各个训练视频文件对应的类别标签反馈至视频分类模型,调整视频分类模型中的网络参数,该网络参数可以包括各个第一卷积核对应的权重和各个第二卷积核对应的权重,还可以包括卷积模块和池化模块中的网络参数,例如卷积核和滑动窗口的大小等。

在一些实施例中,对各个训练视频文件对应的图像帧集合进行预测处理开始时,各个第一卷积核和各个第二卷积核均可以设置有初始权重,之后,基于视频分类模型的对各个训练视频文件对应的预测结果和各个训练视频文件对应的类别标签之间的差异,可以对第一卷积核对应的初始权重和第二卷积核对应的初始权重进行调整。

可以理解的是,在本申请实施例中,对视频分类模型进行反向传播训练时,对各个第一卷积核对应的权重和各个第二卷积核对应的权重进行调整,使得视频分类模型可以根据图像帧中不同大小的目标对象调整需要重点关注的卷积核,保证视频分类模型可以获取图像帧中不同大小的目标对象,从而提高视频分类的准确性。

S3032、当确定达到训练结束的条件时,得到训练好的视频分类模型。

需要说明的是,训练结束的条件可以是视频分类模型对应的预测误差小于预设阈值,示例性地,可以使用损失函数表示视频分类模型的预测误差,例如,使用交叉熵作为视频分类模型的损失函数Loss,如下式(1)所示:

其中,M表示训练视频文件对应类别的数量,Q表示训练视频文件的数量,y

在一些实施例中,当损失函数对应的损失值小于预设阈值时,例如预设阈值为0.3,损失函数对应的损失值为0.18,可以确定视频分类模型满足训练结束的条件,从而可以获得训练好的视频分类模型。

在本申请实施例中,获取待处理的视频文件对应的至少一个目标图像帧,对各个目标图像帧进行预处理,获得预处理后的至少一个目标图像帧和训练好的视频分类模型;利用该训练好的视频分类模型对至少一个预处理后的目标图像帧进行分类处理,得到待处理的视频文件的分类结果,并输出所述分类结果。在本申请实施例中,训练好的视频分类模型至少包括具有多个卷积核的卷积注意力模块,多个卷积核中与预处理后的目标图像帧中目标对象大小匹配的卷积核的权重大于其他卷积核的权重,从而可以获取与各个卷积核匹配的不同目标对象,实现对预处理后的目标图像帧中不同尺寸的目标对象的处理,提高视频分类的准确性。

下面,对本申请实施例在实际应用场景中的实现过程进行介绍。

在一些实施例中,如图3所示,为本申请实施例提供的一种基于SK-I3D网络模型(Selective Kernel Inflated 3D ConvNet,SK-I3D)的视频分类方法流程示意图,该方法基于SK-I3D视频分类模型可以实现对不同视频文件的分类处理。本申请实施例提供的视频分类方法可以通过下述的步骤S401至步骤S408来实现,以下对各个步骤进行详细说明。

S401、获取至少一个原始视频文件和至少一个预测视频文件,以及各个原始视频文件各自对应的类别标签。

需要说明的是,原始视频文件(训练视频文件)可以是训练样本,每个原始视频文件对应有类别标签,预测视频文件(待处理的视频文件)可以是测试样本。

S402、对至少一个原始视频文件进行预处理,并获得各个原始视频文件各自对应的至少一个关键图像帧。

在一些实施例中,原始的各个视频文件在分辨率、帧速率和视频时长等会存在着差异,这些差异会使得SK-I3D视频分类模型(视频分类模型)难以处理不同类型的输入,因此需要对原始视频文件进行统一的预处理。

示例性地,在一些实施例中,可以对收集到的每个原始视频文件使用ffmpeg库按照每秒1帧的速度提取出I个关键帧,其中I为大于0的整数,并统一裁剪到224x224的尺寸大小;对原始视频文件提取出来的关键帧,若不满足SK-I3D视频分类模型最低要求帧数(如果图像帧个数S小于帧数阈值Q),则使用最后一个关键帧重复n次直到满足最低要求帧数。其中修改分辨率、裁剪视频以及获取关键帧的处理命令分别如下步骤所示:

(1)修改分辨率和帧率使用如下命令和参数进行执行:

ffmpeg-i-ss-t-s 224x224-r-favi out.avi,其中,input_file表示输入的视频文件,start_time和end_time表示视频起始和结束时间,fps表示帧频率。

(2)裁剪视频使用如下命令和参数进行执行:

ffmpeg-i-ss-t-avoid_negative_ts1out.avi,其中,input_file表示输入的视频文件,start_time和end_time表示视频起始和结束时间。

(3)获取关键帧使用如下命令和参数进行执行:

ffmpeg-i-vf select='eq(pict_type,I)',setpts='N/(25*TB)'_%05d.jpg,其中,input_file表示输入的视频文件,out表示提出出来帧文件命名前缀。

S403、利用SK-I3D视频分类模型对至少一个关键图像帧进行预测,确定各个原始视频文件对应的预测结果。

在一些实施例中,为了提高视频分类模型的预测速度,对视频不进行进行光流特征的提取,因此去掉了该网络的光流分支网络部分,只保留了RGB流分支网络,在此基础上,引入了改进的Inception模块,即SK-Inc模块(卷积注意力模块)。

在本申请实施例中,改进后的SK-I3D视频分类模型主要由9个SK-Inc模块、4个卷积模块、4个最大池化模块,以及1个平均池化模块(池化模块)构成,SK-I3D视频分类模型的结构示意图如图4所示,其中,4个卷积模块依次包括1个大小为7*7*7卷积核,1个大小为1*1*1的卷积核,1个大小为3*3*3的卷积核,1个大小为1*1*1的卷积核,各个卷积核的步长stride均可以设置为2;4个最大池化模块依次为:1个最大池化模块对应的滑动窗口大小为1*3*3,步长为stride=1,2,2;1个最大池化模块对应的滑动窗口大小为1*3*3,步长为stride=1,2,2;1个最大池化模块对应的滑动窗口大小为1*3*3,步长为stride=2,2,2;1个最大池化模块对应的滑动窗口大小为2*2*2,步长为stride=2,2,2;1个平均池化模块对应的滑动窗口大小为2*7*7,步长为stride=2,2,2。利用SK-I3D视频分类模型对可以对原始视频文件对应的多个关键图像帧进行预测,确定各个原始视频文件对应的预测结果(各个训练视频文件对应的预测结果),该预测结果可以表示各个原始视频文件所属的类别。

在一些实施例中,在对原始的视频文件进行预处理之后,原始视频文件中的一些关键目标对象也会随之发生不同程度的缩放,在原始的I3D的Inception模块中,虽然使用了不同大小的卷积核来捕获视频中目标对象的信息,但是对于不同大小的卷积核所提取出来的特征仅进行了简单拼接,即没有考虑卷积核对于不同大小的目标对象的重要性。基于此,本申请对I3D中Inception模块进行改进,引入了SK-Inc模块,如图5所示,SK-Inc模块引入了4条路径,使用了4种不同感受野大小的卷积核,SK-Inc模块包括1个1*1*1的卷积核、1个3*3*3的卷积核、1个扩张率D为2的3*3*3的空洞卷积和1个扩展率D为3的3*3*3的空洞卷积。

可以理解的是,使用1*1*1的卷积核可以对输入特征信息上引入非线性激励,提高分类网络的表达能力,也可以对卷积核通道数进行降维和升维;使用3*3*3的普通卷积核可以捕获视频中随着时间变化一些关键动作等信息,也可以对视频中一些较小的目标对象进行信息表达。

在一些实施例中,考虑到一些视频中目标对象的变化在间隔1~2秒后才会有明显的变化,因此使用扩展率为2的3*3*3空洞卷积来进行短间隔信息提取,如跌倒等动作。

可以理解的是,使用扩张率为2的3*3*3空洞卷积,等同于使用5*5*5的普通卷积核,即具有相同的感受野大小,且3*3*3的空洞卷积不仅使得网络参数量减少,而且网络计算量也有所减少,由于视频中的目标对象至少都是超过单个像素大小,不存在损失信息连续性的问题,因此空洞卷积非常适合视频分类任务。

在一些实施例中,使用一个大感受野的空洞卷积,即扩展率为3的3*3*3的空洞卷积,一方面是为了捕获经过视频中一些比较大的目标对象,另一方面是为了捕获视频中的长范围依赖信息,比如一段持续时间较长的动作,如视频中健身、跳舞等这类动作。

可以理解的是,使用扩展率为3的3*3*3的空洞卷积,等同于感受野为7的普通卷积核,且有效地减少了大卷积核引起的参数量剧增和计算量剧增。

在一些实施例中,如图5所示,SK-Inc模块的输入记为x

U

然后,将多个卷积核的卷积结果进行聚合处理得到结果U,聚合方式为逐元素求和,计算公式如下式(3):

U=U

为了自适应的对不同大小的卷积核进行权重聚合,对U首先应用全局平均池化获取全局信息s,即把U缩减到空间尺寸为H×W的大小,以第i个元素为例,计算公式如式(4):

其中,F

z=F

其中,F

其中,a

其中,U

可以理解的是,在本申请实施例中,通过在SK-Inc模块中设置不同的卷积核,使得SK-I3D视频分类模型能组合不同大小的卷积核对原始的视频中不同尺度的目标对象进行特征提取,可以让SK-I3D视频分类模型对于视频预处理后的尺寸缩放不敏感,也会降低视频中不同时间点同一个目标对象缩放带来的噪声干扰,相应地提高SK-I3D视频模型的鲁棒性和准确性。

S404、基于各个原始视频文件对应的误差损失值,对SK-I3D视频分类模型进行反向传播训练,并获得训练好的SK-I3D视频分类模型。

在一些实施例中,训练时批大小batch_size可以设置为64帧,经过2个epoch数据的训练,误差损失值可以通过交叉熵损失函数,即公式(1)来计算。在获取了各个原始视频文件对应的预测结果后,可以基于各个原始视频文件对应的预测结果、各个原始视频文件对应的类别标签,以及交叉熵损失函数,计算误差损失值,进而将该预测结果反馈至SK-I3D视频分类模型,调整SK-I3D视频分类模型中的网络参数,当误差损失值小于预设阈值时,停止对网络参数的训练,获得训练好的SK-I3D视频分类模型。

S405、对至少一个预测视频文件进行预处理,并获得各个预测视频文件各自对应的至少一个关键图像帧(预处理后的目标图像帧)。

在一些实施例中,步骤S405中对预测视频文件的处理过程和步骤S402中对原始视频文件的处理的过程类似,此处不再赘述。

S406、利用训练好的SK-I3D视频分类模型对各个预测视频文件各自对应的至少一个关键图像帧进行分类处理,获得各个预测视频文件对应的分类结果。

在一实施例中,在获得了训练好的SK-I3D视频分类模型,以及各个预测视频文件各自对应的至少一个关键图像帧后,便可以将各个预测视频文件各自对应的至少一个关键图像帧,输入训练好的视频分类模型,利用训练好的SK-I3D视频分类模型对各个预测视频文件对应的关键图像帧进行分类处理,得到各个预测视频文件属于不同类别时的分类概率,并取概率最大的类别为待处理视频文件的分类类别,从而获得各个预测视频文件的分类结果。

可以理解的是,本申请实施例提供的基于SK-I3D模型的视频分类方法,基于I3D网络进行改进,去掉了I3D网络中光流分支,仅保留RGB分支,极大的缩短的视频分类的时间。同时,本申请提出了一种SK-Inc模块,该模块可以同时对通道和卷积核都执行注意力机制,SK-Inc块基于SKNet(Selective Kernel Network)进行改进,在卷积核上,引入了四种不同大小的卷积核,以此来捕获视频中不同尺度的关键目标,同时为了避免大尺度卷积核带来的计算量和参数量的剧增,以及提取视频中的长范围依赖信息,使用了空洞卷积替换大卷积核。通过引入SKNet来对各个通道以及卷积核执行注意力机制,能更好的处理关键目标在视频中尺度变化、视频分辨率大小不一致、视频中动作时间持续时长等问题。使用该SK-Inc块,能更好的适应更多场景下对视频进行特征提取,提高了视频分类的准确率和分类速度。

本申请还提供一种视频分类装置,图6为本申请实施例提供的一种视频分类装置的组成结构示意图,如图6所示,所述视频分类装置500包括:

第一获取模块501,用于获取待处理的视频文件对应的至少一个目标图像帧,并对所述至少一个目标图像帧进行预处理,得到至少一个预处理后的目标图像帧;

第二获取模块502,用于获取训练好的视频分类模型,所述训练好的视频分类模型至少包括卷积注意力模块,所述卷积注意力模块中包括多个卷积核,与所述预处理后的目标图像帧中目标对象大小匹配的卷积核的权重大于其他卷积核的权重;

处理模块503,用于利用所述训练好的视频分类模型对所述至少一个预处理后的目标图像帧进行分类处理,得到所述待处理的视频文件的分类结果;

输出模块504,用于输出所述分类结果。

需要说明的是,本申请实施例视频分类装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的控制方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

相应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的视频分类方法。

本申请实施例还提供一种视频分类设备,图7为本申请实施例提供的一种视频分类设备的组成结构示意图,如图7所示,所述视频分类设备600包括:存储器601、处理器602、通信接口603和通信总线604。其中,存储器601,用于存储可执行视频分类指令;处理器602,用于执行存储器中存储的可执行视频分类指令时,实现以上述实施例提供的视频分类方法。

以上视频分类设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请视频分类设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的“一些实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一些实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一个产品执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 视频分类方法、装置、电子设备及计算机可读存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 视频分类方法、装置、服务器及计算机可读存储介质
  • 一种元数据存储方法、装置、设备及计算机可读存储介质
  • 一种数据存储方法、装置、设备及计算机可读存储介质
  • 视频分类方法、装置、电子设备及计算机可读存储介质
  • 视频分类方法、装置、电子设备及计算机可读存储介质
技术分类

06120116487060