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

用于训练人脸识别模型及识别人脸的方法及相关装置

文献发布时间:2023-06-19 11:35:49


用于训练人脸识别模型及识别人脸的方法及相关装置

技术领域

本申请涉及人工智能领域,具体涉及计算机视觉和深度学习技术,可用于人脸识别场景下,尤其涉及用于训练人脸识别模型的方法、装置、电子设备、计算机可读存储介质及计算机程序产品,以及用于识别人脸的方法、装置、电子设备、计算机可读存储介质及计算机程序产品。

背景技术

目前的人脸识别模型在训练过程中,需要对样本进行详细标注,但是由于数据量庞大,在标注数据时,难免存在标注错误,导致训练数据中存在噪声问题,即脏数据,这些脏数据会极大的误导模型的训练,导致训练出的人脸识别模型存在鲁棒性差、人脸识别精度低等问题。

发明内容

本申请实施例提出了一种用于训练人脸识别模型的方法、装置、电子设备、计算机可读存储介质及计算机程序产品,同时还提出了用于识别人脸的方法、装置、电子设备、计算机可读存储介质及计算机程序产品。

第一方面,本申请实施例提出了一种用于训练人脸识别模型的方法,包括:获取经归一化处理后的原始人脸特征集;基于原始人脸特征集训练人脸识别模型,训练步骤包括:通过子类中心数为K的子类中心转换矩阵将原始人脸特征集转换为K个新人脸特征集;分别计算各新人脸特征集与原始人脸特征集之间的相似度,K的初始值大于1;基于相似度确定目标人脸特征集,并基于目标人脸特征集训练人脸识别模型;递减K值;响应于当前的K满足预设条件,执行训练步骤;响应于当前的K不满足预设条件,将人脸识别模型确定为目标人脸识别模型。

第二方面,本申请实施例提出了一种用于训练人脸识别模型的装置,包括:归一化处理单元,被配置成获取经归一化处理后的原始人脸特征集;训练单元,被配置成基于原始人脸特征集训练人脸识别模型,训练步骤包括:通过子类中心数为K的子类中心转换矩阵将原始人脸特征集转换为K个新人脸特征集;分别计算各新人脸特征集与原始人脸特征集之间的相似度,K的初始值大于1;基于相似度确定目标人脸特征集,并基于目标人脸特征集训练人脸识别模型;递减K值;迭代循环单元,被配置成响应于当前的K满足预设条件,执行训练步骤;输出单元,被配置成响应于当前的K不满足预设条件,将人脸识别模型确定为目标人脸识别模型。

第三方面,本申请实施例提出了一种用于识别人脸的方法,包括:接收待识别人脸图像;调用目标人脸识别模型对待识别人脸图像进行识别;其中目标人脸识别模型是根据如第一方面中任一实现方式描述的用于训练人脸识别模型的方法得到。

第四方面,本申请实施例提出了一种用于识别人脸的装置,包括:待识别人脸图像接收单元,被配置成接收待识别人脸图像;人脸识别单元,被配置成调用目标人脸识别模型对待识别人脸图像进行识别;其中目标人脸识别模型是根据如第二方面中任一实现方式描述的用于训练人脸识别模型的方法得到。

第五方面,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面中任一实现方式描述的用于训练人脸识别模型的方法和/或如第三方面中任一实现方式描述的用于识别人脸的方法。

第六方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面中任一实现方式描述的用于训练人脸识别模型的方法和/或如第三方面中任一实现方式描述的用于识别人脸的方法。

第七方面,本申请实施例提供了一种包括计算机程序的计算机程序产品,该计算机程序在被处理器执行时能够实现如第一方面中任一实现方式描述的用于训练人脸识别模型的方法和/或如第三方面中任一实现方式描述的用于识别人脸的方法。

本申请实施例提供的用于训练人脸识别模型的方法、装置、电子设备、计算机可读存储介质及计算机程序产品,首先,获取经归一化处理后的原始人脸特征集;然后,基于原始人脸特征集训练人脸识别模型,训练步骤包括:通过子类中心数为K的子类中心转换矩阵将原始人脸特征集转换为K个新人脸特征集;分别计算各新人脸特征集与原始人脸特征集之间的相似度,K的初始值大于1;基于相似度确定目标人脸特征集,并基于目标人脸特征集训练人脸识别模型;递减K值;接下来,响应于当前的K满足预设条件,执行训练步骤;最后,在当前的K不满足预设条件时将人脸识别模型确定为目标人脸识别模型。

在通过上述方法提供的模型训练方案的基础上,本申请实施例提供的用于识别人脸的方法、装置、电子设备、计算机可读存储介质及计算机程序产品,就可以在接收到待识别人脸图像时,调用上述方案训练出的目标人脸识别模型进行识别。

为尽可能避免脏数据对模型训练造成的不良影响,本申请通过子类中心转换矩阵将原始人脸特征集随机变换为多个新人脸特征集,以通过子类中心转换矩阵提供的类别随机变换方式尽可能的将脏数据聚集在某个类别的新人脸特征集中,而脏数据聚集的越多就会导致该类别的新人脸特征集与原始人脸特征集的相似度较小,从而得以有针对性的控制人脸识别模型仅从包含尽可能少脏数据的新人脸特征集中学习参数,进而提升最终训练出的目标人脸识别模型的鲁棒性和人脸识别精度。

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

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构;

图2为本申请实施例提供的一种用于训练人脸识别模型的方法的流程图;

图3为本申请实施例提供的另一种用于训练人脸识别模型的方法的流程图;

图4为本申请实施例提供的一种验证目标人脸识别模型可用性的方法的流程图;

图5为本申请实施例提供的一种用于训练人脸识别模型的装置的结构框图;

图6为本申请实施例提供的一种用于识别人脸的装置的结构框图;

图7为本申请实施例提供的一种适用于执行用于训练人脸识别模型的方法和/或用于识别人脸的方法的电子设备的结构示意图。

具体实施方式

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

本公开的技术方案中,所涉及的用户个人信息(例如后续涉及的人脸图像)的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。

图1示出了可以应用本申请的用于训练人脸识别模型以及识别人脸的方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103和服务器105上可以安装有各种用于实现两者之间进行信息通讯的应用,例如数据加密类应用、人脸识别类应用、即时通讯类应用等。

终端设备101、102、103和服务器105可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。

服务器105通过内置的各种应用可以提供各种服务,以可以提供识别人脸图像对应用户服务的人脸识别类应用为例,服务器105在运行该电子相册类应用时可实现如下效果:首先,通过网络104从终端设备101、102、103接收传入的待识别人脸图像;然后,从预设存储位置调用之前训练好的目标人脸识别模型,并将待识别人脸图像作为输入数据输入目标人脸识别模型;最后,将目标人脸识别模型输出的识别结果返回至终端设备101、102、103。

其中,目标人脸识别模型可由服务器105上内置的模型训练类应用预先对训练样本按如下步骤训练得到:首先,获取经归一化处理后的原始人脸特征集;然后,基于所述原始人脸特征集训练人脸识别模型,训练步骤包括:通过子类中心数为K的子类中心转换矩阵将所述原始人脸特征集转换为K个新人脸特征集;分别计算各所述新人脸特征集与所述原始人脸特征集之间的相似度,K的初始值大于1;基于所述相似度确定目标人脸特征集,并基于所述目标人脸特征集训练人脸识别模型;递减K值;接下来,响应于当前的K满足预设条件,执行所述训练步骤;最后,响应于当前的K不满足预设条件,将人脸识别模型确定为目标人脸识别模型。

由于训练得到目标人脸识别模型需要占用较多的运算资源和较强的运算能力,因此本申请后续各实施例所提供的用于训练人脸识别模型的方法一般由拥有较强运算能力、较多运算资源的服务器105来执行,相应地,用于训练人脸识别模型的装置一般也设置于服务器105中。但同时也需要指出的是,在终端设备101、102、103也具有满足要求的运算能力和运算资源时,终端设备101、102、103也可以通过其上安装的模型训练类应用完成上述本交由服务器105做的各项运算,进而输出与服务器105同样的结果。相应的,用于训练人脸识别模型的装置也可以设置于终端设备101、102、103中。在此种情况下,示例性系统架构100也可以不包括服务器105和网络104。

特殊的,经由服务器105训练得到的目标人脸识别模型也可以通过模型蒸馏的方式得到适合置入终端设备101、102、103的轻量级的人脸识别模型,即可以根据实际需求的识别准确度灵活选择使用终端设备101、102、103中的轻量级人脸识别模型,还是选择使用服务器105中的目标人脸识别模型。

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

请参考图2,图2为本申请实施例提供的一种用于训练人脸识别模型的方法的流程图,其中流程200包括以下步骤:

步骤201:获取经归一化处理后的原始人脸特征集;

本步骤旨在由用于训练人脸识别模型的方法的执行主体(例如图1所示的服务器105)获取经归一化处理后的原始人脸特征集。

原始人脸特征集是指经归一化处理后得到的人脸特征的集合,而人脸特征提取自每张包含有人脸图像的图片,人脸特征的提取方式有很多,例如人脸关键点提取、人脸轮廓提取等,而归一化处理的目的是将提取自不同图片的人脸特征统一描述标准,也可以形象的将该过程描述为“统一度量衡”。

需要指出的是,用于提取和经归一化处理后得到原始人脸特征集的人脸图片训练集可以由上述执行主体直接从本地的存储设备获取,也可以从非本地的存储设备(例如图1所示的终端设备101、102、103)中获取。本地的存储设备可以是设置在上述执行主体内的一个数据存储模块,例如服务器硬盘,在此种情况下,人脸图片集可以在本地快速读取到;非本地的存储设备还可以为其它任何被设置用于存储数据的电子设备,例如一些用户终端等,在此情况下,上述执行主体可以通过向该电子设备发送获取命令来获取所需的人脸图片训练集。当然,原始人脸特征集也可以直接以成品存储在本地的存储设备或非本地的存储设备。

具体的,原始人脸特征集通常可表示为多种形式,例如矩阵、向量或其它可等价转换的形式。

步骤202:通过子类中心数为K的子类中心转换矩阵将原始人脸特征集转换为K个新人脸特征集;

在步骤201的基础上,本步骤旨在由上述执行主体通过子类中心数为K的子类中心转换矩阵,将原始人脸特征转换为K个新人脸特征集,其中,基于K作为子类中心数的原因,K的取值范围应为大于1的整数,且其初始值应大于1。

需要说明的是,通过子类中心转换矩阵转换出的K个新人脸特征集可以被包含于转换出的一个有K维的大矩阵,也可以分别表现为K个小矩阵。当然,为满足转换要求,原始人脸特征集在输入子类中心转换矩阵时需要先转换为矩阵的表示形式。

其中,子类中心转换矩阵的作用是将输入数据的原类别中心转换为新类别中心,以通过此种方式变更特征集的类别,进而帮助聚集和发现人脸图片训练集中包含的脏数据。之所以可通过此种方式聚集和发现脏数据,是因为在原类别中心下脏数据隐藏的较深不易发现,而随机生成的新类别中心有可能恰好为脏数据的类别中心,而一旦一个新人脸特征集聚集了较多的脏数据,其与原人脸特征集之间的相似度必然会下降,从而得以聚集和区分脏数据。

由于在无法先确定脏数据的前提下,类别中心也只能随机生成,为了尽可能的生成能够聚集脏数据和类别中心,K的初始值可以设定为一个较大的值,并在每轮不断以递减的方式变更K的大小,以不断的尝试生成能够聚集脏数据的类别中心而不遗漏。

步骤203:分别计算各新人脸特征集与原始人脸特征集之间的相似度;

在步骤202的基础上,本步骤旨在由上述执行主体分别计算每个新人脸特征集与原始人脸特征集之间的相似度。应当理解的是,若一个新人脸特征集中聚集了较多的脏数据,其与原始人脸特征集之间的相似度就较低;若一个新人脸特征集中不怎么包含脏数据,那么其与原始人脸特征集之间的相似度就较高。

具体的,可以将每个新人脸特征集与原始人脸特征集的矩阵表达形式通过相乘的形式计算arccos,得到以角度矩阵方式表示的相似度。

步骤204:基于相似度确定目标人脸特征集,并基于目标人脸特征集训练人脸识别模型。

在步骤203的基础上,本步骤旨在由上述执行主体基于相似度确定目标人脸特征集,并基于目标人脸特征集训练人脸识别模型。

根据上述描述可知,为实现聚集和区分脏数据的目的,目标人脸特征集应当是各新人脸特征即中与原人脸特征集相似度较高的部分人脸特征集,从而使得确定出的目标人脸特征集中包含尽可能少的脏数据,进而保证使用尽可能少的脏数据来训练人脸识别模型,提升模型的识别精度。

具体的,将拥有较高相似度的新人脸特征集确定为目标人脸特征集的方式多种多样,例如通过预先设定的一个较高的相似度阈值来区分相似度的高低,还可以按照相似度大小排序并选取排名前几个的方式,也可以按照排名前百分比的方式等等,可根据实际需求灵活选择,此处不做具体限定。

具体的,人脸识别模型的训练所采用的可以是较适合人脸识别的Arcface损失函数,在此种该损失函数时可将arccos的角度输入来进行监督训练。

步骤205:递减K值;

在步骤204的基础上,本步骤旨在通过递减K值的方式来获取一个新的K值,从而基于新的K值指导生成新的新人脸特征集,来再次尝试聚集和区分脏数据。

其中,每轮迭代训练的K的递减步长可以相同也可以不同,K值递减的目的是通过变更大小让生成尽可能全面的新人脸特征集,从而试图更好的聚集和区分脏数据,因此,所有可以帮助聚集和区分脏数据的递减步长的设定方式均可以采用,此处不做具体限定。

步骤206:判断当前的K是否满足预设条件,若满足,跳转执行步骤202,否则执行步骤207;

本步骤旨在由上述执行主体通过预先设定的条件来判断经步骤205递减之后的当前K值是否还需要重复执行训练步骤,可以理解的是,该预设条件实际上是一种迭代训练的跳出条件,例如当前的K值是否递减至某一个较小的值(即用于通过该较小的值来判断K值是否变更过足够多次),那么对应满足重复执行训练步骤的要求,就应当为当前的K是否大于该较小的值,例如1、2等;跳出条件还可以是当前K值相较于初始值的递减幅度、递减百分比等等,相应的预设条件也将对应调整。

步骤207:将人脸识别模型确定为目标人脸识别模型。

本步骤建立在步骤206的判断结果为当前的K不满足预设条件的基础上,旨在由上述执行主体将训练至当前的脸识别模型确定为目标人脸识别模型,即本步骤处于认为当前的人脸识别模型的训练程度以满足结束条件,可以输出。但应当理解的是,跳出或结束训练并不一定意味着目标人脸识别模型就拥有期望的识别精度,在预设条件设置的不合适的情况,K的变换可能始终没能有效的聚集和区分脏数据,此时虽然也跳出和结束了训练,但目标人脸识别模型的识别精度可能不如预期。

为尽可能避免脏数据对模型训练造成的不良影响,本申请通过子类中心转换矩阵将原始人脸特征集随机变换为多个新人脸特征集,以通过子类中心转换矩阵提供的类别随机变换方式尽可能的将脏数据聚集在某个类别的新人脸特征集中,而脏数据聚集的越多就会导致该类别的新人脸特征集与原始人脸特征集的相似度较小,从而得以有针对性的控制人脸识别模型仅从包含尽可能少脏数据的新人脸特征集中学习参数,进而提升最终训练出的目标人脸识别模型的鲁棒性和人脸识别精度。

在图2所示实施例的基础上,本申请通过图3提供的另一种用于训练人脸识别模型的方法将具体以固定的递减步长—1为例,提供一种更为具体的实施方式,以加深对本方案的理解,图3所示的流程300包括如下步骤:

步骤301:从人脸图片训练集所包含的每张人脸图片中提取人脸特征;

步骤302:对提取出的各人脸特征进行归一化处理,得到原始人脸特征集;

步骤301-302具体提供了一种如何得到原始人脸特征集的实现方案,即将分别从每张人脸图片中提取出的人脸特征进行归一化处理,从而汇集得到该原始人脸特征集。

步骤303:通过子类中心数为K的子类中心转换矩阵将原始人脸特征集转换为K个新人脸特征集;

步骤304:分别计算各新人脸特征集与原始人脸特征集之间的相似度;

步骤305:将相似度大于预设阈值的新人脸特征集确定为目标人脸特征,并基于目标人脸特征集训练人脸识别模型;

以上步骤303-步骤305与图2所示的步骤202和步骤204大体一致,相同部分内容请参见上一实施例的相应部分,此处不再赘述。区别为:本步骤中具体选用了基于预设阈值的比较方式来选取出高相似度的新人脸特征集作为目标人脸特征。

相似的,也可以将此步骤替换为:将相似度按大小排在前预设百分比的新人脸特征集确定为目标人脸特征集。

步骤306:每次将K值递减1。

本实施例中固定了K值的递减步长,即每次递减的幅度均为单位1,即之前的K值为9,那么递减之后的K值为8,下一轮就为7,依此类推。

步骤307:判断当前的K是否大于预设值;

其中,该预设值应小于K的初始值,从而保证迭代训练的正常进行。假定K值的初始值为10,该预设值可以设置为1,按照步骤306提供的单位1的固定递减步长,将会9次基于不断递减的K值重复执行步骤303-步骤305。

步骤308:将人脸识别模型确定为目标人脸识别模型;

图3所示出的实施例提供了一种固定递减步长的方案,但在某些场景,尤其是K的初始值取得较大的情况下,有可能连续多次递减均为找到符合要求的目标人脸特征集,此时若还按照固定的递减步长可能会导致轮数过多、效率过慢。因此还可以考虑在此种情况下变更K的递减步长。一种包括且不限于的实现方式为:

响应于在K值连续递减预设次数的过程中均未确定出目标人脸特征,调大K的递减步长。其中,递减步长的调整应视调整后的K值大于预设值,从而保证调大递减步长后还会重复执行训练,而不是直接跳出、结束训练。

为尽可能的保证按照上述实施例训练出的目标人脸识别模型的可用性,还可以通过设计对比验证来测试目标人脸识别模型的可用性,一种包括且不限于的对比验证方式和处理方式可参考如图4示出的流程图:

步骤401:利用常规人脸识别模型识别人脸图片测试集中所包含的人脸图片,得到第一识别准确率;

其中,该常规人脸识别模型为设置K的初始值为1时通过上述提供的训练步骤所获得的人脸识别模型,即如现有技术一样不区分脏数据和有效数据。

步骤402:利用目标人脸识别模型识别人脸图片测试集中所包含的人脸图片,得到第二识别准确率;

其中,人脸图片测试集在本实施例中被用于验证训练好的目标人脸模型的可用性,具体的测试集的数量不做具体限定,通常来说,测试集应具有验证出是否具有可用性的能力,但在实际情况下可能会因测试数据选取的不合适、不严谨导致结论错误,为尽量避免此种情况,可通过独立的设置多个测试集来分别测试,进而消除单个错误测试集对结论的误导。

步骤403:响应于第一识别准确率大于第二识别准确率,调整K值的初始值直至第二识别准确率大于第一识别准确率。

本步骤建立在第一识别准确率大于第二识别准确率的基础上,旨在由上述执行主体调整K值的初始值直至第二识别准确率大于第一识别准确率。

之所以要调整K的初始值,是因为按照上述思路,第一识别准确率应当小于第二识别准确率,因此在第一识别准确率大于第二识别准确率时,就属于异常情况,而导致此种情况发生的原因可能为K的初始值设定的不合适,使得没能较好的生成一个能够聚集脏数据的类别中心,因此可以通过调整K的初始值来看能否消除此问题。

进一步的,若在多次尝试上次操作后仍得到第一识别准确率大于第二识别准确率的结论,还可以尝试调整目标人脸识别模型的模型框架和参数。

在上述任意实施例的基础上,为了充分让按照上述训练方式训练出的目标人脸识别模型发挥作用,还可以按照下述步骤让其在实际的人脸识别操作中发挥作用:

接收待识别人脸图像;

调用目标人脸识别模型对待识别人脸图像进行识别。

其中,该目标人脸识别模型是根据图2-4所提供的用于训练人脸识别模型的方法得到的人脸识别模型。

具体的,识别结果可以包含是否属于某个已注册用户、清晰度不够无法完成识别的提示信息等等。上述识别人脸的方法的执行主体可仍为图1所示的服务器105,也可以变更为图1所示的终端101、102、103,尤其是在其拥有调用已训练好的目标人脸识别模型的情况下。当然,也可以通过模型蒸馏的方式将轻量化的目标人脸识别模型置于终端101、102、103本地,进而实现本地的调用和识别。

为加深理解,本申请还结合一个具体应用场景,给出了一种具体的实现方案:

为满足客户提出的实现高准确率人脸识别效果的要求,服务提供商首先按照如下步骤训练得到一个目标人脸识别模型:

1)获取包含人脸图像的人脸图片训练集;

2)从人脸图片训练集中的每张人脸图片的人脸图像中提取人脸特征,并通过归一化处理得到以矩阵形式表达的原始人脸特征矩阵;

3)通过K初始值为100、递减步长为1的类别中心转换矩阵,在每轮监督训练中生成相应数量的新人脸特征矩阵;

4)在每轮监督训练中,通过矩阵相乘的方式计算得到当前轮次下的各新人脸特征矩阵与原始人脸特征矩阵的相似度角度矩阵,并基于相似度角度矩阵中提取出的across角度确定相似度,且仅使用相似度超过70%的新人脸特征矩阵训练人脸识别模型;

5)重复进行100轮后,输出训练好的目标人脸识别模型;

在训练得到该目标人脸识别模型后,服务提供商还利用100张的测试集(其中包含脏数据的10张测试图片)测试该目标人脸识别模型,因脏数据检出数(8)超过预设数量(6)确定该目标人脸识别模型具有可用性。

服务提供商通过模型蒸馏的机制得到轻量级的目标人脸识别模型(简称为轻量级识别模型,为体现区别,目标人脸识别模型称为全量级识别模型),然后向客户的客户端提供轻量级识别模型的所有数据文件和全量级识别模型的调用接口,以供客户根据实际需求灵活选用。

进一步参考图5和图6,作为对上述各图所示方法的实现,本申请还分别提供了一种用于训练人脸识别模型的装置和一种用于识别人脸的装置的实施例,该装置实施例与上述的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例的用于训练人脸识别模型的装置500可以包括:归一化处理单元501、训练单元502、迭代循环单元503、输出单元504。其中,归一化处理单元501,被配置成获取经归一化处理后的原始人脸特征集;训练单元502,被配置成基于原始人脸特征集训练人脸识别模型,训练步骤包括:通过子类中心数为K的子类中心转换矩阵将原始人脸特征集转换为K个新人脸特征集;分别计算各新人脸特征集与原始人脸特征集之间的相似度,K的初始值大于1;基于相似度确定目标人脸特征集,并基于目标人脸特征集训练人脸识别模型;递减K值;迭代循环单元503,被配置成响应于当前的K满足预设条件,执行训练步骤;输出单元504,被配置成将人脸识别模型确定为目标人脸识别模型。

在本实施例中,用于训练人脸识别模型的装置500中:归一化处理单元501、训练单元502、迭代循环单元503、输出单元504的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-207的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,训练单元502可以包括被配置成基于相似度确定目标人脸特征集的目标人脸特征集确定子单元,该目标人脸特征集确定子单元被进一步配置成:

将相似度大于预设阈值的新人脸特征集确定为目标人脸特征。

在本实施例的一些可选的实现方式中,训练单元502可以包括被配置成基于相似度确定目标人脸特征集的目标人脸特征集确定子单元,该目标人脸特征集确定子单元被进一步配置成:

将相似度按大小排在前预设百分比的新人脸特征集确定为目标人脸特征集。

在本实施例的一些可选的实现方式中,迭代循环单元503可以被进一步配置成:

响应于当前的K值大于预设值,执行训练步骤,预设值小于初始值。

在本实施例的一些可选的实现方式中,用于训练人脸识别模型的装置500中还可以包括:

第一识别准确率获取单元,被配置成利用常规人脸识别模型识别人脸图片测试集中所包含的人脸图片,得到第一识别准确率;其中,常规人脸识别模型为使用初始值为1的训练步骤训练出的人脸识别模型;

第二识别准确率获取单元,被配置成利用目标人脸识别模型识别人脸图片测试集中所包含的人脸图片,得到第二识别准确率;

K初始值调整单元,被配置成响应于第一识别准确率大于第二识别准确率,调整K值的初始值直至第二识别准确率大于第一识别准确率。

在本实施例的一些可选的实现方式中,归一化处理单元501可以被进一步配置成:

从人脸图片训练集所包含的每张人脸图片中提取人脸特征;

对提取出的各人脸特征进行归一化处理,得到原始人脸特征集。

在本实施例的一些可选的实现方式中,用于训练人脸识别模型的装置500中还可以包括:

递减步长调整单元,被配置成响应于在K值连续递减预设次数的过程中均未确定出目标人脸特征,调大K的递减步长。

如图6所示,本实施例的用于识别人脸的装置600可以包括:待识别人脸图像接收单元601、人脸识别单元602。其中,待识别人脸图像接收单元601,被配置成接收待识别人脸图像;人脸识别单元602,被配置成调用目标人脸识别模型对待识别人脸图像进行识别;其中,目标人脸识别模型是根据图5所示的用于训练人脸识别模型的装置得到。

上述实施例作为对应于上述方法实施例的装置实施例存在,为尽可能避免脏数据对模型训练造成的不良影响,本实施例通过子类中心转换矩阵将原始人脸特征集随机变换为多个新人脸特征集,以通过子类中心转换矩阵提供的类别随机变换方式尽可能的将脏数据聚集在某个类别的新人脸特征集中,而脏数据聚集的越多就会导致该类别的新人脸特征集与原始人脸特征集的相似度较小,从而得以有针对性的控制人脸识别模型仅从包含尽可能少脏数据的新人脸特征集中学习参数,进而提升最终训练出的目标人脸识别模型的鲁棒性和人脸识别精度。

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

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

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

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

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

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

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

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

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

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

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

为尽可能避免脏数据对模型训练造成的不良影响,本实施例通过子类中心转换矩阵将原始人脸特征集随机变换为多个新人脸特征集,以通过子类中心转换矩阵提供的类别随机变换方式尽可能的将脏数据聚集在某个类别的新人脸特征集中,而脏数据聚集的越多就会导致该类别的新人脸特征集与原始人脸特征集的相似度较小,从而得以有针对性的控制人脸识别模型仅从包含尽可能少脏数据的新人脸特征集中学习参数,进而提升最终训练出的目标人脸识别模型的鲁棒性和人脸识别精度。

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

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

相关技术
  • 人脸识别模型训练方法及相关装置、人脸识别方法及相关装置
  • 用于训练人脸识别模型以及识别人脸的方法以及相关装置
技术分类

06120112985356