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

技术领域

本公开涉及电子技术领域,具体涉及增强现实和深度学习技术领域,更具体地涉及一种分类模型的训练方法和对图像进行分类的方法、装置、电子设备和存储介质。

背景技术

相关技术中的深度学习模型在进行分类时,通常倾向于学习纹理特征。为了提升物体不变性,模型的训练方式倾向于提升模型的泛化能力。但提升泛化能力,会使得模型在处理图像时造成位置信息在一定程度上的丢失,使得训练得到的模型难以区分纹理特征相似甚至相同的物体。

发明内容

提供了一种能够对纹理特征相似的物体(例如镜像对称的物体)进行准确分类的分类模型的训练方法和对图像进行分类的方法。

根据本公开的一个方面,提供了一种分类模型的训练方法,该方法包括:获取训练样本,该训练样本具有指示类别的标签且训练样本中的至少部分样本为包括目标物体的图像;基于分类模型中不包括翻转层的第一处理支路,获得训练样本的第一分类信息;基于分类模型中包括翻转层的第二处理支路,获得训练样本的第二分类信息;以及基于第一分类信息、第二分类信息和标签,对分类模型进行训练,其中,翻转层用于对训练样本进行镜像翻转。

根据本公开的另一个方面,提供了一种对图像进行分类的方法,包括:获取待分类图像;基于分类模型中不包括翻转层的第一处理支路,获得待分类图像的第三分类信息;基于分类模型中包括翻转层的第二处理支路,获得待分类图像的第四分类信息;以及基于第三分类信息和第四分类信息,确定待分类图像的类别,其中,翻转层用于对待分类图像进行镜像翻转,所述分类模型是采用本公开提供的分类模型的训练方法训练得到的。

根据本公开的另一个方面,提供了一种分类模型的训练装置,包括:样本获取模块,用于获取训练样本,该训练样本具有指示类别的标签且训练样本中的至少部分样本为包括目标物体的图像;第一信息获得模块,用于基于分类模型中不包括翻转层的第一处理支路,获得训练样本的第一分类信息;第二信息获得模块,用于基于分类模型中包括翻转层的第二处理支路,获得训练样本的第二分类信息;以及模型训练模块,用于基于第一分类信息、第二分类信息和标签,对分类模型进行训练,其中,翻转层用于对训练样本进行镜像翻转。

根据本公开的另一个方面,提供了一种对图像进行分类的装置,包括:图像获取模块,用于获取待分类图像;第三信息获得模块,用于基于分类模型中不包括翻转层的第一处理支路,获得待分类图像的第三分类信息;第四信息获得模块,用于基于分类模型中包括翻转层的第二处理支路,获得待分类图像的第四分类信息;以及类别确定模块,用于基于第三分类信息和第四分类信息,确定待分类图像的类别,其中,翻转层用于对待分类图像进行镜像翻转,分类模型是采用本公开提供的分类模型的训练装置训练得到的。

根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的分类模型的训练方法和/或对图像进行分类的方法。

根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的分类模型的训练方法和/或对图像进行分类的方法。

根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开提供的分类模型的训练方法和/或对图像进行分类的方法。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1是根据本公开实施例的分类模型的训练方法和对图像进行分类的方法、装置、设备和存储介质的应用场景示意图;

图2是根据本公开实施例的分类模型的训练方法的流程图;

图3是根据本公开实施例的分类模型的架构示意图;

图4是根据本公开实施例的确定训练样本的预测类别的原理示意图;

图5是根据本公开另一实施例的确定训练样本的预测类别的原理示意图;

图6是根据本公开另一实施例的确定训练样本的预测类别的原理示意图;

图7是根据本公开另一实施例的分类模型的架构示意图;

图8是本公开另一实施例的确定训练样本的预测类别的原理示意图;

图9是根据本公开实施例的对图像进行分类的方法的流程图;

图10是根据本公开实施例的分类模型的训练装置的结构框图;

图11是根据本公开实施例的对图像进行分类的装置的结构框图;以及

图12是用来实现本公开实施例的分类模型的训练方法和/或对图像进行分类的方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

本公开提供了一种分类模型的训练方法,该方法包括样本获取阶段、分类信息获得阶段和模型训练阶段。在样本获取阶段中,获取训练样本,该训练样本具有指示类别的标签且训练样本中的至少部分样本为包括目标物体的图像。在分类信息获得阶段中,基于分类模型中不包括翻转层的第一处理支路,获得训练样本的第一分类信息;并基于分类模型中包括翻转层的第二处理支路,获得训练样本的第二分类信息。在模型训练阶段中,基于第一分类信息、第二分类信息和标签,对分类模型进行训练。其中,翻转层用于对训练样本进行镜像翻转。

以下将结合图1对本公开提供的方法和装置的应用场景进行描述。

图1是根据本公开实施例的分类模型的训练方法和对图像进行分类的方法、装置、设备和存储介质的应用场景示意图。

如图1所示,该应用场景100包括终端设备110,该终端设备可以为具有处理功能的任意电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和服务器等等。

该终端设备110例如可以对输入的图像120进行处理,具体可以对输入的图像进行目标物体的识别,并根据识别结果对图像120进行分类。将识别得到的目标物体的类别作为图像120的类别。其中,该终端设备110例如可以采用分类模型来对图像进行分类,得到图像的类别130。

根据本公开的实施例,如图1所示,该应用场景100例如还可以包括服务器140。终端设备110可以通过网络与服务器140通信连接,网络可以包括有线或无线通信链路。

示例性地,服务器140可以用于训练分类模型,并响应于终端设备110发送的模型获取请求,将训练好的分类模型150发送给终端设备110,便于终端设备110对输入的图像进行分类。

示例性地,服务器例如可以是提供各种服务的服务器,例如可以为对终端设备110上运行的应用程序提供支持的后台管理服务器。该服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。

根据本公开的实施例,如图1所示,该应用场景100还可以包括数据库160,该数据库160例如可以维护有海量的图像,该海量的图像中包括描述预定类别的目标物体中各目标物体的图像。服务器140例如可以访问该数据库160,并从数据库中的海量的图像中随机抽取部分图像,将抽取的图像作为训练样本对分类模型进行训练。

示例性地,分类模型例如可以为卷积神经网络模型,通过训练该模型能够学习到目标物体的纹理特征。该卷积神经网络模型例如可以包括卷积层、池化层和激活层等。通过池化层的设置,可以提升物体的不变性,从而提高模型的泛化能力。该分类模型还可以采用具有平均池化(AvgPooling)功能或者Dropout功能的网络架构构建得到。其中,Dropout是指在模型训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃,并强迫一个神经网络和随机挑选出来的其他神经单元共同工作,以减弱神经元节点间的联合适应性,增强训练后模型的泛化能力。在一实施例中,在物体类别包括具有对称特征的两个类别时,通过该激活层的操作等,会丢失位置信息,从而可能存在无法对具有对称形状的两类物体进行准确分类的情况。为了解决该问题,该实施例可以采用下文描述的分类模型,并采用下文描述的分类模型的训练方法来对分类模型进行训练。

在一实施例中,终端设备110与服务器140例如可以为同一设备,该同一设备中包括用于对图像进行分类的第一处理模块和用于对分类模型进行训练的第二处理模块。该第一处理模块和第二处理模块之间可以通过网络协议进行通信。

需要说明的是,本公开所提供的分类模型的训练方法和对图像进行分类的方法可以由服务器140和终端设备110中的不同设备执行,也可以由服务器140和终端设备110中的相同设备执行。相应地,本公开所提供的分类模型的训练装置和对图像进行分类的装置可以设置在服务器140和终端设备110中的不同设备中,也可以设置在服务器140和终端设备110中的相同设备中。

应该理解,图1中的终端设备、服务器、分类模型和数据库的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的终端设备、服务器、分类模型和数据库。

图2是根据本公开实施例的分类模型的训练方法的流程图。

如图2所示,该实施例的分类模型的训练方法200可以包括操作S210~操作S240。

在操作S210,获取训练样本,该训练样本具有指示类别的标签且训练样本中的至少部分样本为包括目标物体的图像。

根据本公开的实施例,图像包括的目标物体可以为相互对称的两个物体中的任意一个物体。标签指示的类别例如可以用于表示图像中是否包括目标物体,以及包括的目标物体的类别。标签指示的类别为预定类别,该预定类别可以根据实际需求进行设定。

根据本公开的实施例,通常在对模型进行训练时,会抽取一部分不包括目标物体的图像作为训练样本,该部分图像为背景图像。通过该背景图像,可以提高模型对目标物体特征的学习精度。

示例性地,相互对称的两个物体例如可以包括鞋子、手套、胳膊、耳朵、手、脚等通常会成对存在、且需要区分左右的实体。或者,该相互对称的两个物体可以为在相互对立的两个视角下的物体,例如第一用户看到的左鞋和与第一用户相对站立的第二用户看到的左鞋等。相应地,预定类别可以包括指示第一物体的第一类别、指示第二物体的第二类别和指示背景的第三类别。其中,第一物体为相互对称的两个物体中的其中一个物体,第二物体为相互对称的两个物体中的另一个物体,指示背景的第三类别是指图像既不包括第一物体也不包括第二物体的类别。

示例性地,可以依据预定比例从数据库中抽取背景图像、包括第一物体的图像和包括第二物体的图像。通过抽取预定类别中每个类别的图像作为训练样本,可以提高模型的训练精度。其中,预定比例可以根据实际需求进行设定,本公开对此不做限定。例如,可以抽取等量的背景图像、包括第一物体的图像和包括第二物体的图像。

在操作S220,基于分类模型中不包括翻转层的第一处理支路,获得训练样本的第一分类信息。

根据本公开的实施例,分类模型可以为卷积神经网络模型,例如可以采用LeNet模型、AlexNet模型、VGG模型、GoogLeNet模型或者ResNet模型。该第一处理支路的架构与该些分类模型类似,通过将训练样本输入该第一处理支路,经由该第一处理支路处理后,输出训练样本的第一分类信息。

在操作S230,基于分类模型中包括翻转层的第二处理支路,获得训练样本的第二分类信息。

根据本公开的实施例,该第二处理支路与第一处理支路类似,区别在于该第二处理支路包括有翻转层,该翻转层可以设置在卷积神经网络模型中全连接层之前的任意位置。该翻转层用于对训练样本进行镜像翻转,具体地,该翻转层用于对输入其的数据进行镜像翻转。其中,在翻转层为输入层时,输入该翻转层的数据为训练样本,在翻转层为中间层时,该翻转层的输入为特征矩阵。

示例性地,镜像翻转可以为沿任意轴的翻转。在目标物体为相互对称的两个物体时,该镜像翻转可以为沿该两个物体的对称轴的翻转。通过该方式,在训练样本中包括其中一个物体时,该翻转层的输入数据为指示其中一个物体的数据,通过该翻转层的处理,输出得到的数据为指示其中另一个物体的数据。

示例性地,该翻转层例如可以基于翻转(flip)函数构建得到,以对输入的数据绕指定的对称轴(例如水平轴或垂直轴)进行翻转。

示例性地,分类模型可以基于轻量级的前端MVC(Model View Controller)框架构建,例如可以基于骨干(Backbone)架构构建。

示例性地,第一分类信息和第二分类信息例如可以为概率向量,该概率向量中的各概率用于指示图像属于预定类别中各类别的概率。在一实施例中,该概率向量中例如可以仅包括指示其中一个物体的类别的概率,以此降低模型训练的难度。

示例性地,第二处理支路中除翻转层外的其他层例如可以与第一处理支路中的各层的参数相同,即该第二处理支路与第一处理支路共用分类模型中除翻转层外的其他层。

在操作S240,基于第一分类信息、第二分类信息和标签,对分类模型进行训练。

根据本公开的实施例,在得到第一分类信息和第二分类信息后,可以先根据两个分类信息来确定训练样本的预测类别。然后根据预测类别与标签指示的类别对分类模型进行训练。

示例性地,先根据预测类别与标签指示的类别的差异,来确定预定损失函数的取值。然后采用下降梯度算法来确定预定损失函数的取值为最小值,根据该最小值来对分类模型中的参数进行调整。可以理解的是,确定预定损失函数取值的最小值的算法仅作为示例以利于理解本公开,本公开对此不做限定。例如,还可以采用反向传播算法来确定预定损失函数取值的最小值。其中,例如可以使用PyTorch等自动求导系统来完成预定函数取值最小值的确定。

根据本公开的实施例,可以先确定第一分类信息和第二分类信息中包括的最大概率,然后根据该最大概率确定训练样本的预测类别。例如,可以将该最大概率针对的类别作为预测类别。

示例性地,在概率向量中例如仅包括针对其中一个物体的类别的概率时,若最大概率针对第一类别,则还可以根据最大概率所属的分类信息来确定预测类别。这是由于通过翻转层的镜像翻转操作,第二分类信息中指示第一类别的概率实质上为指示第二类别的概率。例如,若最大概率属于第一分类信息,且该最大概率针对前述的第一类别,则预测类别为第一类别。若最大概率属于第二分类信息,且该最大概率针对前述的第一类别,则预测类别为第二类别。

综上分析,本公开实施例通过在分类模型中设置翻转层,可以使得模型在训练过程中同时学习到相互对称的两个物体的特征,并根据设置翻转层和未设置翻转层的两个支路的输出结果来对模型进行训练,可以使得模型能够对该两个物体的特征加以区分,并因此可以使得模型更好的区分相互对称的两个物体,提高训练得到的模型的准确率。

图3是根据本公开实施例的分类模型的架构示意图。

如图3所示,该实施例中的分类模型300至少可以包括特征提取层310、翻转层320和全连接层(Fully Connected layers,FC)330。其中,特征提取层可以有多个卷积层构成,用于将训练样本等原始数据映射到特征空间,学习到训练样本等的分布式特征表示。全连接层330可以由多个层构成,用于将输入的特征矩阵映射到样本标记空间,使得输出的概率向量中概率的个数为预定个数。

示例性地,特征提取层310和全连接层330依次连接构成第一处理支路。作为训练样本的图像输入特征提取层310后,得到特征信息。该特征信息作为全连接层330的输入,经由全连接层330处理后输入前文描述的第一分类信息302。

示例性地,特征提取层310、翻转层320和全连接层330依次连接构成第二处理支路。在获得第二分类信息时,将作为训练样本的图像301作为特征提取层310的输入,获得该训练样本的特征信息。该特征信息作为翻转层320的输入,经由翻转层320进行镜像翻转操作后可以获得翻转后的翻转特征信息。将该翻转特征信息作为全连接层的输入,经由全连接层处理后可以获得训练样本的第二分类信息303。

可以理解的是,在该分类模型300中,第二处理支路中的翻转层设置于全连接层330之前且分类模型中其他层(例如特征提取层)之后,可以使得该翻转层320的输入特征信息的维度尽可能的小,并因此便于提高模型的训练效率及分类模型的处理效率。

可以理解的是,该分类模型300除了前述特征提取层310、翻转层320和全连接层330外,例如还可以包括池化层、激活层等,该些层的设置位置均位于数据处理流中翻转层之前,以实现对特征提取层310提取的特征的降维处理等。

图4是根据本公开实施例的确定训练样本的预测类别的原理示意图。

根据本公开的实施例,在上述标签指示的类别包括指示第一物体的第一类别、指示第二物体的第二类别和指示背景的第三类别,且第一分类信息和第二分类信息均包括针对第一类别的第一预测概率和针对第三类别的第二预测概率的情况下,如图4所示,该实施例400在确定训练样本的预测类别时,可以先确定第一分类信息401和第二分类信息402中包括的最大概率,并将该最大概率作为第一概率403。基于该第一概率所针对的类别404和第一概率所属的分类信息405,来确定训练样本的预测类别406。

示例性地,在目标物体为彼此镜像对称的第一物体和/或第二物体的情况下,根据前述描述可知,由于通过翻转层的镜像翻转操作,第二分类信息中指示第一类别的概率实质上为指示第二类别的概率。则在所针对的类别404为第一类别且所属的分类信息405为第一分类信息时,该第一概率为针对第一类别的概率,预测类别为第一类别。在所针对的类别404为第一类别且所属的分类信息405为第二分类信息时,该第一概率实质上为指示第二类别的概率,预测类别为第二类别。在所针对的类别为第三类别时,预测类别为第三类别。

以下将结合两种实例,对基于该第一概率所针对的类别404和第一概率所属的分类信息405,来确定训练样本的预测类别的原理进行详细描述。

图5是根据本公开另一实施例的确定训练样本的预测类别的原理示意图。

在该实施例中,前述第一物体可以为第一视角下的物体,前述第二物体可以为与第一视角相对的第二视角下的物体。前述翻转层可以用于对训练样本关于第一轴执行镜像翻转操作。

示例性地,如图5所示,在该实施例500中,第一物体可以为第一视角下的左鞋,第二物体可以为第二视角下的左鞋。若输入的图像为包括第二视角下的左鞋501的图像,通过特征提取层的处理,例如可以得到作为翻转层503的输入的特征矩阵502(可以为前述的特征信息)。该翻转层503例如用于针对水平轴,对输入的特征矩阵502执行翻转操作,从而得到特征矩阵504(可以得到前述的翻转特征信息)。

如图5所示,可以看出该特征矩阵502与特征矩阵504的对称关系,与第二视角下的左鞋501和第一视角下的左鞋505的对称关系相同。由于特征矩阵502为第二视角下的左鞋501的特征信息,则该特征矩阵504为第一视角下的左鞋505的特征信息。将该特征矩阵504输入分类模型的全连接层,可以得到前述的第二分类信息。此种情况下,对于训练好的分类模型,由于该第二分类信息中针对第一类别的概率是由全连接层对第一视角下的左鞋505的特征信息处理后得到的,则该第二分类信息中针对第一类别的概率(即目标物体为第一视角下的左鞋的概率)应为第一分类信息和第二分类信息中的最大概率。而特征矩阵504是通过对第一视角下的左鞋的特征信息翻转得到,因此可以确定图像的预测类别为指示第二视角下的左鞋的第二类别。

图6是根据本公开另一实施例的确定训练样本的预测类别的原理示意图。

在该实施例中,前述第一物体可以为呈镜像对称的两个物体中的其中一个物体,前述第二物体可以为呈镜像对称的两个物体中的其中另一个物体。前述第二处理支路中的翻转层可以用于对训练样本关于第二轴执行镜像翻转操作。

示例性地,如图6所示,在该实施例600中,第一物体可以为左鞋,第二物体可以为右鞋。对于分类模型,若输入的图像为包括右鞋601的图像,通过特征提取层的处理,例如可以得到作为翻转层603的输入的特征矩阵602(可以为前述的特征信息)。该翻转层603例如用于针对垂直轴,对输入的特征矩阵602执行翻转操作,从而得到特征矩阵604(可以得到前述的翻转特征信息)。

如图6所示,可以看出该特征矩阵602与特征矩阵604的对称关系,与右鞋601和左鞋605的对称关系相同。由于特征矩阵602为右鞋的特征信息,则该特征矩阵604为左鞋605的特征信息。将该特征矩阵604输入分类模型的全连接层,可以得到前述的第二分类信息。此种情况下,对于训练好的分类模型,由于该第二分类信息中针对第一类别的概率是由全连接层对左鞋605的特征信息处理后得到的,则该第二分类信息中针对第一类别的概率(即目标物体为左鞋的概率)应为第一分类信息和第二分类信息中的最大概率。而特征矩阵604是通过对右鞋的特征信息翻转得到,因此可以确定图像的预测类别为指示右鞋的第二类别。

图7是根据本公开另一实施例的分类模型的架构示意图。

如图7所示,该实施例的分类模型700例如可以包括特征提取层710、翻转层和全连接层730。其中,翻转层包括第一翻转层721和第二翻转层722。该特征提取层710、全连接层730分别与前文描述的特征提取层、全连接层类似,在此不再赘述。

该实施例的分类模型700中,特征提取层710与全连接层730依次连接可以形成第一处理支路740。翻转层包括有第一翻转层721和第二翻转层722。该第一翻转层721例如可以用于对训练样本关于第一轴执行镜像翻转操作,该第二翻转层722可以用于对训练样本关于第二轴执行镜像翻转操作。该第一翻转层721和第二翻转层722分别与前文描述的对训练样本关于第一轴执行镜像翻转操作的翻转层、对训练样本关于第二轴执行镜像翻转操作的翻转层类似,在此不再赘述。

根据该第一翻转层721和第二翻转层722的设置,前述第二处理支路例如可以构成第一子支路751、第二子支路752和第三子支路753。其中,第一子支路751通过依次连接特征提取层710、第一翻转层721和全连接层730构成。第二子支路752通过依次连接特征提取层710、第二翻转层722和全连接层730构成。第三子支路753通过依次连接特征提取层710、第一翻转层721、第二翻转层722和全连接层730构成。

示例性地,在将作为训练样本的图像701输入分类模型时,可以经由第一处理支路740中各层的处理,获得第一分类信息702。经由第一子支路751中各层的处理,可以获得第一子分类信息703。经由第二子支路752中各层的处理,可以获得第二子分类信息704。经由第三子支路753中各层的处理,可以获得第三子分类信息705。该第一子分类信息703、第二子分类信息704和第三子分类信息705共同构成第二分类信息。

示例性地,由于第一子支路751、第二子支路752和第三子支路753包括与第一处理支路740相同的全连接层730,因此,第一子分类信息703、第二子分类信息704和第三子分类信息705与第一分类信息702类似,均为具有相同维度的概率向量。

在该实施例中,在第一翻转层对特征信息相对于第一轴翻转时,与前文描述的类似,翻转前后的特征信息可以为分别用于指示两个对立视角下的物体的特征信息。在第二翻转层对特征信息相对于第二轴翻转时,与前文描述的类似,翻转前后的特征信息可以为分别用于指示呈镜像对称的两个物体的特征信息。在分别经由第一翻转层和第二翻转层对特征信息先相对于第一轴翻转,在相对于第二轴翻转,则可以使得翻转前后的特征信息分别用于指示相同视角下呈镜像对称的两个物体、在不同视角下的特征信息。例如,若图像701中的目标物体为第一视角下、呈镜像对称的两个物体中的其中一个物体时,通过第二处理支路包括的三个子支路的处理,图像701的特征信息可以分别转换为指示第二视角下其中一个物体的特征信息、第一视角下两个物体中其中另一个物体的特征信息和第二视角下其中另一个物体的特征信息。

基于此,前述的指示第一物体的第一类别可以包括第一子类别和第二子类别。第一子类别用于指示第一视角下的第一物体,第二子类别用于指示第二视角下的第一物体。前述的指示第二物体的第二类别可以包括第三子类别和第四子类别。第三子类别用于指示第一视角下的第二物体,第四子类别用于指示第二视角下的第二物体。各分类信息可以包括针对第一物体的第一预测概率和针对背景的第二预测概率,其中,第一预测概率可以为针对第一子类别的预测概率。此种情况下,在确定作为训练样本的图像701的预测类别时,可以先确定所有分类信息中的最大概率,即确定前述的第一概率。若该第一概率所针对的类别为第一类别且所属的分类信息为第一分类信息,确定预测类别为第一子类别。若第一概率所针对的类别为第一类别且所属的分类信息为第一子分类信息,确定预测类别为所述第二子类别。若该第一概率所针对的类别为第一类别且所属的分类信息为第二子分类信息,确定预测类别为第三子类别。若该第一概率所针对的类别为第一类别且所属的分类信息为第三子分类信息,确定预测类别为第四子类别。若该第一概率所针对的类别为第二类别,确定预测类别为第三类别。

综上分析可知,该实施例的分类模型不仅可以对呈镜像对称的两个物体进行有效区分,还可以对相对立的两个视角下的物体进行有效区分。因此,该实施例的分类模型可以更有效地学习到物体的结构特征,并因此可以进一步提高分类准确率。

可以理解的是,上述的第一轴和第二轴可以为相互垂直的两个轴。

以下将结合实例对该确定训练样本的预测类别的原理进行详细描述。

图8是本公开另一实施例的确定训练样本的预测类别的原理示意图。

在该实施例中,前述第一物体可以为呈镜像对称的两个物体中的其中一个物体,前述第二物体可以为呈镜像对称的两个物体中的其中另一个物体。第一视角与第二视角相对。

示例性地,如图8所示,在该实施例800中,第一物体可以为左鞋,第二物体可以为右鞋。若输入的图像为包括第一视角下的左鞋801的图像,通过调整提取层的处理,例如可以得到作为翻转层的输入的特征矩阵802。第一翻转层803例如用于针对水平轴,对该特征矩阵802执行镜像翻转操作,从而得到特征矩阵805。第二翻转层804例如用于针对垂直轴,对该特征矩阵802执行镜像翻转操作,从而得到特征矩阵806。则经由第一翻转层803和第二翻转层804,可以先针对水平轴对特征矩阵802进行第一次镜像翻转,再针对垂直轴对第一次镜像翻转得到的特征进行第二次镜像翻转,从而得到特征矩阵807。

如图8所示,可以看出特征矩阵802和特征矩阵805之间的镜像关系,与第一视角下的左鞋801和第二视角下的左鞋808之间的镜像关系相同,则特征矩阵805为第二视角下的左鞋808的特征信息。类似地,特征矩阵802和特征矩阵806之间的镜像关系,与第一视角下的左鞋801和第一视角下的右鞋809之间的镜像关系相同,则特征矩阵806为第一视角下的右鞋809的特征信息。特征矩阵802和特征矩阵807之间的镜像关系,与第一视角下的左鞋801和第二视角下的右鞋810之间的镜像关系相同,则特征矩阵807为第二视角下的右鞋810的特征信息。此种情况下,对于训练好的分类模型,由于第一分类信息中针对第一子类别的概率是由全连接层对第一视角下的左鞋801的特征信息处理后得到的,该第一分类信息中针对第一子类别的概率应为前述的最大概率。因此,可以确定图像的预测类别为第一子类别。

类似地,对于训练好的分类模型,在作为训练样本的图像包括第二视角下的左鞋的图像时,由于第一子分类信息中针对第一子类别的概率是由全连接层对第一视角下的左鞋的特征信息处理后得到的,该第一子分类信息中针对第一子类别的概率应为前述的最大概率,而该第一视角下的左鞋的特征信息是通过对第二视角下的左鞋的特征信息相对于水平轴执行翻转操作得到的,因此可以确定图像的预测类别为指示第二视角下的左鞋的第二子类别。类似地,在作为训练样本的图像包括第一视角下的右鞋的图像时,可以确定第二子分类信息中针对第一子类别的概率为最大概率,预测类别为第三子类别。在作为训练样本的图像包括第二视角下的右鞋的图像时,可以确定第三子分类信息中针对第一子类别的概率为最大概率,预测类别为第三子类别。

图9是根据本公开实施例的对图像进行分类的方法的流程图。

如图9所示,该对图像进行分类的方法900可以包括操作S910~操作S940。

在操作S910,获取待分类图像。

根据本公开的实施例,该待分类图像例如可以为实时拍摄的图像,或者可以为预先拍摄后缓存的图像。在虚拟试装场景中,待分类图像可以为预先拍摄的服装图像,或者鞋子图像等。

在操作S920,基于分类模型中不包括翻转层的第一处理支路,获得待分类图像的第三分类信息。分类模型是采用前文描述的分类模型的训练方法训练得到的。

在操作S930,基于分类模型中包括翻转层的第二处理支路,获得待分类图像的第四分类信息。其中,翻转层用于对待分类图像进行镜像翻转。

可以理解的是,该操作S920和操作S930与前文描述的获得训练样本的第一分类信息和第二分类信息的方法类似,区别在于该实施例中的分类模型为预先训练后,精度满足条件的模型。

在操作S940,基于第三分类信息和第四分类信息,确定待分类图像的类别。

根据本公开的实施例,待分类图像的类别为至少两个预定类别中的一个。如前文所述,预定类别可以包括指示第一物体的第一类别、指示第二物体的第二类别和指示背景的第三类别。第三分类信息和第四分类信息均包括针对第一类别的第三预测概率和针对第三类别的第四预测概率。

操作S940在确定待分类图像的类别时,可以先确定第三分类信息和第四分类信息中包括的最大概率,作为第二概率。根据第二概率所针对的类别和第二概率所属的分类信息,确定待分类图像的类别。该操作S940与前文描述的基于第一分类信息和第二分类信息确定训练样本的预测类别的方法类似,在此不再赘述。

在一实施例中,第一类别、第二类别与前文描述的第一类别、第二类别类似,第一类别可以包括第一子类别和第二子类别,第二类别可以包括第三子类别和第四子类别。在确定待分类图像的类别时,则可以根据第二概率所针对的类别和第二概率所属的分类信息,来确定待分类图像的类别为第一子类别、第二子类别、第三子类别、第四子类别和第三类别中的其中一个,且确定方法与前文描述的确定训练样本的预测概率的方法类似,在此不再赘述。

基于本公开提供的分类模型的训练方法,本公开还提供了一种分类模型的训练装置。以下将结合图10对该训练装置进行详细描述。

图10是根据本公开实施例的分类模型的训练装置的结构框图。

如图10所示,该实施例的分类模型的训练装置1000可以包括样本获取模块1010、第一信息获得模块1020、第二信息获得模块1030和模型训练模块1040。

样本获取模块1010用于获取训练样本,该训练样本具有指示类别的标签且训练样本中的至少部分样本为包括目标物体的图像。在一实施例中,样本获取模块1010例如可以用于执行前文描述的操作S210,在此不再赘述。

第一信息获得模块1020用于基于分类模型中不包括翻转层的第一处理支路,获得训练样本的第一分类信息。其中,翻转层用于对训练样本进行镜像翻转。在一实施例中,第一信息获得模块1020例如可以用于执行前文描述的操作S220,在此不再赘述。

第二信息获得模块1030用于基于分类模型中包括翻转层的第二处理支路,获得训练样本的第二分类信息。在一实施例中,第二信息获得模块1030例如可以用于执行前文描述的操作S230,在此不再赘述。

模型训练模块1040用于基于第一分类信息、第二分类信息和标签,对分类模型进行训练。在一实施例中,模型训练模块1040例如可以用于执行前文描述的操作S240,在此不再赘述。

根据本公开的实施例,上述第二处理支路还包括特征提取层和全连接层。上述第二信息获得模块1030可以包括特征获得子模块、特征翻转子模块和信息获得子模块。特征获得子模块用于以训练样本作为特征提取层的输入,获得训练样本的特征信息。特征翻转子模块用于以特征信息作为翻转层的输入,获得翻转后的翻转特征信息。信息获得子模块用于以翻转特征信息作为全连接层的输入,获得训练样本的第二分类信息。

根据本公开的实施例,上述模型训练模块1040可以包括预测类别确定子模块和训练子模块。预测类别确定子模块用于基于第一分类信息和第二分类信息,确定训练样本的预测类别。训练子模块用于根据预测类别和标签指示的类别,对分类模型进行训练。

根据本公开的实施例,标签指示的类别包括指示第一物体的第一类别、指示第二物体的第二类别和指示背景的第三类别。第一分类信息和第二分类信息均包括针对第一类别的第一预测概率和针对第三类别的第二预测概率。上述预测类别确定子模块可以包括概率确定单元和类别确定单元。概率确定单元用于确定第一分类信息和第二分类信息中包括的最大概率,作为第一概率。类别确定单元用于根据第一概率所针对的类别和第一概率所属的分类信息,确定预测类别。

根据本公开的实施例,上述类别确定单元具体用于:在所针对的类别为第一类别且所属的分类信息为第一分类信息的情况下,确定预测类别为第一类别;在所针对的类别为第一类别且所属的分类信息为第二分类信息的情况下,确定预测类别为第二类别;以及在所针对的类别为第三类别的情况下,确定预测类别为所述第三类别。其中,第一物体和第二物体彼此镜像对称,目标物体包括第一物体和所述第二物体。

根据本公开的实施例,上述翻转层用于关于第一轴对训练样本进行镜像翻转;以及第一物体为呈镜像对称的两个物体中的其中一个物体,第二物体为呈镜像对称的两个物体中的其中另一个物体。

根据本公开的实施例,翻转层用于关于第二轴对训练样本进行镜像翻转;以及第一物体为第一视角下的物体,第二物体为与第一视角相对的第二视角下的物体。

根据本公开的实施例,上述第二处理支路包括具有第一翻转层的第一子支路、具有第二翻转层的第二子支路和具有依次连接的第一翻转层和第二翻转层的第三子支路。上述第一翻转层用于关于第一轴对训练样本进行镜像翻转,第二翻转层用于关于第二轴对训练样本进行镜像翻转。上述第二信息获得模块包括第一获得子模块、第二获得子模块和第三获得子模块。第一获得子模块用于基于第一子支路,获得训练样本的第一子分类信息。第二获得子模块用于基于第二子支路,获得训练样本的第二子分类信息。第三获得子模块用于基于第三子支路,获得训练样本的第三子分类信息。

根据本公开的实施例,上述第一类别包括指示第一视角的第一子类别及指示第二视角的第二子类别。第二类别包括指示第一视角的第三子类别及指示第二视角的第四子类别。其中,第二视角与第一视角相对。上述第一预测概率为针对第一子类别的预测概率,第一子分类信息、第二子分类信息和第三子分类信息均包括第一预测概率和第二预测概率。上述类别确定单元具体用于:在所针对的类别为第一类别且所属的分类信息为第一分类信息的情况下,确定预测类别为所述第一子类别;在所针对的类别为第一类别且所属的分类信息为第一子分类信息的情况下,确定预测类别为第二子类别;在所针对的类别为第一类别且所属的分类信息为第二子分类信息的情况下,确定预测类别为所述第三子类别;在所针对的类别为第一类别且所属的分类信息为第三子分类信息的情况下,确定预测类别为所述第四子类别;以及在所针对的类别为第二类别的情况下,确定预测类别为所述第三类别。其中,第一物体为呈镜像对称的两个物体中的其中一个物体,第二物体为呈镜像对称的两个物体中的其中另一个物体。

基于本公开提供的对图像进行分类的方法,本公开还提供了一种对图像进行分类的装置。以下将结合图11对该装置进行详细描述。

图11是根据本公开实施例的对图像进行分类的装置的结构框图。

如图11所示,该实施例的对图像进行分类的装置1100可以包括图像获取模块1110、第三信息获得模块1120、第四信息获得模块1130和类别确定模块1140。

图像获取模块1110用于获取待分类图像。在一实施例中,图像获取模块1110可以用于执行前文描述的操作S910,在此不再赘述。

第三信息获得模块1120用于基于分类模型中不包括翻转层的第一处理支路,获得待分类图像的第三分类信息。其中,分类模型可以是采用前文描述的分类模型的训练装置训练得到的。在一实施例中,第三信息获得模块1120可以用于执行前文描述的操作S920,在此不再赘述。

第四信息获得模块1130用于基于分类模型中包括翻转层的第二处理支路,获得待分类图像的第四分类信息。其中,翻转层用于对待分类图像进行镜像翻转。在一实施例中,第四信息获得模块1130可以用于执行前文描述的操作S930,在此不再赘述。

类别确定模块1140用于基于第三分类信息和第四分类信息,确定待分类图像的类别。在一实施例中,类别确定模块1140可以用于执行前文描述的操作S940,在此不再赘述。

根据本公开的实施例,待分类图像的类别为至少两个预定类别中的一个。该预定类别可以包括指示第一物体的第一类别、指示第二物体的第二类别和指示背景的第三类别。第三分类信息和第四分类信息均包括针对第一类别的第三预测概率和针对第三类别的第四预测概率。上述类别确定模块1140可以包括概率确定子模块和类别确定子模块。概率确定子模块用于确定第三分类信息和第四分类信息中包括的最大概率,作为第二概率。类别确定子模块用于根据第二概率所针对的类别和第二概率所属的分类信息,确定待分类图像的类别。

需要说明的是,本公开的技术方案中,所涉及的用户个人信息的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图12示出了可以用来实施本公开实施例的分类模型的训练方法和/或对图像进行分类的方法的示例电子设备1200的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图12所示,设备1200包括计算单元1201,其可以根据存储在只读存储器(ROM)1202中的计算机程序或者从存储单元1208加载到随机访问存储器(RAM)1203中的计算机程序,来执行各种适当的动作和处理。在RAM 1203中,还可存储设备1200操作所需的各种程序和数据。计算单元1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。

设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1201的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理,例如分类模型的训练方法和/或对图像进行分类的方法。例如,在一些实施例中,分类模型的训练方法和/或对图像进行分类的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到设备1200上。当计算机程序加载到RAM 1203并由计算单元1201执行时,可以执行上文描述的分类模型的训练方法和/或对图像进行分类的方法的一个或多个步骤。备选地,在其他实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行分类模型的训练方法和/或对图像进行分类的方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(“Virtual Private Server”,或简称“VPS”)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

相关技术
  • 分类模型的训练方法和对图像进行分类的方法
  • 一种用于SAR图像船舶分类的卷积神经网络的训练方法及其分类方法、船舶分类模型
技术分类

06120113082900