300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 活体识别方法 系统 装置 设备及计算机可读存储介质与流程

活体识别方法 系统 装置 设备及计算机可读存储介质与流程

时间:2020-07-09 15:37:58

相关推荐

活体识别方法 系统 装置 设备及计算机可读存储介质与流程

本发明涉及金融科技(fintech)技术领域,尤其涉及活体识别方法、系统、装置、设备及计算机可读存储介质。

背景技术:

随着互联网技术,尤其是互联网金融科技(fintech)的飞速发展,越来越多的技术应用在金融领域,金融业务平台也越来越多。

由于金融业务平台对安全性要求较高,因此金融业务相关的app(application,应用程序)通常涉及到身份验证,用户在执行金融业务操作时需要对用户身份验证,目前应用程序很多应用场景都用到刷脸进行身份验证;刷脸这项技术本身是需要专业的算法支持,所以很多app都是调用第三方的刷脸sdk(softwaredevelopmentkit,软件开发工具包)实现的,但是当前第三方的刷脸sdk兼容性差,如果app升级第三方的刷脸sdk就可能出现不可以正常使用,这无形中提高了app后续升级维护成本。

技术实现要素:

本发明的主要目的在于提出一种活体识别方法、系统、装置、设备及计算机可读存储介质,旨在解决由于活体验证sdk兼容性差,导致安装sdk的应用程序后续升级和维护成本较高的技术问题。

为实现上述目的,本发明提供一种活体识别方法,所述活体识别方法包括如下步骤:

在接收到基于应用程序触发的活体识别请求时,获取所述应用程序的版本信息,并申请摄像头使用权限;

在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;

将所述人脸特征信息发送至所述工具包关联的服务器,以使所述服务器根据所述人脸特征信息进行活体识别,得到识别结果;

接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果。

可选地,所述在接收到基于应用程序触发的活体识别请求时,获取所述应用程序的版本信息,并申请摄像头使用权限的步骤之前,包括:

在接收到基于应用程序项目文件触发的工具包接入请求时,将预设的工具包加载到所述项目文件中。

可选地,所述在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息的步骤之前,包括:

在接收到工具包创建请求时,获取所述工具包创建请求对应的初始工具包和版本信息,并输出配置界面;

获取基于所述配置界面输入的所述版本信息对应的函数方法,其中,所述版本信息包括:第一版本、第二版本和/或第三版本,所述函数方法包括:所述第一版本对应的第一函数方法、所述第二版本对应的第二函数方法和/或所述第三版本对应的第三函数方法;

将所述函数方法添加到所述初始工具包中,并将包含所述函数方法的初始工具包作为预设的工具包。

可选地,所述在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息的步骤,包括:

在获得摄像头使用权限时,将所述版本信息中的设备标识与预设标识集合中的各异常标识进行比对;

若所述预设标识集合中不存在与所述设备标识匹配的目标异常标识时,通过预设的webview控件加载h5页面;

在接收到基于所述h5页面触发的操作请求时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息。

可选地,所述在获得摄像头使用权限时,将所述版本信息中的设备标识与预设标识集合中的各异常标识进行比对的步骤之后,包括:

若所述预设标识集合中存在与所述设备标识匹配的目标异常标识时,则输出提示信息;

接收基于所述提示信息输入的操作指令,根据所述操作指令调启摄像头来获取人脸特征信息。

此外,为实现上述目的,本发明还提供一种活体识别系统,所述活体识别系统包括:通信连接的终端和服务器,所述活体识别系统实现以下步骤:

终端在接收到基于应用程序触发的活体识别请求时,终端获取所述应用程序的版本信息,并申请摄像头使用权限;

终端在获得摄像头使用权限时,终端判断本地存储中是否存在预设的工具包;

若所述本地存储中不存在预设的工具包,终端则发送获取请求至服务器;

服务器将所述获取请求对应的工具包发送至终端;

终端接收服务器发送的工具包,终端调用所述工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;

终端将所述人脸特征信息发送至所述工具包关联的服务器;

服务器接收终端发送的人脸特征信息,服务器根据所述人脸特征信息进行活体识别,得到识别结果,服务器将所述识别结果发送至终端;

终端接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果。

此外,为实现上述目的,本发明还提供一种活体识别装置,所述活体识别装置包括:

接收申请模块,用于在接收到基于应用程序触发的活体识别请求时,获取所述应用程序的版本信息,并申请摄像头使用权限;

调用获取模块,用于在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;

信息发送模块,用于将所述人脸特征信息发送至所述工具包关联的服务器,以使所述服务器根据所述人脸特征信息进行活体识别,得到识别结果;

接收输出模块,用于接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果。

可选地,所述活体识别装置,还包括:

工具包接入模块,用于在接收到基于应用程序项目文件触发的工具包接入请求时,将预设的工具包加载到所述项目文件中。

可选地,所述活体识别装置包括:

获取输出模块,用于在接收到工具包创建请求时,获取所述工具包创建请求对应的初始工具包和版本信息,并输出配置界面;

函数获取单元,用于获取基于所述配置界面输入的所述版本信息对应的函数方法,其中,所述版本信息包括:第一版本、第二版本和/或第三版本,所述函数方法包括:所述第一版本对应的第一函数方法、所述第二版本对应的第二函数方法和/或所述第三版本对应的第三函数方法;

工具添加模块,用于将所述函数方法添加到所述初始工具包中,并将包含所述函数方法的初始工具包作为预设的工具包。

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

信息比对单元,用于在获得摄像头使用权限时,将所述版本信息中的设备标识与预设标识集合中的各异常标识进行比对;

页面加载单元,用于若所述预设标识集合中不存在与所述设备标识匹配的目标异常标识时,通过预设的webview控件加载h5页面;

操作获取单元,用于在接收到基于所述h5页面触发的操作请求时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息。

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

提示输出单元,用于若所述预设标识集合中存在与所述设备标识匹配的目标异常标识时,则输出提示信息;

接收基于所述提示信息输入的操作指令,根据所述操作指令调启摄像头来获取人脸特征信息。

此外,为实现上述目的,本发明还提供一种活体识别设备,所述活体识别设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的活体识别程序,所述活体识别程序被所述处理器执行时实现如上所述的活体识别方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有活体识别程序,所述活体识别程序被处理器执行时实现如上所述的活体识别方法的步骤。

本发明提供一种活体识别方法、系统、装置、设备及计算机可读存储介质。本发明实施例中预设工具包,预设的工具包中设置有不同版本的调用函数,在应用程序触发活体识别请求时,先确定应用程序的版本信息,调用预设的工具包,然后通过工具包中版本信息对应的调用函数,调启摄像头来获取人脸特征信息,本发明实施例中的方式应用程序与工具包分离,应用程序版本升级不会影响到工具包,且工具包可以与新版本的应用程序兼容,本申请实施例中的技术方案在保证工具包的兼容性的同时降低了应用程序后续升级维护成本。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;

图2为本发明活体识别方法第一实施例的流程示意图;

图3为本发明活体识别方法第三实施例的流程示意图;

图4为本发明活体识别装置一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。

本发明实施例活体识别设备可以是pc机或服务器。

如图1所示,该活体识别设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及活体识别程序。

在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的活体识别程序,并执行下述活体识别方法中的操作,在所述处理器上运行的活体识别程序被执行时所实现的方法可参照本发明活体识别方法各个实施例,此处不再赘述。

现有的应用程序在调启摄像头获取人脸特征信息时,通常是通过第三方刷脸sdk实现的,这就要求应用程序与第三方刷脸sdk适配,若要对应用程序进行版本更新,则需要将第三方刷脸sdk进行同步升级,或者对应用程序进行部分调整使得更新版本的应用程序依然可以与第三方刷脸sdk适配,上述的应用程序版本更新方式,方式一会导致应用程序更新工作量较大,使得应用程序运维成本较高;方式二的版本更新方式受到限制,甚至会出现应用程序版本更新不到位的现象。

本发明实施例的技术方案是针对上述现象的改进,本发明实施例中在接收到基于应用程序触发的活体识别请求时,获取所述应用程序的版本信息,并申请摄像头使用权限;在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;将所述人脸特征信息发送至所述工具包关联的服务器,以使所述服务器根据所述人脸特征信息进行活体识别,得到识别结果;接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果预设工具包,预设的工具包中设置有不同版本的调用函数,在应用程序触发活体识别请求时,先确定应用程序的版本信息,调用预设的工具包,然后通过工具包中版本信息对应的调用函数,调启摄像头来获取人脸特征信息,本发明实施例中的方式应用程序与工具包分离,应用程序版本升级不会影响到工具包,且工具包可以与新版本的应用程序兼容,本申请实施例中的技术方案在保证工具包的兼容性的同时降低了应用程序后续升级维护成本。

基于上述硬件结构,提出本发明活体识别方法实施例。

本发明活体识别方法第一实施例,包括以下步骤:

在接收到基于应用程序触发的活体识别请求时,获取所述应用程序的版本信息,并申请摄像头使用权限;

在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;

将所述人脸特征信息发送至所述工具包关联的服务器,以使所述服务器根据所述人脸特征信息进行活体识别,得到识别结果;

接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果。

本发明实施例活体识别方法应用于活体识别设备(又叫终端),终端的应用程序(本实施例中的应用程序是指hybridapp,hybridapp介于web-app和native-app之间的,虽然看上去是一个nativeapp,但只有一个uiwebview,里面访问的是一个webapp,即,现有的hybridapp就是包了个客户端的壳,其实里面是html5的网页,这样的hybridapp可以加载h5,hybridapp兼具了nativeapp的所有优势,也兼具了webapp使用html5跨平台开发低成本的优势,hybridapp因为同时使用了网页语言编码,所以开发成本和难度比nativeapp要小很多)中预先安装工具包,工具包是指开发人员预先开发的用于摄像头调用的java工具包,具体地:

步骤s01,在接收到基于应用程序项目文件触发的工具包接入请求时,将预设的工具包加载到所述项目文件中。

终端接收基于应用程序项目文件触发的工具包接入请求,其中,工具包接入请求的触发方式不作具体限定,即,工具包接入请求可以是用户主动触发的,例如,软件开发人员编辑应用程序对应的项目文件,软件开发人员在项目文件中执行“插入”操作,触发工具包接入请求;此外,工具包接入请求还可以是终端自动触发的,例如,终端中预先设置应用程序中包含身份验证时,触发工具包接入请求,终端在检测到应用程序对应的项目文件中包含身份验证功能时,终端自动触发工具包接入请求。

终端在接收到基于应用程序项目文件触发的工具包接入请求时,终端获取预设的工具包,终端将预设的工具包加载到项目文件中,即,终端将工具包拷贝到项目文件的目录下,以调用工具包实现身份验证的功能。

本实施例中,工具包的接入方法简单,不需要开发人员进行复杂的操作流程,可以理解的是,本实施例中的工具包中仅包含一些调用函数,工具包中包含的信息量较少,较为简单清晰,应用程序的开发者可以直观地知道工具包的功能,有效避免工具包采集除活体验证信息之外的信息,提高了应用程序的安全性。

参照图2,图2为本发明活体识别方法第一实施例的流程示意图,所述活体识别方法包括:

步骤s10,在接收到基于应用程序触发的活体识别请求时,获取所述应用程序的版本信息,并申请摄像头使用权限。

终端接收活体识别请求,活体识别请求的触发方式不作具体限定,即,活体识别请求可以是用户主动触发的,例如,用户基于金融业务应用程序的界面上,点击“面部识别”主动触发活体识别请求;活体识别请求还可以是终端自动触发的,例如,终端检测到用户支付操作时,自动触发活体识别请求。

终端在接收到基于应用程序触发的活体识别请求时,终端获取应用程序的版本信息,即,终端中预设有webview控件,webview是一个基于webkit引擎、展现web页面的控件,通过这个webview控件可以直接访问网页,或者把输入的html字符串显示出来,webview控件支持css,javascript等html语言,能够捕捉到所有浏览器操作,比如点击url,打开或关闭url;终端通过预设webview控件中的useragent(useragent可以获取到活体识别请求中包含的版本信息,版本信息是应用程序对应的信息,版本信息包括但不仅限于版本发布时间和版本标识)获取活体识别请求对应的版本信息。

终端在获取应用程序的版本信息之后,终端判断活体识别是否需要使用摄像头,即,活体识别包括温度识别,指纹识别,声音识别、面部识别等等,本实施例中主要针对摄像头相关的识别,若活体识别需要使用摄像头,终端申请摄像头使用权限,例如,终端的显示界面中输出提示信息“是否允许使用摄像头”,终端在接收到用户授予摄像头使用权限,操作系统授予摄像头使用权限,以调用摄像头执行人脸特征信息的操作,具体地:

步骤s20,在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息。

终端在获得摄像头使用权限时,终端调用应用程序项目文件中预设的工具包,终端通过工具包调启摄像头来获取人脸特征信息,具体地,包括:

步骤a,在获得摄像头使用权限时,获取所述版本信息中的版本标识;

步骤b,调用预设的工具包,通过所述工具包中所述版本标识对应的webviewclient函数和setwebchromeclient函数调启摄像头获取人脸特征信息。

即,终端在获得摄像头使用权限时,终端获取设置信息中的版本标识(版本标识是指识别应用程序版本的标识信息,例如,应用程序的版本名称,或者版本编号),终端调用预设的工具包,终端通过工具包中版本标识对应的webviewclient函数和setwebchromeclient函数调启摄像头获取人脸特征信息,也就是说,工具包中预先进行了websettings的设置,终端调用工具包中的setwebviewclient(webviewclientwebviewclient)和setwebchromeclient(webchromeclientwebchromeclient)这两个函数,通过这两个函数实现h5页面和终端app的交互,在连通的情况下,终端app拦截h5页面的弹窗,获取到h5页面发送给app的消息,app即可以调启摄像头进行人脸特征信息的采集,以使终端app将人脸特征信息发送至h5页面。

具体地,h5页面调启摄像头,h5页面端用js添加一个工具包跟终端app交互,即,h5页面端获取终端app的操作系统类型,判断终端app的操作系统类型是否支持调用摄像头,若app的操作系统类型不支持调用摄像头,则输出提示信息;若app的操作系统类型支持调用摄像头,则在加载h5页面时通过工具包拦截h5页面的弹窗,并调启摄像头进行人脸特征信息的采集,在采集到人脸特征信息时,通过工具包中的调用回调函数获取人脸特征信息,并将人脸特征信息发送至h5页面对应的后台进行处理。

例如,工具包首先对终端app类型是否android进行判断,代码为<inputtype="file"name="cover"accept="image/*"capture="camera"/>,其中,input标签type="file"的参数capture表示,可以捕获到系统默认的设备,比如:camera照相机;accept表示,直接打开系统文件目录。这样终端app加载h5页面时,就会拦截h5页面,用户点击h5页面上的这个工具包,通过工具包中的openfilechooser(valuecallback<uri>uploadmsg)或者onshowfilechooser(valuecallback<uri[]>filepathcallback)方法接受终端app发送给h5页面端的uri(录制视频的地址)。当终端app调用系统相机录制完视频,将视频的uri返回给h5页面,h5页面就可以获取到这个uri的视频,然后将视频上送到后面进行检测。

可以理解的是,本实施例工具包中webviewclient创建一个对象,不需要重写webviewclient内部方法;webchromeclient创建对象后,需要针对不同操作系统对应的openfilechooser()和onshowfilechooser()进行重写,使得工具包可以针对不同的操作系统出现调起摄像头。具体地:

针对第一版本操作系统,重写第一函数方法,其中,第一函数方法的方法名为:openfilechooser,包括地址参数、类型参数,本发明中,通过在调用软件工具包的第一函数方法下添加第一程序段,使得工具包调启第一版本操作系统对应的摄像头进行人脸特征信息的采集,其中,第一程序段包括条件判断指令、返回输出指令等操作指令对应的字段,例如,if(wbh5faceverifysdk.getinstance().recordvideoforapibelow21(uploadmsg,accepttype,activity))return。

例如:针对安卓3.0-4.0操作系统重写openfilechooser(valuecallback<uri>uploadmsg,stringaccepttype)方法,通过调用sdk的if(wbh5faceverifysdk.getinstance().recordvideoforapibelow21(uploadmsg,accepttype,activity))return;使得工具包调启安卓3.0-4.0操作系统对应的摄像头进行人脸特征信息的采集。

针对第二版本操作系统,重写第二函数方法,其中,第二函数方法的方法名为:openfilechooser,包括地址参数、类型参数和字符串捕获参数,本发明中,通过在调用软件工具包的第二函数方法下添加第二程序段,使得工具包调启第二版本操作系统对应的摄像头进行人脸特征信息的采集。其中,第二程序段包括条件判断、输出提示等操作指令的字段,例如,if(wbh5faceverifysdk.getinstance().recordvideoforapibelow21(uploadmsg,accepttype,activity))return。

例如:针对安卓4.1-5.0操作系统重写openfilechooser(valuecallback<uri>uploadmsg,stringaccepttype,stringcapture),调用sdk的if(wbh5faceverifysdk.getinstance().recordvideoforapibelow21(uploadmsg,accepttype,activity))return;使得工具包调启安卓4.1-5.0操作系统对应的摄像头进行人脸特征信息的采集。

针对第三版本操作系统,重写第三函数方法,其中,第三函数方法的方法名为:onshowfilechooser,包括网页参数、地址参数、文件路径返回参数和文件选择参数,本发明中,通过在调用软件工具包的第三函数方法下添加第三程序段,使得工具包调启第三版本操作系统对应的摄像头进行人脸特征信息的采集。其中,第三程序段包括条件判断、输出提示等操作指令的字段,例如,if(wbh5faceverifysdk.getinstance().recordvideoforapi21(webview,filepathcallback,activity,filechooserparams))returntrue。

例如:针对安卓5.0以上操作系统重写onshowfilechooser(webviewwebview,valuecallback<uri[]>filepathcallback,filechooserparamsfilechooserparams),调用sdk的if(wbh5faceverifysdk.getinstance().recordvideoforapi21(webview,filepathcallback,activity,filechooserparams))returntrue,使得工具包调启安卓5.0以上操作系统对应的摄像头进行人脸特征信息的采集。

在本发明实施例中,上述各个函数方法均是h5发送给app的消息,以供app拿到消息之后,通过各个函数方法中的各个程序段调取摄像头。

本实施例中,工具包通过websettings的设置实现h5和app的通信交互、setwebviewclient函数和setwebchromeclient函数,使得工具包兼容不同的应用程序版本,终端通过调用预设的工具包,调启摄像头实现人脸特征信息的采集,此外,工具包中的操作指令较为简单,可以确定工具包的操作,不用担心由于安装工具包导致用户信息泄露的问题,在工具包需要升级时,工具包的升级操作也较为简单。

步骤s30,将所述人脸特征信息发送至所述工具包关联的服务器,以使所述服务器根据所述人脸特征信息进行活体识别,得到识别结果。

终端将人脸特征信息发送至工具包关联的服务器,即,终端摄像头在采集到人脸特征信息之后,终端将人脸特征信息保存在本地存储器,然后,终端将人脸特征信息上传至应用程序的操作界面,终端将操作界面中已经上传的人脸特征信息发送至工具包对应的服务器,使得服务器根据人脸特征信息进行活体识别,得到识别结果。

具体地,本实施例中终端将人脸特征信息发送至工具包关联的服务器,服务器就可以实现人脸识别,这个过程是通过重写webview所在activity的onactivityresult()实现计算机的关闭,应用程序只要调用sdk的方法receiveh5faceverifyresult()就完成了,即,应用程序通过工具包调用摄像头拍摄像头来获取人脸特征信息,工具包将人脸特征信息发送至h5,h5将人脸特征信息上送给后台服务器,后台服务器进行人脸特征信息的识别,得到识别结果,服务器将识别结果发送至h5。

步骤s40,接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果。

终端接收服务器发送的识别结果,并在应用程序中输出识别结果。

本发明实施例中预设工具包,预设的工具包中设置有不同版本的调用函数,在应用程序触发活体识别请求时,先确定应用程序的版本信息,调用预设的工具包,然后通过工具包中版本信息对应的调用函数,调启摄像头来获取人脸特征信息,本发明实施例中的方式应用程序与工具包分离,应用程序版本升级不会影响到工具包,且工具包可以与新版本的应用程序兼容,本申请实施例中的技术方案在保证工具包的兼容性的同时降低了应用程序后续升级维护成本。

本实施例中活体识别方法应用在金融领域,具体应用在银行和第三方合作方之间的业务中,银行端事先设置工具包,第三方终端的金融业务的应用程序中接入该预先的工具包,不仅可以保证金融业务操作的安全性,同时在金融业务对应的应用程序升级时,工具包可以进行有效地兼容,减少了金融业务对应的应用程序升级和维护成本,例如,终端中预设工具包可以兼容安卓7.0版本的第一支付应用程序和安卓8.0版本的第二支付应用程序,第一支付应用程序在采集人脸图像进行身份验证实现支付时,第一支付应用程序调用预设工具包,通过预设工具包中第一函数方法调启摄像头进行人脸特征信息的采集,并将采集到的人脸特征信息发送至服务器进行验证实现支付操作;或者第二支付应用在采集人脸图像进行验证实现支付时,第二应用程序调用预设工具包,通过预设工具包中第二函数方法,调启摄像头进行人脸特征信息的采集,并将采集到的人脸特征信息发送至服务器进行验证实现支付操作。实现了不同的第三方终端使用金融业务的应用程序时,即使多个第三方终端的应用程序的版本不同,也可以通过该预设工具包实现兼容。此外,即使该预设工具包有升级,也不影响原来多个第三方终端的应用程序,对于多个第三方终端来说,应用升级也无感知,不仅提高了应用程序升级的便捷性,也降低了应用程序升级的成本。

进一步地,基于本发明活体识别方法第一实施例,提出本发明活体识别方法第二实施例。

本实施例是第一实施例中步骤s10之前的步骤,本实施例与第一实施例的区别在于:

在接收到工具包创建请求时,获取所述工具包创建请求对应的初始工具包和版本信息,并输出配置界面;

获取基于所述配置界面输入的所述版本信息对应的函数方法,其中,所述版本信息包括:第一版本、第二版本和/或第三版本,所述函数方法包括:所述第一版本对应的第一函数方法、所述第二版本对应的第二函数方法和/或所述第三版本对应的第三函数方法;

将所述函数方法添加到所述初始工具包中,并将包含所述函数方法的初始工具包作为预设的工具包。

本实施例中通过重新编写函数,形成预设工具包,使得预设工具包与不同应用程序的版本信息进行兼容,实现摄像头来获取人脸特征信息,本实施例中生成预设工具包的步骤包括:终端在接收到工具包创建请求时,终端获取工具包创建请求对应的初始工具包和版本信息,终端输出配置界面;终端获取基于配置界面输入的版本信息对应的函数方法,其中,所述版本信息包括:第一版本、第二版本和/或第三版本的版本名称,版本编号等等,函数方法包括:所述第一版本对应的第一函数方法、第二版本对应的第二函数方法和/或所述第三版本对应的第三函数方法,函数方法中包括地址参数、类型参数;终端将函数方法添加到初始工具包中,并将包含函数方法的初始工具包作为预设的工具包。本实施例中预先编写函数,形成预设工具包,预设工具包可以兼容不同的应用程序,降低了第三方终端的应用程序兼容预设工具包的接入成本。

进一步地,参照图3,基于本发明活体识别方法第一实施例,提出本发明活体识别方法第三实施例。

本实施例是第一实施例中步骤s20的细化,本实施例与第一实施例的区别在于:

步骤s21,在获得摄像头使用权限时,将所述版本信息中的设备标识与预设标识集合中的各异常标识进行比对。

终端中预设标识集合,预设标识集合中包含问题机型对应的设备标识,其中,问题机型是指一些不可以通过常规操作正常调用的机型,或者说问题机型是指工具包不可以兼容的机型,通常的来讲,当前的机型种类较多,例如,相同终端品牌就有安卓3.0-4.0,4.1-5.0直至安卓5.0以上版本的机型,当前机型种类成千上万,工具包不可以100%地兼容全部的机型,开发人员将不可以兼容的机型作为问题机型,具体地,开发人员在工具包测试时,统计工具包不可以调启摄像头的问题机型,开发人员将问题机型的设备标识作为异常标识,并将异常标识保存到预设标识集合。

终端在获得摄像头使用权限时,终端将版本信息中的设备标识与预设标识集合中的各异常标识进行比对,即,若预设标识集合中不存在与设备标识匹配的目标异常标识时,终端判定其自身不是问题机型,预设的工具包可以调启该终端的摄像头,若预设标识集合中存在与设备标识匹配的目标异常标识时,终端判定其自身是问题机型,预设的工具包不可以调启该终端的摄像头。

步骤s22,若所述预设标识集合中不存在与所述设备标识匹配的目标异常标识时,通过预设的webview控件加载h5页面。

终端中预设有webview控件,webview是一个基于webkit引擎、展现web页面的控件,webview控件用于加载h5页面,本实施例中的预设webview控件与第一实施例相同,本实施例中不作赘述。

若预设标识集合中不存在与设备标识匹配的目标异常标识时,即,终端确定工具包可以调启该终端中的摄像头,终端通过webview控件加载h5页面,使得用户基于h5页面中触发操作请求,操作请求具体可以是拍照请求,还可以是摄像请求。

步骤s23,在接收到基于所述h5页面触发的操作请求时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息。

终端在接收到用于基于h5页面触发的操作请求时,终端调用预设的工具包,通过工具包调启摄像头来获取人脸特征信息,即,终端通过工具包中的webviewclient函数和setwebchromeclient函数调启摄像头来获取人脸特征信息。

本实施例中,终端中预设标识集合,在调用摄像头之前,终端先将版本信息中的设备标识与预设标识集合中的各异常标识进行比对,判断预设的工具包是否可以调启终端的摄像头,在可以确定工具包可以调启摄像头时,终端通过工具包中版本信息对应的函数调启摄像头来获取人脸特征信息,使得终端的操作更加便捷。

进一步地,基于本发明活体识别方法第三实施例,提出本发明活体识别方法第四实施例。

本实施例是第一实施例中步骤s21之后,本实施例与第二实施例的区别在于:

步骤s24,若所述预设标识集合中存在与所述设备标识匹配的目标异常标识时,则输出提示信息;接收基于所述提示信息输入的操作指令,根据所述操作指令调启摄像头来获取人脸特征信息。

若预设标识集合中存在与设备标识匹配的目标异常标识时,即,终端判定其自身是问题机型,终端通过工具包不可以调用其自身的摄像头,终端输出提示信息,提示信息中包含如何调用摄像头的操作提示(操作提示,例如点击刷新,点击确认授权等),终端接收基于提示信息输入的操作指令,终端根据操作指令切换至浏览器中,以在浏览器中调启摄像头来获取人脸特征信息。

本实施例中,终端根据设备信息确定工具包不可以调用本身的摄像头时,终端输出提示信息,使得用户可以根据提示信息进行操作,避免了工具包无法调取摄像头时,应用程序活体识别操作中断的情况。

进一步地,本发明实施例还提供一种活体识别系统,在本发明活体识别系统的第一实施例中,所述活体识别系统包括:通信连接的终端和服务器,所述活体识别系统实现以下步骤:

终端在接收到基于应用程序触发的活体识别请求时,终端获取所述应用程序的版本信息,并申请摄像头使用权限;

终端在获得摄像头使用权限时,终端判断本地存储中是否存在预设的工具包;

若所述本地存储中不存在预设的工具包,终端则发送获取请求至服务器;

服务器将所述获取请求对应的工具包发送至终端;

终端接收服务器发送的工具包,终端调用所述工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;

终端将所述人脸特征信息发送至所述工具包关联的服务器;

服务器接收终端发送的人脸特征信息,服务器根据所述人脸特征信息进行活体识别,得到识别结果,服务器将所述识别结果发送至终端;

终端接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果。

本实施例中,终端在接收到基于应用程序触发的活体识别请求时,终端获取所述应用程序的版本信息,并申请摄像头使用权限;终端在获得摄像头使用权限时,终端判断本地存储中是否存在预设的工具包;若终端本地存储中存在预设的工具包,终端调用预设的工具包,通过工具包中版本信息对应的函数调启摄像头来获取人脸特征信息;终端将人脸特征信息发送至所述工具包关联的服务器

若终端本地存储中不存在预设的工具包,终端则发送获取请求至服务器;服务器将所述获取请求对应的工具包发送至终端;终端接收服务器发送的工具包,终端调用所述工具包,终端通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;终端将所述人脸特征信息发送至所述工具包关联的服务器。

服务器接收终端发送的人脸特征信息,服务器根据人脸特征信息进行活体识别,即,服务器中预先保存人脸标准特征信息,其中,人脸标准特征信息是指用户注册或者更新时输入的用户人特征信息,服务器将终端发送的人脸特征信息与预存的人脸标准特征信息进行比对,确定人脸特征信息与预存的人脸标准特征信息的相似度,若人脸特征信息与预存的人脸标准特征信息的相似度高于预设临界值(预设临界值可以根据具体场景灵活设置,例如,预设临界值为95%)时,服务器判定识别结果为通过,反之,若人脸特征信息与预存的人脸标准特征信息的相似度等于或小于预设临界值,服务器判定识别结果为不通过,服务器将识别结果发送至终端。

终端接收服务器发送的识别结果并输出。

本实施例中终端首先判断终端本地存储中是否存在预设的工具包,若终端本地存储中存在预设的工具包,终端直接进行工具包调用,若终端本地存储中不存在预设的工具包,终端请求服务器获取工具包,终端调用工具包,通过工具包中版本信息对应的函数调启摄像头来获取人脸特征信息,然后,将人脸特征信息发送至服务器,由服务器进行识别验证,本实施例中在保证工具包兼容性的同时,减少了工具包的信息量,工具包中并不涉及到具体的识别操作,减少了工具包更新的频率,以降低了安装工具包的应用程序的升级和维护成本。

参考图4,本发明实施例还提供一种活体识别装置,所述活体识别装置包括:

接收申请模块10,用于在接收到基于应用程序触发的活体识别请求时,获取所述应用程序的版本信息,并申请摄像头使用权限;

调用获取模块20,用于在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;

信息发送模块30,用于将所述人脸特征信息发送至所述工具包关联的服务器,以使所述服务器根据所述人脸特征信息进行活体识别,得到识别结果;

接收输出模块40,用于接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果。

在一实施例中,所述活体识别装置,还包括:

工具包接入模块,用于在接收到基于应用程序项目文件触发的工具包接入请求时,将预设的工具包加载到所述项目文件中。

在一实施例中,所述活体识别装置包括:

接收获取模块,用于在接收到工具包创建请求时,获取所述工具包创建请求对应的初始工具包和版本信息,并输出配置界面;

函数获取模块,用于获取基于所述配置界面输入的所述版本信息对应的函数方法,其中,所述版本信息包括:第一版本、第二版本和/或第三版本,所述函数方法包括:所述第一版本对应的第一函数方法、所述第二版本对应的第二函数方法和/或所述第三版本对应的第三函数方法;

函数添加模块,用于将所述函数方法添加到所述初始工具包中,并将包含所述函数方法的初始工具包作为预设的工具包。

在一实施例中,所述调用获取模块20包括:

信息比对单元,用于在获得摄像头使用权限时,将所述版本信息中的设备标识与预设标识集合中的各异常标识进行比对;

页面加载单元,用于若所述预设标识集合中不存在与所述设备标识匹配的目标异常标识时,通过预设的webview控件加载h5页面;

操作获取单元,用于在接收到基于所述h5页面触发的操作请求时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息。

在一实施例中,所述调用获取模块20包括:

提示输出单元,用于若所述预设标识集合中存在与所述设备标识匹配的目标异常标识时,则输出提示信息;

接收基于所述提示信息输入的操作指令,根据所述操作指令调启摄像头来获取人脸特征信息。

上述各程序模块所执行的方法可参照本发明活体识别方法各个实施例,此处不再赘述。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:

1.一种活体识别方法,其特征在于,所述活体识别方法包括如下步骤:

在接收到基于应用程序触发的活体识别请求时,获取所述应用程序的版本信息,并申请摄像头使用权限;

在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;

将所述人脸特征信息发送至所述工具包关联的服务器,以使所述服务器根据所述人脸特征信息进行活体识别,得到识别结果;

接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果。

2.如权利要求1所述的活体识别方法,其特征在于,所述在接收到基于应用程序触发的活体识别请求时,获取所述应用程序的版本信息,并申请摄像头使用权限的步骤之前,包括:

在接收到基于应用程序项目文件触发的工具包接入请求时,将预设的工具包加载到所述项目文件中。

3.如权利要求1所述的活体识别方法,其特征在于,所述在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息的步骤之前,包括:

在接收到工具包创建请求时,获取所述工具包创建请求对应的初始工具包和版本信息,并输出配置界面;

获取基于所述配置界面输入的所述版本信息对应的函数方法,其中,所述版本信息包括:第一版本、第二版本和/或第三版本,所述函数方法包括:所述第一版本对应的第一函数方法、所述第二版本对应的第二函数方法和/或所述第三版本对应的第三函数方法;

将所述函数方法添加到所述初始工具包中,并将包含所述函数方法的初始工具包作为预设的工具包。

4.如权利要求1至3任意一项所述的活体识别方法,其特征在于,所述在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息的步骤,包括:

在获得摄像头使用权限时,将所述版本信息中的设备标识与预设标识集合中的各异常标识进行比对;

若所述预设标识集合中不存在与所述设备标识匹配的目标异常标识时,通过预设的webview控件加载h5页面;

在接收到基于所述h5页面触发的操作请求时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息。

5.如权利要求4所述的活体识别方法,其特征在于,所述在获得摄像头使用权限时,将所述版本信息中的设备标识与预设标识集合中的各异常标识进行比对的步骤之后,包括:

若所述预设标识集合中存在与所述设备标识匹配的目标异常标识时,则输出提示信息;

接收基于所述提示信息输入的操作指令,根据所述操作指令调启摄像头来获取人脸特征信息。

6.一种活体识别系统,其特征在于,所述活体识别系统包括:通信连接的终端和服务器,所述活体识别系统实现以下步骤:

终端在接收到基于应用程序触发的活体识别请求时,终端获取所述应用程序的版本信息,并申请摄像头使用权限;

终端在获得摄像头使用权限时,终端判断本地存储中是否存在预设的工具包;

若所述本地存储中不存在预设的工具包,终端则发送获取请求至服务器;

服务器将所述获取请求对应的工具包发送至终端;

终端接收服务器发送的工具包,终端调用所述工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;

终端将所述人脸特征信息发送至所述工具包关联的服务器;

服务器接收终端发送的人脸特征信息,服务器根据所述人脸特征信息进行活体识别,得到识别结果,服务器将所述识别结果发送至终端;

终端接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果。

7.一种活体识别装置,其特征在于,所述活体识别装置包括:

接收申请模块,用于在接收到基于应用程序触发的活体识别请求时,获取所述应用程序的版本信息,并申请摄像头使用权限;

调用获取模块,用于在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;

信息发送模块,用于将所述人脸特征信息发送至所述工具包关联的服务器,以使所述服务器根据所述人脸特征信息进行活体识别,得到识别结果;

接收输出模块,用于接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果。

8.如权利要求7所述的活体识别装置,其特征在于,所述活体识别装置包括:

获取输出模块,用于在接收到工具包创建请求时,获取所述工具包创建请求对应的初始工具包和版本信息,并输出配置界面;

函数获取单元,用于获取基于所述配置界面输入的所述版本信息对应的函数方法,其中,所述版本信息包括:第一版本、第二版本和/或第三版本,所述函数方法包括:所述第一版本对应的第一函数方法、所述第二版本对应的第二函数方法和/或所述第三版本对应的第三函数方法;

工具添加模块,用于将所述函数方法添加到所述初始工具包中,并将包含所述函数方法的初始工具包作为预设的工具包。

9.一种活体识别设备,其特征在于,所述活体识别设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的活体识别程序,所述活体识别程序被所述处理器执行时实现如权利要求1至5中任一项所述的活体识别方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有活体识别程序,所述活体识别程序被处理器执行时实现如权利要求1至5中任一项所述的活体识别方法的步骤。

技术总结

本发明涉及金融科技(Fintech)技术领域,本发明公开了一种活体识别方法,该方法包括:在接收到基于应用程序触发的活体识别请求时,获取所述应用程序的版本信息,并申请摄像头使用权限;在获得摄像头使用权限时,调用预设的工具包,通过所述工具包中所述版本信息对应的函数调启摄像头来获取人脸特征信息;将所述人脸特征信息发送至所述工具包关联的服务器,以使所述服务器根据所述人脸特征信息进行活体识别,得到识别结果;接收所述服务器发送的识别结果,并在所述应用程序中输出所述识别结果。本发明还公开了一种活体识别系统、装置、设备及计算机可读存储介质。本发明通过提高工具包兼容性,降低了应用程序后续升级和维护成本。

技术研发人员:郭树霞;陈洁丹;卢道和

受保护的技术使用者:深圳前海微众银行股份有限公司

技术研发日:.11.08

技术公布日:.02.28

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。