CN116721315B - 活体检测模型的训练方法、装置、介质及电子设备 - Google Patents

活体检测模型的训练方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN116721315B
CN116721315B CN202310990607.8A CN202310990607A CN116721315B CN 116721315 B CN116721315 B CN 116721315B CN 202310990607 A CN202310990607 A CN 202310990607A CN 116721315 B CN116721315 B CN 116721315B
Authority
CN
China
Prior art keywords
image
living body
mask
sample
encoder
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.)
Active
Application number
CN202310990607.8A
Other languages
English (en)
Other versions
CN116721315A (zh
Inventor
郑天翊
李博
吴双
刘世策
穆国栋
丁守鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310990607.8A priority Critical patent/CN116721315B/zh
Publication of CN116721315A publication Critical patent/CN116721315A/zh
Application granted granted Critical
Publication of CN116721315B publication Critical patent/CN116721315B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7753Incorporation of unlabelled data, e.g. multiple instance learning [MIL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0985Hyperparameter optimisation; Meta-learning; Learning-to-learn
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/40Spoof detection, e.g. liveness detection
    • G06V40/45Detection of the body part being alive

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本申请属于人工智能技术领域,具体涉及一种活体检测模型的训练方法、装置、介质及电子设备。本申请可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。该训练方法包括:遮挡样本图像中的部分区域,得到包括非掩码区域的掩码图像,所述非掩码区域是所述掩码图像中未被遮挡的区域;获取由所述编码器对所述非掩码区域进行特征提取得到的所述非掩码区域的编码特征;获取由解码器对所述非掩码区域的编码特征进行特征还原得到的重建图像;根据所述重建图像与所述样本图像之间的重建损失误差更新所述编码器和所述解码器的模型参数。本申请实施例可以提高活体检测的识别准确性。

Description

活体检测模型的训练方法、装置、介质及电子设备
技术领域
本申请属于人工智能技术领域,具体涉及一种活体检测模型的训练方法、活体检测模型的训练装置、计算机可读介质、电子设备以及计算机程序产品。
背景技术
人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术,通过人脸识别可以对用户身份进行验证,从而为验证通过的真实用户提供服务。然而,非法分子或者假冒用户往往可以通过照片攻击、视频攻击或者模型攻击等各种作弊方式来干扰人脸识别结果,导致识别准确性差的问题。
发明内容
本申请提供一种活体检测模型的训练方法、活体检测模型的训练装置、计算机可读介质、电子设备以及计算机程序产品,目的在于提高活体检测的识别准确性。
根据本申请实施例的一个方面,提供一种活体检测模型的训练方法,所述活体检测模型包括用于对图像提取编码特征的编码器,所述编码特征用于识别所述图像中的对象是否为活体对象;所述训练方法包括:
遮挡样本图像中的部分区域,得到包括非掩码区域的掩码图像,所述非掩码区域是所述掩码图像中未被遮挡的区域;
获取由所述编码器对所述非掩码区域进行特征提取得到的所述非掩码区域的编码特征;
获取由解码器对所述非掩码区域的编码特征进行特征还原得到的重建图像;
根据所述重建图像与所述样本图像之间的重建损失误差更新所述编码器和所述解码器的模型参数。
根据本申请实施例的一个方面,提供一种活体检测模型的训练装置,所述活体检测模型包括用于对图像提取编码特征的编码器,所述编码特征用于识别所述图像中的对象是否为活体对象;所述训练装置包括:
遮挡模块,被配置为遮挡样本图像中的部分区域,得到包括非掩码区域的掩码图像,所述非掩码区域是所述掩码图像中未被遮挡的区域;
编码模块,被配置为获取由所述编码器对所述非掩码区域进行特征提取得到的所述非掩码区域的编码特征;
解码模块,被配置为获取由解码器对所述非掩码区域的编码特征进行特征还原得到的重建图像;
更新模块,被配置为根据所述重建图像与所述样本图像之间的重建损失误差更新所述编码器和所述解码器的模型参数。
在本申请的一些实施例中,基于以上技术方案,所述样本图像包括对应于活体对象的活体样本图像和对应于非活体对象的非活体样本图像;所述活体检测模型的训练装置还包括:
样本对获取模块,被配置为将两个所述样本图像组成样本对,所述样本对包括由两个活体样本图像组成的正样本对或者由一个活体样本图像和一个非活体样本图像组成的负样本对;
特征比较模块,被配置为比较所述样本对中的两个所述样本图像的编码特征,得到所述样本对的特征相似度;
误差确定模块,被配置为根据所述特征相似度,确定所述样本图像的对比损失误差,所述对比损失误差用于表示所述编码器为对应于活体对象的多个所述样本图像提取相似的编码特征的能力;
参数更新模块,被配置为根据所述对比损失误差更新所述编码器的模型参数。
在本申请的一些实施例中,基于以上技术方案,所述参数更新模块进一步被配置为:获取用于表示所述编码器的收敛程度的误差阈值;当所述重建损失误差小于所述误差阈值时,根据所述对比损失误差更新所述编码器的模型参数。
在本申请的一些实施例中,基于以上技术方案,所述误差确定模块进一步被配置为:分别为所述正样本对和所述负样本对分配不同的权重系数;根据所述权重系数和所述特征相似度,确定所述样本图像的对比损失误差。
在本申请的一些实施例中,基于以上技术方案,所述正样本对的权重系数大于所述负样本对的权重系数。
在本申请的一些实施例中,基于以上技术方案,所述正样本对包括同域正样本对和非同域正样本对,所述同域正样本对由两个具有相同域标签的活体图像样本组成,所述非同域正样本对由两个具有不同域标签的活体图像样本组成,所述域标签用于指示所述活体图像样本的类别信息;所述非同域正样本对的权重系数大于所述同域正样本对的权重系数。
在本申请的一些实施例中,基于以上技术方案,所述遮挡模块包括:
图像切分模块,被配置为将样本图像切分为多个具有相同尺寸的图块;
图块遮挡模块,被配置为在所述样本图像中随机遮挡若干个所述图块,得到掩码图像,所述掩码图像包括由被遮挡的图块组成的掩码区域和由未被遮挡的图块组成的非掩码区域。
在本申请的一些实施例中,基于以上技术方案,所述掩码区域的图块数量大于所述非掩码区域的图块数量。
在本申请的一些实施例中,基于以上技术方案,所述编码模块包括:
第一映射模块,被配置为对所述非掩码区域中的各个图块进行线性映射,得到所述图块的语义特征向量;
第一顺序确定模块,被配置为根据所述图块在所述样本图像中的分布位置,确定所述图块的编码顺序;
第一特征提取模块,被配置为获取所述编码器对各个所述图块的语义特征向量进行特征提取得到的所述图块的编码特征;
特征拼接模块,被配置为按照所述图块的编码顺序,将各个所述图块的编码特征拼接组成所述非掩码区域的编码特征。
在本申请的一些实施例中,基于以上技术方案,所述编码模块包括:
第二映射模块,被配置为对所述非掩码区域中的各个图块进行线性映射,得到所述非掩码区域的语义特征向量;
第一位置确定模块,被配置为根据所述图块在所述样本图像中的分布位置,确定所述非掩码区域的位置特征向量;
第二特征提取模块,被配置为获取由所述编码器对所述非掩码区域的语义特征向量和所述非掩码区域的位置特征向量进行特征提取得到的所述非掩码区域的编码特征。
在本申请的一些实施例中,基于以上技术方案,所述解码模块包括:
第二顺序确定模块,被配置为根据所述图块在所述样本图像中的分布位置,确定所述图块的编码顺序;
特征输入模块,被配置为按照所述编码顺序将所述非掩码区域的编码特征以及所述掩码区域的编码特征拼接后输入解码器;
第一特征还原模块,被配置为获取由所述解码器对所述非掩码区域的编码特征以及所述掩码区域的编码特征进行特征还原得到的重建图像。
在本申请的一些实施例中,基于以上技术方案,所述解码模块包括:
第二位置确定模块,被配置为根据所述图块在所述样本图像中的分布位置,确定所述非掩码区域的位置特征向量;
第二特征还原模块,被配置为获取由所述解码器对所述非掩码区域的编码特征以及所述非掩码区域的位置特征向量进行特征还原得到的重建图像。
在本申请的一些实施例中,基于以上技术方案,所述活体检测模型还包括用于根据所述编码特征识别活体图像的分类器;所述活体检测模型的训练装置还包括:
第三特征提取模块,被配置为获取由所述编码器对未被遮挡的样本图像进行特征提取得到的所述样本图像的编码特征;
特征分类模块,被配置为获取由所述分类器对所述样本图像的编码特征进行分类处理得到的识别结果,所述识别结果用于表示所述样本图像是否为活体图像;
参数更新模块,被配置为根据所述识别结果更新所述编码器和所述分类器的模型参数。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的活体检测模型的训练方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为执行所述可执行指令来实现如以上技术方案中的活体检测模型的训练方法。
根据本申请实施例的一个方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如以上技术方案中的活体检测模型的训练方法。
在本申请实施例提供的技术方案中,通过遮挡样本图像中的部分区域,得到包括非掩码区域的掩码图像,获取由所述编码器对所述非掩码区域进行特征提取得到的所述非掩码区域的编码特征,进一步获取由解码器对所述非掩码区域的编码特征进行特征还原得到的重建图像,根据所述重建图像与所述样本图像之间的重建损失误差更新所述编码器和所述解码器的模型参数。本申请实施例采用掩码重建的方式训练编码器的特征提取能力,能够提高活体检测模型识别样本图像是否对应于活体对象的识别准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了应用本申请技术方案的系统架构框图。
图2示出了本申请一个实施例中的活体检测模型的训练方法。
图3示出了本申请一个实施例中的活体检测模型的训练过程示意图。
图4示出了本申请一个实施例中基于对比学习训练活体检测模型的方法。
图5示出了本申请一个实施例中基于编码顺序训练活体检测模型的方法。
图6示出了本申请在一个应用场景中基于图块位置特征训练活体检测模型的方法。
图7示出了本申请实施例在一个应用场景中训练活体检测模型的原理示意图。
图8示意性地示出了本申请实施例提供的活体检测模型的训练装置的结构框图。
图9示意性示出了适于用来实现本申请实施例的电子设备的计算机系统结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请的具体实施方式中,涉及到用户的人脸图像等相关数据,当本申请的各个实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
在本申请的相关技术中,基于深度学习的活体检测方法可以包括基于传统二分类的深度学习活体检测方法、增加了元学习的活体检测算法。
基于传统二分类的深度学习活体检测方法通常只依赖于二分类的标签对深度网络进行监督,需要进行网络结构(即特征提取器)的复杂设计来提升网络识别精度。虽然这类方法的监督简单、直观上符合任务逻辑,但通常在未知攻击样本上和不同于训练数据的拍摄场景、设备上的数据的泛化能力差。通常,此类方法需要大量且种类丰富的数据样本对算法模型进行训练,数据采集及标注成本高。并且复杂模型的设计依赖于直觉,没有很好的解释性。
增加了元学习的活体检测算法基于二分类监督,同时具有独特的网络结构设计用于提升特征学习的能力和泛化性。虽然这类方法通常在泛化性上优于上一种活体检测方法,但其网络设计通常比较复杂,算法训练收敛的难度较大,需要精密的训练方式才能取得较好的结果。对于业务来说,这类算法迭代难度高、稳定性难以保证,会对算法迭代造成一定的风险。
在人脸活体检测的业务场景中,可以用于优化的深度学习模型的数据数量有限,而且恶意用户总会用新的活体攻击方式不断挑战业务中使用的活体检测系统。在这种情况下,不断的增量攻击就对模型算法的泛化能力和特征提取能力提出了严峻的挑战。
针对以上相关技术中存在的问题,本申请实施例根据自监督学习的思想,首先设计了图像掩码重建的预训练框架,在常规二分类监督的活体检测深度学习框架的基础上,通过自监督预训练提高了模型对人脸活体相关特征的提取能力,从而提升了人脸活体检测的识别精度。
图1示出了应用本申请技术方案的系统架构框图。
如图1所示,应用本申请技术方案的系统架构可以包括终端设备110和服务器130。终端设备110可以包括智能手机、平板电脑、笔记本电脑、台式电脑、智能音箱、智能穿戴设备、智能车载设备、智能支付终端等各种电子设备。服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。在终端设备110和服务器130之间可以包括用于提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
活体检测模型120是用于检测业务对象是否为真实用户的模型,例如在对业务对象执行人脸识别时,通过对采集到的图像进行活体检测,可以识别该图像是否为真实用户的人脸图像。
在本申请实施例的一个应用场景中,可以预先将活体检测模型120部署在服务器130上,由服务器130对活体检测模型120进行训练。在模型训练的过程中,可以根据活体检测模型120对于训练样本的识别结果确定损失误差,然后根据损失误差迭代更新活体检测模型120的模型参数。通过不断训练可以逐渐降低模型的损失误差,提高模型的识别精度。
当活体检测模型120训练完成后,可以向终端设备110提供活体检测服务。举例而言,终端设备110可以将待识别图像上传至服务器130,由服务器130上部署的活体检测模型120对待识别图像进行识别处理后输出识别结果,进一步由服务器130将识别结果返回给终端设备110,用以判断待识别图像是否为真实用户的人脸图像。
在其他一些应用场景中,也可以将训练完成的活体检测模型120直接部署至终端设备110上,使得终端设备110能够在本地运行活体检测模型。当需要进行活体检测时,可以由终端设备110将待识别图像输入至训练完成的活体检测模型120中,由活体检测模型120对待识别图像进行识别处理后输出识别结果,用以判断待识别图像是否为真实用户的人脸图像。
本申请实施例提供的活体检测模型可以应用于多种不同的线上业务场景,具体可以包括云技术、人工智能、智慧交通、辅助驾驶等各种场景。例如,在社交软件或者即时通讯软件中涉及的人脸核身功能,其主要用于用户实名实人认证、账户解封申诉等操作;在网约车软件中涉及司机远程认证流程,其主要用来判断当前司机是否为真人;在智能门禁系统中的人脸识别门禁系统、游戏业务中涉及到账号解封的身份核验等等。
下面结合具体实施方式对本申请提供的活体检测模型的训练方法、活体检测模型的训练装置、计算机可读介质、电子设备以及计算机程序产品等技术方案做出详细说明。
图2示出了本申请一个实施例中的活体检测模型的训练方法,该活体检测模型的训练方法,可以由图1所示的终端设备或者服务器单独执行,也可以由终端设备和服务器共同执行。本申请实施例以服务器执行的训练方法作为示例进行说明。如图2所示,该活体检测模型的训练方法可以包括如下的步骤S210至S240。
S210:遮挡样本图像中的部分区域,得到包括非掩码区域的掩码图像,非掩码区域是掩码图像中未被遮挡的区域。
S220:获取由编码器对非掩码区域进行特征提取得到的非掩码区域的编码特征。
S230:获取由解码器对非掩码区域的编码特征进行特征还原得到的重建图像。
S240:根据重建图像与样本图像之间的重建损失误差更新编码器和解码器的模型参数。
在本申请实施例提供的活体检测模型的训练方法中,采用掩码重建的方式训练编码器的特征提取能力,能够提高活体检测模型识别样本图像是否对应于活体对象的识别准确性。
图3示出了本申请一个实施例中的活体检测模型的训练过程示意图。本申请实施例中的活体检测模型可以包括编码器301和分类器302;编码器301用于对输入的图像提取编码特征,分类器302用于根据编码特征识别输入的图像是否为活体图像。活体图像指的是对活体对象采集得到的图像,例如真实用户的人脸图像。
本申请实施例主要用于对活体检测模型中编码器301进行预训练;预训练指的是在正式训练神经网络之前,通过特殊训练方法获取较好的神经网络初始化参数的过程。本申请实施例通过对编码器301进行预训练,能够提高编码器301的特征提取能力,进而提高活体检测模型的活体图像识别精度。
如图3所示,在对编码器301进行预训练之前,首先可以对样本图像303的部分区域进行遮挡,得到包括非掩码区域的掩码图像304,非掩码区域是掩码图像304中未被遮挡的区域,掩码图像304中被遮挡的区域记为掩码区域。本申请实施例可以使用多个掩码图块对样本图像进行随机遮挡,形成掩码区域随机分布的掩码图像。其中,掩码图块可以是具有指定像素内容的图块,例如可以是纯白色或者纯黑色的图块。在一个掩码图像的不同区域上形成遮挡的各个掩码图块可以具有相同的尺寸或者不同的尺寸。
将掩码图像304输入至编码器301,由编码器301对掩码图像的非掩码区域进行特征提取,可以得到非掩码区域的编码特征305。编码特征305是用于表征图像内容的深层次特征,可以表示为具有指定维度的特征向量。
继续将编码特征305输入至与编码器301相对应的解码器306,由解码器306对非掩码区域的编码特征305进行特征还原得到重建图像307。解码器306可以根据非掩码区域的编码特征305,对非掩码区域进行特征还原得到重建后的非掩码区域的图像内容;同时还可以根据非掩码区域的编码特征305,对掩码区域进行特征还原得到重建后的掩码区域的图像内容。重建后的非掩码区域和掩码区域的图像内容共同组成重建图像307。
最后,根据重建图像307与样本图像303之间的重建损失误差,更新编码器301和解码器306的模型参数。
迭代执行以上预训练过程,可以持续地更新编码器301和解码器306的模型参数,不断提高编码器301从掩码图像中提取深层次特征的能力,并不断提高解码器306由编码特征还原形成重建图像的能力。
在本申请的一个实施例中,编码器301可以采用ViT模型,即Vision Transformer。ViT模型是将在NLP领域的基于自注意力机制的Transformer模型用于图像任务中,相比于图像任务中的传统的卷积神经网络模型,ViT模型在大数据集上有着比卷积神经网络更强的效果和更节约的成本。
ViT模型总体可以包括图像块嵌入单元Patch Embedding、位置编码单元Positional Encoding、转换编码器Transformer Encoder等多个部分。
图像块嵌入单元Patch Embedding用于将输入的二维图像转换成可供编码处理的一维向量。首先把图像变成多个图像块组成的序列,然后使用线性变换将图像块序列转换为一维向量,类似于NLP中的词嵌入Word Embeddings。在图像块嵌入后得到的向量中追加了一个分类向量,用于训练Transformer Encoder时学习类别信息。假设将图像分为N个图像块,输入到Transformer Encoder中就有N个向量,通过手动添加一个可学习的嵌入向量作为用于分类的类别向量,同时与其他图像块嵌入向量一起输入到Transformer Encoder中,最后取追加的首个可学习的嵌入向量作为类别预测结果。
位置编码单元Positional Encoding用于保留图像的空间位置信息。Transformer不同于CNN,由于图像块嵌入的缘故,它失去了原图像的位置信息,因此需要使用位置编码单元Positional Encoding进行位置嵌入来提供额外的位置信息。
转换编码器Transformer Encoder由交替的多头自注意力层(MSA)和多层感知机块(MLP)构成。在每个块前应用层归一化(Layer Norm),在每个块后应用残差连接(Residual Connection)。
在本申请的一个实施例中,解码器306可以选用参数规模小于编码器301的ViT模型。其中,参数规模可以包括Patch Size、Layers、Hidden Size、MLP size以及Heads。PatchSize是输入模型的图块尺寸,例如可以包括14x14、16x16、32x32等尺寸。Layers是Transformer Encoder中重复堆叠的Encoder Block的次数,例如可以包括12、24、32。Hidden Size是对应通过Embedding层后每个向量的向量长度,例如可以包括768、1024、1280。MLP size是Transformer Encoder中MLP Block第一个全连接的节点个数,是HiddenSize的四倍。Heads代表Transformer Encoder中Multi-Head Attention的heads数量,例如可以包括12、16。
解码器306使用相比于编码器301而言更加轻量化的模型,能够提高解码器的收敛速度,避免解码器训练过程占用过多的计算资源,节约时间成本和计算资源。例如,编码器301的模型参数总量为307M,解码器306的模型参数总量为86M,在保证编码器301具有较高的训练精度的同时,解码器306可以更加快速地完成训练,提高模型整体的训练效率。
在本申请的一个实施例中,可以基于梯度下降算法和反向传播算法迭代更新模型参数。
梯度下降是一种最优化算法,用于求解最小化损失函数的参数值。梯度下降算法的基本思想是:根据当前参数的梯度,沿着梯度的反方向移动参数,从而找到损失函数的最小值。梯度下降算法的原理可以简单概括为:在一个高维空间中从一个点出发,根据损失函数的导数,沿着损失函数下降最快的方向,一步步朝着最优解前进,最终到达最优解处。
反向传播是一种形式化的梯度下降算法,用于训练神经网络。反向传播算法的基本思想是:用输出层的梯度反向传播到隐藏层,以计算每一层的梯度,并将梯度更新到模型参数,以期望找到损失函数的最小值。反向传播结合了梯度下降算法和负梯度方向的求解。反向传播算法的原理是:在神经网络的输出层向输入层依次反向传播误差,在每层计算误差对每个参数的偏导,并通过梯度下降法更新权重参数,以期望最小化误差,从而提高模型的准确性。
在本申请的一个实施例中,编码器的主要算法逻辑是使用一个ViT模型将一张人脸图片切分成互不相交的图像token后进行随机的遮挡,遮挡比例在75%左右,只留下较少的图像token,然后将这部分留下的图像token作为编码器的输入,最后的输出是这些可见图块的编码后的表示,在维度上和输入的维度保持一致。在预训练阶段其主要任务是提取人脸的特征并进行编码,作为后续的解码器的输入;而在后续阶段编码器模块将被用于活体检测任务的特征提取器,并连接分类器进行分类。
解码器的主要目的是从根据之前得到的可见图块的编码表示来进行解码,恢复原始图片的相关特征并计算损失函数来优化模型的参数。其输入为编码器的输出和可学习token,之前被遮挡的token用可学习token代替,按照原始的token顺序输入解码器,然后再恢复原始图片的像素特征,目标值则由原始图片直接得到。
在本申请的一个实施例中,用于计算重建损失误差的重建损失函数Lrec如下。
其中,表示可见的图像token,即掩码图像的非掩码区域;而/>表示被掩码的图像token,即掩码图像的掩码区域;/>表示原始的样本图像;D表示解码器,G表示编码器;示性函数/>用于表示重建损失只在被掩码的图像token上面进行计算。
在本申请的一个实施例中,在根据重建图像与样本图像之间的重建损失误差更新编码器和解码器的模型参数之后,可以对编码器301和分类器302进行共同训练,从而在进一步提高编码器301的特征提取能力的同时,提高分类器302的分类识别能力。
对编码器301和分类器302进行共同训练的方法可以包括:获取由编码器对未被遮挡的样本图像进行特征提取得到的样本图像的编码特征;获取由分类器对样本图像的编码特征进行分类处理得到的识别结果,识别结果用于表示样本图像是否为活体图像;根据识别结果更新编码器和分类器的模型参数。
在完成编码器的预训练后进入微调阶段,在该阶段将下游任务的图片无需遮挡直接输入编码器后得到编码特征,再利用全局池化操作来进行后续的分类任务,在有监督的情况下完成微调阶段的训练。完成训练后,只保留训练完成的编码器模块。将解码器模块抛弃,并将编码器的输出进行池化操作再进行分类,最终完成活体检测的任务。
本申请实施例首先使用部分区域被遮挡的掩码图像训练编码器的特征提取能力,然后再使用未被遮挡的样本图像训练分类器的识别分类能力,采用两阶段的模型训练,能够提高编码器和分类器的收敛速度,进而能够提高模型的训练效率。
在本申请的一个实施例中,为了得到一个能够很好的对人脸特征进行编码的编码器,可以通过人脸活体和攻击图片来对模型进行监督对比预训练。本申请实施例中用于训练活体检测模型的样本图像可以包括对应于活体对象的活体样本图像和对应于非活体对象的非活体样本图像。其中,活体样本图像例如可以是对真实用户进行人脸采集得到的真实的人脸图像,而非活体样本图像例如可以是用于模仿活体样本图像而伪造或者变造形成的虚假的人脸图像。非活体样本图像也可以称为攻击样本,例如可以是通过视频回放、纸片打印等攻击方式伪造的人脸图像。
举例而言,本申请实施例可以选用Oulu-NPU、Replay-Attack、MSU-MFSD和CASIA-FASD等数据集来对模型进行预训练,这些数据集包括视频回放、纸片打印等攻击方式来伪造人脸。
图4示出了本申请一个实施例中基于对比学习训练活体检测模型的方法。该训练方法可以由图1所示的终端设备或者服务器单独执行,也可以由终端设备和服务器共同执行。本申请实施例以服务器执行的训练方法作为示例进行说明。如图4所示,该活体检测模型的训练方法还可以包括如下的步骤S410至S440。
S410:将两个样本图像组成样本对,样本对包括由两个活体样本图像组成的正样本对或者由一个活体样本图像和一个非活体样本图像组成的负样本对。
S420:比较样本对中的两个样本图像的编码特征,得到样本对的特征相似度。
S430:根据特征相似度,确定样本图像的对比损失误差,对比损失误差用于表示编码器为对应于活体对象的多个样本图像提取相似的编码特征的能力。
S440:根据对比损失误差更新编码器的模型参数。
本申请实施例结合监督对比学习和图像掩码的预训练方式,对活体样本之间的共同特征进行拉近来寻找活体样本之间的共同信息,进一步提升了网络的泛化能力和未知域及未知活体攻击类型的测试准确度,解决了对新型攻击和跨域泛化性差的问题。
在本申请的一个实施例中,在根据重建图像与样本图像之间的重建损失误差更新编码器和解码器的模型参数之后,可以根据编码器的收敛程度确定引入对比学习的时机。例如,获取用于表示所述编码器的收敛程度的误差阈值,当重建损失误差小于预设的误差阈值时,根据对比损失误差更新编码器的模型参数。
本申请实施例在编码器收敛到一定程度后再引入对比学习,能够确保对比学习中使用的编码特征是从样本图像中提取到的具有内容显著性的深层次特征,进而能够提高模型整体的训练速度。
在其他一些可选的实施方式中,本申请实施例还可以交替执行掩码重建和对比学习的训练过程,例如当编码器在掩码重建的训练过程中迭代若干轮次并收敛后,引入对比学习;当编码器在对比学习的训练过程中迭代若干轮次并收敛后,继续执行掩码重建训练。通过交替执行掩码重建和对比学习,可以兼顾模型的活体检测准确性和泛化能力,并且可以提高模型训练速度。
在本申请的一个实施例中,根据特征相似度,确定样本图像的对比损失误差的方法可以包括:分别为正样本对和负样本对分配不同的权重系数;根据权重系数和特征相似度,确定样本图像的对比损失误差。
本申请实施例根据样本类型为不同的样本对分配权重系数,可以利用权重系数控制正样本对或者负样本对在模型训练中对于模型参数的影响程度。
在本申请的一个实施例中,正样本对的权重系数大于负样本对的权重系数。为正样本对分配更大的权重系数,可以拉近活体样本图像的距离,挖掘活体样本图像之间的相似特征,提高模型对于活体样本图像的识别能力。
在一些可选的实施方式中,本申请实施例可以动态地为正样本对和负样本对分配权重系数,例如可以在训练的开始阶段为正样本对和负样本对分配相同的权重系数,随着训练的迭代次数的增加,可以逐步地提高正样本对的权重系数,或者逐步地降低负样本对的权重系数。通过动态地控制正样本对和负样本对的权重系数,可以在不同的训练阶段调整训练的侧重点,进而能够平衡训练效率和训练可靠性。
在本申请的一个实施例中,正样本对包括同域正样本对和非同域正样本对,同域正样本对由两个具有相同域标签的活体图像样本组成,非同域正样本对由两个具有不同域标签的活体图像样本组成,域标签用于指示活体图像样本的类别信息;非同域正样本对的权重系数大于同域正样本对的权重系数。
举例而言,域标签可以包括用于描述图像来源或者内容场景的类别信息,其中图像来源可以包括不同类型的图像采集设备,例如智能手机、相机、摄像机等等。内容场景可以包括采集图像的场景环境特征,例如室内场景、室外场景、静态背景、动态背景等等。
本申请实施例通过为同域正样本对和非同域正样本对分配不同的权重系数,可以控制同域正样本对和非同域正样本对在模型训练中对于模型参数的影响程度,提高模型训练的灵活性。
在一些可选的实施方式中,本申请实施例可以动态地为同域正样本对和非同域正样本对分配权重系数,例如可以在训练的开始阶段为同域正样本对和非同域正样本对分配相同的权重系数,随着训练的迭代次数的增加,可以逐步地提高同域正样本对的权重系数,或者逐步地降低非同域正样本对的权重系数。通过动态地控制同域正样本对和非同域正样本对的权重系数,可以在不同的训练阶段调整训练的侧重点,进而能够平衡模型的可靠性训练和泛化性训练。
在本申请的一个实施例中,步骤S210中的遮挡样本图像中的部分区域,得到包括非掩码区域的掩码图像,可以进一步包括:将样本图像切分为多个具有相同尺寸的图块;在样本图像中随机遮挡若干个图块,得到掩码图像,掩码图像包括由被遮挡的图块组成的掩码区域和由未被遮挡的图块组成的非掩码区域。
本申请实施例采用图像切分的方式,随机遮挡具有相同尺寸的若干个图块,能够在模型训练中排除掩码区域的尺寸分布对于图像重建结果的影响,提高模型的训练效率和准确性。
在本申请的一个实施例中,一个掩码图像中的掩码区域的图块数量大于非掩码区域的图块数量。本申请实施例通过遮挡样本图像中的大部分内容,能够在保留图像重建的核心内容的基础上,扩大掩码图像与原始样本图像之间的内容缺失程度,进而能够最大化地挖掘编码器的特征提取能力,提高模型的训练效率。
在一些可选的实施方式中,本申请实施例可以在训练过程中动态化地调整掩码图像中掩码区域和非掩码区域的图块数量。例如,本申请实施例可以在训练的开始阶段遮挡较小数量的图块,使得掩码区域的图块数量小于非掩码区域的图块数量;随着迭代训练次数的增加,逐步地增加掩码区域的图块数量,并减少非掩码区域的图块数量。本申请实施例通过动态调整掩码区域的图块分布数量,能够在保证编码器尽快收敛的前提下,逐渐增大编码器的特征提取难度,平衡模型训练速度和训练精度。
本申请实施例基于对比学习,可以在对编码器的输出进行聚合后作为输入,进行有监督对比,在对比阶段同时需要目标标签和域标签,根据这两个标签来对样本进行分类,得到不同的样本类别,然后基于此来对同类别的样本进行拉近,同时对不同类的样本进行推远。由于对比学习是基于编码器的输出聚合特征来进行对比的,因此需要在编码器收敛到一定程度后再加入,可以根据重建损失误差的变化来决定引入对比学习的时间。
在本申请的一个实施例中,用于计算对比损失误差的对比损失函数如下所示。
在对比损失函数中,和/>表示样本对,y表示样本的域标签,τ为预设的温度系数,λl为预设的权重系数。
正样本可以分为两类,一类是同域的正样本,而另一类是不同域的正样本,对不同域的正样本给予更大的权重系数λ,这样进一步可以拉近不同域之间的正样本距离,同时我们给负样本之间更小的权重,这样能进一步增强正样本对的影响。
本申请实施例克服了模型训练中需要大量数据预训练的弊端,在不需要任何额外数据集的情况下实现了性能的大幅度提升。并且根据不同标签划分了类别来对对比损失函数进行特殊的设计,使得该方法更适用于活体检测任务中。
在本申请的一个实施例中,可以预先为掩码图像中的各个图块确定编码顺序,进而按照编码顺序为各个图块提取特征,即能够在编码器的特征提取阶段和解码器的图像还原阶段引入图块的位置信息。
在此基础上,获取由编码器对非掩码区域进行特征提取得到的非掩码区域的编码特征,可以进一步包括:对非掩码区域中的各个图块进行线性映射,得到图块的语义特征向量;根据图块在样本图像中的分布位置,确定图块的编码顺序;获取编码器对各个图块的语义特征向量进行特征提取得到的图块的编码特征;按照图块的编码顺序,将各个图块的编码特征拼接组成非掩码区域的编码特征。
获取由解码器对非掩码区域的编码特征进行特征还原得到的重建图像,可以进一步包括:根据图块在样本图像中的分布位置,确定图块的编码顺序;按照编码顺序将非掩码区域的编码特征以及掩码区域的编码特征拼接后输入解码器;获取由解码器对非掩码区域的编码特征以及掩码区域的编码特征进行特征还原得到的重建图像。
图块的编码顺序可以是按照预设的排列方向对各个分布位置进行排序形成的顺序信息。例如,可以按照从左向右、从上向下的顺序依次确定各个分布位置的排列顺序。
图5示出了本申请一个实施例中基于编码顺序训练活体检测模型的方法。该训练方法可以由图1所示的终端设备或者服务器单独执行,也可以由终端设备和服务器共同执行。本申请实施例以服务器执行的训练方法作为示例进行说明。如图5所示,该活体检测模型的训练方法还可以包括如下的步骤S501至S512。
S501:遮挡样本图像中的部分区域,得到包括非掩码区域的掩码图像,非掩码区域是掩码图像中未被遮挡的区域。
S502:对非掩码区域中的各个图块进行线性映射,得到图块的语义特征向量。
S503:根据图块在样本图像中的分布位置,确定图块的编码顺序。
S504:获取编码器对各个图块的语义特征向量进行特征提取得到的图块的编码特征。
S505:按照图块的编码顺序,将各个图块的编码特征拼接组成非掩码区域的编码特征。
S506:按照图块的编码顺序将非掩码区域的编码特征以及掩码区域的编码特征拼接后输入解码器。
S507:获取由解码器对非掩码区域的编码特征以及掩码区域的编码特征进行特征还原得到的重建图像。
S508:根据重建图像与样本图像之间的重建损失误差更新编码器和解码器的模型参数。
S509:将两个样本图像的非掩码区域的编码特征组成样本对。
S510:比较两个样本图像的非掩码区域的编码特征,得到样本对的特征相似度。
S511:根据特征相似度,确定样本图像的对比损失误差。
S512:根据对比损失误差更新编码器的模型参数。
本申请实施例中的各个方法步骤的具体实施方式,可以参考上述其他实施例中的相关内容,此处不再赘述。
在本申请的一个实施例中,可以预先为掩码图像中的非掩码区域的各个图块确定位置特征向量,进而在对非掩码区域提取语义特征的同时提取位置特征,在编码器的特征提取阶段或者解码器的图像还原阶段引入图块的位置信息。
在此基础上,获取由编码器对非掩码区域进行特征提取得到的非掩码区域的编码特征,可以进一步包括:对非掩码区域中的各个图块进行线性映射,得到非掩码区域的语义特征向量;根据图块在样本图像中的分布位置,确定非掩码区域的位置特征向量;获取由编码器对非掩码区域的语义特征向量和非掩码区域的位置特征向量进行特征提取得到的非掩码区域的编码特征。
获取由解码器对非掩码区域的编码特征进行特征还原得到的重建图像,可以进一步包括:根据图块在样本图像中的分布位置,确定非掩码区域的位置特征向量;获取由解码器对非掩码区域的编码特征以及非掩码区域的位置特征向量进行特征还原得到的重建图像。
本申请实施例中的位置特征向量可以与语义特征向量具有相同的向量长度,在对语义特征向量和位置特征向量进行特征提取时,可以采用向量加和的方式将语义特征向量和位置特征向量融合为一个向量,从而在不改变向量长度的情况下,融合图块的语义信息和位置信息。
图6示出了本申请在一个应用场景中基于图块位置特征训练活体检测模型的方法。该训练方法可以由图1所示的终端设备或者服务器单独执行,也可以由终端设备和服务器共同执行。本申请实施例以服务器执行的训练方法作为示例进行说明。如图6所示,该活体检测模型的训练方法还可以包括如下的步骤S601至S610。
S601:遮挡样本图像中的部分区域,得到包括非掩码区域的掩码图像,非掩码区域是掩码图像中未被遮挡的区域。
S602:对非掩码区域中的各个图块进行线性映射,得到非掩码区域的语义特征向量。
S603:根据图块在样本图像中的分布位置,确定非掩码区域的位置特征向量。
S604:获取由编码器对非掩码区域的语义特征向量和非掩码区域的位置特征向量进行特征提取得到的非掩码区域的编码特征。
S605:获取由解码器对非掩码区域的编码特征以及非掩码区域的位置特征向量进行特征还原得到的重建图像。
S606:根据重建图像与样本图像之间的重建损失误差更新编码器和解码器的模型参数。
S607:将两个样本图像的非掩码区域的编码特征组成样本对。
S608:比较两个样本图像的非掩码区域的编码特征,得到样本对的特征相似度。
S609:根据特征相似度,确定样本图像的对比损失误差。
S610:根据对比损失误差更新编码器的模型参数。
本申请实施例中的各个方法步骤的具体实施方式,可以参考上述其他实施例中的相关内容,此处不再赘述。
图7示出了本申请实施例在一个应用场景中训练活体检测模型的原理示意图。
如图7所示,在网络预训练的第一阶段中,作为训练数据的样本图像701会被随机遮挡住一部分,得到具有掩码区域和非掩码区域的掩码图像702。例如,图中所示的样本图像701包括a~i共9个图块,通过随机掩码将图块b、e、f、g进行遮挡后形成掩码图像702,该掩码图像702的非掩码区域包括剩下的未被遮挡的图块a、c、d、h和i。
将未被遮挡住的图块a、c、d、h和i进行线性映射后得到语义特征向量703,由编码器对语义特征向量703进行特征提取后,得到非掩码区域的编码特征V1、V3、V4、V8和V9。
将编码器的输出的编码特征V1、V3、V4、V8和V9,以及被遮挡住的掩码区域的编码特征M2、M5、M6和M7,按照图块的分布位置进行排列和拼接后,得到掩码图像的编码特征705。
将掩码图像的编码特征705输入至解码器,由解码器根据输入的编码特征705重建各个图块的原始图片的特征,解码器可以重建原始图片的每个像素得到重建图像706。
在第一阶段的损失函数收敛到指定阈值后,网络预训练进入第二阶段,第二阶段额外添加了对比学习算法。首先对编码器输出的各个图块的特征进行拼接聚合,得到每个样本的代表token,再根据域标签和活体标签进行区分,拉近活体样本707相互之间的距离,同时推远活体样本707和攻击样本708之间的距离,对于不同类别的样本在损失函数中给予不同的权重来进行第二阶段的预训练,此时的损失为对比损失和重建损失的线性组合。这样的设计可以保证用于对比的时候,解码器提取的特征能够有一定的意义而不是一开始的随机状态。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的活体检测模型的训练方法。图8示意性地示出了本申请实施例提供的活体检测模型的训练装置的结构框图。如图8所示,活体检测模型的训练装置800包括:
遮挡模块810,被配置为遮挡样本图像中的部分区域,得到包括非掩码区域的掩码图像,所述非掩码区域是所述掩码图像中未被遮挡的区域;
编码模块820,被配置为获取由所述编码器对所述非掩码区域进行特征提取得到的所述非掩码区域的编码特征;
解码模块830,被配置为获取由解码器对所述非掩码区域的编码特征进行特征还原得到的重建图像;
更新模块840,被配置为根据所述重建图像与所述样本图像之间的重建损失误差更新所述编码器和所述解码器的模型参数。
在本申请的一些实施例中,基于以上技术方案,所述样本图像包括对应于活体对象的活体样本图像和对应于非活体对象的非活体样本图像;所述活体检测模型的训练装置800还包括:
样本对获取模块,被配置为将两个所述样本图像组成样本对,所述样本对包括由两个活体样本图像组成的正样本对或者由一个活体样本图像和一个非活体样本图像组成的负样本对;
特征比较模块,被配置为比较所述样本对中的两个所述样本图像的编码特征,得到所述样本对的特征相似度;
误差确定模块,被配置为根据所述特征相似度,确定所述样本图像的对比损失误差;
参数更新模块,被配置为根据所述对比损失误差更新所述编码器的模型参数。
在本申请的一些实施例中,基于以上技术方案,所述参数更新模块进一步被配置为:获取用于表示所述编码器的收敛程度的误差阈值;当所述重建损失误差小于所述误差阈值时,根据所述对比损失误差更新所述编码器的模型参数。
在本申请的一些实施例中,基于以上技术方案,所述误差确定模块进一步被配置为:分别为所述正样本对和所述负样本对分配不同的权重系数;根据所述权重系数和所述特征相似度,确定所述样本图像的对比损失误差。
在本申请的一些实施例中,基于以上技术方案,所述正样本对的权重系数大于所述负样本对的权重系数。
在本申请的一些实施例中,基于以上技术方案,所述正样本对包括同域正样本对和非同域正样本对,所述同域正样本对由两个具有相同域标签的活体图像样本组成,所述非同域正样本对由两个具有不同域标签的活体图像样本组成,所述域标签用于指示所述活体图像样本的类别信息;所述非同域正样本对的权重系数大于所述同域正样本对的权重系数。
在本申请的一些实施例中,基于以上技术方案,所述遮挡模块810包括:
图像切分模块,被配置为将样本图像切分为多个具有相同尺寸的图块;
图块遮挡模块,被配置为在所述样本图像中随机遮挡若干个所述图块,得到掩码图像,所述掩码图像包括由被遮挡的图块组成的掩码区域和由未被遮挡的图块组成的非掩码区域。
在本申请的一些实施例中,基于以上技术方案,所述掩码区域的图块数量大于所述非掩码区域的图块数量。
在本申请的一些实施例中,基于以上技术方案,所述编码模块820包括:
第一映射模块,被配置为对所述非掩码区域中的各个图块进行线性映射,得到所述图块的语义特征向量;
第一顺序确定模块,被配置为根据所述图块在所述样本图像中的分布位置,确定所述图块的编码顺序;
第一特征提取模块,被配置为获取所述编码器对各个所述图块的语义特征向量进行特征提取得到的所述图块的编码特征;
特征拼接模块,被配置为按照所述图块的编码顺序,将各个所述图块的编码特征拼接组成所述非掩码区域的编码特征。
在本申请的一些实施例中,基于以上技术方案,所述编码模块820包括:
第二映射模块,被配置为对所述非掩码区域中的各个图块进行线性映射,得到所述非掩码区域的语义特征向量;
第一位置确定模块,被配置为根据所述图块在所述样本图像中的分布位置,确定所述非掩码区域的位置特征向量;
第二特征提取模块,被配置为获取由所述编码器对所述非掩码区域的语义特征向量和所述非掩码区域的位置特征向量进行特征提取得到的所述非掩码区域的编码特征。
在本申请的一些实施例中,基于以上技术方案,所述解码模块830包括:
第二顺序确定模块,被配置为根据所述图块在所述样本图像中的分布位置,确定所述图块的编码顺序;
特征输入模块,被配置为按照所述编码顺序将所述非掩码区域的编码特征以及所述掩码区域的编码特征拼接后输入解码器;
第一特征还原模块,被配置为获取由所述解码器对所述非掩码区域的编码特征以及所述掩码区域的编码特征进行特征还原得到的重建图像。
在本申请的一些实施例中,基于以上技术方案,所述解码模块830包括:
第二位置确定模块,被配置为根据所述图块在所述样本图像中的分布位置,确定所述非掩码区域的位置特征向量;
第二特征还原模块,被配置为获取由所述解码器对所述非掩码区域的编码特征以及所述非掩码区域的位置特征向量进行特征还原得到的重建图像。
在本申请的一些实施例中,基于以上技术方案,所述活体检测模型还包括用于根据所述编码特征识别活体图像的分类器;所述活体检测模型的训练装置800还包括:
第三特征提取模块,被配置为获取由所述编码器对未被遮挡的样本图像进行特征提取得到的所述样本图像的编码特征;
特征分类模块,被配置为获取由所述分类器对所述编码特征进行分类处理得到的识别结果,所述识别结果用于表示所述样本图像是否为活体图像;
参数更新模块,被配置为根据所述识别结果更新所述编码器和所述分类器的模型参数。
本申请各实施例中提供的活体检测模型的训练装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图9示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图9示出的电子设备的计算机系统900仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理器901(Central Processing Unit,CPU),其可以根据存储在只读存储器902(Read-Only Memory,ROM)中的程序或者从存储部分908加载到随机访问存储器903(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器903中,还存储有系统操作所需的各种程序和数据。中央处理器901、在只读存储器902以及随机访问存储器903通过总线904彼此相连。输入/输出接口905(Input /Output接口,即I/O接口)也连接至总线904。
以下部件连接至输入/输出接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至输入/输出接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理器901执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (16)

1.一种活体检测模型的训练方法,其特征在于,所述活体检测模型包括用于对图像提取编码特征的编码器,所述编码特征用于识别所述图像中的对象是否为活体对象;所述训练方法包括:
遮挡样本图像中的部分区域得到包括掩码区域和非掩码区域的掩码图像,所述掩码区域包括若干个被遮挡的图块,所述非掩码区域包括若干个未被遮挡的图块;
根据所述图块在所述样本图像中的分布位置,确定所述图块的编码顺序,或者确定所述非掩码区域的位置特征向量;
获取由所述编码器根据所述图块的编码顺序或者根据所述非掩码区域的位置特征向量对所述非掩码区域进行特征提取得到的所述非掩码区域的编码特征;
获取由解码器根据所述图块的编码顺序或者根据所述非掩码区域的位置特征向量对所述非掩码区域的编码特征进行特征还原得到的重建图像;
根据所述重建图像与所述样本图像之间的重建损失误差更新所述编码器和所述解码器的模型参数。
2.根据权利要求1所述的活体检测模型的训练方法,其特征在于,所述样本图像包括对应于活体对象的活体样本图像和对应于非活体对象的非活体样本图像;在根据所述重建图像与所述样本图像之间的重建损失误差更新所述编码器和所述解码器的模型参数之后,所述方法还包括:
将两个所述样本图像组成样本对,所述样本对包括由两个活体样本图像组成的正样本对或者由一个活体样本图像和一个非活体样本图像组成的负样本对;
比较所述样本对中的两个所述样本图像的编码特征,得到所述样本对的特征相似度;
根据所述特征相似度,确定所述样本图像的对比损失误差,所述对比损失误差用于表示所述编码器为对应于活体对象的多个所述样本图像提取相似的编码特征的能力;
根据所述对比损失误差更新所述编码器的模型参数。
3.根据权利要求2所述的活体检测模型的训练方法,其特征在于,根据所述对比损失误差更新所述编码器的模型参数,包括:
获取用于表示所述编码器的收敛程度的误差阈值;
当所述重建损失误差小于所述误差阈值时,根据所述对比损失误差更新所述编码器的模型参数。
4.根据权利要求2所述的活体检测模型的训练方法,其特征在于,根据所述特征相似度,确定所述样本图像的对比损失误差,包括:
分别为所述正样本对和所述负样本对分配不同的权重系数;
根据所述权重系数和所述特征相似度,确定所述样本图像的对比损失误差。
5.根据权利要求4所述的活体检测模型的训练方法,其特征在于,所述正样本对的权重系数大于所述负样本对的权重系数。
6.根据权利要求4所述的活体检测模型的训练方法,其特征在于,所述正样本对包括同域正样本对和非同域正样本对,所述同域正样本对由两个具有相同域标签的活体图像样本组成,所述非同域正样本对由两个具有不同域标签的活体图像样本组成,所述域标签用于指示所述活体图像样本的类别信息;所述非同域正样本对的权重系数大于所述同域正样本对的权重系数。
7.根据权利要求1至6中任意一项所述的活体检测模型的训练方法,其特征在于,遮挡样本图像中的部分区域得到包括掩码区域和非掩码区域的掩码图像,包括:
将样本图像切分为多个具有相同尺寸的图块;
在所述样本图像中随机遮挡若干个所述图块,得到包括掩码区域和非掩码区域的掩码图像。
8.根据权利要求7所述的活体检测模型的训练方法,其特征在于,所述掩码区域的图块数量大于所述非掩码区域的图块数量。
9.根据权利要求1至6中任意一项所述的活体检测模型的训练方法,其特征在于,获取由所述编码器根据所述图块的编码顺序或者根据所述非掩码区域的位置特征向量对所述非掩码区域进行特征提取得到的所述非掩码区域的编码特征,包括:
对所述非掩码区域中的各个图块进行线性映射,得到所述图块的语义特征向量;
获取所述编码器对各个所述图块的语义特征向量进行特征提取得到的所述图块的编码特征;
按照所述图块的编码顺序,将各个所述图块的编码特征拼接组成所述非掩码区域的编码特征。
10.根据权利要求1至6中任意一项所述的活体检测模型的训练方法,其特征在于,获取由所述编码器根据所述图块的编码顺序或者根据所述非掩码区域的位置特征向量对所述非掩码区域进行特征提取得到的所述非掩码区域的编码特征,包括:
对所述非掩码区域中的各个图块进行线性映射,得到所述非掩码区域的语义特征向量;
获取由所述编码器对所述非掩码区域的语义特征向量和所述非掩码区域的位置特征向量进行特征提取得到的所述非掩码区域的编码特征。
11.根据权利要求1至6中任意一项所述的活体检测模型的训练方法,其特征在于,获取由解码器根据所述图块的编码顺序或者根据所述非掩码区域的位置特征向量对所述非掩码区域的编码特征进行特征还原得到的重建图像,包括:
按照所述编码顺序将所述非掩码区域的编码特征以及所述掩码区域的编码特征拼接后输入解码器;
获取由所述解码器对所述非掩码区域的编码特征以及所述掩码区域的编码特征进行特征还原得到的重建图像。
12.根据权利要求1至6中任意一项所述的活体检测模型的训练方法,其特征在于,获取由解码器根据所述图块的编码顺序或者根据所述非掩码区域的位置特征向量对所述非掩码区域的编码特征进行特征还原得到的重建图像,包括:
获取由所述解码器对所述非掩码区域的编码特征以及所述非掩码区域的位置特征向量进行特征还原得到的重建图像。
13.根据权利要求1至6中任意一项所述的活体检测模型的训练方法,其特征在于,所述活体检测模型还包括用于根据所述编码特征识别活体图像的分类器;在根据所述重建图像与所述样本图像之间的重建损失误差更新所述编码器和所述解码器的模型参数之后,所述方法还包括:
获取由所述编码器对未被遮挡的样本图像进行特征提取得到的所述样本图像的编码特征;
获取由所述分类器对所述样本图像的编码特征进行分类处理得到的识别结果,所述识别结果用于表示所述样本图像是否为活体图像;
根据所述识别结果更新所述编码器和所述分类器的模型参数。
14.一种活体检测模型的训练装置,其特征在于,所述活体检测模型包括用于对图像提取编码特征的编码器,所述编码特征用于识别所述图像中的对象是否为活体对象;所述训练装置包括:
遮挡模块,被配置为遮挡样本图像中的部分区域得到包括掩码区域和非掩码区域的掩码图像,所述掩码区域包括若干个被遮挡的图块,所述非掩码区域包括若干个未被遮挡的图块;根据所述图块在所述样本图像中的分布位置,确定所述图块的编码顺序,或者确定所述非掩码区域的位置特征向量;
编码模块,被配置为获取由所述编码器根据所述图块的编码顺序或者根据所述非掩码区域的位置特征向量对所述非掩码区域进行特征提取得到的所述非掩码区域的编码特征;
解码模块,被配置为获取由解码器根据所述图块的编码顺序或者根据所述非掩码区域的位置特征向量对所述非掩码区域的编码特征进行特征还原得到的重建图像;
更新模块,被配置为根据所述重建图像与所述样本图像之间的重建损失误差更新所述编码器和所述解码器的模型参数。
15.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至13中任意一项所述的活体检测模型的训练方法。
16.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为执行所述可执行指令以实现如权利要求1至13中任意一项所述的活体检测模型的训练方法。
CN202310990607.8A 2023-08-08 2023-08-08 活体检测模型的训练方法、装置、介质及电子设备 Active CN116721315B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310990607.8A CN116721315B (zh) 2023-08-08 2023-08-08 活体检测模型的训练方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310990607.8A CN116721315B (zh) 2023-08-08 2023-08-08 活体检测模型的训练方法、装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN116721315A CN116721315A (zh) 2023-09-08
CN116721315B true CN116721315B (zh) 2023-12-01

Family

ID=87868316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310990607.8A Active CN116721315B (zh) 2023-08-08 2023-08-08 活体检测模型的训练方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN116721315B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699811A (zh) * 2020-12-31 2021-04-23 中国联合网络通信集团有限公司 活体检测方法、装置、设备、储存介质及程序产品
CN114078276A (zh) * 2021-11-23 2022-02-22 华东交通大学 一种条件对抗域泛化的人脸活体检测方法及网络模型架构
CN114332556A (zh) * 2021-11-19 2022-04-12 腾讯科技(深圳)有限公司 训练样本筛选方法、装置、计算机设备和存储介质
CN115424293A (zh) * 2022-08-02 2022-12-02 浙江大华技术股份有限公司 活体检测方法、活体检测模型的训练方法及装置
CN116453232A (zh) * 2023-04-12 2023-07-18 奥比中光科技集团股份有限公司 人脸活体检测方法、人脸活体检测模型的训练方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699811A (zh) * 2020-12-31 2021-04-23 中国联合网络通信集团有限公司 活体检测方法、装置、设备、储存介质及程序产品
CN114332556A (zh) * 2021-11-19 2022-04-12 腾讯科技(深圳)有限公司 训练样本筛选方法、装置、计算机设备和存储介质
CN114078276A (zh) * 2021-11-23 2022-02-22 华东交通大学 一种条件对抗域泛化的人脸活体检测方法及网络模型架构
CN115424293A (zh) * 2022-08-02 2022-12-02 浙江大华技术股份有限公司 活体检测方法、活体检测模型的训练方法及装置
CN116453232A (zh) * 2023-04-12 2023-07-18 奥比中光科技集团股份有限公司 人脸活体检测方法、人脸活体检测模型的训练方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EnfoMax: Domain Entropy and Mutual Information Maximization for Domain Generalized Face Anti-spoofing;Tianyi Zheng;《arXiv》;第1-13页 *

Also Published As

Publication number Publication date
CN116721315A (zh) 2023-09-08

Similar Documents

Publication Publication Date Title
CN112052789B (zh) 人脸识别方法、装置、电子设备及存储介质
CN107273458B (zh) 深度模型训练方法及装置、图像检索方法及装置
WO2021137946A1 (en) Forgery detection of face image
US20220122351A1 (en) Sequence recognition method and apparatus, electronic device, and storage medium
CN111160313A (zh) 一种基于lbp-vae异常检测模型的人脸表示攻击检测方法
KR20220076398A (ko) Ar장치를 위한 객체 인식 처리 장치 및 방법
CN112804558B (zh) 视频拆分方法、装置及设备
CN113901909A (zh) 基于视频的目标检测方法、装置、电子设备和存储介质
CN114282059A (zh) 视频检索的方法、装置、设备及存储介质
CN113869205A (zh) 对象检测方法、装置、电子设备和存储介质
CN116978011A (zh) 一种用于智能目标识别的图像语义通信方法及系统
CN110795975A (zh) 人脸误检优化方法及装置
CN115577768A (zh) 半监督模型训练方法和装置
CN114972016A (zh) 图像处理方法、装置、计算机设备、存储介质及程序产品
CN116935292B (zh) 一种基于自注意力模型的短视频场景分类方法及系统
CN116993987A (zh) 一种基于轻量级神经网络模型的图像语义分割方法及系统
CN116721315B (zh) 活体检测模型的训练方法、装置、介质及电子设备
CN115082966B (zh) 行人重识别模型训练方法、行人重识别方法、装置和设备
Li et al. Detection of partially occluded pedestrians by an enhanced cascade detector
CN112395448A (zh) 一种人脸检索方法及装置
CN114842411A (zh) 一种基于互补时空信息建模的群体行为识别方法
CN116629315B (zh) 感知模型的训练方法、装置、设备和介质
CN113591987B (zh) 图像识别方法、装置、电子设备和介质
CN117152467B (zh) 图像识别方法、装置、介质及电子设备
CN113591983B (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
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40092326

Country of ref document: HK