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

构建活体识别模型和活体识别的方法、装置、设备及介质与流程

2023-02-04 16:44:09 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种构建活体识别模型和活体识别的方法、装置、设备及介质。


背景技术:

2.随着人工智能技术的发展,人的面部特征作为一种屏幕锁定和解锁的途径。通过设置人脸识别系统,可以在智能设备进行人脸的录入和识别,以实现用户基于人脸特征来对智能设备进行解锁。然而,在人脸支付、人脸安检和视频监控等领域,为了提高人脸识别的安全性,需要人脸识别系统能够区分真实的人脸和一些携带有人脸信息的伪造脸,以避免人脸识别系统遭受恶意攻击而导致一系列的损失。
3.在实现本公开构思的过程中,发明人发现相关技术中至少存在如下技术问题:相关技术中,在已有的人脸防伪方案中,防伪任务常常被建模为一个二分类问题,将真人作为一类,任何类型的攻击作为一类,这种二分类的建模方式将各种不同的攻击视作一类,混合的这一攻击类中需要学习到的特征模态就很多,导致混合攻击类的机器学习过程很复杂,机器学习的结果较差。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种构建活体识别模型和活体识别的方法、装置、设备及介质。
5.第一方面,本公开的实施例提供了一种构建活体识别模型的方法。上述构建活体识别模型的方法包括:获取目标对象经拍摄得到的图像数据,上述目标对象包含:活体对象和多类物理介质承载的非活体对象;将上述活体对象的图像数据对应于表征活体类别的第一标签;基于物理介质的类型差异,将上述非活体对象的图像数据对应于表征非活体类别的多类第二标签;将上述图像数据输入至机器学习模型中,以进行训练;以及基于上述第一标签和多类上述第二标签来对上述机器学习模型进行多分类训练,以得到活体识别模型。
6.根据本公开的实施例,上述基于上述第一标签和多类上述第二标签来对上述机器学习模型进行多分类训练,以得到活体识别模型,包括:在上述机器学习模型的每轮训练中,针对输入的当前图像数据,输出得到上述当前图像数据分别属于活体类别和属于上述多类物理介质中各类物理介质对应的非活体类别的各个概率值;根据上述各个概率值确定针对当前图像数据的目标损失函数,上述目标损失函数用于表征上述当前图像数据的预测类别与上述当前图像数据的标签对应的类别之间的偏离程度;以及在上述目标损失函数的收敛程度符合设定值的情况下停止训练,并得到训练完成的活体识别模型。
7.根据本公开的实施例,上述目标损失函数为交叉熵损失函数和三元中心损失函数的加权和。
8.根据本公开的实施例,上述交叉熵损失函数作为主损失函数,上述三元中心损失函数作为辅助损失函数,上述目标损失函数为上述辅助损失函数和权重系数的乘积与上述
主损失函数的加和,上述权重系数的取值介于0~1之间且能够保证上述目标损失函数收敛。
9.根据本公开的实施例,上述基于物理介质的类型差异,将上述非活体对象的图像数据对应于表征非活体类别的多类第二标签,包括:基于物理介质的属性类型差异,将上述物理介质划分为多个主类别;基于物理介质的形状、材料至少之一的差异,对每个主类别下的物理介质进行细分,得到细分类别;其中,上述主类别和上述细分类别均属于非活体类别;针对每个非活体对象的图像数据,确定当前非活体对象的物理介质所对应的目标主类别或目标细分类别;以及将当前非活体对象的图像数据对应于表征上述目标主类别或上述目标细分类别的第二标签。
10.根据本公开的实施例,上述主类别包括:纸质介质、屏幕介质、立体模型用材料介质;根据上述纸质介质的材料、形状差异,将上述纸质介质划分为以下细分类别的两种或更多种:普通纸质、弯曲纸质、裁剪纸质、扣洞纸质、普通照片、弯曲照片、裁剪照片、扣洞照片;根据上述屏幕介质的类型差异,将上述屏幕介质划分为以下细分类别的两种或更多种:台式机屏幕、平板电脑屏幕、手机屏幕、笔记本电脑屏幕;根据上述立体模型用材料介质的材料差异,将上述立体模型用材料介质划分为以下细分类别的两种或更多种:石膏模型、木质模型、金属模型、塑料模型。
11.第二方面,本公开的实施例提供了一种活体识别的方法。上述活体识别的方法包括:获取待检测的图像数据,上述待检测的图像数据中包含待识别对象;将上述待检测的图像数据输入至活体识别模型中,以输出得到上述待识别对象的分类结果为活体类别、或非活体类别所对应的物理介质类型;其中,上述活体识别模型由上述构建活体识别模型的方法构建得到。
12.第三方面,本公开的实施例提供了一种用于构建活体识别模型的装置。上述用于构建活体识别模型的装置包括:第一数据获取模块、标签关联模块、输入模块和训练模块。上述第一数据获取模块用于获取目标对象经拍摄得到的图像数据,上述目标对象包含:活体对象和多类物理介质承载的非活体对象。上述标签关联模块用于将上述活体对象的图像数据对应于表征活体类别的第一标签;以及用于基于物理介质的类型差异,将上述非活体对象的图像数据对应于表征非活体类别的多类第二标签。上述输入模块用于将上述图像数据输入至机器学习模型中,以进行训练。上述训练模块用于基于上述第一标签和多类上述第二标签来对上述机器学习模型进行多分类训练,以得到活体识别模型。
13.第四方面,本公开的实施例提供了一种用于活体识别的装置。上述用于活体识别的装置包括:第二数据获取模块和识别模块。上述第二数据获取模块用于获取待检测的图像数据,上述待检测的图像数据中包含待识别对象。上述识别模块用于将上述待检测的图像数据输入至活体识别模型中,以输出得到上述待识别对象的分类结果为活体类别、或非活体类别所对应的物理介质类型。其中,上述活体识别模型由上述构建活体识别模型的方法构建得到或者由上述用于构建活体识别模型的装置构建得到。
14.第五方面,本公开的实施例提供了一种电子设备。上述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如上所述的构建活体识别模型的方法或活体识别的方法。
15.第六方面,本公开的实施例提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的构建活体识别模型的方法或活体识别的方法。
16.本公开实施例提供的上述技术方案与现有技术相比至少具有如下优点的部分或全部:
17.(1)通过基于物理介质的类型差异,将非活体对象的图像数据对应于表征非活体类别的多类第二标签,在进行机器学习模型的训练时,根据活体对象的第一标签和非活体对象的多类第二标签进行多分类学习,对于每一攻击类别的学习只需要聚焦更少量的特征,任务更加简单,机器学习更加容易且高效率,并且训练后得到的活体识别模型对于活体对象和非活体对象具有较好的区分度。
18.(2)将三分类以上的多分类训练过程,与由交叉熵损失函数和三元中心损失函数的加权和构成的目标损失函数进行结合,使得整体训练过程更为高效、快速且具有良好的收敛效果。其中,基于主损失函数l
ce
的设置,保证输入至机器学习模型的图像数据样本对应输出得到的预测类别尽可能靠近真实的标签所对应的类别;基于辅助损失函数l
tc
的设置,在三类别以上的多类别训练场景下,使得训练过程中输入的图像数据样本与当前类别中心点之间的特征距离呈减小趋势,同时使得输入的图像数据样本与其他类别中心点之间的特征距离的最小值呈增大趋势,从而有效促进类内间距的减小以及类间间距的同时增大,加快了训练的收敛速度,且提升了同类之间聚合、不同类之间区分的效果。
附图说明
19.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
20.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
21.图1示意性示出了适用于本公开实施例的构建活体识别模型的方法和装置的系统架构;
22.图2示意性示出了根据本公开实施例的构建活体识别模型的方法的流程图;
23.图3示意性示出了根据本公开实施例的操作s203的详细实施流程图;
24.图4示意性示出了根据本公开实施例的操作s205的详细实施流程图;
25.图5示意性示出了根据本公开实施例的构建活体识别模型的实施过程示意图;
26.图6示意性示出了采用交叉熵损失函数(cross entropy loss)作为目标损失函数,训练得到的模型在测试集上的可视化特征;
27.图7示意性示出了采用交叉熵损失函数(cross entropy loss)和三元中心损失函数(triplet-center loss)的加权和作为目标损失函数,训练得到的活体识别模型在测试集上的可视化特征;
28.图8示意性示出了根据本公开实施例的活体识别的方法的流程图;
29.图9示意性示出了根据本公开实施例的用于构建活体识别模型的装置的结构框图;
30.图10示意性示出了根据本公开实施例的用于活体识别的装置的结构框图;以及
31.图11示意性示出了本公开实施例提供的电子设备的结构框图。
具体实施方式
32.本公开的实施例提供了一种构建活体识别模型和活体识别的方法、装置、设备及介质。上述构建活体识别模型的方法包括:获取目标对象经拍摄得到的图像数据,上述目标对象包含:活体对象和多类物理介质承载的非活体对象;将上述活体对象的图像数据对应于表征活体类别的第一标签;基于物理介质的类型差异,将上述非活体对象的图像数据对应于表征非活体类别的多类第二标签;将上述图像数据输入至机器学习模型中,以进行训练;以及基于上述第一标签和多类上述第二标签来对上述机器学习模型进行多分类训练(其中对应于至少3类,活体对象一类,物理介质承载的非活体对象至少2类),以得到活体识别模型。
33.上述活体识别模型对上述图像数据进行分类的结果为:活体类别、或上述多类物理介质中的一类物理介质对应的非活体类别。
34.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
35.图1示意性示出了适用于本公开实施例的构建活体识别模型的方法和装置的系统架构。
36.参照图1所示,适用于本公开实施例的构建活体识别模型的方法及装置的系统架构100包括:终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
37.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有图像捕获装置、图片/视频播放类应用等。还可以安装有其他通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
38.终端设备101、102、103可以是显示屏并且支持图片/视频播放的各种电子设备,该电子设备还可以进一步包括图像捕获装置,例如电子设备包括但不限于智能手机、平板电脑、笔记本电脑、台式计算机、无人驾驶汽车、监控设备等等。
39.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所拍摄的图像或视频进行数据处理提供服务支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的图像/视频处理请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。例如,数据处理可以是对终端设备101、102、103所拍摄的图像或视频中的视频帧进行人脸识别处理,以得到上述图像或视频帧中的人脸是真实的人脸还是其他类型的伪人脸。
40.需要说明的是,本公开实施例所提供的构建活体识别模型的方法一般可以由服务器105或具有一定运算能力的终端设备执行。相应地,本公开实施例所提供的构建活体识别
模型的装置一般可以设置于服务器105中或上述具有一定运算能力的终端设备中。本公开实施例所提供的构建活体识别模型的方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的构建活体识别模型的装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
41.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
42.本公开的第一个示例性实施例提供了一种构建活体识别模型的方法。
43.图2示意性示出了根据本公开实施例的构建活体识别模型的方法的流程图。
44.参照图2所示,本公开实施例提供的构建活体识别模型的方法包括以下操作:s201、s202、s203、s204和s205。上述操作s201~s205可以由带有图像捕获装置的终端设备执行,或者由服务器执行。
45.在操作s201,获取目标对象经拍摄得到的图像数据,上述目标对象包含:活体对象和多类物理介质承载的非活体对象。
46.在操作s202,将上述活体对象的图像数据对应于表征活体类别的第一标签。
47.在操作s203,基于物理介质的类型差异,将上述非活体对象的图像数据对应于表征非活体类别的多类第二标签。
48.在操作s204,将上述图像数据输入至机器学习模型中,以进行训练。
49.在操作s205,基于上述第一标签和多类上述第二标签来对上述机器学习模型进行多分类训练,以得到活体识别模型。
50.上述活体识别模型对上述图像数据进行分类的结果为:活体类别、或上述多类物理介质中的一类物理介质对应的非活体类别。
51.上述操作s201中,上述活体对象为真实的对象,例如为真实的人的部位,例如为人脸。上述物理介质承载的非活体对象可以是:照片上的人脸、a4纸上的人脸、屏幕上的人脸(例如手机屏幕上的人脸)、雕像对应的人脸等。这里以人脸作为活体对象的示例,在其他应用场景中,活体对象可以是其他真实的动物,例如为猫、狗、鸟等,物理介质承载的非活体对象为:照片上的猫/狗/鸟、a4纸上的猫/狗/鸟、屏幕上的猫/狗/鸟、雕像对应的猫/狗/鸟等。
52.获取目标对象经拍摄得到的图像数据的途径,可以是由终端设备直接对目标对象进行拍摄,以得到目标对象经拍摄得到的图像数据;也可以是由服务器从终端设备(例如照相机、手机摄像头、或者监控装置)所拍摄的图像、视频的数据库中获取照片、视频帧所对应的图像数据。
53.上述操作s202中,例如将第一标签表示为0,对活体对象的图像数据对应(也可以称为关联)于标签0,标签0表示该活体对象的真实分类为活体类别。应该理解的是,上述标签的数字0作为示例,也可以定义为其他数字,只要数字和表征的含义对应即可。
54.上述操作s203中,根据非活体对象所承载的物理介质的差异,可以将非活体对象的图像数据对应于多个不同的类别标签。示例性的,将非活体对象按照物理介质的差异划分为:普通纸质、弯曲纸质、裁剪纸质、扣洞纸质、台式机屏幕、平板电脑屏幕、手机屏幕、笔记本电脑屏幕、石膏模型、木质模型、金属模型、塑料模型这12种非活体类别,则对应的多类第二标签可以表示为:1、2、3、4、5、6、7、8、9、10、11、12,依次与上述各个类型进行对应,标签
1表示非活体对象的真实分类为普通纸质对应的非活体对象,类似的,标签2、标签3、
……
、标签11、标签12分别对应表示非活体对象的真实分类为弯曲纸质对应的非活体对象、裁剪纸质对应的非活体对象、
……
、金属模型对应的非活体对象、塑料模型对应的非活体对象。
55.上述操作s204中,机器学习模型可以是卷积神经网络,也可以是其他类型的深度学习网络或者其他机器学习模型。
56.上述操作s205中,按照上述的标签示例,可以基于标签0、1、2、
……
、11、12来对机器学习模型进行多分类训练,从而得到活体识别模型。这里的多分类训练中,对应于至少3类,活体对象对应于一类,根据物理介质的种类差异,将物理介质承载的非活体对象对应于至少2类。
57.本公开的实施例中,考虑到攻击者可以基于纸片、屏幕、石膏等物理介质向人脸识别系统呈现合法用户的人脸,当模型对基于物理介质的攻击进行识别时,对于不同的物理介质模型识别依赖的特征并不一样,例如对基于屏幕的攻击,模型主要依赖屏幕呈现时产生的摩尔纹特征来进行识别,而对于基于纸质的攻击,模型主要依赖纸质特有的纤维纹理,颜色域变化等特征来进行识别。因此,基于上述操作s201~s205,通过基于物理介质的类型差异,将非活体对象的图像数据对应于表征非活体类别的多类第二标签,在进行机器学习模型的训练时,根据活体对象的第一标签和非活体对象的多类第二标签进行多分类学习,对于每一攻击类别的学习只需要聚焦更少量且本质性的特征,任务更加简单,机器学习更加容易且高效率。
58.图3示意性示出了根据本公开实施例的操作s203的详细实施流程图。
59.根据本公开的实施例,参照图3所示,上述基于物理介质的类型差异,将上述非活体对象的图像数据对应于表征非活体类别的多类第二标签的操作s203,包括以下子操作:s2031、s2032、s2033和s2034。
60.在操作s2031,基于物理介质的属性类型差异,将上述物理介质划分为多个主类别。
61.在操作s2032,基于物理介质的形状、材料至少之一的差异,对每个主类别下的物理介质进行细分,得到细分类别。其中,上述主类别和上述细分类别均属于非活体类别。
62.在操作s2033,针对每个非活体对象的图像数据,确定当前非活体对象的物理介质所对应的目标主类别或目标细分类别。
63.在操作s2034,将当前非活体对象的图像数据对应于表征上述目标主类别或上述目标细分类别的第二标签。
64.根据本公开的实施例,上述主类别包括:纸质介质、屏幕介质、立体模型用材料介质。
65.根据上述纸质介质的材料、形状差异,将上述纸质介质划分为以下细分类别的两种或更多种:普通纸质、弯曲纸质、裁剪纸质、扣洞纸质、普通照片、弯曲照片、裁剪照片、扣洞照片。
66.根据上述屏幕介质的类型差异,将上述屏幕介质划分为以下细分类别的两种或更多种:台式机屏幕、平板电脑屏幕、手机屏幕、笔记本电脑屏幕。
67.根据上述立体模型用材料介质的材料差异,将上述立体模型用材料介质划分为以下细分类别的两种或更多种:石膏模型、木质模型、金属模型、塑料模型。
68.图4示意性示出了根据本公开实施例的操作s205的详细实施流程图。
69.根据本公开的实施例,参照图4所示,上述基于上述第一标签和多类上述第二标签来对上述机器学习模型进行多分类训练,以得到活体识别模型的操作s205包括以下子操作:s2051、s2052和s2053。
70.在子操作s2051,在上述机器学习模型的每轮训练中,针对输入的当前图像数据,输出得到上述当前图像数据分别属于活体类别和属于上述多类物理介质中各类物理介质对应的非活体类别的各个概率值。
71.在子操作s2052,根据上述各个概率值确定针对当前图像数据的目标损失函数,上述目标损失函数用于表征上述当前图像数据的预测类别与上述当前图像数据的标签对应的类别之间的偏离程度。
72.在子操作s2053,在上述目标损失函数的收敛程度符合设定值的情况下停止训练,并得到训练完成的活体识别模型。
73.根据本公开的实施例,上述目标损失函数为交叉熵损失函数和三元中心损失函数的加权和。
74.其中,三元中心损失函数(triplet-center loss)是结合了三元损失(triplet loss)和中心损失(center loss)的优势,三元损失在学习过程中通过让同一类的样本特征尽可能靠近,不同类别的样本特征尽可能远离,来达到增大类间可分离度的作用。中心损失首先为每一个类别提供一个类中心,在模型学习过程中通过最小化样本与对应类别中心的距离来达到缩小类内方差的目的并使得类内特征更加紧凑,三元中心损失函数既可以加大类间距又可以减小类内方差。
75.图5示意性示出了根据本公开实施例的构建活体识别模型的实施过程示意图。
76.参照图5所示,示例了构建活体识别模型的过程。本实施例中,目标对象包括:真实人脸、普通纸质承载的人脸、弯曲纸质承载的人脸、平板电脑屏幕承载的人脸、手机屏幕承载的人脸、石膏模型承载的人脸和金属模型承载的人脸,获取这些目标对象经拍摄的图像数据,分别采用图像数据0~6来对应上述各个目标对象的图像数据。将获取的大量的图像数据样本划分为训练集和测试集,将训练集中的图像数据样本输入至机器学习模型中,进行多分类训练。训练时可以通过权重共享的卷积神经网络来提取出各个图像数据的特征,对应表示为特征0~6,并基于各个输入的图像数据样本的标签来确定目标损失函数,其中目标损失函数为交叉熵损失函数(cross entropy loss,ce loss)和三元中心损失函数的加权和。经过多次训练后,目标损失函数的收敛程度符合设定值,那么对应训练得到的即为活体识别模型。该活体识别模型能够对测试集中随机输入的一个包含有待识别对象的图像数据进行处理,并得到分类结果为:活体类别、或非活体类别所对应的介质类型为:普通纸质、弯曲纸质、平板电脑屏幕、手机屏幕、石膏模型或金属模型。
77.根据本公开的实施例,可以基于测试集对活体识别模型的准确度进行测试,并根据测试集对活体识别模型的参数进行调整,使得活体识别模型的应用场景泛化。
78.本公开的实施例中,在机器学习模型的训练过程中,通过采用由交叉熵损失函数与三元中心损失函数的加权和构成的目标损失函数,以交叉熵损失函数作为主损失函数,三元中心损失函数作为辅助损失函数(对应要乘以后续的公式(3)中前面的权重系数α)。基于主损失函数的设置,保证输入至机器学习模型的图像数据样本对应输出得到的预测类别
尽可能靠近真实的标签所对应的类别;基于辅助损失函数的设置,在三类别以上的多类别训练场景下,能够有效促进类内间距的减小以及类间间距的同时增大。
79.为了验证本公开实施例的目标损失函数的效果,还对比了采用交叉熵损失函数与三元中心损失函数的加权和作为目标损失函数进行训练得到的模型,与只采用交叉熵损失函数进行训练得到的模型,这两种损失函数所对应的测试结果。
80.图6示意性示出了采用交叉熵损失函数(cross entropy loss)作为目标损失函数,训练得到的模型在测试集上的可视化特征;图7示意性示出了采用交叉熵损失函数(cross entropy loss)和三元中心损失函数(triplet-center loss)的加权和作为目标损失函数,训练得到的活体识别模型在测试集上的可视化特征。
81.参照图6和图7中采用虚线框圈出的部分所示,圈出的部分内表示为真人特征(对应为活体类别),圈出部分之外的区域的其他点表示非真实人脸特征,对应于人脸防伪技术里面的攻击特征(对应为非活体类别)。通过对比图6和图7可以看到,图7对应的活体识别模型的真人特征与攻击特征可分离度更强,而图6对应模型的真人特征被攻击特征包围可分离度更弱,这说明在交叉熵损失函数cross entropy loss的基础上加入三元中心损失函数triplet-center loss可提升模型对攻击和真人的区分力度,证明了采用本公开实施例提供的目标损失函数训练得到的活体识别模型对于活体对象和非活体对象具有较好的区分度。
82.此外,相较于现有技术中的二分类训练场景,本公开实施例所提出的三分类(包含活体类型和至少两种其他非活体类型)的模型训练过程,对于每一攻击类别的学习只需要聚焦更少量且本质性的特征,不仅实现了特征的聚焦;还通过与由交叉熵损失函数和三元中心损失函数的加权和构成的目标损失函数进行结合,使得整体训练过程更为高效、快速且具有良好的收敛效果。
83.下面结合具体实例来描述目标损失函数的表达式。
84.假设训练数据为其中n代表总体样本数量,xi是输入的图像数据样本,yi是xi对应的实际/真实标签,在一实施例中,以上述标签yi∈{0,1,2,3,

,9,10,11,12}作为示例;yi=0代表活体类型,其他数值1~12代表不同的攻击类型,包括:普通纸质、弯曲纸质、裁剪纸质、扣洞纸质、台式机屏幕、平板电脑屏幕、手机屏幕、笔记本电脑屏幕、石膏模型、木质模型、金属模型、塑料模型各自对应的非活体类型。
85.本实施例中,以机器学习模型包括权重共享的卷积神经网络(cnn)进行示例。对于每个图像数据样本xi,在经过权重共享的cnn网络f进行图像特征提取后,输出固定维度的特征f(xi),将f(xi)简记为fi。
86.假设训练中每次参与迭代的样本数为m,m<n,那么每次参与迭代的m个样本对应的三元中心损失函数为:
[0087][0088][0089]
其中,表示输入的图像数据样本xi对应的真实标签yi所在的当前类别的中心点;fi为由cnn网络进行特征提取得到的特征;cj且j≠yi表示除yi之外的其他类别的中心
点;m为三元损失预设的超参数;为fi和的欧式距离,用于表征输入的图像数据样本xi与当前类别中心点之间的特征距离;用于表征输入的图像数据样本xi与其他类别中心点之间的特征距离的最小值。
[0090]
上述公式(1)中,预设的超参数m的设置目的是增大类间间距,具体数值可以预先进行优化。通过多次训练,使得三元中心损失函数l
tc
和交叉熵损失函数加权构成的目标损失函数收敛至预设程度,其中要实现三元中心损失函数的收敛,通过训练模型的参数,使得对应的类内距离减小,对应的类间间距增大。
[0091]
目标损失函数为交叉熵损失函数l
ce
和三元中心损失函数l
tc
的加权和,将目标损失函数表示为l,则l满足以下表达式:
[0092]
l=l
ce
αl
tc
ꢀꢀꢀꢀꢀ
(3),
[0093][0094]
其中,是图像数据样本xi经过cnn网络之后得到的识别为yi这一类的概率(或称为分值);α为三元中心损失函数的权重系数,α的取值为:0<α<1且能够保证目标损失函数收敛。根据实际实验效果可知,在保证目标损失函数收敛的前提下可以对α取尽可能大一些的值,以提提升训练速度。
[0095]
其中,满足以下表达式:
[0096][0097]
其中,表示fi的权重,表示偏置,这里的j的取值为分类结果的各个类别所对应的取值,在这里以标签0~12对应的类别进行示例。
[0098]
本公开实施例提供的由交叉熵损失函数和三元中心损失函数的加权和构成的目标损失函数与三分类以上的多分类训练过程能够很好的匹配。通过以交叉熵损失函数作为主损失函数,三元中心损失函数作为辅助损失函数,参照公式(3)所示。基于主损失函数l
ce
的设置,保证输入至机器学习模型的图像数据样本对应输出得到的预测类别尽可能靠近真实的标签所对应的类别;基于辅助损失函数l
tc
的设置,在三类别以上的多类别训练场景下,使得训练过程中输入的图像数据样本与当前类别中心点之间的特征距离呈减小趋势,同时使得输入的图像数据样本与其他类别中心点之间的特征距离的最小值呈增大趋势,从而有效促进类内间距的减小以及类间间距的同时增大,加快了训练的收敛速度,且提升了同类之间聚合、不同类之间区分的效果。
[0099]
相较而言,本公开目标损失函数与二分类这一场景的适配度不佳,这是由于二分类的类内距离要比多分类的类内间距大,各种类型的攻击作为一个大类,导致类内距离大,不容易聚合,收敛速度非常慢。
[0100]
具体而言,参照公式(1)中的这一项而言,由于二分类中非活体类型所对应的中心点具有很大的波动,导致非活体这一类型对应的数据在训练过程中类内不容易聚合,使得输入的图像数据样本与其他类别中心点(二分类场景下只有一个类别中心点,且不稳定)之间的特征距离的最小值无法按照规律的形式进行增大,导致类间距离不容易分离,收敛的速度非常慢。本公开实施例提出的将三分类以上的多分类训练与交叉熵损
失函数和三元中心损失函数加权形式的目标损失函数进行结合的思路为独创且效果优良。
[0101]
本公开的第二个示例性实施例提供了一种活体识别的方法。
[0102]
图8示意性示出了根据本公开实施例的活体识别的方法的流程图。
[0103]
参照图8所示,本公开实施例提供的活体识别的方法包括以下操作:s801和s802。
[0104]
在操作s801,获取待检测的图像数据,上述待检测的图像数据中包含待识别对象。
[0105]
待检测的图像数据可以是各种类型的应用场景下的包含待识别对象的图像数据,例如在面部识别考勤机器的面部识别打卡的场景下,或者在个人智能设备安全验证的场景下,获取的待检测的图像数据可以是:由真实的用户在周围的背景中拍摄得到的图像数据,或者为不法用户采用人脸照片或者打印有人脸的a4纸在周围的背景中拍摄得到的图像数据。
[0106]
在操作s802,将上述待检测的图像数据输入至活体识别模型中,以输出得到上述待识别对象的分类结果为活体类别、或非活体类别所对应的物理介质类型。
[0107]
通过活体识别模型,可以将输入的待检测的图像数据中的待识别图像进行特征提取和识别,并识别出待识别对象的分类结果是活体类别,还是非活体类别中确定的物理介质类型。
[0108]
其中,上述活体识别模型由第一实施例描述的构建活体识别模型的方法构建得到。
[0109]
由于活体识别模型对于活体对象和非活体对象具有较好的区分度,根据活体对象的第一标签和非活体对象的多类第二标签进行多分类学习,对于每一攻击类别的学习只需要聚焦更少量且本质性的特征,任务更加简单,机器学习更加容易且高效率,并且能够快速提取出待检测的图像数据中的待识别对象的特征信息并对其进行分类,进行活体识别时具有高效率且较高的识别准确度。
[0110]
本公开的第三个示例性实施例提供了一种用于构建活体识别模型的装置。
[0111]
图9示意性示出了根据本公开实施例的用于构建活体识别模型的装置的结构框图。
[0112]
参照图9所示,本公开实施例提供的用于构建活体识别模型的装置900包括:第一数据获取模块901、标签关联模块902、输入模块903和训练模块904。
[0113]
上述第一数据获取模块901用于获取目标对象经拍摄得到的图像数据,上述目标对象包含:活体对象和多类物理介质承载的非活体对象。
[0114]
上述标签关联模块902用于将上述活体对象的图像数据对应于表征活体类别的第一标签;以及用于基于物理介质的类型差异,将上述非活体对象的图像数据对应于表征非活体类别的多类第二标签。上述标签关联模块902包括用于实施上述子操作s2031~s2034的功能模块或子模块。
[0115]
上述输入模块903用于将上述图像数据输入至机器学习模型中,以进行训练。
[0116]
上述训练模块904用于基于上述第一标签和多类上述第二标签来对上述机器学习模型进行多分类训练,以得到活体识别模型。
[0117]
上述活体识别模型对上述图像数据进行分类的结果为:活体类别,或上述多类物理介质中的一类物理介质对应的非活体类别。
[0118]
上述训练模块904包括用于实施上述子操作s2051~s2053的功能模块或子模块。
[0119]
本公开的第四个示例性实施例提供了一种用于活体识别的装置。
[0120]
图10示意性示出了根据本公开实施例的用于活体识别的装置的结构框图。
[0121]
参照图10所示,本公开实施例提供的用于活体识别的装置1000包括:第二数据获取模块1001和识别模块1002。
[0122]
上述第二数据获取模块1001用于获取待检测的图像数据,上述待检测的图像数据中包含待识别对象。
[0123]
上述识别模块1002用于将上述待检测的图像数据输入至活体识别模型中,以输出得到上述待识别对象的分类结果为活体类别、或非活体类别所对应的物理介质类型。
[0124]
其中,上述活体识别模型由上述构建活体识别模型的方法构建得到或者由上述用于构建活体识别模型的装置构建得到。
[0125]
上述用于活体识别的装置1000中可以存储有预先构建的活体识别模型,或者可以与用于构建活体识别模型的装置进行数据通信,来调用构建好的活体识别模型对待检测的图像数据进行处理,以得到待识别对象的分类结果。
[0126]
上述第三个实施例中,第一数据获取模块901、标签关联模块902、输入模块903和训练模块904中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。第一数据获取模块901、标签关联模块902、输入模块903和训练模块904中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一数据获取模块901、标签关联模块902、输入模块903和训练模块904中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0127]
上述第四个实施例中,第二数据获取模块1001和识别模块1002中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。第二数据获取模块1001和识别模块1002中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第二数据获取模块1001和识别模块1002中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0128]
本公开的第五个示例性实施例提供了一种电子设备。
[0129]
图11示意性示出了本公开实施例提供的电子设备的结构框图。
[0130]
参照图11所示,本公开实施例提供的电子设备1100包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101、通信接口1102和存储器1103通过通信总线1104完成相互间的通信;存储器1103,用于存放计算机程序;处理器1101,用于执行
存储器上所存放的程序时,实现如上所述的构建活体识别模型的方或活体识别的方法。
[0131]
本公开的第六个示例性实施例还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的构建活体识别模型的方或活体识别的方法。
[0132]
该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
[0133]
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0134]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0135]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献