CN108875508B - 活体检测算法更新方法、装置、客户端、服务器及系统 - Google Patents

活体检测算法更新方法、装置、客户端、服务器及系统 Download PDF

Info

Publication number
CN108875508B
CN108875508B CN201711179923.8A CN201711179923A CN108875508B CN 108875508 B CN108875508 B CN 108875508B CN 201711179923 A CN201711179923 A CN 201711179923A CN 108875508 B CN108875508 B CN 108875508B
Authority
CN
China
Prior art keywords
client
user
facial image
auxiliary information
training sample
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
CN201711179923.8A
Other languages
English (en)
Other versions
CN108875508A (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.)
Beijing Kuangshi Technology Co Ltd
Beijing Megvii Technology Co Ltd
Original Assignee
Beijing Kuangshi Technology Co Ltd
Beijing Megvii Technology 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 Beijing Kuangshi Technology Co Ltd, Beijing Megvii Technology Co Ltd filed Critical Beijing Kuangshi Technology Co Ltd
Priority to CN201711179923.8A priority Critical patent/CN108875508B/zh
Publication of CN108875508A publication Critical patent/CN108875508A/zh
Application granted granted Critical
Publication of CN108875508B publication Critical patent/CN108875508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

一种活体检测算法更新方法,应用于服务器,所述方法包括:从至少一个客户端接收脸部图像;基于从所述至少一个客户端接收到的脸部图像确定活体检测训练样本;基于所述活体检测训练样本更新活体检测算法。该方法能够对检测算法进行及时更新,有效避免了单一固定算法不能防御新出现的攻击模式的问题,提高了活体检测的检测效率和准确性。

Description

活体检测算法更新方法、装置、客户端、服务器及系统
技术领域
本公开实施例涉及人脸活体检测算法更新方法、执行上述方法的客户端、服务器、系统以及非易失性存储介质。
背景技术
人脸的活体检测问题是在线人脸身份认证中的一个重要问题。人脸活体检测需要区分正常用户和使用屏幕、纸张、面具进行非正常操作的攻击者。
对于在线人脸识别服务,攻击手段是会随着时间推移不断发展、变化的。而现有活体检测算法只有固定的一种活体检测算法,很难应对新出现的攻击模式。
发明内容
本公开实施例的目的在于提供人脸活体检测算法更新方法、执行上述方法的客户端、服务器、系统以及非易失性存储介质,以解决上述技术问题。
根据本公开的至少一个实施例,提供了一种活体检测算法的更新方法,应用于服务器,所述方法包括:从至少一个客户端接收脸部图像;基于从所述至少一个客户端接收到的脸部图像确定活体检测训练样本;基于所述活体检测训练样本更新活体检测算法。
例如,还包括:从所述至少一个客户端中的每个客户端接收辅助信息,所述辅助信息包括:所述每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种;所述基于从所述至少一个客户端接收到的脸部图像确定活体检测训练样本的步骤包括:基于从所述至少一个客户端接收到的脸部图像和辅助信息确定活体检测训练样本。
例如,所述基于从所述至少一个客户端接收到的脸部图像和辅助信息确定活体检测训练样本的步骤包括:根据所述辅助信息,将从所述至少一个客户端接收到的脸部图像中满足预定条件的至少两张脸部图像作为样本对,所述样本对中的至少两张脸部图像均为活体或非活体;将所述样本对作为所述活体检测训练样本。
例如,所述预定条件包括:所述样本对中的至少两张脸部图像的采集时间间隔小于或等于预设时长,并且设备标识或用户标识相同;或者,所述样本对中的至少两张脸部图像的采集时间间隔小于或等于预设时长,并且设备标识或用户标识不同;或者,所述样本对中的至少两张脸部图像的设备标识或用户标识相同。
例如,基于从所述至少一个客户端接收到的脸部图像确定活体检测训练样本的步骤包括:确定从所述至少一个客户端接收到的每张脸部图像的标注信息,所述标注信息指示所述脸部图像是活体或非活体;将所述每张脸部图像及其标注信息作为所述活体检测训练样本。
例如,还包括:对从所述至少一个客户端接收到的脸部图像进行活体检测,得到活体检测结果,所述确定从所述至少一个客户端接收到的每张脸部图像的标注信息的步骤包括:根据所述活体检测结果确定从所述至少一个客户端接收到的每张脸部图像的标注信息。
例如,从所述至少一个客户端中的每个客户端接收到的至少一张脸部图像是用户根据动作提示信息做出相应动作时采集的,所述确定从所述至少一个客户端中的每个客户端接收到的每张脸部图像的标注信息步骤包括:判断从所述每个客户端接收到的至少一张脸部图像中的脸部动作是否与所述动作提示信息提示的动作匹配;根据匹配结果确定所述每张脸部图像的标注信息。
例如,从所述至少一个客户端中的每个客户端接收到的至少一张脸部图像是在至少一种照射光模式下采集的,所述确定从所述至少一个客户端中的每个客户端接收到的每张脸部图像的标注信息步骤包括:根据从所述每个客户端接收到的至少一张脸部图像的光反射特性来确定所述每张脸部图像的标注信息。
根据本公开的至少一个实施例,提供了一种活体检测算法的更新方法,应用于客户端,所述方法包括:采集至少一个用户的脸部图像;向服务器发送所述至少一个用户的脸部图像,所述至少一个用户的脸部图像用于所述服务器更新活体检测算法。
例如,还包括:获取辅助信息,所述辅助信息包括:脸部图像的采集时间、所述客户端的设备标识以及所述客户端的用户标识中的至少一种;向所述服务器发送所述辅助信息,所述辅助信息用于所述服务器得到用于更新活体检测算法的训练样本。
例如,所述采集至少一个用户的脸部图像的步骤包括:对于所述至少一个用户中的每个用户,输出动作提示信息;采集所述每个用户基于所述动作提示信息做出相应动作时的至少一张脸部图像。
例如,所述采集至少一个用户的脸部图像的步骤包括:分别在至少一种脸部照射光模式下采集所述至少一个用户中每个用户的至少一张脸部图像。
根据本公开的至少一个实施例,提供了一种活体检测算法的更新方法,应用于客户端,所述方法还包括:采集至少一个用户的脸部图像;基于所述至少一个用户的脸部图像确定活体检测训练样本;基于所述活体检测训练样本,计算活体检测算法的损失函数的梯度;向服务器发送所述梯度,所述梯度用于所述服务器对活体检测算法进行更新。
例如,还包括:获取辅助信息,所述辅助信息包括每张脸部图像的采集时间;所述基于所述至少一个用户的脸部图像确定活体检测训练样本的步骤包括:根据所述辅助信息,将所述至少一个用户的脸部图像中满足预定条件的至少两张脸部图像作为样本对,所述样本对中的至少两张脸部图像均为活体或非活体;将所述样本对作为所述活体检测训练样本。
例如,所述预定条件包括:所述样本对中的至少两张脸部图像的采集时间间隔小于或等于预设时长。
例如,所述基于所述至少一个用户的脸部图像确定活体检测训练样本的步骤包括:确定所述至少一个用户的脸部图像中每张脸部图像的标注信息,所述标注信息指示所述脸部图像为活体或非活体;将所述每张脸部图像及其标注信息作为所述活体检测训练样本。
根据本公开的至少一个实施例,提供了一种活体检测算法的更新方法,应用于服务器,所述方法包括:从至少一个客户端接收活体检测算法的损失函数的梯度;基于所述梯度更新所述活体检测算法。
例如,所述至少一个客户端为多个客户端,所述基于所述梯度更新所述活体检测算法的参数的步骤包括:将从所述多个客户端接收到的梯度进行累加;基于累加后的梯度更新所述活体检测算法。
根据本公开的至少一个实施例,提供了一种服务器,所述服务器包括:接收单元,被配置为从至少一个客户端接收脸部图像;确定单元,被配置为基于从所述至少一个客户端接收到的脸部图像确定活体检测训练样本;更新单元,被配置为基于所述活体检测训练样本更新活体检测算法。
根据本公开的至少一个实施例,提供了一种客户端,所述客户端包括:采集单元,被配置为采集至少一个用户的脸部图像;发送单元,被配置为向服务器发送所述采集单元采集到的所述至少一个用户的脸部图像,所述至少一个用户的脸部图像用于所述服务器更新活体检测算法。
根据本公开的至少一个实施例,提供了一种客户端,所述客户端包括:采集单元,被配置为采集至少一个用户的脸部图像;确定单元,被配置为基于所述采集单元采集的所述至少一个用户的脸部图像确定活体检测训练样本;计算单元,被配置为基于所述活体检测训练样本,计算活体检测算法的损失函数的梯度;发送单元,被配置为向服务器发送所述梯度,所述梯度用于所述服务器对活体检测算法进行更新。
根据本公开的至少一个实施例,提供了一种服务器,所述服务器包括:接收单元,被配置为从至少一个客户端接收活体检测算法的损失函数的梯度;更新单元,被配置为基于所述梯度更新活体检测算法。
根据本公开的至少一个实施例,提供了一种服务器,所述服务器包括:处理器,存储器,所述存储器中存储程序指令,所述处理器执行所述程序指令时执行:从至少一个客户端接收脸部图像;基于从所述至少一个客户端接收到的脸部图像确定活体检测训练样本;基于所述活体检测训练样本更新活体检测算法。
根据本公开的至少一个实施例,提供了一种客户端,所述客户端包括:处理器,存储器,所述存储器中存储程序指令,所述处理器执行所述程序指令时执行:采集至少一个用户的脸部图像;向服务器发送所述至少一个用户的脸部图像,所述至少一个用户的脸部图像用于所述服务器更新活体检测算法。
根据本公开的至少一个实施例,提供了一种客户端,所述客户端还包括:处理器,存储器,所述存储器中存储程序指令,所述处理器执行所述程序指令时执行:采集至少一个用户的脸部图像;基于所述至少一个用户的脸部图像确定活体检测训练样本;基于所述活体检测训练样本,计算活体检测算法的损失函数的梯度;向服务器发送所述梯度,所述梯度用于所述服务器对活体检测算法进行更新。
根据本公开的至少一个实施例,提供了一种服务器,所述服务器包括:处理器,存储器,所述存储器中存储程序指令,所述处理器执行所述程序指令时执行:从至少一个客户端接收活体检测算法的损失函数的梯度;基于所述梯度更新活体检测算法。
根据本公开的至少一个实施例,提供了一种非易失性存储介质,所述存储介质中存储计算机程序指令,所述计算机程序指令被处理器加载并执行:从至少一个客户端接收脸部图像;基于从所述至少一个客户端接收到的脸部图像确定活体检测训练样本;基于所述活体检测训练样本更新活体检测算法。
根据本公开的至少一个实施例,提供了一种非易失性存储介质,所述存储介质中存储计算机程序指令,所述计算机程序指令被处理器加载并执行:采集至少一个用户的脸部图像;向服务器发送所述至少一个用户的脸部图像,所述至少一个用户的脸部图像用于所述服务器更新活体检测算法。
根据本公开的至少一个实施例,提供了一种非易失性存储介质,所述存储介质中存储计算机程序指令,所述计算机程序指令被处理器加载并执行:采集至少一个用户的脸部图像;基于所述至少一个用户的脸部图像确定活体检测训练样本;基于所述活体检测训练样本,计算活体检测算法的损失函数的梯度;向服务器发送所述梯度,所述梯度用于所述服务器对活体检测算法进行更新。
根据本公开的至少一个实施例,提供了一种非易失性存储介质,所述存储介质中存储计算机程序指令,所述计算机程序指令被处理器加载并执行:从至少一个客户端接收活体检测算法的损失函数的梯度;基于所述梯度更新活体检测算法。
根据本公开的至少一个实施例,提供了一种人脸活体检测系统,包括:服务器和客户端。
本公开实施例的活体检测算法更新方法,能够对检测算法进行及时更新,有效避免了单一固定算法不能防御新出现的攻击模式的问题,提高了活体检测的检测效率和准确性。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。下面描述中的附图仅仅是本公开的示例性实施例。
图1示出了根据本公开实施例的活体检测算法更新方法;
图2示出了根据本公开实施例的活体检测算法更新方法;
图3示出了根据本公开实施例的活体检测算法更新方法;
图4示出了根据本公开实施例的活体检测算法更新方法;
图5示出了根据本公开实施例的一种客户端;
图6示出了根据本公开实施例的一种服务器;
图7示出了根据本公开实施例的另一种客户端;
图8示出了根据本公开实施例的另一种服务器;
图9示出了根据本公开实施例的另一种客户端;
图10示出了根据本公开实施例的另一种服务器;
图11示出了根据本公开实施例的另一种客户端;
图12示出了根据本公开实施例的另一种服务器;
图13示出了根据本公开实施例的人脸活体检测系统。
具体实施方式
在下文中,将参考附图详细描述本公开的优选实施例。注意,在本说明书和附图中,具有基本上相同步骤和元素用相同的附图标记来表示,且对这些步骤和元素的重复解释将被省略。
图1示出了根据本公开实施例的一种活体检测算法的更新方法100,该方法应用于客户端,参见图1,活体检测算法的更新方法100可以包括以下步骤。
在步骤S101中,采集至少一个用户的脸部图像。
例如,可以采集一个用户的多张脸部图像;或者,也可以采集多个用户的脸部图像,其中针对每个用户采集至少一张脸部图像。
例如,客户端安装有摄像头,使用摄像头对人脸部进行采集,并保存采集到的人脸部图像。此外,客户端还可以设置有人脸检测器,在人脸检测器检测到人的脸部图像后,指示摄像头对人脸部图像进行采集。可以针对每个用户采集一张或多张脸部图像,每个用户的多张脸部图像例如可以是多张独立的图像,该多张独立的图像可以是连续采集的多张图像,也可以不连续采集的多张图像,还可以是一段包含多张图像帧的视频。例如,使用前置摄像头采集的短时间内的一段视频。这里的脸部图像可以是采集到的原始脸部图像,或者是对采集到的脸部图像进行图像预处理之后的图像,或者是利用卷积神经网络对采集到的原始图像进行人脸检测之后从该原始图像中抠出的脸部图像,对此不予限定。
在步骤S102中,向服务器发送至少一个用户的脸部图像,所述至少一个用户的脸部图像用于所述服务器更新活体检测算法。例如,客户端可以通过有线或无线通信网络与服务器连接,并通过网络连接链路向服务器发送采集到的多张脸部图像。
这样,通过向服务器发送至少一个用户的脸部图像,使得服务器能够根据这些脸部图像更新活体检测算法,进而使得活体检测算法能够应对新出现的攻击模式的算法。
另外,本实施例中,客户端不具备活体检测功能。客户端需要对待检测用户进行活体检测时,可以将采集到的待检测用户的脸部图像发送到服务器,由服务器对该脸部图像执行活体检测,然后从服务器接收该脸部图像的活体检测结果。如此,有效节省了客户端的资源。
任何需要进行活体检测的用户都可以是待检测用户。客户端根据从服务器接收到的活体检测结果确定该用户是活体还是非活体。例如,确定该用户是正常的活体人脸,还是使用显示屏幕、纸张或面具进行非正常操作的攻击者。由于活体检测算法是服务器端根据最新的攻击手段进行更新后的,利用更新版本的活体检测算法对待检测用户进行活体检测,可以有效应对新的攻击手段,提高了活体检测的准确性。
此外,根据本公开的一个示例,客户端还可以同时对用户的多张图像进行识别,以确定该图像的用户身份信息。将该用户身份信息和脸部图像同时发送给服务器。
根据本公开的一个示例,客户端在采集至少一个用户的脸部图像之外,还可以获取辅助信息。辅助信息例如可以包括脸部图像的采集时间、客户端的设备标识以及客户端的用户标识中的至少一种。客户端的设备标识可以是该客户端的设备指纹,也可以是该客户端的ID,还可以是其他用来标识该客户端的信息。客户端的用户标识可以是与该客户端绑定用户名或用户账号等用来标识用户的信息,或是通过该客户端登录的用户名或用户账号等用来标识用户的信息。之后,客户端在向服务器发送脸部图像之外,还向服务器发送上述辅助信息。这样,服务器可以基于脸部图像和辅助信息得到训练样本,并利用该训练样本对活体检测算法进行训练以得到更新后的活体检测算法。
脸部图像和辅助信息可以是一起发送的,例如携带在同一消息中进行发送;或者,脸部图像和辅助信息也可以是分开发送的,本公开实施例对此不予限定。
根据本公开的一个示例,辅助信息还可以包括客户端所在的地理位置。
根据本公开的一个示例,在步骤S101采集每个用户的脸部图像之前,客户端可以对于每个用户输出动作提示信息。动作提示信息例如是提示用户做点头、摇头、眨眼、正脸朝向摄像头或侧脸朝向摄像头等动作。然后用户可以根据动作提示信息作出相应动作,这样步骤S101可以采集用户做出相应动作时的至少一张脸部图像。这样,可以判断采集到的至少一张脸部图像是否与提示的动作相匹配,如果匹配则可能确定为是活体用户,如果不匹配则可能是攻击用户。如此采集不同动作的人脸图像,可以避免单一的正脸图像过于简单化、易于被攻击的缺陷,增强了检测的准确性。可选地,该动作提示信息提示的动作可以是随机生成的一个或多个动作,这样能够避免攻击者预先获知相应的动作而制作具有相应动作的攻击视频。
根据本公开的一个示例,还可以分别在至少一种脸部照射光模式中的每种照射光模式下采集每个用户的至少一张脸部图像。例如,可以通过动态的改变照射光的发光颜色来动态改变照射到待检测用户的照射光的模式。还可以通过动态的改变照射光照射到待检测用户的位置(即,改变照射光的位置)来动态改变照射到待检测用户的照射光的模式。再例如,还可以通过动态地同时改变照射光的发光颜色以及照射光照射到待检测用户的位置来动态改变照射到待检测用户的照射光的模式。还例如,可以通过改变光源的位置来动态的改变照射光照射到待检测用户的位置。又例如,还可以通过改变光源的出射光线的角度来动态的改变照射光照射到待检测用户的位置。在一些示例中,可以采用客户端的显示屏作为光源,通过改变显示屏上显示的内容来改变照射光的模式。
然后,服务器可以基于所接收的脸部图像中的光反射特性判断待检测用户是否为活体人脸。具体参考图2所示实施例的相应内容。以上描述了根据本公开实施例的活体检测算法的更新方法,客户端将采集到的脸部图像发送给服务端,服务器端基于该图像得到训练样本,对已有的活体检测算法进行更新。由此,活体检测算法能够及时得到更新,有效避免了单一固定算法不能防御新出现的攻击模式的问题,提高了活体检测的检测效率和准确性。
下面将进一步描述应用于服务器端的人脸活体检测算法更新方法,该更新方法与前述实施例中的活体检测算法的更新方法对应,在此适当省略相应的内容。图2示出了根据本公开实施例的活体检测算法更新方法200。参见图2,该更新方法可以包括以下步骤。
在步骤S201中,从至少一个客户端接收脸部图像。可以从至少一个客户端中的每个客户端接收至少一张脸部图像。
在步骤S202中,基于从至少一个客户端接收到的脸部图像确定活体检测训练样本。
根据本公开的一个示例,活体检测训练样本的形式可以包括脸部图像和该脸部图像的标注信息。服务器可以确定接收到的多张脸部图像中每张脸部图像的标注信息,该标注信息指示脸部图像是活体或非活体,然后将每张脸部图像及其标注信息作为活体检测训练样本。例如,服务器可以使用训练好的活体检测算法对脸部图像进行活体检测,该检测算法可以是基于神经网络(如卷积神经网络)实现的。也可以进行人工检测并标注是活体还是非活体。
根据本公开的一个示例,从每个客户端接收到的脸部图像是用户根据动作提示信息做出相应动作时采集的。
之后,服务器端判断脸部图像中的脸部动作是否与动作提示信息提示的动作匹配;并根据匹配结果确定脸部图像的标注信息。例如,服务器进一步判断脸部图像是否与提示的动作相匹配,如果匹配则可以确定并标注为是活体用户,如果不匹配则可以确定并标注为攻击用户。如此采集不同动作的人脸图像,可以避免单一的正脸图像过于简单化、易于被攻击,增强了检测的准确性。
根据本公开的一个示例,从每个客户端接收到的脸部图像是在至少一种照射光模式下采集的,服务器可以根据脸部图像的光反射特性来确定每张脸部图像的标注信息。
然后,服务器基于所接收的脸部图像中的光反射特性判断待检测用户是否为活体人脸。例如人脸的人类皮肤是一种漫反射的材质,而且人脸是三维的;与此相反,例如液晶显示器(LCD)或有机发光二极管(OLED)显示器的显示屏幕可以被认为是自发光的物体并且还通常包括部分镜面反射分量,而照片等通常是平面的并且也通常包括部分镜面反射分量,而且无论是显示屏幕还是照片,其整体上的反射特性是均匀的且缺乏人脸的三维特性。人脸的光反射特性与显示屏幕或者照片的光反射特性不同,由此可以通过基于待检测用户的光反射特性判断待检测用户是否为活体人脸,并进行标注。
根据本公开的另一个示例,还可以从至少一个客户端中的每个客户端接收辅助信息,该辅助信息包括:每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种。相应地,在步骤S202中,基于从至少一个客户端接收到的脸部图像确定活体检测训练样本的步骤包括:基于从述至少一个客户端接收到的脸部图像和辅助信息确定活体检测训练样本。
根据本公开的另一个示例,活体检测样本还可以包括样本对。例如根据从至少一个客户端接收到的辅助信息,将从至少一个客户端接收到的多张脸部图像中满足预定条件的至少两张脸部图像作为样本对,该至少两张脸部图像均为活体或均为非活体。可选地,预定条件可以是至少两张脸部图像的采集时间间隔小于或等于预设时长,并且对应的设备标识相同。例如,同一客户端设备采集的一个视频段中的前后两帧,或者同一摄像头采集的采集时间在2秒内的两张脸部图像,可以认为均为活体或非活体。可选地,预定条件还可以是至少两张脸部图像的采集时间间隔小于或等于预设时长,并且对应的客户端的用户标识相同。例如,同一个用户标识的客户端采集的时间间隔在2秒内的两张脸部图像,可以认为均为活体或非活体。可选地,预定条件还可以是至少两张脸部图像的采集时间间隔小于或等于预设时长,并且对应的设备标识或用户标识不同,例如,如果同时从两个客户端接收到了两张相同的脸部图像,则可以认为这两张脸部图像为攻击图像,即为非活体。可选地,预定条件还可以是至少两张图像的设备标识或用户标识相同,此时可以将来自同一客户端或来自使用同一用户标识的客户端的至少两张图像作为样本对。这里的预设时长可以是根据实际需要预先设定的时长。
根据本公开的一个示例,辅助信息还可以包括客户端所在的地理位置。相应地,样本对中的至少两张脸部图像满足的预定条件还可以是:至少两张脸部图像的采集时间小于或等于预设时长,并且对应的客户端的地理位置不同。例如,如果同时从位于不同位置的两个客户端接收到了两张相同的脸部图像,则可以认为这两种脸部图像为攻击图像,即为非活体。辅助信息还可以包括其他能够用于确定样本对的其他信息,本公开实施例对此不作限定。
根据本公开的一个示例,上述脸部图像的采集时间、客户端的设备标识以及客户端的用户标识可以是从客户端接收的辅助信息中获得的。
根据本公开的一个示例,样本对可以不进行信息标注。或者,服务器也可以对样本对进行标注,例如,当确定样本对中一个样本是活体时,可以直接确定另一个样本也是活体,不需要再对另一个样本进行活体检测。同样,当确定样本对中一个样本是非活体时,可以直接确定另一个样本也是非活体。这样,可以提高样本标注的效率,也能够保证样本标注的准确性。
在步骤S203中,基于活体检测训练样本更新活体检测算法。
例如,活体检测算法是由神经网络实现的,服务器利用活体检测训练样本训练神经网络,计算该神经网络的损失函数的值,根据该值调整活体检测算法。例如,可以根据损失函数,使用基于梯度的优化算法(如梯度下降算法、Adagrad算法或RMSProp算法等)来调整活体检测算法中的参数,以得到更新后的活体检测算法。例如使用基于梯度的优化算法计算损失函数最小化时活体检测算法的参数,以对活体检测算法原有的参数进行更新,从而得到更新后的活体检测算法。
根据本公开的一个示例,对于包括脸部图像和该脸部图像的标注信息的活体检测训练样本,可以定义该活体检测算法(即用于实现该活体检测算法神经网络)的损失函数J1为:
J1=yloga x+(1-y)loga(1-x)
其中x为活体检测算法的输出。x为0-1的值,x的值表示活体检测训练样本中的脸部图像是攻击图像的概率。y为训练样本中对应该脸部图像的标注。y的取值为0或1,其中0表示非攻击,1表示攻击。a为常数,且取值不限。
根据本公开的另一个示例,对于样本对形式的活体检测训练样本,若样本对中包括两个样本,则可以定义该活体检测算法(即用于实现该活体检测算法神经网络)的损失函数为:
J2=(x1–x2)2
其中,x1,x2分别为样本对中的两个样本的活体检测算法的输出。x为0-1的值,x的值表示样本中的脸部图像是攻击图像的概率。
根据本公开的另一个示例,当训练样本同时包括两种形式,既包括具有脸部图像和该脸部图像的标注信息的活体检测训练样本,又包括样本对时,活体检测算法的损失函数可以定义为J=J1+J2,其中J1和J2为前述损失函数。
根据本公开的一个示例,服务器还可以判断活体检测训练样本的数量。当该数量高于预设阈值时,再利用基于梯度的优化算法更新第二活体检测算法的参数。当该数量低于预设阈值时,则不进行活体检测算法的更新,以节省系统资源。
根据本公开的一个示例,服务器在更新活体检测算法之前,可以基于旧版本的活体检测算法进行活体检测,以确定活体检测结果,然后将该活体检测结果发送至请求活体检测的客户端。
以上介绍了根据本公开实施例的活体检测算法的更新方法。服务器端基于从客户端接收的脸部图像,确定活体检测训练样本,并基于该训练样本更新活体检测算法。由于活体检测算法能够根据最新的训练样本进行及时更新,有效提高了检测算法检测准确性,即使对于最新的攻击模式,都能够予以应对。
前述活体检测方法在客户端直接收集用户的人脸图片等个人信息,并将脸部图像发送给服务器,而在图像传输的过程中,如果安全防范措施不够,容易造成用户个人信息的泄漏,因此,随着用户的隐私意识的提高,在利用业务数据时也必须考虑到隐私保护的问题。下面将进一步介绍根据本公开实施例的另一种活体检测算法的更新方法。能够有效保护用户的隐私。
图3示出了根据本公开实施例的另一种活体检测算法更新方法300,应用于客户端。该方法与前述实施例的不同之处在于,客户端可以运行本地的活体检测算法来实现活体检测功能,在由客户端采集到用户的脸部图像之后,不直接将该脸部图像发送给服务器端,而是利用该脸部图像确定活体检测训练样本,并基于该训练样本计算活体检测算法的损失函数的梯度,然后将该梯度发送给服务器,使得服务器能够根据该梯度更新服务器上的活体检测算法,从而能够使得其他客户端从服务器上下载的是最新的活体检测算法。客户端也可以根据梯度更新本地的活体检测算法,使得本地的活体检测算法能够根据最新的训练样本进行及时更新,有效提高了检测算法检测准确性,即使对于最新的攻击模式,都能够予以应对。这里主要描述与前述实施例的不同之处,其他内容可以参考图1和图2所示实施例的相应内容,在此不再赘述。参见图3,该方法可以包括以下步骤。
在步骤S301中,采集至少一个用户的脸部图像。具体可以参考图1所示方法的相应内容,在此不再赘述。
在步骤S302中,基于至少一个用户的脸部图像确定活体检测训练样本。
根据本公开的一个示例,活体检测训练样本的形式可以包括脸部图像和该脸部图像的标注信息。客户端可以对采集的脸部图像进行活体检测,来确定是活体还是非活体。例如,客户端可以从与服务器连接的云服务器下载活体检测算法进行活体检测。然后基于检测结果确定多张脸部图像中每张脸部图像的标注信息,该标注信息指示脸部图像是活体或非活体。然后将每张脸部图像及其对应标注信息作为活体检测训练样本。例如,客户端可以使用训练好的检测装置对脸部图像进行活体检测和标注。也可以进行人工检测和标注。根据本公开的一个示例,每个用户的脸部图像是用户根据动作提示信息做出相应动作时采集的。之后,客户端可以判断每个用户的脸部图像中的脸部动作是否与动作提示信息提示的动作匹配;并根据匹配结果确定多张脸部图像的标注信息。例如,客户端判断采集到的基于提示信息作出的动作多张脸部图像是否与提示的动作相匹配,如果匹配则可以确定并标注为是活体用户,如果不匹配则可以确定并标注为攻击用户。如此采集不同动作的人脸图像,可以避免单一的正脸图像过于简单化、易于被攻击的缺陷,增强了检测的准确性。
根据本公开的一个示例,每个用户的脸部图像是在多种照射光模式下采集的,客户端根据脸部图像的光反射特性来确定每张脸部图像的标注信息。
根据本公开的另一个示例,活体检测样本还可以包括样本对。例如将多张脸部图像中满足预定条件的至少两张脸部图像作为样本对,该至少两张脸部图像均为活体或均为非活体。例如,预定条件可以是至少两张脸部图像的采集时间间隔小于或等于预设时长,并且对应的设备标识相同。例如,客户端设备采集的一个视频段中的前后两帧。或者同一摄像头采集的采集时间在2秒内的两张图像。预定条件还可以是满足至少两张脸部图像的采集时间间隔小于或等于预设时长,并且对应的客户端的用户标识相同。例如,同一个用户标识的客户端采集时间间隔在2秒内的两张图像。
根据本公开的一个示例,图3所示方法还可以包括:获取辅助信息,该辅助信息至少包括脸部图像的采集时间。在步骤302中,基于至少一个用户的脸部图像确定活体检测训练样本的步骤可以包括:根据辅助信息,将至少一个用户的脸部图像中满足预定条件的至少两张脸部图像作为样本对;将该样本对作为活体检测训练样本。
根据本公开的示例,样本对可以不进行标注,也可以进行标注。例如,客户端可以确定样本对的标注信息,当确定样本对中一个样本是活体时,可以直接确定另一个样本也是活体,无需再进行活体检测。同样,当确定样本对中一个样本是非活体时,也可以直接确定另一个样本也是非活体。这样,可以提高样本标注的效率,也能够保证样本标注的准确性。
在步骤S303中,基于活体检测训练样本,计算活体检测算法的损失函数的梯度。这里的损失函数与前述实施例中的示例相同,在此不再赘述,详细内容可以参见前述实施例。
在步骤S304中,向服务器发送该梯度,该梯度用于服务器对活体检测算法进行更新。
例如,客户端使用活体检测训练样本训练活体检测算法,计算损失函数的梯度。并将梯度发送给服务器。
以上介绍了根据本公开实施例的活体检测算法更新方法,由客户端根据采集的图像计算活体检测算法的损失函数的梯度,将梯度发送给服务器来更新检测算法。由于该方法不需要直接将采集的人脸图像进行传输,避免了人脸图像在传输过程中被截获,保证了用户的隐私。
下面将进一步介绍根据本公开实施例的活体检测算法的更新方法,应用于服务器端,该更新方法与上述应用在客户端的活体检测算法的更新方法对应,适当省略相应内容。图4示出了根据本公开实施例的活体检测算法的更新方法,可以包括以下步骤。
在步骤S401中,从至少一个客户端接收活体检测算法的损失函数的梯度。例如,当有一个客户端时,服务器从该客户端接收该客户端计算出的活体检测算法的损失函数的梯度。当有多个客户端时,服务器分别从多个客户端接收其计算出的活体检测算法的损失函数的梯度,并将从多个客户端接收到的梯度进行累加,得到累加后的梯度。
在步骤S402中,基于梯度更新活体检测算法。
根据本公开的一个示例,在获得梯度后,服务器使用基于梯度的优化算法来调整活体检测算法中的参数。例如使用基于梯度的优化算法计算使活体检测算法的损失函数最小化时活体检测算法的参数,以对活体检测算法进行更新,得到更新后的活体检测算法。当服务器获得从多个客户端接收到的梯度累加值后,可以基于累加后的梯度更新活体检测算法的参数。活体检测算法的参数可以包括多个参数。
这样,可以根据客户端的反馈及时更新服务器上的活体检测算法,从而使得其他客户端从服务器上下载的活体检测算法是最新的。
本公开上述实施例的服务器,直接从客户端接收计算好的损失函数的梯度,使用梯度来更新活体检测算法,避免了用户脸部图像的直接传输,有效保护了用户的隐私。
以上介绍了根据本公开实施例的两种活体检测算法的更新方法,下面将进一步介绍执行上述方法的客户端和服务器。这里的两种客户端分别与前述实施例中的两种活体检测算法的更新方法对应;两种服务器分别与前述实施例中的活体检测算法的更新方法对应,为了说明书的简洁,以下仅作简要描述,具体内容可参见前述实施例的内容。
图5示出了根据本公开实施例的一种客户端500,客户端500对应于图1所示的活体检测算法的更新方法100,在此适当省略了相应内容。参见图5,客户端500包括:采集单元501,发送单元502。采集单元501被配置为采集至少一个用户的脸部图像。发送单元502被配置为向服务器发送采集单元采集到的至少一个用户的脸部图像,至少一个用户的脸部图像用于服务器更新活体检测算法。
根据本公开的一个示例,客户端500还可以包括获取单元(图5未示出),被配置为获取辅助信息。相应地,发送单元502还可以发送获取模块获取的辅助信息。
根据本公开的一个示例,客户端500还可以包括输出单元(图5未示出),用于在采集每个用户的脸部图像之前,对于每个用户输出动作提示信息。采集单元501具体被配置为采集用户做出相应动作时的至少一张脸部图像。
根据本公开的一个示例,客户端500还可以包括控制单元(图5未示出),用于控制显示屏上显示的内容以改变照射光的模式。采集单元501具体被配置为分别在至少一种脸部照射光模式中的每种照射光模式下采集每个用户的至少一张脸部图像。
采集单元501可以由摄像头实现,发送单元502可以由发射器实现,输出单元可以由显示屏或扬声器实现,获取单元和控制单元可以由处理器实现。
图6示出了根据本公开实施例的服务器600。服务器600对应于图2所示的活体检测算法的更新方法200,在此适当省略了相应内容。参见图6,服务器600包括:接收单元601,确定单元602,更新单元603。根据本公开的一个示例,接收单元601被配置为从至少一个客户端接收脸部图像。确定单元602被配置为基于从至少一个客户端接收到的脸部图像确定活体检测训练样本。更新单元603被配置为基于活体检测训练样本更新活体检测算法。
接收单元601可以由接收器实现,确定单元602和更新单元603可以由处理器实现。
图7示出了根据本公开实施例的另一种客户端700。客户端700对应于图3所示的活体检测算法的更新方法300,在此适当省略了相应内容。参见图7,该客户端700包括:采集单元701,确定单元702,计算单元703,发送单元704。根据本公开的一个示例,采集单元701被配置为采集至少一个用户的脸部图像;确定单元702被配置为基于采集单元采集的至少一个用户的脸部图像确定活体检测训练样本;计算单元703被配置为基于活体检测训练样本,计算活体检测算法的损失函数的梯度;发送单元704被配置为向服务器发送梯度,梯度用于服务器对活体检测算法进行更新。
根据本公开的一个示例,客户端700还可以包括获取单元(图7未示出),被配置为获取辅助信息。
根据本公开的一个示例,客户端700还可以包括输出单元(图7未示出),用于在采集每个用户的脸部图像之前,对于每个用户输出动作提示信息。采集单元701具体被配置为采集用户做出相应动作时的至少一张脸部图像。
根据本公开的一个示例,客户端700还可以包括控制单元(图7未示出),用于控制显示屏上显示的内容以改变照射光的模式。采集单元701具体被配置为分别在至少一种脸部照射光模式中的每种照射光模式下采集每个用户的至少一张脸部图像。
采集单元701可以由摄像头实现,确定单元702、计算单元703、获取单元和控制单元均可以由处理器实现,发送单元704可以由发射器实现,输出单元可以由显示屏或扬声器实现。图8示出了根据本公开实施例的另一种服务器800。服务器800对应于图4所示的活体检测算法的更新方法400,在此适当省略了相应内容。参见图8,服务器800包括:接收单元801,更新单元802。根据本公开的一个示例,接收单元801被配置为从至少一个客户端接收活体检测算法的损失函数的梯度;更新单元802被配置为基于梯度更新活体检测算法。
接收单元801可以由接收器实现,更新单元803可以由处理器实现。
以上介绍了根据本公开实施例的两种与前述实施例的方法对应的客户端和服务器。下面将进一步介绍两种客户端和两种服务器。这里的两种客户端分别实施前述实施例中的两种人脸活体检测算法更新方法的对应硬件装置;两种服务器分别是实施前述实施例中的人脸活体检测算法更新方法的硬件装置。为了说明书的简洁,以下仅作简要描述,具体内容可参见前述实施例的内容。
图9示出了根据本公开实施例的客户端900。客户端900包括处理器901,存储器902。存储器902中存储程序指令,处理器901执行程序指令时执行:采集至少一个用户的脸部图像;向服务器发送至少一个用户的脸部图像,至少一个用户的脸部图像用于服务器更新活体检测算法。
图10示出了根据本公开实施例的服务器1000。服务器1000包括处理器1001,存储器1002。存储器1002中存储程序指令,处理器1001执行程序指令时执行:从至少一个客户端接收脸部图像;基于从至少一个客户端接收到的脸部图像确定活体检测训练样本;基于活体检测训练样本更新活体检测算法。向客户端发送第一活体检测算法。
图11示出了根据本公开实施例的客户端1100。客户端1100包括处理器1101,存储器1102。存储器1102中存储程序指令,处理器1101执行程序指令时执行:采集至少一个用户的脸部图像;基于至少一个用户的脸部图像确定活体检测训练样本;基于活体检测训练样本,计算活体检测算法的损失函数的梯度;向服务器发送梯度,梯度用于服务器对活体检测算法进行更新。
图12示出了根据本公开实施例的服务器1200。服务器1200包括处理器1201,存储器1202。存储器1202中存储程序指令,处理器1201执行程序指令时执行:从至少一个客户端接收活体检测算法的损失函数的梯度;基于梯度更新活体检测算法。
以上介绍了根据本公开实施例的两种与前述实施例的方法对应的客户端和服务器。下面将进一步介绍四种非易失性存储介质。这里的非易失性存储介质分别为与前述实施例中的两种人脸活体检测方法以及前述实施例中的人脸活体检测算法更新方法对应的存储介质。为了说明书的简洁,以下仅作简要描述,具体内容可参见前述实施例的内容。
根据本公开的一个实施例,提供了一种非易失性存储介质,存储介质中存储计算机程序指令,计算机程序指令被处理器加载并执行:从至少一个客户端接收脸部图像;基于从至少一个客户端接收到的脸部图像确定活体检测训练样本;基于活体检测训练样本更新活体检测算法。
根据本公开的一个实施例,提供了一种非易失性存储介质,存储介质中存储计算机程序指令,计算机程序指令被处理器加载并执行:采集至少一个用户的脸部图像;向服务器发送至少一个用户的脸部图像,至少一个用户的脸部图像用于服务器更新活体检测算法。
根据本公开的一个实施例,提供了一种非易失性存储介质,存储介质中存储计算机程序指令,计算机程序指令被处理器加载并执行:采集至少一个用户的脸部图像;基于至少一个用户的脸部图像确定活体检测训练样本;基于活体检测训练样本,计算活体检测算法的损失函数的梯度;向服务器发送梯度,梯度用于服务器对活体检测算法进行更新。
根据本公开的一个实施例,提供了一种非易失性存储介质,存储介质中存储计算机程序指令,计算机程序指令被处理器加载并执行:从至少一个客户端接收活体检测算法的损失函数的梯度;基于梯度更新活体检测算法。
根据本公开的一个实施例,还提供了一种人脸活体检测系统。图13示出了根据本公开实施例的人脸活体检测系统1300。参见图13,人脸活体检测系统1300包括客户端1301和服务器1302。客户端1301例如可以是前述实施例的客户端500,服务器1302例如可以是前述实施例中的服务器600。或者,客户端1301还例如可以是前述实施例的客户端700,服务器1302例如可以是前述实施例中的服务器800。或者,客户端1301还例如是前述实施例的客户端900,服务器1302例如是前述实施例中的服务器1000。或者,客户端1301还例如是前述实施例的客户端1100,服务器1302是前述实施例中的服务器1200。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。并且软件模块可以置于任意形式的计算机存储介质中。为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本领域技术人员应该理解,可依赖于设计需求和其它因素对本公开进行各种修改、组合、部分组合和替换,只要它们在所附权利要求书及其等价物的范围内。

Claims (27)

1.一种活体检测算法的更新方法,应用于服务器,所述方法包括:
从至少一个客户端接收脸部图像;
从所述至少一个客户端中的每个客户端接收辅助信息,所述辅助信息包括:所述每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种;
基于从所述至少一个客户端接收到的脸部图像和辅助信息确定活体检测训练样本;
基于所述活体检测训练样本更新活体检测算法,
其中,所述基于从所述至少一个客户端接收到的脸部图像和辅助信息确定活体检测训练样本的步骤包括:
根据所述辅助信息,将从所述至少一个客户端接收到的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
2.根据权利要求1所述的方法,其中所述预定条件包括:
所述样本对中的至少两张脸部图像的采集时间间隔小于或等于预设时长,并且设备标识或用户标识相同;
或者,所述样本对中的至少两张脸部图像的采集时间间隔小于或等于预设时长,并且设备标识或用户标识不同;
或者,所述样本对中的至少两张脸部图像的设备标识或用户标识相同。
3.根据权利要求1所述的方法,其中,基于从所述至少一个客户端接收到的脸部图像确定活体检测训练样本的步骤还包括:
确定从所述至少一个客户端接收到的每张脸部图像的标注信息,所述标注信息指示所述脸部图像是活体或非活体;
将所述每张脸部图像及其标注信息作为所述活体检测训练样本。
4.根据权利要求3所述的方法,还包括:对从所述至少一个客户端接收到的脸部图像进行活体检测,得到活体检测结果,
所述确定从所述至少一个客户端接收到的每张脸部图像的标注信息的步骤包括:
根据所述活体检测结果确定从所述至少一个客户端接收到的每张脸部图像的标注信息。
5.根据权利要求3所述的方法,其中,从所述至少一个客户端中的每个客户端接收到的至少一张脸部图像是用户根据动作提示信息做出相应动作时采集的,
所述确定从所述至少一个客户端中的每个客户端接收到的每张脸部图像的标注信息步骤包括:
判断从所述每个客户端接收到的至少一张脸部图像中的脸部动作是否与所述动作提示信息提示的动作匹配;
根据匹配结果确定所述每张脸部图像的标注信息。
6.根据权利要求3所述的方法,其中,从所述至少一个客户端中的每个客户端接收到的至少一张脸部图像是在至少一种照射光模式下采集的,
所述确定从所述至少一个客户端中的每个客户端接收到的每张脸部图像的标注信息步骤包括:
根据从所述每个客户端接收到的至少一张脸部图像的光反射特性来确定所述每张脸部图像的标注信息。
7.一种活体检测算法的更新方法,应用于客户端,所述方法包括:
采集至少一个用户的脸部图像;
获取辅助信息,所述辅助信息包括:脸部图像的采集时间、所述客户端的设备标识以及所述客户端的用户标识中的至少一种;
向服务器发送所述至少一个用户的脸部图像,所述至少一个用户的脸部图像用于所述服务器更新活体检测算法,
向所述服务器发送所述辅助信息,所述辅助信息用于所述服务器得到用于更新活体检测算法的训练样本,
其中,所述服务器得到用于更新活体检测算法的训练样本包括:
根据所述辅助信息,将从所述客户端接收到的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
8.根据权利要求7所述的方法,所述采集至少一个用户的脸部图像的步骤包括:
对于所述至少一个用户中的每个用户,输出动作提示信息;
采集所述每个用户基于所述动作提示信息做出相应动作时的至少一张脸部图像。
9.根据权利要求7或8所述的方法,其中,所述采集至少一个用户的脸部图像的步骤包括:
分别在至少一种脸部照射光模式下采集所述至少一个用户中每个用户的至少一张脸部图像。
10.一种活体检测算法的更新方法,应用于客户端,所述方法还包括:
采集至少一个用户的脸部图像;
获取辅助信息,所述辅助信息包括每张脸部图像的采集时间;基于所述至少一个用户的脸部图像确定活体检测训练样本;
基于所述活体检测训练样本,计算活体检测算法的损失函数的梯度;
向服务器发送所述梯度,所述梯度用于所述服务器对活体检测算法进行更新,
其中,所述基于所述至少一个用户的脸部图像确定活体检测训练样本的步骤包括:
根据所述辅助信息,将所述至少一个用户的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
11.根据权利要求10所述的方法,其中,所述预定条件包括:
所述样本对中的至少两张脸部图像的采集时间间隔小于或等于预设时长。
12.根据权利要求10所述的方法,其中,所述基于所述至少一个用户的脸部图像确定活体检测训练样本的步骤还包括:
确定所述至少一个用户的脸部图像中每张脸部图像的标注信息,所述标注信息指示所述脸部图像为活体或非活体;
将所述每张脸部图像及其标注信息作为所述活体检测训练样本。
13.一种活体检测算法的更新方法,应用于服务器,所述方法包括:
从至少一个客户端接收活体检测算法的损失函数的梯度;
基于所述梯度更新所述活体检测算法,
其中所述梯度是所述至少一个客户端根据以下步骤计算得到的:
采集至少一个用户的脸部图像;
获取辅助信息,所述辅助信息包括每张脸部图像的采集时间;基于所述至少一个用户的脸部图像确定活体检测训练样本;
基于所述活体检测训练样本,计算活体检测算法的损失函数的所述梯度,并且
其中,所述基于所述至少一个用户的脸部图像确定活体检测训练样本的步骤包括:
根据所述辅助信息,将所述至少一个用户的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
14.根据权利要求13所述的方法,其中,所述至少一个客户端为多个客户端,所述基于所述梯度更新所述活体检测算法的参数的步骤包括:
将从所述多个客户端接收到的梯度进行累加;
基于累加后的梯度更新所述活体检测算法。
15.一种服务器,所述服务器包括:
接收单元,被配置为从至少一个客户端接收脸部图像和辅助信息,所述辅助信息包括:所述每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种;
确定单元,被配置为基于从所述至少一个客户端接收到的脸部图像和所述辅助信息确定活体检测训练样本;
更新单元,被配置为基于所述活体检测训练样本更新活体检测算法,
其中,所述基于从所述至少一个客户端接收到的脸部图像和所述辅助信息确定活体检测训练样本包括:
根据所述辅助信息,将从所述至少一个客户端接收到的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
16.一种客户端,所述客户端包括:
采集单元,被配置为采集至少一个用户的脸部图像和辅助信息,所述辅助信息包括:所述每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种;
发送单元,被配置为向服务器发送所述采集单元采集到的所述至少一个用户的脸部图像和所述辅助信息,所述至少一个用户的脸部图像和所述辅助信息用于所述服务器更新活体检测算法,
其中,所述服务器根据所述辅助信息,将从所述客户端接收到的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;并且将所述样本对作为所述活体检测训练样本。
17.一种客户端,所述客户端包括:
采集单元,被配置为采集至少一个用户的脸部图像和辅助信息,所述辅助信息包括:所述每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种;
确定单元,被配置为基于所述采集单元采集的所述至少一个用户的脸部图像和所述辅助信息确定活体检测训练样本;
计算单元,被配置为基于所述活体检测训练样本,计算活体检测算法的损失函数的梯度;
发送单元,被配置为向服务器发送所述梯度,所述梯度用于所述服务器对活体检测算法进行更新,
其中,所述确定单元基于所述采集单元采集的所述至少一个用户的脸部图像和所述辅助信息确定活体检测训练样本包括:
根据所述辅助信息,将所述至少一个用户的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
18.一种服务器,所述服务器包括:
接收单元,被配置为从至少一个客户端接收活体检测算法的损失函数的梯度;
更新单元,被配置为基于所述梯度更新活体检测算法,
其中所述梯度是所述至少一个客户端根据以下步骤计算得到的:
采集至少一个用户的脸部图像;
获取辅助信息,所述辅助信息包括每张脸部图像的采集时间;
基于所述至少一个用户的脸部图像确定活体检测训练样本;
基于所述活体检测训练样本,计算活体检测算法的损失函数的所述梯度,并且
其中,所述基于所述至少一个用户的脸部图像确定活体检测训练样本的步骤包括:
根据所述辅助信息,将所述至少一个用户的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
19.一种服务器,所述服务器包括:处理器,存储器,所述存储器中存储程序指令,所述处理器执行所述程序指令时执行:
从至少一个客户端接收脸部图像和辅助信息,所述辅助信息包括:所述每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种;
基于从所述至少一个客户端接收到的脸部图像和所述辅助信息确定活体检测训练样本;
基于所述活体检测训练样本更新活体检测算法,
其中,所述基于从所述至少一个客户端接收到的脸部图像和辅助信息确定活体检测训练样本的步骤包括:
根据所述辅助信息,将从所述至少一个客户端接收到的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
20.一种客户端,所述客户端包括:处理器,存储器,
所述存储器中存储程序指令,所述处理器执行所述程序指令时执行:
采集至少一个用户的脸部图像和辅助信息,所述辅助信息包括:所述每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种;
向服务器发送所述至少一个用户的脸部图像和所述辅助信息,所述至少一个用户的脸部图像和所述辅助信息用于所述服务器更新活体检测算法,
其中,所述服务器根据所述辅助信息,将从所述客户端接收到的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;并且将所述样本对作为所述活体检测训练样本。
21.一种客户端,所述客户端还包括:处理器,存储器,
所述存储器中存储程序指令,所述处理器执行所述程序指令时执行:
采集至少一个用户的脸部图像和辅助信息,所述辅助信息包括:所述每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种;
基于所述至少一个用户的脸部图像和所述辅助信息确定活体检测训练样本;
基于所述活体检测训练样本,计算活体检测算法的损失函数的梯度;
向服务器发送所述梯度,所述梯度用于所述服务器对活体检测算法进行更新,
其中,基于所述至少一个用户的脸部图像和所述辅助信息确定活体检测训练样本包括:
根据所述辅助信息,将所述至少一个用户的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
22.一种服务器,所述服务器包括:处理器,存储器,
所述存储器中存储程序指令,所述处理器执行所述程序指令时执行:
从至少一个客户端接收活体检测算法的损失函数的梯度;
基于所述梯度更新活体检测算法,
其中所述梯度是所述至少一个客户端根据以下步骤计算得到的:
采集至少一个用户的脸部图像;
获取辅助信息,所述辅助信息包括每张脸部图像的采集时间;
基于所述至少一个用户的脸部图像确定活体检测训练样本;
基于所述活体检测训练样本,计算活体检测算法的损失函数的所述梯度,并且
其中,所述基于所述至少一个用户的脸部图像确定活体检测训练样本的步骤包括:
根据所述辅助信息,将所述至少一个用户的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
23.一种非易失性存储介质,所述存储介质中存储计算机程序指令,所述计算机程序指令被处理器加载并执行:
从至少一个客户端接收脸部图像和辅助信息,所述辅助信息包括:所述每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种;
基于从所述至少一个客户端接收到的脸部图像和所述辅助信息确定活体检测训练样本;
基于所述活体检测训练样本更新活体检测算法,
其中,所述基于从所述至少一个客户端接收到的脸部图像和辅助信息确定活体检测训练样本的步骤包括:
根据所述辅助信息,将从所述至少一个客户端接收到的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
24.一种非易失性存储介质,所述存储介质中存储计算机程序指令,所述计算机程序指令被处理器加载并执行:
采集至少一个用户的脸部图像和辅助信息,所述辅助信息包括:所述每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种;
向服务器发送所述至少一个用户的脸部图像和所述辅助信息,所述至少一个用户的脸部图像和所述辅助信息用于所述服务器更新活体检测算法,
其中,所述服务器根据所述辅助信息,将从所述客户端接收到的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;并且将所述样本对作为所述活体检测训练样本。
25.一种非易失性存储介质,所述存储介质中存储计算机程序指令,所述计算机程序指令被处理器加载并执行:
采集至少一个用户的脸部图像和辅助信息,所述辅助信息包括:所述每个客户端的脸部图像的采集时间、设备标识以及用户标识中的至少一种;
基于所述至少一个用户的脸部图像和所述辅助信息确定活体检测训练样本;
基于所述活体检测训练样本,计算活体检测算法的损失函数的梯度;
向服务器发送所述梯度,所述梯度用于所述服务器对活体检测算法进行更新,
其中,基于所述至少一个用户的脸部图像和所述辅助信息确定活体检测训练样本包括:
根据所述辅助信息,将所述至少一个用户的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
26.一种非易失性存储介质,所述存储介质中存储计算机程序指令,所述计算机程序指令被处理器加载并执行:
从至少一个客户端接收活体检测算法的损失函数的梯度;
基于所述梯度更新活体检测算法,
其中所述梯度是所述至少一个客户端根据以下步骤计算得到的:
采集至少一个用户的脸部图像;
获取辅助信息,所述辅助信息包括每张脸部图像的采集时间;
基于所述至少一个用户的脸部图像确定活体检测训练样本;
基于所述活体检测训练样本,计算活体检测算法的损失函数的所述梯度,并且
其中,所述基于所述至少一个用户的脸部图像确定活体检测训练样本的步骤包括:
根据所述辅助信息,将所述至少一个用户的脸部图像中满足预定条件的至少两张脸部图像作为样本对,并且基于所述辅助信息将所述样本对中的至少两张脸部图像标注为均为活体或非活体;
将所述样本对作为所述活体检测训练样本。
27.一种人脸活体检测系统,包括:
如权利要求15或19所述的服务器和权利要求16或20所述的客户端;或者,
如权利要求17或21所述的客户端和权利要求18或22所述的服务器。
CN201711179923.8A 2017-11-23 2017-11-23 活体检测算法更新方法、装置、客户端、服务器及系统 Active CN108875508B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711179923.8A CN108875508B (zh) 2017-11-23 2017-11-23 活体检测算法更新方法、装置、客户端、服务器及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711179923.8A CN108875508B (zh) 2017-11-23 2017-11-23 活体检测算法更新方法、装置、客户端、服务器及系统

Publications (2)

Publication Number Publication Date
CN108875508A CN108875508A (zh) 2018-11-23
CN108875508B true CN108875508B (zh) 2021-06-29

Family

ID=64325748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711179923.8A Active CN108875508B (zh) 2017-11-23 2017-11-23 活体检测算法更新方法、装置、客户端、服务器及系统

Country Status (1)

Country Link
CN (1) CN108875508B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109919754A (zh) * 2019-01-24 2019-06-21 北京迈格威科技有限公司 一种数据获取方法、装置、终端及存储介质
CN112215974A (zh) * 2020-09-27 2021-01-12 贵州永光盛安防科技有限公司 一种基于人像识别的考勤系统
CN112699811B (zh) * 2020-12-31 2023-11-03 中国联合网络通信集团有限公司 活体检测方法、装置、设备、储存介质及程序产品
CN112818782B (zh) * 2021-01-22 2021-09-21 电子科技大学 一种基于媒介感知的泛化性静默活体检测方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105023010A (zh) * 2015-08-17 2015-11-04 中国科学院半导体研究所 一种人脸活体检测方法及系统
CN105447483A (zh) * 2015-12-31 2016-03-30 北京旷视科技有限公司 活体检测方法及装置
CN105518582A (zh) * 2015-06-30 2016-04-20 北京旷视科技有限公司 活体检测方法及设备、计算机程序产品
CN105989263A (zh) * 2015-01-30 2016-10-05 阿里巴巴集团控股有限公司 身份认证方法、开户方法、装置及系统
CN106407914A (zh) * 2016-08-31 2017-02-15 北京旷视科技有限公司 用于检测人脸的方法、装置和远程柜员机系统
CN106709917A (zh) * 2017-01-03 2017-05-24 青岛海信医疗设备股份有限公司 神经网络模型训练方法、装置及系统
CN106778518A (zh) * 2016-11-24 2017-05-31 汉王科技股份有限公司 一种人脸活体检测方法及装置
CN107273794A (zh) * 2017-04-28 2017-10-20 北京建筑大学 一种人脸识别过程中的活体鉴别方法及装置
CN107368769A (zh) * 2016-05-11 2017-11-21 北京市商汤科技开发有限公司 人脸活体检测方法、装置及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302330B (zh) * 2015-05-21 2021-01-05 腾讯科技(深圳)有限公司 身份验证方法、装置和系统
CN106236060B (zh) * 2015-06-04 2021-04-09 松下知识产权经营株式会社 生物体信息检测装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989263A (zh) * 2015-01-30 2016-10-05 阿里巴巴集团控股有限公司 身份认证方法、开户方法、装置及系统
CN105518582A (zh) * 2015-06-30 2016-04-20 北京旷视科技有限公司 活体检测方法及设备、计算机程序产品
CN105023010A (zh) * 2015-08-17 2015-11-04 中国科学院半导体研究所 一种人脸活体检测方法及系统
CN105447483A (zh) * 2015-12-31 2016-03-30 北京旷视科技有限公司 活体检测方法及装置
CN107368769A (zh) * 2016-05-11 2017-11-21 北京市商汤科技开发有限公司 人脸活体检测方法、装置及电子设备
CN106407914A (zh) * 2016-08-31 2017-02-15 北京旷视科技有限公司 用于检测人脸的方法、装置和远程柜员机系统
CN106778518A (zh) * 2016-11-24 2017-05-31 汉王科技股份有限公司 一种人脸活体检测方法及装置
CN106709917A (zh) * 2017-01-03 2017-05-24 青岛海信医疗设备股份有限公司 神经网络模型训练方法、装置及系统
CN107273794A (zh) * 2017-04-28 2017-10-20 北京建筑大学 一种人脸识别过程中的活体鉴别方法及装置

Also Published As

Publication number Publication date
CN108875508A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
CN108875508B (zh) 活体检测算法更新方法、装置、客户端、服务器及系统
US11321983B2 (en) System and method for identifying and verifying one or more individuals using facial recognition
TWI616822B (zh) 在以影像爲基礎的生物統計中之臉部欺騙偵測技術
CN109492536B (zh) 一种基于5g架构的人脸识别方法及系统
WO2017043314A1 (ja) ガイダンス取得装置、ガイダンス取得方法及びプログラム
CN109272483B (zh) 胶囊内镜阅片及质量控制的系统及控制方法
CN110569808A (zh) 活体检测方法、装置及计算机设备
CN108573202A (zh) 身份认证方法、装置和系统以及终端、服务器和存储介质
CN111597918A (zh) 人脸活体检测模型的训练、检测方法、装置及电子设备
CN110084113B (zh) 活体检测方法、装置、系统、服务器及可读存储介质
CN106937532B (zh) 用于检测真正用户的系统和方法
US11829460B2 (en) Systems and methods for biometric authentication via face covering
US20180085009A1 (en) Method and system for detecting user heart rate using live camera feed
CN108683901B (zh) 一种数据处理方法、mec服务器及计算机可读存储介质
CN111241868A (zh) 一种人脸识别系统、方法及装置
CN113705426A (zh) 人脸校验方法、装置、服务器及可读存储介质
CN111259700B (zh) 用于生成步态识别模型的方法和装置
CN113111810B (zh) 一种目标识别方法和系统
KR20120043995A (ko) 복수개의 카메라를 이용한 관심영역 추출 시스템 및 그 방법
CN108921080A (zh) 图像识别方法、装置及电子设备
CN111325273A (zh) 一种基于用户自主标定的深度学习模型的建立方法及系统
CA2899862A1 (en) Portable device for financial document transactions
KR20170132914A (ko) 사진 이미지 일치 여부에 따른 신원 확인 시스템 및 신원 확인 방법
CN106254818A (zh) 区域的监控方法
US11538283B1 (en) Detecting people wearing masks to prevent impersonation attacks

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