发明内容
鉴于上述问题提出了本发明,以便提供一种至少部分地解决上述问题的终端解锁方法、终端和计算机可读存储介质。
第一方面,本发明实施例提供了一种终端解锁方法,包括:
在检测到用户准备解锁终端时,采集所述用户的人脸图像序列;
对所述人脸图像序列中的当前帧人脸图像执行活体检测;
在所述当前帧人脸图像未通过活体检测的情况下,对下一帧人脸图像执行活体检测;
在所述当前帧人脸图像之后的连续多帧人脸图像均通过了活体检测和人脸识别的情况下,解锁所述终端;
其中,在任一帧人脸图像通过了活体检测的情况下,继续对所述任一帧人脸图像执行人脸识别。
在一些实施例中,所述方法还包括:
记录未通过活体检测的次数,其中所述连续多帧人脸图像的数量是根据当前未通过活体检测的次数确定的。
在一些实施例中,所述在所述当前帧人脸图像之后的连续多帧人脸图像均通过了活体检测和人脸识别的情况下,解锁所述终端,包括:
在所述当前帧人脸图像未通过活体检测之后记录的未通过活体检测的次数为t次,且所述当前帧人脸图像之后的连续N+(t-1)*M帧人脸图像均通过了活体检测和人脸识别的情况下,解锁所述终端,N为大于1的整数,M为正整数,t为正整数。
在一些实施例中,所述方法还包括:
在未通过活体检测的次数大于或等于设定次数的情况下,确定解锁失败。
在一些实施例中,所述方法还包括:
在检测到所述用户准备解锁所述终端时,开始计时;
在超出预设时长仍未解锁所述终端的情况下,确定解锁失败。
第二方面,提供了一种终端,所述终端用于实现以上所述的终端解锁方法。相应地,所述终端包括用于执行以上所述的各个流程的模块或单元。例如,所述终端包括检测单元、图像采集单元和处理单元。
第三方面,提供了一种终端,所述终端用于实现以上所述的终端解锁方法。所述终端包括:存储器,用于存储非暂时性计算机可读指令;以及,处理器,用于运行所述非暂时性计算机可读指令,使得所述终端执行以上所述的终端解锁方法。
第四方面,提供了一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行以上所述的终端解锁方法。
本发明实施例中,若当前帧人脸图像未通过活体检测,则在后续的连续多帧人脸图像均通过活体检测和人脸识别之后才解锁终端,这样能够有效防御非活体人脸攻击,提高了人脸解锁的安全性能。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
本发明实施例中,终端包括但不限于手机、平板电脑、智能手表、可穿戴设备或计算机等。
本发明实施例的终端解锁方法和终端能够对采集到的人脸图像进行活体检测和人脸识别,并根据活体检测和人脸识别的结果判定是否解锁终端。由于对在解锁终端前对人脸图像执行了活体检测,如果无法通过活体检测,则无法解锁终端,因此能够防止非活体人脸攻击,提升了人脸解锁的安全性能。
首先,参照图1来描述用于实现根据本发明实施例的终端100。
如图1所示,终端100可以包括一个或多个处理器102、一个或多个存储器104。可选地,终端100还可以包括图像采集装置110。可选地,终端100还可以包括输入装置106、输出装置108。
这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的终端100的组件和结构只是示例性的,而非限制性的,根据需要,终端也可以具有其他组件和结构。
处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制终端100中的其它组件以执行期望的功能。
存储器104可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器 (cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102 可以运行程序指令,以实现下文的本发明实施例中(由处理器实现)的终端解锁功能以及/或者其它期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。
输入装置106可以是用户用来输入指令的装置,可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
输出装置108可以向外部(例如用户)输出各种信息(例如图像和/或声音),可以包括显示器、扬声器等中的一个或多个。
图像采集装置110可以采集图像(包括视频帧),并且将所采集的图像存储在存储器104中以供其它组件使用。应当理解,图像采集装置110仅是示例,终端100可以不包括图像采集装置110。在这种情况下,可以利用其他图像采集装置采集人脸图像,并将采集的图像发送给终端100。
可选地,终端100还可以包括设备传感器(未示出),设备传感器可以是任何合适的能够检测终端100的状态(例如速度、光照)的传感器,例如陀螺仪、加速度计等。设备传感器可以将其采集到的传感器数据存储在存储器104 中以供其它组件使用。
图2是根据本发明实施例的终端解锁方法的示意性流程图。如图2所示,该终端解锁方法包括如下内容。
210、在确定用户准备解锁终端时,采集用户的人脸图像序列。其中该人脸图像序列可以包括多帧人脸图像。
本发明实施例中可以采用多种方法确定用户是否要准备解锁终端。例如,可以通过终端的屏幕的变化,例如是否从黑屏状态变换到了亮屏状态,确定用户是否准备解锁终端;或者,还可以根据终端携带的传感器采集到的数据确定用户是否准备解锁终端。
220、对人脸图像序列中的当前帧人脸图像执行活体检测。
对人脸图像执行活体检测,能够确定该人脸图像中的人脸是活体人脸还是非活体人脸(如照片、视频、面具等)。若人脸图像通过活体检测,则确定该人脸图像中的人脸为活体人脸;若人脸图像未通过活体检测,则确定该人脸图像中的人脸为非活体人脸。
另外,本发明实施例可以对单帧人脸图像进行活体检测,无需用户配合做出指定动作,在有效防范非活体人脸攻击的同时,还提高了用户体验。
在一些实施例中,可以采用卷积神经网络对人脸图像序列中的当前帧人脸图像执行活体检测。例如,采用卷积神经网络从当前帧人脸图像中提取特征,并分析这些特征中的细节信息,然后根据这些细节信息来判断当前帧人脸图像中的人脸是否为活体人脸。
在一些实施例中,还可以通过判断用户的人脸图像中是否包括攻击特征来判断人脸图像中的人脸是否为活体人脸,其中攻击特征包括毛孔缺失、皱纹缺失、阴影缺失、非自然反光、活体人脸无法做出的肌肉动作、马赛克、锯齿和摩尔纹中的一种或其组合。若人脸图像中包括攻击特征,则确定该人脸图像中的人脸为非活体人脸;若人脸图像中不包括攻击特征,则确定该人脸图像中的人脸为活体人脸。可选地,还可以采用卷积神经网络判断用户的人脸图像中是否包括攻击特征。例如,采用卷积神经网络从当前帧人脸图像中提取特征,并分析这些特征中的细节信息,然后根据这些细节信息来判断当前帧人脸图像中是否包括攻击特征。
还可以采用现有技术或将来出现的其他活体检测方法,本发明实施例对此不作限定。
230、在当前帧人脸图像未通过活体检测的情况下,对下一帧人脸图像执行活体检测。
240、在当前帧人脸图像之后的连续多帧人脸图像均通过了活体检测和人脸识别的情况下,解锁终端。其中,在任一帧人脸图像通过了活体检测的情况下,继续对任一帧人脸图像执行人脸识别。
对用户的人脸图像执行人脸识别,能够确定该用户是否有权限解锁该终端。具体地,对用户的人脸图像执行人脸识别包括:将用户的人脸图像与预先存储在终端中的有解锁权限的用户的人脸图像进行匹配。若用户的人脸图像通过人脸识别(即匹配成功),则确定该用户有解锁权限;若用户的人脸图像未通过人脸识别(即匹配失败),则确定该识别用户没有解锁权限。
在一些实施例中,可以采用卷积神经网络对人脸图像序列中的当前帧人脸图像执行人脸识别。例如,采用卷积神经网络从当前帧人脸图像中提取特征,并将这些特征与预先存在终端中的有解锁权限的用户的人脸图像的特征进行匹配,进而判断该当前帧人脸图像中的人脸是否为有解锁权限的用户的人脸。
应理解,在步骤230中,在当前帧人脸图像通过了活体检测的情况下,继续对当前帧人脸图像执行人脸识别,若通过了人脸识别,则解锁终端。
在当前帧人脸图像未通过活体检测的次数越多时,意味着采集的人脸有可能是非活体人脸。因此,本发明实施例中,若当前帧人脸图像未通过活体检测,则在后续的连续多帧人脸图像均通过活体检测和人脸识别之后才解锁终端,能够有效防御非活体人脸攻击,进而提高了人脸解锁的安全性能。另外,本发明实施例在当前帧人脸图像未通过活体检测时,并不是简单确定为解锁失败,而是判断接下来连续多帧人脸图像是否能够通过活体检测和人脸识别,能够降低将活体人脸误判为非活体人脸的概率。
在一些实施例中,解锁方法200还可以包括:记录未通过活体检测的次数。步骤240中的连续多帧人脸图像的数量是根据当前未通过活体检测的次数确定的。例如,可以根据当前未通过活体检测的次数,确定在解锁终端之前需要通过活体检测和人脸识别的连续多帧人脸图像的数量。
在一些实施例中,在解锁终端之前均通过活体检测和人脸识别的连续多帧人脸图像的数量可以随着未通过活体检测的次数增加而增大。当人脸图像未通过活体检测的次数越多时,意味着该人脸图像是非活体人脸的概率越大。因此,本发明实施例中,随着未通过活体检测的次数增加,将在解锁终端之前需要通过活体检测和人脸识别的连续多帧人脸图像的数量相应增大,能够更加有效地防御非活体人脸攻击,进一步提高人脸解锁的安全性能。另外,本发明实施例在未通过活体检测的次数增加时,并不是简单确定为解锁失败,而是判断接下来更多数量的连续多帧人脸图像是否能够通过活体检测和人脸识别,能够降低将活体人脸误判为非活体人脸的概率。
在一些实施例中,在解锁终端之前需要通过活体检测和人脸识别的连续多帧人脸图像的数量X与未通过活体检测的次数t满足关系式X=N+(t-1)*M,其中N为大于1的整数,M和t均为正整数。相应地,在240中,在当前帧人脸图像未通过活体检测之后记录的未通过活体检测的次数为t次,且当前帧人脸图像之后的连续N+(t-1)*M帧人脸图像均通过了活体检测和人脸识别的情况下,解锁终端。M和N的取值可以根据终端的具体情况设置。
下面举例说明,假设N=3,M=2,则在解锁终端之前需要通过活体检测和人脸识别的连续多帧人脸图像的数量X与未通过活体检测的次数t满足关系式 X=3+(t-1)*2。也就是说,如果第一帧人脸图像未通过活体检测,而第二帧人脸图像至第四帧人脸图像(共3帧人脸图像)均通过了活体检测和人脸识别,则解锁终端。如果第二帧人脸图像也未通过活体检测,而第三帧图像至第七帧人脸图像(共5帧人脸图像)均通过了活体检测和人脸识别,则解锁终端。依次类推,不再赘述。当然,如果第一帧人脸图像就通过了活体检测和人脸识别,则解锁终端。需要说明的是,这里的第一帧人脸图像可以是图像采集装置采集到的人脸图像序列中的第一帧图像,也可以是从图像采集装置采集到的人脸图像序列中选择的满足质量要求的多帧图像中的第一帧图像。
需要说明的是,连续多帧人脸图像的数量X与未通过活体检测的次数t关系式X=N+(t-1)*M仅是一个例子,X与t还可以满足其他关系式,本发明实施例不再一一举例。
在一些实施例中,在未通过活体检测的次数大于或等于设定次数的情况下,确定解锁失败。
在一些实施例中,方法200还可以包括:在确定用户准备解锁终端时,开始计时;在超出预设时长仍未解锁终端的情况下,确定解锁失败。该预设时长可以根据终端的具体需求预先进行设定,本发明实施例对此不作限定。
在一些实施例中,在确定解锁失败之后,还可以通过语音提示、屏幕显示或振动等方式告知用户解锁失败。
上文结合图2描述了根据本发明实施例的终端解锁方法,下面结合图3描述根据本发明实施例的终端。
图3是根据本发明实施例的终端300的示意性框图。如图3所示,终端300 包括处理单元310和图像采集单元320。
处理单元310用于确定用户是否准备解锁终端。
图像采集单元320用于在处理单元310确定用户准备解锁终端时,采集用户的人脸图像序列。
处理单元320还用于:对图像采集单元320采集到的人脸图像序列中的当前帧人脸图像执行活体检测;在当前帧人脸图像未通过活体检测的情况下,对下一帧人脸图像执行活体检测;在当前帧人脸图像之后的连续多帧人脸图像均通过了活体检测和人脸识别的情况下,解锁终端;以及,在任一帧人脸图像通过了活体检测的情况下,继续对该帧人脸图像执行人脸识别。
本发明实施例中,若当前帧人脸图像未通过活体检测,则在后续的连续多帧人脸图像均通过活体检测和人脸识别之后才解锁终端,这样能够有效防御非活体人脸攻击,进而提高了人脸解锁的安全性能。
在一些实施例中,处理单元310还可以用于记录未通过活体检测的次数。相应地,在解锁终端前均通过活体识别和人脸识别的连续多帧人脸图像的数量是根据当前未通过活体检测的次数确定的。
在一些实施例中,处理单元310具体用于,在当前帧人脸图像未通过活体检测之后记录的未通过活体检测的次数为t次,且当前帧人脸图像之后的连续 N+(t-1)*M帧人脸图像均通过了活体检测和人脸识别的情况下,解锁终端,N 为大于1的整数,M为正整数,t为正整数。
在一些实施例中,处理单元310还可以用于,在未通过活体检测的次数大于或等于设定次数的情况下,确定解锁失败。
在一些实施例中,终端300还可以包括:用于在处理单元310确定用户准备解锁终端时,开始计时;以及,在超出预设时长仍未解锁终端的情况下,确定解锁失败。
应理解,图3所示终端300与图2所示终端解锁方法相对应,终端300中的各个单元或模块是否为执行图2所示终端解锁方法中的相应流程。为避免重复,这里省略了部分内容,具体请参考上文描述的终端解锁方法。
需要说明的是,图3所示终端300中的检测单元处理单元还可以由图1所示终端100中的处理器102实现,图3所示终端300中的图像采集单元320可以由图1所示终端100中的图像采集装置110。这里不再赘述。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。本发明实施例的保护范围应以权利要求的保护范围为准。