活体检测方法、装置和计算机可读存储介质
技术领域
本说明书实施例涉及计算机领域,尤其涉及一种活体检测方法、装置和计算机可读存储介质。
背景技术
当前,越来越多地用户喜欢使用手机等终端来完成电子支付。手机等终端在进行电子支付之前一般会先对用户身份进行验证。
一种常用的身份验证方式是人脸识别。在人脸识别的过程中,往往有一些不法分子企图利用假体(例如,用户的照片或视频)来冒充用户本身来进行身份验证,此时,如何确定出被检测对象是活体是一个需要解决的技术问题。
发明内容
本说明书实施例提供一种活体检测方法、装置和计算机可读存储介质,以确定出被检测对象是否为活体。
第一方面,提供一种活体检测方法,包括:
控制显示屏按照预定的颜色显示序列显示,所述颜色显示序列中包含至少两种不同颜色;
控制摄像头采集目标对象在颜色显示过程中的图像;
将采集的多个图像按照时间顺序进行排序,获取所述目标对象的脸部随时间变化的颜色变化序列;
确定所述目标对象是否符合活体条件;所述活体条件至少包括:所述颜色显示序列与所述颜色变化序列相匹配;
若符合所述活体条件,则确定所述目标对象为活体;
若不符合所述活体条件,则确定所述目标对象为非活体。
第二方面,提供一种活体检测装置,包括控制模块、采集模块、获取模块和确定模块;其中:
所述控制模块,用于控制显示屏按照预定的颜色显示序列显示,所述颜色显示序列中包含至少两种不同颜色;
所述采集模块,用于控制摄像头采集目标对象在颜色显示过程中的多个图像;
所述获取模块,获取所述图像中所述目标对象的脸部随时间变化的颜色变化序列;
所述确定模块,用于确定所述目标对象是否符合活体条件;所述活体条件为:所述颜色显示序列与所述颜色变化序列相匹配;若符合所述活体条件,则确定所述目标对象为活体;若不符合所述活体条件,则确定所述目标对象为非活体。
第三方面,提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使用所述处理器执行以下操作:
控制显示屏按照预定的颜色显示序列显示,所述颜色显示序列中包含至少两种不同颜色;
控制摄像头采集目标对象在颜色显示过程中的多个图像;
将采集的多个图像按照时间顺序进行排序,获取所述目标对象的脸部随时间变化的颜色变化序列;
确定所述目标对象是否符合活体条件;所述活体条件为:所述颜色显示序列与所述颜色变化序列相匹配;
若符合所述活体条件,则确定所述目标对象为活体;
若不符合所述活体条件,则确定所述目标对象为非活体。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储一个或多个程序,所述一个或多个程序当被执行时,执行以下操作:
控制显示屏按照预定的颜色显示序列显示,所述颜色显示序列中包含至少两种不同颜色;
控制摄像头采集目标对象在颜色显示过程中的多个图像;
将采集的多个图像按照时间顺序进行排序,获取所述目标对象的脸部随时间变化的颜色变化序列;
确定所述目标对象是否符合活体条件;所述活体条件为:所述颜色显示序列与所述颜色变化序列相匹配;
若符合所述活体条件,则确定所述目标对象为活体;
若不符合所述活体条件,则确定所述目标对象为非活体。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过让显示屏按照颜色显示序列显示,并获取采集的图像中目标对象的脸部的颜色变化序列,并基于所述颜色显示序列与所述颜色变化序列的匹配关系,确定所述目标对象是否为活体。如果目标对象为非活体,由于针对非活体采集的图像中目标对象的脸部可能不会体现出颜色变化,因而,在非活体的情况下,颜色显示序列与颜色变化序列可能并不匹配(例如,不一致),因而利用本说明书实施例提供的活体检测方法可以确定出被检测对象是否为活体。此外,在此活体检测过程中,用户与被检测对象可以以自然的方式进行活体验证,而无需用户主动配合(例如,用户做出点头、眨眼等动作配合活体检测),因而,这种活体检测方式不仅可以可靠地检测出活体,而且大大减少了用户的操作负担。同时,这种活体检测方式并不依赖于特定终端,即便图像采集设备受到篡改,仍然可以进行活体检测,因而可以提高活体检测的可靠性。
附图说明
图1是本说明书实施例提供的一种活体检测方法的流程图;
图2是本说明书实施例提供的另一种活体检测方法的流程图;
图3是本说明书实施例提供的电子设备的结构示意图;
图4是本说明书实施例提供的一种活体检测装置的结构框图。
具体实施方式
本申请实施例提供一种活体检测方法、装置和计算机可读存储介质。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
利用本说明书实施例提供的活体检测方法,可以检测出目标对象是否为活体,而且大大减少了用户的操作负担。本说明书实施例提供的活体检测方法可广泛地应用于各种身份验证场景下的活体检测,例如借款场景、医疗场景(如先看病后付钱)以及乘车场景(如免押金乘车)等。
本说明实施例提供的活体检测方法可以由单个电子设备执行,所述电子设备可具有摄像头和显示屏,电子设备的范例例如为手机、平板电脑、掌上电脑、台式电脑等等。
以下结合附图,详细说明本发明各实施例提供的技术方案。
图1是本说明书实施例提供的活体检测方法的流程图。参照图1,本说明书实施例提供的活体检测方法可包括:
步骤110,控制显示屏按照预定的颜色显示序列显示,所述颜色显示序列中包含至少两种不同颜色。
在本说明书实施例中,颜色显示序列中包含的颜色可以为各种不同颜色,例如颜色显示序列中包含的颜色可以为红、白、蓝、黑,又例如颜色显示序列中包含的颜色可以为黑、黄、红、白等。
在本说明书实施例中,步骤110中所述控制显示屏按照预定的颜色显示序列显示可以包括:控制显示屏按照预定的颜色显示序列依次显示单种颜色。由于单种颜色显示能够简化颜色显示控制,并且有助于后续对图像进行分析和颜色识别,因而,本说明书实施例中可控制显示屏依次显示单种颜色。当然,在本说明书实施例中,也可以控制显示屏同时显示两种或更多种颜色。如果颜色显示序列中包含的颜色为红、白、蓝、黑,以同时显示二种颜色为例,可控制显示屏按照红-白、白-蓝、蓝-黑的顺序进行显示。
在下文描述中,需了解的是,提及单种颜色显示只是举例说明,并不意为限制。
在本说明书实施例中,显示屏可按照颜色显示序列所指示的颜色顺序来依次显示单种颜色。举例而言,如果颜色显示序列中包含的颜色为红、白、蓝、黑,则显示屏会依次显示红、白、蓝、黑这四种颜色。
在本说明书实施例中,步骤110可以在一定的触发条件下执行。此触发条件可以例如为目标对象位于摄像头的取景界面内且目标对象与显示屏的距离较小。例如,此距离小于一个阈值,后文称为第一阈值。第一阈值可以根据需要来设定,例如第一阈值为30厘米、40厘米等。
在本说明书实施例中,目标对象为待进行活体检测的对象,例如人、人的照片、人的视频等。在活体检测开始启动后,终端的摄像头可开启,以采集目标对象的图像。如果未采集到目标对象的图像,则可在显示屏上显示提示语,例如,“请走到终端前以进行图像采集”,并可通过扬声器播放出声音。如果采集到目标对象的图像,则可进一步确定目标对象与显示屏之间的距离是否小于第一阈值(例如,30厘米),如果目标对象与显示屏之间的距离不小于第一阈值,则可在显示屏上显示提示语,例如,“请靠近终端进行检测”,并可通过扬声器播放出声音。如果目标对象与显示屏之间的距离小于第一阈值,则可执行步骤110,控制所述显示屏按照预定的颜色显示序列显示,使得通过所述显示屏发出的光线照射在所述目标对象的脸部上。本说明书实施例在控制显示屏显示颜色之前,先确定目标对象与显示屏之间的距离是否小于第一阈值,如此,在目标对象与显示屏之间的距离较大的情况下,由于显示屏发出的光线很有可能无法照射在目标对象的脸部上,因而此时可以控制显示屏暂时不进行颜色显示,以避免显示屏的无效显示。在目标对象与显示屏之间的距离较小的情况下,通过控制显示屏按照预定的颜色显示序列显示,可以保证显示屏发出的光线照射在所述目标对象的脸部上,从而有助于后续对目标对象的图像进行采集,如此可以保证显示屏的颜色显示更有针对性和有效性。
在本说明书的一个实施例中,控制显示屏按照预定的颜色显示序列依次显示单种颜色可具体包括:获取预定的颜色显示序列;获取所述颜色显示序列中每一种颜色对应的明暗度;控制显示屏按照所述颜色显示序列所指示的颜色顺序以所述颜色显示序列中每种颜色对应的明暗度依次显示单种颜色。本领域技术人员知晓,在显示屏按照颜色显示序列同时显示多种颜色的情况下,对于这多种颜色中的每一种,也可以执行上面所描述的步骤。
在本说明书实施例中,电子设备可以具有与远端服务器进行通信的通信功能。在此情况下,电子设备获取预定的颜色显示序列可以具体为,终端接收来自服务器的所述预定的颜色显示序列。具体地,电子设备可向服务器发送颜色显示序列获取请求,服务器接收到此颜色显示序列获取请求后,可生成颜色显示序列,并通过消息发往电子设备。如此,电子设备通过接收来自服务器的消息,即可获取所述预定的颜色显示序列。此种颜色序列获取方式可以使得电子设备的显示屏上显示的颜色受到服务器控制。
可选地,在本说明书实施例中,电子设备也可以没有与远端服务器进行通信的通信功能。此时,电子设备获取预定的颜色显示序列可以具体为,电子设备随机生成所述预定的颜色显示序列。也就是说,在此种情况下,电子设备可主动生成预定的颜色显示序列,而无需与服务器进行交互以获取颜色显示序列。此种颜色序列获取方式可以使电子设备无需具备通信功能,从而减少终端的成本。
可选地,在本说明书实施例中,所述颜色显示序列中的前后相邻两种颜色可以为在三维颜色空间中二者之间的距离大于第二阈值的颜色。其中,三维颜色空间可以为红绿蓝(RGB)空间,每一种颜色都可以用三维颜色空间中的RGB值来表示,RGB值可对应于三维颜色空间中的一个点。这样,每一种颜色都会在三维颜色空间中找出一个点与之对应。对于颜色显示序列中的前后相邻两种颜色,通过确定这两种颜色中的每一种颜色在三维颜色空间中对应的点,即可计算这两种颜色之间的距离,并可将此距离与第二阈值进行比较。这里,第二阈值可以根据需要来设置。
在获取预定的颜色显示序列之后,可控制显示屏按照所述颜色显示序列所指示的颜色顺序进行显示,例如依次显示单种颜色,使得通过所述显示屏发出的光线照射在所述目标对象的脸部上。当然,在本说明书实施例中,还可以获取所述颜色显示序列中每一种颜色对应的明暗度,控制显示屏按照所述颜色显示序列所指示的颜色顺序以所述颜色显示序列中每种颜色对应的明暗度进行显示,例如依次显示单种颜色。
为保证后续能够根据采集的目标对象的图像快速确定出叠加在脸部的颜色,在本说明书实施例中,获取颜色显示序列中每一种颜色对应的明暗度可具体包括:确定所述颜色显示序列中第i种颜色的明暗度,其中,i为正整数;基于第i种颜色的明暗度,确定所述颜色显示序列中第i+1种颜色的明暗度,使得第i种颜色的明暗度和第i+1种颜色的明暗度之间的差值大于第三阈值。如此,相邻两种颜色的明暗度有紧密关联,可以保证采集的目标对象的图像效果较好,从而可以从中快速确定出叠加在脸部的颜色。
步骤120,采集目标对象在颜色显示过程中的图像。
在本说明书实施例中,在电子设备的显示屏按照颜色显示序列所指示的顺序进行显示(例如依次显示单种颜色)的过程中,电子设备的摄像头可以受控制以采集目标对象的图像。在本说明书实施例中,采集的目标对象的图像可以为视频帧图像,也可以为在不同时刻(时间点)拍摄的多幅图像(即,非连续的图像)。也就是说,可以在一个时刻拍摄目标对象的一幅图像。在本说明书实施例中,在采集的目标对象的图像为视频帧图像时,电子设备的显示屏按照颜色显示序列进行显示(例如依次显示单种颜色)的时间可以与采集视频帧图像的时间相同。一旦显示屏停止显示,则相应地,也可以停止采集目标对象的视频帧图像。当然,采集视频帧图像的时间也可以小于显示屏按照颜色显示序列进行显示的时间。在采集的目标对象的图像为针对目标对象在不同时刻拍摄的多幅图像时,在电子设备的显示屏按照颜色显示序列显示的过程中,可以对目标对象进行拍摄以获取某一时刻的图像。一旦显示屏停止显示,则相应地,也可以停止对目标对象进行拍摄。
在本说明书实施例中,视频帧图像可表示采集的图像为连续的多帧图像。
由于通过显示屏发出的光线可照射在目标对象的脸部上,因而,如果目标对象是活体,则采集的图像中目标对象的脸部会体现出某一种颜色的光线。而如果目标对象是非活体,则采集的图像中目标对象的脸部可能不会体现出某一种颜色的光线。
步骤130,获取所述图像中所述目标对象的脸部随时间变化的颜色变化序列。
本步骤130获取所述图像中所述目标对象的脸部随时间变化的颜色变化序列可以具体为:分析所述图像(例如,视频帧图像或者在各个不同时间点拍摄的照片)中所述目标对象的脸部图像,以获取在脸部上叠加的颜色;将获取的颜色按照时间顺序进行排序,得到所述图像中所述目标对象的脸部随时间的颜色变化序列。本说明书实施例通过分析图像中目标对象的脸部图像,可以得到目标对象的脸部随时间的颜色变化序列。此种颜色变化序列的获取方式简便快捷,且准确性相对较高。以视频帧图像为例,举例而言,对于一帧图像,若通过分析这一帧图像中所述目标对象的脸部图像,得到的在脸部上叠加的颜色为红色,通过分析后续帧图像得到的在脸部上叠加的颜色为蓝色和绿色,则可以获取所述视频帧图像中所述目标对象的脸部随时间变化的颜色变化序列为红色、蓝色和绿色。
步骤140,基于所述颜色显示序列与所述颜色变化序列的匹配关系,确定所述目标对象是否为活体。
在本说明书实施例中提及的匹配关系可以包括匹配和不匹配,其中,匹配的标准可以根据需要来判定。例如,如果颜色显示序列与颜色变化序列完全一致,则可确定二者匹配,反之,则为不匹配。又例如,匹配的标准可以根据阈值来判定。例如,如果颜色显示序列与颜色变化序列中的颜色相同部分超过预设百分比(例如,80%或90%),则可确定二者匹配,反之,则为不匹配。
在本说明书实施例中,如果所述颜色显示序列与所述颜色变化序列相匹配(例如,一致),可以确定所述目标对象为活体;如果所述颜色显示序列与所述颜色变化序列不匹配(例如,不一致),可以确定所述目标对象为非活体。举例而言,如果颜色显示序列为红色、白色、蓝色和黑色,颜色变化序列为红色、白色、蓝色和黑色,则可得知颜色显示序列与颜色变化序列相一致,进而确定目标对象为活体。又举例而言,如果颜色显示序列为红色、白色、蓝色和黑色,颜色变化序列为红色、蓝色、黑色和白色,则可得知颜色显示序列与颜色变化序列不一致,进而确定目标对象为非活体。其中,非活体的范例可以为图片、视频等。
在本说明书实施例中,可以通过比较颜色显示序列与所述颜色变化序列是否匹配来确定目标对象是否为活体。在一些实施例中,还可以在颜色显示序列与颜色变化序列相匹配的情况下并不直接确定目标对象为活体,而是进一步进行图像分析,以进一步确定目标对象是否为活体。在本说明书的一个实施例中,如果所述颜色显示序列与所述颜色变化序列相匹配,可以进一步确定所述图像(例如,视频帧图像或者在各个不同时间点拍摄的照片)中的所述目标对象的脸部图像是否符合三维立体反射特性;如果图像中的目标对象的脸部图像符合三维立体反射特性,则确定目标对象为活体;如果图像中的目标对象的脸部不符合三维立体反射特性,例如图像中的目标对象的脸部是局部镜面反射的图像,则可以确定目标对象为非活体。在本说明书实施例中,由于脸部的形状与肤质特性,光线在脸部上的反射特性可涵盖:一是脸部皮肤对于光线的漫反射特性,使得反射后的颜色光线均匀分布脸部的大部分区域;二是同时由于脸部为三维立体形状,因此在脸部的部分区域,会因为遮挡而出现阴影(比如鼻梁周围)。因而,在确定图像(例如,视频帧图像或者在各个不同时间点拍摄的照片)中的目标对象的脸部图像是否符合三维立体反射特性的过程中,如果脸部大部分区域的图像的颜色均匀分布,同时特定部位(例如鼻梁部位)周围有阴影,则可确定图像中的目标对象的脸部图像符合三维立体反射特性;反之,如果脸部大部分区域的图像的颜色没有均匀分布,或者特定部位(例如鼻梁部位)周围没有阴影,则可确定图像中的目标对象的脸部图像不符合三维立体反射特性。
本说明书实施例提供的活体检测方法,通过让显示屏按照颜色显示序列的顺序进行颜色显示,并获取采集的图像中目标对象的脸部的颜色变化序列,基于所述颜色显示序列与所述颜色变化序列的匹配关系,确定所述目标对象是否为活体。如果目标对象为非活体,由于针对非活体采集的图像中目标对象的脸部可能不会体现出颜色变化,因而,在非活体的情况下,颜色显示序列与颜色变化序列可能并不一致,因而利用本说明书实施例提供的活体检测方法可以确定出被检测对象是否为活体。此外,在此活体检测过程中,用户与被检测对象可以以自然的方式进行活体验证,而无需用户主动配合(例如,用户做出点头、眨眼等动作配合活体检测),因而,这种活体检测方式不仅可以可靠地检测出活体,而且大大减少了用户的操作负担。
同时,本说明书实施例提供的这种活体检测方式并不依赖于特定的图像采集设备,即便图像采集设备受到篡改,仍然可以进行活体检测,因而可以提高活体检测的可靠性。
图2是本说明书实施例提供的活体检测方法的流程图。需了解的是,图2只是以显示屏按照预定的颜色显示序列依次显示单种颜色为例进行说明。同时,需了解的是,图2中所描述的步骤的相关内容可参照前文描述。参照图2,本说明书实施例提供的活体检测方法可包括:
步骤210,开启摄像头,启动活体检测。
本步骤可以在受到触发操作的情况下执行。例如,终端显示屏上提示“是否启动身份验证”,用户点击“是”选项的情况下执行。本说明书实施例并不对触发执行步骤210的操作进行限定。触发操作可以为点击操作、双击操作或画指定图形的操作等。
摄像头开启后,即可采集目标对象的图像。如果未采集到目标对象的图像,则可在显示屏上显示提示语,例如,“请走到终端前以进行图像采集”,并可通过扬声器播放出声音。如果采集到目标对象的图像,则可进一步确定目标对象与显示屏之间的距离。
步骤220,确定所述目标对象与所述显示屏之间的距离是否小于第一阈值。
其中,第一阈值可以根据需要选取,例如第一阈值为30厘米或40厘米。
步骤230,在所述目标对象与所述显示屏之间的距离小于所述第一阈值时,控制所述显示屏按照预定的颜色显示序列依次显示单种颜色,使得通过所述显示屏发出的光线照射在所述目标对象的脸部上。
其中,控制所述显示屏按照预定的颜色显示序列依次显示单种颜色可包括:获取预定的颜色显示序列;获取所述颜色显示序列中每一种颜色对应的明暗度;控制显示屏按照所述颜色显示序列所指示的颜色顺序以所述颜色显示序列中每种颜色对应的明暗度依次显示单种颜色。
其中,获取预定的颜色显示序列可包括:接收来自服务器的所述预定的颜色显示序列;或者,随机生成所述预定的颜色显示序列。这里,所述颜色显示序列中的前后相邻两种颜色可以为在三维颜色空间中二者之间的距离大于第二阈值的颜色。
其中,获取所述颜色显示序列中每一种颜色对应的明暗度可包括:确定所述颜色显示序列中第i种颜色的明暗度,其中,i为正整数;基于第i种颜色的明暗度,确定所述颜色显示序列中第i+1种颜色的明暗度,使得第i种颜色的明暗度和第i+1种颜色的明暗度之间的差值大于第三阈值。
步骤240,在颜色显示过程中,采集目标对象的图像。
其中,在本说明书实施例中,针对目标对象采集的图像可以为视频帧图像,也可以为在不同时间点拍摄的照片。
步骤250,获取所述图像中所述目标对象的脸部随时间变化的颜色变化序列。
其中,步骤250中所述获取所述图像中所述目标对象的脸部随时间的颜色变化序列可具体包括:分析所述图像中所述目标对象的脸部图像,以获取在脸部上叠加的颜色;将获取的颜色按照时间顺序进行排序,得到所述图像中所述目标对象的脸部随时间的颜色变化序列。
步骤260,确定所述颜色显示序列与所述颜色变化序列是否一致。如果一致,执行步骤270;如果不一致,执行步骤290。
步骤270,如果所述颜色显示序列与所述颜色变化序列相一致,确定所述图像中的所述目标对象的脸部图像是否符合三维立体反射特性。
如果图像中的所述目标对象的脸部图像符合三维立体反射特性,执行步骤280;如果图像中的所述目标对象的脸部不符合三维立体反射特性,执行步骤290。
步骤280,确定所述目标对象为活体。
步骤290,确定目标对象为非活体。
本发明实施例提供的活体检测方法,通过让显示屏按照颜色显示序列的顺序进行颜色显示,并获取采集的图像中目标对象的脸部的颜色变化序列,在颜色显示序列于颜色变化序列一致时,即可确定目标对象为活体。在此过程中,用户与被检测对象可以以自然的方式进行活体验证,而无需用户主动做出点头、眨眼等动作配合活体检测,因而,这种活体检测方式不仅可以可靠地检测出活体,而且大大减少了用户主动配合的操作负担。
同时,这种活体检测方式并不依赖于特定终端,即便图像采集设备受到篡改,仍然可以进行活体检测,因而可以提高活体检测的可靠性。
本领域技术人员需要了解的是,所述颜色显示序列中前后相邻两种颜色可以为在三维颜色空间中二者之间的距离大于第二阈值的颜色。在一种可选的实现方式中,所述颜色显示序列中可以只包含黑色和白色,其中颜色显示序列中的黑色和白色可交替设置,如此也可以实现通过所述显示屏发出的光线照射在所述目标对象的脸部上。后续在确定目标对象是否为活体的过程中,也可以将显示屏上的颜色显示的顺序与图像(例如,视频帧图像或者在各个不同时间点拍摄的照片)中目标对象的脸部的颜色变化顺序进行比较,如果二者一致,则可确定目标对象为活体。当然,在一种可能的实现方式中,还可以在显示屏上的颜色显示的顺序与图像中目标对象的脸部的颜色变化顺序匹配的情况下,并不直接确定目标对象为活体,而是可以进一步确定图像中的所述目标对象的脸部图像是否符合三维立体反射特性,如果图像中的所述目标对象的脸部图像符合三维立体反射特性,则确定目标对象为活体;如果图像中的所述目标对象的脸部图像不符合三维立体反射特性,则确定目标对象为非活体。
图3是在本申请的一个实施例中提供的电子设备的结构示意图。请参考图3,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。处理器,执行存储器所存放的程序,并可执行上文所描述的任一种活体检测方法,例如处理器可具体用于执行以下操作:控制显示屏按照预定的颜色显示序列显示,所述颜色显示序列中包含至少两种不同颜色;采集目标对象在颜色显示过程中的图像;获取所述图像中所述目标对象的脸部随时间变化的颜色变化序列;基于所述颜色显示序列与所述颜色变化序列的匹配关系,确定所述目标对象是否为活体。
上述如本申请图3所示实施例揭示的电子设备执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行在图2所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下操作:控制显示屏按照预定的颜色显示序列显示,所述颜色显示序列中包含至少两种不同颜色;采集目标对象在颜色显示过程中的图像;获取所述图像中所述目标对象的脸部随时间变化的颜色变化序列;基于所述颜色显示序列与所述颜色变化序列的匹配关系,确定所述目标对象是否为活体。
本说明书实施例提供的计算机可读存储介质可以是一种非临时性计算机可读存储介质。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁盘或者光盘等。
本说明书实施例提供的电子设备和计算机可读存储介质,通过让显示屏按照颜色显示序列的顺序进行颜色显示,并获取采集的图像中目标对象的脸部的颜色变化序列,基于所述颜色显示序列与所述颜色变化序列的匹配关系,确定所述目标对象是否为活体。如果目标对象为非活体,由于针对非活体采集的图像中目标对象的脸部可能不会体现出颜色变化,因而,在非活体的情况下,颜色显示序列与颜色变化序列可能并不一致,因而利用本说明书实施例提供的活体检测方法可以确定出被检测对象是否为活体。此外,在此活体检测过程中,用户与被检测对象可以以自然的方式进行活体验证,而无需用户主动配合(例如,用户做出点头、眨眼等动作配合活体检测),因而,这种活体检测方式不仅可以可靠地检测出活体,而且大大减少了用户的操作负担。
同时,这种活体检测方式并不依赖于特定终端,即便图像采集设备受到篡改,仍然可以进行活体检测,因而可以提高活体检测的可靠性。
图4是本说明书实施例提供的活体检测装置的结构框图。参照图4,本说明书实施例提供的活体检测装置400可包括:控制模块410、采集模块420、获取模块430和确定模块440。其中:
控制模块410,控制显示屏按照预定的颜色显示序列显示,所述颜色显示序列中包含至少两种不同颜色;
采集模块420,采集目标对象在颜色显示过程中的图像;
获取模块430,获取采集模块320采集的所述图像中所述目标对象的脸部随时间的颜色变化序列;
确定模块440,基于所述颜色显示序列与获取模块430获取的所述颜色变化序列的匹配关系,确定所述目标对象是否为活体。
本发明实施例提供的活体检测方法,通过让显示屏按照颜色显示序列的顺序进行颜色显示,并获取采集的图像中目标对象的脸部的颜色变化序列,基于所述颜色显示序列与所述颜色变化序列的匹配关系,确定所述目标对象是否为活体。如果目标对象为非活体,由于针对非活体采集的图像中目标对象的脸部可能不会体现出颜色变化,因而,在非活体的情况下,颜色显示序列与颜色变化序列可能并不一致,因而利用本说明书实施例提供的活体检测方法可以确定出被检测对象是否为活体。此外,在此活体检测过程中,用户与被检测对象可以以自然的方式进行活体验证,而无需用户主动配合(例如,用户做出点头、眨眼等动作配合活体检测),因而,这种活体检测方式不仅可以检测出活体,而且大大减少了用户的操作负担。
同时,这种活体检测方式并不依赖于特定终端,即便图像采集设备受到篡改,仍然可以进行活体检测,因而可以提高活体检测的可靠性。
可选地,在本说明书的一个实施例中,确定模块440具体用于:如果所述颜色显示序列与所述颜色变化序列相匹配,确定所述目标对象为活体;如果所述颜色显示序列与所述颜色变化序列不匹配,确定所述目标对象为非活体。
可选地,在本说明书的一个实施例中,如果所述颜色显示序列与所述颜色变化序列相匹配,确定模块440并不直接确定目标对象为活体,可进一步确定所述图像中的所述目标对象的脸部图像是否符合三维立体反射特性;如果是,则确定所述目标对象为活体。
可选地,在本说明书的一个实施例中,控制模块410可具体用于:控制显示屏按照预定的颜色显示序列依次显示单种颜色。
可选地,在本说明书的一个实施例中,在控制模块410控制显示屏按照预定的颜色显示序列依次显示单种颜色之前,确定模块440可具体用于:确定所述目标对象与所述显示屏之间的距离是否小于第一阈值。
相应地,控制模块410可具体用于:在所述目标对象与所述显示屏之间的距离小于所述第一阈值时,控制所述显示屏按照预定的颜色显示序列依次显示单种颜色,使得通过所述显示屏发出的光线照射在所述目标对象的脸部上。
可选地,在本说明书的一个实施例中,控制模块410可具体用于:
获取预定的颜色显示序列;
获取所述颜色显示序列中每一种颜色对应的明暗度;
控制显示屏按照所述颜色显示序列所指示的颜色顺序以所述颜色显示序列中每种颜色对应的明暗度依次显示单种颜色。
可选地,在本说明书的一个实施例中,在获取所述颜色显示序列中每一种颜色对应的明暗度时,控制模块410可具体用于:
确定所述颜色显示序列中第i种颜色的明暗度,其中,i为正整数;
基于第i种颜色的明暗度,确定所述颜色显示序列中第i+1种颜色的明暗度,使得第i种颜色的明暗度和第i+1种颜色的明暗度之间的差值大于第三阈值。
在本说明书实施例中,所述颜色显示序列中的前后相邻两种颜色可以为在三维颜色空间中二者之间的距离大于第二阈值的颜色。
在本说明书实施例中,所述颜色显示序列中包含的颜色可以为黑色和白色。
可选地,在本说明书的一个实施例中,在获取所述图像中所述目标对象的脸部随时间变化的颜色变化序列时,获取模块430可具体用于:分析所述图像中所述目标对象的脸部图像,以获取在脸部上叠加的颜色;将获取的颜色按照时间顺序进行排序,得到所述图像中所述目标对象的脸部随时间的颜色变化序列。
可选地,在本说明书的一个实施例中,在获取预定的颜色显示序列时,控制模块410可具体用于:接收来自服务器的所述预定的颜色显示序列;或者,随机生成所述预定的颜色显示序列。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。