基于人工智能的场景分类方法、装置及电子设备转让专利

申请号 : CN202110534639.8

文献号 : CN112949620B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭卉

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

摘要 :

本申请提供了一种基于人工智能的场景分类方法、装置、电子设备及计算机可读存储介质;方法包括:针对第一场景类别的图像样本,获取图像样本的第二场景类别;图像样本的第二场景类别是图像样本的第一场景类别的子场景类别;基于第一场景类别、第二场景类别,联合训练第一场景分类模型、第二场景分类模型、第三场景分类模型;第一场景分类模型用于识别第一场景类别,第二场景分类模型用于识别第二场景类别,第三场景分类模型是基于第一场景分类模型以及第二场景分类模型组合得到的;通过训练后的第三场景分类模型对待分类图像进行场景分类处理,得到待分类图像对应的第一场景类别。通过本申请,能够通过细粒度的场景识别提高场景分类准确度。

权利要求 :

1.一种基于人工智能的场景分类方法,其特征在于,包括:针对第一场景类别的多个图像样本,获取每个所述图像样本的至少一个第二场景类别;

其中,每个所述图像样本的至少一个第二场景类别是所述图像样本的第一场景类别的子场景类别;

针对每个所述图像样本执行以下处理:通过第一场景分类模型获取所述图像样本的第一分类特征以及预标记第一场景类别的第一预测概率,通过第二场景分类模型获取所述图像样本的第二分类特征以及预标记第二场景类别的第二预测概率;

通过第三场景分类模型的第三分类网络,将所述第一分类特征以及所述第二分类特征的拼接处理结果映射为所述图像样本的预标记第一场景类别的第三预测概率;

基于所述多个图像样本的第一预测概率、第二预测概率以及第三预测概率、所述多个图像样本的预标记第一场景类别和预标记第二场景类别,确定联合损失,并基于所述联合损失更新所述第一场景分类模型、所述第二场景分类模型以及所述第三场景分类模型的参数;

其中,所述第一场景分类模型用于识别不同的所述第一场景类别,所述第二场景分类模型用于识别不同的所述第二场景类别,所述第三场景分类模型是基于所述第一场景分类模型以及所述第二场景分类模型组合得到的;

通过训练后的所述第三场景分类模型对待分类图像进行场景分类处理,得到所述待分类图像在不同的所述第一场景类别中对应的第一场景类别。

2.根据权利要求1所述的方法,其特征在于,所述针对第一场景类别的多个图像样本,获取每个所述图像样本的至少一个第二场景类别,包括:通过所述第一场景分类模型,获取每个所述图像样本的第一分类特征;

针对每个所述第一场景类别执行以下处理:从所述多个图像样本中获取属于所述第一场景类别的图像样本,作为目标图像样本,并基于多个所述目标图像样本的第一分类特征,对多个所述目标图像样本进行聚类处理,得到与至少一个所述第二场景类别一一对应的至少一个聚类;

基于所述至少一个聚类,确定每个所述图像样本的第二场景类别。

3.根据权利要求2所述的方法,其特征在于,所述获取每个所述图像样本的第一分类特征,包括:

针对每个所述图像样本执行以下处理:提取所述图像样本的第一卷积特征,并对所述图像样本的第一卷积特征进行池化处理,得到所述图像样本的第一池化特征;

对所述第一池化特征进行多次残差迭代处理,得到所述图像样本的残差迭代处理结果;

对所述图像样本的残差迭代处理结果进行最大池化处理,得到所述图像样本的最大池化处理结果;

对所述图像样本的最大池化处理结果进行第一嵌入处理,得到所述图像样本的第一分类特征。

4.根据权利要求2所述的方法,其特征在于,所述基于多个所述目标图像样本的第一分类特征,对多个所述目标图像样本进行聚类处理,得到与至少一个所述第二场景类别一一对应的至少一个聚类,包括:

将多个所述目标图像样本组成目标图像样本集合;

从所述目标图像样本集合中随机选择N个目标图像样本,将对应所述N个目标图像样本的第一分类特征作为多个聚类的初始质心,并将所述N个目标图像样本从所述目标图像样本集合移除,其中,N为对应所述第一场景类别的第二场景类别的数目,N为大于或者等于2的整数;

初始化聚类处理的迭代次数为M,并建立对应每个所述聚类的空的集合,其中,M为大于或者等于2的整数;

在所述聚类处理的每一次迭代过程中执行以下处理:对每个所述聚类的集合进行更新处理,并基于更新处理结果执行质心生成处理,得到每个所述聚类的新质心,当所述新质心不同于所述初始质心时,将所述初始质心对应的目标图像样本再次添加至所述目标图像样本集合,并基于所述新质心更新所述初始质心;

将迭代M次后得到的每个所述聚类的集合确定为聚类处理结果,或者,将迭代m次后得到的每个所述聚类的集合确定为聚类处理结果;

其中,迭代m次后得到的多个聚类与迭代m‑1次后得到的多个聚类的质心相同,m为整数变量且取值满足2≤m≤M。

5.根据权利要求4所述的方法,其特征在于,所述对每个所述聚类的集合进行更新处理,并基于更新处理结果执行质心生成处理,得到每个所述聚类的新质心,包括:针对每个所述目标图像样本执行以下处理:确定所述目标图像样本的第一分类特征与每个所述聚类的初始质心之间的相似度;

将最大相似度对应的初始质心确定为与所述目标图像样本属于相同聚类,并将所述目标图像样本转移至最大相似度初始质心对应的聚类的集合,所述最大相似度初始质心为最大的所述相似度对应的初始质心;

将每个所述聚类的集合中每个目标图像样本的第一分类特征进行平均处理,得到每个所述聚类的新质心。

6.根据权利要求4所述的方法,其特征在于,所述基于所述至少一个聚类,确定每个所述图像样本的第二场景类别,包括:针对每个所述聚类执行以下处理:将每个所述聚类中的每个目标图像样本的第一分类特征进行平均处理,得到每个所述聚类的质心;

针对所述多个图像样本中的每个所述图像样本执行以下处理:确定所述图像样本的第一分类特征与每个所述聚类的质心之间的特征距离,将小于特征距离阈值的特征距离对应的质心的聚类,确定为与所述图像样本关联的聚类,并将所述聚类对应的第二场景类别确定为所述图像样本的第二场景类别。

7.根据权利要求6所述的方法,其特征在于,在将小于特征距离阈值的特征距离对应的质心的聚类,确定为与所述图像样本关联的聚类之前,所述方法还包括:针对每个所述第一场景类别执行以下处理:从数据库中查询所述第一场景类别的标记准确度;

获取与所述标记准确度正相关的第一场景类别阈值;确定属于所述第一场景类别的所述目标图像样本在所述多个图像样本中的数目占比,并将所述数目占比作为所述第一场景类别阈值的权重;

基于每个所述第一场景类别阈值的权重,对多个所述第一场景类别阈值进行加权求和处理,得到所述特征距离阈值。

8.根据权利要求7所述的方法,其特征在于,所述获取与所述标记准确度正相关的第一场景类别阈值,包括:

针对每个所述目标图像样本,确定所述目标图像样本的第一分类特征与每个所述聚类的质心的候选中心距离,并将最小的候选中心距离确定为所述目标图像样本的中心距离;

获取与所述标记准确度正相关的升序排序位置,并对多个所述目标图像样本的中心距离进行升序排序;

获取升序排序结果中对应所述升序排序位置的中心距离,并将所述中心距离确定为所述第一场景类别阈值。

9.根据权利要求2所述的方法,其特征在于,所述第一场景分类模型包括特征网络、第一特征处理网络、以及对应所述第一场景类别的第一分类网络;

所述通过所述第一场景分类模型,获取每个所述图像样本的第一分类特征之前,所述方法还包括:

通过所述特征网络对所述图像样本进行特征提取处理,得到所述图像样本的最大池化处理结果;

通过所述第一特征处理网络对所述图像样本的最大池化处理结果进行第一嵌入处理,得到所述图像样本的第一分类特征;

通过所述第一分类网络将所述第一分类特征映射为所述图像样本的预标记第一场景类别的第一预测概率;

基于所述第一预测概率、以及所述图像样本的预标记第一场景类别,确定所述图像样本的第一分类损失;

根据所述图像样本的第一分类损失,更新所述第一场景分类模型的参数。

10.根据权利要求1所述的方法,其特征在于,所述第一场景分类模型分别与所述第二场景分类模型以及所述第三场景分类模型共享所述第一场景分类模型的特征网络,所述第一场景分类模型与所述第三场景分类模型共享所述第一场景分类模型的第一特征处理网络,所述第二场景分类模型与所述第三场景分类模型共享所述第二场景分类模型的第二特征处理网络;

所述通过第一场景分类模型获取所述图像样本的第一分类特征以及预标记第一场景类别的第一预测概率,包括:

通过所述特征网络对所述图像样本进行特征提取处理,得到所述图像样本的最大池化处理结果;

通过所述第一场景分类模型的第一特征处理网络对所述图像样本的最大池化处理结果进行第一嵌入处理,得到所述图像样本的第一分类特征;

通过所述第一分类网络将所述第一分类特征映射为所述图像样本的预标记第一场景类别的第一预测概率;

所述通过第二场景分类模型获取所述图像样本的第二分类特征以及预标记第二场景类别的第二预测概率,包括:

通过所述第二特征处理网络对所述图像样本的最大池化处理结果进行第二嵌入处理,得到所述图像样本的第二分类特征,并通过所述第二场景分类模型的第二分类网络将所述第二分类特征映射为所述图像样本的至少一个预标记第二场景类别的第二预测概率。

11.根据权利要求1所述的方法,其特征在于,所述基于所述多个图像样本的第一预测概率、第二预测概率以及第三预测概率、所述多个图像样本的预标记第一场景类别和预标记第二场景类别,确定联合损失,包括:基于所述第一预测概率、以及所述图像样本的预标记第一场景类别,确定第一分类损失;

基于所述第三预测概率、以及所述图像样本的预标记第一场景类别,确定第三分类损失;

基于至少一个所述第二预测概率,以及所述图像样本的至少一个预标记第二场景类别,确定第二分类损失;

对所述第一分类损失、所述第二分类损失以及所述第三分类损失进行融合处理,得到所述联合损失。

12.一种基于人工智能的场景分类装置,其特征在于,包括:获取模块,用于针对第一场景类别的多个图像样本,获取每个所述图像样本的至少一个第二场景类别;

其中,每个所述图像样本的至少一个第二场景类别是所述图像样本的第一场景类别的子场景类别;

训练模块,用于针对每个所述图像样本执行以下处理:通过第一场景分类模型获取所述图像样本的第一分类特征以及预标记第一场景类别的第一预测概率,通过第二场景分类模型获取所述图像样本的第二分类特征以及预标记第二场景类别的第二预测概率;

通过第三场景分类模型的第三分类网络,将所述第一分类特征以及所述第二分类特征的拼接处理结果映射为所述图像样本的预标记第一场景类别的第三预测概率;

基于所述多个图像样本的第一预测概率、第二预测概率以及第三预测概率、所述多个图像样本的预标记第一场景类别和预标记第二场景类别,确定联合损失,并基于所述联合损失更新所述第一场景分类模型、所述第二场景分类模型以及所述第三场景分类模型的参数;

其中,所述第一场景分类模型用于识别不同的所述第一场景类别,所述第二场景分类模型用于识别不同的所述第二场景类别,所述第三场景分类模型是基于所述第一场景分类模型以及所述第二场景分类模型组合得到的;

应用模块,用于通过训练后的所述第三场景分类模型对待分类图像进行场景分类处理,得到所述待分类图像在不同的所述第一场景类别中对应的第一场景类别。

13.一种电子设备,其特征在于,包括:存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的基于人工智能的场景分类方法。

14.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至11任一项所述的基于人工智能的场景分类方法。

说明书 :

基于人工智能的场景分类方法、装置及电子设备

技术领域

[0001] 本申请涉及人工智能技术,尤其涉及一种基于人工智能的场景分类方法、装置、电子设备及计算机可读存储介质。

背景技术

[0002] 人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理
论、方法和技术及应用系统。
[0003] 图像理解的典型任务是对图像场景进行识别,例如,针对视频而言,需要针对视频内剧情发生的场景进行识别,通过理解视频中剧情发生的场景,确定视频的标签,从而进行
高效率的视频推荐,例如,针对手机拍摄的相片而言,需要针对相片的场景进行识别,通过
理解相片的场景,确定相片的标签,从而提高相片分类存储的效率。
[0004] 但是相关技术的场景识别粒度无法满足实际应用中高准确度的场景识别要求。

发明内容

[0005] 本申请实施例提供一种基于人工智能的场景分类方法、装置、电子设备及计算机可读存储介质,能够提高对图像进行场景识别的准确度。
[0006] 本申请实施例的技术方案是这样实现的:
[0007] 本申请实施例提供一种基于人工智能的场景分类方法,包括:
[0008] 针对第一场景类别的多个图像样本,获取每个所述图像样本的至少一个第二场景类别;
[0009] 其中,每个所述图像样本的至少一个第二场景类别是所述图像样本的第一场景类别的子场景类别;
[0010] 基于所述多个图像样本的第一场景类别、以及所述多个图像样本的第二场景类别,联合训练第一场景分类模型、第二场景分类模型以及第三场景分类模型;
[0011] 其中,所述第一场景分类模型用于识别不同的所述第一场景类别,所述第二场景分类模型用于识别不同的所述第二场景类别,所述第三场景分类模型是基于所述第一场景
分类模型以及所述第二场景分类模型组合得到的;
[0012] 通过训练后的所述第三场景分类模型对待分类图像进行场景分类处理,得到所述待分类图像在不同的所述第一场景类别中对应的第一场景类别。
[0013] 本申请实施例提供一种基于人工智能的场景分类装置,包括:
[0014] 获取模块,用于针对第一场景类别的多个图像样本,获取每个所述图像样本的至少一个第二场景类别;
[0015] 其中,每个所述图像样本的至少一个第二场景类别是所述图像样本的第一场景类别的子场景类别;
[0016] 训练模块,用于基于所述多个图像样本的第一场景类别、以及所述多个图像样本的第二场景类别,联合训练第一场景分类模型、第二场景分类模型以及第三场景分类模型;
[0017] 其中,所述第一场景分类模型用于识别不同的所述第一场景类别,所述第二场景分类模型用于识别不同的所述第二场景类别,所述第三场景分类模型是基于所述第一场景
分类模型以及所述第二场景分类模型组合得到的;
[0018] 应用模块,用于通过训练后的所述第三场景分类模型对待分类图像进行场景分类处理,得到所述待分类图像在不同的所述第一场景类别中对应的第一场景类别。
[0019] 在上述方案中,所述获取模块,还用于:通过所述第一场景分类模型,获取每个所述图像样本的第一分类特征;针对每个所述第一场景类别执行以下处理:从所述多个图像
样本中获取属于所述第一场景类别的图像样本,作为目标图像样本,并基于多个所述目标
图像样本的第一分类特征,对多个所述目标图像样本进行聚类处理,得到与至少一个所述
第二场景类别一一对应的至少一个聚类;基于所述至少一个聚类,确定每个所述图像样本
的第二场景类别。
[0020] 在上述方案中,所述获取模块,还用于:针对每个所述图像样本执行以下处理:提取所述图像样本的第一卷积特征,并对所述图像样本的第一卷积特征进行池化处理,得到
所述图像样本的第一池化特征;对所述第一池化特征进行多次残差迭代处理,得到所述图
像样本的残差迭代处理结果;对所述图像样本的残差迭代处理结果进行最大池化处理,得
到所述图像样本的最大池化处理结果;对所述图像样本的最大池化处理结果进行第一嵌入
处理,得到所述图像样本的第一分类特征。
[0021] 在上述方案中,所述获取模块,还用于:将所述多个目标图像样本组成目标图像样本集合;从所述目标图像样本集合中随机选择N个目标图像样本,将对应所述N个目标图像
样本的第一分类特征作为多个聚类的初始质心,并将所述N个目标图像样本从所述目标图
像样本集合移除,其中,N为对应所述第一场景类别的第二场景类别的数目,N为大于或者等
于2的整数;初始化聚类处理的迭代次数为M,并建立对应每个所述聚类的空的集合,其中,M
为大于或者等于2的整数;在所述聚类处理的每一次迭代过程中执行以下处理:对每个所述
聚类的集合进行更新处理,并基于更新处理结果执行质心生成处理,得到每个所述聚类的
新质心,当所述新质心不同于所述初始质心时,将所述初始质心对应的目标图像样本再次
添加至所述目标图像样本集合,并基于所述新质心更新所述初始质心;将迭代M次后得到的
每个所述聚类的集合确定为聚类处理结果,或者,将迭代m次后得到的每个所述聚类的集合
确定为聚类处理结果;其中,迭代m次后得到的多个聚类与迭代m‑1次后得到的多个聚类的
质心相同,m小于M,m为整数变量且取值满足2≤m≤M。
[0022] 在上述方案中,所述获取模块,还用于:针对所述目标图像样本集合中每个所述目标图像样本执行以下处理:确定所述目标图像样本的第一分类特征与每个所述聚类的初始
质心之间的相似度;将最大相似度对应的初始质心确定为与所述目标图像样本属于相同聚
类,并将所述目标图像样本转移至最大相似度初始质心对应的聚类的集合,所述最大相似
度初始质心为最大的所述相似度对应的初始质心;将每个所述聚类的集合中每个目标图像
样本的第一分类特征进行平均处理,得到每个所述聚类的新质心。
[0023] 在上述方案中,所述获取模块,还用于:针对每个所述聚类执行以下处理:将每个所述聚类中的每个目标图像样本的第一分类特征进行平均处理,得到每个所述聚类的质
心;针对所述多个图像样本中的每个所述图像样本执行以下处理:确定所述图像样本的第
一分类特征与每个所述聚类的质心之间的特征距离,将小于特征距离阈值的特征距离对应
的质心的聚类,确定为与所述图像样本关联的聚类,并将所述聚类对应的第二场景类别确
定为所述图像样本的第二场景类别。
[0024] 在上述方案中,所述获取模块,还用于:在将小于特征距离阈值的特征距离对应的质心的聚类,确定为与所述目标图像样本关联的聚类之前,针对每个所述第一场景类别执
行以下处理:从数据库中查询所述第一场景类别的标记准确度;获取与所述标记准确度正
相关的第一场景类别阈值;确定属于所述第一场景类别的目标图像样本在所述多个图像样
本中的数目占比,并将所述数目占比作为所述第一场景类别阈值的权重;基于每个所述第
一场景类别阈值的权重,对多个所述第一场景类别阈值进行加权求和处理,得到所述特征
距离阈值。
[0025] 在上述方案中,所述获取模块,还用于:针对每个所述目标图像样本,确定所述目标图像样本的第一分类特征与每个所述聚类的质心的候选中心距离,并将最小的候选中心
距离确定为所述目标图像样本的中心距离;获取与所述标记准确度正相关的升序排序位
置,并对多个所述目标图像样本的中心距离进行升序排序;获取升序排序结果中对应所述
升序排序位置的中心距离,并所述中心距离确定为所述第一场景类别阈值。
[0026] 在上述方案中,所述第一场景分类模型包括特征网络、第一特征处理网络、以及对应所述第一场景类别的第一分类网络;所述获取模块,还用于:所述通过第一场景分类模
型,获取每个所述图像样本的第一分类特征之前,通过所述特征网络对所述图像样本进行
特征提取处理,得到所述图像样本的最大池化处理结果;通过所述第一特征处理网络对所
述图像样本的最大池化处理结果进行第一嵌入处理,得到所述图像样本的第一分类特征;
通过所述第一分类网络将所述第一分类特征映射为所述图像样本的预标记第一场景类别
的第一预测概率;基于所述第一预测概率、以及所述图像样本的预标记第一场景类别,确定
所述图像样本的第一分类损失;根据所述图像样本的第一分类损失,更新所述第一场景分
类模型的参数。
[0027] 在上述方案中,所述训练模块,还用于:针对每个所述图像样本执行以下处理:通过所述第一场景分类模型、所述第二场景分类模型以及所述第三场景分类模型对所述图像
样本进行场景分类处理,得到所述图像样本的场景分类结果;基于所述场景分类结果、所述
图像样本的预标记第一场景类别和所述图像样本的预标记第二场景类别,更新所述第一场
景分类模型、所述第二场景分类模型以及所述第三场景分类模型的参数。
[0028] 在上述方案中,所述第一场景分类模型分别与所述第二场景分类模型以及所述第三场景分类模型共享所述第一场景分类模型的特征网络,所述第一场景分类模型与所述第
三场景分类模型共享所述第一场景分类模型的第一特征处理网络,所述第二场景分类模型
与所述第三场景分类模型共享所述第二场景分类模型的第二特征处理网络;所述训练模
块,还用于:通过所述特征网络对所述图像样本进行特征提取处理,得到所述图像样本的最
大池化处理结果;通过所述第一场景分类模型的第一特征处理网络对所述图像样本的最大
池化处理结果进行第一嵌入处理,得到所述图像样本的第一分类特征;通过所述第一分类
网络将所述第一分类特征映射为所述图像样本的预标记第一场景类别的第一预测概率;通
过所述第二特征处理网络对所述图像样本的最大池化处理结果进行第二嵌入处理,得到所
述图像样本的第二分类特征,并通过所述第二场景分类模型的第二分类网络将所述第二分
类特征映射为所述图像样本的至少一个预标记第二场景类别的第二预测概率;对所述第一
分类特征以及所述第二分类特征进行拼接处理,并通过所述第三场景分类模型的第三分类
网络将拼接处理结果映射为所述图像样本的预标记第一场景类别的第三预测概率;将所述
第一预测概率、所述第二预测概率以及所述第三预测概率,组合为所述图像样本的场景分
类结果。
[0029] 在上述方案中,所述训练模块,还用于:基于所述第一预测概率、以及所述图像样本的预标记第一场景类别,确定第一分类损失;基于所述第三预测概率、以及所述图像样本
的预标记第一场景类别,确定第三分类损失;基于至少一个所述第二预测概率,以及所述图
像样本的至少一个预标记第二场景类别,确定第二分类损失;对所述第一分类损失、所述第
二分类损失以及所述第三分类损失进行融合处理,得到联合损失;根据所述联合损失更新
所述第一场景分类模型、所述第二场景分类模型以及所述第三场景分类模型的参数。
[0030] 本申请实施例提供一种电子设备,包括:
[0031] 存储器,用于存储可执行指令;
[0032] 处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的基于人工智能的场景分类方法。
[0033] 本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的基于人工智能的场景分类方法。
[0034] 本申请实施例具有以下有益效果:
[0035] 从具有第一场景类别的标注的图像样本中挖掘出用于表征细粒度场景的场景标注(第二场景类别),从而可以同时基于第二场景类别以及第一场景类别进行训练,相当于
同时学习第一场景类别的特征表达以及细粒度场景的特征表达,由于第三场景分类模型是
基于第一场景分类模型以及第二场景分类模型组合得到的,从而训练得到的第三场景分类
模型兼具有第一场景类别以及细粒度场景类别(第二场景类别)的联合特征表达,从而有效
提升场景识别准确度。

附图说明

[0036] 图1是相关技术中场景分类方法的逻辑示意图;
[0037] 图2是本申请实施例提供的基于人工智能的场景分类系统的架构示意图;
[0038] 图3是本申请实施例提供的电子设备的结构示意图;
[0039] 图4A是本申请实施例提供的基于人工智能的场景分类方法的流程示意图;
[0040] 图4B是本申请实施例提供的基于人工智能的场景分类方法的步骤101的流程示意图;
[0041] 图4C是本申请实施例提供的基于人工智能的场景分类方法的步骤102的流程示意图;
[0042] 图5是本申请实施例提供的基于人工智能的场景分类方法的架构示意图;
[0043] 图6是本申请实施例提供的基于人工智能的场景分类方法的残差网络示意图;
[0044] 图7是本申请实施例提供的基于人工智能的场景分类方法的第二场景类别的示意图;
[0045] 图8是本申请实施例提供的基于人工智能的场景分类方法的处理流程图。

具体实施方式

[0046] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有
做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0047] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突
的情况下相互结合。
[0048] 在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定
的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的
顺序实施。
[0049] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,
不是旨在限制本申请。
[0050] 对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
[0051] 1)图像识别:图像识别是针对图像进行特定级别分类的技术,通常不考虑对象的特定实例,仅考虑对象的类别进行图像识别并给出对象所属类别,例如,将图像分类为人、
狗、猫、鸟等等,基于大型通用物体识别开源数据集ImageNet训练得到的模型能够识别出某
个物体是1000个类别中的哪一个。
[0052] 2)图像的多标签识别任务:识别出图像是否对应具有多个属性标签,例如,某图像具有多个属性标签,多标签识别任务用于判断该图像具有哪些属性标签。
[0053] 3)带噪识别:基于噪声样本进行图像识别任务的训练,噪声样本包括具有错误类别标注的样本、具有不准确类别标注的样本,例如,图像与类别标签不完全对应,两个类别
标签的概念具有部分重叠,图像具有上述两种类别标签的属性,但仅具有一种类别标签。
[0054] 4)ImageNet:大型通用物体识别开源数据集。
[0055] 5)ImageNet预训练模型:基于大型通用物体识别开源数据集ImageNet训练一个深度学习网络模型,上述经过训练的深度学习网络模型即为ImageNet预训练模型。
[0056] 相关技术中,视频理解的首要任务是对视频内剧情发生的场景进行识别,参见图1,图1是相关技术中场景分类方法的逻辑示意图,图1呈现了某个尺度的局部区域(显著区
域)提取过程,这里的局部区域实质上是图像的背景的显著区域,并不是图像的任意一个区
域均可以用于进行场景识别,对于图像X,根据潜在物体框的分布,计算场景中每个位置的
潜在物体密度,针对场景中潜在物体密度,利用滑动窗口计算图像中在窗口区域内的物体
密度,结合图像X以及潜在物体密度进行滑动窗口响应,从而将潜在物体密度最高的区域提
取出来作为局部区域,进而基于多尺度的局部区域进行特征学习,并基于特征学习结果进
行场景识别。
[0057] 相关技术中基于多尺度局部区域的特征学习的方式进行场景识别时,申请人发现存在以下技术问题:1、相关技术中的场景分类模型是二阶段模型,在训练过程以及推理过
程中,需要预先完成目标检测定位任务,然后再完成场景识别任务;2、相关技术中训练对应
目标检测定位任务的模型时,对所有可能出现在场景中的物体均需要进行标注,耗时耗力;
3、相关技术中并非所有场景都存在检测目标,例如,海边、森林等等,这些场景中不具备常
用的检测目标。
[0058] 申请人在实施本申请实施例时还发现场景识别中针对高层语义识别难度比针对通用物体识别难度更大,从而造成场景类别的语义模糊以致识别困难,例如,公园类别的图
像样本中可能包含湖景、林中小道、儿童游乐设施、公园健身区、公园草坪、公园树林等更精
准的场景,这些对象的联合可以组成公园类别,但只有1个对象出现时则有可能是噪声标
签,例如,图像中仅出现儿童游乐设施时,图像的场景不一定是公园类别,也可能是商业游
乐场类别,因此,由于场景类别下的细粒度场景类别并没有被标注出来,对场景识别造成语
义模糊的识别困难,申请人在实施本申请实施例时发现如何挖掘每个场景类别的隐式的细
粒度场景类别,并借助所挖掘的细粒度场景类别进行场景识别是亟待解决的技术问题。
[0059] 针对上述技术问题,本申请实施例提供一种基于人工智能的场景分类方法、装置、电子设备和计算机可读存储介质,能够挖掘第一场景类别下的细粒度场景类别,训练细粒
度场景类别的特征与第一场景类别的特征的联合表达能力,以有效提高场景识别准确度。
[0060] 本申请实施例提供的场景分类方法可以由各种电子设备实施,例如可以由终端或服务器单独实施,也可以由终端和服务器协同实施。
[0061] 参见图2,图2是本申请实施例提供的基于人工智能的场景分类系统的架构示意图,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者
的组合。
[0062] 在一些实施例中,基于人工智能的场景分类系统的功能是基于服务器200实现的,在用户使用终端400的过程中,终端400收集图像样本发送至服务器200,以使服务器200对
第一场景分类模型(用于识别不同的第一场景类别)、第二场景分类模型(用于识别不同的
第二场景类别)以及第三场景分类模型进行基于第一场景类别以及第二场景类别的训练,
将训练完成的第三场景分类模型集成在服务器200中,响应于终端400接收到用户所拍摄的
图像,终端400将图像发送至服务器200,服务器200通过第三场景分类模型确定出图像的场
景分类结果,并发送至终端400,以使终端400直接呈现场景分类结果。
[0063] 在一些实施例中,当场景分类系统应用于视频推荐场景时,终端400接收到将要上传的视频,终端400将视频发送至服务器200,服务器200通过第三场景分类模型确定出视频
中视频帧的场景分类结果以作为视频的场景分类结果,并基于场景分类结果对视频执行推
荐操作,以向终端400发送被推荐的视频,上传视频的终端和呈现场景分类结果的终端可以
相同或者不同。
[0064] 在一些实施例中,当场景分类系统应用于图像拍摄场景时,终端400接收到用户拍摄的图像,终端400将拍摄的图像发送至服务器200,服务器200通过第三场景分类模型确定
出图像的场景分类结果,并发送至终端400,以使终端400直接呈现场景分类结果,并按照对
应的场景分类结果对所拍摄的图像进行存储。
[0065] 在另一些实施例中,当本申请实施例提供的场景分类方法由终端单独实施时,在上文所描述的各种应用场景中,终端可以运行第三场景分类模型以确定出图像或者视频的
场景分类结果,并直接呈现场景分类结果。
[0066] 在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存
储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台
等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算
机、智能音箱、智能手表、智能电视、智能车载设备等,终端400上可以设有客户端,例如,视
频客户端、浏览器客户端、信息流客户端、图像拍摄客户端等等,但并不局限于此。终端以及
服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
[0067] 接下来,说明本申请实施例提供的用于实施基于人工智能的场景分类方法的电子设备的结构,如前,本申请实施例提供的电子设备可以是图2中的服务器200或终端400。参
见图3,图3是本申请实施例提供的电子设备的结构示意图,以该电子设备为服务器200为例
进行说明。图3所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口
220。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现
这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线
和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统240。
[0068] 处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者
晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理
器等。
[0069] 存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一
个或多个存储设备。
[0070] 存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可
以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器250旨在
包括任意适合类型的存储器。
[0071] 在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0072] 操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络
通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他电子设备,示例性
的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal 
Serial Bus)等。
[0073] 在一些实施例中,本申请实施例提供的基于人工智能的场景分类装置可以采用软件方式实现,图3示出了存储在存储器250中的基于人工智能的场景分类装置255,其可以是
程序和插件等形式的软件,包括以下软件模块:获取模块2551、训练模块2552以及应用模块
2553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将
在下文中说明各个模块的功能。
[0074] 将结合本申请实施例提供的服务器200的示例性应用和实施,说明本申请实施例提供的基于人工智能的场景分类方法。
[0075] 参见图5,图5是本申请实施例提供的基于人工智能的场景分类方法的架构示意图,架构示意图中包括基础模型(以下简称第一场景分类模型)、原型类别挖掘网络(对应原
型学习)、基于原型类别的第二场景分类模型、以及基于联合特征的第三场景分类模型,其
中,原型类别(以下简称第二场景类别)是第一场景类别的子场景,例如,第一场景类别是公
园类别,第二场景类别是湖泊、游乐场、步道等等,原型类别挖掘网络是获取图像的第二场
景标注类别的网络,第二场景分类模型具有识别不同的第二场景类别的能力,联合特征是
第二场景分类模型输出的第二分类特征与第一场景分类模型输出的第一分类特征拼接得
到的,第三场景分类模型具有识别不同的第一场景类别的能力,由于第三场景分类模型的
特征来源于另外两个场景分类模型,因此,可以同时学习到第一场景类别的特征表达以及
第二场景类别的特征表达。
[0076] 参见图4A,图4A是本申请实施例提供的基于人工智能的场景分类方法的流程示意图,将结合图4A示出的步骤101‑103进行说明。
[0077] 在步骤101中,针对第一场景类别的多个图像样本,获取每个图像样本的至少一个第二场景类别。
[0078] 作为示例,每个图像样本的至少一个第二场景类别是图像样本的第一场景类别的子场景类别,即第二场景类别是第一场景类别的子场景,例如,第一场景类别是公园类别,
第二场景类别是公园内的湖泊、游乐场、步道等等,第一场景类别是商场类别,第二场景类
别是商场内的自动扶梯、收银台、餐厅等等。步骤101是基于预标记有第一场景类别的多个
图像样本,挖掘出这些图像样本的第二场景类别,例如,存在100个图像样本,其中有30个图
像样本被预标记为公园类别的第一场景类别,有70个图像样本被预标记为商场类别的第一
场景类别,通过步骤101可以获取这100个图像样本中每个图像样本的第二场景类别,例如,
每个图像样本是否可以被标记为湖泊、游乐场等等,并且每个图像样本可以挖掘出一个第
二场景类别或者挖掘出多个(至少两个)第二场景类别。
[0079] 作为示例,在本申请实施例提供的基于人工智能的场景分类方法中,由于是通过无监督的聚类方式挖掘出每个图像样本的第二场景类别,因此,第二场景类别不会存在具
体的真实类别名称,即并不关注图像样本的第二场景类别是湖泊还是海洋,可以抽象的用
标识符号代替,只要在训练阶段进行第二场景类别识别时,将对应的图像样本映射到对应
的标识符号以获取对应的损失,即可以保证在实际学习过程中,第二场景分类模型以及第
三场景分类模型学习到了某个第二场景类别的实际特征表达,例如,针对第一场景类别A的
30个目标图像样本进行聚类,得到两个聚类,分别为对应第二场景类别C的聚类c以及对应
第二场景类别D的聚类d,虽然对于用户而言,并不明确第二场景类别C和D是否为湖泊或者
游乐场,但是可以确定第二场景类别C的聚类c对应的集合中的目标图像样本均是具有第二
场景类别C的对象,因此在训练时以将这些目标图像样本识别为第二场景类别C为目标进行
训练,可以充分学习到第二场景类别a的特征表达,从而实现无监督的第二场景类别挖掘。
[0080] 在一些实施例中,参见图4B,图4B是本申请实施例提供的基于人工智能的场景分类方法的步骤101的流程示意图,步骤101中针对第一场景类别的多个图像样本,获取每个
图像样本的至少一个第二场景类别,可以通过图4B的步骤1011‑1013实现。
[0081] 在步骤1011中,通过第一场景分类模型,获取多个图像样本中每个图像样本的第一分类特征。
[0082] 在一些实施例中,步骤1011中获取多个图像样本中每个图像样本的第一分类特征,可以通过以下技术方案实现:针对每个图像样本执行以下处理:提取图像样本的第一卷
积特征,并对图像样本的第一卷积特征进行池化处理,得到图像样本的第一池化特征;对第
一池化特征进行多次残差迭代处理,得到图像样本的残差迭代处理结果;对图像样本的残
差迭代处理结果进行最大池化处理,得到图像样本的最大池化处理结果;对图像样本的最
大池化处理结果进行第一嵌入处理,得到图像样本的第一分类特征。
[0083] 作为示例,图像样本输入卷积神经网络后进行特征提取处理,特征提取过程可以参见表1,首先通过表1中的卷积层Conv1提取图像样本的第一卷积特征,并通过表1中的卷
积层Conv2对图像样本的第一卷积特征进行池化处理,得到图像样本的第一池化特征,池化
处理可以为最大池化处理,再通过表1中的卷积层Conv2‑Conv5对第一池化特征进行多次残
差迭代处理,得到图像样本的残差迭代处理结果,通过表2中的池化层对残差迭代处理结果
进行最大池化处理,得到图像样本的最大池化结果,残差迭代处理结果是表1的特征提取结
果,第一场景分类模型的第一特征处理网络实践为第一特征处理层,通过表2中的第一特征
处理层(Embedding1)对最大池化结果进行全连接处理,得到第一分类特征。
[0084] 表1 ResNet‑101中卷积层结构表
[0085]
[0086] 表2 第一场景分类模型中除卷积层结构外的各层结构表
[0087]
[0088] 在一些实施例中,第一场景分类模型包括特征网络、第一特征处理网络、以及对应第一场景类别的第一分类网络;通过第一场景分类模型,获取多个图像样本中每个图像样
本的第一分类特征之前,通过特征网络对图像样本进行特征提取处理,得到图像样本的最
大池化处理结果;通过第一特征处理网络对图像样本的最大池化处理结果进行第一嵌入处
理,得到图像样本的第一分类特征;通过第一分类网络将第一分类特征映射为图像样本的
预标记第一场景类别的第一预测概率;基于第一预测概率、以及图像样本的预标记第一场
景类别,确定图像样本的第一分类损失;根据图像样本的第一分类损失,更新第一场景分类
模型的参数。
[0089] 作为示例,特征网络可以实践为表1中的层结构以及表2中的池化层Pool,第一特征处理网络可以实践为表2中的第一特征处理层Embedding1,第一分类网络可以实践为表2
中的第一分类层FC1,通过特征网络对图像样本进行特征提取处理,得到图像样本的最大池
化处理结果的过程,以及通过第一特征处理网络对图像样本的最大池化处理结果进行第一
嵌入处理,得到图像样本的第一分类特征的过程,可以参考步骤1011,通过表2中的第一分
类层(FC1)对第一分类特征进行全连接处理得到图像样本属于每个第一场景类别的第一预
测概率,第一场景类别的数目为P,P为正整数,将图像样本的预标记第一场景类别的第一预
测概率代入交叉熵损失函数,得到第一分类损失,以反向更新第一场景分类模型的参数,反
向更新时可以仅更新第一分类层以及第一特征处理层的参数,通过正向传播以及基于梯度
下降法的反向更新,完成第一场景分类模型的训练,其中,第一特征处理层是全连层,输出
1024维的第一分类特征,卷积层Conv1‑Conv5可以采用在ImageNet数据集上预训练的
ResNet101的参数,对新添加的层(例如,Embedding1以及FC1)采用方差为0.01,均值为0的
高斯分布进行初始化。可以使用不同的网络结构、不同的预训练模型权重作为第一场景分
类模型。经过上述训练过程得到的第一场景分类模型具备识别P个第一场景类别的场景识
别能力。
[0090] 在步骤1012中,针对每个第一场景类别执行以下处理:从多个图像样本中获取属于第一场景类别的图像样本,作为目标图像样本,并基于多个目标图像样本的第一分类特
征,对多个目标图像样本进行聚类处理,得到与至少一个第二场景类别一一对应的至少一
个聚类。
[0091] 承接上述示例,存在100个图像样本,其中有30个图像样本被预标记为公园类别的第一场景类别(下文简称为第一场景类别A),有70个图像样本被预标记为商场类别的第一
场景类别(下文简称为第一场景类别B),针对第一场景类别A,获取100个图像样本中被预标
记为第一场景类别A的图像样本,作为步骤1012实施过程中的目标图像样本,接着基于30个
被预标记为第一场景类别A的目标图像样本的第一分类特征,对30个目标图像样本进行聚
类处理,得到与至少一个第二场景类别一一对应的至少一个聚类,基于上述过程,完成了针
对第一场景类别A的聚类处理,从而得到第一场景类别A下的至少一个第二场景类别。
[0092] 在一些实施例中,步骤1012中基于多个目标图像样本的第一分类特征,对多个目标图像样本进行聚类处理,得到与至少一个第二场景类别一一对应的至少一个聚类,可以
通过以下技术方案实现:将多个目标图像样本组成目标图像样本集合;从目标图像样本集
合中随机选择N个目标图像样本,将对应N个目标图像样本的第一分类特征作为多个聚类的
初始质心,并将N个目标图像样本从目标图像样本集合移除,其中,N为对应第一场景类别的
第二场景类别的数目,N为大于或者等于2的整数;初始化聚类处理的迭代次数为M,并建立
对应每个聚类的空的集合,其中,M为大于或者等于2的整数;在聚类处理的每一次迭代过程
中执行以下处理:对每个聚类的集合进行更新处理,并基于更新处理结果执行质心生成处
理,得到每个聚类的新质心,当新质心不同于初始质心时,将初始质心对应的目标图像样本
再次添加至目标图像样本集合,并基于新质心更新初始质心;将迭代M次后得到的每个聚类
的集合确定为聚类处理结果,或者,将迭代m次后得到的每个聚类的集合确定为聚类处理结
果;其中,迭代m次后得到的多个聚类与迭代m‑1次后得到的多个聚类的质心相同,m小于M,m
为整数变量且取值满足2≤m≤M。
[0093] 在一些实施例中,上述对每个聚类的集合进行更新处理,并基于更新处理结果执行质心生成处理,得到每个聚类的新质心,可以通过以下技术方案实现:针对目标图像样本
集合中每个目标图像样本执行以下处理:确定目标图像样本的第一分类特征与每个聚类的
初始质心之间的相似度;将最大相似度对应的初始质心确定为与目标图像样本属于相同聚
类,并将目标图像样本转移至最大相似度初始质心对应的聚类的集合,最大相似度初始质
心为最大的相似度对应的初始质心;将每个聚类的集合中每个目标图像样本的第一分类特
征进行平均处理,得到每个聚类的新质心。
[0094] 承接上述示例,针对第一场景类别A,存在30个目标图像样本,第二场景类别的预设数目为2,则聚类处理的目标是将30个目标图像样本分为两个聚类,每个聚类存在对应的
集合,每个集合中包括对应聚类的目标图像样本,首先随机选择2个目标图像样本的第一分
类特征分别作为两个聚类的初始质心,针对剩余的28个目标图像样本,计算每个目标图像
样本与2个初始质心的相似度,例如采取L2距离来评估相似度,例如,对于目标图像样本E,
它的第一分类特征与初始质心a的距离较近,则将目标图像样本E分配到初始质心a所对应
的聚类的集合中,针对28个目标图像样本均执行分配操作后,针对每个聚类重新计算对应
的新质心,若两个聚类的新质心相同或者新质心与初始质心的相似度大于相似度阈值,则
可以直接将每个集合确定为聚类处理结果,若两个聚类的新质心不相同,且新质心与初始
质心的相似度不大于相似度阈值,则继续利用新质心更新初始质心,并再次针对质心对应
的目标图像样本之外的目标图像样本进行分配操作,例如,原来的初始质心a被新质心代替
后,原来的初始质心a对应的目标图像样本属于质心对应的目标图像样本之外的目标图像
样本,需要再次参与到分配过程中,直到满足两个聚类的新质心相同,或者新质心与初始质
心的相似度大于相似度阈值,或者迭代了指定次数。
[0095] 在步骤1013中,基于至少一个聚类,确定每个图像样本的第二场景类别。
[0096] 在一些实施例中,上述基于至少一个聚类,确定每个图像样本的第二场景类别,可以通过以下技术方案实现:针对每个聚类执行以下处理:将每个聚类中的每个目标图像样
本的第一分类特征进行平均处理,得到每个聚类的质心;针对多个图像样本中的每个图像
样本执行以下处理:确定图像样本的第一分类特征与每个聚类的质心之间的特征距离,将
小于特征距离阈值的特征距离对应的质心的聚类,确定为与图像样本关联的聚类,并将聚
类对应的第二场景类别确定为图像样本的第二场景类别。
[0097] 承接上述示例,通过步骤1012可以得到第一场景类别A的至少一个与第二场景类别一一对应的聚类、以及第一场景类别B的至少一个与第二场景类别一一对应的聚类,若每
个第一场景类别下的第二场景类别的数目均为2,则通过步骤1012共得到4个聚类,分别对
应4个第二场景类别。步骤1013中至少一个聚类指的是针对所有第一场景类别获得的聚类,
针对100个图像样本,需要确定每个图像样本所对应的第二场景类别,因此首先确定每个第
二场景类别对应的聚类的质心,例如,针对第二场景类别C,存在有对应的聚类的集合c,集
合c中包括10个目标图像样本,由于已经预先获得了100个图像样本的第一分类特征,并且
目标图像样本是来自于图像样本,因此直接对10个目标图像样本的第一分类特征进行平均
处理,得到第二场景类别C对应的聚类的质心,该质心能够表征第二场景类别C的特征表达,
对某个图像样本F,确定该图像样本F与4个第二场景类别的4个质心之间的特征距离,特征
距离可以通过L2距离进行度量,或者通过余弦距离进行度量,将特征距离小于特征距离阈
值的质心对应的第二场景类别确定为图像样本F的第二场景类别。
[0098] 在一些实施例中,在将小于特征距离阈值的特征距离对应的质心的聚类,确定为与图像样本关联的聚类之前,针对每个第一场景类别执行以下处理:从数据库中查询第一
场景类别的标记准确度;获取与标记准确度正相关的第一场景类别阈值;确定属于第一场
景类别的目标图像样本在多个图像样本中的数目占比,并将数目占比作为第一场景类别阈
值的权重;基于每个第一场景类别阈值的权重,对多个第一场景类别阈值进行加权求和处
理,得到特征距离阈值。
[0099] 承接上述示例,通过特征距离阈值来对特征距离进行评估,小于特征距离阈值,则认为特征距离对应的质心对应的第二场景类别是该图像样本的第二场景类别,因此特征距
离阈值对于第二场景类别挖掘的准确度非常重要,由于特征距离阈值是适用于全部图像样
本以及全部第二场景类别的阈值数据,因此需要综合考虑所有的第一场景类别的标注准确
度,来确定特征距离阈值,由于标注准确度越高则表征对应第一场景类别下进行聚类处理
得到的第二场景类别的聚类的集合越准确,由此看出,若标注准确度高的第一场景类别的
图像样本的数目越多,则特征距离阈值可以越高,若标注准确度低的第一场景类别的图像
样本的数目越多,则特征距离阈值需要适当降低,以防止将第二场景类别关联到图像样本
时发生错误。
[0100] 承接上述示例,针对每个第一场景类别执行以下处理,例如,针对第一场景类别A执行以下处理:从数据库中查询第一场景类别A的标记准确度,例如,30个标记为第一场景
类别A的图像样本中存在3个图像样本实际上不属于第一场景类别A,获取与标记准确度90%
正相关的第一场景类别阈值90%,确定属于第一场景类别的目标图像样本在多个图像样本
中的数目占比,标记为第一场景类别A的图像样本的数目占比为30%,并将数目占比作为第
一场景类别阈值的权重,即将0.3作为标记准确度90%的权重,通过上述过程还得到了第一
场景类别B的标记准确度80%、与标记准确度80%正相关的第一场景类别阈值80%,标记为第
一场景类别B的图像样本的数目占比为70%,基于每个第一场景类别阈值的权重,对多个第
一场景类别阈值进行加权求和处理,得到特征距离阈值,因此对标记准确度80%以及标记准
确度90%进行加权求和,得到特征距离阈值0.83。
[0101] 在一些实施例中,上述获取与标记准确度正相关的第一场景类别阈值,可以通过以下技术方案实现:针对每个目标图像样本,确定目标图像样本的第一分类特征与每个聚
类的质心的候选中心距离,并将最小的候选中心距离确定为目标图像样本的中心距离;获
取与标记准确度正相关的升序排序位置,并对多个目标图像样本的中心距离进行升序排
序;获取升序排序结果中对应升序排序位置的中心距离,并将中心距离确定为第一场景类
别阈值。
[0102] 承接上述实施例,继续针对第一场景类别A,通过具体步骤确定第一场景类别阈值,所确定的第一场景类别阈值与标记准确度正相关,存在标记为第一场景类别A的30个目
标图像样本,经过步骤1012的聚类处理后得到第一场景类别A下的两个第二场景类别的聚
类,针对目标图像样本E,确定目标图像样本的第一分类特征与两个第二场景类别的聚类中
每个聚类的质心的候选中心距离,例如,确定出目标图像样本E与某个第二场景类别的质心
的候选中心距离为0.7,确定出目标图像样本E与另一个第二场景类别的质心的候选中心距
离为0.8,并将最小的候选中心距离0.7确定为目标图像样本E的中心距离,对30个目标图像
样本执行上述处理,从而获取了30个目标图像样本的中心距离,获取与标记准确度正相关
的升序排序位置,例如,标记准确度是80%,与标记准确度正相关的升序排序位置是30个目
标图像样本中的第24位,并对多个目标图像样本的中心距离进行升序排序,将30个目标图
像样本的中心距离进行从小到大的升序排序,获取升序排序结果中对应第24位的中心距
离,并将第24位的中心距离确定为第一场景类别阈值。
[0103] 在步骤102中,基于多个图像样本的第一场景类别、以及多个图像样本的第二场景类别,联合训练第一场景分类模型、第二场景分类模型以及第三场景分类模型。
[0104] 作为示例,第一场景分类模型用于识别不同的第一场景类别,第二场景分类模型用于识别不同的第二场景类别,第三场景分类模型是基于第一场景分类模型以及第二场景
分类模型组合得到的。
[0105] 在一些实施例中,参见图4C,图4C是本申请实施例提供的基于人工智能的场景分类方法的步骤102的流程示意图,步骤102中基于多个图像样本的第一场景类别、以及多个
图像样本的第二场景类别,联合训练第一场景分类模型、第二场景分类模型以及第三场景
分类模型,可以针对每个图像样本执行图4C示出的步骤1021‑1022实现。
[0106] 在步骤1021中,通过第一场景分类模型、第二场景分类模型以及第三场景分类模型对图像样本进行场景分类处理,得到图像样本的场景分类结果。
[0107] 在一些实施例中,第一场景分类模型分别与第二场景分类模型以及第三场景分类模型共享第一场景分类模型的特征网络,第一场景分类模型与第三场景分类模型共享第一
场景分类模型的第一特征处理网络,第二场景分类模型与第三场景分类模型共享第二场景
分类模型的第二特征处理网络;步骤1021中通过第一场景分类模型、第二场景分类模型以
及第三场景分类模型对图像样本进行场景分类处理,得到图像样本的场景分类结果,可以
通过以下技术方案实现:通过特征网络对图像样本进行特征提取处理,得到图像样本的最
大池化处理结果;通过第一场景分类模型的第一特征处理网络对图像样本的最大池化处理
结果进行第一嵌入处理,得到图像样本的第一分类特征;通过第一分类网络将第一分类特
征映射为图像样本的预标记第一场景类别的第一预测概率;通过第二特征处理网络对图像
样本的最大池化处理结果进行第二嵌入处理,得到图像样本的第二分类特征,并通过第二
场景分类模型的第二分类网络将第二分类特征映射为图像样本的至少一个预标记第二场
景类别的第二预测概率;对第一分类特征以及第二分类特征进行拼接处理,并通过第三场
景分类模型的第三分类网络将拼接处理结果映射为图像样本的预标记第一场景类别的第
三预测概率;将第一预测概率、第二预测概率以及第三预测概率,组合为图像样本的场景分
类结果。
[0108] 作为示例,参见图5,第一场景分类模型分别与第二场景分类模型以及第三场景分类模型共享第一场景分类模型的特征网络(卷积神经网络),第一场景分类模型与第三场景
分类模型共享第一场景分类模型的第一特征处理网络(Embedding1),第二场景分类模型与
第三场景分类模型共享第二场景分类模型的第二特征处理网络(Embedding2),图像样本输
入卷积神经网络后进行特征提取处理,特征提取过程可以参见表1以及表2,首先通过表1中
的卷积层Conv1提取图像样本的第一卷积特征,并通过表1中的卷积层Conv2对图像样本的
第一卷积特征进行池化处理,得到图像样本的第一池化特征,池化处理可以为最大池化处
理,再通过表1中的卷积层Conv2‑Conv5对第一池化特征进行多次残差迭代处理,得到图像
样本的残差迭代处理结果,通过表2中的池化层对残差迭代处理结果进行最大池化处理,残
差迭代处理结果是表1的特征提取结果,得到图像样本的最大池化结果,通过表2中的第一
特征处理层(Embedding1)对最大池化结果进行第一嵌入处理,第一嵌入处理实际上是全连
接处理,得到第一分类特征,第一场景分类模型的第一分类网络实施为第一分类层,同样
的,通过表3中的池化层对残差迭代处理结果进行最大池化处理,残差迭代处理结果是表1
的特征提取结果,得到图像样本的最大池化结果,再通过表2中的第一分类层(FC1)对第一
分类特征进行全连接处理,映射得到图像样本属于每个第一场景类别的第一预测概率,其
中就包括预标记的第一场景类别的第一预测概率(对应第一分类损失),第一场景类别的数
目为P个,P为正整数,针对第二场景分类模型,通过表3中的第二特征处理层(Embedding2)
对图像样本的最大池化结果进行第二嵌入处理,第二嵌入处理实际上是全连接处理,得到
第二分类特征,第二场景分类模型的第二分类网络实施为第二分类层,再通过表3中的第二
分类层(FC2)对第二分类特征进行全连接处理,映射得到图像样本属于每个第二场景类别
的第二预测概率,其中就包括预标记的第二场景类别的第二预测概率(对应第二分类损
失),第二场景类别的数目为K*P个,K为正整数,K为每个第一场景类别下的第二场景类别的
数目。
[0109] 表3 第二场景分类模型中除卷积层结构外的各层结构表
[0110]
[0111] 作为示例,针对第三场景分类模型,第三分类网络实施为第三分类层FC3,将第一分类特征和第二分类特征进行拼接处理,再通过表4中的第三分类层(FC3)对拼接处理结果
进行全连接处理得到图像样本属于每个第一场景类别的第三预测概率,其中就包括预标记
第一场景类别的第三预测概率(对应第三分类损失),第一场景类别的数目为P个。
[0112] 表4 第三场景分类模型中第三分类网络的各层结构表
[0113]
[0114] 在步骤1022中,基于多个图像样本的场景分类结果、图像样本的预标记第一场景类别和图像样本的预标记第二场景类别,更新第一场景分类模型、第二场景分类模型以及
第三场景分类模型的参数。
[0115] 在一些实施例中,步骤1022中基于多个图像样本的场景分类结果、图像样本的预标记第一场景类别和图像样本的预标记第二场景类别,更新第一场景分类模型、第二场景
分类模型以及第三场景分类模型的参数,可以通过以下技术方案实现:基于第一预测概率、
以及图像样本的预标记第一场景类别,确定第一分类损失;基于第三预测概率、以及图像样
本的预标记第一场景类别,确定第三分类损失;基于至少一个第二预测概率,以及图像样本
的至少一个预标记第二场景类别,确定第二分类损失;对第一分类损失、第二分类损失以及
第三分类损失进行融合处理,得到联合损失;根据联合损失更新第一场景分类模型、第二场
景分类模型以及第三场景分类模型的参数。
[0116] 作为示例,针对第一场景分类模型,第一分类损失为交叉熵损失函数,参见公式(1):
[0117]                                                 (1);
[0118] 其中,输入具有预标记的第一场景类别的图像样本, 为图像样本的预标记第一场景类别, 为FC1层预测的第一预测概率,E为第一分类损失,nclass表征n个第一场景类
别,i为图像样本的标识。
[0119] 作为示例,采用至少一个二分类的交叉熵损失函数作为对应FC2的输出的第二分类损失,以下为某个第二场景类别的二分类的交叉熵损失函数,参见公式(2):
[0120]                              (2);
[0121] 其中, 为图像样本i针对某一个第二场景类别的损失, 为FC2输出的对应预标记第二场景类别的第二预测概率, 为图像样本的真实标签,若图像样本的真
实标签为预标记第二场景类别,则 为1,若图像样本的真实标签不为预标记的第二场景
类别,则 为0。
[0122] 作为示例,对于图像样本F而言,该图像样本F具有2个第二场景类别(例如,湖泊以及步道),则分别获取这两个第二场景类别的二分类的交叉熵损失函数,再进行求和处理,
得到第二分类损失。
[0123] 作为示例,第三场景分类模型的第三分类损失与第一分类损失类似,联合训练的整体损失为第一分类损失、第二分类损失以及第三分类损失的联合。
[0124] 在一些实施例中,进行参数更新时,可以同时更新第一场景分类模型、第二场景分类模型以及第三场景分类模型的参数,也可以仅更新第二场景分类模型的第二特征处理网
络的参数、第二分类网络的参数、第三场景分类模型的第三分类网络的参数,从而有效提高
训练效率。
[0125] 在步骤103中,通过训练后的第三场景分类模型对待分类图像进行场景分类处理,得到待分类图像在不同的第一场景类别中对应的第一场景类别。
[0126] 作为示例,通过训练后的第三场景分类模型对待分类图像进行场景分类处理时,实际上是通过第三场景分类模型的第三分类网络对第一分类特征以及第二分类特征的拼
接处理结果进行全连接处理,映射为图像样本属于每个第一场景类别的第三预测概率,在
应用阶段会保留图5所示的框架中的卷积神经网络(特征网络)、第一特征处理网络、第二特
征处理网络以及第三分类网络。
[0127] 下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
[0128] 在一些实施例中,本申请实施例提供的基于人工智能的场景分类方法应用于视频推荐应用场景,终端将待发布的视频上传至服务器,服务器针对视频的关键视频帧进行场
景分类处理,得到关键视频帧的场景分类结果,将关键视频帧的场景分类结果作为待发布
视频的属性标签,并将视频发布且推荐至用户画像与属性标签相符的用户。
[0129] 参见图5,架构示意图中包括基础模型(以下简称第一场景分类模型)、原型类别挖掘网络、基于原型类别的第二场景分类模型、以及基于联合特征的第三场景分类模型,其
中,原型类别(以下简称第二场景类别)是第一场景类别的子场景,例如,第一场景类别是公
园类别,第二场景类别是湖泊、游乐场、步道等等,原型类别挖掘网络是获取图像的第二场
景标注类别的网络,第二场景分类模型具有识别不同的第二场景类别的能力,联合特征是
第二场景分类模型输出的第二分类特征与第一场景分类模型输出的第一分类特征拼接得
到的,第三场景分类模型具有识别不同的第一场景类别的能力,由于第三场景分类模型的
特征来源于另外两个场景分类模型,因此,可以同时学习到第一场景类别的特征表达以及
第二场景类别的特征表达。
[0130] 在一些实施例中,图像F输入卷积神经网络后进行特征提取处理,特征提取过程可以参见表1,通过表2中的池化层对表1的特征提取结果进行最大池化处理,得到图像F的最
大池化结果,通过表2中的第一特征处理层Embedding1对最大池化结果进行全连接处理,得
到第一分类特征,再通过表2中的第一分类层FC1对第一分类特征进行全连接处理得到图像
F属于每个第一场景类别的第一预测概率,第一场景类别的数目为P,P为正整数,上述过程
是第一场景分类模型的正向传播的过程,将图像F的预标记第一场景类别的第一预测概率
代入交叉熵损失函数,以反向更新第一场景分类模型的参数,反向更新时可以仅更新第一
分类层以及第一特征处理层的参数,通过正向传播以及基于梯度下降法的反向更新,完成
第一场景分类模型的训练,其中,第一特征处理层是全连层,输出1024维的第一分类特征,
卷积层Conv1‑Conv5采用在ImageNet数据集上预训练的ResNet101的参数,对新添加的层
(例如,Embedding1以及FC1)采用方差为0.01,均值为0的高斯分布进行初始化。可以使用不
同的网络结构、不同的预训练模型权重作为第一场景分类模型。
[0131] 参见图6,图6是本申请实施例提供的基于人工智能的场景分类方法的残差网络示意图,表1中残差模块的结构参见图6中的残差网络,残差网络的输入是256维,经过三个不
同尺寸卷积核的卷积处理,将卷积处理结果与输入进行相加作为下一个残差模块的输入,
其中,relu代表激活函数,表征进行激活处理。残差网络由三个卷积层、融合算子以及激活
函数构成,对某个残差网络的输出以及该残差网络的输入进行融合处理,例如通过加法算
子进行相加处理,得到融合处理结果;对融合处理结果进行激活处理,激活处理通过relu激
活函数完成,通过卷积层对激活处理结果进行多尺寸的卷积处理,例如,进行三个层次的卷
积处理,随着网络深度的增加,训练会变得愈加困难,主要是因为在基于随机梯度下降的网
络训练过程中,误差信号的多层反向传播非常容易引发梯度弥散或者梯度爆炸的现象,图6
所示的残差网络解决了网络深度带来的训练困难的问题,它的网络性能(完成任务的准确
度和精度)较高。
[0132] 在一些实施例中,在训练完成第一场景分类模型后,从已经学习到的第一特征处理层挖掘第二场景类别,第二场景类别的挖掘是对各第一场景类别进行原型抽取,得到每
个第一场景类别的场景内更细粒度的子场景,从而对第一场景类别进行更细粒度的场景特
征抽取,每个第一场景类别预定义K个第二场景类别的数量(例如,K=10),对于第一场景类
别数量为P时,共需要得到K*P个第二场景类别的数量,具体过程如下:通过第一场景分类模
型对多个图像中每个图像进行前向计算,得到每个图像的第一分类特征(Embedding1的输
出),针对某个第一场景类别进行以下处理:以第一场景类别是公园类别为例,对标记为公
园类别的图像的第一分类特征进行聚类处理,例如,K‑means聚类处理,得到K个聚类Si,对
应存在K个聚类中心,对标记为公园类别的所有图像计算中心距离,例如,针对图像F,需要
计算图像F的第一分类特征与K个聚类中心的距离,并将与K个聚类中心的K个距离中最近的
距离Di作为图像F的中心距离,将所有图像的中心距离Di进行升序排列,将升序排列的第x%
位距离作为公园类别的阈值thri,并保存数据(thri,Pi),其中Pi为标记为公园类别的图像
的数量,例如,x%为80%,若有10个样本,则阈值thri是从升序排序后的第8个值,x%为集中在
聚类中心的图像数量比例,x%可以是预先设定的值,若标注为公园类别的所有图像的标注
都是正确的,即不存在标注为公园实际上是商场这种情形,则x%可以预设为90%或以上,表
示90%数据都能正确归到公园类别下的第二场景类别的聚类中心,阈值表征公园类别下进
行正确聚类的最大图像数目,通常x%避免预设为100%,目的是去除一些难样本,例如,处于
两个聚类边界的图像,预设难样本比例不超过10%,若超过根据需要调整x%,若某个类别标
注有40%错误,则将x%预设为50%,表示将第50%位的图像的中心距离作为公园类别的类别阈
值,对所有第一场景类别进行上述处理,最终得到K*P个聚类中心以及对应的K*P个(thri,
Pi)数据,通过加权求和的方式确定图像划分阈值,例如,针对K*P个(thri,Pi)数据,计算
thri*Pi/P的加和结果,以得到图像划分阈值Thr,例如,公园类别的图像占图像总数量的1/
5,公园类别的类别阈值为第80%位对应的中心距离0.6,商场类别的图像占图像总数量的4/
5,商场类别的类别阈值为第90%位对应的中心距离0.8,则将0.6乘以1/5得到0.12,将0.8乘
以4/5得到0.64,最后得到的图像划分阈值为0.76,,最后对所有图像,确定对应归属的聚类
中心,例如,对图像F,计算图像F对K*P个聚类中心的距离,将距离小于图像划分阈值的聚类
中心记录为图像F的聚类中心(假设有3个),为该图像F保存3个第二场景类别,并且3个第二
场景类别的权重相同,从而得到所有图像的第二场景类别。
[0133] 在一些实施例中,每个第一场景类别下的第二场景类别的数量指定为K,也可根据第一场景类别的复杂度,对第二场景类别的数量进行调整,可以确定与第一场景类别的数
据量正相关的第二场景类别的数量,如具有1000和2000个样本的第一场景类别A和第二场
景类别B,B的第二场景类别的数量为A的第二场景类别的数量的2倍。
[0134] 通过第一分类特征进行第一场景类别中原型类别(第二场景类别)的挖掘,从而把一个混合复杂细粒度场景类别的图像映射到更特定的子场景中,方便一个第一场景类别中
多个不同的第二场景类别的共性特征可以分别得到学习。
[0135] 在一些实施例中,参见图7,图7是本申请实施例提供的基于人工智能的场景分类方法的第二场景类别的示意图,从第一场景类别中可以挖掘出细粒度的第二场景类别,例
如,第一场景类别(公园)下具有更精确的第二场景类别,第二场景类别包括:湖景、小道、儿
童设施、花坛等。
[0136] 在一些实施例中,在训练完成第一场景分类模型,并且挖掘出每个图像的第二场景类别后,联合训练第一场景分类模型、第二场景分类模型以及第三场景分类模型,其中,
联合训练时,第一场景分类模型的正向传播过程与上述过程类似,针对第二场景分类模型,
通过表3中的第二特征处理层(Embedding2)对第一场景分类模型输出的图像样本的最大池
化结果进行全连接处理,得到第二分类特征,再通过表3中的第二分类层(FC2)对第二分类
特征进行全连接处理得到图像F属于每个第二场景类别的第二预测概率,第二场景类别的
数目为K*P个,K为正整数,K为每个第一场景类别下的第二场景类别的数目,上述过程是第
二场景分类模型的正向传播的过程。
[0137] 在一些实施例中,针对第三场景分类模型,将第一分类特征和第二分类特征进行拼接处理,再通过表4中的第三分类层(FC3)对拼接处理结果进行全连接处理得到图像F属
于每个第一场景类别的第三预测概率,上述过程是第三场景分类模型的正向传播的过程。
第二分类特征以嵌入的形式合并到第一分类特征中,使的粗粒度的第一场景类别的第一分
类特征与更具有共性的第二分类特征联合驱动场景分类任务。
[0138] 在一些实施例中,基于联合训练时第一场景分类模型正向传播得到的第一预测概率、第二场景分类模型正向传播得到的第二预测概率以及第三场景分类模型正向传播得到
的第三预测概率,确定各个场景分类模型的损失,针对第一场景分类模型,第一分类损失为
交叉熵损失函数,参见公式(3):
[0139]                                                 (3);
[0140] 其中,输入具有预标记的第一场景类别的图像, 为图像的预标记第一场景类别,为FC1层预测的第一预测概率,E为第一分类损失,nclass表征n个第一场景类别,i为图
像的标识。
[0141] 针对第二场景分类模型,由于进行原型挖掘时已经为每个图像获取到多个第二场景类别,故图像可能有多个第二场景类别,将每个第二场景类别视作多标签类别中的一个
标签,采用多个二分类的交叉熵损失函数作为对应FC2的输出的第二分类损失,以下为某个
第二场景类别的二分类的交叉熵损失函数,参见公式(4):
[0142]                              (4);
[0143] 其中, 为图像i针对某一个第二场景类别的损失, 为FC2输出的对应预标记第二场景类别的第二预测概率, 为图像的真实标签,若图像的真实标签为预标
记第二场景类别,则 为1,若图像的真实标签不为预标记的第二场景类别,则 为0。
[0144] 在一些实施例中,对于K*P个第二场景类别,对K*P个二分类的交叉熵损失函数求和得到第二分类损失,对于图像F而言,该图像具有2个第二场景类别(例如,湖泊以及步
道),则分别获取这两个第二场景类别的二分类的交叉熵损失函数,再进行求和处理,得到
第二分类损失。
[0145] 针对第三场景分类模型,第三场景分类模型实际上是全特征分类模型,全特征指兼顾第一场景分类模型的第一分类特征和第二场景分类模型的第二分类特征的第三分类
特征,FC3的作用是把第三分类特征映射到P个不同的第一场景类别,故第三场景分类模型
的第三分类损失与第一分类损失类似,联合训练的整体损失为第一分类损失、第二分类损
失以及第三分类损失之和,从而保证所学习到的第三场景分类模型既学习到细粒度的原型
特征(第二分类特征)的特征表达,也学习到场景分类特征(第一分类特征)的特征表达。
[0146] 在联合训练阶段进行参数更新时,同时更新Embedding1、Embedding2、FC1、FC2、FC3的参数,即同时学习第一场景分类、第二场景分类以及第三场景分类,其中,第三场景分
类模型作为要学习的目标分类器,其采用Embedding1和Embedding2的输出拼接作为第三分
类特征,输出为P个需要学习的第一场景类别。
[0147] 在联合训练阶段,加载上阶段已经训练好的第一场景分类模型的参数,借梯度下降算法进行模型参数更新,对比第一阶段仅需要训练第一场景分类模型,本阶段还需要另
外学习Embedding2、FC2、FC3等网络层,其中,将Embedding1(1*1024)的输出和Embedding2
(1*1024)的输出进行拼接,得到第三分类特征(1*2048)作为FC3的输入,Embedding1的输出
代表单纯采用针对识别第一场景类别所需要用到的第一分类特征、Embedding2的输出代表
场景中具体某些原型特征(即可以根据原型特征区分细粒度的第二场景类别),两者合并实
现两种类型特征的联合。
[0148] 在应用时仅取FC3的输出结果作为预测的各个第一场景类别的概率,采用最大似然函数获得具有最大的第一预测概率对应的第一场景类别作为场景分类结果。
[0149] 在一些实施例中,可以对场景分类模型进行带噪训练,并将带噪训练得到的场景分类模型搭载于云服务器,以提供场景识别服务,参见图8,图8是本申请实施例提供的基于
人工智能的场景分类方法的处理流程图,终端A接收到用户输入的图像,然后上传给服务
器,服务器使用本申请实施例提供的第三场景分类模型对用户输入的图像进行场景分类,
将场景分类结果输出到终端B进行对应显示,终端B是区别于终端A的终端,例如,终端A将图
像上传至服务器以进行发布,终端B接收服务器下发的图像以及对应图像的分类结果。
[0150] 在一些实施例中,通过挖掘原始类别原型(第二场景类别),建立第二场景类别的特征学习,从而使得训练得到的第三场景分类模型更容易捕捉到第二场景类别的共性特
征,并支持到整体的场景识别中,在模型学习中得到更充分的类别信息,本申请实施例提供
的基于人工智能的场景分类方法具有以下优势:1)通过聚类处理进行无监督的第二场景类
别挖掘,在不需要人力标注第二场景类别的情况下即可以进行识别第二场景类别的学习任
务;2)通过第二场景类别的动态自监督学习逐渐优化第二场景类别的特征表达;3)通过对
第二场景类别的第二分类特征与第一场景类别的第一分类特征进行联合,使得第三场景分
类模型针对第一场景类别的识别效果提升;4)在有限增加复杂度的情况下(对比第一场景
分类模型,仅增加了Embedding 2、FC2、以及FC3)下得到联合训练框架。
[0151] 相比于相关技术中的方案,本申请实施例提供的基于人工智能的场景分类方法不需要显式学习检测模型,从而在不增加模型推理复杂度的同时提升泛化能力,避免了为训
练检测器而需要预先标注检测数据集造成额外标注的成本,通过在训练阶段对第一场景类
别进行无监督的第二场景类别多实例建模,强化模型对多个第二场景类别的特征表达,借
助第二场景类别实现第一场景类别的多实例分析,使得每个图像都可以映射到第二场景类
别这样的精准类别上,从而可以区分图像的噪声标签以及第二场景类别,有助于特征的共
性抽取,通过联合第一分类特征这样的基础特征与第二分类特征这样的多实例特征,实现
隐性的多实例特征与基础特征联合,从而获得多个场景样式的表征。
[0152] 下面继续说明本申请实施例提供的基于人工智能的场景分类装置255实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器250的基于人工智能的场景
分类装置255中的软件模块可以包括:获取模块2551,用于针对第一场景类别的多个图像样
本,获取每个图像样本的至少一个第二场景类别;其中,每个图像样本的至少一个第二场景
类别是图像样本的第一场景类别的子场景类别;训练模块2552,用于基于多个图像样本的
第一场景类别、以及多个图像样本的第二场景类别,联合训练第一场景分类模型、第二场景
分类模型以及第三场景分类模型;其中,第一场景分类模型用于识别不同的第一场景类别,
第二场景分类模型用于识别不同的第二场景类别,第三场景分类模型是基于第一场景分类
模型以及第二场景分类模型组合得到的;应用模块2553,用于通过训练后的第三场景分类
模型对待分类图像进行场景分类处理,得到待分类图像在不同的第一场景类别中对应的第
一场景类别。
[0153] 在一些实施例中,获取模块2551,还用于:通过第一场景分类模型,获取每个图像样本的第一分类特征;针对每个第一场景类别执行以下处理:从多个图像样本中获取属于
第一场景类别的图像样本,作为目标图像样本,并基于多个目标图像样本的第一分类特征,
对多个目标图像样本进行聚类处理,得到与至少一个第二场景类别一一对应的至少一个聚
类;基于至少一个聚类,确定每个图像样本的第二场景类别。
[0154] 在一些实施例中,获取模块2551,还用于:针对每个图像样本执行以下处理:提取图像样本的第一卷积特征,并对图像样本的第一卷积特征进行池化处理,得到图像样本的
第一池化特征;对第一池化特征进行多次残差迭代处理,得到图像样本的残差迭代处理结
果;对图像样本的残差迭代处理结果进行最大池化处理,得到图像样本的最大池化处理结
果;对图像样本的最大池化处理结果进行第一嵌入处理,得到图像样本的第一分类特征。
[0155] 在一些实施例中,获取模块2551,还用于:将多个目标图像样本组成目标图像样本集合;从目标图像样本集合中随机选择N个目标图像样本,将对应N个目标图像样本的第一
分类特征作为多个聚类的初始质心,并将N个目标图像样本从目标图像样本集合移除,其
中,N为对应第一场景类别的第二场景类别的数目,N为大于或者等于2的整数;初始化聚类
处理的迭代次数为M,并建立对应每个聚类的空的集合,其中,M为大于或者等于2的整数;在
聚类处理的每一次迭代过程中执行以下处理:对每个聚类的集合进行更新处理,并基于更
新处理结果执行质心生成处理,得到每个聚类的新质心,当新质心不同于初始质心时,将初
始质心对应的目标图像样本再次添加至目标图像样本集合,并基于新质心更新初始质心;
将迭代M次后得到的每个聚类的集合确定为聚类处理结果,或者,将迭代m次后得到的每个
聚类的集合确定为聚类处理结果;其中,迭代m次后得到的多个聚类与迭代m‑1次后得到的
多个聚类的质心相同,m小于M,m为整数变量且取值满足2≤m≤M。
[0156] 在一些实施例中,获取模块2551,还用于:针对目标图像样本集合中每个目标图像样本执行以下处理:确定目标图像样本的第一分类特征与每个聚类的初始质心之间的相似
度;将最大相似度对应的初始质心确定为与目标图像样本属于相同聚类,并将目标图像样
本转移至最大相似度初始质心对应的聚类的集合,最大相似度初始质心为最大的相似度对
应的初始质心;将每个聚类的集合中每个目标图像样本的第一分类特征进行平均处理,得
到每个聚类的新质心。
[0157] 在一些实施例中,获取模块2551,还用于:针对多个聚类中的每个聚类执行以下处理:将每个聚类中的每个目标图像样本的第一分类特征进行平均处理,得到每个聚类的质
心;针对多个目标图像样本中的每个目标图像样本执行以下处理:确定目标图像样本的第
一分类特征与每个聚类的质心之间的特征距离,将小于特征距离阈值的特征距离对应的质
心的聚类,确定为与目标图像样本关联的聚类,并将聚类对应的第二场景类别确定为目标
图像样本的第二场景类别。
[0158] 在一些实施例中,获取模块2551,还用于:在将小于特征距离阈值的特征距离对应的质心的聚类,确定为与目标图像样本关联的聚类之前,从数据库中查询每个第一场景类
别的标记准确度;针对每个第一场景类别,获取与标记准确度正相关的第一场景类别阈值;
确定目标图像样本在多个图像样本中的数目占比,并将数目占比作为第一场景类别阈值的
权重;基于每个第一场景类别阈值的权重,对多个第一场景类别阈值进行加权求和处理,得
到特征距离阈值。
[0159] 在一些实施例中,获取模块2551,还用于:针对每个目标图像样本,确定目标图像样本的第一分类特征与每个聚类的质心的候选中心距离,并将最小的候选中心距离确定为
目标图像样本的中心距离;获取与标记准确度正相关的升序排序位置,并对多个目标图像
样本的中心距离进行升序排序;获取升序排序结果中对应升序排序位置的中心距离,并中
心距离确定为第一场景类别阈值。
[0160] 在一些实施例中,第一场景分类模型包括特征网络、第一特征处理网络、以及对应第一场景类别的第一分类网络;获取模块2551,还用于:通过第一场景分类模型,获取每个
图像样本的第一分类特征之前,通过特征网络对图像样本进行特征提取处理,得到图像样
本的最大池化处理结果;通过第一特征处理网络对图像样本的最大池化处理结果进行第一
嵌入处理,得到图像样本的第一分类特征;通过第一分类网络将第一分类特征映射为图像
样本的预标记第一场景类别的第一预测概率;基于第一预测概率、以及图像样本的预标记
第一场景类别,确定图像样本的第一分类损失;根据图像样本的第一分类损失,更新第一场
景分类模型的参数。
[0161] 在一些实施例中,训练模块2552,还用于:针对每个图像样本执行以下处理:通过第一场景分类模型、第二场景分类模型以及第三场景分类模型对图像样本进行场景分类处
理,得到图像样本的场景分类结果;基于场景分类结果、图像样本的预标记第一场景类别和
图像样本的预标记第二场景类别,更新第一场景分类模型、第二场景分类模型以及第三场
景分类模型的参数。
[0162] 在一些实施例中,第一场景分类模型分别与第二场景分类模型以及第三场景分类模型共享第一场景分类模型的特征网络,第一场景分类模型与第三场景分类模型共享第一
场景分类模型的第一特征处理网络,第二场景分类模型与第三场景分类模型共享第二场景
分类模型的第二特征处理网络;训练模块2552,还用于:通过特征网络对图像样本进行特征
提取处理,得到图像样本的最大池化处理结果;通过第一场景分类模型的第一特征处理网
络对图像样本的最大池化处理结果进行第一嵌入处理,得到图像样本的第一分类特征;通
过第一分类网络将第一分类特征映射为图像样本的预标记第一场景类别的第一预测概率;
通过第二特征处理网络对图像样本的最大池化处理结果进行第二嵌入处理,得到图像样本
的第二分类特征,并通过第二场景分类模型的第二分类网络将第二分类特征映射为图像样
本的至少一个预标记第二场景类别的第二预测概率;对第一分类特征以及第二分类特征进
行拼接处理,并通过第三场景分类模型的第三分类网络将拼接处理结果映射为图像样本的
预标记第一场景类别的第三预测概率;将第一预测概率、第二预测概率以及第三预测概率,
组合为图像样本的场景分类结果。
[0163] 在一些实施例中,训练模块2552,还用于:基于第一预测概率、以及图像样本的预标记第一场景类别,确定第一分类损失;基于第三预测概率、以及图像样本的预标记第一场
景类别,确定第三分类损失;基于至少一个第二预测概率,以及图像样本的至少一个预标记
第二场景类别,确定第二分类损失;对第一分类损失、第二分类损失以及第三分类损失进行
融合处理,得到联合损失;根据联合损失更新第一场景分类模型、第二场景分类模型以及第
三场景分类模型的参数。
[0164] 本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理
器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备
执行本申请实施例上述的基于人工智能的场景分类方法。
[0165] 本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,被处理器执行本申请实施例提供的基于人工智
能的场景分类方法。
[0166] 在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD‑ROM等存储器;也可以是包括上述存储器之一或任意组合的
各种设备。
[0167] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其
可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在
计算环境中使用的其它单元。
[0168] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text 
Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件
中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0169] 作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备
上执行。
[0170] 综上所述,通过本申请实施例从具有第一场景类别的标注的图像样本出挖掘出用于表征细粒度场景的场景标注(第二场景类别),从而可以同时基于第二场景类别以及第一
场景类别进行训练,相当于同时学习第一场景类别的特征表达以及细粒度场景的特征表
达,由于第三场景分类模型是基于第一场景分类模型以及第二场景分类模型组合得到的,
从而训练得到的第三场景分类模型兼具有第一场景类别以及细粒度场景类别(第二场景类
别)的联合特征表达,从而有效提升场景识别准确度。
[0171] 以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之
内。