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

一种模型训练的方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 16:09:34



技术领域

本公开涉及人工智能技术领域,尤其涉及一种模型训练的方法、装置、电子设备及存储介质。

背景技术

近几年,随着深度学习的发展,人脸识别的速度和精度也随之有了很大的进步,目前人脸识别已经广泛用于日常生活的认证中。活体识别是人脸验证中非常重要的一部分,假体攻击方式的类型和数量层出不穷,某种程度上危害了社会秩序,因此拒绝假体攻击是非常有必要的,但现有技术中的部分活体识别模型,可能会学习到人脸的ID信息,这就导致了活体识别模型的识别准确率低。

发明内容

本公开提供了一种模型训练的方法、装置、电子设备及存储介质,以至少解决相关技术中活体识别模型的识别准确率低的技术问题。

根据本公开的一方面,提供了一种模型训练的方法,包括:获取样本图像和样本图像对应的标识信息,其中,标识信息用于表示样本图像中是否存在活体人脸;基于样本图像和标识信息,构建第一组训练数据;对第一组训练数据进行重配置,得到第二组训练数据;基于第一组训练数据和第二组训练数据对初始神经网络模型进行训练,得到目标神经网络模型。

可选地,基于样本图像和标识信息,构建第一组训练数据,包括:基于目标关键点对样本图像进行截取,得到第一人脸图像;基于第一人脸图像和标识信息构建第一组训练数据。

可选地,第二组训练数据包括:第三组训练数据,对第一组训练数据进行重配置,得到第二组训练数据,包括:基于标识信息对第一人脸图像进行筛选,得到第二人脸图像,其中,第二人脸图像中不存在活体人脸;截取第二人脸图像的第一区域,得到第三人脸图像;基于第三人脸图像和标识信息构建第三组训练数据。

可选地,截取第二人脸图像的第一区域,得到第三人脸图像,包括:确定第二人脸图像的攻击类型,其中,攻击类型用于表示第二人脸图像伪造活体人脸的方式;基于攻击类型截取第二人脸图像的第一区域,得到第三人脸图像。

可选地,第二组训练数据包括:第四组训练数据,对第一组训练数据进行重配置,得到第二组训练数据,包括:对第一人脸图像进行分块处理,得到多个图像块;对多个图像块进行重组,得到第四人脸图像;基于第四人脸图像和标识信息构建第四组训练数据。

可选地,基于第一组训练数据和第二组训练数据对初始神经网络模型进行训练,得到目标神经网络模型,包括:基于第一组训练数据和第三组训练数据对初始神经网络模型进行训练,得到第一模型参数;基于第一模型参数对初始神经网络模型进行训练,得到目标神经网络模型。

可选地,基于第一模型参数对初始神经网络模型进行训练,得到目标神经网络模型,包括:基于第一模型参数对初始神经网络模型的模型参数进行训练,得到中间神经网络模型;基于第四组训练数据对中间神经网络模型进行训练,得到目标神经网络模型。

根据本公开的又一方面,提供了一种鉴别人脸图像的方法,包括:获取待鉴别人脸图像;利用目标神经网络模型对待鉴别人脸图像进行分析,确定待鉴别人脸图像中是否存在活体人脸;其中,目标神经网络模型通过上述任意一项的模型训练方法训练得到。

根据本公开的又一方面,提供了一种模型训练的装置,包括:获取模块,用于获取样本图像和样本图像对应的标识信息,其中,标识信息用于表示样本图像中是否存在活体人脸;构建模块,用于基于样本图像和标识信息,构建第一组训练数据;重配置模块,用于对第一组训练数据进行重配置,得到第二组训练数据;训练模块,用于基于第一组训练数据和第二组训练数据对初始神经网络模型进行训练,得到目标神经网络模型。

根据本公开的又一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提出的上述任一项的方法。

根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提出的上述任一项的方法。

根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行本公开提出的上述任一项的方法。

在本公开中,能够达到对活体人脸进行准确识别的目的,实现了提高活体识别模型的识别准确率的技术效果,从而解决了相关技术中活体识别模型的识别准确率低的技术问题。

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

附图说明

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

图1是根据本公开实施例的一种用于实现模型训练方法的计算机终端(或移动设备)的硬件结构框图;

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

图3是根据本公开实施例的一种可选的模型训练的方法的步骤流程图;

图4是根据本公开实施例的一种模型训练的装置的结构框图。

具体实施方式

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

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

目前主流的活体识别模型训练方法主要包括以下策略:(1)数据增强:利用一些主流的数据扰动方法,比如颜色扰动、随机旋转、随机翻转、人脸关键点扰动等等。(2)增加训练损失,比如增加三元损失函数(triplet loss)用于拉开攻击样本和活体样本之间的特征差距。这些策略虽然在增强活体识别模型泛化性的方面能起到一定作用,但并没有从本质上解决训练过程中的问题。

根据本公开实施例,提供了一种模型训练的方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

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

如图1所示,计算机终端100包括计算单元101,其可以根据存储在只读存储器(ROM)102中的计算机程序或者从存储单元108加载到随机访问存储器(RAM)103中的计算机程序,来执行各种适当的动作和处理。在RAM 103中,还可存储计算机终端100操作所需的各种程序和数据。计算单元101、ROM 102以及RAM 103通过总线104彼此相连。输入/输出(I/O)接口105也连接至总线104。

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

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

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

此处需要说明的是,在一些可选实施例中,上述图1所示的电子设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述电子设备中的部件的类型。

在上述运行环境下,本公开提供了如图2所示的模型训练的方法,该方法可以由图1所示的计算机终端或者类似的电子设备执行。图2是根据本公开实施例提供的一种模型训练的方法流程图。如图2所示,该方法可以包括如下步骤:

步骤S20,获取样本图像和样本图像对应的标识信息,其中,标识信息用于表示样本图像中是否存在活体人脸。

上述的样本图像可以是公开的面部活体数据集,可以是活体检测数据库(CASIA-SURF)、人脸识别数据集(CASIA-WEBFACE)等任何一种能够在公开网站上下载到的人脸活体数据集。

上述的标识信息可以是用来表示样本图像中是否存在活体人脸的信息,例如,可以0表示样本图像中的攻击人脸,以1来表示样本图像中的活体人脸,其中,攻击人脸可以是非待识别的人脸,例如可以是图片、视频以及带着人脸面具的人脸,在本实施例中可以非待识别的图片为例进行说明;活体人脸可以是待识别的人脸,在本实施例中,可以图片为例进行说明。

在一种可选的实施例中,在得到最终训练模型之前,首先可以获取公开的人脸活体数据集(即样本图像)以及表示样本图像中是否存在活体人脸的信息(即标识信息)。

步骤S21,基于样本图像和标识信息,构建第一组训练数据。

在一种可选的实施例中,首先可以对样本图像进行人脸关键点检测,其次基于关键点对样本图像中的人脸区域进行确定并截取,其中,人脸关键点有多种类型,包括但不限于21关键点、68关键点、72关键点以及98关键点等,人脸关键点一般包括内部关键点与轮廓关键点,内部关键点一般包括眉毛、眼睛、鼻子、嘴巴等关键点,轮廓关键点一般包括人脸的外部轮廓,例如太阳穴、颧骨、下颌骨以及下巴等关键点,人脸关键点检测是人脸识别和分析领域中的关键一步,是自动人脸识别、表情分析、三维人脸重建以及三维动画等其他人脸相关问题的前提和突破口,本实施例以人脸72关键点为例进行说明。

上述的第一组训练数据,可以是将样本图像中的人脸区域确定并截取后得到的数据。

在另一种可选的实施例中,在得到样本图像和标识信息后,可以基于人脸72关键点确定出样本图像中的人脸区域,并对样本图像中的人脸区域进行截取,得到第一组训练数据。

步骤S22,对第一组训练数据进行重配置,得到第二组训练数据。

上述的对第一组训练数据进行重配置,可以是任何一种能够对第一组训练数据进行处理的方法,在本实施例中,可以对第一组训练数据进行截取,和/或,对第一组训练数据进行重组为例进行说明。

在一种可选的实施例中,可以对第一组训练中的第一区域进行截取,得到第二组训练数据。

在另一种可选的实施例中,可以对第一组训练数据中的第二区域进行重组,得到第二组训练数据。

在又一种可选的实施例中,可以对第一组训练数据进行截取,并且对第一组训练数据进行重组,得到第二组训练数据。

可选地,对第一组训练数据进行截取,并且对第一组训练数据进行重组包括:对第一组训练数据中的部分数据的第一区域进行截取,得到部分第二组训练数据,对第一组训练数据中的剩余部分数据的第二区域进行重组,得到剩余部分第二组训练数据,合并部分第二组训练数据和剩余部分第二组训练数据,得到完整的第二组训练数据;对第一组训练数据的第一区域进行截取,对截取后的训练数据的第二区域进行重组,得到第二组训练数据。

上述的第一区域可以是第一组训练数据包含的攻击人脸图像中的攻击区域,其中,攻击区域可以是具有电子设备的屏幕特征的区域,如摩尔纹区域和电子设备区域,攻击区域还可以是具有带着人脸面具的攻击人脸图像中的人脸面具特征的区域。

上述的第二区域可以是第一组训练数据中包含人脸ID信息的区域。

在一种可选的实施例中,在获取到第一组训练数据后,可以对第一组训练数据包含的攻击人脸图像中的攻击区域进行截取,那么就可以得到第二组训练数据。

在另一种可选的实施例中,在获取到第一组训练数据后,可以对第一组训练数据中包含人脸ID信息的图像进行分块,然后对分块后的图片进行随机重组,即可以得到第二组训练数据。

在又一种可选的实施例中,在获取到第一组训练数据后,可以对第一组训练数据中部分包含的攻击人脸图像中的攻击区域进行截取,还可以对第一组训练数据中部分包含人脸ID信息的图像进行分块,然后对分块后的图片进行随机重组,合并截取后的训练数据和重组后的训练数据,即能够得到第二组训练数据。

在又一种可选的实施例中,在获取到第一组训练数据后,可以对第一组训练数据包含的攻击人脸图像中的攻击区域进行截取,得到截取后的训练数据,然后对截取后的训练数据进行分块并重组,就可以得到第二组训练数据。

步骤S23,基于第一组训练数据和第二组训练数据对初始神经网络模型进行训练,得到目标神经网络模型。

上述的初始神经网络模型可以是任何一种能够基于数据进行训练的神经网络模型,本实施例中可以二分类活体识别模型为例进行说明。

在一种可选的实施例中,可以根据梯度下降法,基于第一组训练数据和第二组训练数据对初始神经网络模型进行训练。

上述的目标神经网络可以是根据梯度下降法以及第一组训练数据和第二组训练数据对初始神经网络模型进行训练后得到的最终活体分类模型

在另一种可选的实施例中,在获取到第一组训练数据和第二组训练数据后,可以根据梯度下降法,基于第一组训练数据和第二组训练数据对初始神经网络进行训练,得到目标神经网络模型。

根据本公开上述步骤S20至步骤S23,通过准备训练数据,首先通过对人脸进行关键点检测得到第一组训练数据,其次将第一组训练数据中的部分攻击类型的攻击区域确定并截取出得到第三组训练数据,最后对第一组训练数据中的数据随机排列得到第四组训练数据,通过将第一组训练数据和第四组训练数据中的数据作为训练集,常规训练得到初始训练模型,然后将第三组训练数据中的数据作为训练集合,对初始训练模型继续训练,得到最终训练模型,达到了能够对活体人脸进行准确识别的目的,实现了提高活体识别模型的识别准确率的技术效果,从而解决了相关技术中活体识别模型的识别准确率低的技术问题。

下面对该实施例的上述方法进行进一步介绍。

根据图2中所示的步骤S21,可选地,基于样本图像和标识信息,构建第一组训练数据,包括:基于目标关键点对样本图像进行截取,得到第一人脸图像;基于第一人脸图像和标识信息构建第一组训练数据。

上述的目标关键点可以是任何一种能够对人脸进行识别的关键点,在本实施例中,可以人脸72关键点为例进行说明。

在一种可选实施例中,可以对样本图像中的人脸区域进行截取,得到第一人脸图像。

在另一种可选的实施例中,可以基于标识信息对第一人脸图像进行分类,例如,将活体人脸图像的标识信息设为1,将攻击人脸图像的标识信息设为0,对第一人脸图像全部分类完成后,可以得到第一组训练数据。

在又一种可选的实施例中,基于样本图像和标识信息,构建第一组训练数据,首先需要基于目标关键点对样本图像中的人脸区域进行截取,得到第一人脸图像,其次,基于标识信息对第一人脸图像进行分类,可以得到第一组训练数据。

根据图2中所示的步骤S22,可选地,第二组训练数据包括:第三组训练数据,对第一组训练数据的第一区域进行截取,得到第二组训练数据,包括:基于标识信息对第一人脸图像进行筛选,得到第二人脸图像,其中,第二人脸图像中不存在活体人脸;截取第二人脸图像的第一区域,得到第三人脸图像;基于第三人脸图像和标识信息构建第三组训练数据。

上述的第三组训练数据可以是由攻击人脸图像构成的训练数据。

上述的第二人脸图像可以是攻击人脸图像。

上述的第三人脸图像可以是对攻击人脸图像中的攻击区域进行截取得到的图像。

在一种可选的实施例中,第二组训练数据可以包括第三组训练数据,首先可以基于标识信息0对第一人脸图像中的攻击人脸图像进行选择,得到第二人脸图像,其次,对第二人脸图像中的第一区域(即攻击区域)进行截取,得到第三人脸图像,最后,基于第三人脸图像和标识信息0,可以组成第三组训练数据。

根据图2中所示的步骤S22,可选地,截取第二人脸图像的第一区域,得到第三人脸图像,包括:确定第二人脸图像的攻击类型,其中,攻击类型用于表示第二人脸图像伪造活体人脸的方式;基于攻击类型确定第二人脸图像的第一区域。

上述的攻击类型可以是能够得到攻击人脸图像中的攻击区域的类型,例如屏幕攻击、面具攻击等,屏幕攻击对应的攻击区域为摩尔纹区域和电子设备边缘区域,面具攻击对应的攻击区域为面具区域。

在一种可选的实施例中,为了获得攻击人脸图像的攻击区域,首先可以确定第二人脸图像的攻击类型,如屏幕攻击、面具攻击等,其次,基于攻击类型可以确定对应的攻击区域,例如屏幕攻击对应的攻击区域为摩尔纹区域和电子设备边缘区域,面具攻击对应的攻击区域为面具区域,最后,将基于攻击类型确定的攻击区域进行截取,即可以得到第三人脸图像。

根据图2中所示的步骤S22,可选地,第二组训练数据包括:第四组训练数据,对第一组训练数据中的第二区域进行重组,得到第二组训练数据,包括:对第一人脸图像进行分块处理,得到多个图像块;对多个图像块进行重组,得到第四人脸图像;基于第四人脸图像和标识信息构建第四组训练数据。

上述的第四组训练数据可以是由第一组训练数据中的人脸图像进行分块并随机组合后构建的训练数据。

上述的分块处理方法可以是任何一种能够对图像进行分块的方法,在本实施例中,可以分成3*3块为例进行说明。

上述的重组方法可以是任何一种能够对图像进行重新组合的方法,在本实施例中,可以随机排列为例进行说明。

在一种可选的实施例中,首先可以对第一人脸图像进行分块处理,即可以对第一人脸图像进行3*3的分块,得到9块图像,其次可以对9块图像随即进行排列,得到新的人脸图像(即第四人脸图像),最后,可以基于第四人脸图像和标识信息(0和1),生成第四组训练数据,且第四组训练数据可以避免活体识别模型学习到人脸的ID信息。

根据图2中所示的步骤S23,可选地,基于第一组训练数据和第二组训练数据对初始神经网络模型进行训练,得到目标神经网络模型,包括:基于第一组训练数据和第三组训练数据对初始神经网络模型进行训练,得到第一模型参数;基于第一模型参数对初始神经网络模型进行训练,得到目标神经网络模型。

上述的第一模型参数可以是第一组训练数据和第三组训练数据对初始神经网络模型进行训练后得到的。

在一种可选的实施例中,首先可以基于第一组训练数据和第三组训练数据对初始神经网络模型进行训练,即可以得到第一模型参数,然后,可以基于第一模型参数继续对初始神经网络模型继续训练,那么就可以得到最终的目标神经网络模型。

根据图2中所示的步骤S23,可选地,基于第一模型参数对初始神经网络模型进行训练,得到目标神经网络模型,包括:基于第一模型参数对初始神经网络模型的模型参数进行训练,得到中间神经网络模型;基于第四组训练数据对中间神经网络模型进行训练,得到目标神经网络模型。

上述的中间神经网络模型可以是基于第一模型参数对初始神经网络模型进行训练得到的。

在一种可选的实施例中,首先可以基于第一组训练数据和第三组训练数据对初始神经网络模型进行训练,即可以得到第一模型参数,其次可以基于第一模型参数继续对初始神经网络模型继续训练,那么就可以得到中间神经网络模型,最后可以基于第四组训练数据对中间神经网络模型继续训练,那么就可以得到最终的目标神经网络模型,其中,最终神经网络模型不仅可以学习到人脸的全部信息并可以避免学习到人脸的ID信息,而且还可以学习到人脸的局部信息。

在本实施例中,通过准备训练数据,首先通过对人脸进行关键点检测得到第一组训练数据,其次将第一组训练数据中的部分攻击类型的攻击区域确定并截取出得到第三组训练数据,最后对第一组训练数据中的数据随机排列得到第四组训练数据,通过将第一组训练数据和第四组训练数据中的数据作为训练集,常规训练得到初始训练模型,然后将第三组训练数据中的数据作为训练集合,对初始训练模型继续训练,得到最终训练模型,达到了能够对活体人脸进行准确识别的目的,实现了提高活体识别模型的识别准确率的技术效果,从而解决了相关技术中活体识别模型的识别准确率低的技术问题。

本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

图3是根据本公开实施例的一种可选的模型训练的方法的步骤流程图,如图3所示,主要步骤如下:

步骤S301:准备训练数据,即获取公开的人脸活体数据集;

步骤S302:对训练数据中的人脸图像进行人脸72关键点识别,基于关键点将人脸图像中的人脸图像截取并标识对应的标识信息,得到第一组训练数据;

步骤S303:对第一组训练数据的攻击人脸图像进行选择,并根据攻击类型截取攻击人脸图像中的攻击区域,基于攻击区域和标识信息,得到第三组训练数据,此步骤是为了获得攻击人脸的局部信息;

步骤S304:对第一组训练数据中的人脸图像进行分块并随机排列,基于排列后的人脸图像和标识信息,得到第四组训练数据,此步骤是为了避免活体识别模型学习到人脸的id信息;

上述步骤S302和步骤S304可以是第一训练阶段,第一训练阶段可以使模型学习到人脸的全局信息,并可以避免学习到人脸的ID信息。

步骤S305:基于第一组训练数据和第四组训练数据对初识神经网络模型进行训练得到第一模型参数,此步骤的训练可以使得模型学习到人脸的全局信息并可以避免模型学习到人脸的id信息;

第二训练阶段是在第一训练阶段训练结束之后所进行的下一个训练阶段,上述步骤S303和步骤S305可以是第二训练阶段,第二训练阶段可以使模型学习到人脸的局部信息。

步骤S306:基于第一模型参数和第三组训练数据对初识神经网络模型继续训练,得到最终神经网络模型,此步骤的训练可以使模型学习到人脸的局部信息。

上述步骤主要分为三部分:准备训练数据、数据增强以及模型训练,准备训练数据,数据来源主要是公开的人脸活体数据集和业务场景的人脸活体数据,每条数据包含了一张存在人脸的图片及其对应的标签,0代表攻击,1代表活体。数据增强,是流程中最重要的一环,具体分为三部分:一、首先进行人脸72关键点检测,随即基于关键点将图片中的人脸区域确定并截取出,标记为集合a;二、为了获得攻击人脸的局部信息,对于集合a中的部分攻击数据,人工将其中的攻击区域确定并截取出,标记为集合b,常见的情况包括:屏幕攻击可将摩尔纹区域和电子设备边缘区域截取,面具攻击可将面具区域截取等等;三、为了避免活体识别模型学习到人脸的id信息,对于集合a中的数据,可以将其中的图片进行分块,例如可以分为3*3块,然后9块随机排列,构造新图,构造的数据标记为集合c。模型训练,分为两阶段。阶段一,将集合a和集合c中的数据作为训练集,常规训练二分类活体识别模型。阶段二,将集合b中的数据作为训练集合,基于阶段1训练的模型参数继续训练,得到最终的活体分类模型。阶段一的训练可以使得模型学习到人脸的全局信息并可以避免模型学习到人脸的id信息;阶段二的训练可以使得模型学习到人脸的局部信息。通过上述步骤,可以使训练模型学习到人脸的全局信息和人脸的局部信息,并且可以避免模型学习到人脸的ID信息。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。

根据本公开的又一方面,提供了一种鉴别人脸图像的方法,包括:获取待鉴别人脸图像;利用目标神经网络模型对待鉴别人脸图像进行分析,确定待鉴别人脸图像中是否存在活体人脸;其中,目标神经网络模型通过上述任意一项的模型训练方法训练得到。

上述的待鉴别人脸图像可以是需要进行人脸识别的图片,其应用场景可以是在需要进行身份认证的场景中,例如在银行需要进行身份验证时,待鉴别人脸图像可以是拍摄的需要进行人脸识别的照片,目标神经网络通过模型参数可以对待鉴别图片进行分析,确认待鉴别图像中是否存在活体人脸。

在一种可选的实施例中,当获取到待鉴别的人脸图像后,可以利用目标神经网络对待鉴别人脸图像进行分析,例如,可以分析待鉴别人脸图像的全部信息,还可以分析待鉴别人脸图像的局部信息,通过目标神经网络模型中的参数,可以确定待鉴别人脸图像中是否存在活体人脸图像。

在本公开中还提供了一种模型训练的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本公开其中一实施例的一种模型训练的装置的结构框图,如图4所示,一种模型训练的装置400包括:获取模块401,用于获取样本图像和样本图像对应的标识信息,其中,标识信息用于表示样本图像中是否存在活体人脸;构建模块402,用于基于样本图像和标识信息,构建第一组训练数据;重配置模块403,用于对第一组训练数据进行重配置,得到第二组训练数据;训练模块404,用于基于第一组训练数据和第二组训练数据对初始神经网络模型进行训练,得到目标神经网络模型。

可选地,构建模块包括:截取单元,用于基于目标关键点对样本图像进行截取,得到第一人脸图像;构建单元,用于基于第一人脸图像和标识信息构建第一组训练数据。

可选地,重配置模块包括:筛选单元,用于基于标识信息对第一人脸图像进行筛选,得到第二人脸图像,其中,第二人脸图像中不存在活体人脸;截取单元,用于截取第二人脸图像的第一区域,得到第三人脸图像;第一构建单元,用于基于第三人脸图像和标识信息构建第三组训练数据。

可选地,截取单元包括:第一确定子单元,用于确定第二人脸图像的攻击类型,其中,攻击类型用于表示第二人脸图像伪造活体人脸的方式;第二确定子单元,用于基于攻击类型确定第二人脸图像的第一区域。

可选地,重配置模块还包括:处理单元,用于对第一人脸图像进行分块处理,得到多个图像块;重组单元,用于对多个图像块进行重组,得到第四人脸图像;第二构建单元,用于基于第四人脸图像和标识信息构建第四组训练数据。

可选地,训练模块包括:第一训练单元,用于基于第一组训练数据和第三组训练数据对初始神经网络模型进行训练,得到第一模型参数;第二训练单元,用于基于第一模型参数对初始神经网络模型进行训练,得到目标神经网络模型。

可选地,第二训练单元包括:第一训练子单元,用于基于第一模型参数对初始神经网络模型的模型参数进行训练,得到中间神经网络模型;第二训练子单元,用于基于第四组训练数据对中间神经网络模型进行训练,得到目标神经网络模型。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

根据本公开的实施例,本公开还提供了一种电子设备,包括存储器和至少一个处理器,该存储器中存储有计算机指令,该处理器被设置为运行计算机指令以执行上述任一项方法实施例中的步骤。

可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本公开中,上述处理器可以被设置为通过计算机程序执行以下步骤:

S1,获取样本图像和样本图像对应的标识信息,其中,标识信息用于表示样本图像中是否存在活体人脸;

S2,基于样本图像和标识信息,构建第一组训练数据;

S3,对第一组训练数据进行重配置,得到第二组训练数据;

S4,基于第一组训练数据和第二组训练数据对初始神经网络模型进行训练,得到目标神经网络模型。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该非瞬时计算机可读存储介质中存储有计算机指令,其中,该计算机指令被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述非易失性存储介质可以被设置为存储用于执行以下步骤的计算机程序:

S1,获取样本图像和样本图像对应的标识信息,其中,标识信息用于表示样本图像中是否存在活体人脸;

S2,基于样本图像和标识信息,构建第一组训练数据;

S3,对第一组训练数据进行重配置,得到第二组训练数据;

S4,基于第一组训练数据和第二组训练数据对初始神经网络模型进行训练,得到目标神经网络模型。

可选地,在本实施例中,上述非瞬时计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

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

在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

以上所述仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。

相关技术
  • 模型训练方法、模型训练装置、存储介质和电子设备
  • 模型训练方法、模型训练平台、电子设备和存储介质
技术分类

06120114724626