活体检测方法、装置、计算机可读存储介质和电子设备与流程

文档序号:17539757发布日期:2019-04-29 14:26阅读:134来源:国知局
活体检测方法、装置、计算机可读存储介质和电子设备与流程

本公开涉及计算机视觉领域,具体地,涉及一种活体检测方法、装置、计算机可读存储介质和电子设备。



背景技术:

活体检测是在一些身份验证场景确定对象真实生理特征的方法,在诸如人脸识别等应用场景中,活体检测能通过眨眼、张嘴、摇头、点头等组合动作,使用人脸关键点定位和人脸追踪等技术,验证用户是否为真实活体的本人操作,以保障用户的利益。

浏览器是指可以显示网页服务器或者文件系统的html(标准通用标记语言下的一个应用)内容并让用户与这些文件交互的一种软件,用户通过浏览器可以访问所需的网站,获取自己需要的咨询或者享受网络服务。

现有技术中,通常基于浏览器进行活体检测,即由安装有浏览器客户端的前端设备获取人脸照片或者视频并发送给后端服务器,由后端服务器根据该人脸照片或者视频进行活体检测。然而,后端服务器接收到的人脸照片或者视频通常为浏览器客户端脚本产生的二手资源,因而存在用户使用提前拍摄的照片或视频来欺骗服务器的安全隐患。



技术实现要素:

为克服现有技术中存在的问题,本公开提供一种活体检测方法、装置、计算机可读存储介质和电子设备。

为了实现上述目的,本公开提供一种活体检测方法,应用于电子设备,包括:

在检测到用户在预设网站中输入的人脸活体检测请求时,启用与所述电子设备通信连接的图像采集装置;

对所述图像采集装置采集到的所述用户的视频流进行截取,得到所述用户的面部图像;

根据人脸识别算法对所述用户的面部图像进行分析,得到用于表示所述用户是否为活体的检测结果。

可选地,所述启用与所述电子设备通信连接的图像采集装置,包括:

通过调用所述预设网站内置的api接口启用与所述电子设备通信连接的图像采集装置。

可选地,所述对所述图像采集装置采集到的所述用户的视频流进行截取,得到所述用户的面部图像,包括:

将所述视频流转换为统一资源定位符url;

将所述url嵌入视频video标签中,以在所述预设网站上显示所述视频流,所述视频流中的每一帧图像具有一个面部图像采集区域;

输出用于提示所述用户将面部正对所述面部图像采集区域的提示信息;

对所述视频流中所述面部图像采集区域内的图像进行截取,得到所述用户的面部图像。

可选地,在所述对所述图像采集装置采集到的所述用户的视频流进行截取之前,所述方法还包括:

输出用于指示所述用户完成至少一个预设动作的提示信息;

所述根据人脸识别算法对所述用户的面部图像进行分析,得到用于表示所述用户是否为活体的检测结果,包括:

根据所述人脸识别算法对所述用户的面部图像进行分析,判断所述用户是否完成所述至少一个预设动作;

若所述用户完成所述至少一个预设动作,则输出用于表示所述用户为活体的检测结果。

本公开还提供了一种活体检测装置,应用于电子设备,包括:

启动模块,被配置为在检测到用户在预设网站中输入的人脸活体检测请求时,启用与所述电子设备连接的图像采集装置;

获取模块,被配置为对所述图像采集装置采集到的所述用户的视频流进行截取,得到所述用户的面部图像;

分析模块,被配置为根据人脸识别算法对所述用户的面部图像进行分析,得到用于表示所述用户是否为活体的检测结果。

可选地,所述启动模块包括:

调用子模块,被配置为通过调用所述预设网站内置的api接口启用与所述电子设备通信连接的图像采集装置。

可选地,所述获取模块包括:

转化子模块,被配置为将所述视频流转换为统一资源定位符url;

显示子模块,被配置为将所述url嵌入视频video标签中,以在所述预设网站上显示所述视频流,所述视频流中的每一帧图像具有一个面部图像采集区域;

提示子模块,被配置为输出用于提示所述用户将面部正对于所述面部图像采集区域的提示信息;

截取子模块,被配置为对所述视频流中所述面部图像采集区域内的图像进行截取,得到所述用户的面部图像。

可选地,所述装置还包括:

提示模块,被配置为在所述对所述图像采集装置采集到的所述用户的视频流进行截取之前,输出用于指示所述用户完成至少一个预设动作的提示信息;

所述分析模块包括:

分析子模块,被配置为根据所述人脸识别算法对所述用户的面部图像进行分析;

判断子模块,被配置为判断所述用户是否完成所述至少一个预设动作;

确定子模块,被配置为在所述用户完成所述至少一个预设动作,输出用于表示所述用户为活体的检测结果。

本公开还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的活体检测方法的步骤。

本公开还提供了一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现本公开提供的活体检测方法的步骤。

采用上述技术方案,至少可以达到如下技术效果:

在检测到用户在预设网站中输入的人脸活体检测请求时,启用与电子设备通信连接的图像采集装置,对图像采集装置采集到的用户的视频流进行截取,得到用户的面部图像,根据人脸识别算法对用户的面部图像进行分析,得到用于表示用户是否为活体的检测结果,有效消除了使用照片或提前录制好的视频欺骗服务器的安全隐患,保障用户的利益。同时,相比于现有技术中由服务器检测用户是否为活体的方式,也减轻了服务器的计算负担。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据本公开一示例性实施例示出的一种活体检测方法的流程图;

图2是根据本公开一示例性实施例示出的一种活体检测装置的框图;

图3是根据本公开另一示例性实施例示出的一种活体检测装置的框图;

图4是根据本公开一示例性实施例示出的一种电子设备的结构框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

在本公开中,本公开的说明书和权利要求书以及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必理解为特定的顺序或先后次序。

图1是根据本公开一示例性实施例示出的一种活体检测方法的流程图,该方法应用于电子设备,其中,该电子设备可以是安装有浏览器客户端的任何设备,例如手机、笔记本电脑、平板电脑等。浏览器客户端支持webrtc(webreal-timecommunication,网页实时通信)技术,而webrtc技术是一种支持网页浏览器进行实时语音对话或视频对话的技术,其提供了视频会议的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台:windows,linux,mac以及android等。如图1所示,该活体检测方法包括以下步骤:

在步骤s101中,在检测到用户在预设网站中输入的人脸活体检测请求时,启用与电子设备通信连接的图像采集装置。

在本公开的实施例中,图像采集装置可以是电子设备内部集成的图像采集装置,也可以电子设备外接的与其通信连接的图像采集装置。示例地,图像采集装置可以是摄像头。

在一种可能的实现方式中,用户可通过点击设置在预设网站页面上的用于进行活体检测的按钮输入人脸活体检测请求。电子设备在检测到用户在预设网站上点击该按钮时,即可认为用户在预设网站中输入了活体检测请求,响应于该活体检测请求,启用与电子设备通信连接的图像采集装置。

对于图像采集装置的启用,电子设备可通过调用内置的api(applicationprogramminginterface,应用程序编程接口)启用与电子设备通信连接的图像采集装置。其中,所述api接口可以是navigator.getusermedia()。

在步骤s102中,对图像采集装置采集到的用户的视频流进行截取,得到用户的面部图像。

在一种可能的实现方式中,首先,可将视频流转换为统一资源定位符url。接着,将该url嵌入视频video标签中,以在预设网站上显示该视频流,其中,该视频流中的每一帧图像具有一个面部图像采集区域。进一步地,输出用于提示用户将面部正对该面部图像采集区域的提示信息。最后,在检测到用户输入的确认采集的操作时,对该视频流中面部图像采集区域内的图像进行截取,得到用户的面部图像。

示例地,电子设备可通过浏览器内置方法window.url.createobjecturl()将采集到的视频流转化为url(uniformresourcelocator,统一资源定位符),然后将该url嵌入video标签中,进而可以在预设网站的页面上显示该视频流,以使用户能够观察做预设动作时的效果。视频流中的每一帧图像都具有一个面部图像采集区域,该区域可以是一个椭圆形区域,也可以是一个矩形区域,在此不做限定。

接着,在预设网站的页面上输出提示信息,以提示用户将面部正对面部采集区域,以获得较好的检测效果。其中,提示信息的形式可以包括以下形式中的一者或多者:语音、文本、灯光等。在用户将面部放入面部图像采集区域后,用户可以输入确认采集的操作,例如点击预设网站的页面上的采集按钮,在检测到用户输入的确认采集操作后,进行面部图像的采集。

在步骤s103中,根据人脸识别算法对用户的面部图像进行分析,得到用于表示用户是否为活体的检测结果。

在截取到用户的面部图像后,根据人脸识别算法对用户的面部图像进行分析,判断该用户是否处于活动状态,若该用户处于活动状态,则确定该用户为活体并输出相应的检测结果。

具体地,在一种可能的实现方式中,电子设备在对图像采集装置采集到的用户的视频流进行截取之前,可输出用于指示用户完成至少一个预设动作的提示信息。在用户执行所述至少一个预设动作的过程中,图像采集装置采集该用户的视频流并对采集到的视频进行截取,得到该用户的面部图像,根据人脸识别算法对用户的面部图像进行分析,判断用户是否完成所述至少一个预设动作;若用户完成至少一个预设动作,则输出用于表示用户为活体的检测结果。其中,预设动作越多,得到的检测结果越准确。

示例地,电子设备可在预设网站的页面上输出指示用户完成摇头动作的提示信息。在用户根据提示信息执行摇头动作时,图像采集装置采集用户的视频流,并对采集到的视频流进行截取,得到该用户的面部图像,通过预设的人脸识别算法设定三个参考点,鼻子、脸的最左位置以及脸的最右位置。鼻子到脸的最左位置的绝对距离为第一距离,鼻子到脸的最右位置的绝对距离为第二距离,总距离记为第一距离和第二距离之和;当第一距离小于总距离的三分之一时,判定为向左摇头,当第二距离小于总距离的三分之一时,判定向右摇头,由此,可判定该用户是否完成摇头动作,若用户完成摇头动作,则可确定该用户为活体。

进一步地,为了提升活体检测的真实性和准确性,电子设备可以再次指示用户完成不同的预设动作,例如指示用户完成张嘴动作。相应地,在用户根据提示信息执行张嘴动作时,电子设备重复上述操作,若根据人脸识别算法确定该用户完成张嘴动作,则可进一步确定该用户为活体并输出相应的检测结果。

值得说明的是,上述根据人脸识别算法对截取到的用户的面部图像进行分析,判断用户是否完成所述至少一个预设动作的具体方式,属于本领域技术人员公知的,在此不再赘述。

此外,电子设备在确定该用户为活体时,可将截取到的该用户的面部图像发送给与其进行通信连接的服务器,由服务器对通过该用户的面部图像进行处理,以得到含有该用户的脸部特征据信息,并查询预置的脸部特征数据库中是否存在与此用户的脸部特征信息相匹配的脸部特征信息,若脸部数据库中存在与此用户的脸部特征信息相匹配的脸部特征信息,则可以确认用户身份为合法,并将结果返回给电子设备,由电子设备在预设网站上显示该结果。

采用上述活体检测方法,由安装有浏览器客户端的电子设备启用图像采集装置并对图像采集装置采集到的用户视频流进行分析,得到用户是否为活体的检测结果,有效消除了使用照片或提前录制好的视频欺骗服务器的安全隐患,保障用户的利益。同时,相比于现有技术中由服务器检测用户是否为活体的方式,减轻了服务器的计算负担。

本公开实施例还提供了一种活体检测装置,应用于电子设备,其中,该电子设备可以是图1中的电子设备,其中,该电子设备可以是安装有浏览器客户端的任何设备,例如手机、笔记本电脑、平板电脑等。浏览器客户端支持webrtc(webreal-timecommunication,网页实时通信)技术,而webrtc技术是一种支持网页浏览器进行实时语音对话或视频对话的技术,其提供了视频会议的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台:windows,linux,mac以及android等。如图2所示,该活体检测装置200包括启动模块201、获取模块202、分析模块203。

该启动模块201被配置为在检测到用户在预设网站中输入的人脸活体检测请求时,启用与电子设备连接的图像采集装置。

该获取模块202被配置为对图像采集装置采集到的用户的视频流进行截取,得到用户的面部图像。

该分析模块203被配置为根据人脸识别算法对用户的面部图像进行分析,得到用于表示用户是否为活体的检测结果。

在本公开的一个实施例中,如图3所示,启动模块201包括调用子模块211。

该调用子模块211被配置为通过调用预设网站内置的api接口启用与电子设备通信连接的图像采集装置。

在本公开的实施例中,如图3所示,获取模块202包括转换子模块221、显示子模块222、提示子模块223和截取子模块224。

该转化子模块221被配置为将视频流转换为统一资源定位符url。

该显示子模块222被配置为将url嵌入视频video标签中,以在预设网站上显示视频流,视频流中的每一帧图像具有一个面部图像采集区域。

该提示子模块223被配置为输出用于提示用户将面部正对于面部图像采集区域的提示信息。

该截取子模块224被配置为对视频流中面部图像采集区域内的图像进行截取,得到用户的面部图像。

在本公开的实施例中,如图3所示,该装置200还包括提示模块204。

该提示模块204被配置为在所述对图像采集装置采集到的用户的视频流进行截取之前,输出用于指示用户完成至少一个预设动作的提示信息。

分析模块203包括分析子模块231、判断子模块232和确定子模块233。

该分析子模块231被配置为根据人脸识别算法对用户的面部图像进行分析。

该判断子模块232被配置为判断用户是否完成至少一个预设动作。

该确定子模块233被配置为在用户完成至少一个预设动作,输出用于表示用户为活体的检测结果。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

通过本公开实施例提供的活体检测装置,由安装有浏览器客户端的电子设备启用图像采集装置并对图像采集装置采集到的用户视频流进行分析,得到用户是否为活体的检测结果,有效消除了使用照片或提前录制好的视频欺骗服务器的安全隐患,保障用户的利益。同时,相比于现有技术中由服务器检测用户是否为活体的方式,减轻了服务器的计算负担。

本公开还提供了一种电子设备,如图4所示,该电子设备400可以包括处理器401和存储器402。该电子设备400还可以包括多媒体组件403、输入/输出(i/o)接口404以及通信组件405中的一者或多者。

其中,处理器401用于控制该电子设备400的整体操作,已完成上述的活体检测方法中的全部或部分步骤。存储器402用于存储各种类型的数据以支持在该电子设备400的操作,这些数据例如可以包括用于在该电子设备400上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器402或通过通信组件405发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件405用于该电子设备400与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件405可以包括:wi-fi模块,蓝牙模块,nfc模块。

本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的活体检测方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器402,上述程序指令可由电子设备400的处理器401执行以完成上述的活体检测方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1