基于知识联邦的人脸识别方法、装置、设备、介质及系统与流程

文档序号:20491620发布日期:2020-04-21 22:05阅读:244来源:国知局
基于知识联邦的人脸识别方法、装置、设备、介质及系统与流程

本发明涉及计算机技术领域,尤其涉及一种基于知识联邦的人脸识别方法、装置、设备、介质及系统。



背景技术:

人脸识别技术广泛应用于金融保险、零售、安防和公安等领域,应用于各个领域的人脸识别技术均有跨行业要求,比如在金融行业用户开户时,需要将终端现场即时采集的人脸照与从公安系统中调用的证件照进行比对;或者在安防行业布控时,同样需要将监控摄像头拍摄到的人脸照与公安系统中的证件照进行比对。

但是由于各个领域的人脸数据分布不一致,比如公安系统的证件照、金融行业中复杂场景下的人脸照、安防领域中自然场景下的人脸照的数据分布差异很大,导致由各领域人脸数据集训练所得的人脸识别模型,在应用到不同的应用场景时,模型的泛化能力很差。例如,由安防领域数据集训练所得的人脸识别模型,无法在金融保险行业使用。

而各个行业采集人脸数据均需要遵守个人信息的相关安全规范,使得各自采集的人脸数据无法互通使用,因此,如何打破数据孤岛,将各领域的人脸数据整合起来训练一个通用的人脸识别模型,用以解决跨行业的人脸识别问题迫在眉睫。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种基于知识联邦的人脸识别方法,其通过将人脸识别梯度密文发送至第三方终端,以获得通过知识联邦得到的联邦模型参数密文,进而训练人脸识别模型,根据训练完成的人脸识别模型实现人脸识别。

本发明的目的之一采用以下技术方案实现:

一种基于知识联邦的人脸识别方法,包括以下步骤:

获取人脸数据集,并根据预设参数初始化人脸识别模型;

基于所述人脸数据集训练所述人脸识别模型,得到人脸识别模型梯度;

所述人脸识别模型梯度通过加密,生成人脸识别梯度密文;

发送所述人脸识别梯度密文至第三方终端,使所述人脸识别梯度密文通过解密、知识联邦、加密以得到联邦模型参数密文;

接收所述联邦模型参数密文;

所述联邦模型参数密文通过解密得到联邦模型参数;

基于所述联邦模型参数继续训练所述人脸识别模型,根据训练完成的人脸识别模型对人脸进行识别。

进一步地,所述人脸识别模型梯度采用parllier算法进行同态加密。

进一步地,基于所述联邦模型参数继续训练所述人脸识别模型,包括:

基于所述联邦模型参数,更新所述人脸识别模型的人脸识别模型参数;

根据所述人脸数据集和更新后的人脸识别模型参数,迭代训练所述人脸识别模型;

当所述人脸识别模型迭代训练的次数等于预设的迭代次数阈值时,得到训练完成的人脸识别模型。

本发明的目的之二在于提供一种基于知识联邦的人脸识别装置,其通过将人脸识别梯度密文发送至第三方终端,以获得通过知识联邦得到的联邦模型参数密文,进而训练人脸识别模型,根据训练完成的人脸识别模型实现人脸识别。

本发明的目的之二采用以下技术方案实现:

一种基于知识联邦的人脸识别装置,其包括:

数据获取模块,用于获取人脸数据集,并根据预设参数初始化人脸识别模型;

训练加密模块,用于基于所述人脸数据集训练所述人脸识别模型,得到人脸识别模型梯度;所述人脸识别模型梯度通过加密,生成人脸识别梯度密文;

联邦模块,用于发送所述人脸识别梯度密文至第三方终端,使所述人脸识别梯度密文通过解密、知识联邦、加密以得到联邦模型参数密文;

人脸识别模块,用于接收所述联邦模型参数密文;所述联邦模型参数密文通过解密得到联邦模型参数;基于所述联邦模型参数继续训练所述人脸识别模型,根据训练完成的人脸识别模型对人脸进行识别。

本发明的目的之三在于提供执行发明目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时本发明目的之一的基于知识联邦的人脸识别方法。

本发明的目的之四在于提供存储发明目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明目的之一的基于知识联邦的人脸识别方法。

本发明的目的之五在于提供一种基于知识联邦的人脸识别系统,其通过第三方终端对各个机构终端发送的人脸识别梯度密文,进行解密、知识联邦和加密,得到联邦模型参数密文并发送至机构终端,各个机构终端基于联邦模型参数密文更新本地的人脸识别模型参数,进而训练本地的人脸识别模型,根据训练完成的人脸识别模型实现人脸识别。

本发明的目的之五采用以下技术方案实现:

一种基于知识联邦的人脸识别系统,其包括:至少二个机构终端和至少一个第三方终端;

其中,所述机构终端为本发明的目的之三提供的电子设备;所述第三方终端用于初始化联邦模型;接收人脸识别梯度密文,并对所述人脸识别梯度密文进行解密和知识联邦,得到联邦后的梯度,基于所述联邦后的梯度更新联邦模型参数,更新后的联邦模型参数通过加密,生成联邦模型参数密文并发送至所述机构终端。

进一步地,所述机构终端上的人脸识别模型和所述联邦模型采用相同的模型,基于相同的预设参数初始化所述人脸识别模型和所述联邦模型。

进一步地,所述机构终端完成初始化所述人脸识别模型时,发送部署成功指令至所述第三方终端;所述第三方终端发送训练启动指令至各个机构终端,使各个机构终端同时开始训练所述人脸识别模型。

进一步地,当所述机构终端为n个时,所述第三方终端对所述人脸识别梯度密文进行解密和知识联邦,得到联邦后的梯度,基于所述联邦后的梯度更新联邦模型参数,包括:

所述人脸识别梯度密文通过解密,得到n个机构终端的人脸识别模型梯度;

计算所述n个机构终端的人脸识别模型梯度的平均值或中值,得到所述联邦后的梯度;

当前的联邦模型参数和所述联邦后的梯度通过加法计算,得到更新后的联邦模型参数。

相比现有技术,本发明的有益效果在于:

本发明通过加密保证用户原始数据不离开本地机构终端,能够有效保护数据隐私;基于知识联邦训练所得的人脸识别模型通用性更强,适用于各种领域机构终端的业务场景;系统中的机构终端规模不受限制,可以灵活选择加入或退出人脸识别模型的联邦训练。

附图说明

图1为本发明实施例一的基于知识联邦的人脸识别方法流程图;

图2为本发明实施例二的基于知识联邦的人脸识别装置的结构框图;

图3为本发明实施例三的电子设备的结构框图;

图4为本发明实施例五的基于知识联邦的人脸识别系统示意图。

具体实施方式

以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。

实施例一

实施例一提供了一种基于知识联邦的人脸识别方法,旨在通过将人脸识别梯度密文发送至第三方终端,以获得通过知识联邦得到的联邦模型参数密文,进而训练人脸识别模型,根据训练完成的人脸识别模型实现人脸识别。该方法通过加密保证了用户原始数据不离开本地机构终端,能够有效保护数据隐私,训练所得的人脸识别模型通用性强,适用于各种领域的业务场景进行人脸识别。

请参照图1所示,一种基于知识联邦的人脸识别方法,包括以下步骤:

s110、获取人脸数据集,并根据预设参数初始化人脸识别模型。

本地机构终端采用的人脸数据集可以是从一种行业已有的人脸数据库中获取的数据集,也可以是一种行业即时采集的人脸数据集,该种行业不限于金融保险、零售、安防、公安行业中的一种。

机构终端采用的人脸识别模型为常见的深度学习神经网络,不限于mlp、cnn、rnn中的一种。第三方终端上的联邦模型与各个机构终端上部署的人脸识别模型采用相同的模型。

人脸识别模型的初始化包括对模型参数初始化和训练过程中一些常用参数的设置,预设参数包括但不限于优化器参数、训练步长、batch-size、初始化学习率和学习率衰减策略。为了保证后续步骤中,基于第三方终端上知识联邦的本地模型训练时,各个机构终端上的模型能够稳定地收敛,初始化设置的各个参数在每个机构终端均要一致。

s120、基于人脸数据集训练人脸识别模型,得到人脸识别模型梯度。

通过常见的模型训练方法,对本地机构终端上的人脸识别模型进行训练,比如可以基于多个任务训练人脸识别模型计算得到人脸识别模型梯度,例如,申请号为cn201711290768.7的中国发明专利公开了一种人脸识别方法、装置、计算机设备和可读存储介质;也可以通过训练特征提取网络与分类网络进而获得人脸识别模型梯度,例如,申请号为cn201811550968.6的中国发明专利公开了一种基于深度学习的人脸识别方法及装置,对人脸识别模型的训练不限于以上提到的训练方法。

本实施例中,根据预设的batch-size参数,从人脸数据集中选取一次训练所需的人脸样本数据。将一个batch的人脸样本数据输入人脸识别模型,对人脸识别模型进行训练。人脸识别模型通过内层学习和外层学习进行训练。在内层学习中,针对多个划分任务中的单次任务,基于预设的损失函数和梯度下降算法,训练人脸识别模型,得到每个单次任务的损失值;在外层学习中,基于各个任务对应的损失值对人脸识别模型参数进行全局优化,进而得到人脸识别模型梯度。

本地机构终端每训练完一个batch的人脸样本数据,得到的人脸识别模型梯度可以准确地包含一个batch的本地人脸样本数据的数据特征。

s130、人脸识别模型梯度通过加密,生成人脸识别梯度密文。

本地机构终端每训练完一个batch的人脸样本数据后,将得到的人脸识别模型梯度进行加密,加密后的人脸识别模型梯度被发送至第三方终端,使得用户原始数据不离开本地终端机构,能有效保护用户的数据隐私。

在本实施例中,采用同态加密算法对人脸识别模型梯度进行加密。同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。同态加密可以保证加密后的密文数据在计算时继续保持明文数据的基本性质。

同态加密算法包括但不限于gentry算法、parllier算法中的一种。本实施例中,采用parllier算法对人脸识别模型梯度进行同态加密,获得人脸识别梯度密文。

s140、发送人脸识别梯度密文至第三方终端,使人脸识别梯度密文通过解密、知识联邦、加密以得到联邦模型参数密文。

将人脸识别梯度密文发送至第三方终端,保证用户的原始数据不会离开本地机构终端,能够有效保护本地机构终端用户的数据隐私。

该人脸识别梯度密文和其他机构终端的人脸识别梯度密文通过解密,得到n个机构终端的人脸识别模型梯度。机构终端可以是新增的机构终端,也可以是已有的机构终端,在此不做限定。

解密得到的n个人脸识别模型梯度通过知识联邦,得到联邦后的梯度。知识联邦可以是直接计算n个人脸识别模型梯度的平均值或中值,也可以是对各人脸识别模型梯度截取,截取的权重均在预设的权重区间内,计算截取后的人脸识别模型梯度的平均值或中值,人脸识别模型梯度的联邦方法不限于上述方法。本实施例中,直接计算n个人脸识别模型梯度的平均值,以获得联邦后的梯度。

联邦后的梯度与预设的学习率通过乘法计算,得到的计算结果与第三方终端当前的联邦模型参数相加,获得更新后的联邦模型参数。更新后的联邦模型参数通过加密,获得联邦模型参数密文并反馈至机构终端,确保了数据隐私安全。因为各个机构终端属于不同的行业领域,使得基于该联邦模型参数密文训练完成的人脸识别模型,能够适用于各种机构终端的业务场景,通用性强。

s150、接收联邦模型参数密文,联邦模型参数密文通过解密得到联邦模型参数。

对接收到的联邦模型参数密文,进行解密得到联邦模型参数,该联邦模型参数与加密前的更新后联邦模型参数相同。

s160、基于联邦模型参数继续训练人脸识别模型,根据训练完成的人脸识别模型对人脸进行识别。

根据联邦模型参数,更新人脸识别模型的模型参数。根据本地机构终端一个batch的人脸样本数据,对更新后的人脸识别模型进行迭代训练,重复步骤s120至步骤s140,直到人脸识别模型迭代训练的次数等于预设的迭代次数阈值时,得到训练完成的人脸识别模型。训练完成的人脸识别模型的模型参数是各人脸识别模型梯度通过第三方终端上的知识联邦获得的,符合本地机构终端用户人脸数据的特征,进而实现对本地人脸数据的识别,通用性强,应用方便。

优选地,当新增机构终端或者机构终端新增人脸数据时,可以在当前训练完成的人脸识别模型的基础上,利用新增人脸数据进一步训练人脸识模型,并发送至第三方终端以通过知识联邦,进而获得新的人脸识别模型,有效识别本地人脸数据。

实施例二

实施例二公开了一种对应上述实施例一的一种基于知识联邦的人脸识别装置,为上述实施例的虚拟装置结构,请参照图2所示,包括:

数据获取模块210,用于获取人脸数据集,并根据预设参数初始化人脸识别模型;

训练加密模块220,用于基于所述人脸数据集训练所述人脸识别模型,得到人脸识别模型梯度;所述人脸识别模型梯度通过加密,生成人脸识别梯度密文;

联邦模块230,用于发送所述人脸识别梯度密文至第三方终端,使所述人脸识别梯度密文通过解密、知识联邦、加密以得到联邦模型参数密文;

人脸识别模块240,用于接收所述联邦模型参数密文;所述联邦模型参数密文通过解密得到联邦模型参数;基于所述联邦模型参数继续训练所述人脸识别模型,根据训练完成的所述人脸识别模型对人脸进行识别。

实施例三

图3为本发明实施例三提供的一种电子设备的结构示意图,如图3所示,该电子设备包括处理器310、存储器320、输入装置330和输出装置340;计算机设备中处理器310的数量可以是一个或多个,图3中以一个处理器310为例;电子设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图3中以通过总线连接为例。

存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于知识联邦的人脸识别方法对应的程序指令/模块(例如,基于知识联邦的人脸识别装置中的数据获取模块210、训练加密模块220、联邦模块230和人脸识别模块240)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述实施例一的基于知识联邦的人脸识别方法。

存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置330可用于接收人脸数据集、联邦模型参数密文等。输出装置340可包括显示屏等显示设备。

实施例四

本发明实施例四还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行基于知识联邦的人脸识别方法,该方法包括:

获取人脸数据集,并根据预设参数初始化人脸识别模型;

基于所述人脸数据集训练所述人脸识别模型,得到人脸识别模型梯度;

所述人脸识别模型梯度通过加密,生成人脸识别梯度密文;

发送所述人脸识别梯度密文至第三方终端,使所述人脸识别梯度密文通过解密、知识联邦、加密以得到联邦模型参数密文;

接收所述联邦模型参数密文;

所述联邦模型参数密文通过解密得到联邦模型参数;

基于所述联邦模型参数继续训练所述人脸识别模型,根据训练完成的人脸识别模型对人脸进行识别。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于知识联邦的人脸识别方法中的相关操作。

实施例五

本发明实施例五还提供一种基于知识联邦的人脸识别系统,该系统包括:至少二个机构终端和至少一个第三方终端。

其中,机构终端为上述实施例三提供的电子设备,例如平板电脑;第三方终端用于初始化联邦模型;接收人脸识别梯度密文,并对人脸识别梯度密文进行解密和知识联邦,得到联邦后的梯度,基于联邦后的梯度更新联邦模型参数,更新后的联邦模型参数通过加密,生成联邦模型参数密文并发送至机构终端。机构终端的所属机构不限于安防机构、金融机构、公安机构和零售机构,第三方终端属于中立机构。

各机构终端获取本地机构各自的人脸数据集,并同时部署各个机构终端上的人脸识别模型和第三方终端上的联邦模型。所有人脸识别模型和联邦模型均采用相同的常见深度学习神经网络,不限于mlp、cnn、rnn中的一种。为了保证在联邦训练的过程中,模型能够稳定地收敛,基于相同的预设参数初始化人脸识别模型和联邦模型。预设参数包括模型参数初始化和训练过程中一些常用参数,本实施例中,预设参数包括优化器参数、训练步长、batch-size、初始化学习率和学习率衰减策略。

优选地,当各机构终端完成初始化本地的人脸识别模型时,发送部署成功指令至第三方终端;第三方终端在接收到来自各机构终端的部署成功指令后,发送训练启动指令至各个机构终端,使各个机构终端同时开始训练人脸识别模型。

根据预设的batch-size参数,各机构终端从本地的人脸数据集中选取一次训练所需的人脸样本数据,将一个batch的人脸样本数据输入人脸识别模型,对人脸识别模型进行训练。

各机构终端通过相同的常见模型训练方法训练人脸识别模型,比如可以基于多个任务训练人脸识别模型计算得到人脸识别模型梯度,例如,申请号为cn201711290768.7的中国发明专利公开了一种人脸识别方法、装置、计算机设备和可读存储介质;也可以通过训练特征提取网络与分类网络进而获得人脸识别模型梯度,例如,申请号为cn201811550968.6的中国发明专利公开了一种基于深度学习的人脸识别方法及装置,对人脸识别模型的训练不限于以上提到的训练方法。

本实施例中,人脸识别模型通过内层学习和外层学习进行训练。在内层学习中,针对多个划分任务中的单次任务,基于预设的损失函数和梯度下降算法,训练人脸识别模型,得到每个单次任务的损失值;在外层学习中,基于各个任务对应的损失值对人脸识别模型参数进行全局优化,进而得到人脸识别模型梯度。各机构终端的人脸识别模型梯度可以准确地包含本地人脸数据的数据特征。

各机构终端每训练完一个batch的人脸样本数据后,将得到的人脸识别模型梯度进行加密,生成人脸识别梯度密文。采用同态加密算法进行加密,可以保证加密后的密文数据在计算时继续保持明文数据的基本性质。同态加密算法包括但不限于gentry算法、parllier算法中的一种。本实施例中,采用parllier算法对各机构终端的人脸识别模型梯度进行同态加密。

请参照图4所示,当机构终端为n个时,n个机构终端均向第三方终端发送各自的人脸识别梯度密文,保证了用户原始数据不会离开本地机构终端,能够有效保护本地用户的数据隐私。第三方终端对接收到的各人脸识别梯度密文进行解密,得到n个机构终端的人脸识别模型梯度,并进一步通过知识联邦,计算n个机构终端的人脸识别模型梯度的平均值或中值,得到联邦后的梯度。本实施例中,直接计算n个机构终端的人脸识别模型梯度的平均值。当前的联邦模型参数和联邦后的梯度通过加法计算,得到更新后的联邦模型参数,并通过加密得到联邦模型参数密文,反馈至各个机构终端,确保了数据隐私安全。

各个机构终端对接收到的联邦模型参数密文,进行解密得到联邦模型参数。根据联邦模型参数,更新本地机构终端上人脸识别模型的模型参数,并根据本地的人脸数据集对更新后的人脸识别模型进行迭代训练。当人脸识别模型迭代训练的次数等于预设的迭代次数阈值时,得到训练完成的人脸识别模型,该人脸识别模型符合本地人脸数据的数据特征。各机构终端根据训练完成的人脸识别模型,对本地人脸数据进行识别。

该系统通过加密保证用户原始数据不离开本地终端,能够有效保护数据隐私,并且参与联邦训练的机构终端规模不受限制,可以灵活选择加入或退出人脸识别模型的联邦训练,通过联邦训练所得的人脸识别模型通用性强,适用于不同领域的机构终端进行人脸识别的业务场景。

实施例六

实施例六是对实施例五的应用说明,该系统包括安防机构终端a、金融机构终端b、公安机构终端c和第三方终端d。安防机构终端a、金融机构终端b和公安机构终端c各拥有10000个人脸数据的人脸数据集。

机构终端a、机构终端b和机构终端c上部署的人脸识别模型和第三方终端d的联邦模型均选用resnet50作为基础网络。预设参数包括损失函数为arcface、优化器为sgd、初始化学习率设置为0.01、训练epoch为100、学习率衰减方式为每隔25个epoch除以10。按照以上预设参数对各机构终端上的人脸识别模型和联邦模型进行初始化。

优选地,各机构终端初始化完成后时,向第三方终端发送部署成功指令,第三方终端发送训练启动指令至各机构终端,各个机构终端同时开始训练人脸识别模型。

机构终端a、机构终端b和机构终端c计算出各自的人脸识别模型梯度,经加密后发送至第三方终端d。第三方终端d对接收到的三个机构终端的人脸识别梯度密文进行解密,解密得到的人脸识别模型梯度通过知识联邦,得到联邦后的梯度,基于该联邦后的梯度更新第三方终端d的联邦模型参数,更新后的联邦模型参数经过加密后发送至各机构终端。机构终端a、机构终端b和机构终端c对接收到的联邦模型参数密文进行解密,根据解密得到的联邦模型参数更新本地模型,并按照上述同样的流程继续训练人脸识别模型,直至模型迭代训练的次数等于预设的迭代次数阈值,完成模型训练。

安防机构终端a、金融机构终端b、公安机构终端c根据训练完成的人脸识别模型,分别对本地的人脸数据进行识别。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述基于知识联邦的人脸识别装置实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1