支付方法、装置、本地识别设备、人脸支付系统及设备
技术领域
本公开涉及计算机的
技术领域
,具体而言,涉及一种支付方法、装置、本地识别设备、人脸支付系统及设备。背景技术
为了提高付款的便利性,刷脸支付即将成为现实生活中一种新的支付方式。相较于传统的现金支付以及电子支付手段,刷脸支付不需要携带任何实物、能够提升用户购物的整体体验。
然而,支付涉及到财产安全问题,因此刷脸支付需要保证人脸识别精度。以防止其他人冒充使用别人的账户进行支付,同时还能够面对各种极端和复杂的场景,确保刷脸人与支付账户属于同一个人。
目前,现有的人脸支付方式在极端和复杂的支付环境下,对人脸进行识别的准确率较低。因此,为了提高人脸支付的安全性,亟需一种能够满足各种复杂的支付环境的人脸支付方案。
发明内容
本公开实施例至少提供一种支付方法、装置、本地识别设备、人脸支付系统及设备。
第一方面,本公开实施例提供了一种支付方法,应用于本地识别设备,包括:确定包含目标脸部的RGB图像和包含所述目标脸部的目标图像;所述目标图像包含:红外IR图像和/或深度图像,所述目标图像和所述RGB图像为满足采集时间间隔要求的图像;通过所述RGB图像和所述目标图像对所述目标脸部对应的支付对象进行活体检测;以及通过RGB图像和所述目标图像对所述目标脸部进行脸部识别;在检测出所述支付对象为活体对象,且对所述目标脸部识别通过的情况下,向支付服务器发送支付请求,所述支付服务器用于响应所述支付请求,为所述支付对象执行支付操作。
在本公开实施例中,在确定出包含目标脸部的RGB图像和目标图像之后,通过RGB图像和目标图像对支付对象进行活体检测的方式,可以提高活体检测的准确度,同时,通过RGB图像和目标图像对目标脸部进行脸部识别的方式,可以提升脸部识别的精度,从而使得该支付方法能够适用于各种支付场景下。特别是针对较为复杂的支付场景,采用本公开所提供的技术方案依然可以得到准确率较高的活体检测结果和脸部识别结果,从而保证支付对象的支付安全。
一种可能的实施方式中,所述通过RGB图像和所述目标图像对所述目标脸部进行脸部识别,包括:确定当前时刻的支付环境信息;从所述RGB图像和所述目标图像中,确定与所述支付环境信息相匹配的待识别图像;基于所述待识别图像对所述目标脸部进行脸部识别。
上述实施方式中,由于支付环境不同,则通过不同类型的图像进行脸部识别的精度也不一定相同。例如,在支付环境昏暗,或者支付环境混乱的场景下,通过RGB图像进行脸部识别可能会降低脸部识别的准确率。因此,通过确定与支付环境信息相匹配的待识别图像,以根据该待识别图像进行脸部识别的方式,可以提高脸部识别的准确率,以保证人脸支付的安全性。
一种可能的实施方式中,所述确定当前时刻的支付环境信息,包括:确定目标环境参数,其中,所述目标环境参数包含以下至少之一:光照强度、所述本地识别设备和支付对象之间的支付距离、支付对象所处环境的复杂度;根据所述目标环境参数确定所述支付环境信息。
上述实施方式中,通过多种不同的目标环境参数来确定支付环境信息,可以考虑到多种影响支付操作的环境参数,从而使得本公开的支付方案能够适用于任何的复杂支付场景,以扩大本公开技术方案的适用范围。
一种可能的实施方式中,所述在所述RGB图像和所述目标图像中确定与所述支付环境信息相匹配的待识别图像,包括:检测当前时刻支付环境的光照强度;在所述光照强度满足预设强度要求的情况下,将所述RGB图像确定为所述待识别图像;在所述光照强度不满足所述预设强度要求的情况下,将所述红外IR图像确定为所述待识别图像。
上述实施方式中,可以通过本地识别设备上设置的传感器来检测当前时刻支付环境的光照强度,还可以通过对RGB图像进行图像处理的方式,确定当前时刻支付环境的光照强度。通过检测支付环境的光照强度,将该光照强度作为支付环境信息;并在RGB图像和目标图像中确定与光照强度相匹配的待识别图像进行脸部识别的方式,可以提高脸部识别的准确性。
一种可能的实施方式中,所述基于所述待识别图像对所述目标脸部进行脸部识别,包括:对所述待识别图像进行脸部特征提取,得到第一脸部特征;在本地脸部特征库中搜索所述第一脸部特征,并在搜索到所述第一脸部特征的情况下,确定所述目标脸部的脸部识别成功。
一种可能的实施方式中,所述方法还包括:在所述本地脸部特征库中未搜索到所述第一脸部特征的情况下,向支付服务器发送搜索请求,其中,所述搜索请求用于请求所述支付服务器在云端脸部特征库中搜索所述第一脸部特征;在接收到所述支付服务器针对所述搜索请求返回的确认指令的情况下,确定脸部识别成功。
在本公开实施例中,可以设置在本地脸部特征库中进行脸部特征的比对,还可以通过网络向支付服务器请求进行脸部特征的比对。然而,由于本地识别设备的安装环境差异较大,因此,当本地识别设备的安装环境所对应的网络的通信性能较差时,将严重影响脸部特征比对的速率,从而将严重影响支付对象的支付操作。基于此,通过上述实施方式中所描述的方式,首先,设置首先在本地脸部特征库进行脸部特征比对的方式,在本地脸部特征库脸部特征比对失败的情况下,通过支付服务器进行脸部特征比对的方式,可以省略本地识别设备和支付服务器之间的交互环节,即使在网络较差的情况下,依然可以执行脸部比对操作,从而进一步提高脸部比对的效率。
一种可能的实施方式中,所述通过所述RGB图像和所述目标图像对所述目标脸部对应的支付对象进行活体检测,包括:在所述RGB图像中裁剪包含所述目标脸部的第一图像,并在所述目标图像中裁剪包含所述目标脸部的第二图像;基于所述第一图像和所述第二图像对所述支付对象进行活体检测。
一种可能的实施方式中,所述基于所述第一图像和所述第二图像对所述支付对象进行活体检测,包括:将所述第一图像和所述第二图像输入至活体检测模型中进行处理,得到对所述支付对象进行活体检测。
在对支付对象进行活体检测时,可以通过活体检测模型对RGB图像进行活体检测,然而,基于单帧RGB图像进行活体检测的局限性太大,因此无法保证人脸活体检测的精度。基于此,本公开技术方案通过RGB图像和目标图像对支付对象进行活体检测,可以综合多帧的融合识别技术来进行活体检测,从而提升活体检测精度。
一种可能的实施方式中,所述在所述RGB图像中裁剪包含所述目标脸部的第一图像,包括:对所述RGB图像中的所述目标脸部进行脸部检测,得到第一检测结果,其中,所述第一检测结果包括:人脸框和/或人脸关键点;基于所述第一检测结果在所述RGB图像中裁剪包含所述目标脸部的第一图像。
上述实施方式中,通过对RGB图像进行裁剪得到第一图像,以通过该第一图像进行活体检测和脸部识别,可以过滤掉RGB图像中的无用信息,从而提高活体检测的检测精度和脸部识别的识别精度。
一种可能的实施方式中,所述在所述目标图像中裁剪包含所述目标脸部的第二图像,包括:获取用于采集所述RGB图像的第一摄像装置的第一摄像参数,以及获取用于采集所述目标图像的第二摄像装置的第二摄像参数;基于所述第一摄像参数和所述第二摄像参数,确定所述RGB图像和所述目标图像之间的映射关系;基于所述映射关系,确定所述目标脸部的人脸框在所述目标图像中的第一映射位置,并基于所述第一映射位置在所述目标图像中裁剪包含所述目标脸部的第二图像;或,基于所述映射关系,确定所述目标脸部的各个人脸关键点在所述目标图像中的第二映射位置,并基于所述第二映射位置在所述目标图像中裁剪包含所述目标脸部的第二图像。
上述实施方式中,通过确定映射关系,可以确定目标脸部的人脸框在目标图像中的第一映射位置,或者,确定目标脸部的各个人脸关键点在目标图像中的第二映射位置。在确定出第一映射位置或者第二映射位置之后,根据第一映射位置或者第二映射位置,对目标图像中裁剪包含目标脸部的第二图像的方式,可以准确的确定出目标图像中目标脸部的位置,在根据该第二图像和第一图像进行活体检测和脸部识别时,可以提高活体检测的检测精度和脸部识别的识别准确度。
一种可能的实施方式中,所述确定包含目标脸部的RGB图像和包含所述目标脸部的目标图像,包括:获取第一视频流,并对所述第一视频流中的视频帧进行脸部检测,检测得到包含脸部的第一视频帧;计算所述第一视频帧中所包含脸部的脸部质量;在所述脸部质量满足质量要求的情况下,根据所述第一视频帧确定所述RGB图像;获取第二视频流,并从所述第二视频流中确定所述目标图像。
上述实施方式中,在第一视频流中筛选出脸部质量满足质量要求的第一视频帧之后,通过该第一视频帧进行活体检测和脸部识别时,可以提高活体检测的检测精度,以及提高脸部识别的识别精度,从而使得该支付方法能够适用于各种场景下,以保证支付对象的支付安全性。
一种可能的实施方式中,所述计算所述第一视频帧中所包含脸部的脸部质量,包括:对所述第一视频帧进行脸部检测,得到脸部检测结果,其中,所述脸部检测结果包括以下至少之一:人脸关键点、人脸模糊度、人脸姿态、人脸检测置信度;对所述脸部检测结果进行数据分析,得到所述脸部质量。
上述实施方式中,通过人脸关键点、人脸模糊度、人脸姿态、人脸检测置信度中的至少一个信息,确定第一视频帧中所包含脸部的脸部质量的方式,可以提高脸部质量的准确性。
一种可能的实施方式中,在确定出所述脸部质量满足质量要求的情况下,根据所述第一视频帧确定所述RGB图像,包括:在所述第一视频帧中包含多个脸部的情况下,确定每个所述脸部的人脸框,得到多个人脸框;将所述多个人脸框中最大人脸框所框选出的包含所述目标脸部的脸部图像作为所述RGB图像。
上述实施方式中,通过在多个人脸框中最大人脸框所框选的目标脸部的脸部图像作为RGB图像,可以缩短该支付流程的支付时间,以提高支付效率。
一种可能的实施方式中,所述方法还包括:在连续检测到多个所述第一视频帧中所包含脸部的脸部质量不满足所述质量要求的情况下,生成目标调整信号,其中,所述目标调整信号用于调整以下至少一种目标参数:当前时刻支付环境的光照强度,用于采集所述第一视频流的第一摄像装置的位姿;通过所述目标调整信号对所述目标参数进行调整;在调整所述目标参数之后,重新获取第一视频流;并对重新获取到的第一视频流中的视频帧进行脸部检测。
上述实施方式中,通过目标调整信号对光照强度和第一摄像装置的位姿进行调整,可以提高第一视频帧中所包含脸部图像的脸部质量,从而能够提高活体检测的精度和脸部识别的精度。
一种可能的实施方式中,所述方法还包括:统计第一预设时间段内所述支付对象的支付成功次数;在所述支付成功次数满足第一预设次数要求的情况下,将所述支付对象的脸部特征存储在本地脸部特征库中。
由于支付操作带有一定的局部性,比如便利店覆盖的重点人群是周边的人群。此时,可以根据支付对象的支付成功次数,将把经常在此刷脸支付的用户特征信息(脸部特征)同步至本地识别设备,以后用户刷脸时优先在本地识别设备进行特征比对,以提升比对的效率,从而实现充分利用本地识别设备的算力资源。
一种可能的实施方式中,所述在所述支付成功次数满足第一预设次数要求的情况下,将所述支付对象的脸部特征存储在本地脸部特征库中,包括:在所述支付成功次数满足第一预设次数要求的情况下,获取所述支付对象的历史支付信息;根据所述历史支付信息确定所述支付对象在当前时刻的支付位置的活动频繁度;判断所述活动频繁度是否满足频繁度要求;在所述活动频繁度满足所述频繁度要求的情况下,将所述支付对象的脸部特征存储在本地脸部特征库中。
上述实施方式中,通过在活动频繁度满足频繁度要求的情况下,将支付对象的脸部特征存储在本地脸部特征库中的方式,可以准确的从多个支付对象中确定出在该支付位置支付较为频繁的支付对象,以提升比对的效率。
一种可能的实施方式中,所述方法还包括:获取在第二预设时间段内的支付成功次数不满足第一预设次数要求的目标支付对象;在本地脸部特征库中查找所述目标支付对象的脸部特征,得到第二脸部特征;为所述第二脸部特征添加目标特征标签,其中,所述目标特征标签用于指示所述第二脸部特征为待删除的脸部特征。
在本公开实施例中,为了释放出本地识别设备的本地存储资源,还可以为本地脸部特征库中不经常使用的第二脸部特征设置相应的目标特征标签,以通过该目标特征标签指示该第二脸部特征为待删除的脸部特征。之后,本地识别设备就可以定期的对目标特征标签进行检测,从而删除待删除的脸部特征,同时,还可以通过该目标特征标签指示用户手动删除该待删除的脸部特征。
一种可能的实施方式中,所述方法还包括:在确定出所述支付对象不是活体对象,且确定出脸部识别通过的情况下,统计该支付对象在非活体状态下脸部识别通过的目标次数;在所述目标次数满足第二预设次数要求的情况下,向所述支付对象发送报警提示信息。
上述实施方式中,通过统计支付对象在非活体状态下脸部识别通过的目标次数,可以提高支付操作的安全性,以保证支付对象的财产安全。
第二方面,本公开实施例还提供一种支付装置,包括:确定单元,用于确定包含目标脸部的RGB图像和包含所述目标脸部的目标图像;所述目标图像包含:红外IR图像和深度图像,所述目标图像和所述RGB图像为满足采集时间间隔要求的图像;活体检测单元,用于通过所述RGB图像和所述目标图像对所述目标脸部对应的支付对象进行活体检测;以及通过RGB图像和所述目标图像对所述目标脸部进行脸部识别;支付请求发送单元,用于在检测出所述支付对象为活体对象,且对所述目标脸部识别通过的情况下,向支付服务器发送支付请求,所述支付服务器用于响应所述支付请求,为所述支付对象执行支付操作。
第三方面,本公开实施例还提供一种本地识别设备,包括:第一摄像装置、第二摄像装置和控制器;其中,所述第一摄像装置和所述第二摄像装置均与所述控制器通信连接,所述控制器通过上位机与支付服务器通信连接;所述第一摄像装置,被配置成采集第一视频流;所述第二摄像装置,被配置成采集第二视频流;所述控制器,被配置成根据所述第一视频流确定包含目标脸部的RGB图像,并根据所述第二视频流确定包含目标脸部的目标图像;所述目标图像包含:红外IR图像和/或深度图像,所述目标图像和所述RGB图像为满足采集时间间隔要求的图像;以及,通过所述RGB图像和所述目标图像对所述目标脸部对应的支付对象进行活体检测;以及通过RGB图像和所述目标图像对所述目标脸部进行脸部识别;在检测出所述支付对象为活体对象,且对所述目标脸部识别通过的情况下,通过所述上位机向所述支付服务器发送支付请求,所述支付服务器用于响应所述支付请求,为所述支付对象执行支付操作。
第四方面,本公开实施例还提供一种人脸支付系统,包括:支付服务器、上位机如上述第一方面中任一项所述的本地识别设备,其中,所述上位机用于实现所述支付服务器和所述本地识别设备之间的通信连接。
第五方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第六方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种本地识别设备的结构示意图;
图2示出了本公开实施例所提供的另一种本地识别设备的结构示意图;
图3示出了本公开实施例所提供的一种本地识别设备的控制面板的结构示意图;
图4示出了本公开实施例所提供的一种支付方法的流程图;
图5示出了本公开实施例所提供的一种支付方法的时序图;
图6示出了本公开实施例所提供的一种支付装置的示意图;
图7示出了本公开实施例所提供的一种人脸识别系统的示意图;
图8示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,现有的人脸支付方式在极端和复杂的支付环境下,对人脸进行识别的准确率较低。因此,为了提高人脸支付的安全性,亟需一种能够满足各种复杂的支付环境的人脸支付方案。
基于上述研究,在本公开实施例中,在确定出包含目标脸部的RGB图像和目标图像之后,通过RGB图像和目标图像对支付对象进行活体检测的方式,可以提高活体检测的准确度,同时,通过RGB图像和目标图像对目标脸部进行脸部识别的方式,可以提升脸部识别的精度,从而使得该支付方法能够适用于各种支付场景下。特别是针对较为复杂的支付场景,采用本公开所提供的技术方案依然可以得到准确率较高的活体检测结果和脸部识别结果,从而保证支付对象的支付安全。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种本地识别设备进行详细介绍。
参见图1所示,为本公开实施例提供的一种本地识别设备的结构示意图,本地识别设备包括:第一摄像装置11、第二摄像装置12和控制器13。
如图1所示,第一摄像装置11和所述第二摄像装置12均与所述控制器13通信连接,所述控制器13通过上位机与支付服务器通信连接。
第一摄像装置11(又可以称为RGB相机),被配置成采集第一视频流。
第二摄像装置12,被配置成采集第二视频流。
控制器13,被配置成根据所述第一视频流确定包含目标脸部的RGB图像,并根据所述第二视频流确定包含目标脸部的目标图像;所述目标图像包含:红外IR图像和/或深度图像,所述目标图像和所述RGB图像为满足采集时间间隔要求的图像;以及,通过所述RGB图像和所述目标图像对所述目标脸部对应的支付对象进行活体检测;以及通过RGB图像和所述目标图像对所述目标脸部进行脸部识别;在检测出所述支付对象为活体对象,且对所述目标脸部识别通过的情况下,通过上位机向所述支付服务器发送支付请求,所述支付服务器用于响应所述支付请求,为所述支付对象执行支付操作。
在本公开实施例中,上述支付服务器可以为银行服务器,上位机可以为收银台。本地识别设备通过控制器实现与上位机之间的通信连接,上位机能够建立与银行服务器之间的通信连接。也即,上位机为中间传输数据指令的设备。
这里,目标图像和RGB图像满足采集时间间隔要求可以理解为:目标图像和RGB图像的采集时间相同,或者,目标图像的采集时间和RGB图像的采集时间之间的时间间隔小于预设时间间隔,例如,10毫秒。
如图1所示,第二摄像装置12包括:IR相机121。
IR相机121,被配置成采集包含红外IR图像的第二视频流。
在本公开实施例中,在获取到红外IR图像之后,可以基于3D结构光计算来计算距离,生成深度图像。
在本公开实施例中,还可以设置深度相机,以通过深度相机采集深度图像。
第一摄像装置11和第二摄像装置12可以通过固定装置安装在目标支付系统所在设备的邻近位置。这里,可以设置第一摄像装置11和第二摄像装置12在固定装置上的安装位置是可以调整的。例如,可以设置成根据支付对象的身高自动的调整该第一摄像装置11和第二摄像装置12的在固定装置上的安装位置。
第一摄像装置11和第二摄像装置12除了可以设置成安装位置可调之外,还可以设置成第一摄像装置11和第二摄像装置12的照射角度可调,以满足更加复杂的使用场景。
在本公开实施例中,第一摄像装置11的数量可以设置成至少一个,例如,可以设置多个第一摄像装置11。例如,可以设置主用第一摄像装置和备用第一摄像装置,当主用第一摄像装置正常工作时,备用第一摄像装置不开启;当主用第一摄像装置工作异常时,备用第一摄像装置开启。还可以设置多个第二摄像装置12。例如,可以设置主用第二摄像装置和备用第二摄像装置,当主用第二摄像装置正常工作时,备用第二摄像装置不开启;当主用第二摄像装置工作异常时,备用第二摄像装置开启。
通过上述描述可知,本公开技术方案所提供的本地识别设备,可以适用于任意的支付场景,同时能利用现有的支付设备,较为方便快捷的完整支付操作。
在本公开实施例中,在确定出包含目标脸部的RGB图像和目标图像之后,通过RGB图像和目标图像对支付对象进行活体检测的方式,可以提高活体检测的准确度,同时,通过RGB图像和目标图像对目标脸部进行脸部识别的方式,可以提升脸部识别的精度,从而使得该支付方法能够适用于各种支付场景下。特别是针对较为复杂的支付场景,采用本公开所提供的技术方案依然可以得到准确率较高的活体检测结果和脸部识别结果,从而保证支付对象的支付安全。
如图2所示的为另一种可选的本地识别设备的结构示意图。如图2所示,该本地识别设备包括:与上位机通信连接的控制器和单芯片系统SOC(System on Chip);其中,单芯片系统SOC中包含第一摄像装置和第二摄像装置。
如图2所示,控制器中包含:预览控制器preview controller、设备控制器devicecontroller、软件开发包symphony SDK和AI控制器AI controller。
单芯片系统SOC中包含:camera service-摄像服务器;media service-多媒体服务器;AI service–AI服务器;嵌入式神经网络处理器(NPU);HAL语义存储模型;RGB相机,IR相机和深度相机。
预览控制器用于控制预览视频的预览状态,例如,预览视频中每个视频帧的预览分辨率、每个视频帧的预览大小、每个视频帧的预览颜色等状态信息。例如,如图3所示,用户可以通过操控目标支付系统中所展示的预览控制器的第一控制按钮来控制预览视频的预览状态。
设备控制器用于控制第一摄像装置和第二摄像装置的工作状态。这里,该工作状态包括以下至少之一:开启状态、关闭状态、高度信息、照射角度等。例如,如图3所示,用户可以通过操控目标支付系统中所展示的设备控制器的第二控制按钮来控制工作状态。
AI控制器用于控制检测参数,其中,该检测参数包括:人脸检测的参数、活体检测的参数、人脸识别的参数。这里,控制检测参数可以理解为更新检测参数。
RGB摄像装置(第一摄像装置)用于采集包含上述RGB图像的视频。IR相机(第二摄像装置)用于采集包含上述红外IR图像的视频。深度相机(第二摄像装置)用于采集包含上述深度图像的视频。
摄像服务器用于控制上述第一摄像装置和第二摄像装置,以实现控制器和摄像装置(RGB摄像装置,IR相机和深度相机)之间的通信连接。多媒体服务器用于控制第一摄像装置和第二摄像装置所采集视频流的编解码操作。AI服务器用于提供人脸检测服务,人脸识别服务和活体检测服务。HAL语义存储模型用于存储对应的处理数据。
为便于对本实施例进行理解,下面对本公开实施例所公开的一种支付方法进行详细介绍。参见图4所示,为本公开实施例提供的一种支付方法的流程图,所述方法包括步骤S401~S405,其中:
S401:确定包含目标脸部的RGB图像和包含所述目标脸部的目标图像;所述目标图像包含:红外IR图像和/或深度图像,所述目标图像和所述RGB图像为满足采集时间间隔要求的图像。
在本公开实施例中,目标图像包含以下几种情况:
情况一:红外IR图像;情况二:红外IR图像和深度图像;情况三:深度图像。
针对每一种情况下所对应的红外IR图像和深度图像,均为和RGB图像之间满足采集时间间隔要求的图像。
这里,RGB图像可以和处于上述任一种情况下的目标图像执行下述所描述的步骤S403和S405。
这里,目标图像和RGB图像满足采集时间间隔要求可以理解为:目标图像和RGB图像的采集时间相同,或者,目标图像的采集时间和RGB图像的采集时间之间的时间间隔小于预设时间间隔,例如,10毫秒。
S403:通过所述RGB图像和所述目标图像对所述目标脸部对应的支付对象进行活体检测;以及通过RGB图像和所述目标图像对所述目标脸部进行脸部识别。
在本公开实施例中,可以在对支付对象进行活体检测时,同时对目标脸部进行脸部识别。通过设置活体检测和脸部识别同时进行的方式,可以缩短支付流程的支付时间,提高支付流程的支付效率。
S405:在检测出所述支付对象为活体对象,且对所述目标脸部识别通过的情况下,向支付服务器发送支付请求,所述支付服务器用于响应所述支付请求,为所述支付对象执行支付操作。
在一个可选的实施方式中,在检测出所述支付对象不是活体对象,和/或,对所述目标脸部识别失败的情况下,返回支付失败的提示信息。
针对活体检测的检测结果,以及脸部识别的识别结果,在检测结果和识别结果中至少一个结果未通过的情况下,则返回支付失败的提示信息。
这里,本地识别设备可以向后台的支付服务器返回支付失败的提示信息,以使后台的支付服务器对该失败的支付操作进行记录。除此之外,还可以在该支付界面上为支付对象展示该支付失败的提示信息。
在本公开实施例中,支付对象在通过本公开技术方案所描述的支付方法执行支付操作之前,需要执行用户注册操作。
这里,用户可以通过与上述本地识别设备相匹配的APP上执行注册操作。在执行注册操作时,需要对用户的脸部进行扫描,从而得到该用户的脸部图像,以根据该脸部图像确定该用户的脸部特征。在获取到该脸部图像之后,还可以为该脸部图像绑定相应的账户信息,该账户信息包含以下至少之一:用于执行支付操作的银行账户、联系方式、姓名等身份信息。
在本公开实施例中,在对支付对象活体检测通过,且人脸识别通过情况下,可以获取预先为该支付对象绑定的账户信息,本地识别设备可以将该账户信息向银行服务器发送,以使银行服务器基于该账户信息执行支付操作,例如,执行扣款操作。
在本公开实施例中,在确定出包含目标脸部的RGB图像和目标图像之后,通过RGB图像和目标图像对支付对象进行活体检测的方式,可以提高活体检测的准确度,同时,通过RGB图像和目标图像对目标脸部进行脸部识别的方式,可以提升脸部识别的精度,从而使得该支付方法能够适用于各种支付场景下。特别是针对较为复杂的支付场景,采用本公开所提供的技术方案依然可以得到准确率较高的活体检测结果和脸部识别结果,从而保证支付对象的支付安全。
在一个可选的实施方式中,上述步骤S101,确定包含目标脸部的RGB图像和包含所述目标脸部的目标图像,具体包括如下步骤:
步骤S1011,获取第一视频流,并对所述第一视频流中的视频帧进行脸部检测,检测得到包含脸部的第一视频帧;
步骤S1012,计算所述第一视频帧中所包含脸部的脸部质量;
步骤S1013,在所述脸部质量满足质量要求的情况下,根据所述第一视频帧确定所述RGB图像;
步骤S1014,获取第二视频流,并从所述第二视频流中确定所述目标图像。
在本公开实施例中,可以通过如图1中所示的第一摄像装置采集第一视频流,其中,第一视频流中的视频帧为RGB图像帧。针对每个RGB图像帧,可以对该RGB图像帧进行脸部检测,以检测该RGB图像帧中是否包含指定的脸部(例如,人脸)。如果检测到包含指定的脸部,则确定该RGB图像帧为第一视频帧。
此时,可以计算该第一视频帧中所包含脸部的脸部质量,并判断该脸部质量是否满足质量要求。例如,可以判断该脸部质量是否大于或者等于质量阈值,如果判断出是,则判断出满足质量要求的情况下,此时,可以根据该第一视频帧确定RGB图像。
在本公开实施例中,计算所述第一视频帧中所包含脸部的脸部质量,具体包括如下步骤:
(1)、对所述第一视频帧进行脸部检测,得到脸部检测结果,其中,所述脸部检测结果包括以下至少之一:人脸关键点、人脸模糊度、人脸姿态、人脸检测置信度;
(2)、对所述脸部检测结果进行数据分析,得到所述脸部质量。
首先,对第一视频帧进行脸部检测,得到上述所描述的脸部检测结果。其中,人脸关键点可以包含以下关键点:脸部轮廓关键点、眼睛的关键点、鼻子的关键点、嘴巴的关键点、眉毛的关键点。人脸模糊度用于表征第一视频帧中目标脸部所在图像区域的清晰程度。人脸姿态可以包含以下至少之一:目标脸部相对于水平面之间的夹角、目标脸部所在平面相对于第一摄像装置成像平面之间的夹角、眼睛的视线角度等信息。人脸检测置信度用于表征第一视频帧中包含脸部的概率。
在得到脸部检测结果之后,就可以基于该脸部检测结果确定脸部质量。
在一个可选的实施方式中,可以为脸部检测结果中的每个子结果对应分配一个权重值,全部子结果所对应的权重值之和为1。然后,将每个子结果和权重值进行加权求和计算,得到的计算结果作为脸部质量。
上述实施方式中,通过人脸关键点、人脸模糊度、人脸姿态、人脸检测置信度中的至少一个信息,确定第一视频帧中所包含脸部的脸部质量的方式,可以提高脸部质量的准确性。
在本公开实施例中,在按照上述所描述的方式确定出RGB图像之后,就可以获取IR相机和/或深度相机拍摄的第二视频流。然后,在第二视频流中确定与第一视频帧的采集时刻相同的第二视频帧,或者,确定与第一视频帧的采集时间间隔满足要求的第二视频帧。之后,将确定出的第二视频帧确定为目标图像。
若目标图像包含红外IR图像,则可以获取IR相机拍摄的第二视频流,在第二视频流中确定与第一视频帧的采集时刻相同的第二视频帧,或者,确定与第一视频帧的采集时间间隔满足要求的第二视频帧,并将该第二视频帧确定为红外IR图像。
若目标图像包含深度图像,则可以获取深度相机拍摄的第二视频流,在第二视频流中确定与第一视频帧的采集时刻相同的第二视频帧,或者,确定与第一视频帧的采集时间间隔满足要求的第二视频帧,并将该第二视频帧确定为深度图像。
上述实施方式中,在第一视频流中筛选出脸部质量满足质量要求的第一视频帧之后,通过该第一视频帧进行活体检测和脸部识别时,可以提高活体检测的检测精度,以及提高脸部识别的识别精度,从而使得该支付方法能够适用于各种场景下,以保证支付对象的支付安全性。
在一个可选的实施方式中,上述步骤S1011中,根据所述第一视频帧确定所述RGB图像,具体包括如下过程:
首先,在所述第一视频帧中包含多个脸部的情况下,确定每个所述脸部的人脸框,得到多个人脸框;
其次,将多个人脸框中最大人脸框所框选出的所述目标脸部的脸部图像作为所述RGB图像。
若当前时刻的支付环境较为复杂,例如,当前时刻所在商店的顾客数量较多,或者,排队结账的人数较多时,第一视频流的视频帧中可能出现包含多个脸部的情况。此时,为了避免错误的利用其他支付对象的脸部信息进行支付,可以从第一视频帧多包含的多个脸部中确定目标脸部,以通过该目标脸部所对应的支付对象的相关信息执行支付操作。
这里,可以确定每个脸部的人脸框,然后,将多个人脸框中尺寸最大人脸框所框选出的目标脸部的脸部图像作为RGB图像。
可以理解的是,在基于该最大人脸框所框选出的目标脸部所对应支付对象执行支付操作之后,可以向该支付对象发送支付成功信息。
在本公开实施例中,还可以包含以下步骤:
在多个人脸框中确定包含完整脸部的完整人脸框;对该完整人脸框内的脸部进行脸部识别,得到识别结果;根据该识别结果在完整人脸框中确定脸部识别成功的成功人脸框,并记录该成功人脸框所框选脸部所属对象的对象信息,例如,可以为该所属对象的标签信息、姓名信息等相关信息。
通过上述处理方式,可以在通过错误的支付对象执行支付操作时,及时并准确的确定出所选择错误的支付对象,以保证用户的财产安全。
上述实施方式中,通过在多个人脸框中最大人脸框所框选的目标脸部的脸部图像作为RGB图像,可以缩短该支付流程的支付时间,以提高支付效率。同时,通过记录多个人脸框中包含完整脸部的人脸框所框选的脸部所对应的对象的身份信息的方式,还可以在目标脸部选择错误的情况下,快速并准确的确定出支付错误的对象,以进一步提高该支付操作的安全性。
在一个可选的实施方式中,在所述第一视频帧中包含多个脸部的情况下,还可以检测支付对象针对该多个脸部的选择操作,并基于该选择操作确定出支付对象所选择的脸部为目标脸部,并在第一视频帧中裁剪出包含该目标脸部的图像为RGB图像。
这里,为了避免用户选择出其他用户的脸部用于进行人脸支付,还可以生成校验信息,并向用户所选择的目标脸部所属的用户发送校验信息,例如,短信校验。并在检测到支付对象输入的校验信息正确的情况下,确定支付对象所选择的脸部为该支付对象的脸部。
在一个可选的实施方式中,该方法还包括如下步骤:
(1)、在连续检测到多个所述第一视频帧中所包含脸部的脸部质量不满足所述质量要求的情况下,生成目标调整信号,其中,所述目标调整信号用于调整以下至少一种目标参数:当前时刻支付环境的光照强度,用于采集所述第一视频流的第一摄像装置的位姿;
(2)、通过所述目标调整信号对所述目标参数进行调整;
(3)、在调整所述目标参数之后,重新获取第一视频流;并对重新获取到的第一视频流中的视频帧进行脸部检测。
若当前时刻的支付环境不满足条件时,可能会导致第一视频帧中所包含脸部的脸部质量不满足质量要求。基于此,可以设置在检测到连续多个第一视频帧中所包含脸部的脸部质量不满足所述质量要求的情况下,生成目标调整信号。这里,该目标调整信号用于调整当前时刻支付环境的光照强度,和/或,用于调整采集第一视频流的第一摄像装置的位姿。
具体地,可以在本地识别设备中设置一个照射强度可以调节的光照设备,此时,可以通过该目标调整信号调整该光照设备的光照强度,以实现调整当前时刻支付环境的光照强度。
这里,除了调整光照强度之外,还可以通过该目标调整信号来调整第一摄像装置的位姿,例如,调整该第一摄像装置的镜头朝向等信息。
上述实施方式中,通过目标调整信号对光照强度和第一摄像装置的位姿进行调整,可以提高第一视频帧中所包含脸部图像的脸部质量,从而能够提高活体检测的精度和脸部识别的精度。
在一个可选的实施方式中,上述步骤S103,通过RGB图像和所述目标图像对所述目标脸部进行脸部识别,具体包括如下步骤:
步骤S11,确定当前时刻的支付环境信息;
在一个可选的实施方式中,确定当前时刻的支付环境信息,包括:
(1)、确定目标环境参数,其中,所述目标环境参数包含以下至少之一:光照强度、所述本地识别设备和支付对象之间的支付距离、支付对象所处环境的复杂度;
(2)、根据所述目标环境参数确定所述支付环境信息。
在本公开实施例中,在确定出目标环境参数之后,可以确定每个目标环境参数的评分。例如,可以通过计算目标环境参数和标准环境参数之间的比值,来确定每个目标环境参数的评分。
在计算出评分之后,可以获取预先为每个目标环境参数分配的权重值;然后,对该评分和权重值进行加权求和计算,从而得到支付环境信息。
通过多种不同的目标环境参数来确定支付环境信息,可以考虑到多种影响支付操作的环境参数,从而使得本公开的支付方案能够适用于任何的复杂支付场景,以扩大本公开技术方案的适用范围。
步骤S12,在所述RGB图像和所述目标图像中确定与支付环境信息相匹配的待识别图像。
这里,可以为支付环境信息设定阈值,例如,当支付环境信息大于阈值A时,可以选择RGB图像为待识别图像,又例如,当支付环境信息小于或者等于阈值A时,可以选择目标图像为待识别图像。
步骤S13,基于所述待识别图像对所述目标脸部进行脸部识别。
上述实施方式中,由于支付环境不同,则通过不同类型的图像进行脸部识别的精度也不一定相同。例如,在支付环境昏暗,或者支付环境混乱的场景下,通过RGB图像进行脸部识别可能会降低脸部识别的准确率。因此,通过确定与支付环境信息相匹配的待识别图像,以根据该待识别图像进行脸部识别,可以提高脸部识别的准确率,以保证人脸支付的安全性。
在一个可选的实施方式中,在支付环境信息包含光照强度的情况下,上述步骤S12,从所述RGB图像和所述目标图像中,确定与所述支付环境信息相匹配的待识别图像,还可以包含如下步骤:
检测当前时刻支付环境的光照强度;在该光照强度满足预设强度要求的情况下,将所述RGB图像确定为所述待识别图像;在所述光照强度不满足所述预设强度要求的情况下,将所述红外IR图像确定为所述待识别图像。
这里,可以通过对第一视频帧进行光照强度的检测(或者,对第一视频帧中相邻的其他视频帧进行光照强度的检测),来确定当前时刻支付环境的光照强度。
在本公开实施中,可以通过本地识别设备内置的光照强度的识别模型,对第一视频帧(或者,第一视频帧中相邻的其他视频帧)进行光照检测,得到当前时刻支付环境的光照强度。
在另一个可选的实施方式中,还可以在本地识别设备内部内置传感器,以通过该传感器实时检测本地识别设备所处支付环境的光照强度。
在确定出光照强度之后,就可以根据该光照强度确定当前输入光照良好,还是光照不足。若判断出光照良好,则确定光照强度满足预设强度要求,此时采用RGB图像进行脸部特征提取。若判断出光照不足,则确定光照强度不满足预设强度要求,此时可以选择使用红外IR图像进行脸部特征提取,提取完特征后在本地识别设备的本地脸部特征库中进行检索,确定刷脸对象的身份。
上述实施方式中,可以通过本地识别设备上设置的传感器来检测当前时刻支付环境的光照强度,还可以通过对RGB图像进行图像处理的方式,确定当前时刻支付环境的光照强度。通过检测支付环境的光照强度,将该光照强度作为支付环境信息;并在RGB图像和目标图像中确定与光照强度相匹配的待识别图像进行脸部识别的方式,可以提高脸部识别的准确性。
在一个可选的实施方式中,上述步骤S13,基于所述待识别图像对所述目标脸部进行脸部识别,包括如下步骤:
步骤S131,对待识别图像进行脸部特征提取,得到第一脸部特征;
步骤S132,在本地脸部特征库中搜索所述第一脸部特征,并在搜索到所述第一脸部特征的情况下,确定目标脸部的脸部识别成功。
具体地,在本公开实施例中,可以通过特征提取网络对待识别图像进行脸部特征提取,得到第一脸部特征。然后,在本地脸部特征库中搜索第一脸部特征,并在搜索到第一脸部特征的情况下,确定目标脸部的脸部识别成功。
在本公开实施例中,在所述本地脸部特征库中未搜索到所述第一脸部特征的情况下,向支付服务器发送搜索请求,其中,所述搜索请求用于请求所述支付服务器在云端脸部特征库中搜索所述第一脸部特征;并在接收到所述支付服务器针对所述搜索请求返回的确认指令的情况下,确定脸部识别成功。
因此,在搜索第一脸部特征时,可以首先在本地脸部特征库中搜索所述第一脸部特征;在未搜索到所述第一脸部特征的情况下,向支付服务器发送搜索请求,以使支付服务器对所述第一脸部特征进行搜索,此时,支付服务器就可以在云端脸部特征库中所第一脸部特征进行搜索。支付服务器在搜索到该第一脸部特征的情况下,可以向本地识别设备返回确认指令,以确认检测到该第一脸部特征。
在本公开实施例中,可以设置在本地脸部特征库中进行脸部特征的比对,还可以通过网络向支付服务器请求进行脸部特征的比对。然而,由于本地识别设备的安装环境差异较大,因此,当本地识别设备的安装环境所对应的网络的通信性能较差时,将严重影响脸部特征比对的速率,从而将严重影响支付对象的支付操作。基于此,通过上述实施方式中所描述的方式,首先,设置首先在本地脸部特征库进行脸部特征比对的方式,在本地脸部特征库脸部特征比对失败的情况下,通过支付服务器进行脸部特征比对的方式,可以省略本地识别设备和支付服务器之间的交互环节,即使在网络较差的情况下,依然可以执行脸部比对操作,从而进一步提高脸部比对的效率。
在一个可选的实施方式中,上述步骤S103,通过所述RGB图像和所述目标图像对所述目标脸部对应的支付对象进行活体检测,具体包括如下步骤:
步骤S21,在所述RGB图像中裁剪包含所述目标脸部的第一图像,并在所述目标图像中裁剪包含所述目标脸部的第二图像;
步骤S22,基于所述第一图像和所述第二图像对所述支付对象进行活体检测。
在本公开实施例中,可以在RGB图像中裁剪包含该目标脸部的第一图像,并在红外IR图像和/或深度图像中裁剪包含目标脸部的第二图像。
这里,如果第一图像和第二图像的尺寸不相同,则可以对第一图像和第二图像的尺寸进行调整,调整至第一图像和第二图像的尺寸相同。
然后,将所述第一图像和所述第二图像输入至活体检测模型中进行处理,得到对所述支付对象进行活体检测。
在对支付对象进行活体检测时,可以通过活体检测模型对RGB图像进行活体检测,然而,基于单帧RGB图像进行活体检测的局限性太大,因此无法保证人脸活体检测的精度。基于此,本公开技术方案通过RGB图像和目标图像对支付对象进行活体检测,可以综合多帧的融合识别技术来进行活体检测,从而提升活体检测精度。
在一个可选的实施方式中,上述步骤S21,在所述RGB图像中裁剪包含所述目标脸部的第一图像,具体包括如下过程:
(1)、对所述RGB图像中的所述目标脸部进行脸部检测,得到第一检测结果,其中,所述第一检测结果包括:人脸框和/或人脸关键点;
(2)、基于所述第一检测结果在所述RGB图像中裁剪包含所述目标脸部的第一图像。
在本公开实施例中,可以首先通过脸部检测模型,对该RGB图像中所包含的目标脸部进行脸部检测,从而得到人脸框和/或人脸关键点。
这里,人脸框可以为该人脸框的各个顶点的坐标。人脸关键点可以为:脸部轮廓的关键点、眼睛的关键点、鼻子的关键点、嘴巴的关键点和眉毛的关键点。
在确定出第一检测结果之后,就可以根据该第一检测结果在RGB图像中裁剪得到第一图像。
上述实施方式中,通过裁剪第一图像,以通过该第一图像进行活体检测和脸部识别,可以过滤掉RGB图像中的无用信息,从而提高活体检测的检测精度和脸部识别的识别精度。
在一个可选的实施方式中,上述步骤S21,在所述目标图像中裁剪包含所述目标脸部的第二图像,具体包括如下过程:
(1)、获取用于采集所述RGB图像的第一摄像装置的第一摄像参数,以及获取用于采集所述目标图像的第二摄像装置的第二摄像参数;
(2)、基于所述第一摄像参数和所述第二摄像参数,确定所述RGB图像和所述目标图像之间的映射关系;
(3)、基于所述映射关系,确定所述目标脸部的人脸框在所述目标图像中的第一映射位置,并基于所述第一映射位置在所述目标图像中裁剪包含所述目标脸部的第二图像;或,基于所述映射关系,确定所述目标脸部的各个人脸关键点在所述目标图像中的第二映射位置,并基于所述第二映射位置在所述目标图像中裁剪包含所述目标脸部的第二图像。
在本公开实施例中,可以基于第一摄像装置和第二摄像装置的摄像参数,确定RGB图像和目标图像中各个像素点之间的映射关系,该映射关系可以理解为:RGB图像中的像素点A,在目标图像中的映射位置。
具体地,可以根据第一摄像装置和第二摄像装置的摄像参数,确定目标映射矩阵,通过该目标映射矩阵,可以确定RGB图像中的像素点,在目标图像中的映射位置。
因此,在确定出目标映射矩阵之后,可以基于目标映射矩阵,确定目标脸部在目标图像中的位置信息,并基于该位置信息在目标图像中裁剪包含目标脸部的第二图像。
在一个可选的实施方式中,基于目标映射矩阵,确定目标脸部在目标图像中的位置信息,并基于该位置信息在目标图像中裁剪包含目标脸部的第二图像,具体过程描述如下:
获取对RGB图像中的目标脸部进行脸部检测之后得到的人脸框。
确定该人脸框的位置信息,然后,根据上述确定出的目标映射矩阵,确定该人脸框在目标图像中的第一映射位置。
在确定出该第一映射位置之后,就可以基于该第一映射位置确定目标脸部在所述目标图像中的位置信息,进而基于位置信息在所述目标图像中裁剪包含目标脸部的第二图像。
在另一个可选的实施方式中,基于目标映射矩阵,确定目标脸部在目标图像中的位置信息,并基于该位置信息在目标图像中裁剪包含目标脸部的第二图像,具体过程描述如下:
获取对RGB图像中的目标脸部进行脸部检测之后得到的人脸关键点。
确定每个人脸关键点的位置信息,然后,根据上述确定出的目标映射矩阵,确定该人脸关键点在目标图像中的第二映射位置。
在确定出该第二映射位置之后,就可以基于该第二映射位置确定目标脸部在目标图像中的位置信息,进而基于位置信息在目标图像中裁剪包含目标脸部的第二图像。
上述实施方式中,通过确定映射关系,可以确定目标脸部的人脸框在目标图像中的第一映射位置,或者,确定目标脸部的各个人脸关键点在目标图像中的第二映射位置。在确定出第一映射位置或者第二映射位置之后,根据第一映射位置或者第二映射位置,对目标图像中裁剪包含目标脸部的第二图像的方式,可以准确的确定出目标图像中目标脸部的位置,在根据该第二图像和第一图像进行活体检测和脸部识别时,可以提高活体检测的检测精度和脸部识别的识别准确度。
在一个可选的实施方式中,该方法还包括如下步骤:
(1)、统计第一预设时间段内所述支付对象的支付成功次数;
(2)、在所述支付成功次数满足第一预设次数要求的情况下,将所述支付对象的脸部特征存储在本地脸部特征库中。
在本公开实施例中,可以统计每一个支付对象在第一预设时间段内的支付成功次数。如果该支付成功次数大于预设次数,则确定支付成功次数满足第一预设次数要求,此时,可以将该支付对象的脸部特征存储在本地脸部特征库中。
具体地,可以将本地识别设备所识别出的脸部特征存储在本地脸部特征库中。除此之外,本地识别设备还可以向支付服务器请求该支付设备的脸部特征,以将所请求的脸部特征存储在本地脸部特征库中。
这里,第一预设时间段可以设置为一周,半个月,或者一个月,或者2个月,本公开对第一预设时间段的具体时长不作具体限定,以实际情况为准。
由于支付操作带有一定的局部性,比如便利店覆盖的重点人群是周边的人群。此时,可以根据支付对象的支付成功次数,将把经常在此刷脸支付的用户特征信息(脸部特征)同步至本地识别设备,以后用户刷脸时优先在本地识别设备进行特征比对,以提升比对的效率,从而实现充分利用本地识别设备的算力资源。
在一个可选的实施方式中,上述步骤(2):在所述支付成功次数满足第一预设次数要求的情况下,将所述支付对象的脸部特征存储在本地脸部特征库中,包括如下步骤:
(1)、在所述支付成功次数满足第一预设次数要求的情况下,获取所述支付对象的历史支付信息;
(2)、根据所述历史支付信息确定所述支付对象在当前时刻的支付位置的活动频繁度;
(3)、判断所述活动频繁度是否满足频繁度要求;
(4)、在活动频繁度满足频繁度要求的情况下,将所述支付对象的脸部特征存储在本地脸部特征库中。
在本公开实施例中,在判断出每一个支付对象的在任意一个支付位置的支付成功次数满足第一预设次数要求的情况下,还可以获取该支付对象的历史支付信息。
这里,历史支付信息可以为过去时刻该支付对象在该支付位置的支付次数,或者,还可以为过去时刻该支付对象在该支付位置所处目标区域范围内的支付次数。
如果确定出上述支付次数大于或者等于某个阈值,则确定该支付对象在该支付位置处的活动频繁度满足频繁度要求,此时,可以将支付对象的脸部特征存储在本地脸部特征库中。
这里,目标区域范围可以理解为以当前支付位置为圆心,固定距离为半径的圆形区域。
上述实施方式中,通过在活动频繁度满足频繁度要求的情况下,将支付对象的脸部特征存储在本地脸部特征库中的方式,可以准确的从多个支付对象中确定出在该支付位置支付较为频繁的支付对象,以提升比对的效率。
在一个可选的实施方式中,该方法还包括如下步骤:
(1)、获取在第二预设时间段内的支付成功次数不满足第一预设次数要求的目标支付对象;
(2)、在本地脸部特征库中查找所述目标支付对象的脸部特征,得到第二脸部特征;
(3)、为所述第二脸部特征添加目标特征标签,其中,所述目标特征标签用于指示所述第二脸部特征为待删除的脸部特征。
在本公开实施例中,为了释放出本地识别设备的本地存储资源,还可以为本地脸部特征库中不经常使用的第二脸部特征设置相应的目标特征标签,以通过该目标特征标签指示该第二脸部特征为待删除的脸部特征。之后,本地识别设备就可以定期的对目标特征标签进行检测,从而删除待删除的脸部特征,同时,还可以通过该目标特征标签指示用户手动删除该待删除的脸部特征。
例如,针对某一个支付对象来说,由于搬家或者换工作,导致该支付对象长时间在该商店未执行支付操作,此时,可以在本地脸部特征库中为该第二脸部特征设置目标特征标签。
在本地识别设备定期对本地脸部特征库中的数据进行清理时,可以优先删除设置有目标特征标签的脸部特征,从而释放出本地识别设备的本地存储资源。
在一个可选的实施方式中,该方法还包括如下步骤:
(1)、在确定出所述支付对象不是活体对象,且确定出脸部识别通过的情况下,统计该支付对象在非活体状态下脸部识别通过的目标次数;
(2)、在所述目标次数满足第二预设次数要求的情况下,向所述支付对象发送报警提示信息。
在本公开实施例中,如果根据活体检测结果确定出支付对象不是活体,然而,通过脸部识别结果确定出识别成功的情况下,可以初步确定出其他的支付对象通过当前支付对象的照片或者其他的非活体物体,来执行支付操作。
因此,为了保证当前支付对象的财产安全,可以在统计出该支付对象在非活体状态下脸部识别通过的目标次数,即:支付对象在非活体状态下进行脸部支付操作,且脸部识别通过的次数。
如果该目标次数大于或者等于指定的次数阈值,则确定目标次数满足第二预设次数要求,此时,可以向支付发送报警提示信息。这里,指定的次数阈值可以设定为3次,除此之外,还可以设定为其他的次数,本公开对此不作具体限定。
上述实施方式中,通过统计支付对象在非活体状态下脸部识别通过的目标次数,可以提高支付操作的安全性,以保证支付对象的财产安全。
在一个可选的实施方式中,该方法还包括如下步骤:
(1)、在为所述支付对象执行相应的支付操作之后,基于所述支付对象所支付的货品类型,确定所述支付对象的购买行为数据;
(2)、基于所述RGB图像估计所述支付对象的基本属性信息;
(3)、基于所述基本属性信息和所述购买行为数据,确定所述支付对象的购买特征信息;
(4)、基于所述购买特征信息生成目标商店的货品摆放策略,其中,所述目标商店为所述支付操作相关联的商店。
在本公开实施例中,在该支付操作执行成功之后,还可以根据当前时刻支付对象所支付货品的货品类型,确定该支付对象的购买行为数据,其中,该购买行为数据包括以下至少之一:所购买货品的数量,所购买货品的类型,所购买货品所在货架的货架位置等数据。
之后,还可以根据RGB图像估计支付对象的基本属性信息,例如,身高、年龄,性别等属性信息。
在得到基本属性信息和购买行为数据之后,就可以对基本属性信息和购买行为数据进行组合,得到该支付对象的购买特征信息。在得到该支付对象的购买特征信息之后,就可以结合其他支付对象的购买特征信息,生成目标商店的货品摆放策略,以使得该目标商店所摆放的货品能够符合用户的购物习惯,以满足不同用户的不同购物需求。
在一个可选的实施方式中,该方法还包括如下步骤:
在第三预设时间段内未检测到脸部的情况下,控制第一摄像装置和第二摄像装置处于休眠状态,其中,所述第一摄像装置为采集所述RGB图像的装置,所述第二摄像装置为采集所述目标图像的装置。
通过在第三预设时间段内未检测到脸部的情况下,控制第一摄像装置和第二摄像装置处于休眠状态的处理方式,可以节省本地识别设备的本地存储资源,同时还可以减少电能的消耗。
参见图5所示,为本公开实施例提供的一种支付方法的流程图,如图5所示:
首先,接收“第一帧图”,这里,第一帧图包含:第一帧RGB图像、第一帧红外IR图像、第一帧深度图像。
从“收到第一帧图”开始,通过20ms的时间对第一帧RGB图像进行人脸检测。在检测到包含人脸的情况下,通过5ms的时间检测该第一帧RGB图像中所包含人脸图像的脸部质量。在确定出脸部质量满足质量要求的情况下,通过25ms的时间提取第一帧RGB图像(或者,第一帧红外IR图像)的脸部特征。在提取脸部特征的同时,还可以通过第一帧RGB图像、第一帧红外IR图像、第一帧深度图像进行活体检测。在提取得到人脸特征之后,可以通过25ms的时间,对该人脸特征进行特征比对,以根据比对结果确定人脸识别的结果。
在确定出活体检测通过,且人脸识别通过的情况下,可以为支付对象执行相应的支付操作。
针对图5中的“收到第二帧图”、“收到第三帧图”、“收到第四帧图”的过程,与上述“收到第一帧图”的过程相同,此处不再详细赘述。
通过如图5所示的时序图可知,本公开技术方案所提供的支付方法,能够在0.08秒内完成支付操作,从而缩短了为支付对象执行相应支付操作的时间,提高了支付效率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与支付方法对应的支付装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述支付方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图6所示,为本公开实施例提供的一种支付装置的示意图,所述装置包括:确定单元61、活体检测单元62、脸部识别单元63、支付请求发送单元64;其中,
确定单元61,用于确定包含目标脸部的RGB图像和包含所述目标脸部的目标图像;所述目标图像包含:红外IR图像和深度图像,所述目标图像和所述RGB图像为满足采集时间间隔要求的图像;
活体检测单元62,用于通过所述RGB图像和所述目标图像对所述目标脸部对应的支付对象进行活体检测;
脸部识别单元63,用于通过RGB图像和所述目标图像对所述目标脸部进行脸部识别;
支付请求发送单元64,用于在检测出所述支付对象为活体对象,且对所述目标脸部识别通过的情况下,向支付服务器发送支付请求,所述支付服务器用于响应所述支付请求,为所述支付对象执行支付操作。
一种可能的实施方式中,脸部识别单元63,还用于:确定当前时刻的支付环境信息;从所述RGB图像和所述目标图像中,确定与所述支付环境信息相匹配的待识别图像;基于所述待识别图像对所述目标脸部进行脸部识别。
一种可能的实施方式中,脸部识别单元63,还用于:确定当前时刻的支付环境信息,包括:确定目标环境参数,其中,所述目标环境参数包含以下至少之一:光照强度、所述本地识别设备和支付对象之间的支付距离、支付对象所处环境的复杂度;根据所述目标环境参数确定所述支付环境信息。
一种可能的实施方式中,脸部识别单元63,还用于:检测当前时刻支付环境的光照强度;在所述光照强度满足预设强度要求的情况下,将所述RGB图像确定为所述待识别图像;在所述光照强度不满足所述预设强度要求的情况下,将所述红外IR图像确定为所述待识别图像。
一种可能的实施方式中,脸部识别单元63,还用于:对所述待识别图像进行脸部特征提取,得到第一脸部特征;在本地脸部特征库中搜索所述第一脸部特征,并在搜索到所述第一脸部特征的情况下,确定所述目标脸部的脸部识别成功。
一种可能的实施方式中,该装置还用于:在所述本地脸部特征库中未搜索到所述第一脸部特征的情况下,向支付服务器发送搜索请求,其中,所述搜索请求用于请求所述支付服务器在云端脸部特征库中搜索所述第一脸部特征;在接收到所述支付服务器针对所述搜索请求返回的确认指令的情况下,确定脸部识别成功。
一种可能的实施方式中,活体检测单元62,用于:在所述RGB图像中裁剪包含所述目标脸部的第一图像,并在所述目标图像中裁剪包含所述目标脸部的第二图像;基于所述第一图像和所述第二图像对所述支付对象进行活体检测。
一种可能的实施方式中,活体检测单元62,还用于:将所述第一图像和所述第二图像输入至活体检测模型中进行处理,以对所述支付对象进行活体检测。
一种可能的实施方式中,活体检测单元62,还用于:对所述RGB图像中的所述目标脸部进行脸部检测,得到第一检测结果,其中,所述第一检测结果包括:人脸框和/或人脸关键点;基于所述第一检测结果在所述RGB图像中裁剪包含所述目标脸部的第一图像。
一种可能的实施方式中,活体检测单元62,还用于:获取用于采集所述RGB图像的第一摄像装置的第一摄像参数,以及获取用于采集所述目标图像的第二摄像装置的第二摄像参数;基于所述第一摄像参数和所述第二摄像参数,确定所述RGB图像和所述目标图像之间的映射关系;基于所述映射关系,确定所述目标脸部的人脸框在所述目标图像中的第一映射位置,并基于所述第一映射位置在所述目标图像中裁剪包含所述目标脸部的第二图像;或,基于所述映射关系,确定所述目标脸部的各个人脸关键点在所述目标图像中的第二映射位置,并基于所述第二映射位置在所述目标图像中裁剪包含所述目标脸部的第二图像。
一种可能的实施方式中,确定单元61,还用于:获取第一视频流,并对所述第一视频流中的视频帧进行脸部检测,检测得到包含脸部的第一视频帧;计算所述第一视频帧中所包含脸部的脸部质量;在所述脸部质量满足质量要求的情况下,根据所述第一视频帧确定所述RGB图像;获取第二视频流,并从所述第二视频流中确定所述目标图像。
一种可能的实施方式中,确定单元61,还用于:对所述第一视频帧进行脸部检测,得到脸部检测结果,其中,所述脸部检测结果包括以下至少之一:人脸关键点、人脸模糊度、人脸姿态、人脸检测置信度;对所述脸部检测结果进行数据分析,得到所述脸部质量。
一种可能的实施方式中,确定单元61,还用于:在所述第一视频帧中包含多个脸部的情况下,确定每个所述脸部的人脸框,得到多个人脸框;将所述多个人脸框中最大人脸框所框选出的包含所述目标脸部的脸部图像作为所述RGB图像。
一种可能的实施方式中,该装置还用于:在连续检测到多个所述第一视频帧中所包含脸部的脸部质量不满足所述质量要求的情况下,生成目标调整信号,其中,所述目标调整信号用于调整以下至少一种目标参数:当前时刻支付环境的光照强度,用于采集所述第一视频流的第一摄像装置的位姿;通过所述目标调整信号对所述目标参数进行调整;在调整所述目标参数之后,重新获取第一视频流;并对重新获取到的第一视频流中的视频帧进行脸部检测。
一种可能的实施方式中,该装置还用于:统计第一预设时间段内所述支付对象的支付成功次数;在所述支付成功次数满足第一预设次数要求的情况下,将所述支付对象的脸部特征存储在本地脸部特征库中。
一种可能的实施方式中,该装置还用于:在所述支付成功次数满足第一预设次数要求的情况下,获取所述支付对象的历史支付信息;根据所述历史支付信息确定所述支付对象在当前时刻的支付位置的活动频繁度;判断所述活动频繁度是否满足频繁度要求;在所述活动频繁度满足所述频繁度要求的情况下,将所述支付对象的脸部特征存储在本地脸部特征库中。
一种可能的实施方式中,该装置还用于:获取在第二预设时间段内的支付成功次数不满足第一预设次数要求的目标支付对象;在本地脸部特征库中查找所述目标支付对象的脸部特征,得到第二脸部特征;为所述第二脸部特征添加目标特征标签,其中,所述目标特征标签用于指示所述第二脸部特征为待删除的脸部特征。
一种可能的实施方式中,该装置还用于:在确定出所述支付对象不是活体对象,且确定出脸部识别通过的情况下,统计该支付对象在非活体状态下脸部识别通过的目标次数;在所述目标次数满足第二预设次数要求的情况下,向所述支付对象发送报警提示信息。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
参照图7所示,为本公开实施例提供的一种人脸支付系统的示意图,如图7所示,该人脸支付系统包含:支付服务器100、本地识别设备200和上位机300。这里,本地识别设备可以为上述实施例中所描述的本地识别设备。
本地识别设备200包含:第一摄像装置、第二摄像装置和控制器,其中,控制器通过上位机与支付服务器通信连接。
下面以自助支付系统为例对上述人脸支付系统进行介绍。
在本公开实施例中,自助支付系统可以设置在支付环境较好的环境下,例如,可以设置在光照强度较为充足的环境下。
首先,自助支付系统中的第一摄像装置采集第一视频流,并对第一视频流中的视频帧进行人脸检测,检测得到包含人脸的第一视频帧。之后,可以通过第一摄像装置内置算法计算第一视频帧中所包含人脸的人脸质量。在该人脸质量满足质量要求的情况下,根据第一视频帧确定RGB图像,例如,可以在第一视频帧中裁剪包含该人脸的图像作为RGB图像。
之后,可以在自助支付系统的第二摄像装置所采集的第二视频流中确定目标图像。第一摄像装置和第二摄像装置同步进行视频流的采集。
在确定出目标图像后,就可以基于该目标图像和RGB图像对该人脸所对应的支付对象进行活体检测,并对该人脸进行人脸识别。
在活体检测通过,且人脸识别通过的情况下,可以控制器可以通过上位机向支付服务器发送支付请求。支付服务器在获取到该支付请求之后,响应该支付请求,为支付对象执行支付操作。
在活体检测通过,且人脸识别未通过的情况下,可以控制器可以通过上位机向支付服务器发送搜索请求,该搜索请求用于请求所述支付服务器对该人脸进行识别。支付服务器在对该人脸识别成功的情况下,可以控制器可以向本地识别设备返回确认指令,以确定脸部识别成功;否则,可以向本地识别设备返回识别失败信息,以确定脸部识别失败。在支付服务器在对该人脸识别成功的情况下,可以直接为支付对象执行支付操作;还可以在检测到本地识别设备的支付请求的情况下,为支付对象执行支付操作。
对应于图1中的支付方法,本公开实施例还提供了一种电子设备800,如图8所示,为本公开实施例提供的电子设备800结构示意图,包括:
处理器81、存储器82、和总线83;存储器82用于存储执行指令,包括内存821和外部存储器822;这里的内存821也称内存储器,用于暂时存放处理器81中的运算数据,以及与硬盘等外部存储器822交换的数据,处理器81通过内存821与外部存储器822进行数据交换,当所述电子设备800运行时,所述处理器81与所述存储器82之间通过总线83通信,使得所述处理器81执行以下指令:
确定包含目标脸部的RGB图像和包含所述目标脸部的目标图像;所述目标图像包含:红外IR图像和/或深度图像,所述目标图像和所述RGB图像为满足采集时间间隔要求的图像;
通过所述RGB图像和所述目标图像对所述目标脸部对应的支付对象进行活体检测;以及通过RGB图像和所述目标图像对所述目标脸部进行脸部识别;
在检测出所述支付对象为活体对象,且对所述目标脸部识别通过的情况下,向支付服务器发送支付请求,支付服务器用于响应所述支付请求,为所述支付对象执行支付操作。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的支付方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的支付方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。