视频分类方法、装置、电子设备及存储介质

文档序号:1904705 发布日期:2021-11-30 浏览:11次 >En<

阅读说明:本技术 视频分类方法、装置、电子设备及存储介质 (Video classification method and device, electronic equipment and storage medium ) 是由 王思聪 司建锋 于 2020-05-25 设计创作,主要内容包括:本申请提供了一种视频分类方法、装置、电子设备及存储介质,属于多媒体技术领域。方法包括:将从目标视频中获取到的至少一个图像帧输入基于卷积神经网络的运算模型,得到至少一个图像帧向量;从至少两个簇中确定该至少一个图像帧向量分别对应的目标簇,一个簇用于表示一类图像帧向量;基于至少一个图像帧向量分别对应的目标簇,获取目标视频对应的待识别文本;将待识别文本输入自然语言处理模型,通过自然语言处理模型对待识别文本进行解码,得到目标视频所属的视频类型。上述方案,在对目标视频进行分类时,将处理目标视频中的图像帧转换为处理待识别文本中的文本内容,降低了计算复杂度,缩短了处理时间,降低了对设备处理能力的要求。(The application provides a video classification method, a video classification device, electronic equipment and a storage medium, and belongs to the technical field of multimedia. The method comprises the following steps: inputting at least one image frame acquired from a target video into an operation model based on a convolutional neural network to obtain at least one image frame vector; determining target clusters corresponding to the at least one image frame vector respectively from at least two clusters, wherein one cluster is used for representing one type of image frame vector; acquiring texts to be recognized corresponding to target videos based on target clusters corresponding to at least one image frame vector respectively; and inputting the text to be recognized into the natural language processing model, and decoding the text to be recognized through the natural language processing model to obtain the video type of the target video. According to the scheme, when the target video is classified, the image frames in the target video are converted into the text contents in the text to be recognized, so that the calculation complexity is reduced, the processing time is shortened, and the requirement on the processing capacity of the equipment is reduced.)

视频分类方法、装置、电子设备及存储介质

技术领域

本申请涉及多媒体技术领域,特别涉及一种视频分类方法、装置、电子设备及存储介质。

背景技术

随着多媒体技术的发展,各种各样的视频网站层出不穷,而用户也越来越喜欢在空闲时间去各视频网站观看自己感兴趣的视频。对于视频网站来说,由于视频的数量庞大,且不同用户感兴趣的视频也不同,为了使用户能够在短时间内找到自己感兴趣的视频,视频网站通常会给视频进行分类或者添加标签,以表明该视频的主要内容,方便用户进行选择。

相关技术中,通常是采用深度学习的方法,通过卷积神经网络(CNN,Convolutional Neural Networks)或者长短期记忆网络(LSTM,Long Short-Term Memory)等模型,根据视频中包括的各图像帧对应的图片向量来确定各图像帧分别所属的类型,从而实现对视频进行分类或者添加标签的目的。

由于图片向量的维度较大,使得上述技术方案在对图像帧进行处理时,计算复杂度较高,从而需要耗费较长的时间,且对设备的处理能力要求较高。

发明内容

本申请实施例提供了一种视频分类方法、装置、电子设备及存储介质,用一维的簇心标识来取代高维的图像向量降低了计算复杂度,缩短了处理时间,降低了对设备处理能力的要求。所述技术方案如下:

一方面,提供了一种视频分类方法,所述方法包括:

将从目标视频中获取到的至少一个图像帧输入基于卷积神经网络的运算模型,得到至少一个图像帧向量;

从至少两个簇中确定所述至少一个图像帧向量分别对应的目标簇,一个簇用于表示一类图像帧向量;

基于所述至少一个图像帧向量分别对应的目标簇,获取所述目标视频对应的待识别文本;

将所述待识别文本输入自然语言处理模型,通过所述自然语言处理模型对所述待识别文本进行解码,得到所述目标视频所属的视频类型。

另一方面,提供了一种视频分类装置,所述装置包括:

向量获取模块,用于将从目标视频中获取到的至少一个图像帧输入基于卷积神经网络的运算模型,得到至少一个图像帧向量;

确定模块,用于从至少两个簇中确定所述至少一个图像帧向量分别对应的目标簇,一个簇用于表示一类图像帧向量;

文本获取模块,用于基于所述至少一个图像帧向量分别对应的目标簇,获取所述目标视频对应的待识别文本;

模型处理模块,用于将所述待识别文本输入自然语言处理模型,通过所述自然语言处理模型对所述待识别文本进行解码,得到所述目标视频所属的视频类型。

在一种可选的实现方式中,所述确定模块,还用于对于所述至少一个图像帧向量中的任一图像帧向量,从所述至少两个簇中确定簇心向量与所述图像帧向量之间相似度最高的簇作为所述图像帧向量的目标簇。

在一种可选的实现方式中,所述确定模块,还用于分别确定所述图像帧向量与所述至少两个簇的簇心向量之间的欧式距离;响应于任一簇的簇心向量与所述图像帧向量之间的欧式距离最小,将所述簇作为所述图像帧向量的目标簇。

在一种可选的实现方式中,所述文本获取模块,还用于以所述至少一个图像帧向量分别对应的目标簇的簇心标识作为所述目标视频对应的待识别文本中的词汇。

在一种可选的实现方式中,所述装置还包括:

所述向量获取模块,还用于的多个样本图像帧输入所述基于卷积神经网络的运算模型,得到多个样本图像帧向量;

聚类模块,用于所述多个样本图像帧向量进行聚类,得到至少两个簇;

分配模块,用于为所述至少两个簇分别分配唯一的簇心标识,所述簇心标识为数字编码形式。

在一种可选的实现方式中,所述模型处理模块,用于通过所述自然语言处理模型对所述待识别文本进行解码,得到至少一个分类概率,所述分类概率用于表示所述待识别文本属于不同分类类型的概率;根据所述至少一个分类概率,确定满足第一目标条件的分类类型作为所述目标视频所属的视频类型。

在一种可选的实现方式中,所述模型处理模块,还用于将所述待识别文本输入标签模型,通过所述标签模型对所述待识别文本进行解码,得到至少一个标签概率,所述标签概率用于表示所述待识别文本属于不同视频标签的概率;

所述确定模块,还用于根据所述至少一个标签概率,确定满足第二目标条件的视频标签作为所述目标视频的视频标签。

另一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器用于存储至少一段程序代码,所述至少一段程序代码由所述处理器加载并执行以实现本申请实施例中的视频分类方法中所执行的操作。

另一方面,提供了一种存储介质,所述存储介质中存储有至少一段程序代码,所述至少一段程序代码用于执行本申请实施例中的视频分类方法。

本申请实施例提供的技术方案带来的有益效果是:

在本申请实施例中,通过确定目标视频中图像帧的图像帧向量对应的目标簇,可以获取到目标视频对应的待识别文本,使得在对目标视频进行分类时,将处理目标视频中的图像帧转换为处理待识别文本中的文本内容,从而降低了计算复杂度,缩短了处理时间,降低了对设备处理能力的要求。

附图说明

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

图1是根据本申请实施例提供的视频分类系统的结构框图;

图2是根据本申请实施例提供的一种视频分类方法的流程图;

图3是根据本申请实施例提供的一种簇心向量的示意图;

图4是根据本申请实施例提供的一种获取目标簇的示意图;

图5是根据本公开实施例提供的另一种视频分类方法的流程图;

图6是根据本申请实施例提供的一种视频分类装置的框图;

图7是根据本申请实施例提供的一种终端的结构示意图;

图8是根据本申请实施例提供的一种服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

下面介绍一下本申请可能用到的技术:

聚类:聚类是一个将数据集中在某些方面相似的数据成员进行分类组织的过程。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。聚类技术经常被称为无监督学习。

K-means:k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。

Faiss:Faiss是Facebook AI团队开源的针对聚类和相似性的搜索库,为稠密向量提供高效相似度搜索和聚类,支持十亿级别向量的搜索,是目前最为成熟的近似近邻搜索库。它包含多种搜索任意大小向量集(备注:向量集大小由RAM内存决定)的算法,以及用于算法评估和参数调整的支持代码。

InceptionV3:Inception网络是CNN(Convolutional Neural Networks,卷积神经网络)分类器发展史上一个重要的里程碑。由谷歌提出。版本从V1迭代到V3,目前是众多图像领域预训练图片向量的首选开源模型。

本申请提供的视频分类方法,可以应用于对网站中的视频进行分类的场景,网站中的视频可以是网站运营商上传的视频,也可以是用户上传的视频,如电影、电视剧、微电影、短视频等。根据本申请提供的视频分类方法,网站运营商可以对网站中的视频进行分类,按照分类结果对视频进行展示,用户在浏览该网站时,可以根据分类来查看视频,还可以根据分类对视频进行筛选。

下面简单介绍一个下本申请提供的视频分类方法的主要步骤:首先,将从目标视频中获取到的至少一个图像帧输入基于卷积神经网络的运算模型,得到至少一个图像帧向量,从至少两个簇中确定该至少一个图像帧向量分别对应的目标簇,其中,一个簇用于表示一类图像帧向量。然后,基于上述至少一个图像帧向量分别对应的目标簇,获取该目标视频对应的待识别文本。最后,将待识别文本输入自然语言处理模型,通过自然语言处理模型对该待识别文本进行解码,得到目标视频所属的视频类型。上述方法通过目标视频的图像帧向量对应的目标簇,可以获取到目标视频对应的待识别文本,使得在对目标视频进行分类时,将处理目标视频中的图像帧转换为处理待识别文本中的文本内容,从而降低了计算复杂度,缩短了处理时间,降低了对设备处理能力的要求。例如,对图像帧进行矩阵计算需要使用GPU(Graphics Processing Unit,图形处理器)来实现,而对文本进行计算时,使用CPU(Central Processing Unit,中央处理器)即可实现,降低了对设备处理能力的要求,节省了成本。

图1是根据本申请实施例提供的视频分类系统100的结构框图。该视频分类系统100包括:终端110和视频分类平台120。

终端110通过无线网络或有线网络与视频分类平台120相连。终端110可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3播放器、MP4播放器和膝上型便携计算机中的至少一种。终端110安装和运行有支持视频分类的应用程序。该应用程序可以是社交类应用程序、多媒体播放类应用程序等。示意性的,终端110是用户使用的终端,终端110中运行的应用程序内登录有用户账户。

视频分类平台120包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。视频分类平台120用于为支持视频分类的应用程序提供后台服务。可选地,视频分类平台120承担主要分类工作,终端110承担次要分类工作;或者,视频分类平台120承担次要分类工作,终端110承担主要分类工作;或者,视频分类平台120或终端110分别可以单独承担分类工作。

可选地,视频分类平台120包括:接入服务器、视频分类服务器和数据库。接入服务器用于提供终端110提供接入服务。视频分类服务器用于提供视频分类有关的后台服务。视频分类服务器可以是一台或多台。当视频分类服务器是多台时,存在至少两台视频分类服务器用于提供不同的服务,和/或,存在至少两台视频分类服务器用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。

终端110可以泛指多个终端中的一个,本实施例仅以终端110来举例说明。

本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述视频分类系统还包括其他终端。本申请实施例对终端的数量和设备类型不加以限定。

图2是根据本申请实施例提供的一种视频分类方法的流程图,如图2所示。上述电子设备可以被配置为终端,也可以被配置为服务器,在本申请实施例中以电子设备被配置为服务器为例进行说明。该视频分类方法包括以下步骤:

201、服务器将从目标视频中获取到的至少一个图像帧输入基于卷积神经网络的运算模型,得到至少一个图像帧向量。

在本申请实施例中,该服务器可以为用于视频分类的服务器,该目标视频可以是用户通过客户端上传的视频,也可以是视频网站的工作人员通过后台服务端上传的视频,还可以是链接到上述视频网站的其他视频网站中的视频,本申请实施例对此不进行限制。服务器在获取到该目标视频后,可以从目标视频中获取至少一个图像帧。图像帧实际上是一个图像矩阵,该图像矩阵的元素为图像帧中各像素点的像素值,服务器可以将该图像矩阵转换为一个向量,从而服务器得到至少一个图像帧向量。相应的,对于该至少一个图像帧中的任一图像帧,服务器可以将该图像帧输入基于卷积神经网络的运算模型,得到该图像帧对应的图像帧向量。其中,该基于卷积神经网络的运算模型可以为InceptionV2(开端V2,一种卷积神经网络模型)模型、InceptionV3(开端V3,一种卷积神经网络模型)模型或者VGG16(Visual Geometry Group 16,视觉几何群16,一种卷积神经网络模型)模型等。

例如,一个图像帧是一个32×32的图像矩阵,服务器可以通过基于卷积神经网络的运算模型对该图像矩阵进行计算,得到一个1024维的向量。服务器还可以通过Python(一种计算机程序设计语言)中的NumPy(Numeric Python,数字Python)库来对该图像矩阵进行计算,得到一个1024维的向量。在转换时,服务器通过NumPy库创建一个1×1024的数组,然后循环读出该图像矩阵的32行元素值,并将每行的32个元素值存储在数组中。本申请实施例对确定图像帧向量的方式不进行限定。

需要说明的是,服务器在获取到该目标视频后,服务器获取至少一个图像帧的方式有多种:服务器可以逐帧获取该目标视频中包括的图像帧,得到多个图像帧;服务器还可以每隔固定帧数从该目标视频中获取一个图像帧,得到多个图像帧,如每隔10帧获取一个图像帧;服务器还可以每隔固定时长从该目标视频中获取一个图像帧,得到多个图像帧,如每隔2秒获取一个图像帧;服务器还可以从该目标视频中随机获取一个图像帧。服务器可以根据目标视频的总时长来确定获取图像帧的方式和个数,本申请实施例对此不进行限制。

例如,目标视频的总时长为2小时,每秒包括30个图像帧,如果服务器逐帧获取图像帧,则得到216000个图像帧;如果服务器每隔10帧获取一个图像帧,则得到21600个图像帧;如果服务器每隔100帧获取一个图像帧,则得到2160个图像帧;如果服务器每隔1秒获取一个图像帧,则得到7200个图像帧;如果服务器每隔10秒获取一个图像帧,则得到720个图像帧;如果服务器随机获取一个图像帧,则得到1个图像帧。服务器获取的图像帧的数量越多,对目标视频进行分类的结果越精确,但是对服务器的计算压力也就越大,而服务器获取的图像帧的数量越少,对目标视频进行分类的结果越不准确,但是计算速度会比较快。对于总时长为2小时的目标视频,服务器可以获取2160个图像帧或者720个图像帧,来对该目标视频进行分类。相应的,在目标视频的总时长较短,如目标视频为总时长不超过120秒的短视频,甚至是总时长不少过30秒的短时频时,服务器可以选择逐帧获取图像帧,或者每间隔3帧、5帧、10帧、1秒或者2秒等获取一个图像帧,在保证计算速度的同时也保证了分类的结果的精确度。另外,服务器还可以从目标视频中多次随机获取一个图像帧,使获取到的图像帧具有一定的随机性,从而避免有规律的获取方式被视频上传者利用,导致视频被错误分类。

202、服务器从至少两个簇中确定该至少一个图像帧向量分别对应的目标簇,一个簇用于表示一类图像帧向量。

在本申请实施例中,该至少两个簇可以由该服务器根据样本图像帧向量聚类得到,也可以由服务器直接获取得到。服务器在得到上述至少一个图像帧向量之后,可以根据每个图像帧向量与上述至少两个簇的簇心向量之间的相似程度,来从上述至少两个簇中确定每个图像帧向量对应的目标簇。

在一种可选的实现方式中,对于上述至少一个图像帧向量中的任一图像帧向量,服务器从至少两个簇中确定簇心向量与该图像帧向量之间相似度最高的簇作为该图像帧向量的目标簇。其中,簇心向量和图像帧向量之间的相似度可以用欧式距离来表示。相应的,服务器从至少两个簇中确定该至少一个图像帧向量分别对应的目标簇的步骤可以为:对于至少一个图像帧向量中的任一图像帧向量,服务器可以分别确定该图像帧向量与上述至少两个簇的簇心向量之间的欧式距离,服务器响应于任一簇的簇心向量与该图像帧向量之间的欧式距离最小,可以将该簇作为该图像帧向量的目标簇。服务器可以采用相同的方式获取上述至少一个图像帧向量分别对应的目标簇,从而得到至少一个目标簇。当然,服务器还可以通过其他方式来确定簇心向量与图像帧向量之间的相似度,如通过余弦相似度、皮尔逊相关系数以及曼哈顿距离等方式。由于选择与图像帧向量相似度最高的簇心向量对应的簇作为目标簇,使得该目标簇中的向量与图像帧向量具有较高的相似度,从而可以用该目标簇的簇心向量表示该图像帧向量。

例如,服务器可以通过Faiss搜索库提供的检索功能,从至少两个簇中,检索得到簇心向量与图像帧向量相似度最高,也即欧式距离最小的簇。服务器还可以通过k最邻近(kNN,k-NearestNeighbor)算法,从k个簇的簇心向量中确定与图像帧向量相似度最高,也即欧式距离最小的簇。其中,k为正整数。当然,服务器还可以选择其他算法来确定簇心向量与图像帧向量最相似的簇,本申请实施例对此不进行限制。

需要说明的是,在上述至少两个簇由服务器根据多个样本图像帧向量聚类得到时,该至少两个簇的获取步骤可以为:服务器可以获取多个样本图像帧,将获取到的样本图像帧输入基于卷积神经网络的运算模型,得到多个样本图像帧向量,对该多个样本图像帧向量进行聚类,得到至少两个簇。服务器还可以为该至少两个簇分别分配唯一的簇心标识,该簇心标识可以为数字编码的形式。服务器可以通过k-means算法、k-medoids算法或者CLARA(Clustering LARge Applications,大型应用中的聚类方法)算法等对样本图像帧向量进行聚类,本申请实施例对此不进行限制。

例如,参见图3所示,图3是根据本申请实施例提供的一种簇心向量的示意图。服务器通过InceptionV3模型计算大量样本图像帧向量,为每个样本图像帧生成一个1024维的向量。其中,样本图像帧的数量可以为10万个、100万个以及1000万个等。然后,服务器通过k-means算法基于样本图像帧向量进行聚类,得到多个簇,簇的数量可以在聚类前自由设定,如1000个、10000个或者100000个等。在图3中,示例性的示出了三个簇C1、C2和C3,C1的簇心向量为c1,C2的簇心向量为c2,C3的簇心向量为c3,图中其他的点代表的是样本图像帧向量。相应的,对于任一图像帧,在获取该图像帧对应的目标簇时,可以参见图4所示,图4是根据本申请实施例提供的一种获取目标簇的示意图。图4在图3的基础上还示出了一个图像帧T对应的图像帧向量t1,服务器分别计算t1和c1之间的欧式距离,t1和c2之间的欧式距离以及t1和c3之间的欧式距离,其中,c2与t1之间的欧式距离最小,则确定C2为与图像帧向量t1对应的目标簇。

203、服务器基于上述至少一个图像帧向量分别对应的目标簇,获取目标视频对应的待识别文本。

在本申请实施例中,服务器在获取上述至少一个图像帧向量分别对应的目标簇后,可以获取每个目标簇的簇心标识,一个目标簇对应一个唯一的簇心标识,该簇心标识可以为字符形式或者数字形式等。服务器可以将该至少一个图像帧分别对应的目标簇的簇心标识作为目标视频对应的待识别文本中的词汇。实际上是将目标视频作为一个文本,目标视频中的至少一个图像帧向量作为文本中的至少一个词汇,通过将图像帧向量映射为簇心标识,则实现了高维向量向低维度标识的映射过程,实现了数据降维。

例如,服务器从目标视频中获取到2160个图像帧,相应的得到2160个图像帧向量,则服务器根据该2160个图像帧向量确定2160个目标簇,进一步的服务器得到2160个簇心标识,该2160个簇心标识中可以存在相同的簇心标识。服务器将该2160个簇心标识作为2160个词汇,以列表的形式进行存储。该2160个词汇相当于对目标视频对应的待识别文本进行分词得到的词汇。

在一种可选的实现方式中,服务器可以存储有簇心标识和视频类型的对应关系,对于任一图像帧的图像帧向量,服务器可以在确定该图像帧向量对应的目标簇后,基于上述对应关系确定与该目标簇的簇心标识对应的至少一个分类类型,从而确定该图像帧所属的至少一个分类类型。服务器在确定上述至少一个图像帧所属的至少一个分类类型后,可以根据各分类类型出现的频次,来确定目标视频所属的视频类型。服务器可以选择出现频次最高的分类类型作为该目标视频的视频类型,还可以选择多个出现频次较高的分类类型作为该目标视频的视频类型。

例如,服务器确定了目标视频中至少一个图像帧所属的分类类型为搞笑、游戏、动漫、电影以及教学,其中,搞笑出现的频次最高,则服务器将该目标视频的视频类型确定为搞笑。或者,搞笑、游戏以及教学出现的频次较高,动漫和电影出现的频次较低,服务器可以将该目标视频的视频类型确定为搞笑、游戏以及教学。

204、服务器将待识别文本输入自然语言处理模型,通过自然语言处理模型对待识别文本进行解码,得到目标视频所属的视频类型。

在本申请实施例中,服务器可以直接将待识别文本输入自然语言处理模型中,该自然语言处理模型在训练时,使用了大量的样本文本以及各样本文本对应的分类类型。其中,该样本文本的获取方式为:获取大量的样本视频,每个样本视频中获取至少一个样本图像帧,对于任一样本图像帧,将该样本图像帧输入基于卷积神经网络的运算模型,得到样本图像帧向量,然后分别确定与该样本图像帧向量对应的目标簇,用该目标簇的簇心标识表示该样本图像帧向量对应的样本图像帧,从而得到该样本视频对应的样本文本。服务器可以基于该自然语言处理模型对输入的待识别文本进行解码,得到至少一个分类概率,该分类概率用于表示该待识别文本属于不同分类类型的概率。服务器根据该至少一个分类概率,确定满足第一目标条件的分类类型作为目标视频所属的视频类型。其中,该第一目标条件可以为概率最高、概率大于分类概率阈值等。分类概率阈值可以为90%、80%、75%等,本申请对此不进行限制。

例如,服务器得到目标视频属于搞笑的分类概率为90%,属于游戏的分类概率为80%,属于动漫的分类概率为30%,属于电影的分类概率为20%,属于教学的分类概率为73%。若只给目标视频分配一个类型,则服务器可以将分类概率最高的搞笑作为该目标视频的视频类型。若需要给目标视频分配多个类型,则服务器可以将分类概率大于60%的搞笑、游戏以及教学作为该目标视频的视频类型。

需要说明的是,本申请提供的视频分类方法,还可以用于对视频的质量进行识别,也即对目标视频进行二分类,分类类型只有高质量和低质量两种。服务器可以通过获取高质量视频包括的高质量样本图像帧,对高质量样本图像帧的向量进行聚类得的高质量簇,获取低质量质量视频包括的低质量样本图像帧,对低质量样本图像帧的向量进行聚类得到低质量簇。然后用高质量视频对应的高质量文本和低质量视频对应的低质量文本训练自然语言处理模型,使该自然语言处理模型输出目标视频为高质量的概率。服务器可以在对目标视频进行分类时,确定该目标视频的至少一个图像帧分别对应的高质量簇和低质量簇,基于该高质量簇和低质量簇,来获取该目标视频对应的待识别文本,从而基于自然语言处理模型输出该目标视频为高质量的概率,确定目标视频是高质量视频还是低质量视频。当然,服务器也可以不使用自然语言处理模型,而是统计获取的目标簇中高质量簇和低质量簇的频次,高质量簇的频次高,则该目标视频为高质量视频,低质量簇的频次高,则该目标视频为低质量视频。通过采用不同的训练方式,可以是本申请提供的视频分类方法,可以实现多种分类任务,提高了本申请实施例的使用范围。

在一种可选的实现方式中,服务器还可以通过标签模型,为目标视频添加视频标签。相应的,服务器为目标视频添加视频标签的步骤可以为:服务器可以将上述待识别文本输入标签模型,通过标签模型对待识别文本进行解码,得到至少一个标签概率,该标签概率用于表示待识别文本属于不同视频标签的概率。服务器可以根据至少一个标签概率,确定满足第二目标条件的视频标签作为所述目标视频的视频标签。其中,第二目标条件可以为概率最高、概率大于标签概率阈值等。标签概率阈值可以为90%、80%、75%等,本申请对此不进行限制。当然,该标签模型可以与上述自然语言处理模型为同一模型,也即上述自然语言模型在输出至少一个分类概率时,还可以输出至少一个标签概率。本申请实施例对此不进行限制。

例如,服务器确定了搞笑、游戏、动漫、电影以及教学等类型,搞笑类型对应的视频标签有冷笑话、整蛊以及鬼畜等,游戏类型对应的视频标签有A游戏、B游戏以及C游戏等,动漫对应的视频标签有D动漫、E动漫以及F动漫等。服务器可以根据目标视频的视频类型,进一步的从视频标签中筛选出适合该目标视频的视频标签,本申请实施例对此不进行限制。

需要说明的是,上述步骤201至步骤204是本申请提供的视频分类方法的可选实现方式,相应的,该视频分类方法还可以通过其他方式实现。例如,参见图5所示,图5是根据本公开实施例提供的另一种视频分类方法的流程图。在图5中,该视频分类方法可以分为三个步骤,步骤一,从多个样本视频中获取大量的样本图像帧,计算每个样本图像帧的样本图像帧向量,通过K-means算法对样本图像帧向量进行聚类,得到至少两个簇的簇心向量。步骤二,从目标视频中获取至少一个图像帧,计算每个图像帧的图像帧向量,通过KNN算法从上述至少两个簇的簇心向量中分别确定与每个图像帧向量最相似的簇心向量,得到至少一个目标簇,获取该至少一个目标簇的簇心标识。步骤三,根据至少一个目标簇的簇心标识确定目标视频对应的待识别文本,基于该待识别文本按照自然语言处理的方式,实现对该目标视频进行分类、添加视频标签或者标注视频质量中的至少一个。上述视频分类方法,通过目标簇的簇心向量与图像帧向量之间的对应关系,用簇心标识来代替图像帧作为待识别文本中的词汇,将对视频的图像帧处理转换为对文本中的词汇进行处理,可以有效的减少计算量。例如,可以应用在Linux系统,CPU 16核,32G内存的环境中,而不需要配置GPU,即可完成视频的分类。

在本申请实施例中,通过确定目标视频中图像帧的图像帧向量对应的目标簇,可以获取到目标视频对应的待识别文本,使得在对目标视频进行分类时,将处理目标视频中的图像帧转换为处理待识别文本中的文本内容,从而降低了计算复杂度,缩短了处理时间,降低了对设备处理能力的要求。

图6是根据本申请实施例提供的一种视频分类装置的框图。该装置用于执行上述视频分类方法执行时的步骤,参见图6,装置包括:向量获取模块601、确定模块602、文本获取模块603以及模型处理模块604。

向量获取模块601,用于将从目标视频中获取到的至少一个图像帧输入基于卷积神经网络的运算模型,得到至少一个图像帧向量;

确定模块602,用于从至少两个簇中确定该至少一个图像帧向量分别对应的目标簇,一个簇用于表示一类图像帧向量;

文本获取模块603,用于基于该至少一个图像帧向量分别对应的目标簇,获取该目标视频对应的待识别文本;

模型处理模块604,用于将该待识别文本输入自然语言处理模型,通过该自然语言处理模型对该待识别文本进行解码,得到该目标视频所属的视频类型。

在一种可选的实现方式中,该确定模块602,还用于对于该至少一个图像帧向量中的任一图像帧向量,从该至少两个簇中确定簇心向量与该图像帧向量之间相似度最高的簇作为该图像帧向量的目标簇。

在一种可选的实现方式中,该确定模块602,还用于分别确定该图像帧向量与该至少两个簇的簇心向量之间的欧式距离;响应于任一簇的簇心向量与该图像帧向量之间的欧式距离最小,将该簇作为该图像帧向量的目标簇。

在一种可选的实现方式中,该文本获取模块603,还用于以该至少一个图像帧向量分别对应的目标簇的簇心标识作为该目标视频对应的待识别文本中的词汇。

在一种可选的实现方式中,该装置还包括:

该向量获取模块601,还用于的多个样本图像帧输入该基于卷积神经网络的运算模型,得到多个样本图像帧向量;

聚类模块,用于该多个样本图像帧向量进行聚类,得到至少两个簇;

分配模块,用于为该至少两个簇分别分配唯一的簇心标识,该簇心标识为数字编码形式。

在一种可选的实现方式中,该模型处理模块604,用于通过该自然语言处理模型对该待识别文本进行解码,得到至少一个分类概率,该分类概率用于表示该待识别文本属于不同分类类型的概率;根据该至少一个分类概率,确定满足第一目标条件的分类类型作为该目标视频所属的视频类型。

在一种可选的实现方式中,该模型处理模块604,还用于将该待识别文本输入标签模型,通过该标签模型对该待识别文本进行解码,得到至少一个标签概率,该标签概率用于表示该待识别文本属于不同视频标签的概率;

该确定模块602,还用于根据该至少一个标签概率,确定满足第二目标条件的视频标签作为该目标视频的视频标签。

在本申请实施例中,通过确定目标视频中图像帧的图像帧向量对应的目标簇,可以获取到目标视频对应的待识别文本,使得在对目标视频进行分类时,将处理目标视频中的图像帧转换为处理待识别文本中的文本内容,从而降低了计算复杂度,缩短了处理时间,降低了对设备处理能力的要求。

需要说明的是:上述实施例提供的视频分类装置在运行应用程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频分类装置与视频分类方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

在本申请实施例中,电子设备可以被实施为终端或者服务器,当被实施为终端时,可以由该终端实现上述的视频分类方法所执行的操作,当被实施为服务器时,可以由该服务器实现上述视频分类所执行的操作,也可以由该服务器和终端的交互来实现上述视频分类方法所执行的操作。

电子设备可以被实施为终端,图7是根据本申请实施例提供的终端700的结构框图。该终端图7示出了本发明一个示例性实施例提供的终端700的结构框图。该终端700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端700包括有:处理器701和存储器702。

处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的XXXX方法。

在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。

外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。

摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。

定位组件708用于定位终端700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。

加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器713可以设置在终端700的侧边框和/或显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在显示屏705的下层时,由处理器701根据用户对显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。

光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制显示屏705的显示亮度。具体地,当环境光强度较高时,调高显示屏705的显示亮度;当环境光强度较低时,调低显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。

接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制显示屏705从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

电子设备可以被实施为服务器,图8是根据本申请实施例提供的一种服务器的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)801和一个或一个以上的存储器802,其中,所述存储器802中存储有至少一条指令,所述至少一条指令由所述处理器801加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质应用于电子设备,该计算机可读存储介质中存储有至少一段程序代码,该至少一段程序代码用于被处理器执行并实现本申请实施例中的视频分类方法中电子设备所执行的操作。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于视频字幕的知识图谱构建方法、装置及计算设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!