CN115497176A - 活体检测模型训练方法、活体检测方法和系统 - Google Patents
活体检测模型训练方法、活体检测方法和系统 Download PDFInfo
- Publication number
- CN115497176A CN115497176A CN202211232853.9A CN202211232853A CN115497176A CN 115497176 A CN115497176 A CN 115497176A CN 202211232853 A CN202211232853 A CN 202211232853A CN 115497176 A CN115497176 A CN 115497176A
- Authority
- CN
- China
- Prior art keywords
- image sample
- detection model
- living body
- image
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/40—Spoof detection, e.g. liveness detection
- G06V40/45—Detection of the body part being alive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
Abstract
本说明书提供的活体检测模型训练方法、活体检测方法和系统,在获取面部图像样本集合后,采用图像模态转换网络将面部图像样本集合中每一面部图像样本转换为红外图像样本和深度图像样本,该图像模态转换网络通过引入随机变量训练得到,以及基于每一面部图像样本、红外图像样本和深度图像样本,对预设活体检测模型进行训练,得到活体检测模型;该方案可以提升活体检测模型的活体检测的准确率。
Description
技术领域
本说明书涉及图像处理领域,尤其涉及一种活体检测模型训练方法、活体检测方法和系统。
背景技术
近年来,随着互联网技术的飞速发展,在人脸识别系统中活体检测已经成为不可缺少的一环,通过活体检测可以有效拦截非活体类型的攻击样本。为了提升活体检测的准确性,往往可以采用多模态数据对活体检测模型进行训练,以便活体检测模型可以适应多场景和多域的适配。现有的活体检测模型训练方法往往是通过多头结构分别提取多个模态的特征,再将多个模态的特征融合,通过损失函数融合进行端到端的优化。
在对现有技术的研究和实践过程中,本发明的发明人发现现有的训练过程往往会产生权重偏移的问题,可能会过渡依赖于某一模态,另外,由于训练数据量的限制,特征分布的多样性也较为局限,使得在实际部署是很难覆盖多种场景和域,因此,导致训练出的活体检测模型的准确率较低。
因此,需要提供一种准确率更高的活体检测模型。
发明内容
本说明书提供的活体检测模型训练方法、活体检测方法和系统,可以提高活体检测模型的活体检测准确率。
第一方面,本说明书提供一种活体检测模型训练方法,包括:一种活体检测模型训练方法,包括:获取面部图像样本集合;采用图像模态转换网络将所述面部图像样本集合中每一面部图像样本转换为红外图像样本和深度图像样本,所述图像模态转换网络通过引入面部图像对应的随机变量训练得到;以及基于所述每一面部图像样本、所述红外图像样本和所述深度图像样本,对预设活体检测模型进行训练,得到活体检测模型。
在一些实施例中,所述图像模态转换网络包括红外图像生成子网络和深度估计子网络,以及所述采用图像模态转换网络将所述面部图像样本集合中每一面部图像样本转换为红外图像样本和深度图像样本,包括:采用所述红外图像生成子网络将所述每一面部图像样本映射为红外图像样本;以及采用所述深度估计子网络对所述每一面部图像样本进行深度估计,得到所述每一面部图像样本对应的深度图像样本。
在一些实施例中,所述采用所述红外图像生成子网络将所述每一面部图像样本映射为红外图像样本,包括:获取所述红外图像生成子网络对应的映射关系矩阵,所述映射关系矩阵包括面部图像与红外图像之间的映射关系;以及基于所述映射关系矩阵,将所述每一面部图像样本映射为红外图像样本。
在一些实施例中,所述红外图像生成子网络的训练包括以下步骤:获取至少一个图像样本对,所述至少一个图像样本对中每一图像样本对包括当前面部图像和所述当前面部图像对应的当前红外图像;基于所述当前面部图像,随机生成所述当前面部图像对应的第一随机变量,并将所述第一随机变量作为第一约束信息;以及基于所述图像样本对对预设红外图像生成子网络进行训练,并通过所述第一约束信息在所述预设红外图像生成子网络的训练中进行扰动,得到所述红外图像生成子网络。
在一些实施例中,所述深度估计子网络的训练包括以下步骤:获取目标图像样本;基于所述目标图像样本,随机生成所述目标图像样本对应的第二随机变量,并将所述第二随机变量作为第二约束信息;以及基于所述目标图像样本对预设深度估计子网络进行训练,并通过所述第二约束信息在所述预设深度估计子网络的训练中进行扰动,得到所述深度估计子网络。
在一些实施例中,所述基于所述每一面部图像样本、所述红外图像样本和所述深度图像样本,对预设活体检测模型进行训练,得到活体检测模型,包括:基于所述每一面部图像样本、所述红外图像样本和所述深度图像样本,在所述面部图像样本集合中选取出候选面部图像样本;对所述候选面部图像样本进行活体标注,以得到目标面部图像样本,所述目标面部图像样本包括对所述预设活体检测模型优化正向的面部图像样本;以及基于所述目标面部图像样本对所述预设活体检测模型进行训练,得到活体检测模型。
在一些实施例中,所述基于所述每一面部图像样本、所述红外图像样本和所述深度图像样本,在所述面部图像样本集合中选取出候选面部图像样本,包括:对所述每一面部图像样本进行活体检测,以在所述面部图像样本集合中选取出第一面部图像样本;基于所述红外图像样本和所述深度图像样本,在当前面部图像样本集合中选取出第二面部图像样本,所述当前面部图像样本集合包括所述面部图像样本集合中除所述第一面部图像样本以外的面部图像样本;以及将所述第一面部图像样本和所述第二面部图像样本作为所述候选面部图像样本。
在一些实施例中,所述对所述面部图像样本进行活体检测,以在所述面部图像样本集合中选取出第一面部图像样本,包括:对所述每一面部图像样本进行活体检测,得到所述每一面部图像样本的第一活体预测值;获取所述第一活体预测值与预设活体阈值的差值;以及在所述面部图像样本集合中选取出所述差值在预设差值范围内的面部图像样本,得到第一面部图像样本。
在一些实施例中,所述基于所述红外图像样本和所述深度图像样本,在当前面部图像样本集合中选取出第二面部图像样本,包括:在所述红外图像样本中选取出所述当前面部图像样集合中每一面部图像样本对应的候选红外图像样本;在所述深度图像样本中选取出所述当前面部图像样本集合中每一面部图像样本对应的候选深度图像样本;分别对所述候选红外图像样本和所述候选深度图像样本进行活体检测,以得到所述当前面部图像样本集合中每一面部图像样本的第二活体预测值;以及基于所述第二活体预测值,在所述当前面部图像样本集合中选取出第二面部图像样本。
在一些实施例中,所述基于所述目标面部图像样本对所述预设活体检测模型进行训练,得到活体检测模型,包括:在所述红外图像样本中选取出所述目标面部图像样本对应的目标红外图像样本;在所述深度图像样本中选取出所述目标面部图像样本对应的目标深度图像样本;以及将所述目标面部图像样本、所述目标红外图像样本和所述目标深度图像样本作为多模态图像组,并基于所述多模态图像组对所述预设活体检测模型进行训练,得到活体检测模型。
在一些实施例中,所述基于所述多模态图像组对所述预设活体检测模型进行训练,得到活体检测模型,包括:采用所述预设活体检测模型对所述多模图像组进行多模态特征提取,以得到所述目标面部图像样本对应的活体特征;基于所述活体特征,确定所述目标面部图像样本的第三活体预测值;以及基于所述第三活体预测值,对所述预设活体检测模型进行收敛,以得到活体检测模型。
在一些实施例中,所述采用所述预设活体检测模型对所述多模图像组进行多模态特征提取,以得到所述目标面部图像样本对应的活体特征,包括:采用预设活体检测模型的特征提取网络对所述多模图像组进行多模态特征提取,得到每一模态对应的高层特征;以及将所述高层特征进行融合,得到所述目标面部图像样本对应的活体特征。
在一些实施例中,所述特征提取网络包括图像提取子网络、红外提取子网络和深度提取子网络,以及所述采用预设活体检测模型的特征提取网络对所述多模态图像组进行多模态特征提取,得到每一模态对应的高层特征,包括:采用所述图像提取子网络对所述目标面部图像样本进行多维特征提取,以得到面部图像特征;采用所述红外提取子网络对所述目标红外图像样本进行多维特征提取,以得到面部红外特征;采用所述深度提取子网络对所述目标深度图像样本进行多维特征提取,以得到面部深度特征;以及将所述面部图像特征、所述面部红外特征和所述面部深度特征分别作为所述高层特征。
在一些实施例中,所述图像提取子网络、所述红外提取子网络和所述深度提取子网络采用权重共享的网络结构。
在一些实施例中,所述采用所述图像提取子网络对所述目标面部图像样本进行多维特征提取,以得到面部图像特征,包括:在所述目标面部图像样本为目标视频帧时,获取所述目标面部图像样本的时间信息;采用所述图像提取子网络对所述目标面部图像样本进行多维特征提取,得到初始面部图像特征;以及采用所述图像提取子网络对所述时间信息进行特征提取,得到时间特征,并将所述初始面部特征和所述时间特征进行融合,得到所述面部图像特征。
在一些实施例中,所述基于所述第三活体预测值,对所述预设活体检测模型进行收敛,以得到活体检测模型,包括:基于所述第三活体预测值,对所述预设活体检测模型的网络参数进行更新,得到初始活体检测模型;将所述预设活体检测模型更新为所述初始活体检测模型;以及返回执行所述获取面部图像样本集合的步骤,直至所述预设活体检测模型收敛时为止,得到所述活体检测模型。
第二方面,本说明书还提供一种活体检测方法,包括:获取目标多模态图像组,所述目标多模态图像组包括多个模态的面部图像;以及将所述目标多模态图像组输入至活体检测模型,输出所述目标多模态图像组对应的活体检测结果,所述活体检测模型根据第一方面所述的活体检测模型训练方法训练得到。
第三方面,本说明书还提供一种活体检测系统,包括:至少一个存储介质,存储有用于进行活体检测的活体检测模型;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述活体检测系统运行时,所述至少一个处理器读取所述活体检测模型并实施如第二方面所述的活体检测方法,所述活体检测模型根据第一方面所述的活体检测模型训练方法训练得到。
由以上技术方案可知,本说明书提供的活体检测模型训练方法、活体检测方法和系统,获取面部图像样本集合后,采用图像模态转换网络将面部图像样本集合中每一面部图像样本转换为红外图像样本和深度图像样本,该图像模态转换网络通过引入面部图像对应的随机变量训练得到,以及基于每一面部图像样本、红外图像样本和深度图像样本,对预设活体检测模型进行训练,得到活体检测模型;由于该方案可以通过图像模态转换网络将面部图像转换为多个模态的图像样本,而且,该图像模态转换网络通过引入随机变量训练得到,使得可以转换出的多样性的多模态数据,扩充训练样本的多样性,从而可以提升活体检测模型的多场景部署能力,因此,可以提升活体检测模型的活体检测的准确率。
本说明书提供的活体检测模型训练方法、活体检测方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的活体检测模型训练方法、活体检测方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本说明书的实施例提供的一种活体检测系统的应用场景示意图;
图2示出了根据本说明书的实施例提供的一种计算设备的硬件结构图;
图3示出了根据本说明书的实施例提供的一种活体检测模型训练方法的流程图;
图4示出了根据本说明书的实施例提供的一种多模态活体攻击检测模型的训练流程;以及
图5示出了根据本说明书的实施例提供的一种活体检测方法的流程图。
具体实施方式
以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
为了方便描述,本说明书将对以下描述将会出现的术语进行如下解释:
活体检测:也可以为活体攻击检测,指在生活识别中,判断用户刷脸过程中的真人与攻击,攻击类型主要包括如照片、手机、屏幕、面具等攻击的技术。
多模态数据:在线下机具刷脸业务中,为了保证高通过率和高安全能力,会采用多种不同模态的摄像头进行采集,因此可以使用不同模态的数据进行多模态特征提取和预测,以实现更好的模型表现。图像模态的类型可以多种,比如,可以包括色彩图像、红外图像和深度图像,等等。
循环对抗数据生成:基于CycleGAN(一种循环对抗网络)的对抗数据生成方式,通过样式模版或输入成对数据学习映射关系,从而生成对应的数据,以扩充训练数据的多样性。
相对深度估计数据生成:基于单目RGB数据估计出相对深度,从而生成深度图的图像处理技术,生成对应的数据,以扩充训练数据的多样性。
在对本说明书具体实施例说明之前,先对本说明书的应用场景进行如下介绍:
本说明书提供的活体检测模型可以应用在任意的活体检测场景中,比如,在人脸支付场景中,可以通过本说明书的活体检测模型对采集的需要进行支付操作的用户的人脸图像进行活体检测;在身份验证场景中,可以通过本说明书的活体检测模型对采集的用户的身份图像进行活体检测;还可以应用在任意的人脸识别场景中,在此就不再一一赘述。
本领域技术人员应当明白,本说明书所述的活体检测模型训练方法、活体检测方法和系统应用于其他使用场景也在本说明书的保护范围内。
图1示出了根据本说明书的实施例提供的一种活体检测系统001的应用场景示意图。活体检测系统001(以下简称系统001)可以应用于任意场景的活体检测,比如,人脸支付场景下的活体检测、身份验证场景下的活体检测、其他人脸识别场景下的活体检测,等等,如图1所示,系统001可以包括目标用户100、客户端200、服务器300以及网络400。
目标用户100可以为触发对目标面部图像进行活体检测的用户,目标用户100可以在客户端200进行活体检测的操作。
客户端200可以为响应于目标用户100的活体检测操作对目标面部图像进行活体检测的设备。在一些实施例中,所述活体检测模型训练方法和活体检测方法可以在客户端200上执行。此时,客户端200可以存储有执行本说明书描述的活体检测模型训练方法和活体检测方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,客户端200可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。如图1所示,客户端200可以与服务器300进行通信连接。在一些实施例中,服务器300可以与多个客户端200进行通信连接。在一些实施例中,客户端200可以通过网络400与服务器300交互,以接收或发送消息等。在一些实施例中,客户端200可以包括移动设备、平板电脑、笔记本电脑、机动车辆的内置设备或类似内容,或其任意组合。在一些实施例中,所述移动设备可包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备或类似设备,或其任意组合。在一些实施例中,所述智能家居装置可包括智能电视、台式电脑等,或任意组合。在一些实施例中,所述智能移动设备可包括智能手机、个人数字辅助、游戏设备、导航设备等,或其任意组合。在一些实施例中,所述虚拟现实设备或增强现实设备可能包括虚拟现实头盔、虚拟现实眼镜、虚拟现实补丁、增强现实头盔、增强现实眼镜、增强现实补丁或类似内容,或其中的任何组合。例如,所述虚拟现实设备或所述增强现实设备可能包括谷歌眼镜、头戴式显示器、VR等。在一些实施例中,所述机动车中的内置装置可包括车载计算机、车载电视等。在一些实施例中,客户端200可以包括图像采集设备,用于采集目标面部图像或者其他模态的面部图像。在一些实施例中,所述图像采集设备可以是二维图像采集设备(比如RGB摄像头),也可以是二维图像采集设备(比如RGB摄像头)和深度图像采集设备(比如3D结构光摄像头、激光探测器,等等)。在一些实施例中,客户端200可以是具有定位技术的设备,用于定位客户端200的位置。
在一些实施例中,客户端200可以安装有一个或多个应用程序(APP)。所述APP能够为目标用户100提供通过网络400同外界交互的能力以及界面。所述APP包括但不限于:网页浏览器类APP程序、搜索类APP程序、聊天类APP程序、购物类APP程序、视频类APP程序、理财类APP程序、即时通信工具、邮箱客户端、社交平台软件等等。在一些实施例中,客户端200上可以安装有目标APP。所述目标APP能够为客户端200采集至少一个模态的面部图像,从而得到面部图像样本集合或者目标面部图像。在一些实施例中,所述目标对象100还可以通过所述目标APP触发活体检测请求。所述目标APP可以响应于所活体检测请求,执行本说明书描述的活体检测方法。在一些实施例中,所述目标对象100还可以通过所述目标APP出发活体检测模型训练请求。所述目标APP可以响应与活体检模型训练请求,执行本说明书描述的活体检测模型训练方法。所述活体检测模型训练方法和活体检测方法将在后面的内容中详细介绍。
服务器300可以是提供各种服务的服务器,例如对客户端200上采集的目标面部图像样本和目标面部图像提供支持的后台服务器。在一些实施例中,所述活体检测模型训练方法和活体检测方法可以在服务器300上执行。此时,服务器300可以存储有执行本说明书描述的活体检测模型训练方法和活体检测方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,服务器300可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。服务器300可以与多个客户端200通信连接,并接收客户端200发送的数据。
网络400用以在客户端200和服务器300之间提供通信连接的介质。网络400可以促进信息或数据的交换。如图1所示,客户端200和服务器300可以同网络400连接,并且通过网络400互相传输信息或数据。在一些实施例中,网络400可以是任何类型的有线或无线网络,也可以是其组合。比如,网络400可以包括电缆网络,有线网络、光纤网络、电信通信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、大都市市区网(MAN)、广域网(WAN)、公用电话交换网(PSTN)、蓝牙网络、ZigBee网络、近场通信(NFC)网络或类似网络。在一些实施例中,网络400可以包括一个或多个网络接入点。例如,网络400可以包括有线或无线网络接入点,如基站或互联网交换点,通过该接入点,客户端200和服务器300的一个或多个组件可以连接到网络400以交换数据或信息。
应该理解,图1中的客户端200、服务器300和网络400的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端200、服务器300和网络400。
需要说明的是,所述活体检测模型训练方法和活体检测方法可以完全在客户端200上执行,也可以完全在服务器300上执行,还可以部分在客户端200上执行,部分在服务器300上执行。
图2示出了根据本说明书的实施例提供的一种计算设备600的硬件结构图。计算设备600可以执行本说明书描述的活体检测模型训练方法和活体检测方法。所述活体检测模型训练方法和活体检测方法在本说明书中的其他部分介绍。当所述活体检测模型训练方法和活体检测方法在客户端200上执行时,计算设备600可以是客户端200。当所述活体检测模型训练方法和活体检测方法在服务器300上执行时,计算设备600可以是服务器300。当所述活体检测模型训练方法和活体检测方法可以部分在客户端200上执行,部分在服务器300上执行时,计算设备600可以是客户端200和服务器300。
如图2所示,计算设备600可以包括至少一个存储介质630和至少一个处理器620。在一些实施例中,计算设备600还可以包括通信端口650和内部通信总线610。同时,计算设备600还可以包括I/O组件660。
内部通信总线610可以连接不同的系统组件,包括存储介质630、处理器620和通信端口650。
I/O组件660支持计算设备600和其他组件之间的输入/输出。
通信端口650用于计算设备600同外界的数据通信,比如,通信端口650可以用于计算设备600同网络400之间的数据通信。通信端口650可以是有线通信端口也可以是无线通信端口。
存储介质630可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘632、只读存储介质(ROM)634或随机存取存储介质(RAM)636中的一种或多种。存储介质630还包括存储在所述数据存储装置中的至少一个指令集。所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的活体检测模型训练方法和活体检测方法的程序、例程、对象、组件、数据结构、过程、模块等等。
至少一个处理器620可以同至少一个存储介质630以及通信端口650通过内部通信总线610通信连接。至少一个处理器620用以执行上述至少一个指令集。当计算设备600运行时,至少一个处理器620读取所述至少一个指令集,并且根据所述至少一个指令集的指示,执行本说明书提供的活体检测模型训练方法和活体检测方法。处理器620可以执行活体检测模型训练方法和活体检测方法包含的所有步骤。处理器620可以是一个或多个处理器的形式,在一些实施例中,处理器620可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(RISC),专用集成电路(ASIC),特定于应用的指令集处理器(ASIP),中心处理单元(CPU),图形处理单元(GPU),物理处理单元(PPU),微控制器单元,数字信号处理器(DSP),现场可编程门阵列(FPGA),高级RISC机器(ARM),可编程逻辑器件(PLD),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中计算设备600中仅描述了一个处理器620。然而,应当注意,本说明书中计算设备600还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中计算设备600的处理器620执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同处理器620联合或分开执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同执行步骤A和B)。
图3示出了根据本说明书的实施例提供的一种活体检测模型训练方法P100的流程图。如前,计算设备600可以执行本说明书的活体检测模型训练方法P100。具体地,处理器620可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书的活体检测模型训练方法P100。如图3所示,方法P100可以包括:
S110:获取面部图像样本集合。
其中,面部图像样本集合中包括多个面部图像样本。所谓面部图像样本可以理解为对预设活体检测模型进行训练的面部图像。该面部图像中可以包括至少一个对象的面部,当对象为人时,也就可以理解为人脸图像。该面部图像的类型可以有多种,比如,可以为色彩面部图像、灰度面部图像或者其他类型的图像。色彩面部图像可以包括各个颜色空间下的面部图像,比如,可以包括RGB(一种颜色空间)图像、HSV(一种颜色空间)图像、YCbCr(一种颜色空间)图像、Lab(一种颜色空间)图像和YUV(一种颜色空间),等等。
其中,获取面部图像样本集合的方式可以有多种,具体可以如下:
例如,处理器620可以接收目标用户100通过终端或客户端200上传的面部图像样本集合,或者,可以从网络或者图像数据库中获取至少一张面部图像,从而得到面部图像样本集合,或者,可以获取原始图像集合,在原始图像集合中筛选出至少一张包含面部的图像,从而得到面部图像样本集合,或者,在面部图像样本集合中的面部图像样本数量较多时,还可以接收模型训练请求,该模型训练请求携带面部图像样本集合的存储地址,基于该存储地址,获取面部图像样本集合。
S120:采用图像模态转换网络将面部图像样本集合中每一面部图像样本转换为红外图像样本和深度图像样本。
其中,图像模态转换网络通过引入面部图像对应的随机变量训练得到。图像模态转换网络包括将图像进行模态转换的网络。模态转换的类型可以有多种,比如,可以包括RGB图像与红外图像(IR)之间的转换,或者,还可以包括RGB图像与深度图像(depth)之间的转换,等等。所谓红外图像可以理解为接收反射或自身发射的红外线而形成的图像。所谓深度图像也被称为距离影像(range image),是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像,它直接反映了景物可见表面的几何形状。图像模态转换网络可以包括红外图像生成子网络和深度估计子网络,该红外图像生成子网络就可以将RGB图像转换为红外图像,该深度估计子网络就可以将RGB图像转换为深度图像。
其中,红外图像样本可以理解为面部图像样本对应的红外图像,深度图像样本就可以理解为面部图像样本对应的深度图像。
其中,采用图像模态转换网络将面部图像样本集合中每一面部图像样本转换为红外图像样本和深度图像样本的方式可以有多种,具体可以如下:
例如,处理器620可以采用红外图像子网络将每一面部图像样本映射为红外图像样本,以及采用深度估计子网络对每一面部图像样本进行深度估计,得到每一面部图像样本对应的深度图像样本,具体可以如下:
S121:采用红外图像子网络将每一面部图像样本映射为红外图像样本。
例如,处理器620可以获取红外图像生成子网络对应的映射关系矩阵,以及基于映射关系矩阵,将每一面部图像样本映射为红外图像样本。
其中,映射关系矩阵包括面部图像与红外图像之间的映射关系。
其中,红外图像生成子网络的网络结构可以有多种,比如,可以包括循环对抗网络(CycleGAN)或者其他对抗网络,等等。以红外图像生成子网络为循环对抗网络为例,该红外图像生成子网络的训练方式可以有多种,比如,处理器620可以获取至少一个图像样本对,该至少一个图像样本对中每一图像样本对包括当前面部图像和当前面部图像对应的当前红外图像,基于当前面部图像,随机生成当前面部图像对应的第一随机变量,并将第一随机变量作为第一约束信息,以及基于图像样本对对预设红外图像生成子网络进行训练,并通过第一约束信息在预设红外图像生成子网络的训练中进行扰动,得到红外图像生成子网络。
其中,图像样本对包括当前面部图像和当前面部图像对应的当前红外图像,获取至少一个图像样本对的方式可以有多种,比如,以当前面部图像为RGB图像为例,处理器620可以采用RGB摄像头和红外摄像头分别对同一个用户进行面部图像采集,从而就可以得到一个图像样本对,依次类推,对至少一个用户进行面部图像采集就可以得到至少一个图像样本对,或者,还可以采用同源摄像头针对至少一个用户同时采集RGB图像和红外图像,从而就可以得到至少一个图像样本对。
在获取至少一个图像样本对之后,便可以基于图像样本对中的当前面部图像,随机生成当前面部对应的第一随机变量。第一随机随机变量可以理解为对当前面部图像进行随机处理后得到的图像。随机生成当前面部图像对应的第一随机变量的方式可以有多种,比如,处理器620可以通过随机生成器对当前面部图像进行随机处理,从而得到当前面部图像对应的第一随机变量。
其中,随机处理的方式可以有多种,比如,可以包括将当前面部图像中任意位置添加一个遮罩(mask),或者,可以将当前面部图像中的任意一个或多个像素值进行调整,或者,可以将当前面部图像随机拆分为多个面部子图像,或者,可以在当前面部图像的任意位置随机添加图像样式,或者,还可以对当前面部图像的图像尺寸或分辨率进行随机调整,等等。在生成第一随机变量之后,便可以将第一随机变量作为第一约束信息。
在得到第一约束信息之后,便可以基于图像样本对对预设红外图像生成子网络进行训练,并通过第一约束信息在预设红外生成子网络的训练中进行扰动,从而得到红外图像生成子网络。
其中,在基于图像样本对对预设红外图像生成子网络进行训练,就可以使得红外图像生成子网络学习到当前面部图像和当前红外图像之间的点对点的映射关系。由于面部图像样本的数量有限,使得红外图像生成子网络输出的红外图像很难覆盖多种场景和域,但是在训练过程中引入了第一随机变量作为约束,就可以大大增加了面部图像的样本类别,从而使得红外图像生成子网络可以学到面部图像和红外图像之间的泛式的映射关系,因此,训练出的红外图像生成子网络生成的红外图像样本就具有高度的多样性,从而实现从面部图像样本(RGB图像)生成多样性的红外图像样本。
S122:采用深度估计子网络对每一面部图像进行深度估计,得到每一面部图像对应的深度图像样本。
例如,处理器620可以采用深度估计子网络对每一面部图像样本进行单目相对深度估计,并基于相对深度估计结果,生成每一面部图像样本对应的深度图像样本。
其中,深度估计子网络的网络结构可以有多种,比如,可以包括MiDaS(一种单目相对深度估计网络)或者其他单目/双目深度估计网络,等等。以深度估计子网络为MiDaS为例,深度估计子网络的训练方式可以有多种,比如,处理器620可以获取目标图像样本,基于目标图像样本,基于目标图像样本,随机生成目标图像样本对应的第二随机变量,并将第二随机变量作为第二约束信息,以及基于目标图像样本对预设深度估计子网络进行训练,并通过第二约束信息在预设深度估计子网络的训练中进行扰动,得到深度估计子网络。
其中,深度估计子网络的训练过程与红外图像生成子网络的训练过程类似,均是通过引入随机变量在训练过程中进行扰动,具体过程可以参见上文所述,在此就不再一一赘述。通过引入的第二随机变量,在利用MiDaS进行单目相对深度估计,从而实现从面部图像样本(RGB图像)生成多样性深度图像样本(depth)。
S130:基于每一面部图像样本、红外图像样本和深度图像样本,对预设活体检测模型进行训练,得到活体检测模型。
例如,处理器620可以基于每一面部图像样本、红外图像样本和深度图像样本,在面部图像样本集合中选取出候选面部图像样本,将候选面部图像样本发送至标注服务器进行标注,并接收标注服务器返回的标注后的目标面部图像样本,基于目标面部图像样本对预设活体检测模型进行训练,得到活体检测模型,具体可以如下:
S131:基于每一面部图像样本、红外图像样本和深度图像样本,在面部图像样本集合中选取出候选面部图像样本。
其中,候选面部图像样本可以理解为通过主动学习框架(Active Learning)在面部图像样本选取出的可能为困难样本(正向优化样本)的面部图像样本。所谓困难样本或正向优化样本可以理解为对预设活体检测模型优化正向的生成样本,也可以理解为检测难度较大的面部图像样本,通过这一类困难样本就可以提升预设活体检测模型的训练精度和训练效率。
其中,基于每一面部图像样本、红外图像样本和深度图像样本,在面部图像样本集合中选取出候选面部图像样本的方式可以有多种,具体可以如下:
例如,处理器620可以对每一面部图像样本进行活体检测,以在面部图像样本集合中选取出第一面部图像样本,基于红外图像样本和深度图像样本,在当前面部图像样本集合中选取出第二面部图像样本,该当前面部图像样本集合包括面部图像样本集合中除第一面部图像样本以外的面部图像样本,以及将第一面部图像样本和第二面部图像样本作为候选面部图像样本。
其中,对每一面部图像样本进行活体检测,以在面部图像样本集合中选取出第一面部图像样本的方式可以有多种,比如,处理器620可以对每一面部图像样本进行活体检测,得到每一面部图像样本的第一活体预测值,获取第一活体预测值与预设活体阈值的差值,以及在面部图像样本集合中选取出差值在预设差值范围内的面部图像样本,得到第一面部图像样本。
其中,对每一面部图像样本进行活体检测的方式可以有多种,比如,处理器620可以通过已训练的活体检测网络对面部图像样本进行活体检测,从而得到每一面部图像样本的第一活体预测值,或者,还可以将每一面部图像样本发送至活体检测服务器,以便活体检测服务器对面部图像样本进行活体检测,并接收活体检测服务器返回的每一面部图像样本的第一活体预测值。
其中,活体预测值可以理解为表征该面部图像样本属于活体的预测值,该活体预测值的类型可以有多种,比如,可以包括活体概率、活体评分、活体分数或者任意可以表征该面部图像样本的活体程度的值,等等。
其中,预设活体阈值可以理解为预先设定的用于判断面部图像样本的用户面部是否为活体的阈值。在获取第一活体预测值与预设活体阈值的差值之后,便可以在面部图像样本集合中选取出差值在预设差值范围内的面部图像样本,从而得到第一面部图像样本。比如,以第一活体预测值为活体概率,预设差值范围为5%为例,就可以在面部图像样本集合中筛选出活体概率与预设活体阈值之间的概率差值在5%以内的面部图像样本,从而得到第一面部图像样本。譬如,以预设活体阈值为70%为例,就相当于在面部图像样本集合中选取出活体概率在65%-75%之间的面部图像样本,从而得到第一面部图像样本。通过该预设差值范围进行限定,就可以在面部图像样本中筛选出与预设活体阈值相接近的面部图像样本,因为这些面部图像样本的检测难度相对较大,可以作为困难样本进行训练。
其中,当前面部图像样本集合可以包括面部图像样本集合中除第一面部图像样本以外的面部图像样本。基于红外图像样本和深度图像样本,在当前面部图像样本集合中选取出第二面部图像样本。选取第二面部图像样本的方式可以有多种,比如,处理器620可以在红外图像样本中选取出当前面部图像样本集合中每一面部图像样本对应的候选红外图像样本,在深度图像样本中选取出当前面部图像样本集合中每一面部图像样本对应的候选深度图像样本,分别对候选红外图像样本和候选深度图像样本进行活体检测,以得到当前面部图像样本集合中每一面部图像样本的第二活体值,以及基于第二活体预测值,在当前面部图像样本集合中选取出第二面部图像样本。
其中,分别对候选红外图像样本和候选深度图像样本进行活体检测,以得到当前面部图像样本集合中每一面部图像样本的第二活体值的方式可以有多种,比如,处理器620可以对候选红外图像样本进行活体检测,得到候选红外图像样本的第一候选活体预测值,对候选深度图像样本进行深度检测,得到深度图像样本的第二候选活体预测值,以及基于第一候选活体预测值和第二候选活体预测值,确定当前面部图像样本集合中每一面部图像样本的第二活体预测值。
其中,基于第一候选活体预测值和第二候选活体预测值,确定当前面部图像样本集合中每一面部图像样本的第二活体预测值的方式可以有多种,比如,处理器620可以直接将第一候选活体预测值或第二候选活体预测值作为当前面部图像样本集合中每一面部图像样本的第二活体预测值,或者,可以将第一候选活体预测值与第二候选活体预测值进行对比,基于对比结果,在第一候选活体预测值和第二候选活体预测值中选取出当前面部图像样本集合中每一面部图像样本的第二活体预测值,或者,还可以获取预设活体加权系数,并基于该活体加权系数,分别对第一候选活体预测值和第二候选活体预测值进行加权,并将加权后的第一候选活体预测值和加权后的第二候选活体预测值相加,从而得到当前面部图像样本集合中每一面部图像样本的第二活体预测值。
在确定出当前面部图像样本集合中每一面部图像样本的第二活体预测值之后,便可以基于第二活体预测值,在当前面部图像样本集合中选取出第二面部图像样本。选取第二面部图像样本的方式与从面部图像样本集合中选取出第一面部图像样本的方式类似,详见上文所述,在此就不再一一赘述。
在选取出第一面部图像样本和第二面部图像样本之后,就可以将第二面部图像样本和第二面部图像样本作为候选面部图像样本。
其中,需要说明的是,在选取第一面部图像样本和第二面部图像样本时,可以采用上一轮迭代训练好的活体检测模型(初始活体检测模型),从而不断提升模型对于多样性场景的覆盖能力,以实现更好的跨场景、跨域部署。
S132:对候选面部图像样本进行活体标注,以得到目标面部图像样本。
其中,目标面部图像样本包括对预设活体检测模型优化正向的面部图像样本,也可以理解为困难样本。目标面部图像样本相对于候选面部图像样本来说,可以理解为对候选面部图像样本进行标注审核之后,进一步得到的困难样本,目标面部图像样本作为困难样本的准确性要高于候选面部图像样本作为困难样本的准确性。
其中,活体标注可以包括在候选面部图像样本中添加表征是否属于活体的标签,还可以包括对候选面部图像样本中的原始活体标签进行审核和更新等操作。
其中,对候选面部图像样本进行活体标注,以得到目标面部图像样本的方式可以有多种,具体可以如下:
例如,处理器620可以将候选面部图像样本发送至活体标注服务器,以便活体标注服务器对候选面部图像进行活体标注,并接收标注服务器返回的标注后的目标面部图像样本,或者,还可以基于候选面部图像样本的活体预测值(第一活体预测值和第二活体预测值),对候选面部图像样本进行活体标注,从而得到目标面部图像样本。
其中,将候选面部图像样本发送至标注服务器进行活体标注之后,在标注服务器侧对候选面部图像样本进行活体标注的方式可以有多种,比如,标注服务器可以通过人工的方式对候选面部图像样本进行活体识别,并基于活体识别结果,对候选面部图像样本进行清洗,并对清洗后的候选面部图像样本添加活体标签,从而得到目标面部图像样本,或者,标注服务器还可以通过活体标注网络对候选面部图像样本进行活体标注,以得到目标图像样本。
其中,通过人工的方式对候选面部图像样本进行审核和活体标注,可以大大增加目标面部图像样本的样本准确性,从而可以在面部图像样本集合中提取出对于预设活体模型优化正向的面部图像样本,并进一步提升训练出的活体检测模型的模型精度。
S133:基于目标面部图像样本对预设活体检测模型进行训练,得到活体检测模型。
例如,处理器620可以在红外图像样本中选取目标面部图像样本对应的目标红外图像样本,在深度图像样本中选取出目标面部图像样本对应的目标深度图像样本,以及将目标面部图像样本、目标红外图像样本和目标深度图像样本作为多模态图像组,并基于多模态图像组对预设活体检测模型进行训练,得到活体检测模型。
其中,多模态图像组可以理解为同一个面部对应的不同模态的面部图像组成的图像组,该多模态图像组可以包括三种图像模态,比如,可以包括二维图像(RGB图像)、红外图像(IR)和深度图像(depth)。基于多模态图像组对预设活体检测模型进行训练的方式可以有多种,比如,处理器620可以采用预设活体检测模型对多模态图像组进行多模态特征提取,以得到目标面部图像样本对应的活体特征,基于活体特征,确定目标面部图像样本的第三活体预测值,并基于第三活体预测值对预设活体检测模型进行收敛,得到初始活体检测模型,以及基于第三活体预测值,对初始活体检测模型进行迭代更新,以得到活体检测模型,具体可以如下:
(1)采用预设活体检测模型对多模态图像组进行多模态特征提取,以得到目标面部图像样本对应的活体特征。
其中,活体特征可以理解为表征目标面部图像样本的面部的活体程度的特征信息。采用预设活体检测模型对多模态图像组进行多模态特征提取,以得到目标面部图像样本对应的活体特征的方式可以有多种,具体可以如下:
例如,处理器620可以采用预设活体检测模型中的特征提取网络对多模态图像组进行多模态特征提取,得到每一模态对应的高层特征,以及将高层特征进行融合,得到目标面部图像样本对应的活体特征。
其中,高层特征可以理解为每一模态的面部图像的高层语义特征,高层语义特征的特征值可以表征为用户所能看见的内容。比如,以面部图像为人脸图像为例,对人脸图像提取出的低层特征可以包括脸部的轮廓、鼻子、眼睛之类的纹理信息,提取出的高层特征就可以显示为一张人脸。高层特征的特征语义信息较为丰富,但是目标位置比较粗略。
其中,预设活体检测模型的特征提取网络可以包括图像提取子网络、红外提取子网络和深度提取子网络。图像提取子网络主要用于提取目标面部图像样本的高层特征,红外提取子网络主要用于提取目标红外图像样本的高层特征,深度提取子网络主要用于提取目标深度图像样本的高层特征。因此,采用预设活体检测模型的特征提取网络对多模态图像组进行多模态特征提取的方式可以有多种,比如,处理器620可以采用图像提取子网络对目标面部图像样本进行多维特征提取,以得到面部图像特征,采用红外提取子网络对目标红外图像样本进行多维特征提取,以得到面部红外特征,采用深度提取子网络对目标深度图像样本进行多维特征提取,以得到面部深度特征,以及将面部图像特征、面部红外特征和面部深度特征分别作为高层特征。
其中,多维特征提取可以理解为采用至少一个网络层进行特征提取,前一个网络层的输出为下一个网络层的输入,每一个网络层所对应的特征维度不同。图像提取子网络、红外提取子网络和深度提取子网络均可以包括至少一个网络层,不同提取子网络的网络层的结构可以相同也可以不同,另外,不同提取子网络的网络层的数量也可以相同,也可以不同。以提取子网络的网络结构为3resblock为例,则提取子网络就可以包括res1、res2和res3这三个网络层。在图像提取子网络、红外提取自网络和深度提取子网络的的网络层的结构相同,且数量也相同时,就可以理解为图像提取子网络、红外提取自网络和深度提取子网络采用权重共享的网络结构。权重共享的网络结构可以理解为在每一个维度对应的网络层进行权重共享,比如,以图像提取子网络包括res1、res2和res3三个网络层,红外提取自网络也包括res1、res2和res3三个网络层,深度提取子网络还包括res1、res2和res3三个网络层为例,则在三个不同的提取子网络的res1中可以进行特征互连,实现权重共享,在三个不同的提取子网络的res2中可以进行特征互连,在三个不同的提取子网络的res3中可以进行特征互连。但是需要说明的是,res1和res2之间是不能进行特征互连的。
其中,采用图像提取子网络对目标面部图像样本进行多维特征提取,以得到面部图像特征的方式可以有多种,比如,在目标面部图像样本为单帧图像时,处理器620可以采用图像提取子网络的第一层的网络层对目标面部图像样本进行特征提取,并将提取出的特征输入至下一个网络层进行特征提取,依次类推,直至最后一层网络层输出面部图像特征,并将面部图像特征作为目标面部图像样本对应的模态的高层特征;在目标面部图像样本为目标视频帧时,还可以获取目标面部图像样本的时间信息,采用图像特征提取子网络对目标面部图像样本进行多维特征提取,得到初始面部图像特征,以及采用图像提取子网络对时间信息进行特征提取,得到时间特征,并将初始面部特征和时间特征进行融合,得到面部图像特征,并将面部图像特征作为目标面部图像样本对应的模态的高层特征。
其中,采用红外提取子网络和深度提取子网络进行多维特征提取的方式与采用图像提取子网络的多维特征提取方式类似,详见上文所述,在此就不再一一赘述。
其中,需要说明的是,本方案中不仅考虑了单帧多模态图像作为输入,还考虑针对视频帧多模态图像作为输入时,引入视频时序信息,从而可以构建基于视频多模态的框架,可以进一步提高活体检测模型的攻击召回能力。
在提取出每一模态对应的高层特征之后,便可以将高层特征进行融合,从而得到目标面部图像样本对应的活体特征。高层特征融合的方式可以有多种,比如,处理器620可以直接将每一模态的高层特征进行拼接或相加,从而得到目标面部图像样本对应的活体特征,或者,还可以分别获取每一模态对应的融合权重,并基于该融合权重,分别对该模态对应的高层特征进行加权,并将加权后的高层特征进行拼接或相加,从而得到目标面部图像样本对应的活体特征。
(2)基于活体特征,确定目标面部样本的第三活体预测值。
例如,处理器620可以采用预设活体检测模型中的活体检测网络,基于活体特征对目标面部图样本进行活体分类预测,从而得到第三活体预测值,或者,有采用预设活体检测模型中的活体检测网络,基于活体特征进行活体评分,从而得到目标面部图像样本的活体评分值,并将该活体评分值作为第三活体预测值,,或者,还可以采用预设活体检测模型中的活体检测网络,基于活体特征,确定目标面部图像样本中的目标面部的活体概率,并将该活体概率作为第三活体预测值,等等。
(3)基于第三活体预测值,对预设活体检测模型进行收敛,以得到活体检测模型。
例如,处理器620可以基于第三活体预测值,对预设活体检测模型的网络参数进行更新,得到初始活体检测模型,将预设活体检测模型更新为初始活体检测模型,以及返回执行获取目标面部图像样本集合的步骤,直至预设活体检测模型收敛时为止,得到活体检测模型。
其中,网络参数可以理解为预设活体检测模型中的各个网络或网络层的超参数。基于第三活体预测值,对预设活体检测模型的网络参数进行更新的方式可以有多种,比如,处理器620可以获取目标面部图像样本的活体标签,并基于活体标签和第三活体预测值,确定目标面部图像样本的目标损失信息,基于该目标损失信息对预设活体检测模型的网络参数进行更新,从而得到初始活体检测模型。
其中,基于目标损失信息对预设活体检测模型的网络参数进行更新的方式可以有多种,比如,处理器620可以采用梯度下降算法,基于目标损失信息对预设活体检测模型的网络参数进行更新,从而得到初始活体检测模型,或者,还可以采用其他网络参数更新算法,基于目标损失信息对预设活体检测模型的网络参数进行更新,从而得到初始活体检测模型。
在得到初始活体检测模型之后,便可以将预设活体检测模型更新为初始活体检测模型,然后,返回执行获取面部图像样本集合的步骤,直至预设活体检测模型收敛时为止,从就可以得到活体检测模型。
其中,需要说明的是,对预设活体检测模型进行训练的过程可以呈现为循环迭代的方式。每一轮训练好的活体检测模型(预设活体检测模型)就可以作为下一轮主动学习框架筛选新的正向数据(目标面部图像样本)的基础,也就说通过主动框架在面部图像样本集合时,可以采用上一轮训练好的活体检测模型(预设活体检测模型)对面部图像样本集合中的面部图像样本及该面部图像样本对应的深度图像样本和红外图像样本进行活体检测,以筛选出正向数据。通过循环迭代的方式就可以不断提升模型对于多样性场景的覆盖能力,以实现更好的跨场景、跨域部署。
其中,本方案训练出的活体检测模型可以理解为是一个多模态活体攻击检测模型,该多模态活体攻击检测可以针对RGB图像、红外图像(IR)和深度图像(depth)等多模态的面部图像进行活体检测。该多模态活体攻击检测模型采用循环对抗和相对深度数据生成的方法训练得到,以图像模态转换网络包括CycleGAN网络和MiDaS网络为例,多模态活体攻击检测模型训练的流程可以如图4所示,可以分为两个阶段,具体可以如下:
(1)数据生成阶段:基于循环对抗的IR数据生成,输入为RGB图像和IR图像成对数据输入到生成网络中,另外,RGB图像进行随机生成器产生随机变量作为约束加入到生成网络的学习中,就可以通过训练得到RGB图像与IR图像之间的映射关系,然后,就可以使用RGB图像通过映射关系矩阵生成对应IR图像。其次,基于相对深度估计的depth数据生成,同样引入随机变量,利用MiDaS进行单目相对深度估计,从而实现从RGB图像生成多样性depth图像。然后,对于扩充后的IR图像和depth图像通过主动学习框架对数据进行筛选,从而提取对于模型优化正向的生成样本,以实现数据多样性的正向扩充,得到最终的训练数据(多模态图像样本组)。
(2)多模态活体攻击检测模型训练阶段:对于三模态数据分别采用基于3resblock的基础模型进行特征提取,再对提取的高层特征进行融合,以实现最终的活体攻击检测预测,并基于预测结果,对预设活体检测模型进行收敛,从而得到活体检测模型。
其中,需要说明的是,以上整体的数据生成与活体攻击检测训练呈现为循环迭代,每个epoch(轮次)下训练好的活体攻击检测模型作为下一轮主动学习框架筛选新的正向数据的基础,从而不断提升模型对于多样性场景的覆盖能力,以实现更好的跨场景、跨域部署。
其中,本方案以随机变量引入作为多样性数据生成的基础,通过循环对抗和相对深度估计分别生成红外图像(IR)和深度图像(depth)等多样性数据,同时通过主动学习框架对生成数据进行迭代筛选,以实现数据多样性的正向扩充。在多模态活体攻击检测模型训练中加入生成的多样性数据,使得模型在实际部署时具有良好的多场景适配和多域适配能力。
在对预设活体检测模型进行训练,得到活体检测模型之后,还可以采用该活体检测模型进行活体检测。
图5示出了根据本说明书的一些实施例提供的一种活体检测方法P200的流程图。如前所述,计算设备600可以执行本说明书所述的活体检测方法P200。具体地,处理器620可以读取存储在其本地存储介质中的指令集,然后根据所述指令集的规定,执行本说明书所述的活体检测方法P200。如图5所示,所述方法P200可以包括:
S210:获取目标多模态图像组。
其中,目标多模态图像组包括多个模态的面部图像,比如,可以包括RGB模态的面部图像、红外模态的红外图像和深度模态的深度图像中的至少两个。
其中,获取目标多模态图像组的方式可以有多种,具体可以如下:
例如,处理器620可以直接接收目标用户100通过终端或客户端200上传的目标多模态图像组,或者,可以在网络或者图像数据库中获取同一个面部对应的多个模态的面部图像,从而得到目标多模态图像组,或者,可以通过多模态图像采集设备对用户的面部进行多模态图像采集,从而得到目标多模态图像组,或者,可以接收目标用户100通过终端或客户端200上传的目标面部图像,并通过图像模态转换网络将目标面部图像转换为面部红外图像和面部深度图像,将目标面部图像、面部红外图像和面部深度图像作为目标多模态图像组,或者,可以在网络或者图像数据库中获取目标面部图像,并通过图像模态转换网络将目标面部图像转换为面部红外图像和面部深度图像将目标面部图像、面部红外图像和面部深度图像作为目标多模态图像组,或者,还可以通过RGB图像采集装置采集目标用户的面部图像,得到目标面部图像,并并通过图像模态转换网络将目标面部图像转换为面部红外图像和面部深度图像,将目标面部图像、面部红外图像和面部深度图像作为目标多模态图像组。
S220:将目标多模态图案组输入至活体检测模型,输出目标多模态图像组对应的活体检测结果。
例如,处理器620可以直接将目标多模态图像组输入至通过图3的训练方法训练的活体检测模型,通过活体检测模型对目标多模态图像组中的多个模态的面部图像进行活体检测,从而给得到目标多模态图像组对应的活体检测结果。
其中,需要说明的是,在采用活体检测模型对多模态图像组进行活体检测时,可以采用活体检测模型中每一模态对应的特征提取子网络提取出对应的模态的面部图像的高层特征,并将高层特征进行融合,得到该多模态图像组对应的活体特征,基于该活体特征,确定出多模态图像组的活体检测结果。活体检测模型中一共可以包括三个模态对应的特征提取子网络,在多模态图像组包括RGB图像、红外图像和深度图像等三个模态时,就可以分别采用三个特征提取子网络提取高层特征,从而确定活体检测结果;在多模态图像组包括两个模态时,就可以采用对应的两个特征提取子网络提取高层特征,并基于这两个模态对应的高层特征确定活体检测结果,还可以在获取除了这两个模态以外的另一个模态的预设高层特征,并将这个预设高层特征与两个模态的高层特征进行融合,从而确定出活体检测结果。
综上所述,本说明书提供的活体检测模型训练方法P100、活体检测方法P200和系统001,获取面部图像样本集合后,采用图像模态转换网络将面部图像样本集合中每一面部图像样本转换为红外图像样本和深度图像样本,该图像模态转换网络通过引入随机变量训练得到,以及基于每一面部图像样本、红外图像样本和深度图像样本,对预设活体检测模型进行训练,得到活体检测模型;由于该方案可以通过图像模态转换网络将面部图像转换为多个模态的图像样本,而且,该图像模态转换网络通过引入随机变量训练得到,使得可以转换出的多样性的多模态数据,扩充训练样本的多样性,从而可以提升活体检测模型的多场景部署能力,因此,可以提升活体检测模型的活体检测的准确率。
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行数据处理的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的活体检测模型训练方法P100和活体检测方法P200的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备600上运行时,所述程序代码用于使计算设备600执行本说明书描述的活体检测模型训练方法P100和活体检测方法P200的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在计算设备600上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在计算设备600上执行、部分地在计算设备600上执行、作为一个独立的软件包执行、部分在计算设备600上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
Claims (18)
1.一种活体检测模型训练方法,包括:
获取面部图像样本集合;
采用图像模态转换网络将所述面部图像样本集合中每一面部图像样本转换为红外图像样本和深度图像样本,所述图像模态转换网络通过引入面部图像对应的随机变量训练得到;以及
基于所述每一面部图像样本、所述红外图像样本和所述深度图像样本,对预设活体检测模型进行训练,得到活体检测模型。
2.根据权利要求1所述的活体检测模型训练方法,其中,所述图像模态转换网络包括红外图像生成子网络和深度估计子网络,以及
所述采用图像模态转换网络将所述面部图像样本集合中每一面部图像样本转换为红外图像样本和深度图像样本,包括:
采用所述红外图像生成子网络将所述每一面部图像样本映射为红外图像样本;以及
采用所述深度估计子网络对所述每一面部图像样本进行深度估计,得到所述每一面部图像样本对应的深度图像样本。
3.根据权利要求2所述的活体检测模型训练方法,其中,所述采用所述红外图像生成子网络将所述每一面部图像样本映射为红外图像样本,包括:
获取所述红外图像生成子网络对应的映射关系矩阵,所述映射关系矩阵包括面部图像与红外图像之间的映射关系;以及
基于所述映射关系矩阵,将所述每一面部图像样本映射为红外图像样本。
4.根据权利要求2所述的活体检测模型训练方法,其中,所述红外图像生成子网络的训练包括以下步骤:
获取至少一个图像样本对,所述至少一个图像样本对中每一图像样本对包括当前面部图像和所述当前面部图像对应的当前红外图像;
基于所述当前面部图像,随机生成所述当前面部图像对应的第一随机变量,并将所述第一随机变量作为第一约束信息;以及
基于所述图像样本对对预设红外图像生成子网络进行训练,并通过所述第一约束信息在所述预设红外图像生成子网络的训练中进行扰动,得到所述红外图像生成子网络。
5.根据权利要求2所述的活体检测模型训练方法,其中,所述深度估计子网络的训练包括以下步骤:
获取目标图像样本;
基于所述目标图像样本,随机生成所述目标图像样本对应的第二随机变量,并将所述第二随机变量作为第二约束信息;以及
基于所述目标图像样本对预设深度估计子网络进行训练,并通过所述第二约束信息在所述预设深度估计子网络的训练中进行扰动,得到所述深度估计子网络。
6.根据权利要求1所述的活体检测模型训练方法,其中,所述基于所述每一面部图像样本、所述红外图像样本和所述深度图像样本,对预设活体检测模型进行训练,得到活体检测模型,包括:
基于所述每一面部图像样本、所述红外图像样本和所述深度图像样本,在所述面部图像样本集合中选取出候选面部图像样本;
对所述候选面部图像样本进行活体标注,以得到目标面部图像样本,所述目标面部图像样本包括对所述预设活体检测模型优化正向的面部图像样本;以及
基于所述目标面部图像样本对所述预设活体检测模型进行训练,得到活体检测模型。
7.根据权利要求6所述的活体检测模型训练方法,其中,所述基于所述每一面部图像样本、所述红外图像样本和所述深度图像样本,在所述面部图像样本集合中选取出候选面部图像样本,包括:
对所述每一面部图像样本进行活体检测,以在所述面部图像样本集合中选取出第一面部图像样本;
基于所述红外图像样本和所述深度图像样本,在当前面部图像样本集合中选取出第二面部图像样本,所述当前面部图像样本集合包括所述面部图像样本集合中除所述第一面部图像样本以外的面部图像样本;以及
将所述第一面部图像样本和所述第二面部图像样本作为所述候选面部图像样本。
8.根据权利要求7所述的活体检测模型训练方法,其中,所述对所述面部图像样本进行活体检测,以在所述面部图像样本集合中选取出第一面部图像样本,包括:
对所述每一面部图像样本进行活体检测,得到所述每一面部图像样本的第一活体预测值;
获取所述第一活体预测值与预设活体阈值的差值;以及
在所述面部图像样本集合中选取出所述差值在预设差值范围内的面部图像样本,得到第一面部图像样本。
9.根据权利要求7所述的活体检测模型训练方法,其中,所述基于所述红外图像样本和所述深度图像样本,在当前面部图像样本集合中选取出第二面部图像样本,包括:
在所述红外图像样本中选取出所述当前面部图像样集合中每一面部图像样本对应的候选红外图像样本;
在所述深度图像样本中选取出所述当前面部图像样本集合中每一面部图像样本对应的候选深度图像样本;
分别对所述候选红外图像样本和所述候选深度图像样本进行活体检测,以得到所述当前面部图像样本集合中每一面部图像样本的第二活体预测值;以及
基于所述第二活体预测值,在所述当前面部图像样本集合中选取出第二面部图像样本。
10.根据权利要求6所述的活体检测模型训练方法,其中,所述基于所述目标面部图像样本对所述预设活体检测模型进行训练,得到活体检测模型,包括:
在所述红外图像样本中选取出所述目标面部图像样本对应的目标红外图像样本;
在所述深度图像样本中选取出所述目标面部图像样本对应的目标深度图像样本;以及
将所述目标面部图像样本、所述目标红外图像样本和所述目标深度图像样本作为多模态图像组,并基于所述多模态图像组对所述预设活体检测模型进行训练,得到活体检测模型。
11.根据权利要求10所述的活体检测模型训练方法,其中,所述基于所述多模态图像组对所述预设活体检测模型进行训练,得到活体检测模型,包括:
采用所述预设活体检测模型对所述多模图像组进行多模态特征提取,以得到所述目标面部图像样本对应的活体特征;
基于所述活体特征,确定所述目标面部图像样本的第三活体预测值;以及
基于所述第三活体预测值,对所述预设活体检测模型进行收敛,以得到活体检测模型。
12.根据权利要求11所述的活体检测模型训练方法,其中,所述采用所述预设活体检测模型对所述多模图像组进行多模态特征提取,以得到所述目标面部图像样本对应的活体特征,包括:
采用预设活体检测模型的特征提取网络对所述多模图像组进行多模态特征提取,得到每一模态对应的高层特征;以及
将所述高层特征进行融合,得到所述目标面部图像样本对应的活体特征。
13.根据权利要求12所述的活体检测模型训练方法,其中,所述特征提取网络包括图像提取子网络、红外提取子网络和深度提取子网络,以及
所述采用预设活体检测模型的特征提取网络对所述多模态图像组进行多模态特征提取,得到每一模态对应的高层特征,包括:
采用所述图像提取子网络对所述目标面部图像样本进行多维特征提取,以得到面部图像特征;
采用所述红外提取子网络对所述目标红外图像样本进行多维特征提取,以得到面部红外特征;
采用所述深度提取子网络对所述目标深度图像样本进行多维特征提取,以得到面部深度特征;以及
将所述面部图像特征、所述面部红外特征和所述面部深度特征分别作为所述高层特征。
14.根据权利要求13所述的活体检测模型训练方法,其中,所述图像提取子网络、所述红外提取子网络和所述深度提取子网络采用权重共享的网络结构。
15.根据权利要求13所述的活体检测模型训练方法,其中,所述采用所述图像提取子网络对所述目标面部图像样本进行多维特征提取,以得到面部图像特征,包括:
在所述目标面部图像样本为目标视频帧时,获取所述目标面部图像样本的时间信息;
采用所述图像提取子网络对所述目标面部图像样本进行多维特征提取,得到初始面部图像特征;以及
采用所述图像提取子网络对所述时间信息进行特征提取,得到时间特征,并将所述初始面部特征和所述时间特征进行融合,得到所述面部图像特征。
16.根据权利要求11所述的活体检测模型训练方法,其中,所述基于所述第三活体预测值,对所述预设活体检测模型进行收敛,以得到活体检测模型,包括:
基于所述第三活体预测值,对所述预设活体检测模型的网络参数进行更新,得到初始活体检测模型;
将所述预设活体检测模型更新为所述初始活体检测模型;以及
返回执行所述获取面部图像样本集合的步骤,直至所述预设活体检测模型收敛时为止,得到所述活体检测模型。
17.一种活体检测方法,其中,包括:
获取目标多模态图像组,所述目标多模态图像组包括多个模态的面部图像;以及
将所述目标多模态图像组输入至活体检测模型,输出所述目标多模态图像组对应的活体检测结果,所述活体检测模型根据如权利要求1至16任一项所述的活体检测模型训练方法训练得到。
18.一种活体检测系统,包括:
至少一个存储介质,存储有用于进行活体检测的活体检测模型;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述活体检测系统运行时,所述至少一个处理器读取所述活体检测模型并实施权利要求17所述的活体检测方法,所述活体检测模型根据如权利要求1-16中任一项所述的活体检测模型训练方法训练得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211232853.9A CN115497176A (zh) | 2022-10-10 | 2022-10-10 | 活体检测模型训练方法、活体检测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211232853.9A CN115497176A (zh) | 2022-10-10 | 2022-10-10 | 活体检测模型训练方法、活体检测方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115497176A true CN115497176A (zh) | 2022-12-20 |
Family
ID=84474906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211232853.9A Pending CN115497176A (zh) | 2022-10-10 | 2022-10-10 | 活体检测模型训练方法、活体检测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115497176A (zh) |
-
2022
- 2022-10-10 CN CN202211232853.9A patent/CN115497176A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110379020B (zh) | 一种基于生成对抗网络的激光点云上色方法和装置 | |
US20210027081A1 (en) | Method and device for liveness detection, and storage medium | |
CN109635783A (zh) | 视频监控方法、装置、终端和介质 | |
CN111523413A (zh) | 生成人脸图像的方法和装置 | |
CN113128481A (zh) | 一种人脸活体检测方法、装置、设备及存储介质 | |
CN112836625A (zh) | 人脸活体检测方法、装置、电子设备 | |
CN115131849A (zh) | 图像生成方法以及相关设备 | |
CN111582155B (zh) | 活体检测方法、装置、计算机设备和存储介质 | |
JP2023131117A (ja) | 結合感知モデルのトレーニング、結合感知方法、装置、機器および媒体 | |
CN114120413A (zh) | 模型训练方法、图像合成方法、装置、设备及程序产品 | |
CN116012612A (zh) | 内容检测方法和系统 | |
CN111382654B (zh) | 图像处理方法和装置以及存储介质 | |
CN115862158A (zh) | 活体检测方法及系统 | |
CN116468113A (zh) | 活体检测模型的训练方法、活体检测方法和系统 | |
CN115578768A (zh) | 图像检测网络的训练方法、图像检测方法和系统 | |
CN115880530A (zh) | 对抗攻击的检测方法和系统 | |
CN114581978A (zh) | 人脸识别的方法和系统 | |
CN115497176A (zh) | 活体检测模型训练方法、活体检测方法和系统 | |
CN116168418A (zh) | 一种图像的多模态目标感知与重识别方法 | |
CN113065521B (zh) | 物体识别方法、装置、设备及介质 | |
CN115909511A (zh) | 活体检测方法和系统 | |
CN112907488A (zh) | 一种图像还原方法、装置、设备和存储介质 | |
CN116110135A (zh) | 活体检测方法和系统 | |
CN115223226A (zh) | 生物识别的方法和系统 | |
CN116343346A (zh) | 活体检测方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |