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

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

Info

Publication number
CN112949620A
CN112949620A CN202110534639.8A CN202110534639A CN112949620A CN 112949620 A CN112949620 A CN 112949620A CN 202110534639 A CN202110534639 A CN 202110534639A CN 112949620 A CN112949620 A CN 112949620A
Authority
CN
China
Prior art keywords
scene
classification
classification model
image sample
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110534639.8A
Other languages
English (en)
Other versions
CN112949620B (zh
Inventor
郭卉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110534639.8A priority Critical patent/CN112949620B/zh
Publication of CN112949620A publication Critical patent/CN112949620A/zh
Application granted granted Critical
Publication of CN112949620B publication Critical patent/CN112949620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

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

Description

基于人工智能的场景分类方法、装置及电子设备
技术领域
本申请涉及人工智能技术,尤其涉及一种基于人工智能的场景分类方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用***。
图像理解的典型任务是对图像场景进行识别,例如,针对视频而言,需要针对视频内剧情发生的场景进行识别,通过理解视频中剧情发生的场景,确定视频的标签,从而进行高效率的视频推荐,例如,针对手机拍摄的相片而言,需要针对相片的场景进行识别,通过理解相片的场景,确定相片的标签,从而提高相片分类存储的效率。
但是相关技术的场景识别粒度无法满足实际应用中高准确度的场景识别要求。
发明内容
本申请实施例提供一种基于人工智能的场景分类方法、装置、电子设备及计算机可读存储介质,能够提高对图像进行场景识别的准确度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种基于人工智能的场景分类方法,包括:
针对第一场景类别的多个图像样本,获取每个所述图像样本的至少一个第二场景类别;
其中,每个所述图像样本的至少一个第二场景类别是所述图像样本的第一场景类别的子场景类别;
基于所述多个图像样本的第一场景类别、以及所述多个图像样本的第二场景类别,联合训练第一场景分类模型、第二场景分类模型以及第三场景分类模型;
其中,所述第一场景分类模型用于识别不同的所述第一场景类别,所述第二场景分类模型用于识别不同的所述第二场景类别,所述第三场景分类模型是基于所述第一场景分类模型以及所述第二场景分类模型组合得到的;
通过训练后的所述第三场景分类模型对待分类图像进行场景分类处理,得到所述待分类图像在不同的所述第一场景类别中对应的第一场景类别。
本申请实施例提供一种基于人工智能的场景分类装置,包括:
获取模块,用于针对第一场景类别的多个图像样本,获取每个所述图像样本的至少一个第二场景类别;
其中,每个所述图像样本的至少一个第二场景类别是所述图像样本的第一场景类别的子场景类别;
训练模块,用于基于所述多个图像样本的第一场景类别、以及所述多个图像样本的第二场景类别,联合训练第一场景分类模型、第二场景分类模型以及第三场景分类模型;
其中,所述第一场景分类模型用于识别不同的所述第一场景类别,所述第二场景分类模型用于识别不同的所述第二场景类别,所述第三场景分类模型是基于所述第一场景分类模型以及所述第二场景分类模型组合得到的;
应用模块,用于通过训练后的所述第三场景分类模型对待分类图像进行场景分类处理,得到所述待分类图像在不同的所述第一场景类别中对应的第一场景类别。
在上述方案中,所述获取模块,还用于:通过所述第一场景分类模型,获取每个所述图像样本的第一分类特征;针对每个所述第一场景类别执行以下处理:从所述多个图像样本中获取属于所述第一场景类别的图像样本,作为目标图像样本,并基于多个所述目标图像样本的第一分类特征,对多个所述目标图像样本进行聚类处理,得到与至少一个所述第二场景类别一一对应的至少一个聚类;基于所述至少一个聚类,确定每个所述图像样本的第二场景类别。
在上述方案中,所述获取模块,还用于:针对每个所述图像样本执行以下处理:提取所述图像样本的第一卷积特征,并对所述图像样本的第一卷积特征进行池化处理,得到所述图像样本的第一池化特征;对所述第一池化特征进行多次残差迭代处理,得到所述图像样本的残差迭代处理结果;对所述图像样本的残差迭代处理结果进行最大池化处理,得到所述图像样本的最大池化处理结果;对所述图像样本的最大池化处理结果进行第一嵌入处理,得到所述图像样本的第一分类特征。
在上述方案中,所述获取模块,还用于:将所述多个目标图像样本组成目标图像样本集合;从所述目标图像样本集合中随机选择N个目标图像样本,将对应所述N个目标图像样本的第一分类特征作为多个聚类的初始质心,并将所述N个目标图像样本从所述目标图像样本集合移除,其中,N为对应所述第一场景类别的第二场景类别的数目,N为大于或者等于2的整数;初始化聚类处理的迭代次数为M,并建立对应每个所述聚类的空的集合,其中,M为大于或者等于2的整数;在所述聚类处理的每一次迭代过程中执行以下处理:对每个所述聚类的集合进行更新处理,并基于更新处理结果执行质心生成处理,得到每个所述聚类的新质心,当所述新质心不同于所述初始质心时,将所述初始质心对应的目标图像样本再次添加至所述目标图像样本集合,并基于所述新质心更新所述初始质心;将迭代M次后得到的每个所述聚类的集合确定为聚类处理结果,或者,将迭代m次后得到的每个所述聚类的集合确定为聚类处理结果;其中,迭代m次后得到的多个聚类与迭代m-1次后得到的多个聚类的质心相同,m小于M,m为整数变量且取值满足2≤m≤M。
在上述方案中,所述获取模块,还用于:针对所述目标图像样本集合中每个所述目标图像样本执行以下处理:确定所述目标图像样本的第一分类特征与每个所述聚类的初始质心之间的相似度;将最大相似度对应的初始质心确定为与所述目标图像样本属于相同聚类,并将所述目标图像样本转移至最大相似度初始质心对应的聚类的集合,所述最大相似度初始质心为最大的所述相似度对应的初始质心;将每个所述聚类的集合中每个目标图像样本的第一分类特征进行平均处理,得到每个所述聚类的新质心。
在上述方案中,所述获取模块,还用于:针对每个所述聚类执行以下处理:将每个所述聚类中的每个目标图像样本的第一分类特征进行平均处理,得到每个所述聚类的质心;针对所述多个图像样本中的每个所述图像样本执行以下处理:确定所述图像样本的第一分类特征与每个所述聚类的质心之间的特征距离,将小于特征距离阈值的特征距离对应的质心的聚类,确定为与所述图像样本关联的聚类,并将所述聚类对应的第二场景类别确定为所述图像样本的第二场景类别。
在上述方案中,所述获取模块,还用于:在将小于特征距离阈值的特征距离对应的质心的聚类,确定为与所述目标图像样本关联的聚类之前,针对每个所述第一场景类别执行以下处理:从数据库中查询所述第一场景类别的标记准确度;获取与所述标记准确度正相关的第一场景类别阈值;确定属于所述第一场景类别的目标图像样本在所述多个图像样本中的数目占比,并将所述数目占比作为所述第一场景类别阈值的权重;基于每个所述第一场景类别阈值的权重,对多个所述第一场景类别阈值进行加权求和处理,得到所述特征距离阈值。
在上述方案中,所述获取模块,还用于:针对每个所述目标图像样本,确定所述目标图像样本的第一分类特征与每个所述聚类的质心的候选中心距离,并将最小的候选中心距离确定为所述目标图像样本的中心距离;获取与所述标记准确度正相关的升序排序位置,并对多个所述目标图像样本的中心距离进行升序排序;获取升序排序结果中对应所述升序排序位置的中心距离,并所述中心距离确定为所述第一场景类别阈值。
在上述方案中,所述第一场景分类模型包括特征网络、第一特征处理网络、以及对应所述第一场景类别的第一分类网络;所述获取模块,还用于:所述通过第一场景分类模型,获取每个所述图像样本的第一分类特征之前,通过所述特征网络对所述图像样本进行特征提取处理,得到所述图像样本的最大池化处理结果;通过所述第一特征处理网络对所述图像样本的最大池化处理结果进行第一嵌入处理,得到所述图像样本的第一分类特征;通过所述第一分类网络将所述第一分类特征映射为所述图像样本的预标记第一场景类别的第一预测概率;基于所述第一预测概率、以及所述图像样本的预标记第一场景类别,确定所述图像样本的第一分类损失;根据所述图像样本的第一分类损失,更新所述第一场景分类模型的参数。
在上述方案中,所述训练模块,还用于:针对每个所述图像样本执行以下处理:通过所述第一场景分类模型、所述第二场景分类模型以及所述第三场景分类模型对所述图像样本进行场景分类处理,得到所述图像样本的场景分类结果;基于所述场景分类结果、所述图像样本的预标记第一场景类别和所述图像样本的预标记第二场景类别,更新所述第一场景分类模型、所述第二场景分类模型以及所述第三场景分类模型的参数。
在上述方案中,所述第一场景分类模型分别与所述第二场景分类模型以及所述第三场景分类模型共享所述第一场景分类模型的特征网络,所述第一场景分类模型与所述第三场景分类模型共享所述第一场景分类模型的第一特征处理网络,所述第二场景分类模型与所述第三场景分类模型共享所述第二场景分类模型的第二特征处理网络;所述训练模块,还用于:通过所述特征网络对所述图像样本进行特征提取处理,得到所述图像样本的最大池化处理结果;通过所述第一场景分类模型的第一特征处理网络对所述图像样本的最大池化处理结果进行第一嵌入处理,得到所述图像样本的第一分类特征;通过所述第一分类网络将所述第一分类特征映射为所述图像样本的预标记第一场景类别的第一预测概率;通过所述第二特征处理网络对所述图像样本的最大池化处理结果进行第二嵌入处理,得到所述图像样本的第二分类特征,并通过所述第二场景分类模型的第二分类网络将所述第二分类特征映射为所述图像样本的至少一个预标记第二场景类别的第二预测概率;对所述第一分类特征以及所述第二分类特征进行拼接处理,并通过所述第三场景分类模型的第三分类网络将拼接处理结果映射为所述图像样本的预标记第一场景类别的第三预测概率;将所述第一预测概率、所述第二预测概率以及所述第三预测概率,组合为所述图像样本的场景分类结果。
在上述方案中,所述训练模块,还用于:基于所述第一预测概率、以及所述图像样本的预标记第一场景类别,确定第一分类损失;基于所述第三预测概率、以及所述图像样本的预标记第一场景类别,确定第三分类损失;基于至少一个所述第二预测概率,以及所述图像样本的至少一个预标记第二场景类别,确定第二分类损失;对所述第一分类损失、所述第二分类损失以及所述第三分类损失进行融合处理,得到联合损失;根据所述联合损失更新所述第一场景分类模型、所述第二场景分类模型以及所述第三场景分类模型的参数。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的基于人工智能的场景分类方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的基于人工智能的场景分类方法。
本申请实施例具有以下有益效果:
从具有第一场景类别的标注的图像样本中挖掘出用于表征细粒度场景的场景标注(第二场景类别),从而可以同时基于第二场景类别以及第一场景类别进行训练,相当于同时学习第一场景类别的特征表达以及细粒度场景的特征表达,由于第三场景分类模型是基于第一场景分类模型以及第二场景分类模型组合得到的,从而训练得到的第三场景分类模型兼具有第一场景类别以及细粒度场景类别(第二场景类别)的联合特征表达,从而有效提升场景识别准确度。
附图说明
图1是相关技术中场景分类方法的逻辑示意图;
图2是本申请实施例提供的基于人工智能的场景分类***的架构示意图;
图3是本申请实施例提供的电子设备的结构示意图;
图4A是本申请实施例提供的基于人工智能的场景分类方法的流程示意图;
图4B是本申请实施例提供的基于人工智能的场景分类方法的步骤101的流程示意图;
图4C是本申请实施例提供的基于人工智能的场景分类方法的步骤102的流程示意图;
图5是本申请实施例提供的基于人工智能的场景分类方法的架构示意图;
图6是本申请实施例提供的基于人工智能的场景分类方法的残差网络示意图;
图7是本申请实施例提供的基于人工智能的场景分类方法的第二场景类别的示意图;
图8是本申请实施例提供的基于人工智能的场景分类方法的处理流程图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)图像识别:图像识别是针对图像进行特定级别分类的技术,通常不考虑对象的特定实例,仅考虑对象的类别进行图像识别并给出对象所属类别,例如,将图像分类为人、狗、猫、鸟等等,基于大型通用物体识别开源数据集ImageNet训练得到的模型能够识别出某个物体是1000个类别中的哪一个。
2)图像的多标签识别任务:识别出图像是否对应具有多个属性标签,例如,某图像具有多个属性标签,多标签识别任务用于判断该图像具有哪些属性标签。
3)带噪识别:基于噪声样本进行图像识别任务的训练,噪声样本包括具有错误类别标注的样本、具有不准确类别标注的样本,例如,图像与类别标签不完全对应,两个类别标签的概念具有部分重叠,图像具有上述两种类别标签的属性,但仅具有一种类别标签。
4)ImageNet:大型通用物体识别开源数据集。
5)ImageNet预训练模型:基于大型通用物体识别开源数据集ImageNet训练一个深度学习网络模型,上述经过训练的深度学习网络模型即为ImageNet预训练模型。
相关技术中,视频理解的首要任务是对视频内剧情发生的场景进行识别,参见图1,图1是相关技术中场景分类方法的逻辑示意图,图1呈现了某个尺度的局部区域(显著区域)提取过程,这里的局部区域实质上是图像的背景的显著区域,并不是图像的任意一个区域均可以用于进行场景识别,对于图像X,根据潜在物体框的分布,计算场景中每个位置的潜在物体密度,针对场景中潜在物体密度,利用滑动窗口计算图像中在窗口区域内的物体密度,结合图像X以及潜在物体密度进行滑动窗口响应,从而将潜在物体密度最高的区域提取出来作为局部区域,进而基于多尺度的局部区域进行特征学习,并基于特征学习结果进行场景识别。
相关技术中基于多尺度局部区域的特征学习的方式进行场景识别时,申请人发现存在以下技术问题:1、相关技术中的场景分类模型是二阶段模型,在训练过程以及推理过程中,需要预先完成目标检测定位任务,然后再完成场景识别任务;2、相关技术中训练对应目标检测定位任务的模型时,对所有可能出现在场景中的物体均需要进行标注,耗时耗力;3、相关技术中并非所有场景都存在检测目标,例如,海边、森林等等,这些场景中不具备常用的检测目标。
申请人在实施本申请实施例时还发现场景识别中针对高层语义识别难度比针对通用物体识别难度更大,从而造成场景类别的语义模糊以致识别困难,例如,公园类别的图像样本中可能包含湖景、林中小道、儿童游乐设施、公园健身区、公园草坪、公园树林等更精准的场景,这些对象的联合可以组成公园类别,但只有1个对象出现时则有可能是噪声标签,例如,图像中仅出现儿童游乐设施时,图像的场景不一定是公园类别,也可能是商业游乐场类别,因此,由于场景类别下的细粒度场景类别并没有被标注出来,对场景识别造成语义模糊的识别困难,申请人在实施本申请实施例时发现如何挖掘每个场景类别的隐式的细粒度场景类别,并借助所挖掘的细粒度场景类别进行场景识别是亟待解决的技术问题。
针对上述技术问题,本申请实施例提供一种基于人工智能的场景分类方法、装置、电子设备和计算机可读存储介质,能够挖掘第一场景类别下的细粒度场景类别,训练细粒度场景类别的特征与第一场景类别的特征的联合表达能力,以有效提高场景识别准确度。
本申请实施例提供的场景分类方法可以由各种电子设备实施,例如可以由终端或服务器单独实施,也可以由终端和服务器协同实施。
参见图2,图2是本申请实施例提供的基于人工智能的场景分类***的架构示意图,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
在一些实施例中,基于人工智能的场景分类***的功能是基于服务器200实现的,在用户使用终端400的过程中,终端400收集图像样本发送至服务器200,以使服务器200对第一场景分类模型(用于识别不同的第一场景类别)、第二场景分类模型(用于识别不同的第二场景类别)以及第三场景分类模型进行基于第一场景类别以及第二场景类别的训练,将训练完成的第三场景分类模型集成在服务器200中,响应于终端400接收到用户所拍摄的图像,终端400将图像发送至服务器200,服务器200通过第三场景分类模型确定出图像的场景分类结果,并发送至终端400,以使终端400直接呈现场景分类结果。
在一些实施例中,当场景分类***应用于视频推荐场景时,终端400接收到将要上传的视频,终端400将视频发送至服务器200,服务器200通过第三场景分类模型确定出视频中视频帧的场景分类结果以作为视频的场景分类结果,并基于场景分类结果对视频执行推荐操作,以向终端400发送被推荐的视频,上传视频的终端和呈现场景分类结果的终端可以相同或者不同。
在一些实施例中,当场景分类***应用于图像拍摄场景时,终端400接收到用户拍摄的图像,终端400将拍摄的图像发送至服务器200,服务器200通过第三场景分类模型确定出图像的场景分类结果,并发送至终端400,以使终端400直接呈现场景分类结果,并按照对应的场景分类结果对所拍摄的图像进行存储。
在另一些实施例中,当本申请实施例提供的场景分类方法由终端单独实施时,在上文所描述的各种应用场景中,终端可以运行第三场景分类模型以确定出图像或者视频的场景分类结果,并直接呈现场景分类结果。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能电视、智能车载设备等,终端400上可以设有客户端,例如,视频客户端、浏览器客户端、信息流客户端、图像拍摄客户端等等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
接下来,说明本申请实施例提供的用于实施基于人工智能的场景分类方法的电子设备的结构,如前,本申请实施例提供的电子设备可以是图2中的服务器200或终端400。参见图3,图3是本申请实施例提供的电子设备的结构示意图,以该电子设备为服务器200为例进行说明。图3所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220。服务器200中的各个组件通过总线***240耦合在一起。可理解,总线***240用于实现这些组件之间的连接通信。总线***240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线***240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***251,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他电子设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,UniversalSerial Bus)等。
在一些实施例中,本申请实施例提供的基于人工智能的场景分类装置可以采用软件方式实现,图3示出了存储在存储器250中的基于人工智能的场景分类装置255,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块2551、训练模块2552以及应用模块2553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
将结合本申请实施例提供的服务器200的示例性应用和实施,说明本申请实施例提供的基于人工智能的场景分类方法。
参见图5,图5是本申请实施例提供的基于人工智能的场景分类方法的架构示意图,架构示意图中包括基础模型(以下简称第一场景分类模型)、原型类别挖掘网络(对应原型学习)、基于原型类别的第二场景分类模型、以及基于联合特征的第三场景分类模型,其中,原型类别(以下简称第二场景类别)是第一场景类别的子场景,例如,第一场景类别是公园类别,第二场景类别是湖泊、游乐场、步道等等,原型类别挖掘网络是获取图像的第二场景标注类别的网络,第二场景分类模型具有识别不同的第二场景类别的能力,联合特征是第二场景分类模型输出的第二分类特征与第一场景分类模型输出的第一分类特征拼接得到的,第三场景分类模型具有识别不同的第一场景类别的能力,由于第三场景分类模型的特征来源于另外两个场景分类模型,因此,可以同时学习到第一场景类别的特征表达以及第二场景类别的特征表达。
参见图4A,图4A是本申请实施例提供的基于人工智能的场景分类方法的流程示意图,将结合图4A示出的步骤101-103进行说明。
在步骤101中,针对第一场景类别的多个图像样本,获取每个图像样本的至少一个第二场景类别。
作为示例,每个图像样本的至少一个第二场景类别是图像样本的第一场景类别的子场景类别,即第二场景类别是第一场景类别的子场景,例如,第一场景类别是公园类别,第二场景类别是公园内的湖泊、游乐场、步道等等,第一场景类别是商场类别,第二场景类别是商场内的自动扶梯、收银台、餐厅等等。步骤101是基于预标记有第一场景类别的多个图像样本,挖掘出这些图像样本的第二场景类别,例如,存在100个图像样本,其中有30个图像样本被预标记为公园类别的第一场景类别,有70个图像样本被预标记为商场类别的第一场景类别,通过步骤101可以获取这100个图像样本中每个图像样本的第二场景类别,例如,每个图像样本是否可以被标记为湖泊、游乐场等等,并且每个图像样本可以挖掘出一个第二场景类别或者挖掘出多个(至少两个)第二场景类别。
作为示例,在本申请实施例提供的基于人工智能的场景分类方法中,由于是通过无监督的聚类方式挖掘出每个图像样本的第二场景类别,因此,第二场景类别不会存在具体的真实类别名称,即并不关注图像样本的第二场景类别是湖泊还是海洋,可以抽象的用标识符号代替,只要在训练阶段进行第二场景类别识别时,将对应的图像样本映射到对应的标识符号以获取对应的损失,即可以保证在实际学习过程中,第二场景分类模型以及第三场景分类模型学习到了某个第二场景类别的实际特征表达,例如,针对第一场景类别A的30个目标图像样本进行聚类,得到两个聚类,分别为对应第二场景类别C的聚类c以及对应第二场景类别D的聚类d,虽然对于用户而言,并不明确第二场景类别C和D是否为湖泊或者游乐场,但是可以确定第二场景类别C的聚类c对应的集合中的目标图像样本均是具有第二场景类别C的对象,因此在训练时以将这些目标图像样本识别为第二场景类别C为目标进行训练,可以充分学习到第二场景类别a的特征表达,从而实现无监督的第二场景类别挖掘。
在一些实施例中,参见图4B,图4B是本申请实施例提供的基于人工智能的场景分类方法的步骤101的流程示意图,步骤101中针对第一场景类别的多个图像样本,获取每个图像样本的至少一个第二场景类别,可以通过图4B的步骤1011-1013实现。
在步骤1011中,通过第一场景分类模型,获取多个图像样本中每个图像样本的第一分类特征。
在一些实施例中,步骤1011中获取多个图像样本中每个图像样本的第一分类特征,可以通过以下技术方案实现:针对每个图像样本执行以下处理:提取图像样本的第一卷积特征,并对图像样本的第一卷积特征进行池化处理,得到图像样本的第一池化特征;对第一池化特征进行多次残差迭代处理,得到图像样本的残差迭代处理结果;对图像样本的残差迭代处理结果进行最大池化处理,得到图像样本的最大池化处理结果;对图像样本的最大池化处理结果进行第一嵌入处理,得到图像样本的第一分类特征。
作为示例,图像样本输入卷积神经网络后进行特征提取处理,特征提取过程可以参见表1,首先通过表1中的卷积层Conv1提取图像样本的第一卷积特征,并通过表1中的卷积层Conv2对图像样本的第一卷积特征进行池化处理,得到图像样本的第一池化特征,池化处理可以为最大池化处理,再通过表1中的卷积层Conv2-Conv5对第一池化特征进行多次残差迭代处理,得到图像样本的残差迭代处理结果,通过表2中的池化层对残差迭代处理结果进行最大池化处理,得到图像样本的最大池化结果,残差迭代处理结果是表1的特征提取结果,第一场景分类模型的第一特征处理网络实践为第一特征处理层,通过表2中的第一特征处理层(Embedding1)对最大池化结果进行全连接处理,得到第一分类特征。
表1 ResNet-101中卷积层结构表
Figure 79067DEST_PATH_IMAGE001
表2 第一场景分类模型中除卷积层结构外的各层结构表
Figure 74836DEST_PATH_IMAGE003
在一些实施例中,第一场景分类模型包括特征网络、第一特征处理网络、以及对应第一场景类别的第一分类网络;通过第一场景分类模型,获取多个图像样本中每个图像样本的第一分类特征之前,通过特征网络对图像样本进行特征提取处理,得到图像样本的最大池化处理结果;通过第一特征处理网络对图像样本的最大池化处理结果进行第一嵌入处理,得到图像样本的第一分类特征;通过第一分类网络将第一分类特征映射为图像样本的预标记第一场景类别的第一预测概率;基于第一预测概率、以及图像样本的预标记第一场景类别,确定图像样本的第一分类损失;根据图像样本的第一分类损失,更新第一场景分类模型的参数。
作为示例,特征网络可以实践为表1中的层结构以及表2中的池化层Pool,第一特征处理网络可以实践为表2中的第一特征处理层Embedding1,第一分类网络可以实践为表2中的第一分类层FC1,通过特征网络对图像样本进行特征提取处理,得到图像样本的最大池化处理结果的过程,以及通过第一特征处理网络对图像样本的最大池化处理结果进行第一嵌入处理,得到图像样本的第一分类特征的过程,可以参考步骤1011,通过表2中的第一分类层(FC1)对第一分类特征进行全连接处理得到图像样本属于每个第一场景类别的第一预测概率,第一场景类别的数目为P,P为正整数,将图像样本的预标记第一场景类别的第一预测概率代入交叉熵损失函数,得到第一分类损失,以反向更新第一场景分类模型的参数,反向更新时可以仅更新第一分类层以及第一特征处理层的参数,通过正向传播以及基于梯度下降法的反向更新,完成第一场景分类模型的训练,其中,第一特征处理层是全连层,输出1024维的第一分类特征,卷积层Conv1-Conv5可以采用在ImageNet数据集上预训练的ResNet101的参数,对新添加的层(例如,Embedding1以及FC1)采用方差为0.01,均值为0的高斯分布进行初始化。可以使用不同的网络结构、不同的预训练模型权重作为第一场景分类模型。经过上述训练过程得到的第一场景分类模型具备识别P个第一场景类别的场景识别能力。
在步骤1012中,针对每个第一场景类别执行以下处理:从多个图像样本中获取属于第一场景类别的图像样本,作为目标图像样本,并基于多个目标图像样本的第一分类特征,对多个目标图像样本进行聚类处理,得到与至少一个第二场景类别一一对应的至少一个聚类。
承接上述示例,存在100个图像样本,其中有30个图像样本被预标记为公园类别的第一场景类别(下文简称为第一场景类别A),有70个图像样本被预标记为商场类别的第一场景类别(下文简称为第一场景类别B),针对第一场景类别A,获取100个图像样本中被预标记为第一场景类别A的图像样本,作为步骤1012实施过程中的目标图像样本,接着基于30个被预标记为第一场景类别A的目标图像样本的第一分类特征,对30个目标图像样本进行聚类处理,得到与至少一个第二场景类别一一对应的至少一个聚类,基于上述过程,完成了针对第一场景类别A的聚类处理,从而得到第一场景类别A下的至少一个第二场景类别。
在一些实施例中,步骤1012中基于多个目标图像样本的第一分类特征,对多个目标图像样本进行聚类处理,得到与至少一个第二场景类别一一对应的至少一个聚类,可以通过以下技术方案实现:将多个目标图像样本组成目标图像样本集合;从目标图像样本集合中随机选择N个目标图像样本,将对应N个目标图像样本的第一分类特征作为多个聚类的初始质心,并将N个目标图像样本从目标图像样本集合移除,其中,N为对应第一场景类别的第二场景类别的数目,N为大于或者等于2的整数;初始化聚类处理的迭代次数为M,并建立对应每个聚类的空的集合,其中,M为大于或者等于2的整数;在聚类处理的每一次迭代过程中执行以下处理:对每个聚类的集合进行更新处理,并基于更新处理结果执行质心生成处理,得到每个聚类的新质心,当新质心不同于初始质心时,将初始质心对应的目标图像样本再次添加至目标图像样本集合,并基于新质心更新初始质心;将迭代M次后得到的每个聚类的集合确定为聚类处理结果,或者,将迭代m次后得到的每个聚类的集合确定为聚类处理结果;其中,迭代m次后得到的多个聚类与迭代m-1次后得到的多个聚类的质心相同,m小于M,m为整数变量且取值满足2≤m≤M。
在一些实施例中,上述对每个聚类的集合进行更新处理,并基于更新处理结果执行质心生成处理,得到每个聚类的新质心,可以通过以下技术方案实现:针对目标图像样本集合中每个目标图像样本执行以下处理:确定目标图像样本的第一分类特征与每个聚类的初始质心之间的相似度;将最大相似度对应的初始质心确定为与目标图像样本属于相同聚类,并将目标图像样本转移至最大相似度初始质心对应的聚类的集合,最大相似度初始质心为最大的相似度对应的初始质心;将每个聚类的集合中每个目标图像样本的第一分类特征进行平均处理,得到每个聚类的新质心。
承接上述示例,针对第一场景类别A,存在30个目标图像样本,第二场景类别的预设数目为2,则聚类处理的目标是将30个目标图像样本分为两个聚类,每个聚类存在对应的集合,每个集合中包括对应聚类的目标图像样本,首先随机选择2个目标图像样本的第一分类特征分别作为两个聚类的初始质心,针对剩余的28个目标图像样本,计算每个目标图像样本与2个初始质心的相似度,例如采取L2距离来评估相似度,例如,对于目标图像样本E,它的第一分类特征与初始质心a的距离较近,则将目标图像样本E分配到初始质心a所对应的聚类的集合中,针对28个目标图像样本均执行分配操作后,针对每个聚类重新计算对应的新质心,若两个聚类的新质心相同或者新质心与初始质心的相似度大于相似度阈值,则可以直接将每个集合确定为聚类处理结果,若两个聚类的新质心不相同,且新质心与初始质心的相似度不大于相似度阈值,则继续利用新质心更新初始质心,并再次针对质心对应的目标图像样本之外的目标图像样本进行分配操作,例如,原来的初始质心a被新质心代替后,原来的初始质心a对应的目标图像样本属于质心对应的目标图像样本之外的目标图像样本,需要再次参与到分配过程中,直到满足两个聚类的新质心相同,或者新质心与初始质心的相似度大于相似度阈值,或者迭代了指定次数。
在步骤1013中,基于至少一个聚类,确定每个图像样本的第二场景类别。
在一些实施例中,上述基于至少一个聚类,确定每个图像样本的第二场景类别,可以通过以下技术方案实现:针对每个聚类执行以下处理:将每个聚类中的每个目标图像样本的第一分类特征进行平均处理,得到每个聚类的质心;针对多个图像样本中的每个图像样本执行以下处理:确定图像样本的第一分类特征与每个聚类的质心之间的特征距离,将小于特征距离阈值的特征距离对应的质心的聚类,确定为与图像样本关联的聚类,并将聚类对应的第二场景类别确定为图像样本的第二场景类别。
承接上述示例,通过步骤1012可以得到第一场景类别A的至少一个与第二场景类别一一对应的聚类、以及第一场景类别B的至少一个与第二场景类别一一对应的聚类,若每个第一场景类别下的第二场景类别的数目均为2,则通过步骤1012共得到4个聚类,分别对应4个第二场景类别。步骤1013中至少一个聚类指的是针对所有第一场景类别获得的聚类,针对100个图像样本,需要确定每个图像样本所对应的第二场景类别,因此首先确定每个第二场景类别对应的聚类的质心,例如,针对第二场景类别C,存在有对应的聚类的集合c,集合c中包括10个目标图像样本,由于已经预先获得了100个图像样本的第一分类特征,并且目标图像样本是来自于图像样本,因此直接对10个目标图像样本的第一分类特征进行平均处理,得到第二场景类别C对应的聚类的质心,该质心能够表征第二场景类别C的特征表达,对某个图像样本F,确定该图像样本F与4个第二场景类别的4个质心之间的特征距离,特征距离可以通过L2距离进行度量,或者通过余弦距离进行度量,将特征距离小于特征距离阈值的质心对应的第二场景类别确定为图像样本F的第二场景类别。
在一些实施例中,在将小于特征距离阈值的特征距离对应的质心的聚类,确定为与图像样本关联的聚类之前,针对每个第一场景类别执行以下处理:从数据库中查询第一场景类别的标记准确度;获取与标记准确度正相关的第一场景类别阈值;确定属于第一场景类别的目标图像样本在多个图像样本中的数目占比,并将数目占比作为第一场景类别阈值的权重;基于每个第一场景类别阈值的权重,对多个第一场景类别阈值进行加权求和处理,得到特征距离阈值。
承接上述示例,通过特征距离阈值来对特征距离进行评估,小于特征距离阈值,则认为特征距离对应的质心对应的第二场景类别是该图像样本的第二场景类别,因此特征距离阈值对于第二场景类别挖掘的准确度非常重要,由于特征距离阈值是适用于全部图像样本以及全部第二场景类别的阈值数据,因此需要综合考虑所有的第一场景类别的标注准确度,来确定特征距离阈值,由于标注准确度越高则表征对应第一场景类别下进行聚类处理得到的第二场景类别的聚类的集合越准确,由此看出,若标注准确度高的第一场景类别的图像样本的数目越多,则特征距离阈值可以越高,若标注准确度低的第一场景类别的图像样本的数目越多,则特征距离阈值需要适当降低,以防止将第二场景类别关联到图像样本时发生错误。
承接上述示例,针对每个第一场景类别执行以下处理,例如,针对第一场景类别A执行以下处理:从数据库中查询第一场景类别A的标记准确度,例如,30个标记为第一场景类别A的图像样本中存在3个图像样本实际上不属于第一场景类别A,获取与标记准确度90%正相关的第一场景类别阈值90%,确定属于第一场景类别的目标图像样本在多个图像样本中的数目占比,标记为第一场景类别A的图像样本的数目占比为30%,并将数目占比作为第一场景类别阈值的权重,即将0.3作为标记准确度90%的权重,通过上述过程还得到了第一场景类别B的标记准确度80%、与标记准确度80%正相关的第一场景类别阈值80%,标记为第一场景类别B的图像样本的数目占比为70%,基于每个第一场景类别阈值的权重,对多个第一场景类别阈值进行加权求和处理,得到特征距离阈值,因此对标记准确度80%以及标记准确度90%进行加权求和,得到特征距离阈值0.83。
在一些实施例中,上述获取与标记准确度正相关的第一场景类别阈值,可以通过以下技术方案实现:针对每个目标图像样本,确定目标图像样本的第一分类特征与每个聚类的质心的候选中心距离,并将最小的候选中心距离确定为目标图像样本的中心距离;获取与标记准确度正相关的升序排序位置,并对多个目标图像样本的中心距离进行升序排序;获取升序排序结果中对应升序排序位置的中心距离,并将中心距离确定为第一场景类别阈值。
承接上述实施例,继续针对第一场景类别A,通过具体步骤确定第一场景类别阈值,所确定的第一场景类别阈值与标记准确度正相关,存在标记为第一场景类别A的30个目标图像样本,经过步骤1012的聚类处理后得到第一场景类别A下的两个第二场景类别的聚类,针对目标图像样本E,确定目标图像样本的第一分类特征与两个第二场景类别的聚类中每个聚类的质心的候选中心距离,例如,确定出目标图像样本E与某个第二场景类别的质心的候选中心距离为0.7,确定出目标图像样本E与另一个第二场景类别的质心的候选中心距离为0.8,并将最小的候选中心距离0.7确定为目标图像样本E的中心距离,对30个目标图像样本执行上述处理,从而获取了30个目标图像样本的中心距离,获取与标记准确度正相关的升序排序位置,例如,标记准确度是80%,与标记准确度正相关的升序排序位置是30个目标图像样本中的第24位,并对多个目标图像样本的中心距离进行升序排序,将30个目标图像样本的中心距离进行从小到大的升序排序,获取升序排序结果中对应第24位的中心距离,并将第24位的中心距离确定为第一场景类别阈值。
在步骤102中,基于多个图像样本的第一场景类别、以及多个图像样本的第二场景类别,联合训练第一场景分类模型、第二场景分类模型以及第三场景分类模型。
作为示例,第一场景分类模型用于识别不同的第一场景类别,第二场景分类模型用于识别不同的第二场景类别,第三场景分类模型是基于第一场景分类模型以及第二场景分类模型组合得到的。
在一些实施例中,参见图4C,图4C是本申请实施例提供的基于人工智能的场景分类方法的步骤102的流程示意图,步骤102中基于多个图像样本的第一场景类别、以及多个图像样本的第二场景类别,联合训练第一场景分类模型、第二场景分类模型以及第三场景分类模型,可以针对每个图像样本执行图4C示出的步骤1021-1022实现。
在步骤1021中,通过第一场景分类模型、第二场景分类模型以及第三场景分类模型对图像样本进行场景分类处理,得到图像样本的场景分类结果。
在一些实施例中,第一场景分类模型分别与第二场景分类模型以及第三场景分类模型共享第一场景分类模型的特征网络,第一场景分类模型与第三场景分类模型共享第一场景分类模型的第一特征处理网络,第二场景分类模型与第三场景分类模型共享第二场景分类模型的第二特征处理网络;步骤1021中通过第一场景分类模型、第二场景分类模型以及第三场景分类模型对图像样本进行场景分类处理,得到图像样本的场景分类结果,可以通过以下技术方案实现:通过特征网络对图像样本进行特征提取处理,得到图像样本的最大池化处理结果;通过第一场景分类模型的第一特征处理网络对图像样本的最大池化处理结果进行第一嵌入处理,得到图像样本的第一分类特征;通过第一分类网络将第一分类特征映射为图像样本的预标记第一场景类别的第一预测概率;通过第二特征处理网络对图像样本的最大池化处理结果进行第二嵌入处理,得到图像样本的第二分类特征,并通过第二场景分类模型的第二分类网络将第二分类特征映射为图像样本的至少一个预标记第二场景类别的第二预测概率;对第一分类特征以及第二分类特征进行拼接处理,并通过第三场景分类模型的第三分类网络将拼接处理结果映射为图像样本的预标记第一场景类别的第三预测概率;将第一预测概率、第二预测概率以及第三预测概率,组合为图像样本的场景分类结果。
作为示例,参见图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为每个第一场景类别下的第二场景类别的数目。
表3 第二场景分类模型中除卷积层结构外的各层结构表
Figure 759633DEST_PATH_IMAGE004
作为示例,针对第三场景分类模型,第三分类网络实施为第三分类层FC3,将第一分类特征和第二分类特征进行拼接处理,再通过表4中的第三分类层(FC3)对拼接处理结果进行全连接处理得到图像样本属于每个第一场景类别的第三预测概率,其中就包括预标记第一场景类别的第三预测概率(对应第三分类损失),第一场景类别的数目为P个。
表4 第三场景分类模型中第三分类网络的各层结构表
Figure 826946DEST_PATH_IMAGE005
在步骤1022中,基于多个图像样本的场景分类结果、图像样本的预标记第一场景类别和图像样本的预标记第二场景类别,更新第一场景分类模型、第二场景分类模型以及第三场景分类模型的参数。
在一些实施例中,步骤1022中基于多个图像样本的场景分类结果、图像样本的预标记第一场景类别和图像样本的预标记第二场景类别,更新第一场景分类模型、第二场景分类模型以及第三场景分类模型的参数,可以通过以下技术方案实现:基于第一预测概率、以及图像样本的预标记第一场景类别,确定第一分类损失;基于第三预测概率、以及图像样本的预标记第一场景类别,确定第三分类损失;基于至少一个第二预测概率,以及图像样本的至少一个预标记第二场景类别,确定第二分类损失;对第一分类损失、第二分类损失以及第三分类损失进行融合处理,得到联合损失;根据联合损失更新第一场景分类模型、第二场景分类模型以及第三场景分类模型的参数。
作为示例,针对第一场景分类模型,第一分类损失为交叉熵损失函数,参见公式(1):
Figure 752571DEST_PATH_IMAGE006
(1);
其中,输入具有预标记的第一场景类别的图像样本,
Figure 247137DEST_PATH_IMAGE007
为图像样本的预标记第一场景类别,
Figure 622492DEST_PATH_IMAGE008
为FC1层预测的第一预测概率,E为第一分类损失,nclass表征n个第一场景类别,i为图像样本的标识。
作为示例,采用至少一个二分类的交叉熵损失函数作为对应FC2的输出的第二分类损失,以下为某个第二场景类别的二分类的交叉熵损失函数,参见公式(2):
Figure 227917DEST_PATH_IMAGE009
(2);
其中,
Figure 568900DEST_PATH_IMAGE010
为图像样本i针对某一个第二场景类别的损失,
Figure 673515DEST_PATH_IMAGE011
为FC2输出的对应预标记第二场景类别的第二预测概率,
Figure 834369DEST_PATH_IMAGE008
为图像样本的真实标签,若图像样本的真实标签为预标记第二场景类别,则
Figure 742020DEST_PATH_IMAGE008
为1,若图像样本的真实标签不为预标记的第二场景类别,则
Figure 875193DEST_PATH_IMAGE008
为0。
作为示例,对于图像样本F而言,该图像样本F具有2个第二场景类别(例如,湖泊以及步道),则分别获取这两个第二场景类别的二分类的交叉熵损失函数,再进行求和处理,得到第二分类损失。
作为示例,第三场景分类模型的第三分类损失与第一分类损失类似,联合训练的整体损失为第一分类损失、第二分类损失以及第三分类损失的联合。
在一些实施例中,进行参数更新时,可以同时更新第一场景分类模型、第二场景分类模型以及第三场景分类模型的参数,也可以仅更新第二场景分类模型的第二特征处理网络的参数、第二分类网络的参数、第三场景分类模型的第三分类网络的参数,从而有效提高训练效率。
在步骤103中,通过训练后的第三场景分类模型对待分类图像进行场景分类处理,得到待分类图像在不同的第一场景类别中对应的第一场景类别。
作为示例,通过训练后的第三场景分类模型对待分类图像进行场景分类处理时,实际上是通过第三场景分类模型的第三分类网络对第一分类特征以及第二分类特征的拼接处理结果进行全连接处理,映射为图像样本属于每个第一场景类别的第三预测概率,在应用阶段会保留图5所示的框架中的卷积神经网络(特征网络)、第一特征处理网络、第二特征处理网络以及第三分类网络。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
在一些实施例中,本申请实施例提供的基于人工智能的场景分类方法应用于视频推荐应用场景,终端将待发布的视频上传至服务器,服务器针对视频的关键视频帧进行场景分类处理,得到关键视频帧的场景分类结果,将关键视频帧的场景分类结果作为待发布视频的属性标签,并将视频发布且推荐至用户画像与属性标签相符的用户。
参见图5,架构示意图中包括基础模型(以下简称第一场景分类模型)、原型类别挖掘网络、基于原型类别的第二场景分类模型、以及基于联合特征的第三场景分类模型,其中,原型类别(以下简称第二场景类别)是第一场景类别的子场景,例如,第一场景类别是公园类别,第二场景类别是湖泊、游乐场、步道等等,原型类别挖掘网络是获取图像的第二场景标注类别的网络,第二场景分类模型具有识别不同的第二场景类别的能力,联合特征是第二场景分类模型输出的第二分类特征与第一场景分类模型输出的第一分类特征拼接得到的,第三场景分类模型具有识别不同的第一场景类别的能力,由于第三场景分类模型的特征来源于另外两个场景分类模型,因此,可以同时学习到第一场景类别的特征表达以及第二场景类别的特征表达。
在一些实施例中,图像F输入卷积神经网络后进行特征提取处理,特征提取过程可以参见表1,通过表2中的池化层对表1的特征提取结果进行最大池化处理,得到图像F的最大池化结果,通过表2中的第一特征处理层Embedding1对最大池化结果进行全连接处理,得到第一分类特征,再通过表2中的第一分类层FC1对第一分类特征进行全连接处理得到图像F属于每个第一场景类别的第一预测概率,第一场景类别的数目为P,P为正整数,上述过程是第一场景分类模型的正向传播的过程,将图像F的预标记第一场景类别的第一预测概率代入交叉熵损失函数,以反向更新第一场景分类模型的参数,反向更新时可以仅更新第一分类层以及第一特征处理层的参数,通过正向传播以及基于梯度下降法的反向更新,完成第一场景分类模型的训练,其中,第一特征处理层是全连层,输出1024维的第一分类特征,卷积层Conv1-Conv5采用在ImageNet数据集上预训练的ResNet101的参数,对新添加的层(例如,Embedding1以及FC1)采用方差为0.01,均值为0的高斯分布进行初始化。可以使用不同的网络结构、不同的预训练模型权重作为第一场景分类模型。
参见图6,图6是本申请实施例提供的基于人工智能的场景分类方法的残差网络示意图,表1中残差模块的结构参见图6中的残差网络,残差网络的输入是256维,经过三个不同尺寸卷积核的卷积处理,将卷积处理结果与输入进行相加作为下一个残差模块的输入,其中,relu代表激活函数,表征进行激活处理。残差网络由三个卷积层、融合算子以及激活函数构成,对某个残差网络的输出以及该残差网络的输入进行融合处理,例如通过加法算子进行相加处理,得到融合处理结果;对融合处理结果进行激活处理,激活处理通过relu激活函数完成,通过卷积层对激活处理结果进行多尺寸的卷积处理,例如,进行三个层次的卷积处理,随着网络深度的增加,训练会变得愈加困难,主要是因为在基于随机梯度下降的网络训练过程中,误差信号的多层反向传播非常容易引发梯度弥散或者梯度***的现象,图6所示的残差网络解决了网络深度带来的训练困难的问题,它的网络性能(完成任务的准确度和精度)较高。
在一些实施例中,在训练完成第一场景分类模型后,从已经学习到的第一特征处理层挖掘第二场景类别,第二场景类别的挖掘是对各第一场景类别进行原型抽取,得到每个第一场景类别的场景内更细粒度的子场景,从而对第一场景类别进行更细粒度的场景特征抽取,每个第一场景类别预定义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个第二场景类别的权重相同,从而得到所有图像的第二场景类别。
在一些实施例中,每个第一场景类别下的第二场景类别的数量指定为K,也可根据第一场景类别的复杂度,对第二场景类别的数量进行调整,可以确定与第一场景类别的数据量正相关的第二场景类别的数量,如具有1000和2000个样本的第一场景类别A和第二场景类别B,B的第二场景类别的数量为A的第二场景类别的数量的2倍。
通过第一分类特征进行第一场景类别中原型类别(第二场景类别)的挖掘,从而把一个混合复杂细粒度场景类别的图像映射到更特定的子场景中,方便一个第一场景类别中多个不同的第二场景类别的共性特征可以分别得到学习。
在一些实施例中,参见图7,图7是本申请实施例提供的基于人工智能的场景分类方法的第二场景类别的示意图,从第一场景类别中可以挖掘出细粒度的第二场景类别,例如,第一场景类别(公园)下具有更精确的第二场景类别,第二场景类别包括:湖景、小道、儿童设施、花坛等。
在一些实施例中,在训练完成第一场景分类模型,并且挖掘出每个图像的第二场景类别后,联合训练第一场景分类模型、第二场景分类模型以及第三场景分类模型,其中,联合训练时,第一场景分类模型的正向传播过程与上述过程类似,针对第二场景分类模型,通过表3中的第二特征处理层(Embedding2)对第一场景分类模型输出的图像样本的最大池化结果进行全连接处理,得到第二分类特征,再通过表3中的第二分类层(FC2)对第二分类特征进行全连接处理得到图像F属于每个第二场景类别的第二预测概率,第二场景类别的数目为K*P个,K为正整数,K为每个第一场景类别下的第二场景类别的数目,上述过程是第二场景分类模型的正向传播的过程。
在一些实施例中,针对第三场景分类模型,将第一分类特征和第二分类特征进行拼接处理,再通过表4中的第三分类层(FC3)对拼接处理结果进行全连接处理得到图像F属于每个第一场景类别的第三预测概率,上述过程是第三场景分类模型的正向传播的过程。第二分类特征以嵌入的形式合并到第一分类特征中,使的粗粒度的第一场景类别的第一分类特征与更具有共性的第二分类特征联合驱动场景分类任务。
在一些实施例中,基于联合训练时第一场景分类模型正向传播得到的第一预测概率、第二场景分类模型正向传播得到的第二预测概率以及第三场景分类模型正向传播得到的第三预测概率,确定各个场景分类模型的损失,针对第一场景分类模型,第一分类损失为交叉熵损失函数,参见公式(3):
Figure 711562DEST_PATH_IMAGE012
(3);
其中,输入具有预标记的第一场景类别的图像,
Figure 138475DEST_PATH_IMAGE007
为图像的预标记第一场景类别,
Figure 23385DEST_PATH_IMAGE008
为FC1层预测的第一预测概率,E为第一分类损失,nclass表征n个第一场景类别,i为图像的标识。
针对第二场景分类模型,由于进行原型挖掘时已经为每个图像获取到多个第二场景类别,故图像可能有多个第二场景类别,将每个第二场景类别视作多标签类别中的一个标签,采用多个二分类的交叉熵损失函数作为对应FC2的输出的第二分类损失,以下为某个第二场景类别的二分类的交叉熵损失函数,参见公式(4):
Figure 571916DEST_PATH_IMAGE013
(4);
其中,
Figure 579186DEST_PATH_IMAGE010
为图像i针对某一个第二场景类别的损失,
Figure 714632DEST_PATH_IMAGE011
为FC2输出的对应预标记第二场景类别的第二预测概率,
Figure 904699DEST_PATH_IMAGE008
为图像的真实标签,若图像的真实标签为预标记第二场景类别,则
Figure 74780DEST_PATH_IMAGE008
为1,若图像的真实标签不为预标记的第二场景类别,则
Figure 751487DEST_PATH_IMAGE008
为0。
在一些实施例中,对于K*P个第二场景类别,对K*P个二分类的交叉熵损失函数求和得到第二分类损失,对于图像F而言,该图像具有2个第二场景类别(例如,湖泊以及步道),则分别获取这两个第二场景类别的二分类的交叉熵损失函数,再进行求和处理,得到第二分类损失。
针对第三场景分类模型,第三场景分类模型实际上是全特征分类模型,全特征指兼顾第一场景分类模型的第一分类特征和第二场景分类模型的第二分类特征的第三分类特征,FC3的作用是把第三分类特征映射到P个不同的第一场景类别,故第三场景分类模型的第三分类损失与第一分类损失类似,联合训练的整体损失为第一分类损失、第二分类损失以及第三分类损失之和,从而保证所学习到的第三场景分类模型既学习到细粒度的原型特征(第二分类特征)的特征表达,也学习到场景分类特征(第一分类特征)的特征表达。
在联合训练阶段进行参数更新时,同时更新Embedding1、Embedding2、FC1、FC2、FC3的参数,即同时学习第一场景分类、第二场景分类以及第三场景分类,其中,第三场景分类模型作为要学习的目标分类器,其采用Embedding1和Embedding2的输出拼接作为第三分类特征,输出为P个需要学习的第一场景类别。
在联合训练阶段,加载上阶段已经训练好的第一场景分类模型的参数,借梯度下降算法进行模型参数更新,对比第一阶段仅需要训练第一场景分类模型,本阶段还需要另外学习Embedding2、FC2、FC3等网络层,其中,将Embedding1(1*1024)的输出和Embedding2(1*1024)的输出进行拼接,得到第三分类特征(1*2048)作为FC3的输入,Embedding1的输出代表单纯采用针对识别第一场景类别所需要用到的第一分类特征、Embedding2的输出代表场景中具体某些原型特征(即可以根据原型特征区分细粒度的第二场景类别),两者合并实现两种类型特征的联合。
在应用时仅取FC3的输出结果作为预测的各个第一场景类别的概率,采用最大似然函数获得具有最大的第一预测概率对应的第一场景类别作为场景分类结果。
在一些实施例中,可以对场景分类模型进行带噪训练,并将带噪训练得到的场景分类模型搭载于云服务器,以提供场景识别服务,参见图8,图8是本申请实施例提供的基于人工智能的场景分类方法的处理流程图,终端A接收到用户输入的图像,然后上传给服务器,服务器使用本申请实施例提供的第三场景分类模型对用户输入的图像进行场景分类,将场景分类结果输出到终端B进行对应显示,终端B是区别于终端A的终端,例如,终端A将图像上传至服务器以进行发布,终端B接收服务器下发的图像以及对应图像的分类结果。
在一些实施例中,通过挖掘原始类别原型(第二场景类别),建立第二场景类别的特征学习,从而使得训练得到的第三场景分类模型更容易捕捉到第二场景类别的共性特征,并支持到整体的场景识别中,在模型学习中得到更充分的类别信息,本申请实施例提供的基于人工智能的场景分类方法具有以下优势:1)通过聚类处理进行无监督的第二场景类别挖掘,在不需要人力标注第二场景类别的情况下即可以进行识别第二场景类别的学习任务;2)通过第二场景类别的动态自监督学习逐渐优化第二场景类别的特征表达;3)通过对第二场景类别的第二分类特征与第一场景类别的第一分类特征进行联合,使得第三场景分类模型针对第一场景类别的识别效果提升;4)在有限增加复杂度的情况下(对比第一场景分类模型,仅增加了Embedding 2、FC2、以及FC3)下得到联合训练框架。
相比于相关技术中的方案,本申请实施例提供的基于人工智能的场景分类方法不需要显式学习检测模型,从而在不增加模型推理复杂度的同时提升泛化能力,避免了为训练检测器而需要预先标注检测数据集造成额外标注的成本,通过在训练阶段对第一场景类别进行无监督的第二场景类别多实例建模,强化模型对多个第二场景类别的特征表达,借助第二场景类别实现第一场景类别的多实例分析,使得每个图像都可以映射到第二场景类别这样的精准类别上,从而可以区分图像的噪声标签以及第二场景类别,有助于特征的共性抽取,通过联合第一分类特征这样的基础特征与第二分类特征这样的多实例特征,实现隐性的多实例特征与基础特征联合,从而获得多个场景样式的表征。
下面继续说明本申请实施例提供的基于人工智能的场景分类装置255实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器250的基于人工智能的场景分类装置255中的软件模块可以包括:获取模块2551,用于针对第一场景类别的多个图像样本,获取每个图像样本的至少一个第二场景类别;其中,每个图像样本的至少一个第二场景类别是图像样本的第一场景类别的子场景类别;训练模块2552,用于基于多个图像样本的第一场景类别、以及多个图像样本的第二场景类别,联合训练第一场景分类模型、第二场景分类模型以及第三场景分类模型;其中,第一场景分类模型用于识别不同的第一场景类别,第二场景分类模型用于识别不同的第二场景类别,第三场景分类模型是基于第一场景分类模型以及第二场景分类模型组合得到的;应用模块2553,用于通过训练后的第三场景分类模型对待分类图像进行场景分类处理,得到待分类图像在不同的第一场景类别中对应的第一场景类别。
在一些实施例中,获取模块2551,还用于:通过第一场景分类模型,获取每个图像样本的第一分类特征;针对每个第一场景类别执行以下处理:从多个图像样本中获取属于第一场景类别的图像样本,作为目标图像样本,并基于多个目标图像样本的第一分类特征,对多个目标图像样本进行聚类处理,得到与至少一个第二场景类别一一对应的至少一个聚类;基于至少一个聚类,确定每个图像样本的第二场景类别。
在一些实施例中,获取模块2551,还用于:针对每个图像样本执行以下处理:提取图像样本的第一卷积特征,并对图像样本的第一卷积特征进行池化处理,得到图像样本的第一池化特征;对第一池化特征进行多次残差迭代处理,得到图像样本的残差迭代处理结果;对图像样本的残差迭代处理结果进行最大池化处理,得到图像样本的最大池化处理结果;对图像样本的最大池化处理结果进行第一嵌入处理,得到图像样本的第一分类特征。
在一些实施例中,获取模块2551,还用于:将多个目标图像样本组成目标图像样本集合;从目标图像样本集合中随机选择N个目标图像样本,将对应N个目标图像样本的第一分类特征作为多个聚类的初始质心,并将N个目标图像样本从目标图像样本集合移除,其中,N为对应第一场景类别的第二场景类别的数目,N为大于或者等于2的整数;初始化聚类处理的迭代次数为M,并建立对应每个聚类的空的集合,其中,M为大于或者等于2的整数;在聚类处理的每一次迭代过程中执行以下处理:对每个聚类的集合进行更新处理,并基于更新处理结果执行质心生成处理,得到每个聚类的新质心,当新质心不同于初始质心时,将初始质心对应的目标图像样本再次添加至目标图像样本集合,并基于新质心更新初始质心;将迭代M次后得到的每个聚类的集合确定为聚类处理结果,或者,将迭代m次后得到的每个聚类的集合确定为聚类处理结果;其中,迭代m次后得到的多个聚类与迭代m-1次后得到的多个聚类的质心相同,m小于M,m为整数变量且取值满足2≤m≤M。
在一些实施例中,获取模块2551,还用于:针对目标图像样本集合中每个目标图像样本执行以下处理:确定目标图像样本的第一分类特征与每个聚类的初始质心之间的相似度;将最大相似度对应的初始质心确定为与目标图像样本属于相同聚类,并将目标图像样本转移至最大相似度初始质心对应的聚类的集合,最大相似度初始质心为最大的相似度对应的初始质心;将每个聚类的集合中每个目标图像样本的第一分类特征进行平均处理,得到每个聚类的新质心。
在一些实施例中,获取模块2551,还用于:针对多个聚类中的每个聚类执行以下处理:将每个聚类中的每个目标图像样本的第一分类特征进行平均处理,得到每个聚类的质心;针对多个目标图像样本中的每个目标图像样本执行以下处理:确定目标图像样本的第一分类特征与每个聚类的质心之间的特征距离,将小于特征距离阈值的特征距离对应的质心的聚类,确定为与目标图像样本关联的聚类,并将聚类对应的第二场景类别确定为目标图像样本的第二场景类别。
在一些实施例中,获取模块2551,还用于:在将小于特征距离阈值的特征距离对应的质心的聚类,确定为与目标图像样本关联的聚类之前,从数据库中查询每个第一场景类别的标记准确度;针对每个第一场景类别,获取与标记准确度正相关的第一场景类别阈值;确定目标图像样本在多个图像样本中的数目占比,并将数目占比作为第一场景类别阈值的权重;基于每个第一场景类别阈值的权重,对多个第一场景类别阈值进行加权求和处理,得到特征距离阈值。
在一些实施例中,获取模块2551,还用于:针对每个目标图像样本,确定目标图像样本的第一分类特征与每个聚类的质心的候选中心距离,并将最小的候选中心距离确定为目标图像样本的中心距离;获取与标记准确度正相关的升序排序位置,并对多个目标图像样本的中心距离进行升序排序;获取升序排序结果中对应升序排序位置的中心距离,并中心距离确定为第一场景类别阈值。
在一些实施例中,第一场景分类模型包括特征网络、第一特征处理网络、以及对应第一场景类别的第一分类网络;获取模块2551,还用于:通过第一场景分类模型,获取每个图像样本的第一分类特征之前,通过特征网络对图像样本进行特征提取处理,得到图像样本的最大池化处理结果;通过第一特征处理网络对图像样本的最大池化处理结果进行第一嵌入处理,得到图像样本的第一分类特征;通过第一分类网络将第一分类特征映射为图像样本的预标记第一场景类别的第一预测概率;基于第一预测概率、以及图像样本的预标记第一场景类别,确定图像样本的第一分类损失;根据图像样本的第一分类损失,更新第一场景分类模型的参数。
在一些实施例中,训练模块2552,还用于:针对每个图像样本执行以下处理:通过第一场景分类模型、第二场景分类模型以及第三场景分类模型对图像样本进行场景分类处理,得到图像样本的场景分类结果;基于场景分类结果、图像样本的预标记第一场景类别和图像样本的预标记第二场景类别,更新第一场景分类模型、第二场景分类模型以及第三场景分类模型的参数。
在一些实施例中,第一场景分类模型分别与第二场景分类模型以及第三场景分类模型共享第一场景分类模型的特征网络,第一场景分类模型与第三场景分类模型共享第一场景分类模型的第一特征处理网络,第二场景分类模型与第三场景分类模型共享第二场景分类模型的第二特征处理网络;训练模块2552,还用于:通过特征网络对图像样本进行特征提取处理,得到图像样本的最大池化处理结果;通过第一场景分类模型的第一特征处理网络对图像样本的最大池化处理结果进行第一嵌入处理,得到图像样本的第一分类特征;通过第一分类网络将第一分类特征映射为图像样本的预标记第一场景类别的第一预测概率;通过第二特征处理网络对图像样本的最大池化处理结果进行第二嵌入处理,得到图像样本的第二分类特征,并通过第二场景分类模型的第二分类网络将第二分类特征映射为图像样本的至少一个预标记第二场景类别的第二预测概率;对第一分类特征以及第二分类特征进行拼接处理,并通过第三场景分类模型的第三分类网络将拼接处理结果映射为图像样本的预标记第一场景类别的第三预测概率;将第一预测概率、第二预测概率以及第三预测概率,组合为图像样本的场景分类结果。
在一些实施例中,训练模块2552,还用于:基于第一预测概率、以及图像样本的预标记第一场景类别,确定第一分类损失;基于第三预测概率、以及图像样本的预标记第一场景类别,确定第三分类损失;基于至少一个第二预测概率,以及图像样本的至少一个预标记第二场景类别,确定第二分类损失;对第一分类损失、第二分类损失以及第三分类损失进行融合处理,得到联合损失;根据联合损失更新第一场景分类模型、第二场景分类模型以及第三场景分类模型的参数。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本申请实施例上述的基于人工智能的场景分类方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,被处理器执行本申请实施例提供的基于人工智能的场景分类方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
综上所述,通过本申请实施例从具有第一场景类别的标注的图像样本出挖掘出用于表征细粒度场景的场景标注(第二场景类别),从而可以同时基于第二场景类别以及第一场景类别进行训练,相当于同时学习第一场景类别的特征表达以及细粒度场景的特征表达,由于第三场景分类模型是基于第一场景分类模型以及第二场景分类模型组合得到的,从而训练得到的第三场景分类模型兼具有第一场景类别以及细粒度场景类别(第二场景类别)的联合特征表达,从而有效提升场景识别准确度。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (15)

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.根据权利要求10所述的方法,其特征在于,
所述第一场景分类模型分别与所述第二场景分类模型以及所述第三场景分类模型共享所述第一场景分类模型的特征网络,所述第一场景分类模型与所述第三场景分类模型共享所述第一场景分类模型的第一特征处理网络,所述第二场景分类模型与所述第三场景分类模型共享所述第二场景分类模型的第二特征处理网络;
所述通过所述第一场景分类模型、所述第二场景分类模型以及所述第三场景分类模型对所述图像样本进行场景分类处理,得到所述图像样本的场景分类结果,包括:
通过所述特征网络对所述图像样本进行特征提取处理,得到所述图像样本的最大池化处理结果;
通过所述第一场景分类模型的第一特征处理网络对所述图像样本的最大池化处理结果进行第一嵌入处理,得到所述图像样本的第一分类特征;
通过所述第一分类网络将所述第一分类特征映射为所述图像样本的预标记第一场景类别的第一预测概率;
通过所述第二特征处理网络对所述图像样本的最大池化处理结果进行第二嵌入处理,得到所述图像样本的第二分类特征,并通过所述第二场景分类模型的第二分类网络将所述第二分类特征映射为所述图像样本的至少一个预标记第二场景类别的第二预测概率;
对所述第一分类特征以及所述第二分类特征进行拼接处理,并通过所述第三场景分类模型的第三分类网络将拼接处理结果映射为所述图像样本的预标记第一场景类别的第三预测概率;
将所述第一预测概率、所述第二预测概率以及所述第三预测概率,组合为所述图像样本的场景分类结果。
12.根据权利要求11所述的方法,其特征在于,所述基于所述多个图像样本的所述场景分类结果、所述图像样本的预标记第一场景类别和所述图像样本的预标记第二场景类别,更新所述第一场景分类模型、所述第二场景分类模型以及所述第三场景分类模型的参数,包括:
基于所述第一预测概率、以及所述图像样本的预标记第一场景类别,确定第一分类损失;
基于所述第三预测概率、以及所述图像样本的预标记第一场景类别,确定第三分类损失;
基于至少一个所述第二预测概率,以及所述图像样本的至少一个预标记第二场景类别,确定第二分类损失;
对所述第一分类损失、所述第二分类损失以及所述第三分类损失进行融合处理,得到联合损失;
根据所述联合损失更新所述第一场景分类模型、所述第二场景分类模型以及所述第三场景分类模型的参数。
13.一种基于人工智能的场景分类装置,其特征在于,包括:
获取模块,用于针对第一场景类别的多个图像样本,获取每个所述图像样本的至少一个第二场景类别;
其中,每个所述图像样本的至少一个第二场景类别是所述图像样本的第一场景类别的子场景类别;
训练模块,用于基于所述多个图像样本的第一场景类别、以及所述多个图像样本的第二场景类别,联合训练第一场景分类模型、第二场景分类模型以及第三场景分类模型;
其中,所述第一场景分类模型用于识别不同的所述第一场景类别,所述第二场景分类模型用于识别不同的所述第二场景类别,所述第三场景分类模型是基于所述第一场景分类模型以及所述第二场景分类模型组合得到的;
应用模块,用于通过训练后的所述第三场景分类模型对待分类图像进行场景分类处理,得到所述待分类图像在不同的所述第一场景类别中对应的第一场景类别。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的基于人工智能的场景分类方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至12任一项所述的基于人工智能的场景分类方法。
CN202110534639.8A 2021-05-17 2021-05-17 基于人工智能的场景分类方法、装置及电子设备 Active CN112949620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110534639.8A CN112949620B (zh) 2021-05-17 2021-05-17 基于人工智能的场景分类方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110534639.8A CN112949620B (zh) 2021-05-17 2021-05-17 基于人工智能的场景分类方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112949620A true CN112949620A (zh) 2021-06-11
CN112949620B CN112949620B (zh) 2021-07-30

Family

ID=76233900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110534639.8A Active CN112949620B (zh) 2021-05-17 2021-05-17 基于人工智能的场景分类方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112949620B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113762382A (zh) * 2021-09-07 2021-12-07 百果园技术(新加坡)有限公司 模型的训练及场景识别方法、装置、设备及介质
CN116883765A (zh) * 2023-09-07 2023-10-13 腾讯科技(深圳)有限公司 图像分类方法、装置、电子设备及存储介质
CN117765480A (zh) * 2024-02-20 2024-03-26 天科院环境科技发展(天津)有限公司 一种道路沿线野生动物迁徙预警方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105654105A (zh) * 2015-05-27 2016-06-08 宇龙计算机通信科技(深圳)有限公司 一种照片分类方法和装置
CN110298405A (zh) * 2019-07-03 2019-10-01 北京字节跳动网络技术有限公司 类别识别方法及装置、存储介质与终端
CN111694973A (zh) * 2020-06-09 2020-09-22 北京百度网讯科技有限公司 自动驾驶场景的模型训练方法、装置、电子设备
CN112560698A (zh) * 2020-12-18 2021-03-26 北京百度网讯科技有限公司 图像处理方法、装置、设备和介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105654105A (zh) * 2015-05-27 2016-06-08 宇龙计算机通信科技(深圳)有限公司 一种照片分类方法和装置
CN110298405A (zh) * 2019-07-03 2019-10-01 北京字节跳动网络技术有限公司 类别识别方法及装置、存储介质与终端
CN111694973A (zh) * 2020-06-09 2020-09-22 北京百度网讯科技有限公司 自动驾驶场景的模型训练方法、装置、电子设备
CN112560698A (zh) * 2020-12-18 2021-03-26 北京百度网讯科技有限公司 图像处理方法、装置、设备和介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113762382A (zh) * 2021-09-07 2021-12-07 百果园技术(新加坡)有限公司 模型的训练及场景识别方法、装置、设备及介质
CN113762382B (zh) * 2021-09-07 2024-03-08 百果园技术(新加坡)有限公司 模型的训练及场景识别方法、装置、设备及介质
CN116883765A (zh) * 2023-09-07 2023-10-13 腾讯科技(深圳)有限公司 图像分类方法、装置、电子设备及存储介质
CN116883765B (zh) * 2023-09-07 2024-01-09 腾讯科技(深圳)有限公司 图像分类方法、装置、电子设备及存储介质
CN117765480A (zh) * 2024-02-20 2024-03-26 天科院环境科技发展(天津)有限公司 一种道路沿线野生动物迁徙预警方法及***
CN117765480B (zh) * 2024-02-20 2024-05-10 天科院环境科技发展(天津)有限公司 一种道路沿线野生动物迁徙预警方法及***

Also Published As

Publication number Publication date
CN112949620B (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN112949620B (zh) 基于人工智能的场景分类方法、装置及电子设备
CN109978893B (zh) 图像语义分割网络的训练方法、装置、设备及存储介质
CN107851191B (zh) 用于图像中的对象检测的基于上下文的先验
CN112734775B (zh) 图像标注、图像语义分割、模型训练方法及装置
CN112699855B (zh) 基于人工智能的图像场景识别方法、装置及电子设备
US20180114071A1 (en) Method for analysing media content
JP2017062781A (ja) 深層cnnプーリング層を特徴として用いる、類似度に基づく重要な対象の検知
CN112990378B (zh) 基于人工智能的场景识别方法、装置及电子设备
KR20160091786A (ko) 사용자 관리 방법 및 사용자 관리 장치
CN111597374B (zh) 图像分类方法、装置及电子设备
CN111708913B (zh) 一种标签生成方法、设备及计算机可读存储介质
CN112529020A (zh) 基于神经网络的动物识别方法、***、设备及存储介质
CN113569895A (zh) 图像处理模型训练方法、处理方法、装置、设备及介质
CN114298122A (zh) 数据分类方法、装置、设备、存储介质及计算机程序产品
CN113515669A (zh) 基于人工智能的数据处理方法和相关设备
CN114064974A (zh) 信息处理方法、装置、电子设备、存储介质及程序产品
CN113762326A (zh) 一种数据识别方法、装置、设备及可读存储介质
Nikolopoulos et al. Evidence-driven image interpretation by combining implicit and explicit knowledge in a bayesian network
CN113610770A (zh) 一种车牌识别方法和装置及设备
CN111652320B (zh) 一种样本分类方法、装置、电子设备及存储介质
CN113705293A (zh) 图像场景的识别方法、装置、设备及可读存储介质
CN112507912B (zh) 一种识别违规图片的方法及装置
CN113822130A (zh) 模型训练方法、场景识别方法、计算设备和介质
Parham Animal detection for photographic censusing
Nwogu et al. Disco: Describing images using scene contexts and objects

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40046484

Country of ref document: HK