从2015年,马云在德国展示人脸支付技术以来,经过几年发展,人脸支付已经开始走向商用。近日,支付宝蜻蜓、微信青蛙以及人行牵头银联和各商业银行推进落地的刷脸支付系统陆续开始推向市场,笔者近期分别对相关产业各方采用的技术原理和基本概念进行了一些学习和研究,在此做一下记录和分享。
什么是人脸支付技术
人脸支付技术是利用受理终端的人脸采集能力,通过人脸识别技术(1:1 or 1:N)获取持卡人支付账户信息,结合Token技术、PIN加密技术、大数据分析等形成的新型支付技术。人脸支付技术通常涉及两个方面,一方面是人脸支付受理终端,一方面是人脸支付受理平台。
从人脸支付受理终端侧来看,主要涉及:人脸图像采集及检测技术、人脸图像预处理技术、活体检测等。从平台侧来看,主要涉及:人脸图像特征提取技术、人脸图像匹配与识别技术。
人脸支付技术中涉及的一些关键技术概念和原理
从上述的几项技术中,我们需要首先了解下面的这些关键技术概念和原理。
什么是双目摄像头
支付宝蜻蜓采用的摄像头
我们通常使用的在手机上用于拍照的前置摄像头,都是普通的可见光VGA摄像头,也叫单目摄像头,所以单目摄像头一般需要通过动作配合、行为分析等模式实现活体检测。而双目摄像头是指设备上除了一个可见光VGA的摄像头外,还有另外一个或多个用于采集视觉的部件(如黑白摄像头、长焦/定焦摄像头、近红外摄像头、结构光组件、TOF组件等)。这也是我们看到在我们一些高端手机、支付宝蜻蜓和微信青蛙提供的摄像头中采用的一些技术。
一般人脸识别中用到的是近红外摄像头、结构光组件、TOF组件等。具体的形式上可能有多个部件组成。双目摄像头通过采集物体的深度数据,与VGA摄像头采集的2D平面照片数据组合成物体的3D模型,所以又称之为3D摄像头。双目摄像头在满足基本人像信息采集的同时,还能提供快速(<1s)、高精度的活体检测能力,判断采集的物体是否是真人活体。
为什么人脸支付首次需要输入手机号
这其实就是我们人脸识别中的一个经典问题,也就是1:1模式和1:N模式。1:1的模式是指用现场采集的某客户的图像与之前系统中留存的该客户图像直接进行对比,这样就需要用一个索引在后台留存的数据中先找到该客户的图像,比如手机号或者PIN等。而1:N的模式是指用现场采集的某客户的图像与在系统中留存的N个人照片里逐一比对,找到库里那个当前客户的图像,并且获得相应的关联信息,如捆绑的卡号或者支付账号,这就好比大海捞针,在茫茫人海中去找到这一张图像。在N的规模如果达到比较大的程度时(一般像微信支付宝后台都是亿级用户),识别的准确度会急剧下降,识别的效率也会大受影响。
所以通常情况下,首次支付会采用手机号或者PIN作为图像的索引,采用1:1模式,快速索引出人脸,而在再次到店支付时,可以使用1:N模式,在本地不多的缓存客户图像中直接匹配,提高客户体验度。
人脸支付应用于支付场景的特殊性
这其实也是很多专家在评论人脸支付时谈到的问题,首先,人脸识别是一种相似度识别,跟采用的算法以及设定的阈值有很大关系,单纯靠人脸识别这一项技术是不能完全满足支付主体唯一性的要求的,所以势必还得添加其他辅助手段;其次,人脸特征一方面可以随身携带并且易于获取,本身就是一种非常好的支付载体,但是与传统的密码和卡不一样的是,人脸特征如果作为支付中的一个重要因素,一旦出现风险,无法进行作废、挂失、更换等操作。
人脸支付的欺诈手段和防范措施
欺诈手段-照片、视频、3D面具
这方面技术从低到高,有照片、视频、3D面具。照片和视频都可以通过合法途径获取,比如可通过网上个人主页、微信朋友圈、街边偷拍等途径获得。而另据报道,日本有公司已经能生产3D打印面具,如下图所示。
防范措施-活体检测
通常的防范措施就是采用活体检测技术,大家在日常生活中已经有所体验。简单来讲,跟进行活体检测的摄像头有关。如果是单目摄像头,一般采用指令动作配合的方式,如人脸左转、右转、张嘴、眨眼等,指令配合错误则认为是伪造欺骗,这种方式由于其负责性一般只能用于一些绑卡环节而不适用于支付环节。如果是双目摄像头,一般是利用双目摄像头得到的深度数据进行3D模型分析, 最终判断出这个人脸是来自活体还是非活体。采用这种方式对于2D攻击也就是照片和视频有较好的防范效果,但对于3D模型攻击,例如上面这种3D面具或者头套的防范效果还需要进一步优化。特别是对于精度较高的3D头套或蜡像的攻击,目前很难进行分辨。
总结
相信大家看了本文,对人脸支付技术原理和概念有了一个初步的认识和理解。后续我们将展开为大家分别来分享支付宝蜻蜓、微信青蛙以及银联系的人脸支付的具体方案。