一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种训练方法、装置、计算机设备和存储介质与流程

2022-02-19 12:35:44 来源:中国专利 TAG:


1.本公开涉及计算机视觉技术领域,具体而言,涉及一种训练方法、装置、计算机设备和存储介质。


背景技术:

2.人脸识别在很多领域具有重要作用,比如门禁系统,考勤打卡等。然而,人脸识别模型的性能受到训练时所用的带标签数据的数量的制约,训练数据(比如样本图像)越多性能越好。一方面,获得带有准确标签的训练数据是很困难的,可以获得该准确标签的训练数据有限。另一方面,针对带有噪音标签的数据训练人脸识别模型,后期模型优化较为困难,导致模型性能下降,模型识别人脸精度较低。


技术实现要素:

3.本公开实施例至少提供一种训练方法、装置、计算机设备和存储介质。
4.第一方面,本公开实施例提供了一种训练方法,包括:
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.一种可选的实施方式中,针对多个所述第二类中心中的每个所述第二类中心,从所述预设对象类别对应的多张样本图像中剔除存在噪音的样本图像,包括:
32.针对多个所述第二类中心中的每个所述第二类中心,确定所述第二类中心对应的预设对象类别对应的多张样本图像中每张所述样本图像,与所述第二类中心之间的第二相似度;
33.从所述预设对象类别对应的多张样本图像中筛选出与所述第二类中心的第二相似度小于第一预设相似度的所述样本图像,并剔除。
34.该实施方式,由于第二类中心比从预测分支中选择的其它类中心更能准确表征目标对象的对象类别。因此,可以利用该第二类中心,从多张样本图像中筛选出与第二类中心的第二相似度小于第一预设相似度的样本图像,可认为样本图像为存在噪音的样本图像,由于第二类中心表征目标对象的对象类别的准确性高,因此,能够提高筛选出的样本图像确为存在噪音的准确度。
35.一种可选的实施方式中,在确定了所述第二类中心之后,还包括:
36.基于多个所述预设对象类别中每个所述预设对象类别对应的第二类中心,确定任两个所述第二类中心之间的第三相似度;
37.将所述第三相似度小于第二预设相似度的两个所述预设对象类别合并为一个目标对象类别。
38.该实施方式,由于第二类中心对应的预设对象类别存在噪音干扰,因此,为了消除干扰,可将第三像素点小于第二预设相似度的两个预设对象类别合并为一个目标对象类别。
39.一种可选的实施方式中,在所述得到训练完成的目标神经网络之后,还包括:
40.基于剔除存在噪音后的多张所述样本图像、合并后的所述目标对象类别和未进行合并处理的所述预设对象类别,重新训练所述训练完成的目标神经网络,得到最终的目标神经网络;其中,所述训练完成的目标神经网络中包括一个所述初始网络参数与所述预测
分支对应的初始网络参数不同的其他预测分支。
41.该实施方式,利用已经除去噪音的多张样本图像和已经消除干扰的目标对象类别和不存在噪音干扰的预设对象类别,重新训练已经训练完成的目标神经网络,能够进一步提高训练出的目标神经网络的性能。
42.第二方面,本公开实施例还提供一种训练装置,包括:
43.图像获取模块,用于获取多张样本图像;所述样本图像包括目标对象;
44.信息确定模块,用于针对每张样本图像,利用待训练的目标神经网络对所述样本图像进行处理,得到所述目标对象对应的多个类别预测信息;其中,不同的类别预测信息分别由所述目标神经网络中不同的预测分支输出;不同所述预测分支对应的初始网络参数不同;以及,基于所述多个类别预测信息,从多个所述预测分支中确定每张样本图像对应的目标预测分支;
45.网络训练模块,用于基于所述多张样本图像,以及所述多张样本图像中每张样本图像对应的目标预测分支,对所述目标神经网络进行训练,直到满足预设训练截止条件,得到训练完成的目标神经网络。
46.一种可选的实施方式中,所述信息确定模块,用于针对任一样本图像,基于各预测分支输出的所述类别预测信息,确定所述任一样本图像对应于各预测分支的第一损失信息;
47.基于所述任一样本图像对应于各预测分支的第一损失信息,将最小损失对应的预测分支作为所述任一样本图像对应的目标预测分支。
48.一种可选的实施方式中,所述网络训练模块,用于针对多个所述目标预测分支中的每个所述目标预测分支,利用所述目标预测分支对应的至少一张所述样本图像对所述目标神经网络中除多个所述预测分支以外的部分以及所述目标预测分支进行训练。
49.一种可选的实施方式中,所述网络训练模块,用于利用所述目标预测分支,确定所述目标预测分支对应的至少一张所述样本图像中的每张所述样本图像对应的第二损失信息;
50.基于多个所述第二损失信息,确定所述待训练的目标神经网络的目标损失信息;
51.利用所述目标损失信息对所述目标神经网络中除多个所述预测分支以外的部分以及所述目标预测分支进行训练。
52.一种可选的实施方式中,所述装置还包括数据清洗模块,用于在得到训练完成的目标神经网络之后,针对所述多张样本图像中的每张样本图像,基于所述样本图像中所述目标对象的对象类别,确定所述样本图像对应于每个所述预测分支的第一类中心,并从多个所述第一类中心中,筛选与所述目标对象的对象类别的匹配程度满足预设条件的类中心;其中,所述预测分支中的第一类中心用于表征预设对象类别;
53.针对每个所述预设对象类别,基于所述预设对象类别对应的多张样本图像中每张所述样本图像,以及与所述样本图像中所述目标对象的对象类别的匹配程度满足预设条件的类中心,确定所述预设对象类别对应的每个所述第一类中心被选中的次数,并将被选中次数最多的所述第一类中心作为所述预设对象类别对应的第二类中心;
54.基于多个所述预设对象类别中每个所述预设对象类别对应的所述第二类中心,从多张所述样本图像中剔除存在噪音的样本图像。
55.一种可选的实施方式中,所述数据清洗模块,用于提取所述样本图像的图像特征信息;
56.基于所述图像特征信息,确定所述样本图像与每个所述第一类中心之间的第一相似度;
57.将最大所述第一相似度对应的所述第一类中心作为与所述目标对象的对象类别的匹配程度满足预设条件的类中心。
58.一种可选的实施方式中,所述数据清洗模块,用于针对多个所述第二类中心中的每个所述第二类中心,确定所述第二类中心对应的预设对象类别对应的多张样本图像中每张所述样本图像,与所述第二类中心之间的第二相似度;
59.从所述预设对象类别对应的多张样本图像中筛选出与所述第二类中心的第二相似度小于第一预设相似度的所述样本图像,并剔除。
60.一种可选的实施方式中,所述数据清洗模块,还用于在确定了所述第二类中心之后,基于多个所述预设对象类别中每个所述预设对象类别对应的第二类中心,确定任两个所述第二类中心之间的第三相似度;
61.将所述第三相似度小于第二预设相似度的两个所述预设对象类别合并为一个目标对象类别。
62.一种可选的实施方式中,所述网络训练模块,还用于在所述得到训练完成的目标神经网络之后,基于剔除存在噪音后的多张所述样本图像、合并后的所述目标对象类别和未进行合并处理的所述预设对象类别,重新训练所述训练完成的目标神经网络,得到最终的目标神经网络;其中,所述训练完成的目标神经网络中包括一个所述初始网络参数与所述预测分支对应的初始网络参数不同的其他预测分支。
63.第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的训练方法的步骤。
64.第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的训练方法的步骤。
65.关于上述训练装置、计算机设备和存储介质的效果描述参见上述训练方法的说明,这里不再赘述。
66.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
67.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
68.图1示出了本公开实施例所提供的一种训练方法的流程图;
69.图2示出了本公开实施例所提供的待训练的目标神经网络对样本图像进行处理的流程示意图;
70.图3示出了本公开实施例所提供的剔除存在噪音的样本图像的具体流程图;
71.图4示出了本公开实施例所提供的一种训练装置的示意图;
72.图5示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
73.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
74.另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
75.在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
76.经研究发现,人脸识别在很多领域具有重要作用,比如门禁系统,考勤打卡等。然而,人脸识别模型的性能受到训练时所用的带标签数据的数量的制约,训练数据(比如样本图像)越多性能越好。一方面,获得带有准确标签的训练数据是很困难的,可以获得该准确标签的训练数据有限。另一方面,针对带有噪音标签的数据训练人脸识别模型,后期模型优化较为困难,导致模型性能下降,模型识别人脸精度较低。
77.基于上述研究,本公开提供了一种训练方法,在样本图像为样本人脸图像(可能存在噪音)、目标神经网络为人脸识别神经网络的情况下,利用不同初始网络参数对应的不同预设分支处理样本人脸图像,能够得到不同的类别预测信息,根据多个类别预测信息,可以从不同预设分支中选择处理结果准确度最高的预测分支,即目标预测分支。之后,利用该目标预测分支和样本人脸图像对人脸识别神经网络进行训练,能够克服噪音样本带来的影响,提高了人脸识别神经网络的训练精度。
78.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
79.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
80.为便于对本实施例进行理解,首先对本公开实施例所公开的一种训练方法进行详
细介绍,本公开实施例所提供的训练方法的执行主体一般为具有一定计算能力的计算机设备。在一些可能的实现方式中,该训练方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
81.下面以执行主体为计算机设备为例对本公开实施例提供的训练方法加以说明。
82.参见图1所示,为本公开实施例提供的一种训练方法的流程图,所述方法包括步骤s101~s103,其中:
83.s101:获取多张样本图像;样本图像包括目标对象。
84.本步骤中,样本图像可以包括对待训练的目标神经网络进行训练的图像;多张样本图像可以为对待训练的目标神经网络一次迭代训练所要获取的多张图像。
85.训练任务的不同,所要选择的样本图像中所包含的目标对象不同。示例性的,若训练任务为人脸识别,则待训练的目标神经网络为人脸识别神经网络,此时,所要选择的样本图像中包括的目标对象为人脸;若训练任务为预设物体识别,则待训练的目标神经网络为预设物体识别神经网络,此时,所要选择的样本图像中包括的目标对象为预设物体。此处不再一一列举其他训练任务。
86.针对人脸识别神经网络,本公开实施例中,不限定所选择的样本图像是否存在噪音。这里,存在噪音的样本图像可以包括用于指示该样本图像的预设标签错误(比如预设标签与目标对象的真实对象类别不符),或者,存在异常画面的图像;比如,该样本图像中的人脸的真实对象类别为小a,此时,该样本图像的预设标签指示人脸为小b,因此,确定该样本图像的预设标签错误,进而确定该样本图像为存在噪音的图像。
87.或者,样本人脸图像不存在人脸或人脸模糊的图像,即为存在噪音的样本图像。不存在噪音的样本图像,包括预设标签即为人脸所对应的真实标签;或者,存在清晰的人脸画面。
88.示例性的,人脸识别神经网络可以包括resnet,densenet,mobilenet等。
89.s102:针对每张样本图像,利用待训练的目标神经网络对样本图像进行处理,得到目标对象对应的多个类别预测信息;其中,不同的类别预测信息分别由目标神经网络中不同的预测分支输出;不同预测分支对应的初始网络参数不同;以及,基于多个类别预测信息,从多个预测分支中确定每张样本图像对应的目标预测分支。
90.本步骤是针对多张样本图像中的每张样本图像进行分析,下面以确定其中一张样本图像对应的目标预测分支为例,对本步骤进行详细说明:
91.首先,可以利用待训练的目标神经网络对样本图像进行处理,其处理过程可以分为两部分(第一处理部分和第二处理部分),具体地,还可以将待训练的目标神经网络分为两部分神经网络,其中,第一部分神经网络可以包括除多个预测分支以外的部分,第二部分神经网络可以包括多个预测分支。参见图2所示,其为待训练的目标神经网络对样本图像进行处理的流程示意图;其中,包括待训练的目标神经网络20;待训练的目标神经网络20包括第一部分神经网络21和第二部分神经网络22;第二部分神经网络22包括多个预测分支221,预测分支221可以包括分类器,多个预测分支221,比如,包括分类器a,分类器b,分类器c,
……
,这里,每个预测分支对应的初始网络参数不同。在目标神经网络中部署多个分类器,具体部署个数可以根据实际应用过程以及经验值确定,本公开实施例不进行具体限定。
92.针对第一处理部分,具体地,可以利用第一部分神经网络21对样本图像进行处理,
比如,利用待训练的第一部分神经网络21中的网络层捕获样本图像的抽象特征,并处理,得到样本图像的初始处理结果。
93.针对第二处理部分,具体地,可以将初始处理结果分别输入到第二部分神经网络22中的每个预测分支221,分别得到每个预测分支221输出的目标对象对应的类别预测信息。这里,预测分支可以包括分类器,该分类器用于在标记好的预设对象类别的基础上,判断一个新的样本图像中目标对象所属预设对象类别。这里,预设对象类别可以包括预先设置好的对象名字,比如小a,小b,小c,
……

94.每个预测分支包括的分类器中表征预设对象类别的信息(即第一类中心)相同,但是初始网络参数不同,即待训练的目标神经网络的初始化参数不同,因此,每个分类器对初始处理结果的目标处理结果可能会不同,即多个类别预测信息不同。其中,初始网络参数的设置可以根据经验值随机设置,本公开实施例不进行具体限定,随机初始化神经网络参数属于现有成熟技术,在此不再详细赘述。
95.这里,类别预测信息包括对样本图像中目标对象的对象类别的预测信息,具体的,可以包括预测出的目标对象的对象类别分别属于每个预设对象类别的概率。示例性的,在人脸识别中,目标对象的对象类别可以为预设标签,预设标签可以包括预设身份标识,比如,目标对象的名字,即小c。分类器中包括多个表征预设对象类别的类中心,比如,表征小a的第一类中心,表征小b的第一类中心,表征小c的第一类中心,
……
,表征小n的第一类中心。此时,类别预测信息可以包括目标对象分别为小a,小b,小c,
……
,小n的概率。
96.一个类别预设信息包括一组预测概率;多个类别预测信息包括多组预测概率。确定样本图像对应的目标预测分支,在一些实施例中,针对任一样本图像,基于各预测分支输出的所述类别预测信息,确定所述任一样本图像对应于各预测分支的第一损失信息;基于所述任一样本图像对应于各预测分支的第一损失信息,将最小损失对应的预测分支作为所述任一样本图像对应的目标预测分支。
97.这里,任一样本图像对应于某一预测分支的第一损失信息可以包括,某一预测分支 第一部分神经网络对该任一样本图像处理的损失。任一样本图像对应于各预测分支的第一损失信息包括,各预测分支分别 第一部分神经网络对该任一样本图像处理的损失,即得到任一样本图像对应的多个第一损失信息。
98.具体地,可以根据类别预测信息包括的一组预测概率,计算出包括输出该类别预测信息的预测分支 第一部分神经网络对样本图像处理的损失,比如人脸识别的损失;多个类别预测信息,计算出多个损失(一个损失对应一个预测分支),将最小损失对应的预测分支作为该任一样本图像对应的目标预测分支。
99.示例性的,参见图2所示,分类器a输出类别预测信息a,根据类别预测信息a,计算得到第一部分神经网络 分类器a的损失a;分类器b输出类别预测信息b,根据类别预测信息b,计算得到第一部分神经网络 分类器b的损失b;分类器c输出类别预测信息c,根据类别预测信息c,计算得到第一部分神经网络 分类器c的损失c;之后,确定损失a、损失b和损失c中的最小值,将最小损失a对应的分类器a作为样本图像对应的目标分类器,即目标预测分支。
100.这里,由于第一损失信息能够表征目标神经网络对样本图像的拟合效果;损失越小,拟合效果越好,目标神经网络对样本图像的预测结果的准确度越高。因此,利用损失最小的第一损失信息对应的预测分支,即目标预测分支,处理其对应的样本图像,能够为后续
得到准确的目标损失信息,比如待训练的目标神经网络的损失函数,提供条件。
101.s103:基于多张样本图像,以及多张样本图像中每张样本图像对应的目标预测分支,对目标神经网络进行训练,直到满足预设训练截止条件,得到训练完成的目标神经网络。
102.具体实施时,在确定了多张样本图像,以及多张样本图像中每张样本图像对应的目标预测分支的情况下,可以使用传统的模型训练方法,进行前向和反向传播,并计算反向传播网络层的梯度,从而更新待训练的目标神经网络的参数。前向传播:多张样本图像输入待训练的目标神经网络,分别利用每张样本图像对应的目标预测分支输出的类别预测信息计算损失,其中损失函数的选择没有限制,可以选用任意损失函数形式,比如arcface,amsoftmax等;反向传播并计算反向传播网络层的梯度:利用损失函数反向计算神经网络中网络层对应的梯度,从而更新待训练的目标神经网络的参数。
103.下面针对一次迭代中包含的多张样本图像进行分析,具体的,根据s102中确定的每张样本图像对应的目标预测分支,在一些实施例中,在不考虑s102中计算得到的损失占用内存的情况下,可以直接调用计算好的目标预测分支对应的损失,也即样本图像对应的损失,根据多张样本图像对应的损失,确定待训练的目标神经网络的损失函数,利用损失函数更新待训练的目标神经网络的参数,完成对目标神经网络的一次迭代训练。
104.在另一些实施例中,在考虑s102中计算得到的多个其他预测分支(不包括目标预测分支)损失占用内存的情况下,在确定目标预测分支之后,将其对应的损失删除,此时,对目标神经网络进行训练,需要重新计算每个目标预测分支对应的损失,也即样本图像对应的损失,可以参照s102中确定过程,重复部分在此不再赘述。之后,根据多张样本图像的损失,确定待训练的目标神经网络的损失函数,利用损失函数更新待训练的目标神经网络的参数,完成对目标神经网络的一次迭代训练。
105.之后,按照上述一次迭代过程进行多次迭代,直到待训练的目标神经网络满足预设训练截止条件,得到训练完成的目标神经网络为止。
106.本公开实施例不限定样本图像是否存在噪音,上述s101~s102利用不同初始网络参数对应的不同预设分支处理样本图像,能够得到不同的类别预测信息,根据多个类别预测信息,可以从不同预设分支中选择处理结果准确度最高的预测分支,即目标预测分支。之后,利用该目标预测分支和可能存在噪音的样本图像对目标神经网络进行训练,能够克服噪音样本带来的影响,提高了目标神经网络的训练精度。
107.在一些实施例中,针对多个目标预测分支中的每个目标预测分支,可以利用目标预测分支对应的至少一张样本图像,对目标神经网络中除多个预测分支以外的部分以及目标预测分支进行训练。
108.这里,目标神经网络中除多个预测分支以外的部分,即为第一部分神经网络21。
109.具体实施时,利用目标预测分支,确定目标预测分支对应的至少一张样本图像中的每张样本图像对应的第二损失信息;基于多个第二损失信息,确定待训练的目标神经网络的目标损失信息;利用目标损失信息对目标神经网络中除多个预测分支以外的部分以及目标预测分支进行训练。
110.示例性的,目标预测分支对应多张样本图像,比如三张样本图像,计算得到每张样本图像对应的损失,直接用该三个损失计算得到损失函数,比如,损失函数为三个损失之和
或者三个损失的平均损失;之后,可以直接利用计算得到的损失函数,反向传播并计算反向传播网络层的梯度,从而更新待训练的目标神经网络(包括第一部分神经网络21和目标预测分支)的参数。
111.或者,还可以利用多个目标预测分支,确定多个目标预测分支对应的多组样本图像,针对多组样本图像中的每张样本图像,确定每张样本图像对应的第三损失信息;基于多个第三损失信息,确定待训练的目标神将网络的目标损失信息;利用目标损失信息对目标神经网络进行训练。
112.示例性的,在上一示例中,确定了一个目标预测分支对应的多个损失,即多个第二损失信息;在此基础上,可以确定多个目标预测分支对应的多组损失,即多组第三损失信息。利用多组第三损失信息确定待训练的目标神将网络的目标损失信息,具体的,多个目标预测分支对应多组样本图像,计算多组样本图像中每张样本图像对应的损失,并利用多个损失计算损失函数,损失函数可以为多个损失之和或者多个损失对应的平均损失;之后,利用计算得到的损失函数,反向传播并计算反向传播网络层的梯度,从而更新待训练的目标神经网络(包括第一部分神经网络21和第二部分神经网络22)的参数。
113.这里,由于目标预测分支预测样本图像的损失最小,因此每个目标预测分支均为其对应的样本图像预测结果较为准确的预测分支,目标预测分支处理其对应的样本图像,够得到较为准确的预测结果,即第二损失信息,进而利用该准确的预测结果,能够得到较为准确的待训练的目标神经网络对应的损失函数,利用该损失函数,更新待训练的目标神经网络的参数,能够提高带噪音的样本图像训练出的目标神经网络的性能。
114.在得到训练完成的目标神经网络之后,还可以对样本图像进行进一步清洗,清洗方式可以包括剔除存在噪音的样本图像,和/或,将同属于同一类别的预设对象类别合并。
115.在一些实施例中,参见图3所示,其为剔除存在噪音的样本图像的具体流程图;包括s301~s303,其中:
116.s301:针对多张样本图像中的每张样本图像,基于样本图像中目标对象的对象类别,确定样本图像对应于每个预测分支的第一类中心,并从多个第一类中心中,筛选与目标对象的对象类别的匹配程度满足预设条件的类中心;其中,预测分支中的第一类中心用于表征预设对象类别。
117.本步骤中,分类器中包括多个第一类中心,不同第一类中心表征不同预设对象类别。
118.示例性的,如图2所示,确定样本图像对应于分类器a的第一类中心a,对应于分类器b的第一类中心b,对应于分类器c的第一类中心c,
……
;具体的,根据该样本图像,确定样本图像中目标对象的对象类别;根据该目标对象的对象类别,在每个分类器中分别选择与该目标对象的对象类别相同的预设对象类别对应的第一类中心,即第一类中心a,第一类中心b,第一类中心c,
……

119.判断匹配程度是否满足预设条件的方式可以包括:计算样本图像与每个第一类中心之间的第一相似度,针对多个第一相似度,满足预设条件包括最大相似度。这里,第一相似度能够表示样本图像中目标对象的对象类别与第一类中心对应的预设对象类别之间的相似度,相似度越高,样本图像中目标对象的对象类别与第一类中心对应的预设对象类别越匹配,即匹配程度越高。
120.确定第一相似度的方式,具体的,可以利用训练完成的目标神经网络提取该样本图像的图像特征信息,这里,图像特征信息可以包括样本图像的特征向量p1;对于每个第一类中心,确定第一类中心的向量p2,计算特征向量p1与向量p2之间的余弦距离,根据余弦距离,确定第一相似度。比如,将余弦距离的倒数作为第一相似度。
121.之后,确定样本图像与每个第一类中心之间的第一相似度;可以将最大第一相似度对应的第一类中心作为与目标对象的对象类别的匹配程度满足预设条件的类中心。
122.这里,图像特征信息能够准确表示样本图像的特征,利用该图像特征信息能够计算得到样本图像与每个第一类中心之间的第一相似度,可以认为选择的最大第一相似度对应的第一类中心对应的预设对象类别,与该样本图像中目标对象的对象类别最为匹配,因此,将该第一类中心作为与目标对象的对象类别的匹配程度满足预设条件的类中心,能够得到较为准确的表征该样本图像中目标对象的对象类别的类中心。
123.s302:针对每个预设对象类别,基于预设对象类别对应的多张样本图像中每张样本图像,以及与样本图像中目标对象的对象类别的匹配程度满足预设条件的类中心,确定预设对象类别对应的每个第一类中心被选中的次数,并将被选中次数最多的第一类中心作为预设对象类别对应的第二类中心。
124.针对每个预设对象类别,下面以一个预设对象类别为例进行详细说明。
125.示例性的,已知预设对象类别为小a,三个分类器,此时,包括三个表征预设对象类别为小a的第一类中心,分别记为第一类中心a1、第一类中心a2和第一类中心a3。小a对应有十张样本图像,其中,有六张样本图像选择第一类中心a2,三张样本图像选择第一类中心a1,一张样本图像选择第一类中心a3。这里选择的第一类中心,即为s301中从多个第一类中心中,筛选与目标对象的对象类别的匹配程度满足预设条件的类中心。
126.确定预设对象类别对应的每个第一类中心被选中的次数,延续上例,确定预设对象类别为小a对应的第一类中心a1被选中3次,第一类中心a2被选中6次,第一类中心a3被选中1次。此时,将被选中次数最多的第一类中心a2作为预设对象类别对应的第二类中心。此时,第二类中心表征的预设对象类别,可以认为是
127.之后,按照上述确定第二类中心的方式,确定每个预设对象类别对应的第二类中心。
128.s303:基于多个预设对象类别中每个预设对象类别对应的第二类中心,从多张样本图像中剔除存在噪音的样本图像。
129.这里,确定了多个第二类中心,下面以一个第二类中心为例,确定从该第二类中心对应的多张样本图像中剔除存在噪音的样本图像,这里的多张样本图像,比如第一类中心a2对应的那六张样本图像。
130.具体实施时,针对多个第二类中心中的每个第二类中心,确定第二类中心对应的预设对象类别对应的多张样本图像中每张样本图像,与第二类中心之间的第二相似度;从预设对象类别对应的多张样本图像中筛选出与第二类中心的第二相似度小于第一预设相似度的样本图像,并剔除。
131.针对第二类中心对应的预设对象类别对应的多张样本图像中每张样本图像,延续上例,第二类中心对应的预设对象类别,即为第一类中心a2对应的预设对象类别(小a),该预设对象类别(小a)对应的多张样本图像,即为第一类中心a2对应的那六张样本图像。针对
其中一张样本图像,确定其与第二类中心之间的第二相似度。这里,第二相似度能够表示该样本图像中目标对象的对象类别与第二类中心对应的预设对象类别之间的相似度。
132.确定第二相似度的具体过程:首先,获取样本图像的图像特征信息,确定样本图像的特征向量p3;之后,计算样本图像的特征向量p3和第二类中心的向量p4之间的余弦距离,并根据余弦距离,确定第二相似度。如果第二相似度小于第一预设相似度,则确定该样本图像存在噪音,将其剔除。这里,第一预设相似度可以是根据经验值确定出的,存在噪音的样本图像与其对应的第二类中心之间的向最大相似度,和未存在噪音的样本图像与其对应的第二类中心之间的最小相似度之间的预设相似度,这里,最大相似度小于或等于最小相似度。该第一预设相似度可用于判断样本图像的预设标签是否存在错误的情况,若第二相似度小于第一预设相似度,则样本图像的预设标签错误,样本图像存在噪音;若第二相似度大于或等于第一预设相似度,则样本图像的预设标签正确,样本图像不存在噪音。
133.之后,针对每张样本图像,重复上述方法,能够将训练目标神经网络的样本图像清洗完成,此时只需要保留未存在噪音的样本图像即可。
134.这里,由于第二类中心比从预测分支中选择的其它类中心更能准确表征目标对象的对象类别。因此,可以利用该第二类中心,从多张样本图像中筛选出与第二类中心的第二相似度小于第一预设相似度的样本图像,可认为样本图像为存在噪音的样本图像,由于第二类中心表征目标对象的对象类别的准确性高,因此,能够提高筛选出的样本图像确为存在噪音的准确度。
135.在一个实施例中,还可以在确定了第二类中心之后,由于第二类中心对应的预设对象类别存在噪音干扰,比如预设对象类别存在表示同一类别的情况,因此,为了消除干扰,可将属于同一类别的预设对象类别合并。
136.具体地,可以基于多个预设对象类别中每个预设对象类别对应的第二类中心,确定任两个第二类中心之间的第三相似度;之后,将第三相似度小于第二预设相似度的两个预设对象类别合并为一个目标对象类别。
137.这里,第三相似度能够表示任两个第二类中心对应的预设对象类别之间的相似度,具体确定过程,确定一个第二类中心的向量p5,另一个第二类中心的向量p6,计算向量p5和向量p6之间的余弦距离,根据余弦距离,确定第三相似度。如果第三相似度小于第二预设相似度,则确定其分别对应的两个预设对象类别表示同一类别,可以将其合并为一个目标对象类别;该目标对象类别可以是上述两个预设对象类别中的其中一种,或者是新标注的预设标签。这里,第二预设相似度可用于判断任意两个预设对象类别是否存在表示同一类别的情况,第二预设相似度可以是根据经验值确定出的,表示同一预设对象类别的两个第二类中心之间的最小相似度,和不为同一预设对象类别的两个第二类中心之间的最大相似度之间的预设相似度,这里,最大相似度小于或等于最小相似度。
138.在一些实施例中,在对样本图像进行清洗之后,还可以利用清洗后的剩余的多张样本图像重新训练s103中训练完成的目标神经网络,得到最终的目标神经网络。能够在s103中训练完成的目标神经网络的性能的基础上,进一步提高该目标神经网络的性能。
139.具体实施时,可以基于剔除存在噪音后的多张样本图像、合并后的目标对象类别和未进行合并处理的预设对象类别,重新训练已经训练完成的目标神经网络,得到最终的目标神经网络。
140.其中,训练完成的目标神经网络中可以包括一个初始网络参数与预测分支对应的初始网络参数不同的其他预测分支。这里,其他预测分支对应的初始网络参数,可以是在重新训练已经训练完成的目标神经网络之前,对训练完成的目标神经网络随机初始化后得到的分类器对应的网络参数。
141.这里,基于剔除存在噪音后的多张样本图像、合并后的目标对象类别和未进行合并处理的预设对象类别,能够得到较为干净的数据集,即不存在噪音干扰,将该数据集输入s103中已经训练完成的目标神经网络,按照传统的训练方法或者本公开实施例提供的训练方法进行训练,能够得到相比于上述训练完成的目标神经网络的性能更高的、最终的目标神经网络。当然,这些剔除存在噪音后的多张样本图像、合并后的目标对象类别和未进行合并处理的预设对象类别,也可以用于训练其它的神经网络,进而提高训练的效果。
142.利用本公开实施例的提供的网络训练方法以及数据清洗后在训练的方法,训练人脸识别神经网络,能够得到较高性能的人脸识别神经网络,得到较高精度的人脸识别结果。
143.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
144.基于同一发明构思,本公开实施例中还提供了与训练方法对应的训练装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
145.参照图4所示,为本公开实施例提供的一种训练装置的示意图,所述装置包括:图像获取模块401、信息确定模块402和网络训练模块403;其中,
146.图像获取模块401,用于获取多张样本图像;所述样本图像包括目标对象;
147.信息确定模块402,用于针对每张样本图像,利用待训练的目标神经网络对所述样本图像进行处理,得到所述目标对象对应的多个类别预测信息;其中,不同的类别预测信息分别由所述目标神经网络中不同的预测分支输出;不同所述预测分支对应的初始网络参数不同;以及,基于所述多个类别预测信息,从多个所述预测分支中确定每张样本图像对应的目标预测分支;
148.网络训练模块403,用于基于所述多张样本图像,以及所述多张样本图像中每张样本图像对应的目标预测分支,对所述目标神经网络进行训练,直到满足预设训练截止条件,得到训练完成的目标神经网络。
149.一种可选的实施方式中,所述信息确定模块402,用于针对任一样本图像,基于各预测分支输出的所述类别预测信息,确定所述任一样本图像对应于各预测分支的第一损失信息;
150.基于所述任一样本图像对应于各预测分支的第一损失信息,将最小损失对应的预测分支作为所述任一样本图像对应的目标预测分支。
151.一种可选的实施方式中,所述网络训练模块403,用于针对多个所述目标预测分支中的每个所述目标预测分支,利用所述目标预测分支对应的至少一张所述样本图像对所述目标神经网络中除多个所述预测分支以外的部分以及所述目标预测分支进行训练。
152.一种可选的实施方式中,所述网络训练模块403,用于利用所述目标预测分支,确定所述目标预测分支对应的至少一张所述样本图像中的每张所述样本图像对应的第二损
失信息;
153.基于多个所述第二损失信息,确定所述待训练的目标神经网络的目标损失信息;
154.利用所述目标损失信息对所述目标神经网络中除多个所述预测分支以外的部分以及所述目标预测分支进行训练。
155.一种可选的实施方式中,所述装置还包括数据清洗模块404,用于在得到训练完成的目标神经网络之后,针对所述多张样本图像中的每张样本图像,基于所述样本图像中所述目标对象的对象类别,确定所述样本图像对应于每个所述预测分支的第一类中心,并从多个所述第一类中心中,筛选与所述目标对象的对象类别的匹配程度满足预设条件的类中心;其中,所述预测分支中的第一类中心用于表征预设对象类别;
156.针对每个所述预设对象类别,基于所述预设对象类别对应的多张样本图像中每张所述样本图像,以及与所述样本图像中所述目标对象的对象类别的匹配程度满足预设条件的类中心,确定所述预设对象类别对应的每个所述第一类中心被选中的次数,并将被选中次数最多的所述第一类中心作为所述预设对象类别对应的第二类中心;
157.基于多个所述预设对象类别中每个所述预设对象类别对应的所述第二类中心,从多张所述样本图像中剔除存在噪音的样本图像。
158.一种可选的实施方式中,所述数据清洗模块404,用于提取所述样本图像的图像特征信息;
159.基于所述图像特征信息,确定所述样本图像与每个所述第一类中心之间的第一相似度;
160.将最大所述第一相似度对应的所述第一类中心作为与所述目标对象的对象类别的匹配程度满足预设条件的类中心。
161.一种可选的实施方式中,所述数据清洗模块404,用于针对多个所述第二类中心中的每个所述第二类中心,确定所述第二类中心对应的预设对象类别对应的多张样本图像中每张所述样本图像,与所述第二类中心之间的第二相似度;
162.从所述预设对象类别对应的多张样本图像中筛选出与所述第二类中心的第二相似度小于第一预设相似度的所述样本图像,并剔除。
163.一种可选的实施方式中,所述数据清洗模块404,还用于在确定了所述第二类中心之后,基于多个所述预设对象类别中每个所述预设对象类别对应的第二类中心,确定任两个所述第二类中心之间的第三相似度;
164.将所述第三相似度小于第二预设相似度的两个所述预设对象类别合并为一个目标对象类别。
165.一种可选的实施方式中,所述网络训练模块403,还用于在所述得到训练完成的目标神经网络之后,基于剔除存在噪音后的多张所述样本图像、合并后的所述目标对象类别和未进行合并处理的所述预设对象类别,重新训练所述训练完成的目标神经网络,得到最终的目标神经网络;其中,所述训练完成的目标神经网络中包括一个所述初始网络参数与所述预测分支对应的初始网络参数不同的其他预测分支。
166.关于训练装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述训练方法实施例中的相关说明,这里不再详述。
167.基于同一技术构思,本技术实施例还提供了一种计算机设备。参照图5所示,为本
申请实施例提供的计算机设备的结构示意图,包括:
168.处理器51、存储器52和总线53。其中,存储器52存储有处理器51可执行的机器可读指令,处理器51用于执行存储器52中存储的机器可读指令,所述机器可读指令被处理器51执行时,处理器51执行下述步骤:s101:获取多张样本图像;样本图像包括目标对象;s102:针对每张样本图像,利用待训练的目标神经网络对样本图像进行处理,得到目标对象对应的多个类别预测信息;其中,不同的类别预测信息分别由目标神经网络中不同的预测分支输出;不同预测分支对应的初始网络参数不同;以及,基于多个类别预测信息,从多个预测分支中确定每张样本图像对应的目标预测分支;s103:基于多张样本图像,以及多张样本图像中每张样本图像对应的目标预测分支,对目标神经网络进行训练,直到满足预设训练截止条件,得到训练完成的目标神经网络。
169.上述存储器52包括内存521和外部存储器522;这里的内存521也称内存储器,用于暂时存放处理器51中的运算数据,以及与硬盘等外部存储器522交换的数据,处理器51通过内存521与外部存储器522进行数据交换,当计算机设备运行时,处理器51与存储器52之间通过总线53通信,使得处理器51在执行上述方法实施例中所提及的执行指令。
170.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的训练方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
171.本公开实施例还提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现上述的训练方法的步骤。其中,计算机程序产品可以是任何能实现上述训练方法的产品,该计算机程序产品中对现有技术做出贡献的部分或全部方案可以以软件产品(例如软件开发包(software development kit,sdk))的形式体现,该软件产品可以被存储在一个存储介质中,通过包含的计算机指令使得相关设备或处理器执行上述训练方法的部分或全部步骤。
172.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
173.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
174.另外,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
175.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件
产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
176.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献