视频分类方法、介质、装置和计算设备与流程

文档序号:17844902发布日期:2019-06-11 21:37阅读:268来源:国知局

本发明的实施方式涉及通信及计算机技术领域,更具体地,本发明的实施方式涉及一种视频分类方法、介质、视频分类装置和计算设备。



背景技术:

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

随着移动社交媒体技术的快速发展,短视频作为一种具有娱乐性的内容展示形式,深受大众的喜爱。而由于短视频制作门槛低,内容生产迅速,因此每天会产生大量的新内容。为了促进短视频领域的健康发展,就需要对海量的短视频内容进行分析和审查。同时为了方便视频呈现和用户观看,还需要对视频进行分类或者添加各类分类标签。如果采用人工检查的方式对短视频进行分类,就无法有效地应对日益增长的短视频生产状况,而实时的自动化分类方法则是一种较为有效的解决方案。



技术实现要素:

由于视频内容繁多、时长差异较大,现有的视频分类方法通常存在分类准确性差、计算资源消耗大等缺陷。

在本上下文中,本发明的实施方式期望提供一种新的视频分类方法,用以克服相关技术中存在的技术问题。

在本发明实施方式的第一方面中,提供了一种视频分类方法,包括:从待分类视频的编码数据流中提取一个或者多个关键帧图像;将所述关键帧图像输入预先训练的图像分类模型,以得到各个所述关键帧图像的图像分类结果;根据所述图像分类结果确定所述待分类视频的视频分类结果。

在本发明的一种示例性实施方式中,基于以上技术方案,所述从待分类视频的编码数据流中提取一个或者多个关键帧图像,包括:在所述编码数据流中确定一个或者多个关键帧提取点;分别提取与各个所述关键帧提取点距离最近的关键帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述分别提取与各个所述关键帧提取点距离最近的关键帧图像,包括:分别以各个所述关键帧提取点为起点,沿所述编码数据流的单一序列方向查找与所述关键帧提取点距离最近的关键帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述从待分类视频的编码数据流中提取一个或者多个关键帧图像,包括:在所述编码数据流中确定一个或者多个关键帧提取点;获取各个所述关键帧提取点的时间戳;分别提取与各个所述关键帧提取点的时间戳最相近的关键帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述分别提取与各个所述关键帧提取点的时间戳最相近的关键帧图像,包括:分别以各个所述关键帧提取点为起点,沿所述编码数据流的单一序列方向查找与所述关键帧提取点的时间戳最相近的关键帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述时间戳为所述待分类视频中视频帧的显示时间戳。

在本发明的一种示例性实施方式中,基于以上技术方案,所述在所述编码数据流中确定一个或者多个关键帧提取点,包括:将所述待分类视频的编码数据流划分为多个数据区间;在各个所述数据区间中分别确定一个关键帧提取点。

在本发明的一种示例性实施方式中,基于以上技术方案,所述在各个所述数据区间中分别确定一个关键帧提取点,包括:确定各个所述数据区间的起始点;获取与所述编码数据流的长度和所述数据区间的数量相关的预设偏移距离;将与各个所述数据区间的起始点具有所述预设偏移距离的数据节点作为关键帧提取点。

在本发明的一种示例性实施方式中,基于以上技术方案,所述在各个所述数据区间中分别确定一个关键帧提取点,包括:确定各个所述数据区间的起始点;获取与所述待分类视频的时间长度和所述数据区间的数量相关的预设偏移时长;将与各个所述数据区间的起始点具有所述预设偏移时长的数据节点作为关键帧提取点。

在本发明的一种示例性实施方式中,基于以上技术方案,在将所述关键帧图像输入预先训练的图像分类模型之前,所述方法还包括:当所述关键帧图像的数量为多个时,确定所述关键帧图像中的重复图像;丢弃任意两个所述重复图像的其中一个。

在本发明的一种示例性实施方式中,基于以上技术方案,所述确定所述关键帧图像中的重复图像,包括:获取各个所述关键帧图像的时间戳;确定所述关键帧图像中具有相同时间戳的图像,并将所述具有相同时间戳的图像作为重复图像。

在本发明的一种示例性实施方式中,基于以上技术方案,在将所述关键帧图像输入预先训练的图像分类模型之前,所述方法还包括:获取所述关键帧图像的亮度信息;基于所述亮度信息确定所述关键帧图像中的黑帧图像;丢弃所述黑帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述获取所述关键帧图像的亮度信息,包括:获取所述关键帧图像中各个像素点在预设颜色通道中的亮度值;统计所述亮度值小于预设亮度值的像素点的数量比例,并将所述数量比例作为所述关键帧图像的亮度信息。

在本发明的一种示例性实施方式中,基于以上技术方案,基于所述亮度信息确定所述关键帧图像中的黑帧图像,包括:将所述数量比例大于预设阈值的关键帧图像作为黑帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,在将所述关键帧图像输入预先训练的图像分类模型之前,所述方法还包括:当所述关键帧图像为yuv颜色空间图像时,将所述关键帧图像转换为rgb颜色空间图像。

在本发明的一种示例性实施方式中,基于以上技术方案,在将所述关键帧图像输入预先训练的图像分类模型之前,所述方法还包括:对所述关键帧图像进行裁剪处理,以使所述关键帧图像的高度和宽度相等。

在本发明的一种示例性实施方式中,基于以上技术方案,所述对所述关键帧图像进行裁剪处理,以使所述关键帧图像的高度和宽度相等,包括:将多个所述关键帧图像沿短边方向进行拼接处理后得到第一拼接图像;对所述第一拼接图像进行裁剪处理,以使所述关键帧图像的高度和宽度相等。

在本发明的一种示例性实施方式中,基于以上技术方案,在将所述关键帧图像输入预先训练的图像分类模型之前,所述方法还包括:对所述关键帧图像进行缩放处理,以使所述关键帧图像的高度或者宽度等于预设长度。

在本发明的一种示例性实施方式中,基于以上技术方案,所述对所述关键帧图像进行缩放处理,以使所述关键帧图像的高度或者宽度等于预设长度,包括:将多个所述关键帧图像沿高度方向或者宽度方向进行拼接处理后得到第二拼接图像;对所述第二拼接图像进行缩放处理,以使所述关键帧图像的高度或者宽度等于预设长度。

在本发明的一种示例性实施方式中,基于以上技术方案,在将所述关键帧图像输入预先训练的图像分类模型之前,所述方法还包括:对所述关键帧图像进行归一化处理。

在本发明的一种示例性实施方式中,基于以上技术方案,所述对所述关键帧图像进行归一化处理,包括:将多个所述关键帧图像沿颜色通道方向进行拼接处理后得到第三拼接图像;对所述第三拼接图像进行归一化处理。

在本发明的一种示例性实施方式中,基于以上技术方案,所述根据所述图像分类结果确定所述待分类视频的视频分类结果,包括:获取与各个所述关键帧图像相对应的分类权重;利用所述分类权重对所述图像分类结果进行加权平均以得到所述待分类视频的视频分类结果。

在本发明的一种示例性实施方式中,基于以上技术方案,所述方法应用于具有中央处理器和图像处理器的计算设备;所述从待分类视频的编码数据流中提取一个或者多个关键帧图像,包括:利用所述中央处理器从当前待分类视频的编码数据流中提取一个或者多个关键帧图像,并将所述当前待分类视频的关键帧图像发送至所述图像处理器;继续利用所述中央处理器从下一待分类视频的编码数据流中提取一个或者多个关键帧图像,并将所述下一待分类视频的关键帧图像发送至所述图像处理器,直至完成所有待分类视频的关键帧图像的提取和发送。

在本发明的一种示例性实施方式中,基于以上技术方案,所述将所述关键帧图像输入预先训练的图像分类模型,以得到各个所述关键帧图像的图像分类结果,包括:利用所述图像处理器将当前待分类视频的关键帧图像输入预先训练的图像分类模型,以得到各个所述关键帧图像的图像分类结果,并将所述图像分类结果发送至所述中央处理器;继续利用所述图像处理器将下一待分类视频的关键帧图像输入预先训练的图像分类模型,以得到各个所述关键帧图像的图像分类结果,并将所述图像分类结果发送至所述中央处理器,直至完成所有待分类视频的图像分类结果的获取和发送。

在本发明的一种示例性实施方式中,基于以上技术方案,所述根据所述图像分类结果确定所述待分类视频的视频分类结果,包括:利用所述中央处理器根据所述图像分类结果确定当前待分类视频的视频分类结果;继续利用所述中央处理器确定下一待分类视频的视频分类结果,直至完成所有待分类视频的视频分类结果的确定。

在本发明实施方式的第二方面中,提供一种介质,其上存储有程序,该程序被处理器执行时实现如以上各示例性实施方式中任意一项的方法。

在本发明实施方式的第三方面中,提供一种视频分类装置,包括:图像提取模块,被配置为从待分类视频的编码数据流中提取一个或者多个关键帧图像;图像分类模块,被配置为将所述关键帧图像输入预先训练的图像分类模型,以得到各个所述关键帧图像的图像分类结果;视频分类模块,被配置为根据所述图像分类结果确定所述待分类视频的视频分类结果。

在本发明的一种示例性实施方式中,基于以上技术方案,所述图像提取模块包括:提取点确定单元,被配置为在所述编码数据流中确定一个或者多个关键帧提取点;第一图像提取单元,被配置为分别提取与各个所述关键帧提取点距离最近的关键帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述分别提取与各个所述关键帧提取点距离最近的关键帧图像,包括:分别以各个所述关键帧提取点为起点,沿所述编码数据流的单一序列方向查找与所述关键帧提取点距离最近的关键帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述图像提取模块包括:提取点确定单元,被配置为在所述编码数据流中确定一个或者多个关键帧提取点;第一时间戳获取单元,被配置为获取各个所述关键帧提取点的时间戳;第二图像提取单元,被配置为分别提取与各个所述关键帧提取点的时间戳最相近的关键帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述分别提取与各个所述关键帧提取点的时间戳最相近的关键帧图像,包括:分别以各个所述关键帧提取点为起点,沿所述编码数据流的单一序列方向查找与所述关键帧提取点的时间戳最相近的关键帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述时间戳为所述待分类视频中视频帧的显示时间戳。

在本发明的一种示例性实施方式中,基于以上技术方案,所述提取点确定单元包括:区间划分单元,被配置为将所述待分类视频的编码数据流划分为多个数据区间;区间提取点确定单元,被配置为在各个所述数据区间中分别确定一个关键帧提取点。

在本发明的一种示例性实施方式中,基于以上技术方案,所述区间提取点确定单元包括:起始点确定单元,被配置为确定各个所述数据区间的起始点;偏移距离获取单元,被配置为获取与所述编码数据流的长度和所述数据区间的数量相关的预设偏移距离;第一节点确定单元,被配置为将与各个所述数据区间的起始点具有所述预设偏移距离的数据节点作为关键帧提取点。

在本发明的一种示例性实施方式中,基于以上技术方案,所述区间提取点确定单元包括:起始点确定单元,被配置为确定各个所述数据区间的起始点;偏移时长获取单元,被配置为获取与所述待分类视频的时间长度和所述数据区间的数量相关的预设偏移时长;第二节点确定单元,被配置为将与各个所述数据区间的起始点具有所述预设偏移时长的数据节点作为关键帧提取点。

在本发明的一种示例性实施方式中,基于以上技术方案,所述装置还包括:重复图像确定模块,被配置为当所述关键帧图像的数量为多个时,确定所述关键帧图像中的重复图像;重复图像丢弃模块,被配置为丢弃任意两个所述重复图像的其中一个。

在本发明的一种示例性实施方式中,基于以上技术方案,所述重复图像确定模块包括:第二时间戳获取单元,被配置为获取各个所述关键帧图像的时间戳;重复图像确定单元,被配置为确定所述关键帧图像中具有相同时间戳的图像,并将所述具有相同时间戳的图像作为重复图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述装置还包括:亮度信息获取模块,被配置为当所述关键帧图像的数量为多个时,获取所述关键帧图像的亮度信息;黑帧图像确定模块,被配置为基于所述亮度信息确定所述关键帧图像中的黑帧图像;黑帧图像丢弃模块,被配置为丢弃所述黑帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述亮度信息获取模块包括:亮度值获取单元,被配置为获取所述关键帧图像中各个像素点在预设颜色通道中的亮度值;亮度信息确定单元,被配置为统计所述亮度值小于预设亮度值的像素点的数量比例,并将所述数量比例作为所述关键帧图像的亮度信息。

在本发明的一种示例性实施方式中,基于以上技术方案,基于所述亮度信息确定所述关键帧图像中的黑帧图像,包括:将所述数量比例大于预设阈值的关键帧图像作为黑帧图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述装置还包括:颜色空间转换模块,被配置为当所述关键帧图像为yuv颜色空间图像时,将所述关键帧图像转换为rgb颜色空间图像。

在本发明的一种示例性实施方式中,基于以上技术方案,所述装置还包括:图像裁剪模块,被配置为对所述关键帧图像进行裁剪处理,以使所述关键帧图像的高度和宽度相等。

在本发明的一种示例性实施方式中,基于以上技术方案,所述图像裁剪模块包括:第一拼接单元,被配置为将多个所述关键帧图像沿短边方向进行拼接处理后得到第一拼接图像;图像裁剪单元,被配置为对所述第一拼接图像进行裁剪处理,以使所述关键帧图像的高度和宽度相等。

在本发明的一种示例性实施方式中,基于以上技术方案,所述装置还包括:图像缩放模块,被配置为对所述关键帧图像进行缩放处理,以使所述关键帧图像的高度或者宽度等于预设长度。

在本发明的一种示例性实施方式中,基于以上技术方案,所述图像缩放模块包括:第二拼接单元,被配置为将多个所述关键帧图像沿高度方向或者宽度方向进行拼接处理后得到第二拼接图像;图像缩放单元,被配置为对所述第二拼接图像进行缩放处理,以使所述关键帧图像的高度或者宽度等于预设长度。

在本发明的一种示例性实施方式中,基于以上技术方案,所述装置还包括:图像归一化模块,被配置为对所述关键帧图像进行归一化处理。

在本发明的一种示例性实施方式中,基于以上技术方案,所述图像归一化模块包括:第三拼接单元,被配置为将多个所述关键帧图像沿颜色通道方向进行拼接处理后得到第三拼接图像;图像归一化单元,被配置为对所述第三拼接图像进行归一化处理。

在本发明的一种示例性实施方式中,基于以上技术方案,所述视频分类模块包括:权重获取单元,被配置为获取与各个所述关键帧图像相对应的分类权重;视频分类单元,被配置为利用所述分类权重对所述图像分类结果进行加权平均以得到所述待分类视频的视频分类结果。

在本发明实施方式的第四方面中,提供一种计算设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如以上示例性实施方式中任意一项的方法。

在本发明示例性实施方式提供的视频分类方法、介质、视频分类装置和计算设备中,采用从待分类视频的编码数据流中提取关键帧图像的方式获取关键帧图像的图像分类结果,然后再基于图像分类结果确定待分类视频的视频分类结果。该方法只需要抽取少量的关键帧图像进行解码即可完成视频分类,而无需对完整视频进行解码,显著降低了视频分类的分析处理时间,提升了视频分析处理效率,能够满足高精度的实时分析和分类需求,尤其适用于对海量短视频的高效分类处理。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示意性地示出了根据本发明一个实施方式的视频分类方法步骤流程图;

图2示意性地示出了根据本发明另一实施方式的视频分类方法部分步骤流程图;

图3示意性地示出了根据本发明另一实施方式的视频分类方法部分步骤流程图;

图4示意性地示出了根据本发明另一实施方式的视频分类方法部分步骤流程图;

图5示意性地示出了根据本发明另一实施方式的视频分类方法部分步骤流程图;

图6示意性地示出了根据本发明另一实施方式的视频分类方法部分步骤流程图;

图7示意性地示出了根据本发明另一实施方式的视频分类方法部分步骤流程图;

图8示意性地示出了根据本发明另一实施方式的视频分类方法部分步骤流程图;

图9示出了本发明实施方式中视频分类方法在一应用场景下的抽帧过程示意图。

图10示意性地示出了根据本发明另一实施方式的视频分类方法步骤流程图;

图11示出了本发明实施方式中视频分类方法在一应用场景下的图像预处理过程示意图。

图12示意性地示出了根据本发明另一实施方式的视频分类方法部分步骤流程图;

图13示出了本发明实施方式中视频分类方法在一应用场景下的原理示意图。

图14示出了本发明实施方式中视频分类方法在一应用场景下的单一视频处理过程和多视频流水线式处理过程的对比示意图。

图15示意性地示出了根据本发明实施方式的视频分类装置的组成框图;

图16示意性地示出了根据本发明另一实施方式的视频分类装置的组成框图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种视频分类方法、介质、视频分类装置和计算设备。

在本文中所涉及的术语解释如下:

短视频:一般可以指时间长度在5-15秒左右的视频。

深度卷积神经网络(deepconvolutionalneuralnetwork,dcnn):指包含三层以上巻积层的神经网络。

关键帧:视频压缩时的i帧(intra-prediction,帧内编码帧),该帧数据完整保留,解码时只需要本帧数据就可以完成图像恢复。

数据流:由有序排列并可被顺序读取的数据组成的数据序列。

此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

发明概述

本发明人发现,对视频进行分类的方法主要可以包括两种形式,一种是将视频分解成图像序列,对图像序列进行特征提取并融合相关的分类结果;另一种是将视频作为整体的单元,输入神经网络进行隐式地分析并输出分类结果。后一种形式需要消耗大量地计算和内存资源,基于现有的硬件资源条件,资源消耗严重且实时性很难得到保障。而前一种形式以图像为单位进行处理,可以有效地降低硬件资源消耗,但是需要将视频文件完全解压缩以得到全部的图像序列,视频解码过程需要消耗大量时间,依然存在分类效率低、实时性差等问题。

本发明针对相关技术中存在的问题和缺陷,以未经解码处理的视频编码文件作为分析对象,通过从视频编码文件中直接提取能够独立解码的关键帧,然后将提取到的关键帧图像输入图像分类模型进行分类得到图像分类结果,最后基于图像分类结果融合得到视频分类结果,这种分类方式无需对视频进行完整解码,降低视频解码时间,实现对视频的实时高效分类,而且利用图像分类结果融合得到视频分类结果可以避免以视频作为整体单元进行神经网络分析而导致的资源消耗问题。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

应用场景总览

需要注意的是,下述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

以一个视频资源网站的视频分类处理过程为例,用户利用终端设备拍摄一段具有一定时长的视频,然后通过客户端或者网页将该视频上传至视频资源网站的服务器。上传前需要对拍摄得到的视频原始文件进行压缩编码形成编码数据流以便提高网络传输速度,具体可以是将视频中的每一帧图像按照规定的视频编码格式进行压缩编码形成编码数据,按照编码顺序将每一帧图像的编码数据顺序排列即形成整个视频文件的编码数据流。当编码数据流上传至服务器后,服务器可以利用本发明提供的视频分类方法以未经解码处理的该编码数据流作为分析对象,从该编码数据流中抽取一个或者多个关键帧,然后对关键帧图像进行分析以得到初步的分类结果(即图像分类结果),再对上述初步的分类结果进行融合即得到上述视频的最终分类结果(即视频分类结果)。具体的分类结果可以表现为诸如“游戏攻略”、“极限运动”、“影视片段”等等各种不同形式的视频分类标签。例如,用户所拍摄和上传的是一段滑板表演视频,那么服务器可以经过分类处理为其添加“极限运动”的分类标签并在视频资源网站的相应分类页面下对其进行展示,以供其他用户观看。

示例性方法

下面结合上述的应用场景,参考图1至图14来描述根据本发明示例性实施方式的视频分类方法。

如图1所示,在本发明的一种示例性实施方式中,视频分类方法主要可以包括以下步骤:

步骤s110.从待分类视频的编码数据流中提取一个或者多个关键帧图像。

对于一个需要进行分类的待分类视频而言,在对其进行解码处理之前是以编码数据流的形式进行传输和存储的,本步骤即从未解码的编码数据流中提取得到一个或者多个关键帧图像。以h.264视频压缩标准为例,可以将视频帧图像分为i帧、p帧和b帧三种类型。其中,i帧表示帧内编码帧,是一种自带全部信息的独立帧,无需参考编码数据流中的其他图像便可独立进行解码。p帧表示前向预测编码帧,需要参考编码数据流中在其之前的i帧或者p帧图像才能进行解码。b帧表示双向预测编码帧,需要参考编码数据流中在其之前的i帧或者p帧图像以及在其之后的p帧图像才能进行解码。本步骤可以提取视频编码数据流中的至少一个i帧,并对其进行独立解码得到相应的关键帧图像。

步骤s120.将关键帧图像输入预先训练的图像分类模型,以得到各个关键帧图像的图像分类结果。

在本示例性实施方式中,可以预先训练以图像作为输入数据并以图像分类结果作为输出数据的图像分类模型。在由步骤s110抽取出待分类视频的关键帧图像后,本步骤将其输入至预先训练完成的图像分类模型,可以得到分别与每个关键帧图像相对应的图像分类结果。本步骤中所使用的图像分类模型可以是深度卷积神经网络,另外也可以是其他任意的用于图像处理领域的机器学习模型,本示例性实施方式对此不做特殊限定。

步骤s130.根据图像分类结果确定待分类视频的视频分类结果。

基于步骤s120得到的关键帧图像的图像分类结果,本步骤可以确定待分类视频的视频分类结果。在本示例性实施方式中,可以预先建立图像分类结果与视频分类结果之间的映射关系,例如可以为各种图像类型以及视频类型提供相互对应的分类标签。在一些实施方式中,可以直接将图像分类标签作为视频分类标签,而在其他一些实施方式中,也可以对图像分类标签进行映射或者转换得到与之相应的视频分类标签。当步骤s110中抽取到的关键帧图像的数量为多个时,由步骤s120也将得到分别对应于多个关键帧图像的多个图像分类结果,然后本步骤可以按照预设规则对多个图像分类结果进行融合以得到待分类视频的视频分类结果。

本示例性实施方式提供的视频分类方法采用从待分类视频的编码数据流中提取关键帧图像的方式获取关键帧图像的图像分类结果,然后再基于图像分类结果确定待分类视频的视频分类结果。该方法只需要抽取少量的关键帧图像进行解码即可,而无需对完整视频进行解码,显著降低了视频分类的分析处理时间,提升了视频分析处理效率,能够满足高精度的实时分析和分类需求,尤其适用于对海量短视频的高效分类处理。

如图2所示,在本发明的另一示例性实施方式中,步骤s110.从待分类视频的编码数据流中提取一个或者多个关键帧图像,可以进一步包括以下步骤:

步骤s210.在编码数据流中确定一个或者多个关键帧提取点。

在一段编码数据流中,通常会包含多个关键帧,关键帧的数量与视频内容、视频时长以及编码规则等多种因素相关。为了准确抽取关键帧图像,本步骤可以在编码数据流中先确定关键帧提取点,关键帧提取点的数量以及位置可以按照预先设定的提取规则进行确定。为了尽可能提高所提取到的关键帧的代表性,本步骤中确定的关键帧提取点可以相对均匀地分布在编码数据流中,例如每隔一段相同的距离确定一个关键帧提取点。举例而言,本步骤可以将固定的编码长度作为间隔均匀设置关键帧提取点,关键帧提取点的数量由作为间隔的编码长度以及编码数据流的编码总长度共同决定。如果编码数据流长度较短,那么本步骤所确定的关键帧提取点的数量相对较少,而如果编码数据流长度较长,那么本步骤所确定的关键帧提取点的数量也会相对较多。一般而言,关键帧提取点的数量应当大于或者等于需要提取的关键帧图像的数量。关键帧提取点的数量和位置可以根据具体需求进行选择和确定,本示例性实施方式对此不做特殊限定。

步骤s220.分别提取与各个关键帧提取点距离最近的关键帧图像。

在由步骤s210确定编码数据流中的关键帧提取点之后,本步骤可以采用双向查找的方式,以一个关键帧提取点作为起点,查找编码数据流中与之所在编码位置距离最近的关键帧。由于没有限定查找方向,距离最近的关键帧可能出现在关键帧提取点之前,也可能出现在关键帧提取点之后,而且通过两个关键帧提取点所确定的关键帧也可能是同一个。为了尽量避免关键帧的重复提取问题,本步骤也可以采用单向查找的方式,以各个关键帧提取点作为起点,沿编码数据流的单一序列方向查找分别与每一个关键帧提取点距离最近的关键帧图像,例如统一采用向前查找的方式确定关键帧,或者统一采用向后查找的方式确定关键帧。确定关键帧后再对关键帧的编码数据进行解码即可得到完整的关键帧图像。

在本示例性实施方式提供的视频分类方法中,采用预先设定关键帧提取点的方式进行关键帧的查找和提取,可以预先确定需要提取的关键帧的数量,并在相应数量的基础上有目的性地进行关键帧提取点的设置,从而可以提高关键帧提取效率,使得关键帧的抽取速度和关键帧信息量上做到了相对的平衡。

如图3所示,在本发明的另一示例性实施方式中,步骤s110.从待分类视频的编码数据流中提取一个或者多个关键帧图像,可以进一步包括以下步骤:

步骤s310.在编码数据流中确定一个或者多个关键帧提取点。

与上一示例性实施方式中步骤s210相似的,为了准确抽取关键帧图像,本步骤可以首先在编码数据流中确定关键帧提取点,关键帧提取点的数量以及位置可以按照预先设定的提取规则进行确定。而与步骤s210不同的是,本步骤中确定关键帧提取点的方式可以是以固定时间长度为间隔,每隔一段相同的时间长度确定一个关键帧提取点。关键帧提取点的数量与作为间隔的时间长度以及待分类视频的总时间长度相关。对于一个待分类视频而言,如果视频整体时间长度极短(例如5秒左右),那么在仅提取一个关键帧图像即可完成准确分类的情况下,可以预先确定编码数据流中的一个节点作为关键帧提取点。而如果视频整体时间长度较长(例如15秒左右),那么可以预先确定编码数据流中的4至5个节点作为关键帧提取点,相应地便可以提取到4个左右的关键帧图像。关键帧提取点的数量和位置可以根据具体需求进行选择和确定,本示例性实施方式对此不做特殊限定。

步骤s320.获取各个关键帧提取点的时间戳。

针对步骤s310确定的关键帧提取点,本步骤可以分析编码数据信息,从中获取各个关键帧提取点在编码过程中由编码器生成的时间戳。本步骤中获取的时间戳可以是关键帧提取点所在视频帧的解码时间戳(decodingtimestamp,dts),另外也可以是关键帧提取点所在视频帧的显示时间戳(presentationtimestamp,pts)。当本步骤中所获取到的时间戳为解码时间戳时,可以反映各个关键帧提取点在编码过程中的编码顺序或者解码过程中的解码顺序,即解码时间戳可以体现关键帧提取点在编码数据流中的实际编码位置。当本步骤中所获取到的时间戳为显示时间戳时,可以反映各个关键帧提取点所在视频帧的实际播放顺序,即显示时间戳可以对应待分类视频在播放过程中的播放时间点。

步骤s330.分别提取与各个关键帧提取点的时间戳最相近的关键帧图像。

在由步骤s320获取到各个关键帧提取点的时间戳后,本步骤可以沿时间序列在编码数据流上查找与各个关键帧提取点的时间戳最相近的关键帧图像。例如,可以采用双向查找的方式,以一个关键帧提取点作为时间起点,查找编码数据流中与之时间戳最相近的关键帧。由于没有限定查找方向,时间戳最相近的关键帧可能出现在关键帧提取点的时间点之前,也可能出现在关键帧提取点的时间点之后,而且通过两个关键帧提取点所确定的关键帧也可能是同一个。为了尽量避免关键帧的重复提取问题,本步骤也可以采用单向查找的方式,以各个关键帧提取点作为起点,沿编码数据流的单一序列方向(单一时间序列方向)查找分别与每一个关键帧提取点时间戳最相近的关键帧图像,例如统一采用向前查找(即沿时间减少的序列方向查找)的方式确定关键帧,或者统一采用向后查找(即沿时间增加的序列方向查找)的方式确定关键帧。确定关键帧后再对关键帧的编码数据进行解码即可得到完整的关键帧图像。

在本示例性实施方式提供的视频分类方法中,采用以时间序列作为关键帧提取参考要素预先设定关键帧提取点的方式进行关键帧的查找和提取,可以预先确定需要提取的关键帧的数量,并在相应数量的基础上有目的性地进行关键帧提取点的设置,从而可以提高关键帧提取效率。

如图4所示,在以上示例性实施方式的基础上,步骤s210或者步骤s310.在编码数据流中确定一个或者多个关键帧提取点,可以包括以下步骤:

步骤s410.将待分类视频的编码数据流划分为多个数据区间。

本步骤首先可以对待分类视频的编码数据流进行区域划分,得到多个数据区间。其中,数据区间的数量至少应当等于或者大于希望确定的关键帧提取点的数量。例如,如果希望确定三个关键帧提取点,那么至少可以将待分类视频的编码数据流划分得到三个数据区间。各个数据区间的长度可以相同也可以不同,本示例性实施方式对此不做特殊限定。

步骤s420.在各个数据区间中分别确定一个关键帧提取点。

在完成数据区间的划分后,本步骤可以在每个数据区间中分别确定一个关键帧提取点。在一些实施方式中,可以在数据区间内随机选取节点作为关键帧提取点,另外也可以将每个数据区间的起始点、终点或者数据区间内固定位置处的节点作为关键帧提取点。

在本示例性实施方式中,通过划分数据区间的方式可以相对均匀地分散关键帧提取点,保证在完整的待分类视频中可以尽量采集到能够反映视频整体内容的关键帧图像。数据区间的划分数量可以根据需要进行设定,具体可以考虑计算设备的计算能力和关键帧的抽取速度。

基于以上示例性实施方式,如图5所示,步骤s420.在各个数据区间中分别确定一个关键帧提取点,可以包括以下步骤:

步骤s510.确定各个数据区间的起始点。

针对划分得到的多个数据区间,本步骤首先确定各个数据区间的起始点,作为后续确定关键帧提取点的基准。

步骤s520.获取与编码数据流的长度和数据区间的数量相关的预设偏移距离。

根据编码数据流的长度以及步骤s410中划分得到的数据区间的数量,本步骤可以获取与这两个参数相关的预设偏移距离。这里的预设偏移距离可以以编码数据流的数据长度作为距离度量单位。

步骤s530.将与各个数据区间的起始点具有预设偏移距离的数据节点作为关键帧提取点。

在每个数据区间的起始点基础上,选取与之间隔预设偏移距离的数据节点作为关键帧提取点。

一般在视频的开始或者结束位置处会存在一些无效帧,本示例性实施方式提供的视频分类方法中,采用划分数据区间并在数据区间的基础上偏移一定距离的方式确定关键帧提取点,可以在一定程度上避开无效帧,避免因提取到无效帧而影响视频分类的准确性。

在本发明的另一示例性实施方式中,如图6所示,步骤s420.在各个数据区间中分别确定一个关键帧提取点,也可以包括以下步骤:

步骤s610.确定各个数据区间的起始点。

针对划分得到的多个数据区间,本步骤首先确定各个数据区间的起始点,作为后续确定关键帧提取点的基准。

步骤s620.获取与待分类视频的时间长度和数据区间的数量相关的预设偏移时长。

根据待分类视频的时间长度以及步骤s410中划分得到的数据区间的数量,本步骤可以获取与这两个参数相关的预设偏移时长。这里的预设偏移时长是以时间作为度量单位。例如,待分类视频的时间长度为l,由步骤s410将其均匀划分为n个数据区间,那么本步骤获取到的预设偏移时长可以是t=0.75*l/n。

步骤s630.将与各个数据区间的起始点具有预设偏移时长的数据节点作为关键帧提取点。

基于步骤s620获取到的预设偏移时长,本步骤以各个数据区间的起始点为基础,将与之间隔预设偏移时长的数据节点作为关键帧提取点。例如,预设偏移时长为t=0.75*l/n,那么本步骤即是将各个数据区间四分之三位置处的数据节点作为关键帧提取点。

在其他一些实施方式中,也可以选取各个数据区间的终点作为偏移基础。当选取数据区间的起始点作为偏移基础时,可以采用沿数据编码序列或者时间序列向后偏移的方式确定关键帧提取点。而当选取数据区间的终点作为偏移基础时,可以采用沿数据编码序列或者时间序列向前偏移的方式确定关键帧提取点。

在本发明的另一示例性实施方式中,如图7所示,在步骤s120将关键帧图像输入预先训练的图像分类模型之前,图像分类方法还可以包括以下步骤:

步骤s710.当关键帧图像的数量为多个时,确定关键帧图像中的重复图像。

步骤s720.丢弃任意两个重复图像的其中一个。

当步骤s110提取到多个关键帧图像时,本示例性实施方式可以先对关键帧图像进行去重处理。例如可以先获取各个关键帧图像的时间戳;然后确定关键帧图像中具有相同时间戳的图像,并将具有相同时间戳的图像作为重复图像。最后将任意两个重复图像中的其中一个做丢弃处理。通过去重处理可以去除重复抽取的关键帧,减少视频信息的冗余度,避免对相同图像的重复分类操作,一方面可以避免计算资源的浪费,另一方面也可以提高视频分类结果的准确性。

在本发明的另一示例性实施方式中,如图8所示,在步骤s120将关键帧图像输入预先训练的图像分类模型之前,还可以对关键帧图像做去黑帧处理,具体可以包括以下步骤:

步骤s810.获取关键帧图像的亮度信息。

作为一种示例性的亮度信息的获取方式,本步骤可以先获取关键帧图像中各个像素点在预设颜色通道中的亮度值;然后统计亮度值小于预设亮度值的像素点的数量比例,并将该数量比例作为关键帧图像的亮度信息。

步骤s820.基于亮度信息确定关键帧图像中的黑帧图像。

继续以步骤s810中示例的数量比例作为亮度信息,本步骤可以将数量比例大于预设阈值的关键帧图像作为黑帧图像。

步骤s830.丢弃黑帧图像。

由步骤s820将一关键帧图像确定为黑帧图像后,本步骤即可认为该关键帧图像整体亮度不符合后续分类要求而将其做丢弃处理,不再参与后续的分类步骤。

举例而言,在yuv图像格式下,本步骤可以获取某一关键帧图像中各个像素点在y通道中的亮度值,然后统计亮度值小于预设亮度值ty的像素点个数并计算该个数占这一关键帧图像总像素个数的数量比例ρ,该数量比例ρ即作为当前关键帧图像的亮度信息。若数量比例ρ大于预设阈值tρ,则可以将该帧图像判定为黑帧图像而将其丢弃。例如,在一实施方式中,ty取值为20,tρ取值为0.9,可以将其理解为:如果一个关键帧图像中包含y通道亮度值小于20的像素点超过90%,那么该帧图像即可被判定为黑帧图像。

在本示例性实施方式中,通过对提取到的关键帧图像做去黑帧处理,去除了无效的关键帧信息,不仅可以减少计算资源的消耗,而且可以提高供视频分类之用的关键帧图像的整体图像质量,提高后续图像分类结果的准确性,进而可以提高最终视频分类结果的准确性。

下面参考图9所示的应用场景对以上各示例性实施方式提供的视频分类方法进行说明。

如图9所示,待分类视频为一时间长度为12.4秒的短视频,为方便理解,此处以待分类视频的播放时间序列进行展示,对应到待分类视频的编码数据流中应当是各帧图像编码数据的编码序列。利用本发明示例性实施方式提供的视频分类方法,可以将该短视频均匀划分为4个视频区间,依次为第一区间、第二区间、第三区间和第四区间,对应于将该短视频的编码数据流划分为4个数据区间。然后将每个视频区间内相对起始位置偏移四分之三长度位置处的视频节点作为关键帧提取点,并从每个关键帧提取点出发,沿时间序列向前查找与之时间戳最相近的关键帧进行提取。由于在第四区间中,12s位置的关键帧位于该区间中关键帧提取点之后,因此由该关键帧提取点向前查找到的是位于第三区间中的8s位置处的关键帧。经过提取后将得到分别位于0s、4s、8s和8s位置处的四个关键帧,在对其进行去重处理,即得到对应于0s、4s和8s的三个关键帧图像。

在本发明的另一示例性实施方式中,如图10所示,在步骤s120将关键帧图像输入预先训练的图像分类模型之前,还可以对提取到的关键帧图像进行图像预处理。其中,图像预处理的过程可以包括以下步骤:

步骤s1010.当关键帧图像为yuv颜色空间图像时,将关键帧图像转换为rgb颜色空间图像。

一般较为常规的视频编解码标准的压缩对象都是yuv颜色空间图像,为了方便后续的图像处理和分类,本步骤可以将yuv颜色空间图像转换为rgb颜色空间图像。对图像格式进行统一,可以提高图像分类方法的普遍适用性。

步骤s1020.对关键帧图像进行裁剪处理,以使关键帧图像的高度和宽度相等。

由于视频拍摄设备存在差异,相应的待分类视频的视频帧图像规格也会不同,通过本步骤对关键帧图像进行裁剪处理可以使关键帧图像的高度和宽度相等,形成统一规格的图像,进而提高图像分类方法的普遍适用性。举例而言,本步骤可以将提取到的多个关键帧图像沿短边方向进行拼接处理后得到第一拼接图像,即将每两个相邻关键帧图像的长边进行拼接。完成拼接后,再对第一拼接图像进行裁剪处理。在经过裁剪处理之后还可以对裁剪后的第一拼接图像沿其内部的拼接部位进行拆分。如此一来,输入至图像分类模型的每个关键帧图像都将是高度和宽度相等的图像,图像分类模型一经训练完成即可适用多种不同规格的视频图像,进一步提高了图像分类方法的普遍适用性。另外,采用拼接后裁剪的处理方式可以避免对每一个关键帧图像均进行重复操作的问题,提高图像裁剪速度的同时还可以降低计算资源的消耗。

步骤s1030.对关键帧图像进行缩放处理,以使关键帧图像的高度或者宽度等于预设长度。

由于视频拍摄设备存在差异,相应的待分类视频的视频帧图像尺寸也会不同,通过本步骤对关键帧图像进行缩放处理可以使关键帧图像的高度或者宽度等于预设长度,形成在单一维度或者两个维度上均具有统一尺寸的图像,进而提高图像分类方法的普遍适用性。举例而言,本步骤可以将提取到的多个关键帧图像沿高度方向或者宽度方向进行拼接处理后得到第二拼接图像。完成拼接后再对第二拼接图像进行缩放处理。经过缩放处理之后还可以对缩放后的第二拼接图像沿其内部的拼接部分进行拆分。如此一来,可以使每一关键帧图像的高度或者宽度均等于预设长度,图像分类模型一经训练完成即可适用多种不同尺寸的视频图像,进一步提高了图像分类方法的普遍适用性。另外,采用拼接后缩放的处理方式可以避免对每一个关键帧图像均进行重复操作的问题,提高图像缩放速度的同时还可以降低计算资源的消耗。

在经过步骤s1020的裁剪处理和步骤s1030的缩放处理后,将得到高度和宽度相等并且均等于预设长度的关键帧图像,实现了对图像规格以及图像尺寸的统一。而且,如果步骤s1020与步骤s1030连续执行,可以仅进行一次拼接过程,例如由步骤s1020进行图像的拼接和裁剪后,可以直接对拼接图像进行步骤s1030的缩放处理,在缩放完成后,再进行图像拆分,从而可以提高图像整体处理效率。

步骤s1040.对关键帧图像进行归一化处理。

本步骤对关键帧图像进行归一化处理以形成标准化的图像,具体可以是对图像特征做减均值和除以标准差的运算,当然在其他一些实施方式中也可以采用其他任意的图像归一化的处理方法。为了加快处理效率、降低资源消耗,本步骤可以首先将多个关键帧图像沿颜色通道方向进行拼接处理后得到第三拼接图像,然后对第三拼接图像进行归一化处理。完成对第三拼接图像的归一化处理后,可以将第三拼接图像沿其内部拼接部位进行拆分,还原得到经过归一化处理的关键帧图像。

本示例性实施方式中涉及的图像预处理过程可以在图像处理器(graphicsprocessingunit,gpu)上进行,下面结合图11所示的应用场景对图像预处理过程做示例性说明。

如图11所示,上、下两部分分别对应将两种不同尺寸规格的关键帧图像序列移入至gpu中依次进行颜色空间转换、裁剪、缩放和归一化处理的过程。首先,将关键帧从yuv颜色空间转换到到rgb颜色空间,利用gpu的并行处理特性,针对图像上的不同位置同时进行数值转换。之后,对rgb图像进行裁剪和缩放处理。设当前关键帧图像的数目为n,关键帧图像的高度为h,宽度为w,颜色通道数为c。

参考图11上半部分,若h<w(即高度小于宽度),将关键帧图像沿其高度方向进行拼接形成高度为n*h、宽度为w、通道数为c的一张图像。然后通过裁剪处理在该图像中心位置裁剪出高为n*h、宽为h的子图(图中虚线框所示),接着通过缩放处理将该子图缩放为高为n*240、宽为240的图像。

参考图11下半部分,若h>w(即高度大于宽度),将关键帧图像沿其宽度方向进行拼接形成高度为h,宽度为n*w,通道数为c的一张图像。然后通过裁剪处理在该图像中心位置裁剪出高度为w、宽度为n*w的子图(图中虚线框所示),接着通过缩放处理将该子图缩放为高度为240、宽度为n*240的图像。

最后将缩放后的图像进行归一化处理,即将图像拆分后沿颜色通道方向再次进行拼接,拼接后的图像高度为240、宽度为240、通道数为n*c,对每个通道进行并行的减均值和除方差处理,之后将图像恢复成n个高为240、宽为240、颜色通道数为c的输入图像。

如图12所示,在本发明的另一示例性实施方式中,步骤s130.根据图像分类结果确定待分类视频的视频分类结果,可以包括以下步骤:

步骤s1210.获取与各个关键帧图像相对应的分类权重。

步骤s1220.利用分类权重对图像分类结果进行加权平均以得到待分类视频的视频分类结果。

仍以图11所示的应用场景为例,在经过图像预处理后得到n个高为240、宽为240、颜色通道数为c的输入图像。随后利用深度卷积神经网络和gpu资源,可以针对输入图像进行快速的分类处理。基于tensorrt框架可以对n个输入图像进行一次批量前向推理,得到n个输入图像的图像分类结果。之后将图像分类结果数据拷贝到中央处理器(centralprocessingunit,cpu),在cpu上进行后处理逻辑的计算,融合n个输入图像的结果得到短视频的分类结果。该融合过程一般可以采用加权平均的方式,即:

其中zi表示第i个输入图像的图像分类结果,表示融合后的视频分类结果,wi则为第i个图像分类结果zi的权重。如果每个输入图像的内容对短视频类别的影响都相同,则可以设置wi=1;如果输入图像的内容对短视频的类别有不同程度的影响,则可以根据数据统计的方式调整各个图像分类结果的权重wi。

在本发明的一种示例性实施方式中,视频分类方法可以应用于具有中央处理器cpu和图像处理器gpu的计算设备。如图13以及图14的上半部分所示,当对单一视频进行分类时,对应于待分类视频的关键帧图像提取的抽帧步骤以及对应于根据图像分类结果确定视频分类结果的后处理步骤都是在cpu上进行的,而对应于图像格式转换、裁剪、缩放和归一化的图像预处理步骤以及利用深度卷积神经网络获得图像分类结果的网络推理步骤则是在gpu上进行的。

如图14的下半部分所示,当大量视频需要进行分类处理时,由于cpu和gpu的计算可以并行,因此为了最大化cpu的利用率,当cpu处理完一个待分类视频的关键帧提取后,后续处理可以切换到gpu上进行处理,同时cpu继续选取下一个待分类视频进行关键帧提取,从而实现流水线形式的视频分类处理。

流水线形式的视频分类方法具体到每一个步骤的实施方式如下:

步骤s110.从待分类视频的编码数据流中提取一个或者多个关键帧图像,包括:

利用中央处理器从当前待分类视频的编码数据流中提取一个或者多个关键帧图像,并将当前待分类视频的关键帧图像发送至图像处理器;

继续利用中央处理器从下一待分类视频的编码数据流中提取一个或者多个关键帧图像,并将下一待分类视频的关键帧图像发送至图像处理器,直至完成所有待分类视频的关键帧图像的提取和发送。

步骤s120.将关键帧图像输入预先训练的图像分类模型,以得到各个关键帧图像的图像分类结果,包括:

利用图像处理器将当前待分类视频的关键帧图像输入预先训练的图像分类模型,以得到各个关键帧图像的图像分类结果,并将图像分类结果发送至中央处理器;

继续利用图像处理器将下一待分类视频的关键帧图像输入预先训练的图像分类模型,以得到各个关键帧图像的图像分类结果,并将图像分类结果发送至中央处理器,直至完成所有待分类视频的图像分类结果的获取和发送。

步骤s130.根据图像分类结果确定待分类视频的视频分类结果,包括:

利用中央处理器根据图像分类结果确定当前待分类视频的视频分类结果;

继续利用中央处理器确定下一待分类视频的视频分类结果,直至完成所有待分类视频的视频分类结果的确定。

采用流水线形式的视频分类方法可以最大化利用cpu和gpu的并行处理效能,提升了视频连续处理分析的效率。

示例性介质

在介绍了本发明示例性实施方式的方法之后,接下来,对本发明示例性实施方式的介质进行说明。

在一些可能的实施方式中,本发明的各个方面还可以实现为一种介质,其上存储有程序代码,当所述程序代码被设备的处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的视频分类方法中的步骤。

具体地,所述设备的处理器执行所述程序代码时用于实现如下步骤:步骤s110.从待分类视频的编码数据流中提取一个或者多个关键帧图像。步骤s120.将关键帧图像输入预先训练的图像分类模型,以得到各个关键帧图像的图像分类结果。步骤s130.根据图像分类结果确定待分类视频的视频分类结果。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:步骤s210.在编码数据流中确定一个或者多个关键帧提取点。步骤s220.分别提取与各个关键帧提取点距离最近的关键帧图像。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:步骤s310.在编码数据流中确定一个或者多个关键帧提取点。步骤s320.获取各个关键帧提取点的时间戳。步骤s330.分别提取与各个关键帧提取点的时间戳最相近的关键帧图像。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:步骤s410.将待分类视频的编码数据流划分为多个数据区间。步骤s420.在各个数据区间中分别确定一个关键帧提取点。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:步骤s510.确定各个数据区间的起始点。步骤s520.获取与编码数据流的长度和数据区间的数量相关的预设偏移距离。步骤s530.将与各个数据区间的起始点具有预设偏移距离的数据节点作为关键帧提取点。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:步骤s610.确定各个数据区间的起始点。步骤s620.获取与待分类视频的时间长度和数据区间的数量相关的预设偏移时长。步骤s630.将与各个数据区间的起始点具有预设偏移时长的数据节点作为关键帧提取点。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:步骤s710.当关键帧图像的数量为多个时,确定关键帧图像中的重复图像。步骤s720.丢弃任意两个重复图像的其中一个。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:步骤s810.获取关键帧图像的亮度信息。步骤s820.基于亮度信息确定关键帧图像中的黑帧图像。步骤s830.丢弃黑帧图像。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:步骤s1010.当关键帧图像为yuv颜色空间图像时,将关键帧图像转换为rgb颜色空间图像。步骤s1020.对关键帧图像进行裁剪处理,以使关键帧图像的高度和宽度相等。步骤s1030.对关键帧图像进行缩放处理,以使关键帧图像的高度或者宽度等于预设长度。步骤s1040.对关键帧图像进行归一化处理。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:步骤s1210.获取与各个关键帧图像相对应的分类权重。步骤s1220.利用分类权重对图像分类结果进行加权平均以得到待分类视频的视频分类结果。

以上各示例性实施方式中涉及的步骤的具体实现方式已在对应的方法实施例中进行说明,此处不再赘述。

需要说明的是:上述的介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、rf等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

示例性装置

在介绍了本发明示例性实施方式的介质之后,接下来,参考图15和图16对本发明示例性实施方式的视频分类装置进行说明。

如图15所示,在本发明的一种示例性实施方式中,视频分类装置1500主要可以包括:图像提取模块1510、图像分类模块1520和视频分类模块1530。其中,图像提取模块1510被配置为从待分类视频的编码数据流中提取一个或者多个关键帧图像;图像分类模块1520被配置为将关键帧图像输入预先训练的图像分类模型,以得到各个关键帧图像的图像分类结果;视频分类模块1530被配置为根据图像分类结果确定待分类视频的视频分类结果。

在本发明的一些实施方式中,图像提取模块1510可以进一步包括:提取点确定单元1511和第一图像提取单元1512。其中,提取点确定单元1511被配置为在编码数据流中确定一个或者多个关键帧提取点;第一图像提取单元1512被配置为分别提取与各个关键帧提取点距离最近的关键帧图像。

基于以上实施方式,分别提取与各个关键帧提取点距离最近的关键帧图像,包括:分别以各个关键帧提取点为起点,沿编码数据流的单一序列方向查找与关键帧提取点距离最近的关键帧图像。

如图16所示,在本发明的另一些实施方式中,图像提取模块1510可以进一步包括:提取点确定单元1511、第一时间戳获取单元1513和第二图像提取单元1514。其中,提取点确定单元1513被配置为在编码数据流中确定一个或者多个关键帧提取点;第一时间戳获取单元1514被配置为获取各个关键帧提取点的时间戳;第二图像提取单元1515被配置为分别提取与各个关键帧提取点的时间戳最相近的关键帧图像。

基于以上实施方式,分别提取与各个关键帧提取点的时间戳最相近的关键帧图像,包括:分别以各个关键帧提取点为起点,沿编码数据流的单一序列方向查找与关键帧提取点的时间戳最相近的关键帧图像。

基于以上实施方式,时间戳可以为待分类视频中视频帧的显示时间戳。

基于以上实施方式,提取点确定单元1511可以包括:区间划分单元和区间提取点确定单元。其中,区间划分单元被配置为将待分类视频的编码数据流划分为多个数据区间;区间提取点确定单元被配置为在各个数据区间中分别确定一个关键帧提取点。

基于以上实施方式,区间提取点确定单元又可以包括:起始点确定单元、偏移距离获取单元和第一节点确定单元。其中,起始点确定单元被配置为确定各个数据区间的起始点;偏移距离获取单元被配置为获取与编码数据流的长度和数据区间的数量相关的预设偏移距离;第一节点确定单元被配置为将与各个数据区间的起始点具有预设偏移距离的数据节点作为关键帧提取点。

在本发明的另一些实施方式中,区间提取点确定单元也可以包括:起始点确定单元、偏移时长获取单元和第二节点确定单元。其中,起始点确定单元被配置为确定各个数据区间的起始点;偏移时长获取单元被配置为获取与待分类视频的时间长度和数据区间的数量相关的预设偏移时长;第二节点确定单元被配置为将与各个数据区间的起始点具有预设偏移时长的数据节点作为关键帧提取点。

在本发明的一些实施方式中,视频分类装置还可以包括:重复图像确定模块和重复图像丢弃模块。其中,重复图像确定模块被配置为当关键帧图像的数量为多个时,确定关键帧图像中的重复图像;重复图像丢弃模块被配置为丢弃任意两个重复图像的其中一个。

基于以上实施方式,重复图像确定模块可以进一步包括:第二时间戳获取单元和重复图像确定单元。其中,第二时间戳获取单元被配置为获取各个关键帧图像的时间戳;重复图像确定单元被配置为确定关键帧图像中具有相同时间戳的图像,并将具有相同时间戳的图像作为重复图像。

在本发明的一些实施方式中,视频分类装置还包括:亮度信息获取模块、黑帧图像确定模块和黑帧图像丢弃模块。其中,亮度信息获取模块被配置为当关键帧图像的数量为多个时,获取关键帧图像的亮度信息;黑帧图像确定模块被配置为基于亮度信息确定关键帧图像中的黑帧图像;黑帧图像丢弃模块被配置为丢弃黑帧图像。

基于以上实施方式,亮度信息获取模块可以进一步包括:亮度值获取单元和亮度信息确定单元。其中,亮度值获取单元被配置为获取关键帧图像中各个像素点在预设颜色通道中的亮度值;亮度信息确定单元被配置为统计亮度值小于预设亮度值的像素点的数量比例,并将数量比例作为关键帧图像的亮度信息。

基于以上实施方式,基于亮度信息确定关键帧图像中的黑帧图像,可以包括:将数量比例大于预设阈值的关键帧图像作为黑帧图像。

在本发明的一些实施方式中,视频分类装置还包括:颜色空间转换模块、图像裁剪模块、图像缩放模块和图像归一化模块中的一个或者多个。其中,颜色空间转换模块被配置为当关键帧图像为yuv颜色空间图像时,将关键帧图像转换为rgb颜色空间图像;图像裁剪模块被配置为对关键帧图像进行裁剪处理,以使关键帧图像的高度和宽度相等;图像缩放模块被配置为对关键帧图像进行缩放处理,以使关键帧图像的高度或者宽度等于预设长度。图像归一化模块被配置为对关键帧图像进行归一化处理。

基于以上实施方式,图像裁剪模块又可以包括:第一拼接单元和图像裁剪单元。其中,第一拼接单元被配置为将多个关键帧图像沿短边方向进行拼接处理后得到第一拼接图像;图像裁剪单元被配置为对第一拼接图像进行裁剪处理,以使关键帧图像的高度和宽度相等。

基于以上实施方式,图像缩放模块又可以包括:第二拼接单元和图像缩放单元。其中,第二拼接单元被配置为将多个关键帧图像沿高度方向或者宽度方向进行拼接处理后得到第二拼接图像;图像缩放单元被配置为对第二拼接图像进行缩放处理,以使关键帧图像的高度或者宽度等于预设长度。

基于以上实施方式,图像归一化模块又可以包括:第三拼接单元和图像归一化单元。其中,第三拼接单元被配置为将多个关键帧图像沿颜色通道方向进行拼接处理后得到第三拼接图像;图像归一化单元被配置为对第三拼接图像进行归一化处理。

在本发明的一些实施方式中,视频分类模块1530可以进一步包括:权重获取单元和视频分类单元。其中,权重获取单元被配置为获取与各个关键帧图像相对应的分类权重;视频分类单元被配置为利用分类权重对图像分类结果进行加权平均以得到待分类视频的视频分类结果。

以上实施方式中涉及的模块或者单元所执行的具体操作已在对应的方法实施例中进行说明,此处不再赘述。

示例性计算设备

在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,介绍根据本发明的另一示例性实施方式的计算设备。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

在一些可能的实施方式中,根据本发明实施方式的计算设备可以至少包括至少一个处理器、以及至少一个存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的视频分类方法中的步骤。例如,所述处理器可以执行如图1中所示的步骤s110.从待分类视频的编码数据流中提取一个或者多个关键帧图像;步骤s120.将关键帧图像输入预先训练的图像分类模型,以得到各个关键帧图像的图像分类结果;步骤s130.根据图像分类结果确定待分类视频的视频分类结果。又如,所述处理器也可以执行如图2中所示的步骤s210.在编码数据流中确定一个或者多个关键帧提取点;步骤s220.分别提取与各个关键帧提取点距离最近的关键帧图像。又如,所述处理器也可以执行如图3至图8以及图10和图12中所示的各个步骤。

应当注意,尽管在上文详细描述中提及了视频分类装置的若干模块或单元,但是这种划分仅仅是示例性的,并非是强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或单元的特征和功能可以在一个模块或单元中具体化。反之,上文描述的一个模块或单元的特征和功能可以进一步划分为由多个模块或单元来具体化。

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

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所发明的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

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