掌桥专利:专业的专利平台
掌桥专利
首页

图像分类方法、图像分类模型的训练方法及其装置

文献发布时间:2023-06-19 09:41:38


图像分类方法、图像分类模型的训练方法及其装置

技术领域

本申请涉及人工智能领域,并且更具体地,涉及图像分类方法、图像分类模型的训练方法及其装置。

背景技术

计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成象系统代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。

图像(或图片)的分类是各类图像处理应用的基础,计算机视觉常常会涉及到如何对获取到的图像进行分类的问题。随着机器学习(或深度学习)的迅速发展,机器学习算法在图像分类处理中得到了越来越广泛的应用,同时,也取得了非常好的效果,但是,机器学习算法高度依赖大量标注好的训练数据,而在很多情况下获取数据的非常困难的。

因此,如何在训练数据不足的情况下,更好地对图像进行分类是一个亟需解决的问题。

发明内容

本申请提供图像分类方法、图像分类模型的训练方法及其装置,能够更好地对图像进行分类。

第一方面,提供了一种图像分类方法,该方法包括:获取待处理图像;根据预设的全局类别特征,对所述待处理图像进行分类,得到所述待处理图像的分类结果,其中,所述全局类别特征包括根据训练集中的多个训练图像训练得到的多个类别特征,所述全局类别特征中的多个类别特征用于指示所述训练集中的所有类别的视觉特征,所述训练集中的所有类别为所述训练集中的所有训练图像所属的类别,所述训练集包括基类中的图像和新类中的图像。

上述基类可以理解为大规模训练图像集,上述基类通常包括大量用于模型训练的标注图像,基类中的图像可以为标注图像,这里的标注图像可以指已经标注过该图像所属类别的图像。

相应地,相对于上述基类而言,上述新类中通常包括少量标注样本,新类中的图像也可以为标注图像。也就是说,在本申请实施例中,新类为小样本,即新类中包括少量已经标注所属类别的图像。

例如,基类包括100个类别,每个类别包括1000个(张)训练图像,新类包括5个类别,每个类别包括5个训练图像。

在本申请中,全局类别特征是由训练集中的多个训练图像训练得到的,所述全局类别特征包括能够指示训练集中的所有类别对应的视觉特征的多个类别特征,同时,由于所述全局类别训练过程使用的训练集包括基类中的图像和新类中的图像,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

可选地,本申请中的图像分类模型,可以基于多阶段训练(episodic training)的策略进行模型训练。例如,可以将模型训练过程分为多个训练阶段(training episode),在每个训练阶段中,可以随机抽取训练集中的几个类别来训练模型,最终,经过多个训练阶段,完成对模型的训练。

具体地,在模型训练过程中的多个训练阶段中,都可以对所述全局类别特征进行更新,从而可以使得训练得到的全局类别特征具有更好的一致性,同时,训练集中包括基类中的图像和新类中的图像,新类(中的训练图像)在训练过程中产生的效果可以随着全局类别特征不断累积,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够得到更好的图像分类结果。

结合第一方面,在第一方面的某些实现方式中,所述根据预设的全局类别特征,对所述待处理图像进行分类,得到所述待处理图像的分类结果,包括:提取所述待处理图像的特征向量;根据所述待处理图像的特征向量,确定所述待处理图像属于候选类别的置信度,所述候选类别为所述全局类别特征指示的多个类别中的一个或多个;根据所述置信度,从所述候选类别中确定出所述待处理图像的分类结果。

结合第一方面,在第一方面的某些实现方式中,在所述根据所述待处理图像的特征向量,确定所述待处理图像属于候选类别的置信度之前,所述方法还包括:根据所述待处理图像的支持集,确定所述待处理图像的局部类别特征;根据所述待处理图像的局部类别特征及所述全局类别特征,确定所述候选类别;其中,所述待处理图像的支持集包括多个图像,所述多个图像所属的类别为所述全局类别特征指示的多个类别中的一个或多个。

结合第一方面,在第一方面的某些实现方式中,所述根据所述待处理图像的特征向量,确定所述待处理图像属于候选类别的置信度,包括:根据所述待处理图像的特征向量,确定所述待处理图像的特征向量与所述候选类别中的每个类别对应的特征向量的距离;根据所述距离,确定所述待处理图像属于所述候选类别的所述置信度。

结合第一方面,在第一方面的某些实现方式中,所述根据所述置信度,从所述候选类别中确定出所述待处理图像的分类结果,包括:将所述候选类别中所述置信度最大的类别,确定为所述待处理图像的分类结果。

结合第一方面,在第一方面的某些实现方式中,所述全局类别特征是根据分类误差训练得到的,所述分类误差是根据问询集中的训练图像的分类结果及所述问询集中的训练图像预先标注的标签确定的,所述标签用于指示所述训练图像所属的类别,所述问询集包括所述训练集中的部分类别中的部分训练图像。

在本申请中,所述分类误差是根据问询集中的训练图像的分类结果及所述训练图像预先标注的标签确定的,所述问询集中的训练图像包括基类中的图像和新类中的图像,根据所述分类误差更新所述全局类别特征,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

进一步地,在模型训练过程中的多个训练阶段中,都可以使用当前训练阶段的分类误差对所述全局类别特征进行更新,同时,训练集中包括基类中的图像和新类中的图像,新类在训练过程中产生的效果可以随着全局类别特征不断累积,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够得到更好的图像分类结果。

结合第一方面,在第一方面的某些实现方式中,所述全局类别特征是根据分类误差及配准误差训练得到的,所述分类误差是根据问询集中的训练图像的分类结果及所述问询集中的训练图像预先标注的标签确定的,所述标签用于指示所述训练图像所属的类别,所述问询集包括所述训练集中的部分类别中的部分训练图像,所述配准误差是根据训练图像的局部类别特征及所述全局类别特征中的多个类别特征确定的,所述训练图像的局部类别特征包括根据支持集中的多个训练图像确定的多个类别特征,所述训练图像的局部类别特征中的多个类别特征用于指示所述支持集中的所有类别的视觉特征,所述支持集包括所述训练集中的部分类别中的部分训练图像。

在本申请中,所述分类误差是根据问询集中的训练图像的分类结果及所述训练图像预先标注的标签确定的,所述问询集中的训练图像包括基类中的图像和新类中的图像,所述配准误差是根据训练图像的局部类别特征及所述全局类别特征中的多个类别特征确定的,所述训练图像的局部类别特征包括根据支持集中的多个训练图像确定的多个类别特征,根据所述分类误差及所述配准误差更新所述全局类别特征,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

进一步地,在模型训练过程中的多个训练阶段中,都可以使用当前训练阶段的分类误差及配准误差对所述全局类别特征进行更新,同时,训练集中包括基类中的图像和新类中的图像,新类在训练过程中产生的效果可以随着全局类别特征不断累积,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够得到更好的图像分类结果。

结合第一方面,在第一方面的某些实现方式中,所述训练图像的局部类别特征是由经过扩充处理的所述支持集中的多个训练图像确定的,所述扩充处理包括对图像进行剪裁处理、翻转处理和/或数据幻化处理。

上述支持集中的多个训练图像是新类中的图像。

在本申请中,通过剪裁处理、翻转处理和/或数据幻化处理对新类中的多个训练图像进行扩充处理,以增加新类中的训练图像的数量,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够得到更好的图像分类结果。

第二方面,提供了一种图像分类模型的训练方法,该方法包括:获取训练集中的多个训练图像,其中,所述训练集包括支持集和训练集,所述多个训练图像包括所述支持集中的多个训练图像和所述问询集中的多个训练图像;根据预设的第一神经网络,提取所述问询集中的多个训练图像的特征向量,所述问询集包括所述训练集中的部分类别中的部分图像;根据预设的第二神经网络和预设的全局类别特征,对所述问询集中的多个训练图像的特征向量进行处理,得到所述问询集中的多个训练图像的分类结果,其中,所述全局类别特征包括多个类别特征,所述全局类别特征中的多个类别特征用于指示所述训练集中的所有类别的视觉特征,所述训练集中的所有类别为所述训练集中的所有训练图像所属的类别,所述训练集包括基类中的图像和新类中的图像;根据所述问询集中的多个训练图像的分类结果,更新所述全局类别特征。

上述基类可以理解为大规模训练图像集,上述基类通常包括大量用于模型训练的标注图像,基类中的图像可以为标注图像,这里的标注图像可以指已经标注过该图像所属类别的图像。

相应地,相对于上述基类而言,上述新类中通常包括少量标注样本,新类中的图像也可以为标注图像。也就是说,在本申请实施例中,新类为小样本,即新类中包括少量已经标注所属类别的图像。

例如,基类包括100个类别,每个类别包括1000个(张)训练图像,新类包括5个类别,每个类别包括5个训练图像。

在本申请中,全局类别特征是由训练集中的训练图像的分类结果训练得到的,所述全局类别特征包括能够指示训练集中的所有类别对应的视觉特征的多个类别特征,同时,由于所述全局类别训练过程使用的训练集包括基类中的图像和新类中的图像,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

可选地,本申请中的图像分类模型的训练方法,可以基于多阶段训练(episodictraining)的策略对模型进行训练。例如,可以将模型训练过程分为多个训练阶段(training episode),在每个训练阶段中,可以随机抽取训练集中的几个类别来训练模型,最终,经过多个训练阶段,完成对模型的训练。

具体地,在模型训练过程中的多个训练阶段中,都可以对所述全局类别特征进行更新,从而可以使得训练得到的全局类别特征具有更好的一致性,同时,训练集中包括基类中的图像和新类中的图像,新类(中的训练图像)在训练过程中产生的效果可以随着全局类别特征不断累积,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够得到更好的图像分类结果。

可选地,可以提取所述支持集中的多个训练图像的特征向量和所述问询集中的多个训练图像的特征向量。

结合第二方面,在第二方面的某些实现方式中,所述根据预设的第二神经网络和预设的全局类别特征,对所述问询集中的多个训练图像的特征向量进行处理,得到所述问询集中的多个训练图像的分类结果,包括:提取所述支持集中的多个训练图像的特征向量,所述支持集包括所述训练集中的部分类别中的部分训练图像;根据所述支持集中的多个训练图像的特征向量,确定训练图像的局部类别特征,所述训练图像的局部类别特征中的多个类别特征用于指示所述支持集中的所有类别的视觉特征,所述支持集包括所述训练集中的部分类别中的部分训练图像;根据所述第二神经网络、所述训练图像的局部类别特征及所述全局类别特征,确定所述问询集中的多个训练图像的分类结果。

结合第二方面,在第二方面的某些实现方式中,所述根据所述问询集中的多个训练图像的分类结果,更新所述全局类别特征,包括:根据所述问询集中的多个训练图像的分类结果,更新所述全局类别特征、所述第一神经网络及所述第二神经网络。

结合第二方面,在第二方面的某些实现方式中,所述根据所述问询集中的多个训练图像的分类结果,更新所述全局类别特征,包括:根据分类误差,更新所述全局类别特征,所述分类误差是根据所述问询集中的多个训练图像的分类结果及所述问询集中的多个训练图像预先标注的标签确定的,所述标签用于指示所述训练图像所属的类别。

在本申请中,所述分类误差是根据问询集中的训练图像的分类结果及所述训练图像预先标注的标签确定的,所述问询集中的训练图像包括基类中的图像和新类中的图像,根据所述分类误差更新所述全局类别特征,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

进一步地,在模型训练过程中的多个训练阶段中,都可以使用当前训练阶段的分类误差对所述全局类别特征进行更新,同时,训练集中包括基类中的图像和新类中的图像,新类在训练过程中产生的效果可以随着全局类别特征不断累积,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够得到更好的图像分类结果。

结合第二方面,在第二方面的某些实现方式中,所述根据所述多个训练图像的分类结果,更新所述全局类别特征,包括:根据所述分类误差及配准误差,更新所述全局类别特征,其中,所述配准误差是根据所述训练图像的局部类别特征及所述全局类别特征中的多个类别特征确定的。

在本申请中,所述分类误差是根据问询集中的训练图像的分类结果及所述训练图像预先标注的标签确定的,所述问询集中的训练图像包括基类中的图像和新类中的图像,所述配准误差是根据训练图像的局部类别特征及所述全局类别特征中的多个类别特征确定的,所述训练图像的局部类别特征包括根据支持集中的多个训练图像确定的多个类别特征,根据所述分类误差及所述配准误差更新所述全局类别特征,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

进一步地,在模型训练过程中的多个训练阶段中,都可以使用当前训练阶段的分类误差及配准误差对所述全局类别特征进行更新,同时,训练集中包括基类中的图像和新类中的图像,新类在训练过程中产生的效果可以随着全局类别特征不断累积,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够得到更好的图像分类结果。

结合第二方面,在第二方面的某些实现方式中,所述训练图像的局部类别特征是由经过扩充处理的所述支持集中的多个训练图像确定的,所述扩充处理包括对图像进行剪裁处理、翻转处理和/或数据幻化处理。

上述支持集中的多个训练图像是新类中的图像。

在本申请中,通过剪裁处理、翻转处理和/或数据幻化处理对新类中的多个训练图像进行扩充处理,以增加新类中的训练图像的数量,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够得到更好的图像分类结果。

第三方面,提供了一种图像分类装置,包括:获取模块,用于获取待处理图像;分类模块,用于根据预设的全局类别特征,对所述待处理图像进行分类,得到所述待处理图像的分类结果,其中,所述全局类别特征包括根据训练集中的多个训练图像训练得到的多个类别特征,所述全局类别特征中的多个类别特征用于指示所述训练集中的所有类别的视觉特征,所述训练集中的所有类别为所述训练集中的所有训练图像所属的类别,所述训练集包括基类中的图像和新类中的图像。

在本申请实施例中,图像分类装置中的全局类别特征是由训练集中的多个训练图像训练得到的,所述全局类别特征包括能够指示训练集中的所有类别对应的视觉特征的多个类别特征,同时,由于所述全局类别训练过程使用的训练集包括基类中的图像和新类中的图像,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

具体地,在模型训练过程中的多个训练阶段中,都可以对图像分类装置中的所述全局类别特征进行更新,从而可以使得训练得到的全局类别特征具有更好的一致性,同时,训练集中包括基类中的图像和新类中的图像,新类(中的训练图像)在训练过程中产生的效果可以随着全局类别特征不断累积,因此,能够避免训练得到的图像分类装置过拟合到基类,根据该图像分类装置对待处理图像进行分类,能够得到更好的图像分类结果。

结合第三方面,在第三方面的某些实现方式中,所述分类模块具体用于:提取所述待处理图像的特征向量;根据所述待处理图像的特征向量,确定所述待处理图像属于候选类别的置信度,所述候选类别为所述全局类别特征指示的多个类别中的一个或多个;根据所述置信度,从所述候选类别中确定出所述待处理图像的分类结果。

结合第三方面,在第三方面的某些实现方式中,所述装置还包括确定模块,用于:根据所述待处理图像的支持集,确定所述待处理图像的局部类别特征;根据所述待处理图像的局部类别特征及所述全局类别特征,确定所述候选类别;其中,所述待处理图像的支持集包括多个图像,所述多个图像所属的类别为所述全局类别特征指示的多个类别中的一个或多个。

结合第三方面,在第三方面的某些实现方式中,所述分类模块具体用于:根据所述待处理图像的特征向量,确定所述待处理图像的特征向量与所述候选类别中的每个类别对应的特征向量的距离;根据所述距离,确定所述待处理图像属于所述候选类别的所述置信度。

结合第三方面,在第三方面的某些实现方式中,所述分类模块具体用于:将所述候选类别中所述置信度最大的类别,确定为所述待处理图像的分类结果。

结合第三方面,在第三方面的某些实现方式中,所述全局类别特征是根据分类误差训练得到的,所述分类误差是根据问询集中的训练图像的分类结果及所述问询集中的训练图像预先标注的标签确定的,所述标签用于指示所述训练图像所属的类别,所述问询集包括所述训练集中的部分类别中的部分训练图像。

在本申请中,所述分类误差是根据问询集中的训练图像的分类结果及所述训练图像预先标注的标签确定的,所述问询集中的训练图像包括基类中的图像和新类中的图像,根据所述分类误差更新所述全局类别特征,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

结合第三方面,在第三方面的某些实现方式中,所述全局类别特征是根据分类误差及配准误差训练得到的,所述分类误差是根据问询集中的训练图像的分类结果及所述问询集中的训练图像预先标注的标签确定的,所述标签用于指示所述训练图像所属的类别,所述问询集包括所述训练集中的部分类别中的部分训练图像,所述配准误差是根据训练图像的局部类别特征及所述全局类别特征中的多个类别特征确定的,所述训练图像的局部类别特征包括根据支持集中的多个训练图像确定的多个类别特征,所述训练图像的局部类别特征中的多个类别特征用于指示所述支持集中的所有类别的视觉特征,所述支持集包括所述训练集中的部分类别中的部分训练图像。

在本申请中,所述分类误差是根据问询集中的训练图像的分类结果及所述训练图像预先标注的标签确定的,所述问询集中的训练图像包括基类中的图像和新类中的图像,所述配准误差是根据训练图像的局部类别特征及所述全局类别特征中的多个类别特征确定的,所述训练图像的局部类别特征包括根据支持集中的多个训练图像确定的多个类别特征,根据所述分类误差及所述配准误差更新所述全局类别特征,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

结合第三方面,在第三方面的某些实现方式中,所述训练图像的局部类别特征是由经过扩充处理的所述支持集中的多个训练图像确定的,所述扩充处理包括对图像进行剪裁处理、翻转处理和/或数据幻化处理。

上述支持集中的多个训练图像是新类中的图像。

在本申请中,通过剪裁处理、翻转处理和/或数据幻化处理对新类中的多个训练图像进行扩充处理,以增加新类中的训练图像的数量,因此,能够避免训练得到的图像分类装置过拟合到基类,根据该图像分类装置对待处理图像进行分类,能够得到更好的图像分类结果。

第四方面,提供了一种图像分类模型的训练装置,包括:获取模块,用于获取训练集中的多个训练图像,其中,所述训练集包括支持集和训练集,所述多个训练图像包括所述支持集中的多个训练图像和所述问询集中的多个训练图像;特征提取模块,用于根据预设的第一神经网络,提取所述问询集中的多个训练图像的特征向量,所述问询集包括所述训练集中的部分类别中的部分图像;分类模块,用于根据预设的第二神经网络和预设的全局类别特征,对所述问询集中的多个训练图像的特征向量进行处理,得到所述问询集中的多个训练图像的分类结果,其中,所述全局类别特征包括多个类别特征,所述全局类别特征中的多个类别特征用于指示所述训练集中的所有类别的视觉特征,所述训练集中的所有类别为所述训练集中的所有训练图像所属的类别,所述训练集包括基类中的图像和新类中的图像;更新模块,用于根据所述问询集中的多个训练图像的分类结果,更新所述全局类别特征。

在本申请中,全局类别特征是由训练集中的多个训练图像的分类结果训练得到的,所述全局类别特征包括能够指示训练集中的所有类别对应的视觉特征的多个类别特征,同时,由于所述全局类别训练过程使用的训练集包括基类中的图像和新类中的图像,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

具体地,在模型训练过程中的多个训练阶段中,都可以对所述全局类别特征进行更新,从而可以使得训练得到的全局类别特征具有更好的一致性,同时,训练集中包括基类中的图像和新类中的图像,新类(中的训练图像)在训练过程中产生的效果可以随着全局类别特征不断累积,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够得到更好的图像分类结果。

结合第四方面,在第四方面的某些实现方式中,所述分类模块具体用于:提取所述支持集中的多个训练图像的特征向量,所述支持集包括所述训练集中的部分类别中的部分训练图像;根据所述支持集中的多个训练图像的特征向量,确定训练图像的局部类别特征,所述训练图像的局部类别特征中的多个类别特征用于指示所述支持集中的所有类别的视觉特征,所述支持集包括所述训练集中的部分类别中的部分训练图像;根据所述第二神经网络、所述训练图像的局部类别特征及所述全局类别特征,确定所述问询集中的多个训练图像的分类结果。

结合第四方面,在第四方面的某些实现方式中,所述更新模块具体用于:根据所述问询集中的多个训练图像的分类结果,更新所述全局类别特征、所述第一神经网络及所述第二神经网络。

结合第四方面,在第四方面的某些实现方式中,所述更新模块具体用于:根据分类误差,更新所述全局类别特征,所述分类误差是根据所述问询集中的多个训练图像的分类结果及所述问询集中的多个训练图像预先标注的标签确定的,所述标签用于指示所述训练图像所属的类别。

在本申请中,所述分类误差是根据问询集中的训练图像的分类结果及所述训练图像预先标注的标签确定的,所述问询集中的训练图像包括基类中的图像和新类中的图像,根据所述分类误差更新所述全局类别特征,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

结合第四方面,在第四方面的某些实现方式中,所述更新模块具体用于:根据所述分类误差及配准误差,更新所述全局类别特征,其中,所述配准误差是根据所述训练图像的局部类别特征及所述全局类别特征中的多个类别特征确定的。

在本申请中,所述分类误差是根据问询集中的训练图像的分类结果及所述训练图像预先标注的标签确定的,所述问询集中的训练图像包括基类中的图像和新类中的图像,所述配准误差是根据训练图像的局部类别特征及所述全局类别特征中的多个类别特征确定的,所述训练图像的局部类别特征包括根据支持集中的多个训练图像确定的多个类别特征,根据所述分类误差及所述配准误差更新所述全局类别特征,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

结合第四方面,在第四方面的某些实现方式中,所述训练图像的局部类别特征是由经过扩充处理的所述支持集中的多个训练图像确定的,所述扩充处理包括对图像进行剪裁处理、翻转处理和/或数据幻化处理。

上述支持集中的多个训练图像是新类中的图像。

在本申请中,通过剪裁处理、翻转处理和/或数据幻化处理对新类中的多个训练图像进行扩充处理,以增加新类中的训练图像的数量,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够得到更好的图像分类结果。

第五方面,提供了一种图像分类装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行上述第一方面中的任意一种实现方式中的方法。

第六方面,提供了一种图像分类模型的训练装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行上述第二方面中的任意一种实现方式中的方法。

上述第五方面和第六方面中的处理器既可以是中央处理器(central processingunit,CPU),也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)和张量处理器(tensor processing unit,TPU)等等。其中,TPU是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。

第七方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面或第二方面中的任意一种实现方式中的方法。

第八方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第二方面中的任意一种实现方式中的方法。

第九方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面或第二方面中的任意一种实现方式中的方法。

可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第二方面中的任意一种实现方式中的方法。

上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。

第十方面,提供了一种电子设备,该电子设备包括上述第三方面中的任意一个方面中的图像分类装置,或者,该电子设备包括上述第四方面中的任意一个方面中的图像分类模型的训练装置。

当上述电子设备包括上述第三方面中的任意一个方面中的图像分类装置时,该电子设备具体可以是终端设备。

当上述电子设备包括上述第四方面中的任意一个方面中的图像分类模型的训练装置时,该电子设备具体可以是服务器。

在本申请中,在模型训练过程中的多个训练阶段中,都可以对所述全局类别特征进行更新,从而可以使得训练得到的全局类别特征具有更好的一致性,同时,训练集中包括基类中的图像和新类中的图像,新类(中的训练图像)在训练过程中产生的效果可以随着全局类别特征不断累积,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够更准确的识别新类中的图像。

附图说明

图1是本申请实施例提供的系统架构的结构示意图。

图2是本申请实施例提供的卷积神经网络模型的示意性框图。

图3是本申请实施例提供的一种芯片硬件结构示意图。

图4是本申请实施例提供的一种应用场景示意图。

图5是本申请一个实施例提供的图像分类模型的训练方法的示意性流程图。

图6是本申请一个实施例提供的图像分类模型的训练方法的示意性框图。

图7是本申请另一个实施例提供的图像分类模型的训练方法的示意性流程图。

图8是本申请一个实施例提供的图像分类方法的示意性流程图。

图9是本申请实施例的图像分类装置的硬件结构示意图。

图10是本申请实施例的图像分类模型的训练装置的硬件结构示意图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

本申请实施例提供的图像分类方法能够应用在图片检索、相册管理、平安城市、人机交互以及其他需要进行图像分类或者图像识别的场景。应理解,本申请实施例中的图像可以为静态图像(或称为静态画面)或动态图像(或称为动态画面),例如,本申请中的图像可以为视频或动态图片,或者,本申请中的图像也可以为静态图片或照片。为了便于描述,本申请在下述实施例中将静态图像或动态图像统一称为图像。

具体而言,本申请实施例的图像分类方法可以具体应用到相册分类和拍照识别场景中,下面对这两种场景进行详细的介绍。

相册分类:

用户在手机和云盘上存储了大量图片,按照类别对相册进行分类管理能提高用户的体验。利用本申请实施例的图像分类方法对相册中的图片进行分类,能够得到按照类别进行排列或者存储的相册。本申请实施例的图像分类方法可以方便用户对不同的物体类别进行分类管理,从而方便用户的查找,能够节省用户的管理时间,提高相册管理的效率。

具体地,在采用本申请实施例的图像分类方法进行相册分类时,可以先提取相册中图片的图片特征,然后再根据提取到的图片特征对相册中的图片进行分类,得到图片的分类结果,接下来,再根据图片的分类结果对相册中的图片进行分类,得到按照图片类别进行排列的相册。其中,在根据图片类别对相册中的图片进行排列时,可以将属于同一类的图片排列在一行或者一行。例如,在最终得到的相册中,第一行的图片都属于飞机,第二行的图片都属于汽车。

拍照识物:

用户在拍照时,可以利用本申请实施例的图像分类方法对拍到的照片进行处理,能够自动识别出被拍物体的类别,例如,可以自动识别出被拍物体是花卉、动物等。进一步地,利用本申请实施例的图像分类方法可以对拍照得到的物体进行识别,识别出该物体所属的类别,例如,用户拍照得到的照片中包括共享单车,利用本申请实施例的图像分类方法能够对共享单车进行识别,识别出该物体属于自行车,进一步地,还可以显示自行车的相关信息。

由于本发明对广义小样本学习效果出色,所以不论被拍物体是来自基类还是新类,都能很好的识别。

在现有技术中,对于训练样本很少的图像类别,常常无法有效地对属于该类别的图像进行图像分类或图像识别。利用本申请实施例的图像分类方法,对于训练样本很少的新类(小样本),也能很好地实现图像分类或图像识别。

应理解,上文介绍的相册分类和拍照识物只是本申请实施例的图像分类方法所应用的两个具体场景,本申请实施例的图像分类方法在应用时并不限于上述两个场景,本申请实施例的图像分类方法能够应用到任何需要进行图像分类或者图像识别的场景中。

本申请实施例涉及了大量神经网络的相关应用,为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的神经网络的相关术语和其他相关概念进行介绍。

(1)神经网络

神经网络可以是由神经单元组成的,神经单元可以是指以x

其中,s=1、2、……n,n为大于1的自然数,W

(2)深度神经网络

深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。

虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:

综上,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为

需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。

(3)卷积神经网络

卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。

(4)损失函数

在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。

(5)反向传播算法

神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。

(6)像素值

图像的像素值可以是一个红绿蓝(RGB)颜色值,像素值可以是表示颜色的长整数。例如,像素值为256*Red+100*Green+76Blue,其中,Blue代表蓝色分量,Green代表绿色分量,Red代表红色分量。各个颜色分量中,数值越小,亮度越低,数值越大,亮度越高。对于灰度图像来说,像素值可以是灰度值。

(7)基类

在现有技术中,基类(base class)包括大量用于训练模型的标注样本,这些标注样本的数量足够满足模型训练的需求。例如,基类可以包括已经标注所属类别的多个图像,该多个图像可以属于一个类别,或者,该多个图像也可以属于多个不同的类别。基类可以用于训练本申请实施例中的图像分类模型。

(8)新类

在现有技术中,新类(novel class)是与基类相对的概念,比如,若使用多个标注样本训练一个模型,则对于(训练好的)该模型而言,训练时使用的多个标注样本就是基类,而基类中不包括的类别就是新类。例如,我们已经通过大量动物(狗除外)的图像训练出来了模型,此时,我们想让该模型识别狗,则该大量动物的图像就是基类,狗的图像就是新类。

通常,新类中的每个类别只包括少量标注样本。在本申请中,新类可以指小样本(few-shot),即新类包括少量已经标注所属类别的图像,这些图像可以属于一个类别,或者,这些图像也可以分为多个不同的类别。

(9)小样本学习

小样本学习(few-shot learning,FSL)指利用大规模的训练集(包括一个或多个基类),对图像分类模型进行训练后,对于从未见过的新类(新类与基类不重叠),借助每个新类包括的少数几个训练样本,准确识别新类的测试样本(所属的类别)。

进一步地,小样本学习可以包括标准小样本学习和广义小样本学习。例如,若小样本学习中的测试样本中只包括新类,则可以将该类问题称为标准小样本学习;若测试样本中不仅包括新类,还包括基类,则可以将该类问题称为广义小样本学习。

本申请实施例中的图像分类方法既可以应用于标准小样本学习,也可以应用于广义小样本学习。下面结合图1对本申请实施例适用的系统架构进行介绍。

如图1所示,本申请实施例提供了一种系统架构100。在图1中,数据采集设备160用于采集训练数据。针对本申请实施例的图像分类方法来说,训练数据可以包括训练图像以及训练图像对应的分类结果,其中,训练图像的分类结果可以是人工预先标注的结果。

在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。

下面对训练设备120基于训练数据得到目标模型/规则101进行描述,训练设备120对输入的原始图像进行处理,将输出的图像与原始图像进行对比,直到训练设备120输出的图像与原始图像的差值小于一定的阈值,从而完成目标模型/规则101的训练。

上述目标模型/规则101能够用于实现本申请实施例的图像分类方法,即,将待处理图像通过相关预处理后输入该目标模型/规则101,即可得到图像的分类结果。本申请实施例中的目标模型/规则101具体可以为本申请实施例中的图像分类模型。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。

根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端设备等。在图1中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:客户设备输入的待处理图像。

预处理模块113和预处理模块114用于根据I/O接口112接收到的输入数据(如待处理图像)进行预处理,在本申请实施例中,也可以没有预处理模块113和预处理模块114(也可以只有其中的一个预处理模块),而直接采用计算模块111对输入数据进行处理。

在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。

最后,I/O接口112将处理结果,如上述得到的待处理图像的分类结果返回给客户设备140,从而提供给用户。

值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。

在图1所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。

值得注意的是,图1仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。

如图1所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以是本申请中的图像分类模型,具体的,本申请实施例提供的图像分类模型可以包括一个或多个神经网络,该一个或多个神经网络可以包括CNN、深度卷积神经网络(deep convolutional neural networks,DCNN)和/或循环神经网络(recurrentneural network,RNNS)等等。

由于CNN是一种非常常见的神经网络,下面结合图2重点对CNN的结构进行详细的介绍。如上文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。

如图2所示,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及神经网络层230。下面对这些层的相关内容做详细介绍。

卷积层/池化层220:

卷积层:

如图2所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现方式中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。

下面将以卷积层221为例,介绍一层卷积层的内部工作原理。

卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。

这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。

当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。

池化层/池化层220:

由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图2中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。

神经网络层230:

在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐含层(如图2所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。

在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由210至240方向的传播为前向传播)完成,反向传播(如图2由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。

需要说明的是,如图2所示的卷积神经网络200仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。

本申请中,图像分类模型可以包括图2所示的卷积神经网络200,该图像分类模型可以对待处理图像进行处理,得到待处理图像的分类结果。

图3为本申请实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器30。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图2所示的卷积神经网络中各层的算法均可在如图3所示的芯片中得以实现,可选地,该卷积神经网络可以为上述图像分类模型包括的(一个或多个)神经网络中的一个。

神经网络处理器NPU 30作为协处理器挂载到主CPU(host CPU)上,由主CPU分配任务。NPU的核心部分为运算电路303,控制器304控制运算电路303提取存储器(权重存储器或输入存储器)中的数据并进行运算。

在一些实现方式中,运算电路303内部包括多个处理单元(process engine,PE)。在一些实现方式中,运算电路303是二维脉动阵列。运算电路303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现方式中,运算电路303是通用的矩阵处理器。

举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路303从权重存储器302中取矩阵B相应的数据,并缓存在运算电路303中每一个PE上。运算电路303从输入存储器301中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)308中。

向量计算单元307可以对运算电路303的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元307可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。

在一些实现方式中,向量计算单元能307将经处理的输出的向量存储到统一缓存器306。例如,向量计算单元307可以将非线性函数应用到运算电路303的输出,例如累加值的向量,用以生成激活值。在一些实现方式中,向量计算单元307生成归一化的值、合并值,或二者均有。在一些实现方式中,处理过的输出的向量能够用作到运算电路303的激活输入,例如用于在神经网络中的后续层中的使用。

统一存储器306用于存放输入数据以及输出数据。

权重数据直接通过存储单元访问控制器305(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器301和/或统一存储器306、将外部存储器中的权重数据存入权重存储器302,以及将统一存储器306中的数据存入外部存储器。

总线接口单元(bus interface unit,BIU)310,用于通过总线实现主CPU、DMAC和取指存储器309之间进行交互。

与控制器304连接的取指存储器(instruction fetch buffer)309,用于存储控制器304使用的指令;

控制器304,用于调用指存储器309中缓存的指令,实现控制该运算加速器的工作过程。

一般地,统一存储器306,输入存储器301,权重存储器302以及取指存储器309均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。

其中,图2所示的卷积神经网络中各层的运算可以由运算电路303或向量计算单元307执行。

上文中介绍的图1中的执行设备110能够执行本申请实施例的图像分类方法的各个步骤,可选地,图1中的执行设备110可以包括图2所示的CNN模型和图3所示的芯片。下面结合附图对本申请实施例的图像分类方法进行详细的介绍。

本申请实施例提供的图像分类方法可以在服务器上被执行,也可以在云端被执行,还可以在终端设备上被执行。以终端设备为例,如图4所示,本发明实施例的技术方案可以应用于终端设备,本申请实施例中的图像分类方法可以对输入图像进行图像分类,得到该输入图像的分类结果。该终端设备可以为移动的或固定的,例如该终端设备可以是具有图像处理功能的移动电话、平板个人电脑(tablet personal computer,TPC)、媒体播放器、智能电视、笔记本电脑(laptop computer,LC)、个人数字助理(personal digitalassistant,PDA)、个人计算机(personal computer,PC)、照相机、摄像机、智能手表、可穿戴式设备(wearable device,WD)或者自动驾驶的车辆等,本发明实施例对此不作限定。

图像(或图片)的分类是各类图像处理应用的基础,计算机视觉常常会涉及到如何对获取到的图像进行分类的问题。但是,图像分类模型的训练需要大量标注好的训练数据,对于训练样本很少的图像类别(例如新类),常常无法有效地对属于该类别的图像进行图像分类或图像识别。而在很多情况下,获取有效的数据是非常困难的,例如,在医疗领域、安全领域等。

基于上述问题,本申请实施例提出了图像分类方法及图像分类模型的训练方法,对于训练样本很少的新类(小样本),也能很好地实现图像分类或图像识别。

图5是本申请实施例的图像分类模型的训练方法500的示意性流程图。图5所示的方法可以由计算机设备、服务器设备或者运算设备等运算能力较强的设备来执行,例如,该方法可以由图4中的终端设备执行。图5所示的方法包括步骤510、520、530及540,下面分别对这几个步骤进行详细的介绍。

S510,获取训练集中的多个训练图像。

其中,训练集(training set)可以为训练时使用的所有训练图像的集合。

可选地,所述训练集包括基类中的图像和新类中的图像,基类中每个类别包括的训练图像远多于新类中每个类别包括的训练图像。

这里的远多于可以理解为,基类中每个类别包括的训练图像的数量,至少比新类中每个类别包括的训练图像的数量高一个数量级,也就是说,基类中每个类别包括的训练图像的数量,至少是新类中每个类别包括的训练图像的数量的十倍。

例如,基类包括100个类别,每个类别包括1000个(张)训练图像,新类包括5个类别,每个类别包括5个训练图像。

可选地,本申请中的图像分类模型,可以基于多阶段训练(episodic training)的策略进行模型训练。例如,可以将模型训练过程分为多个训练阶段(training episode),在每个训练阶段中,可以随机抽取训练集中的几个类别来训练模型,最终,经过多个训练阶段,完成对图像分类模型的训练。关于多阶段训练的描述具体可以参照现有技术,这里不再赘述。

具体地,在模型训练过程中的多个训练阶段中,都可以对所述全局类别特征进行更新,从而可以使得训练得到的全局类别特征具有更好的一致性,同时,训练集中包括基类中的图像和新类中的图像,新类(中的训练图像)在训练过程中产生的效果可以随着全局类别特征不断累积,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够得到更好的图像分类结果。

本申请实施例中的图像分类模型的训练方法,可以更好地平衡基类中样本数量和新类中样本数量的差异,在模型训练过程中产生的影响。本申请涉及的图像分类模型的训练方法的详细描述可以如图7中方法700所述。

基于上述多阶段训练的策略,本申请中的方法500可以分为多个训练阶段,相应地,上述S510可以指,在一个训练阶段中,随机抽取训练集中的多个训练图像,并将抽取的训练集中的多个训练图像分为支持集(support set)和问询集(query set)。

因此,也可以说,所述训练集包括支持集和问询集,训练集中的多个训练图像包括:支持集中的多个训练图像和问询集中的多个训练图像。

S520,根据预设的第一神经网络,提取所述问询集中的多个训练图像的特征向量。

其中,训练图像的特征向量可以用于指示所述训练图像的视觉特征(或图像特征),所述问询集包括所述训练集中的部分类别中的部分图像。

可选地,在提取所述问询集中的多个训练图像的特征向量时,也可以提取所述支持集中的多个训练图像的特征向量。

可选地,所述第一神经网络可以是由如图1所示的系统100训练得到的。

可选地,所述第一神经网络可以为图2所示的卷积神经网络。

S530,根据预设的第二神经网络和预设的全局类别特征,对所述问询集中的多个训练图像的特征向量进行处理,得到所述问询集中的多个训练图像的分类结果。

应理解,这里的分类结果可以是指图像所属的类别的标签。

可选地,所述第二神经网络可以是由如图1所示的系统100训练得到的。

可选地,所述第二神经网络可以为图2所示的卷积神经网络。

其中,所述全局类别特征包括多个类别特征,所述全局类别特征中的多个类别特征用于指示所述训练集中的所有类别的视觉特征,所述训练集中的所有类别为所述训练集中的所有训练图像所属的类别。

在本申请中,所述根据预设的第二神经网络和预设的全局类别特征,对所述问询集中的多个训练图像的特征向量进行处理,得到所述问询集中的多个训练图像的分类结果,可以包括:提取所述支持集中的多个训练图像的特征向量;根据所述支持集中的多个训练图像的特征向量,确定训练图像的局部类别特征;根据所述第二神经网络、所述训练图像的局部类别特征及所述全局类别特征,确定所述问询集中的多个训练图像的分类结果。

其中,所述训练图像的局部类别特征中的多个类别特征用于指示所述支持集中的所有类别的视觉特征,所述支持集包括所述训练集中的部分类别中的部分训练图像,所述问询集包括所述训练集中的部分类别中的部分训练图像。

可选地,所述支持集中的类别与所述问询集中的类别可以相同。

下面结合图6对上述S530中确定分类结果的步骤进行详细描述。

如图6所示,训练集中的多个训练图像分为支持集和问询集,支持集中的多个训练图像可以包括基类中的图像和新类中的图像。

需要说明的是,在一个训练阶段中,支持集和问询集是由训练集中随机抽取的多个训练图像确定的,训练集包括基类中的图像和新类中的图像,因此,支持集中的多个训练图像还可以只包括基类中的图像,或者,支持集中的多个训练图像还可以只包括新类中的图像。

如图6所示,可以确定支持集中的基类中的多个训练图像的类别特征,及新类中的多个训练图像的类别特征。例如,可以确定基类中的每个训练图像的特征向量,对属于同一个类别的多个训练图像的特征向量求均值,则该均值可以作为该类别的类别特征。确定新类中的多个训练图像的类别特征的方法,这里不再赘述。

特别地,在确定新类中的多个训练图像的类别特征之前,还可以先对新类中的多个训练图像,进行剪裁处理(cropping)、翻转处理(flipping)和/或数据幻化处理(hallucinator)等图像扩充处理,以得到更多的新类图像。

在本申请,上述这些(求得的)类别特征(包括基类中的多个训练图像的类别特征和/或新类中的多个训练图像的类别特征)可以称为训练图像的局部类别特征(localclass representations)。

可以看出,所述训练图像的局部类别特征是由一个训练阶段中随机抽取的(支持集中的)多个训练图像确定的,也就是说,这些局部类别特征只作用于模型训练过程中的一个训练阶段中,因此,局部类别特征也可以称为阶段类别特征(episodic classrepresentations)。或者局部类别特征也可以为其他的名称,本申请对此并不限定。

与之不同,全局类别特征(global class representations)可以认为是图像分类模型的参数,共享训练集中的所有类别的类别特征,因此,全局类别特征可以作用于模型训练过程中的多个训练阶段中。

可选地,在得到训练图像的局部类别特征之后,可以将所述训练图像的局部类别特征配准到所述全局类别特征,从而得到配准结果,即配准后的全局类别特征。

这里的配准也可以理解为找到局部类别特征中的每个类别特征对应的全局类别特征中的类别特征。例如,找到全局类别特征中的、与所述局部类别特征中的每个类别特征相似度最高的一个类别特征。

进一步地,可以根据局部类别特征中的每个类别特征及其对应的全局类别特征中的类别特征的相似度,确定配准误差。

具体地,可以基于局部类别特征中的每个类别特征与其对应的全局类别特征中的类别特征的相似度,确定所述配准误差。也就是说,当前训练阶段的配准误差是根据所述训练图像的局部类别特征及所述全局类别特征中的多个类别特征确定的。

可选地,可以使用所述第二神经网络对所述配准结果进行降维处理,以在低维的向量空间中对所述问询集中的多个训练图像的特征向量进行处理。

在本申请中,可以使用配准结果对所述问询集中的每个训练图像进行预测,得到所述问询集中的每个训练图像的分类结果。

具体地,可以使用距离最邻近的方法预测训练图像的分类结果。

例如,可以计算配准结果中的类别特征与所述问询集中的每个训练图像的特征向量之间的距离,对每个距离进行归一化处理,可以得到训练图像中的每个训练图像属于配准结果中的类别特征指示的类别的概率,也就是问询集中的每个训练图像的分类结果。

进一步地,将每个训练图像的分类结果与该训练图像的预先标注的标签对比,可以得到分类误差,其中,所述预先标注的标签用于指示所述训练图像所属的真实类别。也就是说,当前训练阶段的分类误差是根据所述多个训练图像的分类结果及所述多个训练图像预先标注的标签确定的。

S540,根据所述问询集中的多个训练图像的分类结果,更新所述全局类别特征。

在本申请中,可以根据所述问询集中的多个训练图像的分类结果,更新所述全局类别特征、所述第一神经网络及所述第二神经网络。

可选地,可以根据分类误差,更新所述全局类别特征。可选地,可以通过上述S530中的方法,根据所述多个训练图像的分类结果确定所述分类误差。

进一步地,可以根据分类误差,更新所述全局类别特征、所述第一神经网络及所述第二神经网络。

可选地,可以根据分类误差及配准误差,更新所述全局类别特征。可选地,可以通过上述S530中的方法,根据所述训练图像的局部类别特征及所述全局类别特征中的多个类别特征确定所述分类误差。

进一步地,可以根据分类误差及配准误差,更新所述全局类别特征、所述第一神经网络及所述第二神经网络。

在本申请中,在模型训练过程中的多个训练阶段中,都可以对所述全局类别特征进行更新,从而可以使得训练得到的全局类别特征具有更好的一致性,同时,训练集中包括基类中的图像和新类中的图像,新类(中的训练图像)在训练过程中产生的效果可以随着全局类别特征不断累积,因此,能够避免训练得到的图像分类模型过拟合到基类,根据该图像分类模型对待处理图像进行分类,能够更准确的识别新类中的图像。

图7是本申请另一个实施例的图像分类模型的训练方法700的示意性流程图。图7所示的方法可以由计算机设备、服务器设备或者运算设备等运算能力较强的设备来执行,例如,该方法可以由图4中的终端设备执行。下面分别对方法700中的各个步骤进行详细的介绍。

S710,特征提取(模块)。

提取支持集中的多个训练图像的特征向量,所述多个训练图像包括基类中的图像和新类中的图像。

可选地,可以使用上述第一神经网络,提取支持集中的多个训练图像的特征向量。

例如,假设有一组(多个)训练图像,这些训练图像可以用于训练上述图像分类模型,共包括C

在当前训练阶段,从训练集D

可选地,可以用F(·)表示特征提取,则对于训练集D

S701,图像扩充。

可选地,对于支持集中的新类,可以对新类中的图像进行剪裁处理(cropping)、翻转处理(flipping)和/或数据幻化处理(hallucinator)等图像扩充处理,以得到更多的新类图像。

需要说明的是,在训练集D

因此,在S701中,需要将新类中的n

S720,局部类别特征计算。

可选地,对支持集中的多个训练图像,计算属于同一个类别的多个训练图像的特征向量求均值,则该均值可以作该类别的类别特征。

计算支持集中的所有训练图像所属的类别的类别特征,从而可以得到训练图像的局部类别特征,记为

S730,类别特征配准(模块)。

可选地,将所述训练图像的局部类别特征配准到所述全局类别特征,得到配准结果。

或者说,找到局部类别特征中的每个类别特征对应的全局类别特征中的类别特征。

例如,全局类别特征记为

对于局部类别特征中的第j个类别特征f

例如,可能使用下述公式计算相似度

其中,θ(·)是训练图像的视觉特征的嵌入函数(embedding function),φ(·)是全局类别特征的嵌入函数。

此时,全局类别特征中与类别特征f

进一步地,可以根据局部类别特征中的每个类别特征及其对应的全局类别特征中的类别特征的相似度,确定配准误差。

例如,在本申请中,可以将训练图像x

L

其中,CE(·)为交叉熵损失,y

因此,第c

接下来,可以使用softmax函数对

S740,图像分类。

可选地,可以使用配准结果对所述问询集中的每个训练图像进行预测,得到所述问询集中的每个训练图像的分类结果。

进一步地,将每个训练图像的分类结果与该训练图像的预先标注的标签(真实标签)对比,可以得到分类误差。

例如,对于给定一个类别特征ξ

L

其中,

此时,可以将相似度最高的

S750,图像分类模型更新。

可选地,可以使用配准误差和/或分类误差,更新图像分类模型。

例如,在本申请中,可以将配准误差(L

可选地,S750可以包括S751、S752及S753中的至少一个步骤。

S751,更新特征提取(模块)。

可选地,可以使用配准误差(L

S752,更新类别特征配准(模块)。

可选地,可以使用配准误差(L

S753,更新全局类别特征。

可选地,可以使用配准误差(L

图8示出了本申请实施例提供的图像分类方法800的示意性流程图,图8所示的方法可以由计算机设备、服务器设备或者运算设备等运算能力较强的设备来执行,例如,该方法可以由图4中的终端设备执行。图8所示的方法包括步骤810和820,下面分别对这几个步骤进行详细的介绍。

S810,获取待处理图像。

可选地,当图8所示的方法800由图4中的终端设备执行时,该待处理图像可以是终端设备通过摄像头拍摄到的图像;或者,该待处理图像还可以是从终端设备内部获得的图像,例如,终端设备的相册中存储的图像,或者终端设备从云端获取的图像。

S820,根据预设的全局类别特征,对所述待处理图像进行分类,得到所述待处理图像的分类结果。

其中,所述全局类别特征包括根据训练集中的多个训练图像训练得到的多个类别特征,所述全局类别特征中的多个类别特征用于指示所述训练集中的所有类别的视觉特征,所述训练集中的所有类别为所述训练集中的所有训练图像所属的类别,所述训练集包括基类中的图像和新类中的图像。

可选地,所述根据预设的全局类别特征,对所述待处理图像进行分类,得到所述待处理图像的分类结果,可以包括:提取所述待处理图像的特征向量;根据所述待处理图像的特征向量,确定所述待处理图像属于候选类别的置信度,所述候选类别为所述全局类别特征指示的多个类别中的一个或多个;根据所述置信度,从所述候选类别中确定出所述待处理图像的分类结果。

可选地,在所述根据所述待处理图像的特征向量,确定所述待处理图像属于候选类别的置信度之前,所述方法还可以包括:根据所述待处理图像的支持集,确定待处理图像的局部类别特征;根据所述待处理图像的局部类别特征及所述全局类别特征,确定所述候选类别。

其中,所述待处理图像的支持集包括多个图像,所述多个图像所属的类别为所述全局类别特征指示的多个类别中的一个或多个。

可选地,所述候选类别可以包括支持集中的所有训练图像所属的类别。

可选地,所述根据所述待处理图像的特征向量,确定所述待处理图像属于候选类别的置信度,可以包括:根据所述待处理图像的特征向量,确定所述待处理图像的特征向量与所述候选类别中的每个类别对应的特征向量的距离;根据所述距离,确定所述待处理图像属于所述候选类别的所述置信度。

可选地,所述根据所述置信度,从所述候选类别中确定出所述待处理图像的分类结果,可以包括:将所述候选类别中所述置信度最大的类别,确定为所述待处理图像的分类结果。

应理解,这里的置信度可以是所述待处理图像属于所述候选类别的概率。因此,置信度最大,也可以说是,所述待处理图像属于所述候选类别的概率最大。

可选地,所述全局类别特征是根据分类误差训练得到的,所述分类误差是根据问询集中的训练图像的分类结果及所述问询集中的训练图像预先标注的标签确定的,所述标签用于指示所述训练图像所属的类别,所述问询集包括所述训练集中的部分类别中的部分训练图像。其中,确定所述分类误差的具体过程可以参照图5中的方法500。

可选地,所述全局类别特征是根据配准误差训练得到的,所述配准误差是根据训练图像的局部类别特征及所述全局类别特征中的多个类别特征确定的,所述训练图像的局部类别特征包括根据支持集中的多个训练图像确定的多个类别特征,所述训练图像的局部类别特征中的多个类别特征用于指示所述支持集中的所有类别的视觉特征,所述支持集包括所述训练集中的部分类别中的部分训练图像。其中,确定所述配准误差的具体过程可以参照图5中的方法500。

可选地,所述全局类别特征是根据分类误差及配准误差训练得到的。

可选地,所述训练图像的局部类别特征是由经过扩充处理的所述支持集中的多个训练图像确定的,所述扩充处理包括对图像进行剪裁处理、翻转处理和/或数据幻化处理。

在本申请中,全局类别特征是由训练集中的多个训练图像的分类结果训练得到的,所述全局类别特征包括能够指示训练集中的所有类别对应的视觉特征的多个类别特征,同时,由于所述全局类别训练过程使用的训练集包括基类中的图像和新类中的图像,可以避免所述全局类别特征过拟合到基类中的图像,从而能够更准确的识别新类中的图像。

图9是本申请实施例的图像分类装置的硬件结构示意图。图9所示的图像分类装置4000包括存储器4001、处理器4002、通信接口4003以及总线4004。其中,存储器4001、处理器4002、通信接口4003通过总线4004实现彼此之间的通信连接。

存储器4001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器4001可以存储程序,当存储器4001中存储的程序被处理器4002执行时,处理器4002和通信接口4003用于执行本申请实施例的图像分类方法的各个步骤。

处理器4002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的图像分类装置中的单元所需执行的功能,或者执行本申请方法实施例的图像分类方法。

处理器4002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的图像分类方法的各个步骤可以通过处理器4002中的硬件的集成逻辑电路或者软件形式的指令完成。

上述处理器4002还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、ASIC、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。上述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器4001,处理器4002读取存储器4001中的信息,结合其硬件完成本申请实施例的图像分类装置中包括的单元所需执行的功能,或者执行本申请方法实施例的图像分类方法。

通信接口4003使用例如但不限于收发器一类的收发装置,来实现装置4000与其他设备或通信网络之间的通信。例如,可以通过通信接口4003获取待处理图像。

总线4004可包括在装置4000各个部件(例如,存储器4001、处理器4002、通信接口4003)之间传送信息的通路。

图10是本申请实施例的图像分类模型的训练装置5000的硬件结构示意图。与上述装置4000类似,图10所示的图像分类模型的训练装置5000包括存储器5001、处理器5002、通信接口5003以及总线5004。其中,存储器5001、处理器5002、通信接口5003通过总线5004实现彼此之间的通信连接。

存储器5001可以存储程序,当存储器5001中存储的程序被处理器5002执行时,处理器5002用于执行本申请实施例的神经网络的训练方法的各个步骤。

处理器5002可以采用通用的CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的图像分类模型的训练方法。

处理器5002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的图像分类模型的训练方法的各个步骤可以通过处理器5002中的硬件的集成逻辑电路或者软件形式的指令完成。

应理解,通过图10所示的图像分类模型的训练装置5000对图像分类模型进行训练,训练得到的图像分类模型就可以用于执行本申请实施例的图像分类方法了。具体地,通过装置5000对图像分类模型进行训练能够得到图5以及图8所示的方法中的图像分类模型。

具体地,图10所示的装置可以通过通信接口5003从外界获取训练数据以及待训练的图像分类模型,然后由处理器根据训练数据对待训练的图像分类模型进行训练。

应注意,尽管上述装置4000和装置5000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置4000和装置5000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置4000和装置5000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置4000和装置5000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图9和图10中所示的全部器件。

应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。

上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。

本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 安检图像分类模型训练方法、安检图像分类方法及装置
  • 图像分类模型的训练方法、图像分类方法及装置
技术分类

06120112265553