1.本发明涉及图像识别领域,具体涉及一种图像分类方法、装置、设备及存储介质。
背景技术:
2.图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术,是应用深度学习算法的一种实践应用。
3.现阶段在对图像进行分类时,通常采用深度学习模型进行数据处理,即通过训练好的深度学习模型对输入的图像进行数据处理,并根据处理结果确定输入的图像所对应的类型。而在深度学习模型的训练过程中,在有监督信息的训练数据中可以给定不同类别的图像特定的类别号,一般使用0~n编号,在训练过程中这些编号作为监督训练的label(标签),并通过损失函数对深度学习模型的全连接层fc的输出值与标签值进行计算,再通过损失函数值对模型参数进行更新,以实现对全连接层的输出的约束。
4.上述方案中,通过分类损失函数直接对fc的输出结果进行约束训练处的深度学习模型,对图像进行提取时的特征空间不够分散,分类精度较低。
技术实现要素:
5.本技术提供了一种图像分类方法、装置、设备及存储介质,提高了图像分类的准确性,该技术方案如下。
6.一方面,提供了一种图像分类方法,所述方法包括:
7.获取训练样本图像;
8.通过目标分类模型对所述训练样本图像进行处理,获得所述训练样本图像对应的输出值;
9.根据所述训练样本图像的输出值以及所述训练样本图像的标签值,获取第一损失函数值;
10.根据所述目标分类模型中至少两类全连接层的参数分别归一化后的内积,获取所述第二损失函数值;
11.基于所述第一损失函数值以及第二损失函数值对所述目标分类模型进行更新,以便更新后的所述目标分类模型对输入的目标图像进行分类处理。
12.又一方面,提供了图像分类方法,所述方法包括:
13.获取目标图像;
14.通过目标分类模型对目标图像进行处理,获得所述目标图像的分类结果;
15.其中,所述目标分类模型是基于第一损失函数值以及第二损失函数值进行更新得到的;所述第一损失函数值是根据所述目标分类模型对训练样本图像进行处理得到的输出值,以及所述训练样本图像的标签值得到的;所述第二损失函数值是根据所述目标分类模型中至少两类全连接层的参数分别归一化后的内积得到的。
16.再一方面,提供了一种图像分类装置,所述装置包括:
17.样本获取模块,用于获取训练样本图像;
18.样本图像处理模块,用于通过目标分类模型对所述训练样本图像进行处理,获得所述训练样本图像对应的输出值;
19.第一损失函数值获取模块,用于根据所述训练样本图像的输出值以及所述训练样本图像的标签值,获取第一损失函数值;
20.第二损失函数值获取模块,用于根据所述目标分类模型中至少两类全连接层的参数分别归一化后的内积,获取所述第二损失函数值;
21.模型更新模块,用于基于所述第一损失函数值以及第二损失函数值对所述目标分类模型进行更新,以便更新后的所述目标分类模型对输入的目标图像进行分类处理。
22.再一方面,提供了一种图像分类装置,所述装置包括:
23.目标图像获取模块,用于获取目标图像;
24.目标图像处理模块,用于通过目标分类模型对目标图像进行处理,获得所述目标图像的分类结果;
25.其中,所述目标分类模型是基于第一损失函数值以及第二损失函数值进行更新得到的;所述第一损失函数值是根据所述目标分类模型对训练样本图像进行处理得到的输出值,以及所述训练样本图像的标签值得到的;所述第二损失函数值是根据所述目标分类模型中至少两类全连接层的参数分别归一化后的内积得到的。
26.再一方面,提供了一种计算机设备,所述计算机设备中包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述图像分类方法。
27.又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的图像分类方法。
28.本技术提供的技术方案可以包括以下有益效果:
29.当需要对目标分类模型进行训练时,可以根据训练样本图像,通过目标分类模型进行数据处理,获得训练样本图像所对应的输出值,并通过损失函数进行计算输出值与标签值之间的第一损失函数值;并且在训练过程中,还可以根据目标分类模型中的至少两类全连接层的参数分别归一化后的乘积,得到第二损失函数值,通过第一损失函数值以及第二损失函数值对目标分类模型进行更新后,目标分类模型在提高对训练样本图像的识别能力的同时,提高了不同全连接层之间的参数的区分度,从而提高了不同全连接层对训练样本图像进行特征提取时的区分度,提高了图像分类的准确性。
附图说明
30.为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1是根据一示例性实施例示出的一种图像分类系统的结构示意图。
32.图2是根据一示例性实施例示出的图像分类方法的方法流程图。
33.图3是根据一示例性实施例示出的图像分类方法的方法流程图。
34.图4是根据一示例性实施例示出的图像分类方法的方法流程图。
35.图5示出了本技术实施例涉及的一种图像镜像翻转示意图。
36.图6示出了本技术实施例涉及的一种像素采样示意图。
37.图7示出了本技术实施例涉及的一种像素替换示意图。
38.图8示出了本技术实施例涉及的一种高斯模糊示意图。
39.图9示出了本技术实施例涉及的一种随机旋转示意图。
40.图10示出了本技术实施例涉及的一种第二损失函数值获取流程示意图。
41.图11是根据一示例性实施例示出的图像分类装置的结构方框图。
42.图12是根据一示例性实施例示出的图像分类装置的结构方框图。
43.图13是根据本技术一示例性实施例提供的一种计算机设备示意图。
具体实施方式
44.下面将结合附图对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.应理解,在本技术的实施例中提到的“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,a指示b,可以表示a直接指示b,例如b可以通过a获取;也可以表示a间接指示b,例如a指示c,b可以通过c获取;还可以表示a和b之间具有关联关系。
46.在本技术实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
47.本技术实施例中,“预定义”可以通过在设备(例如,包括终端设备和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本技术对于其具体的实现方式不做限定。
48.本技术实施例中提供的图像分类方法可以应用于具有较强数据处理能力的计算机设备中。该图像分类方法可以是对图像分类模型的训练方法,该图像分类模型可以实现对输入图像的处理,得到对应于输入图像的图像类别。在一种可能的实现方式中,本技术实施例提供的图像分类方法可以应用于个人计算机、工作站或服务器中,即通过个人计算机、工作站以及服务器中至少一者进行图像分类模型的训练。
49.图1是根据一示例性实施例示出的一种图像分类系统的结构示意图。该图像分类系统中包含服务器110以及终端120。其中,终端120与服务器110之间通过通信网络进行数据通信,该通信网络可以是有线网络也可以是无线网络。
50.可选的,终端120中安装有具有图像处理功能的应用程序,该应用程序可以是专业图像处理应用程序、社交类应用程序,虚拟现实类应用程序、或者具有图像处理功能的ai应用程序,本技术实施例对此不做限定。
51.可选的,该终端120可以是具有图像采集组件的终端设备,该图像采集组件用于获取图像并存储与终端120中的数据存储模块中;该终端120还可以是具有数据传输接口的终端设备,该数据传输接口用于接收具有图像采集组件的图像采集设备所采集到的图像数
据。
52.可选的,该终端120可以是智能手机、平板电脑,膝上便携式笔记本电脑等移动终端,也可以是台式电脑、投影式电脑等终端,或是具有数据处理组件的智能终端,本技术实施例对此不设限制。
53.服务器110可以实现为一台服务器,也可以实现为一组服务器构成的服务器集群,其可以是物理服务器,也可以实现为云服务器。在一种可能的实现方式中,服务器110是终端120中应用程序的后台服务器。
54.在本技术实施例的一种可能的实现方式中,服务器110通过预先设置的训练样本集(包括各个训练样本图像)对图像分类模型进行训练,其中训练样本集中可以包含不同类别的训练样本图像,各个训练样本图像均存在各自的类别标注信息(即标签值)。当服务器110对该图像分类模型的训练过程完成后,通过有线网络或无线网络,将该训练好的图像分类模型发送至终端120中。
55.终端120接收到该训练好的图像分类模型,并将该图像分类模型所对应的数据信息(例如权重信息)发送至具有图像分类功能的应用程序中,以便用户使用该应用程序时,可以对输入的图像进行分类处理。
56.可选的,上述服务器可以是独立的物理服务器,也可以是由多个物理服务器构成的服务器集群或者是分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等技术运计算服务的云服务器。
57.可选的,该系统还可以包括管理设备,该管理设备用于对该系统进行管理(如管理各个模块与服务器之间的连接状态等),该管理设备与服务器之间通过通信网络相连。可选的,该通信网络是有线网络或无线网络。
58.可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网,但也可以是其他任何网络,包括但不限于局域网、城域网、广域网、移动、有限或无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言、可扩展标记语言等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层、传输层安全、虚拟专用网络、网际协议安全等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
59.图2是根据一示例性实施例示出的图像分类方法的方法流程图。该方法由计算机设备执行,该计算机设备可以是如图1所示的图像分类系统中的服务器或终端。如图2所示,该图像分类方法可以包括如下步骤:
60.步骤201,获取训练样本图像。
61.在本技术实施例中,该训练样本图像可以为指定像素大小的图像。
62.步骤202,通过目标分类模型对该训练样本图像进行处理,获得该训练样本图像对应的输出值。
63.当需要对目标分类模型进行训练时,可以通过目标分类模型对训练样本图像进行处理,从而得到训练样本图像对应的输出值。
64.在一种可能的实现方式中,该目标分类模型包括特征提取模块以及全连接层,计
算机设备通过该目标分类模型中的特征提取模块对输入的指定像素大小的训练样本图像进行特征提取,获得该训练样本图像的特征图,该特征图则表征了通过特征提取模块对训练样本图像进行特征提取所得到的图像特征。
65.计算机设备再通过目标分类模型中的全连接层对该训练样本图像的特征图进行处理,获得该训练样本图像的输出值。
66.在本技术实施例的一种可能的实现方式中,该目标分类模型中存在各个类别的全连接层,该各个类别的全连接层用于将特征图映射至各个类别中,得到该训练样本图像为各个类别的概率值。例如该当训练样本图像的特征图的维度为512维时,该全连接层的全连接层参数为c*512,可以直观的理解为包括分别通过c类512维的fc参数,将特征图映射至c个类别中。
67.步骤203,根据该训练样本图像的输出值以及该训练样本图像的标签值,获取第一损失函数值。
68.当通过目标分类模型对训练样本图像进行处理后,可以得到该训练样本图像的输出值,此时该训练样本的输出值即为该目标分类模型对该训练样本进行数据处理后得到的分类概率。
69.例如在将训练样本图像进行处理后提取出512维度的特征图时,可以通过c*512的全连接层对该512维的特征图进行数据处理,分别得到该训练样本图像分别与c个类别所对应的概率。
70.此时训练样本图像所在的训练样本集中包括有该训练样本图像的标签值,该标签值即用于表示该训练样本图像的类别,例如当该训练样本图像属于某一类时,则该标签值在该类所对应的维度数据为1;若该训练样本图像不属于某一类时,则该标签值在该类对应的维度数据为0。
71.通过训练样本图像的输出至以及训练样本图像的标签值,通过损失函数进行处理,即可以得到该第一损失函数值,该第一损失函数值则用于表示此次通过目标分类模型对该训练样本图像进行分类时的误差。
72.步骤204,根据该目标分类模型中至少两类全连接层的参数分别归一化后的内积,获取该第二损失函数值。
73.在训练过程中,计算机设备还会获取到目标分类模型中至少两类全连接层的参数,即在c类全连接层参数中任意选取至少两类参数,并作为向量进行归一化处理,再将归一化处理后得到的至少两类参数的向量进行内积处理,得到第二损失函数值。当至少两类全连接层的参数之间越相近时,第二损失函数值越大,当该至少两类全连接层的参数之间越不同时,第二损失函数值越小,因此,该第二损失函数值即可以表征该c类全连接层中任意两层参数之间的差异度。
74.步骤205,基于该第一损失函数值以及第二损失函数值对该目标分类模型进行更新,以便更新后的该目标分类模型对输入的目标图像进行分类处理。
75.当获取到第一损失函数值以及第二损失函数值后,即可以根据第一损失函数值以及第二损失函数值对目标分类模型,通过反向传播算法进行目标分类模型参数的更新。由于模型更新的目标是将第一损失函数值以及第二损失函数值尽可能减小,因此通过上述第一损失函数值以及第二损失函数值进行训练,所得到的更新后的目标分类模型,即可以提
高对训练样本图像的分类识别能力,也增大了各类全连接层参数之间的具体,从而使得目标分类模型对不同类别的训练样本图像的识别能力增强,提高了目标分类模型的图像分类的准确性。
76.综上所述,当需要对目标分类模型进行训练时,可以根据训练样本图像,通过目标分类模型进行数据处理,获得训练样本图像所对应的输出值,并通过损失函数进行计算输出值与标签值之间的第一损失函数值;并且在训练过程中,还可以根据目标分类模型中的至少两类全连接层的参数分别归一化后的乘积,得到第二损失函数值,通过第一损失函数值以及第二损失函数值对目标分类模型进行更新后,目标分类模型在提高对训练样本图像的识别能力的同时,提高了不同全连接层之间的参数的区分度,从而提高了不同全连接层对训练样本图像进行特征提取时的区分度,提高了图像分类的准确性。
77.图3是根据一示例性实施例示出的图像分类方法的方法流程图。该方法由计算机设备执行,该计算机设备可以是如图1所示的图像分类系统中的服务器或终端。如图3所示,该图像分类方法可以包括如下步骤:
78.步骤301,获取目标图像。
79.该目标图像是需要进行图像识别的图像。
80.以人脸识别场景为例,则目标图像中可以包含人脸图像,通过对目标图像进行识别可以确定出该目标图像中包含的人脸图像的身份信息。
81.在一种可能的实现方式中,该目标图像是具有像素大小的图像,即在对目标图像进行图像识别时,将目标图像放缩至指定像素大小,以符合图像识别过程的要求。
82.步骤302,通过目标分类模型对目标图像进行处理,获得该目标图像的分类结果。
83.其中,该目标分类模型是基于第一损失函数值以及第二损失函数值进行更新得到的;该第一损失函数值是根据该目标分类模型对训练样本图像进行处理得到的输出值,以及该训练样本图像的标签值得到的;该第二损失函数值是根据该目标分类模型中至少两类全连接层的参数分别归一化后的内积得到的。
84.当通过目标分类模型对目标图像进行处理后,目标分类模型通过特征提取模块,提取出该目标图像的图像特征,再通过若干类全连接层,分别你对目标图像的图像特征进行数据处理,获得该目标图像的若干个概率结果。
85.同样以人脸识别场景为例,此时该目标图像的若干个概率结果,即为该目标图像中的人脸,为各个身份的概率。此时在一种可能的实现方式中,该目标分类模型可以将若干个概率结果中,最大的概率结果所对应的身份,输出为该目标图像的人脸识别结果。
86.在另一种可能的实现方式中,当目标分类模型获取的若干个概率结果,均小于预先设定的置信阈值,则输入目标图像无法正常识别的异常提示信息。
87.并且由于本技术实施例的目标分类模型的训练过程,除了通过训练样本图像以及训练样本图像所对应的标签值进行训练外,还考虑到了多分类的各个全连接层之间的相似度,在训练过程中尽量使得各个全连接层的参数相互远离,使得目标分类模型不容易将某一类图像识别到相近的图像类型,从而提高了目标分类在多分类问题上的准确性。
88.综上所述,当需要对目标分类模型进行训练时,可以根据训练样本图像,通过目标分类模型进行数据处理,获得训练样本图像所对应的输出值,并通过损失函数进行计算输出值与标签值之间的第一损失函数值;并且在训练过程中,还可以根据目标分类模型中的
至少两类全连接层的参数分别归一化后的乘积,得到第二损失函数值,通过第一损失函数值以及第二损失函数值对目标分类模型进行更新后,目标分类模型在提高对训练样本图像的识别能力的同时,提高了不同全连接层之间的参数的区分度,从而提高了不同全连接层对训练样本图像进行特征提取时的区分度,提高了图像分类的准确性。
89.图4是根据一示例性实施例示出的图像分类方法的方法流程图。该方法由计算机设备执行,该计算机设备可以是如图1所示的图像分类系统中的服务器或终端。如图4所示,该图像分类方法可以包括如下步骤:
90.步骤401,获取训练样本图像。
91.在一种可能的实现方式中,获取目标样本图像;对该目标样本图像进行数据增强处理,获得该训练样本图像;该数据增强处理包括旋转、平移、裁剪、翻转、覆盖中的至少一个操作。
92.该目标样本图像可以是训练样本集中的任意一个,该训练样本集中存在各个样本图像,以及各个样本图像的类别标签。
93.当对目标样本图像进行数据增强处理,也就是通过旋转、平移、裁剪、翻转、覆盖中的至少一个操作对目标样本图像进行处理,得到训练样本图像时,训练样本图像的类别是不会变动的,也就是说该训练样本图像的类别与该目标样本图像的类别应该是一致的,因此将目标样本图像的类别标签确定为训练样本图像的类别标签。
94.以人脸识别场景为例,计算机设备从训练样本集中获取任意一个人脸样本图像,并对该人脸样本图像进行旋转处理,以生成训练样本图像,再将人脸样本图像所对应的身份信息确定为训练样本图像的身份信息,以作为该训练样本图像的标签数据。
95.在本技术实施例的一种可能的实现方式中,计算机设备可以采用的数据增强方式至少包括以下几种方法中的至少一者:
96.1)grayscale灰度转换,即计算机将三通道彩色rgb格式的图像按照概率p转换成gray灰度图。
97.2)random flip随机左右镜像翻转。图5示出了本技术实施例涉及的一种图像镜像翻转示意图。
98.3)random resize随机尺寸变更,计算机设备按照概率p将原图resize到一定尺度(原来宽高的0.5~1.0)再resize回原来尺度。图6示出了本技术实施例涉及的一种随机尺寸变更示意图。
99.4)random erase按照概率p随机出一个h*w的黑块替换图片某一块。图7示出了本技术实施例涉及的一种像素替换示意图。
100.5)colorjitter颜色抖动,计算机设备通过颜色抖动方式,可以实现对颜色的数据增强,即使得图像亮度、饱和度、对比度发生变化。例如在保证rgb三个通道的像素之和不变的情况下,调整rgb三个通道的像素之间的大小关系。
101.6)gaussian blur高斯模糊。计算机设备对图像上的各个像素点增加高斯噪声。图8示出了本技术实施例涉及的一种高斯模糊示意图。
102.7)random rotation,随机旋转,计算机设备即将图像的方向进行随机旋转。图9示出了本技术实施例涉及的一种随机旋转示意图。
103.通过上述方式,计算机设备可以将训练样本的数量进行扩充,得到更多训练样本
图像以对图像分类模型进行训练,并且通过数据增强处理得到的训练样本图像对图像分类模型进行训练,可以使得图像分类模型对于经过旋转、平移、裁剪、翻转、覆盖等操作的图像仍然具有较好的识别能力,从而进一步提高了该图像分类模型的识别能力。
104.在一种可能的实现方式中,对该目标样本图像进行数据增强处理,获得增强样本图像;将该增强样本图像转换至目标大小,并进行归一化处理,获得该训练样本图像。
105.例如,计算机设备将经过数据增强处理后得到的增强样本图像,变换至目标大小,如160*144,再将增强样本图像中的各个像素进行归一化处理,归一化公式为src=(src-127.5)/128,src为三通道rgb图片(即上述增强样本图像)。
106.当对目标样本图像进行数据增强处理后获得的各个增强样本图像,其与图像分类模型所能识别的像素大小可能不一致,因此为了使得图像分类模型可以准确地进行图像处理,可以将增强样本图像转换至目标大小,并进行归一化处理,以得到便于图像分类模型进行数据处理的格式的训练样本图像。
107.在本技术实施例的一种可能的实现方式中,计算机设备将上述进行归一化后的图像进行对齐处理,从而得到输入特征提取模型的样本图像。
108.通常计算机设备在将图像输入特征提取网络前需要进行对齐处理,以保证特征提取模型可以对输入的图像进行正常的特征提取;
109.在一种可能的实现方式中,计算机设备通过stn(spatial transformer networks,空间变换网络)方式,即使用mobilenet_v2的网络结构,输出1*6维的矩阵;再把1*6的结果reshape为2*3的仿射变换矩阵结构。
110.计算机设备再利用mxnet的spatialtransformer(空间变换)根据得到的仿射变换矩阵和160*144的输入图像进行空间变换得到160*144的对齐后的图像。
111.最后将得到的160*144图像使用中心裁剪的方式得到128*112图像(即符合特征提取网络的处理格式的训练样本图像)。
112.步骤402,通过目标分类模型对该训练样本图像进行处理,获得该训练样本图像对应的输出值。
113.在一种可能的实现方式中,目标分类模型包括特征提取模块以及全连接层模块。
114.例如,该特征提取模块可以为resnet101结构,此时该特征提取模块可以对输入为128(height)*112(width)*3(channel)的图像进行特征提取,输出为512维特征。
115.该全连接层模块可以包括c类512维的全连接层,上述特征提取模块输出的512维特征可以通过该全连接层模块上的c类512维的全连接层进行处理,从而得到c类输出值,该c类输出值即分别代表着训练样本图像属于各个类别的概率。
116.在一种可能的实现方式中,本技术实施例涉及的模型训练过程中fc层的weight decay参数设置为特征网络weight decay参数的0.1倍,fc层学习率与特征网络学习率相同,fc的参数size为c*512。
117.步骤403,根据该训练样本图像的输出值以及该训练样本图像的标签值,获取第一损失函数值。
118.在本技术实施例的一种可能的实现方式中,当通过训练样本图像对图像分类模型进行训练时,通常是使用一个批次的训练样本图像对该图像分类模型进行训练,即先通过图像分类模型对一个批次的训练样本图像进行处理,得到该一个批次中各个训练样本图像
分别对应的输出值,在将一个批次中各个训练样本图像分别对应的输出值,以及一个批次中各个训练样本图像分别对应的标签值输入第一损失函数,获得第一损失函数值。
119.例如,在本技术实施例中,该第一损失函数可以为arcface loss,具体公式如下:
[0120][0121]
其中m表示样本数量,i代表第i个样本,y表示第y个类别,θj表示第j个样本在第j个类别的softmax结果,s、m1,m2和m3表示margin参数。例如,在训练过程中,训练过程中四个参数分别设置为128,1.0,0.3,0.2。
[0122]
通过上述第一损失函数,可以确定出在一个批次中各个训练样本图像得到的输出值与标签值之间的误差情况。
[0123]
步骤404,根据该目标分类模型中至少两类全连接层的参数分别归一化后的内积,获取该第二损失函数值。
[0124]
在该目标分类模型中,每一类全连接层的参数为512维的参数,将至少两类全连接层的参数分别作为512维的向量并进行归一化处理,即可以确定出至少两类全连接层的参数在向量空间中的方向,当全连接层的参数在向量空间中的方向越相近时,则可以认为全连接层的参数的相似度越高;当全连接层的参数在向量空间中的方向越远时,则可以认为全连接层的参数的相似度越低,全连接层所注意的特征越不同。
[0125]
在一种可能的实现方式中,获取2m类全连接层的参数,并将各类的全连接层的参数进行归一化处理,以构建2m类的全连接层分别对应的归一化向量;
[0126]
选取m类的全连接层所对应的归一化向量,分别与剩余m类的全连接层所对应的归一化向量作内积,并将内积结果构建为内积矩阵;
[0127]
将该内积矩阵线性变换为目标矩阵;该目标矩阵的列数为该目标分类模型一个训练批次中的训练样本数;
[0128]
将该目标矩阵中的各个元素按列累加,并将累加结果确定为该目标分类模型的一个训练批次中,与各个该训练样本图像所对应的第二损失函数值。
[0129]
请参考图10,其示出了本技术实施例涉及的一种第二损失函数值获取流程示意图。如图10所示,当选取了2m类的全连接层。将其中的m类全连接层构建为1*m维的矩阵1001,该矩阵501中各个元素分别为l1至lm,其中各个元素可以认为是1012维度的向量值。同理,剩余m类全连接层被构建为m*1维的矩阵1002,该矩阵502中各个维度的元素分别为ln 1至ln m,其中各个元素同样可以认为是512维度的向量值。
[0130]
当构建了矩阵1001以及矩阵1002后,将矩阵1001点乘矩阵1002,此时即将矩阵1001中的各个元素分别与矩阵1002中的各个元素做内积,并将结构构建为m*m矩阵1003。
[0131]
在m*m矩阵1003中,元素(1,1)即为向量l1与向量ln 1的内积值,元素(m,m)即为向量lm与向量lm 1的内积值,因此m*m矩阵1003中的各个元素即代表了矩阵1001中的各个向量,分别与矩阵1002中的各个向量之间的内积值。
[0132]
当获取到了m*m矩阵1003后,可以将矩阵1003进行线性变换,变化后的矩阵1004的行数与图像分类模型一个训练批次中的样本数量相同,此时再将矩阵1004中的各个元素进行按列累加,从而得到行数为1且列数为一个训练批次的样本数量的矩阵1005,该矩阵1005
中的各个元素即可以认为是该一个训练批次中的各个样本所得到的第二损失函数值。
[0133]
该第二损失函数值即代表了在该训练批次的各个样本的训练过程中,图像分类模型的不同类别的全连接层参数之间的相似度。
[0134]
例如,在本技术实施例中,第二损失函数为fc-uniform loss。在分类训练中损失函数一般是监督fc映射之后的结果,一般不会直接监督fc参数,本技术实施例使用的fc-uniform损失函数是直接作用于fc参数本身,与arcface loss一起监督分类训练任务。
[0135]
其中,上述fc-uniform loss定义:l
fc
=normlize(w1)
·
normlize(w2)
t
,其中w1,w2是从fc的c个类别参数中随机抽取的2*m个类别的参数,m应满足能被batchsize整除,其中前m个参数为w1,后m个参数为w2。fc-uniform loss计算过程如下:
[0136]
(1)w1和w2分别归一化后点乘得到一个m*m的矩阵
[0137]
(2)将该矩阵resize到[batchsize,m*m/batchsize]的新矩阵
[0138]
(3)resize后的新矩阵按列求和得到[batchsize,1]的矩阵
[0139]
通过上述方式得到的第二损失函数值,在一定程度上表征了不同类别的全连接层之间的参数的相似程度。
[0140]
步骤405,将第一损失函数值以及第二损失函数值进行加权,获得目标损失函数值。
[0141]
当得到第一损失函数值以及第二损失函数值之后,由于在目标分类模型的训练过程中,通常都是将一个训练批次的样本图像进行数据处理后再进行参数更新的,因此在一种可能的实现方式中,该第一损失函数值包括一个训练批次的样本图像分别所对应的各个损失函数值,且该第二损失函数值如图10所示,也存在一个训练批次的样本个数的损失函数值,因此可以将第二损失函数值逐个按照权重加至第一损失函数值上,从而获得目标损失函数值。此时该目标损失函数值即代表了各个样本图像的预测结果与标注结果之间的误差,还代表了各类全连接层的参数之间的相似度。
[0142]
步骤406,根据该目标损失函数值,对该目标分类模型进行反向传播更新。
[0143]
通过该目标损失函数值,对该目标分类模型进行反向传播更新时,反向传播更新的更新目标是尽量减小目标损失函数值,当目标损失函数值减小时,则各个样本图像的预测结果与标注结果之间的误差也在逐渐减小,且各类全连接层的参数之间的相似度也在逐渐降低。因此通过上述方案训练处的目标分类模型,即除了提高了对样本图像的识别效果之外,还提高了目标分类模型对不同类别的识别能力,在多分类问题上具有更好的图像识别效果。
[0144]
即在本技术实施例的一种可能的实现方式中,第一损失函数arcface联合第二损失函数fc-uniform做为本技术实施例中新的loss,监督训练该模型:
[0145]
l=l
arc
λl
fc
,其中λ为系数,一般取0.001~0.01。
[0146]
并且在本技术实施例的一种可能的训练过程中,计算机设备训练该目标分类模型使用的训练数据为400w id,2000w图像;
[0147]
在训练过程中,优化器使用sgd随机梯度下降算法,fc层参数wd=1e-7,特征网络wd=1e-6,momentum=0.9;
[0148]
本技术实施例中学习率策略为:初始学习率lr=0.01,训练15个epoch,每5个epoch lr下降到原来的0.1;
[0149]
本技术实施例采用的训练机器为8*2080ti,batchsize=640。即可以在8个cpu上同时进行类别计算,每块gpu上负责一部分的类别计算,例如1000类的分类任务,共8块gpu,则每块gpu上的fc参数只有1000/8=125类的参数,卡0负责0~124,卡1上125~249,卡7上750~999,显著提升训练中batchsize大小,加快训练速度。
[0150]
当通过上述方案训练好图像分类模型后,计算机设备可以将该图像分类模型对输入的目标图像进行处理,并生成与该目标图像对应的识别结果,该识别结果用于指示该目标图像中包含的人脸图像最可能的身份信息。
[0151]
综上所述,当需要对目标分类模型进行训练时,可以根据训练样本图像,通过目标分类模型进行数据处理,获得训练样本图像所对应的输出值,并通过损失函数进行计算输出值与标签值之间的第一损失函数值;并且在训练过程中,还可以根据目标分类模型中的至少两类全连接层的参数分别归一化后的乘积,得到第二损失函数值,通过第一损失函数值以及第二损失函数值对目标分类模型进行更新后,目标分类模型在提高对训练样本图像的识别能力的同时,提高了不同全连接层之间的参数的区分度,从而提高了不同全连接层对训练样本图像进行特征提取时的区分度,提高了图像分类的准确性。
[0152]
图11是根据一示例性实施例示出的图像分类装置的结构方框图。所述装置包括:
[0153]
样本获取模块1101,用于获取训练样本图像;
[0154]
样本图像处理模块1102,用于通过目标分类模型对所述训练样本图像进行处理,获得所述训练样本图像对应的输出值;
[0155]
第一损失函数值获取模块1103,用于根据所述训练样本图像的输出值以及所述训练样本图像的标签值,获取第一损失函数值;
[0156]
第二损失函数值获取模块1104,用于根据所述目标分类模型中至少两类全连接层的参数分别归一化后的内积,获取所述第二损失函数值;
[0157]
模型更新模块1105,用于基于所述第一损失函数值以及第二损失函数值对所述目标分类模型进行更新,以便更新后的所述目标分类模型对输入的目标图像进行分类处理。
[0158]
在一种可能的实现方式中,所述模型更新模块,包括:
[0159]
损失函数加权单元,用于将第一损失函数值以及第二损失函数值进行加权,获得目标损失函数值;
[0160]
模型更新单元,用于根据所述目标损失函数值,对所述目标分类模型进行反向传播更新。
[0161]
在一种可能的实现方式中,所述第二损失函数值获取模块,还用于,
[0162]
获取2m类全连接层的参数,并将各类的全连接层的参数进行归一化处理,以构建2m类的全连接层分别对应的归一化向量;
[0163]
选取m类的全连接层所对应的归一化向量,分别与剩余m类的全连接层所对应的归一化向量作内积,并将内积结果构建为内积矩阵;
[0164]
将所述内积矩阵线性变换为目标矩阵;所述目标矩阵的列数为所述目标分类模型一个训练批次中的训练样本数;
[0165]
将所述目标矩阵中的各个元素按列累加,并将累加结果确定为所述目标分类模型的一个训练批次中,与各个所述训练样本图像所对应的第二损失函数值。
[0166]
在一种可能的实现方式中,所述样本获取模块,还包括:
[0167]
目标样本图像获取单元,用于获取目标样本图像;
[0168]
数据增强单元,用于对所述目标样本图像进行数据增强处理,获得所述训练样本图像;所述数据增强处理包括旋转、平移、裁剪、翻转、覆盖中的至少一个操作。
[0169]
在一种可能的实现方式中,所述数据增强单元,还用于,
[0170]
对所述目标样本图像进行数据增强处理,获得增强样本图像;
[0171]
将所述增强样本图像转换至目标大小,并进行归一化处理,获得所述训练样本图像。
[0172]
综上所述,当需要对目标分类模型进行训练时,可以根据训练样本图像,通过目标分类模型进行数据处理,获得训练样本图像所对应的输出值,并通过损失函数进行计算输出值与标签值之间的第一损失函数值;并且在训练过程中,还可以根据目标分类模型中的至少两类全连接层的参数分别归一化后的乘积,得到第二损失函数值,通过第一损失函数值以及第二损失函数值对目标分类模型进行更新后,目标分类模型在提高对训练样本图像的识别能力的同时,提高了不同全连接层之间的参数的区分度,从而提高了不同全连接层对训练样本图像进行特征提取时的区分度,提高了图像分类的准确性。
[0173]
图12是根据一示例性实施例示出的图像分类装置的结构方框图。所述装置包括:
[0174]
目标图像获取模块1201,用于获取目标图像;
[0175]
目标图像处理模块1202,用于通过目标分类模型对目标图像进行处理,获得所述目标图像的分类结果;
[0176]
其中,所述目标分类模型是基于第一损失函数值以及第二损失函数值进行更新得到的;所述第一损失函数值是根据所述目标分类模型对训练样本图像进行处理得到的输出值,以及所述训练样本图像的标签值得到的;所述第二损失函数值是根据所述目标分类模型中至少两类全连接层的参数分别归一化后的内积得到的。
[0177]
综上所述,当需要对目标分类模型进行训练时,可以根据训练样本图像,通过目标分类模型进行数据处理,获得训练样本图像所对应的输出值,并通过损失函数进行计算输出值与标签值之间的第一损失函数值;并且在训练过程中,还可以根据目标分类模型中的至少两类全连接层的参数分别归一化后的乘积,得到第二损失函数值,通过第一损失函数值以及第二损失函数值对目标分类模型进行更新后,目标分类模型在提高对训练样本图像的识别能力的同时,提高了不同全连接层之间的参数的区分度,从而提高了不同全连接层对训练样本图像进行特征提取时的区分度,提高了图像分类的准确性。
[0178]
请参阅图13,其是根据本技术一示例性实施例提供的一种计算机设备示意图,所述计算机设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,以实现上述方法。
[0179]
其中,处理器可以为中央处理器(central processing unit,cpu)。处理器还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
[0180]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施方式中的方法对应的程序指令/模块。处理器
通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
[0181]
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0182]
在一示例性实施例中,还提供了一种计算机可读存储介质,用于存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现上述方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0183]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
[0184]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
转载请注明原文地址:https://tc.8miu.com/read-3466.html