图像识别方法、装置、计算机设备和存储介质转让专利

申请号 : CN202010630253.2

文献号 : CN111523621B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭卉

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

摘要 :

本申请涉及一种图像识别方法、装置、计算机设备和存储介质。所述图像识别方法包括:获取训练样本图像;将所述训练样本图像输入到待训练的图像识别模型中,得到第一类别置信度;根据所述第一类别置信度得到所述训练样本图像对应的第一模型识别熵;确定所述训练样本图像对应的第一样本类型,根据所述第一样本类型以及所述第一模型识别熵得到目标模型损失值,根据所述目标模型损失值对所述图像识别模型中的模型参数进行调整,得到训练后的图像识别模型,并基于所述训练后的图像识别模型进行图像识别。本申请实施例提供的图像识别模型可以部署于云服务器中,云服务器提供人工智能云服务,采用本方法能够提高图像识别模型的图像识别准确度。

权利要求 :

1.一种图像识别方法,其特征在于,所述方法包括:

获取训练样本图像;

将所述训练样本图像输入到待训练的图像识别模型中,得到第一类别置信度;

根据所述第一类别置信度得到所述训练样本图像对应的第一模型识别熵;

确定所述训练样本图像对应的第一样本类型,根据所述第一样本类型以及所述第一模型识别熵得到目标模型损失值;

根据所述目标模型损失值对所述图像识别模型中的模型参数进行调整,得到训练后的图像识别模型,并基于所述训练后的图像识别模型进行图像识别。

2.根据权利要求1所述的方法,其特征在于,所述根据所述第一样本类型以及所述第一模型识别熵得到目标模型损失值包括:当所述第一样本类型为背景类样本时,根据第一模型识别熵得到目标模型损失值,其中,所述目标模型损失值与所述第一模型识别熵成负相关关系。

3.根据权利要求1所述的方法,其特征在于,所述根据所述第一样本类型以及所述第一模型识别熵得到目标模型损失值包括:当所述第一样本类型为目标类样本时,根据第一模型识别熵得到目标模型损失值,其中,所述目标模型损失值与所述第一模型识别熵成正相关关系。

4.根据权利要求2或3所述的方法,其特征在于,所述根据第一模型识别熵得到目标模型损失值包括:根据第一模型识别熵计算得到模型识别熵损失值;

根据所述第一类别置信度计算得到模型分类损失值;

根据所述模型识别熵损失值以及所述模型分类损失值得到目标模型损失值。

5.根据权利要求1所述的方法,其特征在于,所述第一类别置信度包括多个候选图像类别分别对应的第一类别置信度,所述根据所述第一类别置信度得到所述训练样本图像对应的第一模型识别熵包括:以各个所述候选图像类别对应的第一类别置信度为真数进行对数计算,得到各个所述第一类别置信度对应的第一对数值;

根据各个所述第一类别置信度对应的第一对数值计算得到所述训练样本图像对应的第一模型识别熵。

6.根据权利要求1所述的方法,其特征在于,所述根据所述目标模型损失值对所述图像识别模型中的模型参数进行调整,得到训练后的图像识别模型包括:根据所述目标模型损失值进行反向传播,并在反向传播的过程中,沿梯度下降方向更新所述图像识别模型的模型参数,得到训练后的图像识别模型。

7.根据权利要求1所述的方法,其特征在于,所述获取训练样本图像包括:获取候选样本图像集合中的候选样本图像对应的模型学习难度;

根据各个所述候选样本图像对应的模型学习难度确定所述候选样本图像对应的采样权重,其中,所述候选样本图像对应的模型学习难度与所述候选样本图像对应的采样权重成正相关关系;

基于所述候选样本图像对应的采样权重从所述候选样本图像集合中采样得到训练样本图像。

8.根据权利要求7所述的方法,其特征在于,所述获取候选样本图像集合中的候选样本图像对应的模型学习难度包括:将候选样本图像集合中的候选样本图像输入到待训练的图像识别模型,得到所述图像识别模型输出的各个所述候选样本图像对应的图像特征向量;

获取所述候选样本图像对应的第二样本类型;

对属于同一样本类型的候选样本图像对应的图像特征向量进行聚类,得到各个图像特征向量对应的聚类中心;

基于所述候选样本图像对应的图像特征向量与对应的聚类中心的距离,确定所述候选样本图像对应的模型学习难度,所述模型学习难度与所述距离成正相关关系。

9.一种图像识别方法,其特征在于,所述方法包括:

获取待识别的图像;

将所述待识别的图像输入到训练后的图像识别模型中,得到第二类别置信度,所述训练后的图像识别模型是根据目标模型损失值进行模型参数调整得到的,所述目标模型损失值根据训练样本图像对应的第一模型识别熵以及所述训练样本图像对应的第一样本类型得到;

根据所述第二类别置信度得到所述待识别的图像对应的第二模型识别熵;

当确定所述第二模型识别熵大于模型识别熵阈值时,确定所述待识别的图像为背景类图像。

10.根据权利要求9所述的方法,其特征在于,确定所述模型识别熵阈值的步骤包括:获取测试样本图像集合;

将所述测试样本图像集合中的各个测试样本图像输入到训练后的图像识别模型中,根据识别得到的第三类别置信度得到所述测试样本图像对应的第三模型识别熵;

根据所述测试样本图像对应的第三模型识别熵以及所述测试样本图像对应的第三样本类型,得到模型识别熵阈值;

其中,所述模型识别熵阈值满足样本类型对应的划分准确度条件,所述划分准确度条件包括目标准确度大于准确度阈值或者准确度排序在预设排序之前的至少一个,所述目标准确度为对所述测试样本图像集合中的测试样本图像进行样本类型划分的准确度。

11.根据权利要求10所述的方法,其特征在于,所述根据所述测试样本图像对应的第三模型识别熵以及所述测试样本图像对应的第三样本类型,得到模型识别熵阈值包括:获取候选识别熵阈值;

当所述测试样本图像对应的第三模型识别熵大于所述候选识别熵阈值时,确定所述测试样本图像对应的预测样本类型为背景类样本;

根据所述测试样本图像对应的第三样本类型以及所述测试样本图像对应的预测样本类型得到所述测试样本图像集合中,背景类样本对应的背景类预测准确度;

从候选识别熵阈值集合中,获取对应的背景类预测准确度最大的候选识别熵阈值,作为模型识别熵阈值。

12.一种图像识别装置,其特征在于,所述装置包括:

训练样本图像获取模块,用于获取训练样本图像;

第一类别置信度获取模块,用于将所述训练样本图像输入到待训练的图像识别模型中,得到第一类别置信度;

第一模型识别熵得到模块,用于根据所述第一类别置信度得到所述训练样本图像对应的第一模型识别熵;

目标模型损失值得到模块,用于确定所述训练样本图像对应的第一样本类型,根据所述第一样本类型以及所述第一模型识别熵得到目标模型损失值;

调整模块,用于根据所述目标模型损失值对所述图像识别模型中的模型参数进行调整,得到训练后的图像识别模型,并基于所述训练后的图像识别模型进行图像识别。

13.一种图像识别装置,其特征在于,所述装置包括:

待识别的图像获取模块,用于获取待识别的图像;

第二类别置信度获取模块,用于将所述待识别的图像输入到训练后的图像识别模型中,得到第二类别置信度,所述训练后的图像识别模型是根据目标模型损失值进行模型参数调整得到的,所述目标模型损失值根据训练样本图像对应的第一模型识别熵以及所述训练样本图像对应的第一样本类型得到;

第二模型识别熵得到模块,用于根据所述第二类别置信度得到所述待识别的图像对应的第二模型识别熵;

结果得到模块,用于当确定所述第二模型识别熵大于模型识别熵阈值时,确定所述待识别的图像为背景类图像。

14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。

15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。

说明书 :

图像识别方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及图像识别技术领域,特别是涉及一种图像识别方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着多媒体技术和网络技术的飞速发展和广泛应用,在日常生活和生产活动中经常需要使用图像。为了充分利用图像中的信息,可以进行图像识别,识别得到图像中包括的对象,例如,识别图像中动物的类别。
[0003] 目前,可以通过基于人工智能的图像识别模型对图像进行识别。然而,经常存在图像识别模型识别得到的图像识别结果与实际不符合的情况,即图像识别模型的识别准确度低。

发明内容

[0004] 基于此,有必要针对上述技术问题,提供一种图像识别方法、装置、计算机设备和存储介质。
[0005] 一种图像识别方法,所述方法包括:获取训练样本图像;将所述训练样本图像输入到待训练的图像识别模型中,得到第一类别置信度;根据所述第一类别置信度得到所述训练样本图像对应的第一模型识别熵;确定所述训练样本图像对应的第一样本类型,根据所述第一样本类型以及所述第一模型识别熵得到目标模型损失值,根据所述目标模型损失值对所述图像识别模型中的模型参数进行调整,得到训练后的图像识别模型,并基于所述训练后的图像识别模型进行图像识别。
[0006] 一种图像识别装置,所述装置包括:训练样本图像获取模块,用于获取训练样本图像;第一类别置信度获取模块,用于将所述训练样本图像输入到待训练的图像识别模型中,得到第一类别置信度;第一模型识别熵得到模块,用于根据所述第一类别置信度得到所述训练样本图像对应的第一模型识别熵;目标模型损失值得到模块,用于确定所述训练样本图像对应的第一样本类型,根据所述第一样本类型以及所述第一模型识别熵得到目标模型损失值;调整模块,用于根据所述目标模型损失值对所述图像识别模型中的模型参数进行调整,得到训练后的图像识别模型,并基于所述训练后的图像识别模型进行图像识别。
[0007] 在一些实施例中,所述目标模型损失值得到模块用于:当所述第一样本类型为背景类样本时,根据第一模型识别熵得到目标模型损失值,其中,所述目标模型损失值与所述第一模型识别熵成负相关关系。
[0008] 在一些实施例中,所述目标模型损失值得到模块用于:当所述第一样本类型为目标类样本时,根据第一模型识别熵得到目标模型损失值,其中,所述目标模型损失值与所述第一模型识别熵成正相关关系。
[0009] 在一些实施例中,所述目标模型损失值得到模块用于:根据第一模型识别熵计算得到模型识别熵损失值;根据所述第一类别置信度计算得到模型分类损失值;根据所述模型识别熵损失值以及所述模型分类损失值得到目标模型损失值。
[0010] 在一些实施例中,所述第一类别置信度包括多个候选图像类别分别对应的第一类别置信度,所第一模型识别熵得到模块用于:以各个所述候选图像类别对应的第一类别置信度为真数进行对数计算,得到各个所述第一类别置信度对应的第一对数值;根据各个所述第一类别置信度对应的第一对数值计算得到所述训练样本图像对应的第一模型识别熵。
[0011] 在一些实施例中,所述调整模块用于包括:根据所述目标模型损失值进行反向传播,并在反向传播的过程中,沿梯度下降方向更新所述图像识别模型的模型参数,得到训练后的图像识别模型。
[0012] 在一些实施例中,所述训练样本图像获取模块包括:模型学习难度获取单元,用于获取候选样本图像集合中的候选样本图像对应的模型学习难度;采样权重确定单元,用于根据各个所述候选样本图像对应的模型学习难度确定所述候选样本图像对应的采样权重,其中,所述候选样本图像对应的模型学习难度与所述候选样本图像对应的采样权重成正相关关系;采样单元,用于基于所述候选样本图像对应的采样权重从所述候选样本图像集合中采样得到训练样本图像。
[0013] 在一些实施例中,所述模型学习难度获取单元用于:将候选样本图像集合中的候选样本图像输入到待训练的图像识别模型,得到所述图像识别模型输出的各个所述候选样本图像对应的图像特征向量;获取所述候选样本图像对应的第二样本类型;对属于同一样本类型的候选样本图像对应的图像特征向量进行聚类,得到各个图像特征向量对应的聚类中心;基于所述候选样本图像对应的图像特征向量与对应的聚类中心的距离,确定所述候选样本图像对应的模型学习难度,所述模型学习难度与所述距离成正相关关系。
[0014] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述图像识别方法的步骤。
[0015] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述图像识别方法的步骤。
[0016] 上述图像识别方法、装置、计算机设备和存储介质,通过获取训练样本图像,将训练样本图像输入到待训练的图像识别模型中,得到第一类别置信度,根据第一类别置信度得到训练样本图像对应的第一模型识别熵,确定训练样本图像对应的第一样本类型,根据第一样本类型以及第一模型识别熵得到目标模型损失值;根据目标模型损失值对图像识别模型中的模型参数进行调整,得到训练后的图像识别模型。由于训练样本图像对应的样本类型根据图像识别模型的识别目标区分,因此通过区分训练样本图像的样本类型,依据模型识别熵得到的模型损失值调整模型参数,能够使得图像识别模型额外学习到识别样本图像对应的类型的能力,故提高了图像识别模型的识别准确度。
[0017] 一种图像识别方法,所述方法包括:获取待识别的图像;将所述待识别的图像输入到训练后的图像识别模型中,得到第二类别置信度,所述训练后的图像识别模型是根据目标模型损失值进行模型参数调整得到的,所述目标模型损失值根据训练样本图像对应的第一模型识别熵以及所述训练样本图像对应的第一样本类型得到;根据所述第二类别置信度得到所述待识别的图像对应的第二模型识别熵;当确定所述第二模型识别熵大于模型识别熵阈值时,确定所述待识别的图像为背景类图像。
[0018] 一种图像识别装置,所述装置包括:待识别的图像获取模块,用于获取待识别的图像;第二类别置信度获取模块,用于将所述待识别的图像输入到训练后的图像识别模型中,得到第二类别置信度,所述训练后的图像识别模型是根据目标模型损失值进行模型参数调整得到的,所述目标模型损失值根据训练样本图像对应的第一模型识别熵以及所述训练样本图像对应的第一样本类型得到;第二模型识别熵得到模块,用于根据所述第二类别置信度得到所述待识别的图像对应的第二模型识别熵;结果得到模块,用于当确定所述第二模型识别熵大于模型识别熵阈值时,确定所述待识别的图像为背景类图像。
[0019] 在一些实施例中,确定所述模型识别熵阈值的模块包括:测试样本图像集合单元,用于获取测试样本图像集合;第三模型识别熵得到单元,用于将所述测试样本图像集合中的各个测试样本图像输入到训练后的图像识别模型中,根据识别得到的第三类别置信度得到所述测试样本图像对应的第三模型识别熵;模型识别熵阈值得到单元,用于根据所述测试样本图像对应的第三模型识别熵以及所述测试样本图像对应的第三样本类型,得到模型识别熵阈值;其中,所述模型识别熵阈值满足样本类型对应的划分准确度条件,所述划分准确度条件包括目标准确度大于准确度阈值或者准确度排序在预设排序之前的至少一个,所述目标准确度为对所述测试样本图像集合中的测试样本图像进行样本类型划分的准确度。
[0020] 在一些实施例中,所述模型识别熵阈值得到单元用于:获取候选识别熵阈值;当所述测试样本图像对应的第三模型识别熵大于所述候选识别熵阈值时,确定所述测试样本图像对应的预测样本类型为背景类样本;根据所述测试样本图像对应的第三样本类型以及所述测试样本图像对应的预测样本类型得到所述测试样本图像集合中,背景类样本对应的背景类预测准确度;从候选识别熵阈值集合中,获取对应的背景类预测准确度最大的候选识别熵阈值,作为模型识别熵阈值。
[0021] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述图像识别方法的步骤。
[0022] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述图像识别方法的步骤。
[0023] 上述图像识别方法、装置、计算机设备和存储介质,由于训练样本图像对应的样本类型根据图像识别模型的识别目标区分,因此通过区分训练样本图像的样本类型,依据模型识别熵得到的模型损失值调整模型参数,能够使得图像识别模型额外学习到识别样本图像对应的类型的能力,因此能够在当第二模型识别熵大于模型识别熵阈值,确定待识别的图像为背景类图像,提高了图像识别的准确度。

附图说明

[0024] 图1为一些实施例中图像识别方法的应用环境图;
[0025] 图2为一些实施例中图像识别方法的流程示意图;
[0026] 图3为一些实施例中确定模型识别熵阈值步骤的流程示意图;
[0027] 图4为一些实施例中图像识别方法的流程示意图;
[0028] 图5为一些实施例中训练后的图像识别模型输出图像识别结果的示意图;
[0029] 图6为一些实施例中触发图像识别请求以及显示图像分类结果的界面示意图;
[0030] 图7为一些实施例中残差模块的结构示意图;
[0031] 图8为一些实施例中训练图像识别模型的原理示意图;
[0032] 图9为一些实施例中图像识别方法的应用场景示意图;
[0033] 图10为一些实施例中图像识别装置的结构框图;
[0034] 图11为一些实施例中图像识别装置的结构框图;
[0035] 图12为一些实施例中计算机设备的内部结构图。

具体实施方式

[0036] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0037] 可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一模型识别熵称为第二模型识别熵,且类似地,可将第二模型识别熵称为第一模型识别熵。
[0038] 本申请提供的图像识别方法,可以应用于如图1所示的应用环境中。服务器104可以根据本申请实施例提供的图像识别方法进行模型训练,得到训练后的图像识别模型。服务器104中可以部署有训练后的图像识别模型。当需要进行图像识别时,例如当用户需要确定图像中的类别时,则可以操作终端102,终端102根据接收到的操作向服务器104发送图像识别请求,服务器104获取图像识别请求对应的所要识别的图像,利用训练后的图像识别模型对待识别的图像进行图像识别,得到图像识别结果。服务器104可以向终端102返回图像识别结果。
[0039] 其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。可以理解,本申请实施例提供的方法也可以是在终端中执行的。
[0040] 本申请实施例提供的图像识别模型是基于人工智能的模型,人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0041] 计算机视觉技术(Computer Vision, CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。
[0042] 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
[0043] 本申请实施例提供的训练后的图像识别模型可以部署于云服务器中,云服务器提供人工智能云服务,所谓人工智能云服务,一般也被称作是AIaaS(AI as a Service,中文为“AI即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过API接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。
[0044] 在一些实施例中,如图2所示,提供了一种图像识别方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
[0045] 步骤S202,获取训练样本图像。
[0046] 其中,训练样本图像是用于进行模型训练的图像。为了得到具有识别能力的图像识别模型,可以利用有监督的训练方法进行模型训练,以使得图像识别模型可以根据训练样本图像以及其对应的类别标签学习得到对图像进行识别的能力,即可以学习得到进行图像识别的模型参数。训练样本图像是从候选样本图像集合中选取得到的,例如,候选样本图像集合中可以有10万张图像,可以进行随机采样,即随机从中选取图像作为训练样本图像,也可以是加权随机采样,基于候选样本图像集合中的图像的采样权重进行采样,采样权重越大,则作为训练样本图像的概率越大。
[0047] 具体地,服务器可以接收模型训练指令,根据模型训练指令从候选样本图像集合中获取训练样本图像。例如,在每轮训练时,可以从候选样本图像集合中获取2万张图像作为训练样本图像。
[0048] 步骤S204,将训练样本图像输入到待训练的图像识别模型中,得到第一类别置信度。
[0049] 其中,图像识别模型用于对图像进行识别,识别出图像中包括的对象的类别,对象可以是物品或者人。比如,对图像中的人、狗、猫和鸟等类别进行识别,并给出该对象的名称。待训练的图像识别模型是指还需要进一步训练的模型,可以是初始的图像识别模型,也可以是经过一轮或者多轮模型训练得到的图像识别模型。
[0050] 类别置信度用于表示图像中存在各个图像类别对应的对象的可能性,置信度越大,则可能性越大,置信度的取值范围可以是0至1。例如,假设图像识别模型是识别猫和狗的模型,则图像识别模型可以输出训练样本图像中的对象为猫的概率、狗的概率以及既不是猫也可不是狗的概率(可以称为背景类概率)。
[0051] 具体地,服务器可以将训练样本图像输入到待训练的图像识别模型,图像识别模型中的特征提取层可以对图像进行特征提取,提取得到的特征向量输入到图像识别模型的分类层中,分类层对图像特征向量进行处理,得到各个候选图像类别对应的类别置信度,作为第一类别置信度。候选图像类别是指候选的图像类别,最终得到的图像对应的类别是从候选图像类别中选取的。例如,在利用图像识别模型进行图像识别时,可以将置信度最大的图像类别作为该图像所对应的类别。图像类别是图像所反映的图像内容特征所属的类别,例如根据图像中是显示有苹果还是橘子,将图像分为苹果图像类别或者橘子图像类别等。
[0052] 在一些实施中,图像识别模型可以是深度神经网络模型,例如可以是基于CNN(Convolutional Neural Networks,卷积神经网络)的模型,通过卷积层对图像进行特征提取。深度神经网络模型可以具有多层的神经网络结构,神经网络结构可以包括多个堆叠的卷积层,还可以包括池化层,神经网络结构中还可以跨层连接。
[0053] 步骤S206,根据第一类别置信度得到训练样本图像对应的第一模型识别熵。
[0054] 其中,熵是体系混乱程度的度量。模型识别熵是对通过图像识别模型对图像进行识别,所得到的类别置信度的混乱程度的度量。熵越大,则说明该模型输出的类别置信度越不确定,越混乱。即图像识别模型对该训练样本图像的识别越没信心。第一模型识别熵是根据第一类别置信度得到的,因此能够体现各个候选图像类别的置信度的分布状况。
[0055] 具体地,服务器可以结合各个候选图像类别分别对应的第一类别置信度,得到第一模型识别熵,其中第一模型识别熵与候选图像类别的分布均匀情况成正相关关系,即候选图像类别的第一类别置信度分布越均匀,则第一模型识别熵越大。
[0056] 在一些实施例中,第一类别置信度包括多个候选图像类别分别对应的第一类别置信度,根据第一类别置信度得到训练样本图像对应的第一模型识别熵包括:以各个候选图像类别对应的第一类别置信度为真数进行对数计算,得到各个第一类别置信度对应的第一对数值;根据各个第一类别置信度对应的第一对数值计算得到训练样本图像对应的第一模型识别熵。
[0057] 其中,在进行对数计算时,以候选图像类别对应的第一类别置信度为真数,以预设数值作为底数进行对数计算,预设数值大于1,例如可以为自然数e。得到第一对数值之后,可以将第一对数值进行相加,相加可以是加权相加。例如可以是将每个第一类别置信度作为所对应的第一对数值的加权权重,将第一类别置信度与对应的第一对数值相乘,得到第一乘积,将各个候选图像类别对应的第一乘积相加,得到相加和,对相加和进行取反,得到第一模型识别熵,由于当真数小于1时,以大于1的数为底数的对数计算得到的值为负数,因此通过进行取反,能够使得到的第一模型识别熵为大于等于0。例如,第一模型识别熵的计算公式可以表示如公式(1),其中,H(p|y,x)指对具有实际类别y的样本x的模型识别熵,M为候选图像类别的数量,例如,假设有2个候选图像类别,则M为2。p为图像识别模型训练样本图像在各候选图像类别上的第一类别置信度组成的向量,故p是1*M维向量,pi为1*M维向量中,第i个向量值,即第i个候选图像类别的第一类别置信。该对数的底数为大于1的数。
[0058]      (1)
[0059] 步骤S208,确定训练样本图像对应的第一样本类型,根据第一样本类型以及第一模型识别熵得到目标模型损失值。
[0060] 其中,样本类型根据图像识别模型所要识别的目标确定,一个样本图像的样本类型可以是背景类样本或者是目标类样本,目标类样本是指该样本图像为标注为目标类别的图像,背景类样本是指该样本图像为标注为不是目标类别的图像,即标注为背景类别的图像。目标类别是指该图像识别模型所要识别的类别,在图像识别中,除了目标类别的图像外,还存在非目标类别的图像,称为背景类图像。例如,如在做猫以及狗的物种识别问题上,猫和狗为目标类别,猫和狗之外的为背景类别,如狮子和桌子为背景类别。在饮料类商品识别任务中,货架上的非饮料类如啤酒、纯牛奶、纯净水以及口香糖等都属于背景类别。
[0061] 样本图像的样本类型可以是预先标注好的。在训练图像识别模型之前,可以对样本图像进行人工标注或者自动标注,如果样本图像中的对象属于目标类别,则标注为具体的类别名称,如果样本图像中的对象属于背景类别,则标注为背景类。例如,假设图像识别模型的识别目标为猫和狗,假设样本图像中的动物为猫或者狗,则该样本图像为目标类样本。当样本图像中的对象不是猫也不是狗时,则该样本图像为背景类样本。服务器也可以是获取已标注好的图像作为训练样本图像,例如从通用物体识别开源数据集中获取训练样本图像,根据通用物体识别开源数据集中图像的类别标签,确定图像的样本类型。
[0062] 损失值是根据损失函数得到的,损失函数(loss function)是用于表示事件的“风险”或“损失”的函数。目标模型损失值是根据第一样本类型以及第一模型识别熵得到的,第一样本类型用于确定模型识别熵与模型损失值的对应关系,例如计算公式。第一模型识别熵为公式中的变量。即背景类样本所对应的模型识别熵与模型损失值的对应关系,与目标类样本所对应的模型识别熵与模型损失值的对应关系是不同的。
[0063] 具体地,服务器可以根据训练样本图像的类别标签确定其对应的第一样本类型。如果训练样本图像的类别标签属于图像识别模型所要识别的目标类别,则训练样本图像为目标类样本。如果训练样本图像的类别标签不属于图像识别模型所要识别的目标类别,则训练样本图像为背景类样本。得到第一样本类型后,可以根据第一样本类型确定模型识别熵与模型损失值的对应关系,根据对应关系以及第一模型识别熵得到目标模型损失值。
[0064] 在一些实施例中,当第一样本类型为背景类样本时,根据第一模型识别熵得到目标模型损失值,其中,目标模型损失值与第一模型识别熵成负相关关系。
[0065] 在一些实施例中,当第一样本类型为目标类样本时,根据第一模型识别熵得到目标模型损失值,其中,目标模型损失值与第一模型识别熵成正相关关系。
[0066] 其中,负相关关系是指:在其他条件不变的情况下,两个变量变动方向不同,一个变量由大到小变化时,另一个变量由小到大变化。正相关关系是指:在其他条件不变的情况下,两个变量变动方向相同,一个变量由大到小变化时,另一个变量也由大到小变化。可以理解的是,这里的正相关关系是指变化的方向是一致的,但并不是要求当一个变量有一点变化,另一个变量就必须也变化。例如,可以设置当变量a为10至20时,变量b为100,当变量a为20至30时,变量b为120。这样,a与b的变化方向都是当a变大时,b也变大。但在a为10至20的范围内时,b可以是没有变化的。负相关关系也并不是要求当一个变量有一点变化,另一个变量就必须也变化。
[0067] 当第一样本类型为背景类样本时,根据第一模型识别熵得到目标模型损失值的对应关系可以根据需要设置。例如,可以是将第一模型识别熵的倒数作为目标模型损失值。也可以是将第一模型识别熵取反,作为目标模型损失值,例如,假设第一模型识别熵为2,则目标模型损失值可以为-2。当然还可以结合其他方法得到的模型损失值得到目标模型损失值。当第一样本类型为背景类样本时,由于目标模型损失值与第一模型识别熵成负相关关系,因此使得第一模型识别熵对目标模型损失值的影响是负向的,而模型参数的调整是朝着使模型损失值变小的方向进行调整的,因此,相当于朝着背景类样本的熵变大的方向调整模型参数,即背景类样本的熵越大越好。从而使得在通过训练得到的图像识别模型进行图像识别时,背景类别的图像的模型识别熵大,从而可以根据图像的模型识别熵判断图像是否为背景类别。
[0068] 当第一样本类型为目标类样本时,根据第一模型识别熵得到目标模型损失值可以根据需要设置。例如,可以是将第一模型识别熵作为目标模型损失值,也可以是乘以大于0的预设系数得到目标模型损失值。例如,假设第一模型识别熵为2,则目标模型损失值也为2。当然还可以结合其他方法得到的模型损失值得到目标模型损失值。当第一样本类型为目标类样本时,由于目标模型损失值与第一模型识别熵成正相关关系,因此使得第一模型识别熵对目标模型损失值的影响是正向的,而模型参数的调整是朝着使模型损失值变小的方向进行调整的,因此,相当于朝着目标类样本的熵变小的方向调整模型参数,即目标类样本的熵越小越好。从而使得在通过训练得到的图像识别模型进行图像识别时,目标类别的图像的模型识别熵小,从而可以根据图像的模型识别熵判断图像是否为背景类别。
[0069] 在一些实施例中,根据第一模型识别熵得到目标模型损失值包括:根据第一模型识别熵计算得到模型识别熵损失值;根据第一类别置信度计算得到模型分类损失值;根据模型识别熵损失值以及模型分类损失值得到目标模型损失值。
[0070] 其中,将根据第一模型识别熵计算得到的模型损失值作为模型识别熵损失值。模型分类损失值是根据模型分类的损失值得到的,例如可以根据平方损失函数计算得到,可以计算图像识别模型输出的概率分布与图像对应的真实的概率分布的差异的平方和,作为模型分类损失值。目标模型损失值根据模型识别熵损失值以及模型分类损失值得到,例如可以进行加权求和得到。根据模型识别熵损失值以及对应的第一权重,模型分类损失值以及对应的第二权重进行加权求和计算,得到目标模型损失值。第一权重以及第二权重可以根据需要设置,例如第一权重可以为1,第二权重可以为2。例如,计算目标模型损失值的公式可以表示如公式(2)。其中Lclass表示模型分类损失值,Lentropy表示模型识别熵损失值,a为加权权值,可以根据需要设置,可以为0.1至0.7之间的范围。模型识别熵损失值的计算公式可以表示为公式(3)。其中y等于0表示第一样本图像为背景类样本。y不等于0表示第一样本图像为目标类样本。即当第一样本图像为背景类样本时,可以将第一模型识别熵的取反,作为模型识别熵损失值。即当第一样本图像为目标类样本时,可以将第一模型识别熵作为模型识别熵损失值。
[0071]     (2)
[0072]      (3)
[0073] 通过结合模型识别熵损失值以及模型分类损失值得到目标模型损失值,综合这两类损失对图像识别模型进行训练,使得学习得到的模型参数既具有图像分类能力,又能够识别出背景类图像,从而提高了图像识别模型的识别效果。
[0074] 步骤S210,根据目标模型损失值对图像识别模型中的模型参数进行调整,得到训练后的图像识别模型,并基于训练后的图像识别模型进行图像识别。
[0075] 其中,模型参数是指图像识别模型内部的变量参数,对于神经网络模型,也可以称为神经网络权重(weight)。训练后的图像识别模型可以是经过一次或者多次训练得到的。
[0076] 具体地,服务器可以朝着损失值变小的方向调整待训练的图像识别模型中的模型参数,可以经过多次迭代训练,得到训练后的图像识别模型。基于训练后的图像识别模型进行图像识别是指利用训练后的图像识别模型进行图像识别。
[0077] 在一些实施例中,根据目标模型损失值对图像识别模型中的模型参数进行调整,得到训练后的图像识别模型包括:根据目标模型损失值进行反向传播,并在反向传播的过程中,沿梯度下降方向更新图像识别模型的模型参数,得到训练后的图像识别模型。
[0078] 其中,反向是指参数的更新与图像的识别的方向是相反的,由于参数的更新是反向传播的,因此可以根据目标模型损失值得到下降梯度,从图像识别模型的最后一层开始,根据下降梯度开始进行模型参数的梯度更新,直至到达图像识别模型的第一层。梯度下降方法可以是随机梯度下降法和批量梯度下降等等。可以理解,模型的训练可以是迭代多次的,即训练后的图像识别模板可以是迭代训练得到的,当满足模型收敛条件时再停止训练,模型收敛条件可以是模型损失值的小于预设损失值,也可以是当模型参数的变化小于预设参数变化值。
[0079] 在一些实施例中,图像识别模型为深度神经网络模型,可以采用SGD(Stochastic Gradient Descent,随机梯度下降)的梯度下降法求解神经网络模型的卷积模板参数w和偏置参数b。神经网络模型的所有参数可以都设为需要学习状态,训练时神经网络模型对输入的一张训练样本图像进行前向计算得到预测的置信度分布,根据预测的置信度分布与真实的置信度分布的差异得到分类损失值,根据第一模型识别熵得到模型识别熵损失值。计算两个损失值的加权和作为目标模型损失值,把目标模型损失值回传到图像识别模型中,通过随机梯度下降法更新网络权重参数,从而实现一次模型参数的优化,经过多次优化,最终得到表现良好的图像识别模型。初始学习率可以设置为0.01,每隔一定轮次的迭代学习后学习率以可以乘以下降系数以降低学习率,如每10轮乘以0.1。
[0080] 上述图像识别方法,通过获取训练样本图像,将训练样本图像输入到待训练的图像识别模型中,得到第一类别置信度,根据第一类别置信度得到训练样本图像对应的第一模型识别熵,确定训练样本图像对应的第一样本类型,根据第一样本类型以及第一模型识别熵得到目标模型损失值;根据目标模型损失值对图像识别模型中的模型参数进行调整,得到训练后的图像识别模型。由于训练样本图像对应的样本类型根据图像识别模型的识别目标区分,因此通过区分训练样本图像的样本类型,依据模型识别熵得到的模型损失值调整模型参数,能够使得图像识别模型额外学习到识别样本图像对应的类型的能力,故提高了图像识别模型的识别准确度。
[0081] 本申请实施例训练得到的图像识别模型可以对抗未知背景类的图像的干扰。在现实物体识别的产品中,经常遇到的任务是带背景类识别,带背景类识别又叫开集识别,指在图像识别任务中,输入的图像除了是目标类别的图像外,可能还存在非目标类别的图像。因此,需要对抗背景类图像的干扰,而训练样本图像中,背景类样本无法覆盖所有自然与社会物体,故在得到训练后的图像识别模型,进行应用时,可能遇到训练中未遇到的背景类图像,从而对识别效果带来影响,而通过加入基于模型识别熵的损失函数,使得在朝着使目标模型损失值变小的方向调整模型参数时,是朝着使目标类样本的熵变小的方向以及朝着背景类样本的熵变大的方向调整模型参数的,使得在模型的学习中能对图像是否为背景类图像或者目标类图像进行额外学习。这样,利用训练后的图像识别模型在对图像进行识别时,背景类图像对应的模型识别熵较大,而目标类图像对应的模型识别熵较小,从而使得可以根据模型识别熵的大小判断图像是背景类图像,还是目标类图像。例如,可以根据模型识别熵阈值判断。对于模型识别熵大于模型识别熵阈值的图像,可以确定该图像为背景类图像。对于模型识别熵小于模型识别熵阈值的图像,可以确定该图像为目标类图像。这样,即使遇到未学习过的背景类图像,可以根据熵的大小确定其为背景类图像。
[0082] 在一些实施例中,如图3所示,确定模型识别熵阈值的步骤包括:
[0083] 步骤S302,获取测试样本图像集合。
[0084] 具体地,测试样本图像集合包括多个测试样本图像,多个是指至少两个。测试样本图像可以与训练样本图像相同,也可以不同。例如,训练样本图像以及测试样本图像可以是从候选样本图像集合中采样得到的。
[0085] 步骤S304,将测试样本图像集合中各个测试样本图像输入到训练后的图像识别模型中,根据识别得到的第三类别置信度得到测试样本图像对应的第三模型识别熵。
[0086] 具体地,根据第三类别置信度得到第三模型识别熵的计算方法,可以参考根据第一类别置信度得到第一模型识别熵的方法,在此不再赘述。
[0087] 步骤S306,根据测试样本图像对应的第三模型识别熵以及测试样本图像对应的第三样本类型,得到模型识别熵阈值。
[0088] 其中,第三样本类型是指测试样本图像实际的样本类型。例如,假设图像识别模型为对猫进行识别的模型,如果测试样本图像标注为桌子类别,则测试样本图像对应的第三样本类型为背景类样本,如果测试样本图像标注为猫,则测试样本图像对应的第三样本类型为目标类样本。
[0089] 模型识别熵阈值满足样本类型对应的划分准确度条件,划分准确度条件包括目标准确度大于准确度阈值或者准确度排序在预设排序之前的至少一个,目标准确度为对测试样本图像集合中的测试样本图像进行样本类型划分的准确度。准确度阈值可以根据需要设置,例如为0.8。预设排序可以是第一,预设排序之前可以包括预设排序。目标准确度可以是背景类样本的划分准确度、目标类样本的划分准确度或者总体的划分准确度,可以根据需要设置。例如,可以获取对测试样本图像集合中进行划分时,准确度最大的阈值作为模型识别熵阈值。
[0090] 具体地,得到测试样本图像对应的第三模型识别熵后,可以选取多个不同的候选识别熵阈值,根据候选识别熵阈值与第三模型识别熵的大小关系确定测试样本图像的预测样本类型,第三模型识别熵大于候选识别熵阈值的测试样本图像的预测样本类型为背景类样本,第三模型识别熵小于候选识别熵阈值的测试样本图像的预测样本类型为目标类样本。当预测样本类型与第三样本类型一致时,则确定预测准确。当预测样本类型与第三样本类型不一致时,则确定预测错误,即分类错误。预测准确的个数除以预测总数,得到该候选识别熵阈值对应的目标准确度。将满足划分准确度条件的候选识别熵阈值作为最终确定的模型识别熵阈值。
[0091] 例如,得到第三模型识别熵之后,可以在测试样本图像集合对应的第三模型识别熵的范围内选取候选识别熵阈值。假设第三模型熵的范围为0至0.99,则可以设置0.01,0.02,0.03,……,0.99分别为候选识别熵阈值,并计算以各阈值区分样本是否为背景类的背景类预测准确率,取最大准确度的阈值作为最终的模型识别熵阈值。或者可以设置0.01,
0.02,0.03,……,0.99分别为候选识别熵阈值,并计算以各阈值区分样本是否为目标类的目标类预测准确率,取最大准确度的阈值作为最终的模型识别熵阈值。
[0092] 本申请实施例中,通过测试样本集合确定满足划分准确度条件的模型识别熵阈值,可以使得最终得到的模型识别熵阈值准确,提高了图像识别的效果。
[0093] 在一些实施例中,根据测试样本图像对应的第三模型识别熵以及测试样本图像对应的第三样本类型,得到模型识别熵阈值包括:获取候选识别熵阈值;当测试样本图像对应的第三模型识别熵大于候选识别熵阈值时,确定测试样本图像对应的预测样本类型为背景类样本;根据测试样本图像对应的第三样本类型以及测试样本图像对应的预测样本类型得到测试样本图像集合中,背景类样本的背景类预测准确度;从候选识别熵阈值集合中,获取对应的背景类预测准确度最大的候选识别熵阈值,作为模型识别熵阈值。
[0094] 具体地,可以在测试样本图像集合对应的第三模型识别熵的范围内选取候选识别熵阈值。例如,假设第三模型熵的范围为0至0.99,则可以设置0.01,0.02,0.03,……,0.99分别为候选识别熵阈值。对于对应的第三模型识别熵大于候选识别熵阈值的测试样本图像,则确定测试样本图像对应的预测样本类型为背景类图像。如果测试样本图像对应的第三样本类型亦为背景类图像,则预测准确,如果测试样本图像对应的第三样本类型为目标类图像,则预测错误。背景类预测准确度是指背景类图像对应的预测准确度。可以将预测准确的背景类图像的个数,除以测试样本图像集合中,预测为背景类图像的总数,得到背景类预测准确度。
[0095] 举个实际的例子,假设候选识别熵阈值有2个,一个为0.5,一个为0.6。假设测试样本图像集合有10个。假设将0.5作为模型识别熵阈值时,测试样本图像集合中,预测为背景类样本的图像的个数为8个,这8个中有6个图像实际的样本类型为背景类样本,则预测准确度为6/8=0.75。假设将0.6作为模型识别熵阈值时,测试样本图像集合中,预测为背景类样本的图像的个数为6个,这6个中有3个图像实际的样本类型为背景类样本,则预测准确度为3/6=0.5。则可以将0.5作为模型识别熵阈值。本申请实施例中,通过获取候选识别熵阈值集合中,所对应的背景类预测准确度最大的候选模型识别熵,作为模型识别熵阈值,可以使得该模型识别熵阈值可以准确区分出背景类图像。
[0096] 在一些实施例中,获取训练样本图像包括:获取候选样本图像集合中的候选样本图像对应的模型学习难度;根据各个候选样本图像对应的模型学习难度确定候选样本图像对应的采样权重,其中,候选样本图像对应的模型学习难度与候选样本图像对应的采样权重成正相关关系;基于候选样本图像对应的采样权重从候选样本图像集合中采样得到训练样本图像。
[0097] 其中,模型学习难度是指模型学习识别该样本图像的难度。难度越大,说明该模型越不容易学习到识别样本图像的类别的能力。采样权重表示候选样本图像中被选取为训练样本图像,来进行模型训练的可能程度,采样权重的取值范围可以是0至1。模型学习难度越大,则候选样本图像被选取为训练样本图像的可能性越大。
[0098] 具体地,在得到候选样本图像对应的采样权重后,服务器可以采用加权随机采样算法(Weighted Random Sampling)从候选样本图像集合中采样得到训练样本图像。例如假设候选样本图像集合中采样权重的和为1,假设随机数是在1至10000内产生的,其中一个候选样本图像的采样权重为0.1,可以分配1至1000之间的整数(共1000个)作为候选样本图像对应的数字,可以产生一个随机数,如果该随机数的范围在1至1000之间,则选取该候选样本图像作为训练样本图像。
[0099] 在一些实施例中,模型学习难度可以根据候选样本图像对应的损失值确定,例如,可以将损失值作为该候选样本图像对应的模型学习难度。损失值可以是识别熵损失值,也可以是分类损失值,也可以是根据识别熵损失值以及分类损失值得到的。例如,采样权重的计算方法可以采用公式(4)表示。L (d)表示候选样本图像d对应的模型学习难度,例如损失值,候选样本图像d可以是候选样本图像集合中的任意一个候选样本图像。w(d)表示候选样本图像d对应的采样权重。min(L)表示候选样本图像集合中的图像所对应的模型学习难度中的最小模型学习难度。max(L)表示候选样本图像集合中的图像所对应的模型学习难度中的最大模型学习难度。
[0100]      (4)
[0101] 在一些实施例中,获取候选样本图像集合中的候选样本图像对应的模型学习难度包括:将候选样本图像集合中的候选样本图像输入到待训练的图像识别模型,得到图像识别模型输出的各个候选样本图像对应的图像特征向量;获取候选样本图像对应的第二样本类型;对属于同一样本类型的候选样本图像对应的图像特征向量进行聚类,得到各个图像特征向量对应的聚类中心;基于候选样本图像对应的图像特征向量与对应的聚类中心的距离,确定候选样本图像对应的模型学习难度,模型学习难度与距离成正相关关系。
[0102] 其中,图像特征向量是对图像进行特征提取得到的,图像特征向量用于表征图像对应的特征。例如,可以将图像识别模型中的卷积层卷积得到的特征图(Feature map),通过池化层进行池化,将池化层输出的深度特征(embedding)作为图像特征向量。候选样本图像对应的第二样本类型可以为背景类样本或者目标类样本。
[0103] 聚类是指将集合分成由类似的对象组成的多个类的过程,聚类算法可以采用K均值(K-means)算法或K中心点算法(k-medoids)。在聚类时,是对相同样本类型的候选样本图像对应的图像特征向量进行聚类。例如,对背景类样本的图像特征向量进行聚类,对目标类样本的图像特征向量进行聚类。聚类中心可以是将每个聚类的图像特征向量相加,再除以该聚类中图像特征向量的个数,得到的向量。距离可以是采用欧式距离计算得到,也可以是采用相似度距离,相似度距离的公式可以表示为公式(5),dcosine表示相似度距离,a与b分别为两个向量。|a|表示向量a的模,|b|表示向量b的模,
[0104]    (5)
[0105] 模型学习难度与距离成正相关关系,即距离越大,则模型学习难度越大。例如,可以将距离作为模型学习难度。当距离作为模型学习难度时,采样权重的计算方法可以根据公式(4)得到。由于图像特征向量与对应的聚类中心的距离越大,说明该图像提取得到的图像特征向量与其所属的聚类的中心向量相差比较大,因此通过根据图像特征向量与对应的聚类中心的距离得到模型学习难度,可以使得与对应的聚类中心的距离越大的候选样本图像被抽取为训练样本图像的可能性越大,从而可以有针对性的根据学习难度大的样本图像训练图像识别模型,即对有学习价值的样本图像即进行重点学习,提高图像识别模型的识别能力。
[0106] 在一些实施例中,对于候选样本图像集合中的候选样本图像,可以是对于所有的候选样本图像,均基于该候选样本图像对应的模型学习难度确定采样权重。也可以是对于部分候选样本图像,基于该候选样本图像对应的模型学习难度确定采样权重。例如,对于背景类样本,可以根据候选样本图像对应的模型学习难度确定采样权重。而对于目标类样本,则可以设置其采样权重为最大值,例如为1,从而使得目标类样本的采样权重不会因为学习难度的变化变小,保证图像识别模型对目标类别的识别能力。由于对于背景类样本,模型学习难度较大的样本一般是与目标类别相似,比较容易错分的样本,这类样本需要模型重点学习,因此通过根据背景类样本对应的模型学习难度确定采样权重,使得与目标类别相似,容易错分的背景类样本的采样权重变大,已经充分学习的背景类样本的采样权重变小,从而可以针对与目标类别相似,容易错分的背景类样本进行重点学习,保证模型能够充分学习。
[0107] 在一些实施例中,目标类样本可以有多个类别,例如目标类样本可以包括猫对应的类别以及狗对应的类别,当目标类样本存在类别不均衡的情况时,对于目标类样本中的头部类别,也可以根据目标类样本的候选样本图像对应的模型学习难度确定其采样权重。而对于尾部类别,则可以设置其采样权重为最大值,例如为1,从而使得尾部类别的采样权重不会因为学习难度的变化变小,保证图像识别模型的识别能力。头部类别和尾部类别可以根据候选样本图像集合中各个类别的候选样本图像的数量区分。若某类目标类样本的样本量多于目标类样本中的样本类别对应的平均样本量,则为头部类别,少于则为尾部类别。
例如,假设目标类样本由5个类别,这5个类别的平均样本量为10000,如果A类别以及B类别的样本量为1000,则A类别与B类别为尾部类别,其采样权重设置为1,其他三个类别(C、D以E)样本量大于10000,为头部类别。头部类别C、D以E中每个候选样本图像的采样权重随着其对应的模型学习难度的变化而变化,使得越充分学习的候选样本图像,其在下一轮的模型训练中,被采样为训练样本图像的可能性越小,即候选样本图像的采样权重是随着模型学习难度的变化从而动态变化的,可以对充分学习的候选样本图像进行降采样,对学习困难样本进行重点采样。
[0108] 在一些实施例中,将根据模型学习难度确定候选样本图像的采样权重的过程称为有价值的训练样本图像的挖掘。有价值的训练样本图像的挖掘可以是在模型参数调整之前进行的。例如可以是在每轮模型训练时,进行前向计算后保存样本图像的模型损失值;在新一轮学习中根据上一轮的模型损失值计算候选样本图像的采样权重,并以此采样权重重新采样,进行新一轮的模型训练。有价值的训练样本图像的挖掘也可以是在模型参数调整之后进行的。例如,根据上一轮的模型损失值更新模型参数后,重新开始新一轮学习时,将候选样本图像集合中的候选样本图像输入到更新模型参数之后的图像识别模型中进行前向计算,以根据前向计算结果得到该候选样本图像对应的模型损失值,基于该候选样本图像对应的模型损失值确定采样权重,可以使得训练样本图像的采样权重的更新更加实时以及准确。
[0109] 在一些实施例中,还可以获取模型学习难度大于难度阈值的训练样本图像,返回到人工标注终端中,进行图像类别的标注,以保证样本图像的准确度。例如每一轮模型训练中,可以将损失值大于该轮模型训练的训练样本图像的模型损失值的中值的训练样本图像,返回到人工标注终端中进行人工标注。
[0110] 在一些实施例中,如图4所示,提供了一种图像识别方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
[0111] 步骤S402,获取待识别的图像。
[0112] 具体地,服务器可以接收终端发送的图像识别请求,根据图像识别请求获取待识别的图像。图像识别请求中可以携带图像或者图像索引信息。当图像识别请求携带图像时,将该图像作为待识别的图像。图像索引信息例如可以是图像的存储位置或者图像的标识例如名称。当该图像识别请求携带图像索引信息时,可以根据图像索引信息获取得到对应的图像,作为待识别的图像。
[0113] 举个实际的例子,假设“acc”文件夹存储有5张图片,当用户希望对该5张图片进行图像识别时,则图像识别请求中可以携带文件夹的名称“acc”,服务器可以将“acc”文件夹里的5张图片作为待识别的图像。
[0114] 步骤S404,将待识别的图像输入到训练后的图像识别模型中,得到第二类别置信度。
[0115] 具体地,图像识别模型可以对待识别的图像进行特征提取,提取得到的图像特征向量经过输出层,可以得到图像为各个候选图像类别的类别置信度。
[0116] 步骤S406,根据第二类别置信度得到待识别的图像对应的第二模型识别熵。
[0117] 具体地,根据第二类别置信度得到待识别的图像对应的第二模型识别熵的方法,可以参考根据第一类别置信度得到训练样本图像对应的第一模型识别熵的方法,在此不再赘述。
[0118] 步骤S408,当确定第二模型识别熵大于模型识别熵阈值时,确定待识别的图像为背景类图像。
[0119] 其中,模型识别熵阈值可以是预先设置的,例如可以是人工根据经验设置,也可以根据本申请步骤S302至S306提供的步骤得到。当第二模型识别熵大于模型识别熵阈值时,则可以确定待识别的图像为背景类图像。当第二模型识别熵小于模型识别熵阈值时,确定为目标类图像,并可以根据第二类别置信度得到待识别图像对应的具体类别。例如可以将最大的第二类别置信度对应的类别作为待识别图像对应的类别。
[0120] 举个例子,对于待识别的图像H,如果其对应的第二模型识别熵大于模型识别熵阈值,则可以确定其对应的类别为背景类别。假设当其对应的第二模型识别熵小于模型识别熵阈值,则可以确定其对应的类别为目标类别,目标类别包括猫对应的类别以及狗对应的类别。则训练后的图像识别模型输出的第二类别置信度包括猫对应的类别置信度、狗对应的类别置信度以及背景类别对应的类别置信度,如果图像识别模型输出的属于猫的类别置信度为0.1,图像识别模型输出的属于狗的类别置信度为0.8,图像识别模型输出的属于背景类别的类别置信度为0.1,则图像H的类别为最大置信度0.8对应的类别:狗。
[0121] 上述图像识别方法,由于训练样本图像对应的样本类型根据图像识别模型的识别目标区分,因此通过区分训练样本图像的样本类型,依据模型识别熵得到的模型损失值调整模型参数,能够使得图像识别模型额外学习到识别样本图像对应的类型的能力,因此能够在当第二模型识别熵大于模型识别熵阈值,确定待识别的图像为背景类图像,提高了图像识别的准确度。
[0122] 在一些实施例中,在应用训练后的图像识别模型进行图像识别时,可以进行多级别的判断,例如,可以根据第二类别置信度确定待识别的图像是否为背景类图像。如果背景类对应的第二类别置信度大于预设置信度阈值,例如0.8,则可以判断该待识别的图像为背景类图像。如果背景类对应的第二类别置信度没有大于预设置信度阈值,则可以根据第二模型识别熵与模型识别熵阈值的大小关系确定待识别的的图像是否为背景类图像。当第二模型识别熵大于模型识别熵阈值,则确定该待识别的图像为背景类图像。当第二模型识别熵小于模型识别熵阈值,则可以将第二类别置信度最大的目标类别作为图像的类别。在根据训练后得到的图像识别模型预测图像的类别的过程中,根据第二类别置信度确定待识别的图像是否为背景类图像可以对在训练样本图像中已出现过的背景类进行识别。根据第二模型识别熵与模型识别熵阈值的大小关系确定待识别的图像是否为背景类图像可以解决未知背景类的问题,因此,可以提高图像识别模型对背景类图像的抗干扰能力。
[0123] 如图5所示,为一些实施例中训练后的图像识别模型输出图像识别结果的示意图。待识别的图像输入到训练后的图像识别模型中进行前向的计算,经过CNN层进行特征提取,经过FC((fully connected ,全连接层)并经过激活函数激活后输出第二类别置信度。服务器可以基于第二类别置信度以及第二模型识别熵确定图像的类别。例如,假设图像识别模型是用于识别动物的,则如果待识别的图像中的动物为猫,则得到的图像类别为猫。假设待识别的图像中的动物为狗,则得到的图像类别为狗。假设待识别的图像中没有动物,有一张桌子,则得到的图像类别为背景类,服务器向终端返回的结果可以为该图像没有动物。
[0124] 在一些实施例中,服务器得到待识别的图像的类别后,可以将该图像分类结果返回至发送图像识别请求对应的终端。例如,如图6所示,为一些实施例中触发图像识别请求以及显示图像分类结果的界面示意图。该界面包括图片上传区域602、图像分类结果显示区域604以及概率显示区域606。“动物分类器”为图像识别业务的业务名称。当用户需要对图像进行识别时,可以点击“上传”按钮,进入图像上传界面选择图片,当图片选择完毕,接收到确认操作后,终端可以触发向服务器发送图像识别请求,服务器将终端上传的图片输入到图像识别模型中,如果识别得到图片中的动物为狗,则服务器向终端返回图像分类结果“图片中包括狗”,还可以返回图像识别模型输出的图像中的动物为狗的概率(置信度)。
[0125] 在一些实施例中,本申请实施例提供的图像识别模型可以是深度神经模型,深度神经模型可以具有多层的神经网络结构,例如,深度神经模型可以是基于 ResNet101(深度残差网络101层)的网络模型,深度残差网络101层的模型机构如图7所示,该图为一个三层的残差模块,用于降低参数的数目。3x3代表卷积核的尺寸,64代表通道数。圆圈内一个加号代表相加,即恒等映射。ReLU(Rectified Linear Unit,线性整流函数)表示利用激活函数进行激活。256-d代表输入为256维。
[0126] 如下表1,为一些实施例中深度神经模型中ResNet101的结构表,其中,x3、x4以及x23分别表示有3个模块、4个模块以及23个模块。卷积层有5种,Conv5_x为第5层卷积层。
[0127] 其中,Conv5_x输出训练样本图像的深度特征feature map(图像和滤波器进行卷积后得到的特征图),pool(池化)层输出图像特征向量,为图像在经过深度学习神经网络前向计算后输出的深层高维度特征, 可以为在某个feature map后,进行池化操作后得到的一维特征向量,FC层输出各类别的类别置信度。M代表候选图像类别的数量。
[0128] 表1 ResNet101的结构表
[0129]
[0130] 如下表2所示,为深度神经模型中输出层的结构表:
[0131] 表2:输出层结构表
[0132]
[0133] 本申请实施例提供的图像识别方法可以应用在带背景类的图像识别中,例如商品识别任务中。一般而言,图像识别模型可以用于识别特定的物品,例如200种物品,则这200种物品为目标类,其他为背景类。实际上现实收集到的训练样本里可能存在大量背景类,仅一部分为识别任务需要的目标类别,如假设目标类有200类,则50万候选样本图像中,可能有超过30万候选样本图像为背景类,剩下20万为来自200个目标类别的候选样本图像,相当于平均每个目标类别1000个候选样本图像,造成背景类样本与目标类别样本差异悬殊,造成训练样本图像在类别上的不均衡导致的学习效率不高、学习向背景类样本倾斜造成目标类效果不好等困难。故可以根据候选样本图像对应的模型识别难度确定背景类样本图像的采样权重,以进行图像采样,避免由于背景类过多造成目标类学习效率不高的问题,提高了模型的学习效果。
[0134] 在带背景识别的识别任务上,除了要求对目标类别的样本进行正确识别,还要对背景类抗干扰。由于一般收集的背景类无法覆盖所有自然与社会物体,故在得到识别模型后,进行应用的情况下,可能遇到训练中未知的背景类样本,从而对识别效果带来影响,而通过加入基于熵的损失函数,根据模型识别熵阈值判断。对于模型识别熵大于模型识别熵阈值的图像,可以确定该图像为背景类图像,对于模型识别熵小于模型识别熵阈值的图像,可以确定该图像为目标类图像。这样,即使遇到未学习过的背景类图像,可以根据熵的大小确定其为背景类图像。
[0135] 在带背景识别的识别任务上,由于背景类数量庞大,背景类中更容易存在标注错误,造成数据不干净,对识别带来问题,而通过模型学习难度,将模型学习难度大于难度阈值的背景类样本进行人工标注,当人工标注后服务器可以将标注准确的背景类样本加入到候选样本图像集合中,这样通过标注错误的背景类样本反馈的重标注机制,可以提升标注质量。
[0136] 在一些实施例中,以下结合图8以及图9,对本申请实施例提供的图像识别方法进行说明,包括以下步骤:
[0137] 1、获取训练样本图像。
[0138] 具体地,训练样本图像可以是从候选样本图像集合中采样得到的,可以均衡采样,也可以是不均衡采样。均衡采样是指候选样本图像集合中各个候选样本图像的采样权重一致,以实现背景类与目标类别的样本数量的均衡。采样数量可为预定义数量,也可为目标类别中的类别平均样本量乘以系数因子的数量(如10倍于平均样本量)。不均衡采样可以是指候选样本图像集合中全部或者部分候选样本图像的采样权重根据其模型学习难度的变化而变化,即可以根据模型学习难度确定训练样本图像中的采样权重。
[0139] 例如,可以把模型的所有参数都设为需要学习状态。在刚开始对图像识别模型进行训练是,可以是进行均衡采样,当满足采样策略切换条件时,再进行不均衡的采样。采样策略切换条件可以是模型损失值的变化值小于预设变化阈值或者进行了预设个(例如60个)epoch(时期)的训练。其中,一个epoch的训练是指将所有候选样本图像集合中的图像都作为训练样本图像进行了模型训练。在均衡采样学习阶段可以进行无差别学习,使得模型参数在学习任务中有全局的建模作用。而在不均衡采样阶段,借助模型已有的识别能力,能够进一步区分背景类样本中有价值的样本,以根据有价值的样本进行重点学习。
[0140] 在一些实施例中,当图像识别模型为基于Resnet101,且基于表一中的结构的深度神经网络模型时。为了快速收敛并保证较好的识别效果,可以采用开源的在ImageNet数据集上预训练的 ResNet101模型参数,作为图像识别模型的初始模型参数,针对图像识别模型新添加的层例如FC层,可以采用方差为0.01,均值为0的高斯分布进行初始化。
[0141] 2、将训练样本图像输入到待训练的图像识别模型中,得到第一类别置信度。
[0142] 3、根据第一类别置信度得到训练样本图像对应的第一模型识别熵。
[0143] 具体地,由于模型可以进行多轮的训练,而不均衡采样时,候选样本图像集合中的候选样本图像是随着每轮迭代模型学习程度不同而变化的,故不均衡采样时,每轮采样到的样本数量以及样本集不相同,也可以也引起计算目标模型损失值的时候每轮使用的训练样本图像不相同,即每轮采样时会更大可能采样到模型认为更有学习价值的样本(模型学习难度大的样本),并根据这些更具有价值的样本计算目标模型损失值,更新本轮的图像识别模型。
[0144] 4、确定训练样本图像对应的第一样本类型,根据第一样本类型以及第一模型识别熵得到目标模型损失值。
[0145] 5、根据目标模型损失值对图像识别模型中的模型参数进行调整,得到训练后的图像识别模型。
[0146] 可以理解,训练后的图像识别模型可以是经过多轮模型训练得到的。
[0147] 如图8所示,为一些实施例中模型训练的原理示意图。训练样本图像可以是通过均衡采样或者不均衡采样得到的,服务器将训练样本图像输入到卷积(CNN)层中,进行卷积计算以及池化计算,得到的特征向量输入到全连接(FC)层中,输出预测的置信度分布(也称为预测概率分布),可以根据预测的各个候选图像类别的概率,以及训练样本图像的标签对应的概率分布(称为实际概率分布)的差异得到模型分类损失值,根据第一模型识别熵以及第一样本类型计算得到模型识别熵损失值。根据模型分类损失值以及模型识别熵损失值得到目标模型损失值,再根据目标模型损失值进行后向计算,即反向传播。再参考图8,训练样本图像对应的模型损失值可以预先存储,当每轮模型训练结束后,可以基于训练样本图像对应的模型损失值进行样本的标签的修正,例如将模型损失值大于该轮模型训练的训练样本图像的模型损失值的中值的训练样本图像,返回到人工标注终端中进行人工标注。
[0148] 在一些实施例中,服务器可以在均衡采样阶段进行模型训练,得到识别效果稳定的图像处理模型之后进行样本修正,识别效果稳定可以是训练了预设轮之后,例如60轮之后。当样本图像的标签修正完毕,可以基于修正后的候选样本图像进行多次的模型训练,再进入不均衡采样阶段,对样本图像进行不均衡采样。
[0149] 6、获取待识别的图像。
[0150] 具体地,如图9所示,为一些实施例中提供的图像识别方法的应用场景图。云服务器中部署有训练后的图像识别模型,前端A902可以向云服务器904发送携带待识别的图像的图像识别请求,云服务器可以根据图像识别请求获取待识别的图像。
[0151] 7、将待识别的图像输入到训练后的图像识别模型中,得到第二类别置信度。
[0152] 8、根据第二类别置信度得到待识别的图像对应的第二模型识别熵。
[0153] 9、当确定第二模型识别熵大于模型识别熵阈值时,确定待识别的图像为背景类图像。
[0154] 具体地,云服务器在确定第二模型识别熵大于模型识别熵阈值时,确定待识别的图像为背景类图像。
[0155] 10、返回图像识别结果。
[0156] 具体地,云服务器904可以向前端B906发送图像识别结果。前端B例如可以是电脑或者手机,前端B可以是图像采集设备。可以理解,前端A与前端B可以是同一设备,也可以是不同设备。
[0157] 应该理解的是,虽然图上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0158] 在一些实施例中,如图10所示,提供了一种图像识别装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:训练样本图像获取模块1002、第一类别置信度获取模块1004、第一模型识别熵得到模块1006、目标模型损失值得到模块1008和调整模块1010,其中:
[0159] 训练样本图像获取模块1002,用于获取训练样本图像。
[0160] 第一类别置信度获取模块1004,用于将训练样本图像输入到待训练的图像识别模型中,得到第一类别置信度。
[0161] 第一模型识别熵得到模块1006,用于根据第一类别置信度得到训练样本图像对应的第一模型识别熵。
[0162] 目标模型损失值得到模块1008,用于确定训练样本图像对应的第一样本类型,根据第一样本类型以及第一模型识别熵得到目标模型损失值。
[0163] 调整模块1010,用于根据目标模型损失值对图像识别模型中的模型参数进行调整,得到训练后的图像识别模型。
[0164] 在一些实施例中,目标模型损失值得到模块用于:当第一样本类型为背景类样本时,根据第一模型识别熵得到目标模型损失值,其中,目标模型损失值与第一模型识别熵成负相关关系。
[0165] 在一些实施例中,目标模型损失值得到模块用于:当第一样本类型为目标类样本时,根据第一模型识别熵得到目标模型损失值,其中,目标模型损失值与第一模型识别熵成正相关关系。
[0166] 在一些实施例中,目标模型损失值得到模块用于:根据第一模型识别熵计算得到模型识别熵损失值;根据第一类别置信度计算得到模型分类损失值;根据模型识别熵损失值以及模型分类损失值得到目标模型损失值。
[0167] 在一些实施例中,第一类别置信度包括多个候选图像类别分别对应的第一类别置信度,所第一模型识别熵得到模块用于:以各个候选图像类别对应的第一类别置信度为真数进行对数计算,得到各个第一类别置信度对应的第一对数值;根据各个第一类别置信度对应的第一对数值计算得到训练样本图像对应的第一模型识别熵。
[0168] 在一些实施例中,调整模块用于包括:根据目标模型损失值进行反向传播,并在反向传播的过程中,沿梯度下降方向更新图像识别模型的模型参数,得到训练后的图像识别模型。
[0169] 在一些实施例中,训练样本图像获取模块包括:模型学习难度获取单元,用于获取候选样本图像集合中的候选样本图像对应的模型学习难度;采样权重确定单元,用于根据各个候选样本图像对应的模型学习难度确定候选样本图像对应的采样权重,其中,候选样本图像对应的模型学习难度与候选样本图像对应的采样权重成正相关关系;采样单元,用于基于候选样本图像对应的采样权重从候选样本图像集合中采样得到训练样本图像。
[0170] 在一些实施例中,模型学习难度获取单元用于:将候选样本图像集合中的候选样本图像输入到待训练的图像识别模型,得到图像识别模型输出的各个候选样本图像对应的图像特征向量;获取候选样本图像对应的第二样本类型;对属于同一样本类型的候选样本图像对应的图像特征向量进行聚类,得到各个图像特征向量对应的聚类中心;基于候选样本图像对应的图像特征向量与对应的聚类中心的距离,确定候选样本图像对应的模型学习难度,模型学习难度与距离成正相关关系。
[0171] 在一些实施例中,如图11所示,提供了一种图像识别装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:待识别的图像获取模块1102、第二类别置信度获取模块1104、第二模型识别熵得到模块1106和结果得到模块1108,其中:
[0172] 待识别的图像获取模块1102,用于获取待识别的图像;
[0173] 第二类别置信度获取模块1104,用于将待识别的图像输入到训练后的图像识别模型中,得到第二类别置信度,训练后的图像识别模型是根据目标模型损失值进行模型参数调整得到的,目标模型损失值根据训练样本图像对应的第一模型识别熵以及训练样本图像对应的第一样本类型得到。
[0174] 第二模型识别熵得到模块1106,用于根据第二类别置信度得到待识别的图像对应的第二模型识别熵。
[0175] 结果得到模块1108,用于当确定第二模型识别熵大于模型识别熵阈值时,确定待识别的图像为背景类图像。
[0176] 在一些实施例中,确定模型识别熵阈值的模块包括:测试样本图像集合单元,用于获取测试样本图像集合;第三模型识别熵得到单元,用于将测试样本图像集合中的各个测试样本图像输入到训练后的图像识别模型中,根据识别得到的第三类别置信度得到测试样本图像对应的第三模型识别熵;模型识别熵阈值得到单元,用于根据测试样本图像对应的第三模型识别熵以及测试样本图像对应的第三样本类型,得到模型识别熵阈值;其中,模型识别熵阈值满足样本类型对应的划分准确度条件,划分准确度条件包括目标准确度大于准确度阈值或者准确度排序在预设排序之前的至少一个,目标准确度为对测试样本图像集合中的测试样本图像进行样本类型划分的准确度。
[0177] 在一些实施例中,模型识别熵阈值得到单元用于:获取候选识别熵阈值;当测试样本图像对应的第三模型识别熵大于候选识别熵阈值时,确定测试样本图像对应的预测样本类型为背景类样本;根据测试样本图像对应的第三样本类型以及测试样本图像对应的预测样本类型得到测试样本图像集合中,背景类样本对应的背景类预测准确度;从候选识别熵阈值集合中,获取对应的背景类预测准确度最大的候选识别熵阈值,作为模型识别熵阈值。
[0178] 关于图像识别装置的具体限定可以参见上文中对于图像识别方法的限定,在此不再赘述。上述图像识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0179] 在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储候选样本图像集合。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像识别方法。
[0180] 本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0181] 在一些实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0182] 在一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0183] 在一些实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0184] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
[0185] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0186] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。