一种标签生成方法、设备及计算机可读存储介质转让专利

申请号 : CN202010835038.6

文献号 : CN111708913B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周驰

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请提供了一种标签生成方法、设备及计算机可读存储介质;方法包括:当接收到待生成视频时,从待生成视频中提取出至少一个待分类视频帧;获取全量分类模型,并针对至少一个待分类视频帧中的每个待分类视频帧,确定出全量分类模型所对应的多个模型调度指标;多个模型调度指标中的每个模型调度指标表征全量分类模型中的每个分类模型对至少一个待分类视频帧中的每个待分类视频帧的重要程度;基于多个模型调度指标,从全量分类模型中为每个待分类视频帧确定出与每个待分类视频帧对应的目标模型;利用每个待分类视频帧对应的目标模型,对每个待分类视频帧进行识别,得到每个待分类视频帧的识别标签。本申请通过大数据分析提高了标签生成效率。

权利要求 :

1.一种标签生成方法,其特征在于,包括:

获取初始预测模型、历史视频帧、多个历史标签数据、所述多个历史标签数据对应的多个标签收益指标,以及全量分类模型对应的全量模型速度;

利用所述多个历史标签数据、所述多个标签收益指标和所述全量模型速度,针对所述历史视频帧构造出所述全量分类模型所对应的多个训练调度指标,并利用所述历史视频帧和所述多个训练调度指标,对所述初始预测模型进行训练,直至达到训练停止条件时,得到预设调度指标预测模型;

当接收到待生成视频时,从所述待生成视频中提取出至少一个待分类视频帧;所述至少一个待分类视频帧为所述待生成视频中的关键帧;

获取全量分类模型,并利用所述预设调度指标预测模型,针对所述至少一个待分类视频帧中的每个待分类视频帧,确定出所述全量分类模型所对应的多个模型调度指标;其中,所述多个模型调度指标中的每个模型调度指标表征所述全量分类模型中的每个分类模型对所述至少一个待分类视频帧中的所述每个待分类视频帧的重要程度;所述全量分类模型包括至少一个分类模型;

基于所述多个模型调度指标,从所述全量分类模型中为所述每个待分类视频帧确定出与所述每个待分类视频帧对应的目标模型;

利用所述每个待分类视频帧对应的所述目标模型,对所述每个待分类视频帧进行识别,得到所述每个待分类视频帧的识别标签;

所述利用所述每个待分类视频帧对应的所述目标模型,对所述每个待分类视频帧进行识别,得到所述每个待分类视频帧的识别标签,包括:确定每个目标模型对应的待分类视频帧作为目标视频帧;

对所述每个目标模型的所述目标视频帧的数量进行统计,得到所述每个目标模型的目标视频帧数量;

利用所述目标视频帧数量,为所述每个目标模型确定出对应的执行顺序;

按照所述执行顺序,利用所述每个目标模型对与所述每个目标模型对应的所述目标视频帧进行识别,得到所述目标视频帧对应的识别标签;

当对所述每个目标模型所对应的所述目标视频帧识别之后,得到所述每个待分类视频帧对应的识别标签。

2.根据权利要求1所述的方法,其特征在于,所述基于所述多个模型调度指标,从所述全量分类模型中为所述每个待分类视频帧确定出与所述每个待分类视频帧对应的目标模型,包括:对所述每个待分类视频帧的多个模型调度指标进行排序,其中所述每个待分类视频帧的多个模型调度指标表征所述全量分类模型中的各个分类模型对所述每个待分类视频帧的重要程度;

将所述每个待分类视频帧的多个模型调度指标中最高的预设数量的模型调度指标所对应的分类模型,作为所述每个待分类视频帧对应的所述目标模型。

3.根据权利要求1所述的方法,其特征在于,所述全量分类模型中的每个分类模型具有对应于所述至少一个待分类视频帧的模型调度指标;所述基于所述多个模型调度指标,从所述全量分类模型中为所述每个待分类视频帧确定出与所述每个待分类视频帧对应的目标模型,包括:将所述多个模型调度指标中与所述每个待分类视频帧对应的模型调度指标,与预设好的指标阈值进行比较,得到比较结果;

从所述全量分类模型中,挑选出所述比较结果表征所述模型调度指标大于所述预设好的指标阈值的分类模型,作为所述每个待分类视频帧对应的所述目标模型。

4.根据权利要求1所述的方法,其特征在于,所述按照所述执行顺序,利用所述每个目标模型对与所述每个目标模型对应的所述目标视频帧进行识别,得到所述目标视频帧对应的识别标签,包括:将所述执行顺序与预设顺序进行比较,得到顺序比较结果;所述顺序比较结果表征所述执行顺序与所述预设顺序的前后关系;

当所述顺序比较结果表征所述执行顺序在所述预设顺序之前时,利用所述每个目标模型对与所述每个目标模型对应的所述目标视频帧进行识别,得到所述目标视频帧对应的识别标签;

当所述顺序比较结果表征所述执行顺序在所述预设顺序之后时,结束利用所述每个目标模型对与所述每个目标模型对应的所述目标视频帧进行识别。

5.根据权利要求1所述的方法,其特征在于,所述按照所述执行顺序,利用所述每个目标模型对与所述每个目标模型对应的所述目标视频帧进行识别,得到所述目标视频帧对应的识别标签,包括:当利用当前顺序所对应的当前目标模型,对所述当前目标模型所对应的所述当前目标视频帧识别完成时,获取所述当前目标模型对应的当前识别完成时间;所述当前顺序为所述每个目标模型对应的所述执行顺序中的任意一个;

当所述当前识别完成时间大于或等于预设好的最大时间时,停止利用所述当前顺序的下一个顺序所对应的下一个目标模型,对所述下一个目标模型对应的目标视频帧进行识别。

6.根据权利要求1所述的方法,其特征在于,所述利用所述预设调度指标预测模型,针对所述至少一个待分类视频帧中的每个待分类视频帧,确定出所述全量分类模型所对应的多个模型调度指标,包括:针对所述每个待分类视频帧,利用所述预设调度指标预测模型,预测出所述全量分类模型中的所述每个分类模型所对应的模型调度指标;

当对所述全量分类模型均完成模型调度指标的预测时,得到所述全量分类模型所对应的所述多个模型调度指标。

7.根据权利要求6所述的方法,其特征在于,在所述针对所述每个待分类视频帧,利用所述预设调度指标预测模型,预测出所述全量分类模型中的所述每个分类模型所对应的模型调度指标之前,所述方法还包括:获取初始预测模型、历史视频帧、多个历史标签数据、所述多个历史标签数据对应的多个标签收益指标,以及所述全量分类模型对应的全量模型速度;

其中,所述历史视频帧为历史时间利用所述全量分类模型进行分类的视频帧,所述多个历史标签数据为利用所述全量分类模型对所述历史视频帧进行识别所得到的标签数据,所述多个历史标签数据和所述多个标签收益指标一一对应;所述全量模型速度包括所述每个分类模型对所述历史视频帧的预测速度;

利用所述多个历史标签数据、所述多个标签收益指标和所述全量模型速度,针对所述历史视频帧构造出所述全量分类模型所对应的多个训练调度指标;所述多个训练调度指标中的每个训练调度指标和所述全量分类模型中的每个分类模型一一对应;

利用所述历史视频帧和所述多个训练调度指标,对所述初始预测模型进行训练,直至达到训练停止条件时,得到所述预设调度指标预测模型。

8.根据权利要求7所述的方法,其特征在于,所述多个历史标签数据中的每个历史标签数据包括标签置信度和标签准确度;所述利用所述多个历史标签数据、所述多个标签收益指标和所述全量模型速度,针对所述历史视频帧构造出所述全量分类模型所对应的多个训练调度指标,包括:针对所述全量分类模型中的当前分类模型,从所述多个历史标签数据提取出当前历史标签数据,以及从所述全量模型速度中提取出当前模型速度;所述当前分类模型为所述全量分类模型中的任意一个;

利用所述当前历史标签对应的当前标签收益指标、所述当前历史标签数据的当前标签准确度、当前标签置信度和所述当前模型速度,构造出所述当前分类模型对应的训练调度指标;

当为所述全量分类模型均构造出对应的训练调度指标时,得到所述多个训练调度指标。

9.根据权利要求7或8所述的方法,其特征在于,在所述利用所述历史视频帧和所述多个训练调度指标,对所述初始预测模型进行训练,直至达到训练停止条件时,得到所述预设调度指标预测模型之后,所述针对所述每个待分类视频帧,利用所述预设调度指标预测模型,预测出所述全量分类模型中的所述每个分类模型所对应的模型调度指标之前,所述方法还包括:针对测试视频帧,利用所述预设调度指标预测模型,预测出所述全量分类模型所对应的多个测试模型调度指标,并对所述多个测试模型指标进行排序,得到模型指标序列;

获取所述测试视频帧对应的预设模型指标序列;所述预设模型指标序列表征所述全量分类模型中的所述每个分类模型对所述测试视频帧的重要程度的真实顺序;

依据所述模型指标序列和所述预设模型指标序列,确定出所述预设调度指标预测模型的预测准确度;

当所述预测准确度小于预设好的准确度阈值时,重新利用所述历史视频帧和所述多个训练调度指标,对所述初始预测模型进行训练,直至达到训练停止条件,得到最新的调度指标预测模型;

相应的,所述针对所述每个待分类视频帧,利用预设调度指标预测模型,预测出所述全量分类模型中的所述每个分类模型所对应的模型调度指标,包括:针对所述每个待分类视频帧,利用所述最新的调度指标预测模型,预测出所述全量分类模型中的所述每个分类模型所对应的所述模型调度指标。

10.根据权利要求6至8任一项所述的方法,其特征在于,所述预设调度指标预测模型包括:输入层、至少两个卷积层、至少两个池化层、降维层、全连接层和输出层;

所述输入层的输出与所述至少两个卷积层中的输入相连,所述至少两个卷积层和所述至少两个池化层依次交替连接,所述降维层的输入与所述至少两个池化层的输出相连,所述全连接层的输入与所述降维层的输出相连,所述输出层的输入与所述全连接层的输出相连;

其中,所述每个待分类视频帧通过所述输入层进入所述至少两个卷积层,所述至少两个池化层用于接收所述至少两个卷积层所输出的特征图,所述降维层用于接收所述至少两个池化层中的最后一个池化层所输出的池化特征图,所述全连接层用于接收所述降维层输出的降维数据,所述输出层用于接收所述全连接层输出的处理数据,以及输出所述每个分类模型对应的模型调度指标。

11.根据权利要求10所述的方法,其特征在于,所述至少两个卷积层包括:第一卷积层、第二卷积层,所述第一卷积层和所述第二卷积层的通道数不同;所述至少两个池化层包括:第一池化层、第二池化层;

所述输入层的输出与所述第一卷积层的输入相连,所述第一池化层的输入和所述第一卷积层的输出相连,所述第二卷积层的输入和所述第一池化层的输出相连,所述第二池化层的输入和所述第二卷积层输出相连,所述降维层的输入和所述第二池化层输出相连。

12.根据权利要求11所述的方法,其特征在于,所述第一卷积层的卷积核的尺寸为,通道数为8;所述第二卷积层尺寸为 ,通道数为16。

13.一种标签生成设备,其特征在于,包括:

存储器,用于存储可执行标签生成指令;

处理器,用于执行所述存储器中存储的可执行标签生成指令时,实现权利要求1至12任一项所述的标签生成方法。

14.一种计算机可读存储介质,其特征在于,存储有可执行标签生成指令,用于被处理器执行时,实现权利要求1至12任一项所述的标签生成方法。

说明书 :

一种标签生成方法、设备及计算机可读存储介质

技术领域

[0001] 本申请涉及人工智能技术,尤其涉及一种标签生成方法、设备及计算机可读存储介质。

背景技术

[0002] 视频中通常包含有丰富的信息内容,其中,有一些视频片段可能包含有用户所关注的重要信息,若是能为视频片段生成对应的标签,能够使用户快速、准确地定位到包含其所关注的信息的视频片段中。
[0003] 在相关技术中,通常会利用多种不同的分类模型对视频帧进行识别,从而为视频片段生成标签。然而,随着模型数量的增多,对视频帧进行识别所耗费的时间也会增多,从而使得标签生成的效率较低。

发明内容

[0004] 本申请实施例提供一种标签生成方法、设备及计算机可读存储介质,能够提高标签生成的效率。
[0005] 本申请实施例的技术方案是这样实现的:
[0006] 本申请实施例提供一种标签生成方法,包括:
[0007] 当接收到待生成视频时,从所述待生成视频中提取出至少一个待分类视频帧;所述至少一个待分类视频帧为所述待生成视频中的关键帧;
[0008] 获取全量分类模型,并针对所述至少一个待分类视频帧中的每个待分类视频帧,确定出所述全量分类模型所对应的多个模型调度指标;其中,所述多个模型调度指标中的每个模型调度指标表征所述全量分类模型中的每个分类模型对所述至少一个待分类视频帧中的所述每个待分类视频帧的重要程度;所述全量分类模型包括至少一个分类模型;
[0009] 基于所述多个模型调度指标,从所述全量分类模型中为所述每个待分类视频帧确定出与所述每个待分类视频帧对应的目标模型;
[0010] 利用所述每个待分类视频帧对应的所述目标模型,对所述每个待分类视频帧进行识别,得到所述每个待分类视频帧的识别标签。
[0011] 本申请实施例提供一种标签生成装置,包括:
[0012] 提取模块,用于当接收到待生成视频时,从所述待生成视频中提取出至少一个待分类视频帧;所述至少一个待分类视频帧为所述待生成视频中的关键帧;
[0013] 预测模块,用于获取全量分类模型,并针对所述至少一个待分类视频帧中的每个待分类视频帧,确定出所述全量分类模型所对应的多个模型调度指标;其中,所述多个模型调度指标中的每个模型调度指标表征所述全量分类模型中的每个分类模型对所述至少一个待分类视频帧中的所述每个待分类视频帧的重要程度;所述全量分类模型包括至少一个分类模型;
[0014] 模型确定模块,用于基于所述多个模型调度指标,从所述全量分类模型中为所述每个待分类视频帧确定出与所述每个待分类视频帧对应的目标模型;
[0015] 识别模块,用于利用所述每个待分类视频帧对应的所述目标模型,对所述每个待分类视频帧进行识别,得到所述每个待分类视频帧的识别标签。
[0016] 本申请实施例提供一种标签生成设备,包括:
[0017] 存储器,用于存储可执行标签生成指令;
[0018] 处理器,用于执行所述存储器中存储的可执行标签生成指令时,实现本申请实施例提供的标签生成方法。
[0019] 本申请实施例提供一种计算机可读存储介质,存储有可执行标签生成指令,用于引起处理器执行时,实现本申请实施例提供的标签生成方法。
[0020] 本申请实施例具有以下有益效果:
[0021] 本申请实施例中,标签生成设备可以先从待生成视频中提取出至少一个待分类视频帧,然后预测出每个分类模型针对至少一个待分类视频帧中的每个待分类视频帧的重要程度,即确定出模型调度指标,并依据模型调度指标,为每个待分类视频帧确定出合适的目标模型,从而仅利用对每个待分类视频帧而言较为重要的目标模型来对每个待分类视频帧进行分类识别,进而减少了对每个待分类视频帧进行分类识别的模型的数量,提高了标签生成的效率。

附图说明

[0022] 图1为不同分类模型对视频帧的标签产出示例图;
[0023] 图2是本申请实施例提供的标签生成系统100的一个可选的架构示意图;
[0024] 图3是本申请实施例提供的图2中的标签生成设备200的结构示意图;
[0025] 图4是本申请实施例提供的标签生成方法的一个可选的流程示意图一;
[0026] 图5是本申请实施例提供的标签生成方法的一个可选的流程示意图二;
[0027] 图6是本申请实施例提供的利用每个待分类视频帧对应的目标模型进行识别的示例图;
[0028] 图7是本申请实施例提供的在有限时间内进行分类识别的过程示例图;
[0029] 图8是本申请实施例提供的标签生成方法的一个可选的流程示意图三;
[0030] 图9是本申请实施例提供的预设调度指标预测模型的结构示例图;
[0031] 图10是本申请实施例提供的通用网络结构的示例图;
[0032] 图11是本申请实施例提供的实际场景中为关键帧加入广告的示例图。

具体实施方式

[0033] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0034] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0035] 在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0036] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0037] 对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
[0038] 1)标签管理平台,能够用于对视频进行标注分析,为视频中的某些播放画面生成对应的标签,以使得用户可以根据生成的标签来对这些播放画面进行处理,例如,用户可以根据这些标签,来在播放画面上以“如意帖”的形式增加广告,或者是用户根据这些标签,来判定播放画面中是否包含有敏感内容等。标签管理平台可以搭载在服务器上,接收不同用户发送的视频,从而对不同视频进行处理。
[0039] 2)标签生成,是指将视频中的播放画面所描述的事件,以简短的文字表现出来。例如,视频播放画面中具有女生化妆的场景时,可以生成“美妆”的标签等。
[0040] 3)分类模型,用于对视频的播放画面进行分类识别,为视频的播放画面生成对应的标签。分类模型通常是训练好的模型,在为视频的播放画面生成标签时,可以利用多个分类模型分别对视频的播放画面进行识别,得到标签。
[0041] 4)模型调度指标,是用来表征不同的分类模型对视频的播放画面的重要程度的指标。由于不同的分类模型所侧重的播放画面的场景并不相同,例如,侧重于识别人体动作的分类模型,和侧重于识别物体的分类模型,对同一个播放画面所得到的识别结果是不同的,甚至于有些分类模型对于一些播放画面无法得到有效的识别结果,从而使得不同的分类模型对视频的播放画面的重要程度是不同的。模型调度指标对不同分类模型对识别播放画面的重要程度进行衡量,从而便于为视频的播放画面找到最合适的分类模型。
[0042] 5)人工智能(Artificial Intelligence,AI)是利用数字计算机或数字计算机控制的机器模拟、延伸和扩展的人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能的设计原理及实现方法,使机器具有感知、推理与决策的功能。
[0043] 人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0044] 6)机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
[0045] 7)云计算(Cloud Computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
[0046] 8)计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实,增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
[0047] 视频中包含有丰富的信息内容,其中,有一些视频片段会包含用户所关注的重要信息,以便于用户针对这些视频片段进行各种操作,例如,在视频片段中添加广告等。但是,视频是由大量的视频帧所组成的,从视频中找出包含用户所关注的重要信息的视频片段,需要对视频的视频帧进行分类,为视频片段生成对应的标签,从而便于用户能够快递、准确地定位到包含其所关注的信息的视频片段中。
[0048] 相关技术中,通常会利用多种不同的分类模型来对视频帧进行分类视频,从而为视频片段生成对应的标签。然而,模型数量的增多,使得单张视频帧的识别所耗费的时间也会相应增多,例如,对单张视频帧进行人脸识别、目标检测、车型检测和场景检测等,势必会比只进行人脸识别耗费的时间更多。并且,对于单张视频帧而言,很多模型对其并没有标签产出,这时,利用所有的分类模型来对视频帧进行识别无疑是低效的,即标签生成的效率较低。
[0049] 示例性的,图1为不同分类模型对视频帧的标签产出示例图。在图1中,共有5个分类模型,分别为人脸识别模型1-1、物体分类模型1-2、行为分类模型1-3、场景分类模型1-4和宠物狗分类模型1-5;有5个待分类视频帧,分别为视频帧1-a、视频帧1-b、视频帧1-c、视频帧1-d和视频帧1-e。其中,物体分类模型1-2为视频帧1-a所产出的标签为:狗(0.96);宠物狗分类模型1-5为视频1-a所产出的标签为:秋田犬(0.91);其余模型对视频帧1-a均没有标签产出。物体分类模型1-2为视频帧1-b所产出的标签为:人(0.43);行为分类模型1-3为视频帧1-b所产出的标签为:坐(0.87);其余模型对视频帧1-b均没有标签产出。人脸识别模型1-1为视频帧1-c所产出的标签为:人脸(0.99);物体分类模型1-2为视频帧1-c所产出的标签为:人(0.96);行为分类模型1-3为视频帧1-c所产出的标签为:化妆(0.9);其余模型对视频帧1-c均没有标签产出。场景分类模型1-4为视频帧1-d所产出的标签为:大厦(0.89);其余模型对视频帧1-d均没有标签产出。物体分类模型1-2为视频帧1-e所产出的标签为:自行车(0.97);行为分类模型1-3为视频帧1-e所产出的标签为:骑自行车(0.92);其余模型对视频帧1-e均没有标签产出。由图1可见,针对同一单张视频帧而言,很多模型对其并没有标签产出,这些没有标签产出的模型的运行是无效的,会降低标签生成的效率。
[0050] 基于上述问题,可以利用调度平台,来为视频帧调用合适的分类模型,从而使得只利用合适的分类模型来对视频帧进行分类,提高标签生成的效率。在相关技术中,存在一些模型调度方式,能够实现模型的调度。例如,利用多模型调度仿真平台来实现仿真模型的实时切换;利用节点最优路径来实现多模型并行调度;利用强化学习进行模型调度等。
[0051] 然而,利用多模型调度的仿真平台实现的多个模型之间的实时快捷切换,并没有为图像选择出合适的模型进行识别;节点最优路径过于复杂,会使得模型调度所占用的时间增多;强化学习并没有考虑图像本身的信息,从而难以为不同图像确定出合适的模型。
[0052] 由此可见,虽然相关技术中存在一些模型调度方法,但是,并不能实现在较短的时间内为视频的播放画面找出合适的模型的效果,从而使得标签生成的效率依旧较低。
[0053] 本申请实施例提供一种标签生成方法、设备和计算机可读存储介质,能够提高标签生成的效率。下面说明本申请实施例提供的标签生成设备的示例性应用,本申请实施例提供的设备可以实施为各种类型的用户终端,也可以实施为服务器。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN,以及大数据和人工智能平台等基础云计算服务器的云服务器;终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接。下面,将说明标签生成设备的示例性应用。
[0054] 参见图2,图2是本申请实施例提供的标签生成系统100的一个可选的架构示意图,为实现支撑一个标签生成应用,终端400通过网络300连接标签生成设备200,网络300可以是广域网或者局域网,又或者是二者的组合。
[0055] 终端400用于将待生成视频通过网络300发送给标签生成设备200。当标签生成设备200接收到待生成视频时,从待生成视频中提取出至少一个待分类视频帧,其中,至少一个待分类视频帧为待生成视频中的关键帧。标签生成设备200获取全量分类模型,并针对至少一个待分类视频帧中的每个待分类视频帧,确定出全量分类模型所对应的多个模型调度指标,其中,多个模型调度指标中的每个模型调度指标表征全量分类模型中的每个分类模型对至少一个待分类视频帧中的每个待分类视频帧的重要程度,全量分类模型包括至少一个分类模型。标签生成设备200基于多个模型调度指标,从全量分类模型中为每个待分类视频帧确定出与每个待分类模型对应的目标模型。接着,标签生成设备200利用每个待分类视频帧对应的目标模型,对每个待分类视频帧进行识别,得到每个待分类视频帧的识别标签。最后,标签生成设备200将每个待分类视频帧的识别标签发送给终端400,以便终端400将所得到识别标签展示出来,并接收用户的操作,来为待生成视频进行后续处理。
[0056] 参见图3,图3是本申请实施例提供的图2中的标签生成设备200的结构示意图,图3所示的标签生成设备200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。标签生成设备200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统240。
[0057] 处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0058] 用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
[0059] 存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
[0060] 存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。
[0061] 在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0062] 操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0063] 网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
[0064] 显示模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
[0065] 输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0066] 在一些实施例中,本申请实施例提供的标签生成装置可以采用软件方式实现,图3示出了存储在存储器250中的标签生成装置255,其可以是程序和插件等形式的软件,包括以下软件模块:提取模块2551、预测模块2552、模型确定模块2553、识别模块2554和模型训练模块2555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
[0067] 在另一些实施例中,本申请实施例提供的标签生成装置可以采用硬件方式实现,作为示例,本申请实施例提供的标签生成装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的标签生成方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
[0068] 示例性的,本申请实施例提供一种标签生成设备,其特征在于,包括:
[0069] 存储器,用于存储可执行标签生成指令;
[0070] 处理器,用于执行所述存储器中存储的可执行标签生成指令时,实现本申请实施例提供的标签生成方法。
[0071] 将结合本申请实施例提供的标签生成设备的示例性应用和实施,说明本申请实施例提供的标签生成方法。
[0072] 参见图4,图4是本申请实施例提供的标签生成方法的一个可选的流程示意图一,将结合图4示出的步骤进行说明。
[0073] S101、当接收到待生成视频时,从待生成视频中提取出至少一个待分类视频帧。
[0074] 本申请实施例是在为视频中的视频片段生成标签的场景下实现的。当标签生成设备通过网络接收到待生成视频时,就会明确当前需要为待生成视频进行标签生成了,这时,标签生成设备会对待生成视频进行关键帧提取,得到至少一个视频关键帧。这些视频关键帧中包含着能够描述视频片段的场景的信息,对这些视频关键帧进行识别分类,就可以得到视频片段的标签,因此,标签生成设备会将这些提取出的视频关键帧,作为待分类视频帧。换句话说,至少一个待分类视频帧为待生成视频中的关键帧。
[0075] 可以理解的是,待生成视频是指等待进行标签生成的视频。待生成视频可以是电影、电视剧等视频,也可以是直播等视频,还可以是其他类型的视频,本申请实施例在此不作限定。
[0076] 需要说明的是,标签生成设备可以利用预设好的关键帧提取算法,从待分类视频中提取出待分类视频帧、其中,预设好的关键帧提取算法可以根据实际需求进行设定,本申请实施例在此不作限定。
[0077] S102、获取全量分类模型,并针对至少一个待分类视频帧中的每个待分类视频帧,确定出全量分类模型所对应的多个模型调度指标。
[0078] 标签生成设备在得到至少一个待分类视频帧之后,就会先获取全量分类模型,然后确定出全量分类模型中的每个分类模型,对当前待分类视频帧的模型调度指标。由于全量分类模型包括至少一个分类模型,因此,标签生成设备针对当前待分类视频帧,得到多个模型调度指标,每个分类模型都有其对应于当前待分类视频帧的模型调度指标,其中该模型调度指标表征该分类模型对该当前待分类视频帧的重要程度,也就是说,该多个模型调度指标和全量分类模型中的每个分类模型一一对应。在对当前待分类视频帧确定出多个模型调度指标之后,标签生成设备就会将下一个待分类视频帧,继续作为当前待分类视频帧,直至标签生成设备为每个待分类视频帧,均确定其所对应的多个模型调度指标。其中,全量分类模型包括至少一个分类模型,这些分类模型都是已经训练好的。
[0079] 需要说明的是,多个模型调度指标中的每个模型调度指标表征全量分类模型中的每个分类模型对至少一个待分类视频帧中的每个待分类视频帧的重要程度。由于在全量分类模型中,可能会有一些分类模型对待分类视频帧的分类识别并没有起到作用,例如,分类模型对待分类视频帧没有标签产出,或者是分类模型对待分类视频帧的分类准确度较低,对于待分类视频帧而言,这些分类模型对待分类视频帧的重要程度,就会比能为待分类视频帧生成正确的标签的分类模型的重要程度要低。因此,标签生成设备需要利用模型调度指标,来衡量分类模型对待分类视频帧的重要程度,以便于后续为待分类视频帧选择出合适的分类模型。
[0080] 在本申请的一些实施例中,标签生成设备可以利用训练好的预设调度指标预测模型,来预测出模型调度指标,还可以利用预设的调度指标预测算法,来预测出模型调度指标,本申请实施例在此不作限定。
[0081] 可以理解的是,模型调度指标可以以打分分数的形式存在,例如,标签生成设备针对每个待分类视频帧,来对每个分类模型进行打分,所得到的打分分数即为模型调度指标。模型调度指标还可以以重要等级的形式存在,例如,标签生成设备针对每个待分类视频帧,将每个分类模型划分不同的重要等级,例如,划分重要度高、重要度低的等级,从而得到模型调度指标。
[0082] S103、基于多个模型调度指标,从全量分类模型中为每个待分类视频帧确定出与每个待分类视频帧对应的目标模型。
[0083] 标签生成设备在得到每个待分类视频帧的多个模型调度指标,并对每个模型调度指标进行读取之后,就会明确针对每个待分类视频帧而言,哪些分类模型是重要的,哪些分类模型是不重要的。接着,标签生成设备会将对于每个待分类视频帧重要的分类模型挑选出来,作为每个待分类视频帧所对应的目标模型。当标签生成设备为所有的待分类视频帧均确定出目标模型之后,就会得到至少一个目标模型,其中每个待分类视频帧可以对应于一个或一个以上目标模型。
[0084] 需要说明的是,在本申请实施例中,针对某个待分类视频帧而言,标签生成设备可以是选择出了一个重要的分类模型,也可以是选择出多个重要的分类模型,这些重要的分类模型均是该待分类视频帧的目标模型。
[0085] 进一步的,各个待分类视频帧所对应的目标模型数量可以不同,即,某个待分类视频帧对应的目标模型中所包含的模型数量,可以与另一个待分类视频帧对应的目标模型中所包含的模型数量不同。据此,至少一个待分类视频帧的视频帧的总数量,和至少一个目标模型的模型总数量可以是不同的。
[0086] 需要说明的是,虽然至少一个待分类视频帧的视频帧总数量,和至少一个目标模型的模型总数量是不同的,但是由于目标模型是针对每个待分类视频帧挑选出来的,因此,每个目标模型都有其所对应的待分类视频帧,即,每个目标模型也与一个或一个以上待分类视频帧对应。
[0087] S104、利用每个待分类视频帧对应的目标模型,对每个待分类视频帧进行识别,得到每个待分类视频帧的识别标签。
[0088] 标签生成设备在为每个待分类视频帧挑选出与每个待分类视频帧相对应的目标模型之后,就可以获得与各个待分类视频帧分别对应的多个目标模型集合,此时可以利用该多个目标模型集合,来对其所对应的待分类视频帧进行分类识别了。此时,标签生成设备先将每个目标模型所对应的至少一个待分类视频帧挑选出来(即,该至少一个待分类视频帧相对应的多个目标模型集合中都包括有该每个目标模型),然后将每个目标模型所对应的待分类视频帧,输入进每个目标模型中进行识别分类,将每个目标模型所输出的标签,作为每个目标模型所对应的待分类视频帧的识别标签。当所有的目标模型均完成识别分类过程之后,就会得到每个待分类视频帧的识别标签,实现针对待生成视频的标签生成过程,以便于用户利用识别标签,来对待生成视频进行处理。
[0089] 需要说明的是,由于待分类视频帧对应的目标模型中可能具有一个或多个分类模型,因此,可能会存在一些需要被多个分类模型进行分类识别的待分类视频帧,此时,只有当所有的目标模型,即针对每个待分类视频帧而言所有重要的分类模型均完成分类识别动作时,标签生成设备才会认为对每个待分类视频帧完成了分类识别过程。
[0090] 可以理解的是,至少一个待分类视频和至少一个识别标签并不是一一对应的,即对于某个待分类视频帧而言,其可以具有多个识别标签,对于另一个待分类视频帧而言,其可以仅具有一个标签,甚至是没有标签。例如,当待分类视频帧为女生化妆的动作时,可以分别得到“动作-化妆”、“物品-化妆品”以及“人脸-明星XXX”的标签。
[0091] 本申请实施例中,标签生成设备可以先从待生成视频中提取出至少一个待分类视频帧,然后预测出每个分类模型针对至少一个待分类视频帧中的每个待分类视频帧的重要程度,即确定出模型调度指标,并依据模型调度指标,为每个待分类视频帧确定出合适的目标模型,从而仅利用对每个待分类视频帧而言较为重要的目标模型来对每个待分类视频帧进行分类识别,进而减少了对每个待分类视频帧进行分类识别的模型的数量,提高了标签生成的效率。
[0092] 在本申请的一些实施例中,模型调度指标和全量分类模型中的每个分类模型一一对应,也即全量分类模型中的每个分类模型对应有模型调度指标,在此情形下,标签生成设备基于多个模型调度指标,从全量分类模型中为每个待分类视频帧确定出与每个待分类视频帧对应的目标模型,即S103的具体实现过程,可以包括:S1031-S1032,如下:
[0093] S1031、对每个待分类视频帧的多个模型调度指标进行排序。
[0094] 标签生成设备在从全量分类模型中筛选目标模型时,是先将全量分类模型中的每个分类模型所对应的多个模型调度指标,按照大小顺序进行排序,从而为多个模型调度指标中的每个模型调度子标,均确定出其所在的位次。
[0095] 需要说明的是,每个待分类视频帧的多个模型调度指标表征全量分类模型中的各个分类模型对每个待分类视频帧的重要程度,因此,对每个待分类视频帧的多个模型调度指标进行排序,能够为不同的分类模型的重要程度确定出一个相对关系,该相对关系可以明确全量分类模型中的哪些分类模型是对每个待分类视频帧更为重要的。例如,当针对某个待分类视频帧,所有分类模型的模型调度指标均较高时,看起来是所有分类模型对该待分类视频帧都较为重要,但是在对所有分类模型的模型调度指标进行排序之后,就能够依据次序,为该待分类视频帧挑选出重要程度更高的目标模型。
[0096] S1032、将每个待分类视频帧的多个模型调度指标中最高的预设数量的模型调度指标所对应的分类模型,作为每个待分类视频帧对应的目标模型。
[0097] 标签生成设备在对每个待分类视频帧的多个模型调度指标进行排序,针对每个待分类视频帧的多个模型调度指标中的每个模型调度指标的确定出位次之后,就会从多个模型调度指标中,将最高的预设数量个模型调度指标提取出来,然后依据模型调度指标和分类模型之间的对应关系,寻找出最高的预设数量的模型调度指标所对应的分类模型,这些分类模型就是每个待分类视频帧所对应的目标模型。
[0098] 可以理解的是,预设数量可以设置为3,也可以设置为1,还可以设置为其他数值,本申请实施例在此不作限定。
[0099] 示例性的,当全量分类模型中具有三个分类模型时,并且这三个分类模型针对某个待分类视频帧的模型调度指标分别为0.5,0.1和0.3,标签生成设备会这三个模型调度指标进行排序,得到[0.5,0.3,0.1]的序列,当预设数量为2时,标签生成设备就会将0.5和0.3所对应的分类模型,作为该待分类视频帧对应的目标模型。
[0100] 本申请实施例中,标签生成设备能够对多个模型调度指标进行排序,从而将模型调度指标的次序靠前的分类模型挑选出来,作为目标模型,提高了挑选目标模型的准确率,进而减少了对待分类视频帧进行分类识别的模型的数量,提高了标签生成效率。
[0101] 在本申请的一些实施例中,全量分类模型中的每个分类模型具有对应于至少一个待分类视频帧的模型调度指标,此时,标签生成设备基于多个模型调度指标,从全量分类模型中为每个待分类视频帧确定出与每个待分类视频帧对应的目标模型,即S103的具体实现过程,可以包括:S1033-S1034,如下:
[0102] S1033、将多个模型调度指标中与每个待分类视频帧对应的模型调度指标,与预设好的指标阈值进行比较,得到比较结果。
[0103] 标签生成设备除了对多个模型调度指标进行排序,确定出目标模型之外,还可以直接将每个待分类视频帧所对应的模型调度指标与预设好的指标阈值进行比较,得到比较结果,然后依据比较结果确定出目标模型。
[0104] 需要说明的是,比较结果表征模型调度指标是否大于预设好的指标阈值。当比较结果大于预设好的指标阈值时,说明分类模型对待分类视频帧而言是重要的,反之,当比较结果小于或等于预设好的指标阈值时,说明分类模型对待分类视频帧而言不那么重要。
[0105] 可以理解的是,预设好的指标阈值的具体数值,是可以根据实际情况进行设定的,例如设定为0.5,或者是设置成0.8,本申请实施例在此不作限定。
[0106] S1034、从全量分类模型中,挑选出比较结果表征模型调度指标大于预设好的指标阈值的分类模型,作为每个待分类视频帧对应的目标模型。
[0107] 标签生成设备得到每个分类模型对应的模型调度指标与预设好的指标阈值的比较结果之后,就可以将模型调度指标大于预设好的指标阈值挑选出来,然后将挑选出的模型调度指标阈值所对应的分类模型,作为目标模型,这样,标签生成设备就能够得到目标模型了。
[0108] 示例性的,当全量分类模型中具有三个分类模型时,并且这三个分类模型的模型调度指标分别为0.5,0.1和0.3,预设好的指标阈值为0.4时,标签分类模型可以将0.5所对应的分类模型作为目标模型。
[0109] 本申请实施例中,标签生成设备可以将多个模型调度指标,直接与预设好的指标阈值进行比较,然后直接将模型调度指标大于预设好的指标阈值的分类模型提取出来,作为目标模型,减少了对待分类视频帧进行分类识别的模型的数量,提高了标签生成效率。
[0110] 需要说明的是,在本申请的一些实施例中,标签生成设备还可以对多个模型调度指标进行排序,将多个模型调度指标中最高的预设数量的模型调度指标所对应的分类模型,作为第一候选模型;将多个模型调度指标中与每个待分类视频帧对应的模型调度指标与预设好的指标阈值进行比较,将比较结果表征模型调度指标大于预设好的指标阈值的分类模型,作为第二候选模型;然后标签生成设备比较第一候选模型中的分类模型的个数,和第二候选模型中的分类模型的个数,从第一候选模型和第二候选模型中,将所包含的分类模型的数量较多的候选模型,作为最终的目标模型。如此,标签生成设备能够为每个待分类视频帧,尽可能多的确定出重要的分类模型。
[0111] 参见图5,图5是本申请实施例提供的标签生成方法的一个可选的流程示意图二。在本申请的一些实施例中,利用每个待分类视频帧对应的目标模型,对每个待分类视频帧进行识别,得到每个待分类视频帧对应的识别标签,即S104的具体实现过程,可以包括:
S1041-S1045,如下:
[0112] S1041、确定每个目标模型对应的待分类视频帧作为目标视频帧。
[0113] 本发明实施例中,标签生成设备为每个待分类视频帧确定出目标模型,就是构建了待分类视频帧与目标模型之间的对应关系,使得每个目标模型都具有需要其进行预测识别的待分类视频帧,即,每个目标模型均对应一些待分类视频帧,这些视频帧是至少一个待分类视频帧中等待目标模型进行识别的视频帧。因此,标签生成设备可以依据目标模型,来对至少一个待分类视频帧进行分类,即将需要用每个目标模型进行分类的待分类视频帧划分到一起,得到每个目标模型所对应的目标视频帧。
[0114] S1042、对每个目标模型的目标视频帧的数量进行统计,得到每个目标模型的目标视频帧数量。
[0115] 标签生成设备在得到每个目标模型的目标视频帧之后,就会对每个目标模型所对应的目标视频帧的数目进行统计,所得到的统计结果就是每个目标模型所对应的目标视频帧数量。
[0116] S1043、利用目标视频帧数量,为每个目标模型确定出对应的执行顺序。
[0117] 由于对于某个目标模型而言,目标视频帧数量越大,表明需要其进行分类视频的待分类视频帧的越多。在标签生成过程中,为了保证先对大部分的待分类视频帧进行识别,标签生成设备可以选择先对目标视频帧数量较多的目标模型进行执行。这时,标签生成设备会将每个目标模型对应的目标视频帧数量,按照从大到小的原则进行排序,然后再利用目标视频帧数量与目标模型之间的对应关系,就可以得到目标模型的排序,也就为每个目标模型确定出了执行顺序。
[0118] S1044、按照执行顺序,利用每个目标模型对与每个目标模型对应的目标视频帧进行识别,得到目标视频帧对应的识别标签。
[0119] S1045、当对每个目标模型所对应的目标视频帧识别之后,得到每个待分类视频帧对应的识别标签。
[0120] 标签生成设备在得到每个目标模型的执行顺序之后,就会按照执行顺序,依次来调用目标模型。当调用到某个目标模型时,标签生成设备就会将该目标模型所对应的目标视频帧输入进该目标模型中,以进行分类识别,该目标模型最后输出的标签,就是该目标模型对应的目标视频帧的识别标签。由于至少一个待分类视频帧是被划分给了至少一个目标模型,当至少一个目标模型中的每个目标模型,均完成了对自身所对应的目标视频帧的识别分析时,也就表明所有的待分类视频帧均完成了分类识别,这时,标签生成设备就可以得到每个待分类视频帧所对应的识别标签。
[0121] 示例性的,图6是本申请实施例提供的利用每个待分类视频帧对应的目标模型进行识别的示例图。如图6所示,至少一个目标模型中共具有3个目标模型,分别为模型6-1、模型6-2和模型6-3。标签生成设备将所得到的10个待分类视频帧划分到了这3个目标模型之中,其中,模型6-1对应有3个待分类视频帧,模型6-2对应有5个待分类视频帧,模型6-3对应有2个待分类视频帧。然后,标签生成设备对3个目标模型所对应的待分类视频帧的数量进行统计,即得到模型6-1的视频帧数量3,模型6-2的视频帧数量5和模型6-3的视频帧数量2。接着,标签生成设备按照视频帧数量,就能够为这3个目标模型,确定出各自的执行顺序,即模型6-2第一个执行,模型6-1第二个执行,模型6-3第三个执行,并依照此顺序,来调用这3个目标模型,完成对10个待分类视频帧的分类识别,得到10个识别标签。
[0122] 本申请实施例中,标签生成设备能够根据对每个目标模型对应的目标视频帧的数量进行统计,然后利用统计出的目标视频帧数量,为每个目标模型确定执行顺序,从而按照执行顺序,来调用每个目标模型。如此,标签生成设备能够保证具有较多的待分类视频帧的目标模型先被执行,以保证能够先对大部分的待分类视频帧进行分类识别。
[0123] 在本申请的一些实施例中,按照执行顺序,利用每个目标模型对与每个目标模型对应的目标视频帧进行识别,得到目标视频帧对应的识别标签,即在S1044的具体实现过程,可以包括:S1044a-S1044c,如下:
[0124] S1044a、将执行顺序与预设顺序进行比较,得到顺序比较结果;顺序比较结果表征执行顺序与预设顺序的前后关系。
[0125] 在实际应用中,存在分类识别过程耗时过久的问题,而标签生成往往是需要在有限的时间内完成的,因此,避免标签生成时间耗时过久,降低标签生成的效率,标签生成设备需要在保证大部分待分类视频帧能够被顺利分类识别的情况下,还要能够及时中断分类识别过程。这时,标签生成设备可以从至少一个目标模型中,选择部分目标模型进行调用并执行,从而进一步减少对至少一个待分类视频帧进行分类识别所占用的时间,提供标签生成效率。这时,标签生成设备可以先获取预设顺序,然后将每个目标模型的执行顺序与预设顺序进行比较,判断每个目标模型的执行顺序是在预设顺序之前还是在预设顺序之后,所得到的判断结果即为顺序比较结果。
[0126] 需要说明的是,在本申请的一些实施例中,预设顺序可以根据实际需求进行设定的,例如,将预设顺序设置为3,或者是设置为5,从而实现根据业务情况或模型性能来灵活调整视频帧识别效果。
[0127] S1044b、当顺序比较结果表征执行顺序在预设顺序之前时,利用每个目标模型对与每个目标模型对应的目标视频帧进行识别,得到目标视频帧对应的识别标签。
[0128] S1044c、当顺序比较结果表征执行顺序在预设顺序之后时,结束利用每个目标模型对与每个目标模型对应的目标视频帧进行识别。
[0129] 当标签生成设备判断出执行顺序在预设顺序之前时,会正常利用每个目标模型对其所对应的目标视频帧进行识别,从而得到执行顺序在预设顺序之前的目标模型所对应的目标视频帧的识别标签。当执行顺序在预设结果之后时,标签生成设备就会停止调用目标模型的过程,即不再利用每个目标模型对其所对应的目标视频帧进行识别了。也就是说,本申请实施例中,标签生成设备只对执行顺序在预设顺序之前的目标模型进行调用,也就是是对执行顺序在预设顺序之前的目标模型所对应的目标视频帧进行分类识别,从而使得标签生成设备能够在有限的时间内,优先对具有较多的目标视频帧的目标模型进行调用执行。
[0130] 在本申请的一些实施例中,按照执行顺序,利用每个目标模型对与每个目标模型对应的目标视频帧进行识别,得到目标视频帧对应的识别标签,即在S1044的具体实现过程,可以包括:S1044d-S1044e,如下:
[0131] S1044d、当利用当前顺序所对应的当前目标模型,对当前目标模型所对应的当前目标视频帧识别完成时,获取当前目标模型对应的当前识别完成时间。
[0132] 标签生成设备在保证大部分待分类视频帧能够被顺利分类识别的情况下,并能够及时中断分类识别过程的情形下,还可以利用最大耗时来判断是否要停止调用目标模型。这时,标签生成设备会先利用当前顺序所对应的当前目标模型,来对当前目标模型所对应的当前目标视频帧进行分类识别。当当前目标模型在某个时刻完成了对其所对应的当前目标视频帧的分类识别时,标签生成设备就会获取该时刻,并将该时刻,作为当前识别完成时间。
[0133] 需要说明的是,当前顺序为每个目标模型对应的执行顺序中的任意一个,也即,标签生成设备对于任意一个目标模型完成执行时,就会获取一次该目标模型所对应的识别完成时间。
[0134] S1044e、当当前识别完成时间大于或等于预设好的最大时间时,停止利用当前顺序的下一个顺序所对应的下一个目标模型,对下一个目标模型对应的目标视频帧进行识别。
[0135] 标签生成设备在得到当前目标模型的当前识别完成时间之后,还会获取预设好的最大时间,并将当前识别完成时间与预设好的最大时间进行比较。当标签生成设备判断出当前识别完成时间大于或者是等于预设好的最大时间时,说明已经没有多余的时间留给当前顺序的下一个顺序所对应的下一个目标模型了,这时,标签生成设备就会停止调用当前顺序的下一个顺序所对应的下一个目标模型,即停止利用下一个目标模型,对下一个目标模型所对应的目标视频帧的识别过程,从而保证在大部分待分类视频帧都能够被分类识别的情况下,分类识别的时间将被控制在合适的范围之内,提高了标签生成的效率。
[0136] 示例性的,参见图7,本申请实施例提供了在有限时间内进行分类识别的过程示例图。当每个目标模型,即模型7-1、模型7-2、模型7-3、模型7-4和模型7-5的其各自对应的执行顺序分别为模型7-3、模型7-2、模型7-1、模型7-5、模型7-4时,标签生成设备会先调用模型7-3(当前目标模型)来进行分类识别,同时在模型7-3分类识别完成时获取模型7-3对应的识别完成时间(当前识别完成时间),并将模型7-3的识别完成时间与预设好的最大时间进行比较,当模型7-3的识别时间小于预设好的最大时间时,继续调用模型7-2进行分类识别。依次类推,标签生成设备发现在模型7-5对应的识别完成时间大于预设好的最大时间,这时,标签生成设备就不会再调用模型7-4以进行分类识别了。
[0137] 本申请实施例中,标签生成设备可以将当前顺序对应的当前目标模型的当前识别完成时间,与预设好的最大时间进行比较,从而判断是否需要调用当前顺序的下一个顺序所对应的下一个目标模型来进行分类识别,保证了在有限时间内能够对大部分待分类视频帧进行分类识别,提高了标签生成的效率。
[0138] 在本申请的一些实施例中,针对所述至少一个待分类视频帧中的每个待分类视频帧,确定出全量分类模型所对应的多个模型调度指标,即S102的具体实现过程,可以包括:S1021-S1022,如下:
[0139] S1021、针对每个待分类视频帧,利用预设调度指标预测模型,预测出全量分类模型中的每个分类模型所对应的模型调度指标。
[0140] S1022、当对全量分类模型均完成模型调度指标的预测时,得到全量分类模型所对应的多个模型调度指标。
[0141] 标签生成设备可以利用事先训练好的预设调度指标预测模型来预测模型调度指标。这时,标签生成设备可以先获取预设调度指标预测模型,然后将每个待分类视频帧输入进预设调度指标预测模型之中,预设调度指标预测模型能够预测出某个分类模型,对所输入其进行识别的待分类视频帧的重要程度,从而得到该分类模型所对应的模型调度指标。当标签生成设备对全量分类模型均完成预测时,就可以得到多个模型调度指标,这里,模型调度指标的数量,与全量分类模型中的分类模型的数量是相同的。
[0142] 示例性的,当全量分类模型中共具有5个分类模型时,标签生成设备可以针对某个待分类视频帧,共得到5个模型调度指标,这5个模型调度指标,与5个分类模型是一一对应的。
[0143] 本申请实施例中,标签生成设备能够用预设调度指标预测模型,来为每个待分类视频帧预测出多个模型调度指标,从而便于后续利用多个模型调度指标,来为每个待分类视频帧确定出目标模型。
[0144] 参见图8,图8是本申请实施例提供的标签生成方法的一个可选的流程示意图三。在本申请的一些实施例中,在针对每个待分类视频帧,利用预设调度指标预测模型,预测出全量分类模型中的每个分类模型所对应的模型调度指标之前,即在S1021之前,该方法还可以包括:S201-S203,如下:
[0145] S201、获取初始预测模型、历史视频帧、多个历史标签数据、多个历史标签数据对应的多个标签收益指标,以及全量分类模型对应的全量模型速度。
[0146] 其中,历史视频帧为历史时间利用全量分类模型进行分类的视频帧,多个历史标签数据为利用全量分类模型对历史视频帧进行识别所得到的标签数据,多个历史标签数据和多个标签收益指标一一对应;全量模型速度包括每个分类模型对历史视频帧的预测速度。
[0147] 标签生成设备在利用预设调度指标预测模型来预测模型调度指标之前,需要先训练出预设调度指标预测模型。这时,标签生成设备会先获取初始预测模型,以及历史视频帧,利用全量分类模型对历史视频帧进行分类识别所得到的多个历史标签数据,其中,有些分类模型能够为历史视频帧生成多个标签,有的分类模型能够为历史视频帧生成一个,甚至是不生成标签。标签生成设备还会获取每个历史标签数据所对应的标签收益指标,以及全量分类模型中的每个分类模型所对应的模型速度,以便于在后续构造训练调度指标。
[0148] 可以理解的是,标签收益指标可以是由用户提供的,用于表征标签的收益程度的指标,例如,标签的点击率、针对该标签投放广告的收益率等,本申请实施例在此不作限定。
[0149] S202、利用多个历史标签数据、多个标签收益指标和全量模型速度,针对历史视频帧构造出全量分类模型所对应的多个训练调度指标。
[0150] 标签生成设备在得到多个历史标签数据、多个标签收益指标和全量模型速度之后,就可以利用历史标签数据、标签收益指标和全量模型速度中所包含的每个分类模型的模型速度,来为全量分类模型中的每个分类模型生成对应的训练调度指标。当对全量分类模型中的所有分类模型均构造出对应的训练调度指标之后,标签生成设备就能够得到多个训练调度指标。
[0151] 可以理解的是,多个训练调度指标中的每个训练调度指标和全量分类模型中的每个分类模型一一对应,即全量分类模型中有多少数量的分类模型,标签生成设备就可以得到多少数量的训练调度指标。
[0152] S203、利用历史视频帧和多个训练调度指标,对初始预测模型进行训练,直至达到训练停止条件时,得到预设调度指标预测模型。
[0153] 标签生成设备将历史视频帧作为输入,将多个训练调度指标作为输出监督项,来对初始预测模型中的模型参数进行更新。当训练过程达到训练停止条件,例如,训练次数达到了预设训练次数,或者是模型已经收敛时,标签生成设备就会停止训练,这时,所得到的模型就是预设调度指标预测模型。
[0154] 本申请实施例中,标签生成设备能够先为全量分类模型构造出对应的多个训练调度指标,然后利用训练调度指标和历史视频帧,来训练出预设调度指标预测模型。这样,标签生成设备就能够得到预设调度指标预测模型,以便于后续利用预设调度指标预测模型来对待分类视频帧进行预测。
[0155] 在本申请的一些实施例中,多个历史标签数据中的每个历史标签数据包括标签置信度和标签准确度;利用多个历史标签数据、多个标签收益指标和全量模型速度,针对历史视频帧构造出全量分类模型所对应的多个训练调度指标,即S202的具体实现过程,可以包括:S2021-S2023,如下:
[0156] S2021、针对全量分类模型中的当前分类模型,从多个历史标签数据提取出当前历史标签数据,以及从全量模型速度中提取出当前模型速度;当前分类模型为全量分类模型中的任意一个。
[0157] 标签生成设备先将全量分类模型中的任意一个分类模型,作为当前分类模型,然后再从多个历史标签数据中提取出利用当前分类模型进行预测所得的标签数据,将这些标签数据作为当前历史标签数据,最后从全量模型速度中提取出当前分类模型所对应的当前模型速度,以便于后续利用上述数据来针对当前分类模型构造出训练调度指标。
[0158] 可以理解的是,当前历史标签数据是指由当前分类模型进行预测所得到的标签数据,当当前分类模型是多分类模型时,所得到的当前历史标签数据中,也会包含有多个子标签数据。
[0159] S2022、利用当前历史标签对应的当前标签收益指标、当前历史标签数据的当前标签准确度、当前标签置信度和当前模型速度,构造出当前分类模型对应的训练调度指标。
[0160] 历史标签数据是由标签置信度和标签准确度组成的,当前历史标签数据也不例外,其中具有当前标签准确度和当前标签置信度。标签生成设备在针对当前模型构造对应的训练调度指标时,会先将当前标签收益指标、当前标签准确度、当前标签置信度和当前模型速度进行累乘,将所得到的累乘结果,作为当前分类模型所对应的训练调度指标。
[0161] 需要说明的是,当当前分类模型是多分类模型时,标签生成设备具体是先从当前历史标签数据所包括的多个子标签数据中,选择出一个子标签数据,然后将该子标签数据对应的标签准确度、标签置信度、该子标签数据对应的标签收益指标,和当前模型速度相乘,得到该子标签数据对应的子训练调度指标,然后标签生成设备将所有子标签数据对应的子训练调度指标进行累加,得到当前分类模型所对应的训练调度指标。
[0162] 示例性的,本申请实施例提供了构造当前分类模型所对应的训练调度指标的公式,参见式(1):
[0163]
[0164] 其中,i为第i个模型,j为第j个子标签数据,label_conf为子标签数据的标签置信度,tag_value为子标签数据的标签收益指标,tag_accuracy为子标签数据的标签准确度,model_speed为当前模型速度,model_importance为训练调度指标。当标签生成设备在得到上述参数的具体数值时,就可以代入至式(1)中,计算出当前分类模型对应的训练调度指标了。
[0165] S2023、当为全量分类模型均构造出对应的训练调度指标时,得到多个训练调度指标。
[0166] 标签生成设备依照上述方式,可以为每个分类模型都构造出其所对应的训练调度指标,当对全量分类模型中的所有分类模型均构造出训练调度指标时,标签生成设备就可以得到全量分类模型所对应的多个训练调度指标。
[0167] 在本申请的一些实施例中,标签生成设备在得到多个训练调度指标之后,还以依据多个训练调度指标中的最大值,来对每个分类模型对应训练调度指标进行归一化,即利用每个分类模型对应的训练调度指标,比上多个训练调度指标中的最大值,所得到的比值结果,就为每个分类模型对应的归一化后的训练调度指标。
[0168] 示例性的,本申请实施例提供了对每个分类模型对应的训练调度指标进行归一化的过程,参见式(2):
[0169]
[0170] 其中,  为每个分类模型对应的训练调度指标。当标签生成设备得到了上述参数的具体数值之后,就可以将上述参数的具体数值代入至式(2)中,从而完成对每个分类模型对应的训练调度指标的归一化过程。
[0171] 在本申请的一些实施例中,在利用历史视频帧和多个训练调度指标,对初始预测模型进行训练,直至达到训练停止条件时,得到预设调度指标预测模型之后,针对每个待分类视频帧,利用预设调度指标预测模型,预测出全量分类模型中的每个分类模型所对应的模型调度指标之前,即在S203之后,S1021之前,该方法还包括:S204-S207,如下:
[0172] S204、针对测试视频帧,利用预设调度指标预测模型,预测出全量分类模型所对应的多个测试模型调度指标,并对多个测试模型调度指标进行排序,得到模型指标序列。
[0173] 标签生成设备在得到预设调度指标预测模型之后,还需要来对预设调度指标预测模型的性能进行评估。这时,标签生成设备会先获取事先准备好的测试视频帧,其中,测试视频帧具有各个分类模型所对应的真实模型调度指标。标签生成设备将测试视频帧输入进行预设调度指标预测模型中,预测出的结果即为全量分类模型所对应的多个测试模型调度指标。然后,标签生成设备对所得到的所有测试模型调度指标进行排序,排序结果即为模型指标序列。
[0174] S205、获取测试视频帧对应的预设模型指标序列;预设模型指标序列表征全量分类模型中的每个分类模型对测试视频帧的重要程度的真实顺序。
[0175] S206、依据模型指标序列和预设模型指标序列,确定出预设调度指标预测模型的预测准确度。
[0176] 标签生成设备可以事先对测试视频帧所具有的真实模型调度指标进行排序,得到能够表征每个分类模型对测试视频帧的重要程度的真实顺序的序列,将该序列记为预设模型指标序列。标签生成设备得到模型指标序列之后,就会获取预设模型指标序列,然后将预设模型指标序列和模型指标序列相比较,判断预设模型指标序列和模型指标序列之间的距离差距,以距离差距来衡量预设模型指标序列和模型指标序列是否类似。当距离差距小于预设的距离差距阈值时,说明预设模型指标序列和模型指标序列类似,也即预测出的模型指标序列与预设模型指标序列十分接近,这时,预设调度指标预测模型的性能较好,从而预设调度指标预测模型的预测准确度较高。反之,当距离差距大于或等于预设的距离差距阈值时,说明模型指标序列和预设模型指标序列相差甚远,预设调度指标预测模型的准确率低,在实际应用中,所预测出的模型调度指标也不会准确,即预设调度指标预测模型的预测准确率低。
[0177] 需要说明的是,本申请的一些实施例中,可以将模型指标序列到预设模型指标序列移动距离,作为距离差距,然后对距离差距取倒数,将倒数结果作为预测准确率。例如,当模型指标序列为[1,2,3,4,5],预设模型指标序列为[5,4,3,2,1]时,需要移动10步才能将[1,2,3,4,5]还原为[5,4,3,2,1],这时,距离差距就为10,对10取倒数,就可以得到预测准确率1/10。进一步的,当模型指标序列中具有n个元素时,距离差距的取值范围为0至n(n-1)/2步。
[0178] 可以理解的是,预设的距离差距阈值的取值可以是0至n(n-1)/2之间的任意整数,具体的预设距离差距阈值可以根据实际情况进行设置,本申请实施例在此不作限定。
[0179] S207、当预测预测准确度小于预设好的准确度阈值时,重新利用历史视频帧和多个训练调度指标,对初始预测模型进行训练,直至达到训练停止条件,得到最新的调度指标预测模型。
[0180] 当预测准确度小于预设好的准确度阈值时,标签生成设备需要重新将历史视频帧作为输入,将多个训练调度指标作为监督项,来对初始预测模型进行训练,直至达到训练停止条件,得到最新的调度指标预测模型。相应的,标签生成设备在后续针对每个待分类视频帧,利用预设调度指标预测模型,预测出全量分类模型中的每个分类模型所对应的模型调度指标,即S1021的具体实现过程,就会变为S1021a:针对每个待分类视频帧,利用最新的调度指标预测模型,预测出全量分类模型中的每个分类模型所对应的模型调度指标。这样,可以避免利用预测准确度不高的预设调度指标预测模型,来预测出不准确的模型调度指标。
[0181] 可以理解的是,本申请实施例中,预设好的准确度阈值的具体取值,可以根据实际情况来设置,例如设置0.5,设置为0.8等,为本申请实施例在此不作具体限定。
[0182] 本申请实施例中,标签生成设备还能够对预设调度指标预测模型的预测准确度进行预测,当预测准确度低于预设好的准确度阈值时,标签生成设备能够重新训练初始预设模型,得到最新的调度指标预测模型,从而保证利用预设准确度较高的模型来预测模型调度指标,提高模型调度指标预测的准确度,从而保证了目标模型的准确度。
[0183] 在本申请的一些实施例中,预设调度指标预测模型包括:输入层、至少两个卷积层、至少两个池化层、降维层、全连接层和输出层;
[0184] 输入层的输出与至少两个卷积层中的输入相连,至少两个卷积层和至少两个池化层依次交替连接,降维层的输入与至少两个池化层的输出相连,全连接层的输入与降维层的输出相连,输出层的输入与全连接层的输出相连;
[0185] 其中,每个待分类视频帧通过输入层进至少两个卷积层,至少两个池化层用于接收至少两个卷积层所输出的特征图,降维层用于接收至少两个池化层中的最后一个池化层所输出的池化特征图,全连接层用于接收降维层输出的降维数据,输出层用于接收全连接层输出的处理数据,以及输出每个分类模型对应的模型调度指标。
[0186] 可以理解的是,卷积层用于对输入进的图像进行卷积,得到特征图,其中,输入进卷积层的图像可以是输入层所输出的图像,也可以是池化层所输出的池化特征图。池化层用于对特征图进行池化,得到池化特征图。
[0187] 需要说明的是,至少两个卷积层和至少两个池化层依次交替连接,指的是在至少两个卷积层后中的每一个卷积层之后,都连接有一个池化层,即采用卷积层、池化层、卷积层、池化层的顺序进行连接。
[0188] 可以理解的是,在本申请实施例中,卷积层的个数和池化层的个数可以根据实际需求进行设定,例如,将卷积层的个数设置为2,将池化层的个数设置为2,或者是将卷积层的个数设置为3,将池化层的个数设置为4等,本申请实施例在此不作限定。
[0189] 在本申请的一些实施例中,至少两个卷积层包括:第一卷积层、第二卷积层,第一卷积层和第二卷积层的通道数不同;至少两个池化层包括:第一池化层、第二池化层;
[0190] 输入层的输出与第一卷积层的输入相连,第一池化层的输入和第一卷积层的输出相连,第二卷积层的输入和第一池化层的输出相连,第二池化层的输入和第二卷积层输出相连,降维层的输入和第二池化层输出相连。
[0191] 在本申请的一些实施例中,每个待分类视频帧通过输入层进入第一卷积层,第一池化层的用于接收第一卷积层输出的第一特征图,第二卷积层用于接收第一池化层输出的第一池化特征图,第二池化层用于接收第二卷积层输出的第二特征图,降维层用于接收第二池化层输出的第二池化特征图,全连接层用于接收降维层输出的降维数据,输出层用于接收全连接层输出的处理数据,以及输出每个分类模型对应的模型调度指标。
[0192] 可以理解的是,第一卷积层的卷积核和第二卷积层的卷积核的大小可以相同,例如,将第一卷积层的卷积核和第二卷积层的卷积核都设置为3×3,或者是5×5;第一卷积层的卷积核和第二卷积层的卷积核的大小可以不同,例如,第一卷积层的卷积核的大小设置为3×3,第二卷积层的卷积核的大小设置为1×1等,本申请实施例在此不作限定。
[0193] 需要说明的是,在本申请实施例中,第二卷积层的通道数可以大于第一卷积层的通道数,也可以小于第一卷积层的通道数。
[0194] 在本申请的一些实施例中,第一卷积层的卷积核的尺寸为3×3,通道数为8;第二卷积层尺寸为3×3,通道数为16。
[0195] 此时,预设调度指标预测模型的结构可以为:第一卷积层连接在所述输入层之后,第一卷积层的卷积核的尺寸为3×3,通道数为8;第一池化层连接在所述第一卷积层之后;第二卷积层连接在第一池化层之后,第二卷积层的卷积核的尺寸为3×3,通道数为16;降维层连接在所述第二池化层之后,全连接层连接在所述降维层之后;输出层连接在所述全连接层之后。
[0196] 示例性的,本申请实施例提供了预设调度指标预测模型的结构示例图,参见图9,预设调度指标预测模型的第一卷积层9-1的结构为3×3conv,8,在第一卷积层9-1之后,连接有2×2的第一池化层9-2,在第一池化层9-2之后,连接有第二卷积层9-3,其中,第二卷积层9-3的结构为3×3conv,16。在第二卷积层9-2之后,连接有2×2的第二池化层9-4。在第二池化层9-4之后,连接有降维层9-5,降维层9-5的作用是将二维的数据映射到一维,在降维层9-5之后,连接有全连接层9-6,在全连接层9-6之后,连接有的全连接层9-7,全连接层9-7与输出9-8相连。
[0197] 示例性的,本申请实施例提供了图9所示的预设调度指标预测模型中每一个网络层的输出和参数量,参见表1:
[0198] 表1
[0199]
[0200] 参见表1,当卷积和池化的步长均为1,输入层的输出尺寸为(none,64,64,3)(none表示没有给各个网络层限定输入的视频帧的数量),参数量为0;第一卷积层9-1的输出尺寸为(none,62,62,8),参数量为224;第一池化层9-2的输出尺寸为(none,31,31,8),参数量为0;第二卷积层9-3的输出尺寸为(none,29,29,16),参数量为1168;第二池化层9-4的输出尺寸为(none,14,14,16),参数量为0;降维层9-5的输出尺寸为(none,3136),参数量为0;全连接层9-6的输出尺寸为(none,128),参数量为401536;全连接层9-7的输出尺寸为(none,
16),参数量为2064;输出层9-8的输出尺寸为(none,5),参数量为85。
[0201] 从图9和表1中可以看出,本申请实施例提供的预设调度指标预测模型的结构较为简单,需要计算的参数量较少,从而保证了预设调度指标预测模型的运行速度,提高标签生成的效率。
[0202] 本申请实施例中,可以预设调度指标预测模型中所需要计算的参数量较少,从而使得预设调度指标预测模型的运行速度较快,从而保证了标签生成的效率。
[0203] 下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。本申请实施例是在为视频生成标签,从而基于标签来投放广告的场景下实现的。
[0204] 首先,后台(标签生成设备)需要先准备用于训练多模型调度模块的数据。后台对于任意一张在加入多模型调度模块前,各个模型所处理过的图片(历史视频帧),在经过I个模型(全量分类模型)后产生了很多标签,其中有个模型产生一个标签,有的模型产生多个标签。对于该图片来说,第i个模型(当前分类模型)的重要性打分(当前分类模型对应的训练调度指标)为每个产生的标签的置信度分数(当前标签置信度)乘以该标签的收益(当前标签收益指标),再乘以标签准确性(当前标签准确度),最后乘以模型速度(当前模型速度)的所得到的乘积归一化所得到的结果。其中,置信度分分数由模型产生并输出记录;标签的收益由前端提供,其等于每个选择该标签的广告主的投入价格总和;标签准确性是人为修正,一般为1,若标签产出错误,则认为置为0;模型速度是指每秒钟处理图片的张数,由工作人员在模型调试时获得的,模型不变的情况下模型速度也不会改变。
[0205] 经过上述方式,每张图片都能得到一个I*1维的标签(全量分类模型对应的多个训练调度指标)。
[0206] 在构造好重要性打分之后,就可以来训练多模型调度模块(预设调度指标预测模型)。这里可以训练如图9的网络结构,也可以训练通用网络结构,例如VGG16网络结构等。图10是本申请实施例提供的通用网络结构的示例图,如图10所示,通用网络由5个网络模块、池化层和全连接层组成。其中,网络模块10-1的输入尺寸为224×224,网络模块10-1由两个
3×3,64通道的卷积层组成;网络模块10-2由两个3×3,128通道的卷积层组成,此时,输入尺寸为112×112;网络模块10-3由三个3×3,256通道的卷积层组成,此时,输入尺寸为56×
56;网络模块10-4由三个3×3,512通道的卷积层组成,此时,输入尺寸为28×28;网络模块
10-5由三个3×3,512通道的卷积层组成,其所对应的输入尺寸为14×14。在每个网络模块之后,都连接有池化层10-6,在最后一个池化层之后,连接有全局池化层(未示出),然后是
1024的全连接层10-7,然后是128的全连接层10-8,最后连接有输出层10-9。
[0207] 对应的,本申请实施例提供了通用网络的每一个网络层的输出和参数量,参见表2:
[0208] 表2
[0209]
[0210] 参见表2,输入层的输出尺寸为(none,none,none,3)(none表示没有给各个网络层限定输入的视频帧的数量,以及没有限制图片的长宽尺寸),参数量为0;网络模块10-1中的各个卷积层的输出尺寸均为(none,none,none,64),网络模块10-1中第一个卷积层的参数量为1792,网络模块10-1中第二个卷积层的参数量为36928;第一个池化层10-6的输出尺寸为(none,none,none,64),参数量为0;网络模块10-2中的各个卷积层的输出尺寸均为(none,none,none,128),网络模块10-2第一个卷积层的参数量为73856,网络模块10-2第二个卷积层的参数量为147584;第二个池化层10-6的输出尺寸为(none,none,none,128),参数量为0;网络模块10-3中的各个卷积层的输出尺寸均为(none,none,none,256),网络模块10-3第一个卷积层的参数量为295168,网络模块10-3第二个卷积层的参数量为590080,网络模块10-3第三个卷积层的参数量为590080;第三个池化层10-6的输出尺寸为(none,none,none,256),参数量为0;网络模块10-4中的各个卷积层的输出尺寸均为(none,none,none,512),网络模块10-4第一个卷积层的参数量为1180160,网络模块10-4第二个卷积层的参数量为2359808,网络模块10-4第三个卷积层的参数量为2359808;第四个池化层10-6的输出尺寸为(none,none,none,512),参数量为0;网络模块10-5中的各个卷积层的输出尺寸均为(none,none,none,512),网络模块10-5第一个卷积层的参数量为2359808,网络模块
10-5第二个卷积层的参数量为2359808,网络模块10-5第三个卷积层的参数量为2359808;
第五个池化层10-6的输出尺寸为(none,none,none,512),参数量为0;全局池化的输出为(none,512),参数量为0;全连接层10-7的输出尺寸为(none,1024),参数量为525312;全连接层10-8的输出尺寸为(none,128),参数量为131200;输出层10-9的输出尺寸为(none,5),参数量为645。由此可以看出,通用模型的参数量较大,因此,在实际应用中,推荐使用图9所提供的预设调度指标预测模型。
[0211] 在训练时,可以利用随机梯度下降优化,损失函数为均方误差,网络输入为RGB三通道图像数据,网络输出为I*1的模型重要度打分(多个训练调度指标)。例如,多模型调度模块调度5个模型,则输入某张图片后得到的输出可能为[0.34,0.12,0.86,0.66,0.07]。在训练完之后,可以利用多模型调度模块打分的顺序(模型指标序列)和正确标注的值的排序(预设模型指标序列)之间的最短移动距离作为评估指标,来评估多模型调度模块的效果。
[0212] 在实际使用时,当前端将视频(待生成视频)发送给后台(标签生成设备)之后,后台会自动提取视频的关键帧(至少一个待分类视频帧)。然后用训练好的多模型调度模块(预设调度指标预测模型)来为各个模型进行打分,依据打分分数(模型调度指标)为关键帧确定出重要模型(目标模型)。在确定出重要模型时,后台可以将关键帧只送入前n/2个模型(最高的预设数量的模型调度指标所对应的分类模型),或者是只送入得分在0.5分(预设好的指标阈值)的模型,还可以是针对关键帧,取两个指标获得模型较多的作为标准。在实际预测中,还可以按照模型对应中的图片数量顺序倒序运行各个模型(按照执行顺序进行分类识别)。这里,各个模型队列可以串行运算。另外,在按照图片数量顺序倒序运算各个模型时,若是在某个模型已经达到最大耗时设定(当前识别完成时间大于或等于预设好的最大时间)时,则在该模型之后的模型,可以不再允许。
[0213] 当模型预测完成时,就可以得到关键帧的标签了,后台将该标签传给前端,前端可以依据传回的标签,以“如意贴”的形式在关键帧加入广告。图11是本申请实施例提供的实际场景中为关键帧加入广告的示意图,当关键帧11-1的标签为瑜伽运动11-2时,前端可以在关键帧11-1上添加有关于运动的广告11-3:运动给您品质生活。
[0214] 通过上述方式,后台能够从各个模型中,为关键帧选取重要的模型,从而仅利用重要的模型来对关键帧进行分类识别,减少了需要对关键帧进行识别处理的模型的数量,同时保证了生成的标签的有效程度,提高了标签生成的效率。
[0215] 下面继续说明本申请实施例提供的标签生成装置255的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器250的标签生成装置255中的软件模块可以包括:
[0216] 提取模块2551,用于当接收到待生成视频时,从所述待生成视频中提取出至少一个待分类视频帧;所述至少一个待分类视频帧为所述待生成视频中的关键帧;
[0217] 预测模块2552,用于获取全量分类模型,并针对所述至少一个待分类视频帧中的每个待分类视频帧,确定出所述全量分类模型所对应的多个模型调度指标;其中,所述多个模型调度指标中的每个模型调度指标表征所述全量分类模型中的每个分类模型对所述至少一个待分类视频帧中的所述每个待分类视频帧的重要程度;所述全量分类模型包括至少一个分类模型;
[0218] 模型确定模块2553,用于基于所述多个模型调度指标,从所述全量分类模型中为所述每个待分类视频帧确定出与所述每个待分类视频帧对应的目标模型;
[0219] 识别模块2554,用于利用所述每个待分类视频帧对应的所述目标模型,对所述每个待分类视频帧进行识别,得到所述每个待分类视频帧的识别标签。
[0220] 在本申请的一些实施例中,所述模型确定模块2553,具体用于对所述每个待分类视频帧的多个模型调度指标进行排序,其中所述每个待分类视频帧的多个模型调度指标表征所述全量分类模型中的各个分类模型对所述每个待分类视频帧的重要程度;将所述每个待分类视频帧的多个模型调度指标中最高的预设数量的模型调度指标所对应的分类模型,作为所述每个待分类视频帧对应的目标模型。
[0221] 在本申请的一些实施例中,所述全量分类模型中的每个分类模型具有对应于所述至少一个待分类视频帧的模型调度指标;所述模型确定模块2553,具体用于将所述多个模型调度指标中与所述每个待分类视频帧对应的模型调度指标,与预设好的指标阈值进行比较,得到比较结果;从所述全量分类模型中,挑选出所述比较结果表征所述模型调度指标大于所述预设好的指标阈值的分类模型,作为所述每个待分类视频帧对应的目标模型。
[0222] 在本申请的一些实施例中,所述识别模块2554,具体用于确定每个目标模型对应的待分类视频帧作为目标视频帧;对所述每个目标模型的所述目标视频帧的数量进行统计,得到所述每个目标模型的目标视频帧数量;利用所述目标视频帧数量,为所述每个目标模型确定出对应的执行顺序;按照所述执行顺序,利用所述每个目标模型对与所述每个目标模型对应的所述目标视频帧进行识别,得到所述目标视频帧对应的识别标签;当对所述每个目标模型所对应的所述目标视频帧识别之后,得到所述每个待分类视频帧对应的识别标签。
[0223] 在本申请的一些实施例中,所述识别模块2554,还具体用于将所述执行顺序与预设顺序进行比较,得到顺序比较结果;所述顺序比较结果表征所述执行顺序与所述预设顺序的前后关系;当所述顺序比较结果表征所述执行顺序在所述预设顺序之前时,利用所述每个目标模型对与所述每个目标模型对应的所述目标视频帧进行识别,得到所述目标视频帧对应的识别标签;当所述顺序比较结果表征所述执行顺序在所述预设顺序之后时,结束利用所述每个目标模型对所述每个目标模型对应的所述目标视频帧进行识别。
[0224] 在本申请的一些实施例中,所述识别模块2554,还具体用于当利用当前顺序所对应的当前目标模型,对所述当前目标模型所对应的所述当前目标视频帧识别完成时,获取所述当前目标模型对应的当前识别完成时间;所述当前顺序为所述每个目标模型对应的所述执行顺序中的任意一个;当所述当前识别完成时间大于或等于预设好的最大时间时,停止利用所述当前顺序的下一个顺序所对应的下一个目标模型,对所述下一个目标模型对应的目标视频帧进行识别。
[0225] 在本申请的一些实施例中,所述模型确定模块2553,具体用于针对所述每个待分类视频帧,利用预设调度指标预测模型,预测出所述全量分类模型中的所述每个分类模型所对应的模型调度指标;当对所述全量分类模型均完成模型调度指标的预测时,得到所述全量分类模型所对应的所述多个模型调度指标。
[0226] 在本申请的一些实施例中,所述标签生成设备255还包括:模型训练模块2555;
[0227] 所述模型训练模块2555,用于获取初始预测模型、历史视频帧、多个历史标签数据、所述多个历史标签数据对应的多个标签收益指标,以及所述全量分类模型对应的全量模型速度;其中,所述历史视频帧为历史时间利用所述全量分类模型进行分类的视频帧,所述多个历史标签数据为利用所述全量分类模型对所述历史视频帧进行识别所得到的标签数据,所述多个历史标签数据和所述多个标签收益指标一一对应;所述全量模型速度包括所述每个分类模型对所述历史视频帧的预测速度;利用所述多个历史标签数据、所述多个标签收益指标和所述全量模型速度,针对所述历史视频帧构造出所述全量分类模型所对应的多个训练调度指标;所述多个训练调度指标中的每个训练调度指标和所述全量分类模型中的每个分类模型一一对应;利用所述历史视频帧和所述多个训练调度指标,对所述初始预测模型进行训练,直至达到训练停止条件时,得到所述预设调度指标预测模型。
[0228] 在本申请的一些实施例中,所述多个历史标签数据中的每个历史标签数据包括标签置信度和标签准确度;所述模型训练模块2555,具体用于针对所述全量分类模型中的当前分类模型,从所述多个历史标签数据提取出当前历史标签数据,以及从所述全量模型速度中提取出当前模型速度;所述当前分类模型为所述全量分类模型中的任意一个;利用所述当前历史标签对应的当前标签收益指标、所述当前历史标签数据的当前标签准确度、当前标签置信度和所述当前模型速度,构造出所述当前分类模型对应的训练调度指标;当为所述全量分类模型均构造出对应的训练调度指标时,得到所述多个训练调度指标。
[0229] 在本申请的一些实施例中,所述模型训练模块2555,还用于针对所述测试视频帧,利用所述预设调度指标预测模型,预测出所述全量分类模型所对应的多个测试模型调度指标,并对所述多个测试模型指标进行排序,得到模型指标序列;获取所述测试视频帧对应的预设模型指标序列;所述预设模型指标序列表征所述全量分类模型中的所述每个分类模型对所述测试视频帧的重要程度的真实顺序;依据所述模型指标序列和所述预设模型指标序列,确定出所述预设调度指标预测模型的预测准确度;当所述预测准确度小于预设好的准确度阈值时,重新利用所述历史视频帧和所述多个训练调度指标,对所述初始预测模型进行训练,直至达到训练停止条件,得到最新的调度指标预测模型;
[0230] 相应的,所述识别模块2554,还用于针对所述每个待分类视频帧,利用所述最新的调度指标预测模型,预测出所述全量分类模型中的所述每个分类模型所对应的所述模型调度指标。
[0231] 本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的标签生成方法。
[0232] 本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行标签生成指令,当可执行标签生成指令被处理器执行时,将引起处理器执行本申请实施例提供的标签生成方法,例如,如图4、图5或图8示出的方法。
[0233] 在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0234] 在一些实施例中,可执行标签生成指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0235] 作为示例,可执行标签生成指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0236] 作为示例,可执行标签生成指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0237] 以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。