人脸支付方法及装置、存储介质
文献发布时间:2023-06-19 13:29:16
技术领域
本公开涉及计算机视觉领域,尤其涉及一种人脸支付方法及装置、存储介质。
背景技术
目前,随着人脸识别技术的不断发展,人脸识别的精度已经越来越高,人脸识别也应用到很多场景中,例如刷脸支付、人脸识别门禁、智能身份认证、商业会员识别、人数统计、地产到访记录等等场景中。
发明内容
本公开提供了一种人脸支付方法及装置、存储介质。
根据本公开实施例的第一方面,提供一种人脸支付方法,所述方法包括:对采集到的第一人脸进行活体检测,确定活体检测结果;在所述活体检测结果指示所述第一人脸属于活体的情况下,对所述第一人脸进行人脸识别,确定人脸识别结果;基于所述人脸识别结果进行人脸支付。
在一些可选实施例中,所述对采集到的第一人脸进行活体检测,确定活体检测结果,包括:采集包括所述第一人脸的至少一组视频数据;在所述至少一组视频数据中,确定至少一帧人脸图像;对每帧人脸图像进行活体检测,确定所述每帧人脸图像对应的单帧检测结果;基于至少一个所述单帧检测结果,确定所述活体检测结果。
在一些可选实施例中,每组视频数据对应一个指定动作;所述对采集到的第一人脸进行活体检测,确定活体检测结果,还包括:将所述每组视频数据输入对应的动作检测神经网络,得到每个动作检测神经网络输出的动作检测结果;在每个动作检测结果均指示完成对应的指定动作的情况下,执行所述在所述至少一组视频数据中,确定至少一帧人脸图像的步骤;在任一动作检测结果指示未完成对应的指定动作的情况下,确定所述活体检测结果为所述第一人脸不属于活体。
在一些可选实施例中,所述在所述至少一组视频数据中,确定至少一帧人脸图像,包括以下至少一项:在每组视频数据中,确定每个指定时间段内图像质量最高的一帧人脸图像,得到所述至少一帧人脸图像;和/或,在每组视频数据中,确定图像质量最高的一帧人脸图像,得到所述至少一帧人脸图像。
在一些可选实施例中,所述对每帧人脸图像进行活体检测,确定所述每帧人脸图像对应的单帧检测结果,包括:将所述每帧人脸图像输入活体检测神经网络,确定所述活体检测神经网络输出的所述单帧检测结果。
在一些可选实施例中,所述单帧检测结果包括所述第一人脸不属于活体的概率值;所述基于至少一个所述单帧检测结果,确定所述活体检测结果,包括:确定所述概率值小于或等于预设阈值的人脸图像的数目占所述至少一帧人脸图像总数目的比值;响应于确定所述比值大于或等于预设比值,确定所述活体检测结果为所述第一人脸属于活体。
在一些可选实施例中,所述对所述第一人脸进行人脸识别,确定人脸识别结果,包括:在执行线上支付的情况下,将所述第一人脸的人脸信息与关联人脸信息进行比对,确定所述人脸识别结果,所述关联人脸信息是设置人脸支付时,关联到第一支付账号的人脸信息;或者,在执行线下支付的情况下,包括如下至少一项:将所述第一人脸的人脸信息上传到云端服务器;接收所述云端服务器将所述第一人脸的人脸信息与人脸数据库包括的至少一个人脸信息进行比对后返回的所述人脸识别结果;将所述第一人脸的人脸信息和第三支付账号的信息上传到云端服务器;接收所述云端服务器将所述第一人脸的人脸信息与人脸数据库包括的第二目标人脸信息进行比对后返回的所述人脸识别结果,所述第二目标人脸信息是所述人脸数据库中与第二支付账号关联的人脸信息。
在一些可选实施例中,所述方法还包括:在设置人脸支付时,对采集到的第二人脸进行活体检测;在确定所述第二人脸属于活体的情况下,将所述第二人脸的人脸信息确定为所述关联人脸信息。
在一些可选实施例中,所述方法还包括如下至少一项:在所述人脸识别结果指示所述人脸数据库中存在与所述第一人脸的人脸信息匹配的第一目标人脸信息时,接收所述云端服务器发送的与所述第一目标人脸信息关联的第二支付账号的信息;在所述人脸识别结果指示所述第一人脸的人脸信息与所述第二目标人脸信息匹配时,接收所述云端服务器发送的与所述第二目标人脸信息关联的第三支付密码的信息。
在一些可选实施例中,所述基于所述人脸识别结果进行人脸支付,包括如下至少一项:在所述人脸识别结果指示所述第一人脸的人脸信息与所述关联人脸信息匹配时,在所述第一支付账号下,基于预存的所述第一支付账号对应的第一支付密码,进行线上支付;输出所述第二支付账号,以使得线下支付设备基于所述第二支付账号和获取到的第二支付密码进行线下支付;输出所述第三支付密码,以使得线下支付设备基于获取到的所述第三支付账号和第三支付密码进行线下支付。
根据本公开实施例的第二方面,提供一种人脸支付装置,包括:活体检测模块,用于对采集到的第一人脸进行活体检测,确定活体检测结果;人脸识别结果确定模块,用于在所述活体检测结果指示所述第一人脸属于活体的情况下,对所述第一人脸进行人脸识别,确定人脸识别结果;人脸支付模块,用于基于所述人脸识别结果进行人脸支付。
在一些可选实施例中,所述活体检测模块还包括:采集子模块,用于采集包括所述第一人脸的至少一组视频数据;第一确定子模块,用于在所述至少一组视频数据中,确定至少一帧人脸图像;单帧检测子模块,用于对每帧人脸图像进行活体检测,确定所述每帧人脸图像对应的单帧检测结果;第二确定子模块,用于基于至少一个所述单帧检测结果,确定所述活体检测结果。
在一些可选实施例中,每组视频数据对应一个指定动作;所述活体检测模块还包括:第三确定子模块,用于将所述每组视频数据输入对应的动作检测神经网络,得到每个动作检测神经网络输出的动作检测结果;控制子模块,用于在每个动作检测结果均指示完成对应的指定动作的情况下,控制所述第一确定子模块在所述至少一组视频数据中,确定至少一帧人脸图像;第四确定子模块,用于在任一动作检测结果指示未完成对应的指定动作的情况下,确定所述活体检测结果为所述第一人脸不属于活体。
在一些可选实施例中,所述第一确定子模块还用于:在每组视频数据中,确定每个指定时间段内图像质量最高的一帧人脸图像,得到所述至少一帧人脸图像;和/或,在每组视频数据中,确定图像质量最高的一帧人脸图像,得到所述至少一帧人脸图像。
在一些可选实施例中,所述单帧检测子模块还用于:将所述每帧人脸图像输入活体检测神经网络,确定所述活体检测神经网络输出的所述单帧检测结果。
在一些可选实施例中,所述单帧检测结果包括所述第一人脸不属于活体的概率值;所述第二确定子模块还用于:确定所述概率值小于或等于预设阈值的人脸图像的数目占所述至少一帧人脸图像总数目的比值;响应于确定所述比值大于或等于预设比值,确定所述活体检测结果为所述第一人脸属于活体。
在一些可选实施例中,所述人脸识别结果确定模块包括:第五确定子模块,用于在执行线上支付的情况下,将所述第一人脸的人脸信息与关联人脸信息进行比对,确定所述人脸识别结果,所述关联人脸信息是设置人脸支付时,关联到第一支付账号的人脸信息;或者,在执行线下支付的情况下,包括如下至少一项:第一上传子模块,用于将所述第一人脸的人脸信息上传到云端服务器;第一接收子模块,用于接收所述云端服务器将所述第一人脸的人脸信息与人脸数据库包括的至少一个人脸信息进行比对后返回的所述人脸识别结果;第二上传子模块,用于将所述第一人脸的人脸信息和第三支付账号的信息上传到云端服务器;第二接收子模块,用于接收所述云端服务器将所述第一人脸的人脸信息与人脸数据库包括的第二目标人脸信息进行比对后返回的所述人脸识别结果,所述第二目标人脸信息是所述人脸数据库中与第二支付账号关联的人脸信息。
在一些可选实施例中,所述活体检测模块,还用于在设置人脸支付时,对采集到的第二人脸进行活体检测;所述装置还包括:关联模块,用于在确定所述第二人脸属于活体的情况下,将所述第二人脸的人脸信息确定为所述关联人脸信息。
在一些可选实施例中,所述装置还包括如下至少一项:第一接收模块,用于在所述人脸识别结果指示所述人脸数据库中存在与所述第一人脸的人脸信息匹配的第一目标人脸信息时,接收所述云端服务器发送的与所述第一目标人脸信息关联的第二支付账号的信息;第二接收模块,用于在所述人脸识别结果指示所述第一人脸的人脸信息与所述第二目标人脸信息匹配时,接收所述云端服务器发送的与所述第二目标人脸信息关联的第三支付密码的信息。
在一些可选实施例中,所述人脸支付模块还用于执行以下至少一项:在所述人脸识别结果指示所述第一人脸的人脸信息与所述关联人脸信息匹配时,在所述第一支付账号下,基于预存的所述第一支付账号对应的第一支付密码,进行线上支付;输出所述第二支付账号,以使得线下支付设备基于所述第二支付账号和获取到的第二支付密码进行线下支付;输出所述第三支付密码,以使得线下支付设备基于获取到的所述第三支付账号和第三支付密码进行线下支付。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的人脸支付方法。
根据本公开实施例的第四方面,提供一种人脸支付装置,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器中存储的可执行指令,实现上述任一项所述的人脸支付方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例中,可以对采集到的第一人脸先进行活体检测,在活体检测结果指示第一人脸属于活体的情况下,再基于人脸识别得到的人脸信息进行人脸支付。本公开可以在人脸支付过程中,甄别属于非活体的人脸,降低使用属于非活体的人脸进行支付所带来的经济损失。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开根据一示例性实施例示出的一种人脸支付方法流程图;
图2是本公开根据一示例性实施例示出的另一种人脸支付方法流程图;
图3是本公开根据一示例性实施例示出的另一种人脸支付方法流程图;
图4是本公开根据一示例性实施例示出的一种人脸支付装置框图;
图5是本公开根据一示例性实施例示出的一种人脸支付装置的一结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开运行的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所运行的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中运行的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所运行的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
目前,人脸支付场景中,如果使用属于非活体的人脸进行支付,例如使用纸质照片、屏幕翻拍照片、视频合成技术、根据真实人脸进行3D建模得到的人脸模型,会对用户造成较大经济损失,且不易追回该损失。为了解决这一技术问题,本公开提供了以下人脸支付方案。
例如图1所示,图1是根据一示例性实施例示出的一种人脸支付方法,该方法可以用于终端,该终端可以是手机、笔记本电脑、台式计算机、智能手环等设备,包括以下步骤101至103:
在步骤101中,对采集到的第一人脸进行活体检测,确定活体检测结果。
其中,活体是指具有生命的物体,例如具有生命体征的动物、植物、人体及其组织,在本公开实施例中,活体具体指具有生命体征的人体。
在步骤102中,在所述活体检测结果指示所述第一人脸属于活体的情况下,对所述第一人脸进行人脸识别,确定人脸识别结果。
在本公开实施例中,可以将包括第一人脸的人脸图像输入特征检测神经网络,从而得到该特征检测神经网络输出的第一人脸的人脸信息。所述第一人脸的人脸信息包括但不限于人脸五官的特征点信息。进一步地,可以基于第一人脸的人脸信息与关联人脸信息或人脸数据库包括的人脸信息进行匹配,确定人脸识别结果。关联人脸信息是设置人脸支付时,关联到第一支付账号的人脸信息。
在步骤103中,基于所述人脸识别结果进行人脸支付。
在本公开实施例中,可以基于人脸识别结果确定支付信息,从而基于支付信息进行人脸支付。其中,支付信息包括但不限于支付账号和/或支付密码。
上述实施例中,可以在人脸支付场景中,甄别属于非活体的人脸,降低使用属于非活体的人脸进行支付所带来的经济损失。
在一些可选实施例中,可以无须用户配合,采用静默活体检测方式,确定活体检测结果。例如图2所示,步骤101可以包括以下步骤201至204:
在步骤201中,采集包括所述第一人脸的至少一组视频数据。
在本公开实施例中,视频数据的数目可以为一组或多组。
在一个可能的实现方式中,采集视频数据时,无需用户配合,终端可以直接调用终端上的图像采集设备,例如摄像头采集包括该用户人脸的一组或多组视频数据。每组视频数据的时长可以为指定时长,例如可以为5秒或10秒等,本公开对此不作限定。
在步骤202中,在所述至少一组视频数据中,确定至少一帧人脸图像。
在本公开实施例中,图像采集设备采集到至少一组视频数据后,可以将至少一组视频数据输入终端的软件开发工具包(Software Development Kit,SDK)。由该SDK在所述至少一组视频数据中,确定至少一帧人脸图像。
在一个可能的实现方式中,终端SDK可以从每组视频数据中,确定每个指定时间段内图像质量最高的一帧人脸图像,得到所述至少一帧人脸图像。可选地,指定时间段的时长可以小于该组视频数据的时长,本公开对此不作限定。
例如,终端每秒采集的25帧图像,某组视频数据的时长为5秒,即该组视频数据包括125帧图像,指定时间段的时长为1秒,终端SDK可以在每25帧图像中选择图像质量最高的一帧图像。
在另一个可能的实现方式中,终端SDK可以直接从每组视频数据中选取图像质量最高的一帧图像,得到至少一帧人脸图像。
在步骤203中,对每帧人脸图像进行活体检测,确定所述每帧人脸图像对应的单帧检测结果。
在本公开实施例中,终端SDK可以将每帧人脸图像输入预先训练好的活体检测神经网络,确定所述活体检测神经网络输出的所述每帧人脸图像对应的单帧检测结果。
其中,活体检测神经网络可以使用深度学习方法,通过样本数据对初始神经网络进行训练,通过深度学习学习出人眼在多个维度可以观测到的活体及非活体的特征和差异,包括但不限于屏幕反光、照片纸张边缘特征等,从而得到训练完成后的活体检测神经网络。初始神经网络可以采用但不下于基于谷歌架构的GoogLeNet、VGG(Visual GeometryGroup Network,可视化几何组网络)、残差神经网络等。
在实际应用阶段,就可以将每帧人脸图像输入该活体检测神经网络,得到该活体检测神经网络输出的单帧检测结果。从而可以有效防范图片、视频翻拍、面具模型等的攻击。
在步骤204中,基于至少一个所述单帧验证结果,确定所述活体检测结果。
在本公开实施例中,单帧检测结果包括所述第一人脸不属于活体的概率值。
进一步地,可以确定至少一帧人脸图像中,上述概率值小于或等于预设阈值的人脸图像的数目占至少一帧人脸图像总数目的比值。如果该比值大于或等于预设比值,那么可以确定活体检测结果为所述第一人脸属于活体。反之,如果该比值小于或等于预设比值,确定活体检测结果为所述第一人脸不属于活体。
本公开实施例中,概率值越大,说明第一人脸不属于活体的可能性越大。概率值越小,说明第一人脸属于活体的可能性越大。预设比值可以属于(0,100%]的范围内,本公开对此不作限定。
如果只有一帧人脸图像,那么可以直接根据该帧人脸图像对应的单帧检测结果作为所需要的活体检测结果。例如,预设阈值为0.8,单帧检测结果为0.99,那么可以认为活体检测结果为第一人脸不属于活体。单帧检测结果为0.7,那么可以认为活体检测结果为第一人脸属于活体。
如果有多帧图像人脸,假设预设比值为60%,人脸图像总数目为5,其中3帧或3帧以上的人脸图像对应的单帧检测结果所指示的概率值均小于或等于预设阈值,那么可以认为活体检测结果为第一人脸属于活体。反之,如果有3帧或3帧以上的对应的单帧检测结果所指示的概率值大于预设阈值,那么可以认为活体检测结果为第一人脸不属于活体。
上述实施例中,可以在确定活体检测结果的过程中,无须用户配合,由终端自动完成活体检测,实现简便,可用性高。
在一些可选实施例中,也可以由用户配合进行指定动作,采用交互活体检测方式,确定活体检测结果。例如图3所示,步骤101可以包括以下步骤301至306:
在步骤301中,采集包括所述第一人脸的至少一组视频数据。
在本公开实施例中,采集视频数据时,需要用户配合。终端可以输出提示信息,通过该提示信息提示用户做出指定动作,包括但不限于点头、眨眼、摇头、张嘴等。终端通过应用程序每输出一个提示信息,可以对应采集对应的一组视频数据,最终得到一组或多组视频数据。
在步骤302中,将所述每组视频数据输入对应的动作检测神经网络,得到每个人脸动作检测神经网络输出的动作检测结果。
在本公开实施例中,可以预先训练与每个指定动作对应的动作检测神经网络,通过终端SDK将每组视频数据输入对应的动作检测神经网络,得到每个动作检测神经网络输出的动作检测结果。
例如,终端通过应用程序输出提示信息1,提示用户执行点头动作,终端调用图像采集设备采集与该点头动作对应的一组视频数据。终端SDK获取该组视频数据,输入预先训练好的点头动作检测神经网络,得到该点头动作检测神经网络输出的动作检测结果。此外,终端通过应用程序还输出了提示信息2,提示用户执行眨眼动作,终端调用图像采集设备采集与该眨眼动作对应的一组视频数据。终端SDK获取该组视频数据,输入预先训练好的眨眼动作检测神经网络,得到该眨眼动作检测神经网络输出的动作检测结果。以此类推,得到每个动作检测神经网络输出的动作检测结果。
在本公开实施例中,动作检测结果中包括用户完成该指定动作的完成度。如果完成度超过该指定动作对应的阈值的情况下,终端SDK确定该动作检测结果为完成该指定动作否则确定该动作检测结果为未完成该指定动作。
在每个动作检测结果均指示完成对应的指定动作的情况下,执行步骤303,否则在任一动作检测结果指示未完成对应的指定动作的情况下,执行步骤306。
在步骤303中,在所述至少一组视频数据中,确定至少一帧人脸图像。
步骤303的实现方式与上述步骤202的实现方式类似,在此不再赘述。
在步骤304中,对每帧人脸图像进行活体检测,确定所述每帧人脸图像对应的单帧检测结果。
在本公开实施例中,确定单帧检测结果的方式与上述步骤203的方式类似,在此不再赘述。
在步骤305中,基于至少一个所述单帧验证结果,确定所述活体检测结果。
在本公开实施例中,确定活体检测结果的方式与上述步骤204的方式类似,在此不再赘述。
在步骤306中,确定所述活体检测结果为所述第一人脸属于非活体。
在本公开实施例中,如果确定有任一个指定动作未完成,则可以直接确定活体检测结果为所述第一人脸属于非活体。
对上述方案进一步举例说明如下。
假设有4个指定动作,终端通过应用程序分别输出对应的提示信息,调度图像采集设备,从而得到与4个指定动作分别对应的视频数据,即4组视频数据,终端SDK将每组视频数据输入对应的动作检测神经网络,得到每个动作检测神经网络输出的动作检测结果。在4个动作检测结果均指示完成了对应的指定动作的情况下,终端SDK在每组视频数据中确定了图像质量最高的一帧人脸图像。
将4帧人脸图像输入预先训练好的活体检测神经网络,得到活体检测神经网络输出的单帧检测结果,假设第一人脸不属于活体的概率值分别为0.7、0.6、0.5、0.85,预设阈值为0.8,预设比值为70%,则终端SDK可以确定概率值小于预设阈值的人脸图像的数目为3,占总数目的比值为75%,超过预设比值,因此,终端SDK确定活体检测结果为第一人脸属于活体。
在4个动作检测结果中任一个指示未完成了对应的指定动作的情况下,终端SDK直接确定活体检测结果为第一人脸不属于活体。
上述实施例中,可以通过交互方式,在确定完成指定动作的情况下,再进行活体检测,进一步提高了活体检测的准确度,可用性高。
在一些可选实施例中,在基于识别出的人脸信息进行人脸支付时,可以分为线上支付和线下支付两种情况。
第一种方式,线上支付。
步骤102可以包括以下步骤102-1:
在步骤102-1中,在执行线上支付的情况下,将所述第一人脸的人脸信息与关联人脸信息进行比对,确定所述人脸识别结果。
在本公开实施例中,所述关联人脸信息是设置人脸支付时,关联到第一支付账号的人脸信息。其中,第一支付账号可以是不同应用程序中设置的线上支付账号。
在一个可能的实现方式中,将第一人脸的人脸信息与关联人脸信息进行1:1比对,确定第一人脸信息与关联人脸信息是否匹配,从而得到人脸识别结果。
相应地,步骤103可以包括以下步骤103-1:
在步骤103-1中,在所述人脸识别结果指示所述第一人脸的人脸信息与所述关联人脸信息匹配时,在所述第一支付账号下,基于预存的所述第一支付账号对应的第一支付密码,进行线上支付。
在本公开实施例中,所述第一人脸信息与关联人脸信息匹配是指所述第一人脸的人脸信息与关联人脸信息完全匹配,或匹配度超过预设值。
进一步地,在所述第一支付账号下,基于预存的与所述第一支付账号对应的第一支付密码,进行线上支付。
上述实施例中,可以通过属于活体的第一人脸的人脸信息替代第一支付密码,完成线上支付,降低使用属于非活体的人脸进行支付所带来的经济损失。
第二种方式,线下支付的情况。
第一种方案,在线下支付场景中,通过第一人脸的人脸信息替代支付账号。
步骤102可以包括以下步骤102-2至步骤102-3:
在步骤102-2中,在执行线下支付的情况下,将所述第一人脸信息上传到云端服务器。
在步骤102-3中,接收所述云端服务器将所述第一人脸的人脸信息与人脸数据库包括的至少一个人脸信息进行比对后返回的所述人脸识别结果。
在本公开实施例中,可以由终端上传第一人脸的人脸信息到云端服务器,云端服务器将接收到的该第一人脸的人脸信息与预存的人脸信息库包括的至少一个人脸信息进行1:N比对,确定人脸识别结果。进一步地,云端服务器可以将人脸识别结果反馈给终端。
相应地,上述方法还可以包括以下步骤104:
在步骤104中,在所述人脸识别结果指示所述人脸数据库中存在与所述第一人脸的人脸信息匹配的第一目标人脸信息时,接收所述云端服务器发送的与所述第一目标人脸信息关联的第二支付账号的信息。
在本公开实施例中,云端服务器可以在确定第一人脸的人脸信息与人脸信息库中的第一目标人脸信息匹配时,将预存的与目标人脸信息关联的第二支付账号的信息发送给终端。
在执行步骤103时,相应地,步骤103包括以下步骤103-3:
在步骤103-3中,输出所述第二支付账号,以使得线下支付设备基于所述第二支付账号和获取到的第二支付密码进行线性支付。
在本公开实施例中,终端可以输出该第二支付账号,通过第一人脸的人脸信息替代第二支付账号提供给线下支付设备,由线下支付设备基于该终端输出的第二支付账号和用户在线下支付设备上输入的第二支付密码,完成线下支付。第二种方案,在线下支付场景中,通过第一人脸的人脸信息替代支付密码。
步骤102可以包括以下步骤102-4至步骤102-5:
在步骤102-4中,在执行线下支付的情况下,将所述第一人脸的人脸信息和第三支付账号的信息上传到云端服务器。
在本公开实施例中,通过第一人脸的人脸信息替代支付密码的情况下,可以将第一人脸的人脸信息和第三支付账号的信息上传到云端服务器。
在步骤102-5中,接收所述云端服务器将所述第一人脸的人脸信息与人脸数据库包括的第二目标人脸信息进行比对后返回的所述人脸识别结果。
在本公开实施例中,所述第二目标人脸信息是所述人脸数据库中与第三支付账号关联的人脸信息。云端服务器可以先通过第三支付账号的信息在人脸数据库中确定与第三支付账号的信息关联的第二目标人脸信息。进一步地,将第一人脸的人脸信息与第二目标人脸信息进行1:1比对,确定人脸识别结果,并反馈人脸识别结果给所述终端。
相应的,上述方法还包括以下步骤105:
在步骤105中,在所述人脸识别结果指示所述第一人脸的人脸信息与所述第二目标人脸信息匹配时,接收所述云端服务器发送的与所述第二目标人脸信息关联的第三支付密码的信息。
进一步地,上述步骤103可以包括以下步骤103-4:
在步骤103-4中,输出所述第三支付密码,以使得线下支付设备基于获取到的所述第三支付账号和所述第三支付密码进行线下支付。
在本公开实施例中,终端可以输出该第三支付密码,通过第一人脸的人脸信息替代第三支付密码提供给线下支付设备,由线下支付设备获取用户输入的第三支付账号和该终端输出的第三支付密码,从而完成线下支付。
即云端服务器提供第三支付密码给终端,用户需要在线下支付设备上提供第三支付账号,例如银行卡号,由线下支付设备基于第三支付账号和第三支付密码完成线下支付。
上述实施例中,可以通过属于活体的人脸信息替代支付账号或支付密码,从而完成线下支付,降低使用属于非活体的人脸进行支付所带来的经济损失。
第三种方案,在线下支付场景中,通过第一人脸的人脸信息同时替代支付账号和支付密码。
在本公开实施例中,也可以通过属于活体的人脸信息同时替代支付账号和支付密码完成线下支付。但是实际应用中,同时替代支付账号和支付密码的风险较大,一旦误判,容易给用户造成经济损失,因此在线下支付场景中,一般只通过属于活体的人脸信息替代支付账号或支付密码,从而完成线下支付。在一些可选实施例中,本公开还可以设置人脸支付时,对采集到的第二人脸进行活体检测。活体检测的方式与上述对采集到的第一人脸进行活体检测的方式类似,在此不再赘述。
在确定第二人脸属于活体的情况下,将第二人脸的人脸信息确定为所述关联人脸信息。
上述实施例中,可以在设置人脸支付时,确定与第一支付账号相关联的关联人脸信息,降低非法用户使用属于非活体的人脸注册支付账号所带来的经济损失。
与前述方法实施例相对应,本公开还提供了装置的实施例。
如图4所示,图4是本公开根据一示例性实施例示出的一种人脸支付装置框图,装置包括:活体检测模块401,用于对采集到的第一人脸进行活体检测,确定活体检测结果;
人脸识别模块402,用于在所述活体检测结果指示所述第一人脸属于活体的情况下,对所述第一人脸进行人脸识别,确定人脸识别结果;
人脸支付模块403,用于基于所述人脸识别结果进行人脸支付。
在一些可选实施例中,所述活体检测模块还包括:采集子模块,用于采集包括所述第一人脸的至少一组视频数据;第一确定子模块,用于在所述至少一组视频数据中,确定至少一帧人脸图像;单帧检测子模块,用于对每帧人脸图像进行活体检测,确定所述每帧人脸图像对应的单帧检测结果;第二确定子模块,用于基于至少一个所述单帧检测结果,确定所述活体检测结果。
在一些可选实施例中,每组视频数据对应一个指定动作;所述活体检测模块还包括:第三确定子模块,用于将所述每组视频数据输入对应的动作检测神经网络,得到每个动作检测神经网络输出的动作检测结果;控制子模块,用于在每个动作检测结果均指示完成对应的指定动作的情况下,控制所述第一确定子模块在所述至少一组视频数据中,确定至少一帧人脸图像;第四确定子模块,用于在任一动作检测结果指示未完成对应的指定动作的情况下,确定所述活体检测结果为所述第一人脸不属于活体。
在一些可选实施例中,所述第一确定子模块还用于:在每组视频数据中,确定每个指定时间段内图像质量最高的一帧人脸图像,得到所述至少一帧人脸图像;和/或,在每组视频数据中,确定图像质量最高的一帧人脸图像,得到所述至少一帧人脸图像。
在一些可选实施例中,所述单帧检测子模块还用于:将所述每帧人脸图像输入活体检测神经网络,确定所述活体检测神经网络输出的所述单帧检测结果。
在一些可选实施例中,所述单帧检测结果包括所述第一人脸不属于活体的概率值;所述第二确定子模块还用于:确定所述概率值小于或等于预设阈值的人脸图像的数目占所述至少一帧人脸图像总数目的比值;响应于确定所述比值大于或等于预设比值,确定所述活体检测结果为所述第一人脸属于活体。
在一些可选实施例中,所述人脸识别结果确定模块包括:第五确定子模块,用于在执行线上支付的情况下,将所述第一人脸的人脸信息与关联人脸信息进行比对,确定所述人脸识别结果,所述关联人脸信息是设置人脸支付时,关联到第一支付账号的人脸信息;或者,在执行线下支付的情况下,包括如下至少一项:第一上传子模块,用于将所述第一人脸的人脸信息上传到云端服务器;第一接收子模块,用于接收所述云端服务器将所述第一人脸的人脸信息与人脸数据库包括的至少一个人脸信息进行比对后返回的所述人脸识别结果;第二上传子模块,用于将所述第一人脸的人脸信息和第三支付账号的信息上传到云端服务器;第二接收子模块,用于接收所述云端服务器将所述第一人脸的人脸信息与人脸数据库包括的第二目标人脸信息进行比对后返回的所述人脸识别结果,所述第二目标人脸信息是所述人脸数据库中与第二支付账号关联的人脸信息。
在一些可选实施例中,所述活体检测模块,还用于在设置人脸支付时,对采集到的第二人脸进行活体检测;所述装置还包括:关联模块,用于在确定所述第二人脸属于活体的情况下,将所述第二人脸的人脸信息确定为所述关联人脸信息。
在一些可选实施例中,所述装置还包括如下至少一项:第一接收模块,用于在所述人脸识别结果指示所述人脸数据库中存在与所述第一人脸的人脸信息匹配的第一目标人脸信息时,接收所述云端服务器发送的与所述第一目标人脸信息关联的第二支付账号的信息;第二接收模块,用于在所述人脸识别结果指示所述第一人脸的人脸信息与所述第二目标人脸信息匹配时,接收所述云端服务器发送的与所述第二目标人脸信息关联的第三支付密码的信息。
在一些可选实施例中,所述人脸支付模块还用于执行以下至少一项:在所述人脸识别结果指示所述第一人脸的人脸信息与所述关联人脸信息匹配时,在所述第一支付账号下,基于预存的所述第一支付账号对应的第一支付密码,进行线上支付;输出所述第二支付账号,以使得线下支付设备基于所述第二支付账号和获取到的第二支付密码进行线下支付;输出所述第三支付密码,以使得线下支付设备基于获取到的所述第三支付账号和第三支付密码进行线下支付。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本公开实施例还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序用于执行上述任一所述的人脸支付方法。
在一些可选实施例中,本公开实施例提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的人脸支付方法的指令。
在一些可选实施例中,本公开实施例还提供了另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一实施例提供的人脸支付方法。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如SDK等等。
本公开实施例还提供了一种人脸支付装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为调用所述存储器中存储的可执行指令,实现上述任一项所述的人脸支付方法。
图5为本公开实施例提供的一种人脸支付装置的硬件结构示意图。该人脸支付装置510包括处理器511,还可以包括输入装置512、输出装置513和存储器514。该输入装置512、输出装置513、存储器514和处理器511之间通过总线相互连接。
存储器包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable readonly memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器用于相关指令及数据。
输入装置用于输入数据和/或信号,以及输出装置用于输出数据和/或信号。输出装置和输入装置可以是独立的器件,也可以是一个整体的器件。
处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器用于存储网络设备的程序代码和数据。
处理器用于调用该存储器中的程序代码和数据,执行上述方法实施例中的步骤。具体可参见方法实施例中的描述,在此不再赘述。
可以理解的是,图5仅仅示出了一种人脸支付装置的简化设计。在实际应用中,人脸支付装置还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、控制器、存储器等,而所有可以实现本公开实施例的人脸支付装置都在本公开的保护范围之内。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或者惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
- 人脸识别方法、装置、系统、存储介质和人脸支付方法
- 基于人脸信息的医药费支付方法、装置、存储介质及电子设备