上海云从汇临人工智能科技有限公司 孙琼
本文介绍了人脸识别双目摄像头在刷脸支付收银机上替代3D 结构光相机中的应用,载体是收银机,收银机内置红外双目相机模组,通过自有的SDK 算法,识别活体并进行检测和身份验证识别,并且,还通过绑定支付宝、微信账号或者银行卡账户,进行消费确认和支付,实现人工智能,出门不用带手机的可能性。
人工智能是最近几年的热门话题,随着人口出生率下降,人口红利的消失,人工成本越来越高,人脸识别身份验证的场景越来越多,比如,机场、火车站出入闸机口、消费场所支付确认等,越来越多的人习惯出门不带现金,只带手机,甚至手机都不带,刷脸可以消费,解放了人类的时间,同时加强了支付的安全性。双屏收银机内置了红外双目相机模组,目前主要有两种操作系统的配置,即Windows 和安卓系统,其他配置要求:CPU4 核、2G+8G、WiFi 802.11b/g/n、2.4GHz、Android 5.1 及以上、蓝牙4.0、以太网10/100/1000M、USB2.0*3+、Micro-USB*1、RS232*1、RJ11*1、RJ45*1、音频3.5mm、电源12V DC、5A、双目/200 万像素摄像头或3D 结构光相机,此处使用的主要是红外双目相机、Android 7"(3288)、4G 模块(可选配)、音视频对讲(可选配)、双大屏双触控、身份证模块、NFC、热敏打印、钱箱。目前收银机应用场景主要是餐饮、零售、其他。
支付宝率先发布的“蜻蜓”和微信支付紧随其后发布的“青蛙”,开创了人脸支付轻量级新时代,终端体积类似台灯大小,不再像过去自助机一样庞大,让许多中小商户可以采用此款设备,它们的出现,让人脸普及加速。双屏收银人脸支付终端的代表作是微信的“青蛙”pro,不管是支付宝的蜻蜓还是微信的青蛙,用的都是3D 结构光相机去做人脸识别。当然,也有做双屏收银机,但是使用的是红外双目相机,单独模组上成本比结构光降低60%,下面会重点介绍红外双目用在双屏收银机上的方案原理。
双屏收银机设计让人脸支付终端有机会替代其他收银设备,完成独立收银,在此之前,轻量级人脸支付终端大部分是接入原有收银机,作为前端支付设备,双屏设计能让商户可以进行后台操作。满足店面管理需求,功能包括:人脸识别、自助收银、二维码支付、会员营销系统、电子海报。由于拥有屏幕,电子海报成为了人脸支付终端的优势部分,收银前的屏幕也可以极大提升商家和消费者的互动能力。人脸支付能够给商家带来强身份认证能力,进而可以为消费者提供更加个性化的会员以及营销服务,“支付即会员”是人脸支付提供者所倡导的能力。人脸支付的优势是可以提高结算效率50%以上,节约人力成本,时间成本,优化了支付体验,无需携带手机,提升支付便捷度,有利于商家识别客户,进而提供会员服务、营销服务、海报服务,又可以用来做广告,增加广告收入。目前,主流的线下人脸支付是应用了AI+技术+云服务技术+双摄像头3D 结构光生物识别技术相互结合所形成的技术应用。硬件基础是红外双目摄像头或者3D 结构光/TOF 相机的成熟应用。通讯基础是云平台的承载能力越来越强,4G 加WiFi 的优良通讯环境让云SaaS 成为可能,为人脸支付提供平台和通讯。数据基础是公安二代身份证数据库的搭建,为人脸支付提供了数据库的基础。市场认识基础是以声纹、指纹、静脉、脸、虹膜等生物识别特征作为身份识别的主要依据手段,经过指纹支付后,大部分用户对生物支付认同并接受。我们的双屏收银机搭配是红外双目相机,通过人脸识别生物特征做支付交易的确认,之所以选择红外双目相机是因为其性价比超过3D 结构光相机和TOF 相机,安全性可以达到金融级别的99.99%安全性要求。平台基于RK 的安卓平台,安卓(Android)是一种基于Linux 的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google 公司和开放手机联盟领导及开发。
在实际生活中的应用越来越广泛,已经成为个人身份鉴别的重要手段。但伴随着人脸识别的便捷性与友好性,人脸识别系统也存在着用户身份被冒充的风险,不法分子利用包含面部信息的打印纸张、面具,或是通过播放电子照片、视频等手段,可以达到伪造他人身份的目的[1]。因此,基于人脸的活体检测技术越来越重要,成为人脸识别系统必不可少的模块。现有的人脸活体检测技术按照活体检测流程可分为两类:主动式和非主动式[2]。
主动式体验往往不太好,它需要用户主动配合做一些动作;并且随着电子屏幕显示技术的发展,高清播放视频愈发接近真实的人脸的纹理特征,对此类活体检测技术也提出了巨大挑战。非主动式会相对较好,主要包括以下三种检测方式:红外双目技术、结构光技术、ToF 技术。成本结构光最贵,TOF 次之,红外双目最便宜。
红外双目模组包含一个红外光摄像头和一个可见光摄像头。基于红外双目摄像头实时捕捉用户的人脸图像,包括可见光和近红外图像,并利用深度学习模型判断是否是真人。由于攻击道具和皮肤在近红外图像中的纹理具有明显区别,因此,可通过深度学习对大量样本数据进行学习区分出真人和攻击道具。红外活体根据其红外不可见光的反射特性,加上本身双摄像头的深度信息,可以天然地对平面纸张、视频等有非常好的防攻击效果。相机模组主要的组成部分(如图1 所示):镜头(Lens)、图像传感器(Sensor IC)、数字信号处理(DSP)以及存储器(Memory)。
图1 相机模组主要的组成Fig.1 Main components of the camera module
(1)图像传感器是一种半导体芯片,CCD 传感器模块和CMOS 传感器模组均由国外厂商主导,其表面包含有几十万到几百万个感光二极管,这些感光二极管受到光照时,就会产生电荷(光信号→电信号)。其种类分为:1)CCD(Charge Couple Device):电荷耦合器件;2)CMOS(Complementary Metal Oxide Semiconductor):互补金属氧化物半导体。CCD 和CMOS 的区别,如表1 所示。
表1 CCD 和CMOS 的区别Tab.1 Differences between CCD and CMOS
(2)ISP(Image Signal Processor)也叫图像信号处理器,其主要作用是对前端图像传感器输出的信号做后期的处理。DSP(Digital Signal Processing)也叫数字信号处理器,其通过一系列复杂的数学算法运算,对数字图像信号参数进行优化处理(RGB/YUV →JPEG),并把处理后的信号传到存储或显示部件。视频(Video)即时间上连续的图像组成视频,视频中的某一幅图像称为一帧(Frame);帧率(Frame Rate):用于测量显示帧数的量度,测量单位为每秒显示帧数FPS;码流(Bit Stream):将图像压缩后形成的数据;码率(Bit Rate)bps/Bps是对码流进行量化,码率类型有定码率(CBR)、变码率(VBR),码流类型有视频流、音频流、复合流;像素(Pixel):由一个数字序列表示的图像中的一个最小单位。
(3)分辨率通常以乘法形式表示,如1024×768,“1024”表示屏幕上水平方向显示的像素点数,“768”表示垂直方向的像素点数;分辨率指画面的解析度,像素越多,图像越清晰。
130W 像素:SXGA(1280×1024)
80W 像素:XGA(1024×768)
50W 像素:SVGA(800×600)
30W 像素:VGA(640×480)
15W 像素:HVGA(480×320)
10W 像素:GIF(352×288)
7W 像素:QVGA (320×240)
(4)SNR(Signal to Noise Ratio)是指在规定的条件下,传输信道特定点上的有用功率与和它同时存在的噪声功率之比。它是直接反应摄像机影像对噪声的抗干扰能力,在画质上有无噪声亮点;也可说是影像放大器的输出信号的功率与同时输出的噪声大小的比值,通常用dB 表示。
(5)图像的动态范围:是指输出图像的最亮和最暗部分之间的相对比值。通俗地讲,就是在一个暗态的房间里面,透过玻璃照射室外明媚阳光下的景物,室内和室外的物体是否都能够清晰的显现。动态越大,对景物的识别会更细腻。
(6)USB 摄像头一般有两种传输格式:YUYV 和MJPG。YUYV:无压缩图像格式的视频(RAW 格式,原始图像)。其优点是图像没损失、帧率稳定、系统资源占用少(因为不用解码)、不需要解码器;缺点是占用带宽大、帧率稍慢(受限于USB 分配的带宽)。MJPG:是MJPEG 的缩写,一种视频编码格式。其优点是占带宽少、占内存少、帧率高(视频开启快,曝光快);缺点是影像有马赛克,并且需要编码(由DSP 完成)和解码(由CPU 完成),会占用PC 系统资源分辨率,指画面的解析度,像素越多,图像越清晰。在可控的环境下,活体相机是最佳的人脸识别和身份鉴定安全设备。
(1)人脸检测:检测视频画面中的人脸;
(2)人脸跟踪:实时跟踪人脸在画面中的位置;
(3)活体检测:利用红外成像、可见光与红外成像匹配等技术,使用户无需配合完成活体检测功能;
(4)假体识别:可有效预防二维的黑白平面照片、黑白抠眼嘴照片、彩色平面照片、彩色抠眼嘴照片以及三维的硅胶乳胶类面具、抠眼嘴面具、电子照片(手机、电脑)、视频录像的攻击;
(5)最佳人脸抓拍:支持自动抓拍可见光的最佳人脸照片;
(6)换脸检测:基于初始进入画面中的人脸,支持实时判断是否有其他人脸进入视频画面[3]。
(1)Android 应用层,Android 会同一系列核心应用程序包一起发布,该应用程序包包括客户端、SMS 短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是使用Java 语言编写的。(2)Android应用框架层是对核心类库调用的实现,为了简化开发,就用Java 写了调用核心类库的方法,把这些方法封装成API 给开发者调用。因此,应用框架层是用Java 写的,是对核心类库层的调用。(3)Android 系统运行层(核心类库层)包含一些C/C++库,这些库能被Android系统中不同的组件使用,它们通过Android 应用程序框架为开发者提供服务。(4)Linux 内核层包含了硬件接口,用于Android 系统的移植。安卓平台整体架构图和安卓产品详细构成图如图2、图3 所示。各种硬件驱动包含:显示器驱动、摄像头驱动、闪存驱动、键盘驱动、WiFi 驱动、音频驱动、电源驱动。
图2 安卓平台整体架构Fig.2 Overall architecture of Android platform
图3 安卓产品构成Fig.3 Overall architecture of Android product
(1)应用层:即我们所说的软件编程。就像手机里使用的QQ 和微信,需要根据手机的操作系统来编写应用程序;
(2)操作系统层:操作系统是负责系统任务的调试、磁盘和文件的管理。对于操作系统层目前只能说是简单的移植;
(3)驱动层:驱动程序在系统调用时,不会独占操作系统时间片,而导致其他任务不能运行;驱动程序是连接硬件平台和操作系统的纽带,编写驱动需要同时兼顾操作系统特点和硬件接口的特点。
(4)硬件层:整个嵌入式系统的根本,也是驱动层的基础,硬件平台是基础,增值还要靠软件;DSP(Digital Signal Processing),也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。ISP(Image Signal Processing)图像信号处理,主要用来对前端图像传感器输出信号处理的单元,以匹配不同厂商的图像传感器[4]。
基于RK3399 硬件平台和安卓软件平台,其应用场景:商业、办公楼、学校、园区、社区零售、餐饮、食堂。收银员界面支持自定义金额、固定金额、商品金额等收银模式。不仅支持通过卡号、工号、手机号等信息确定客户,还支持终端设置和管理。客户界面有刷脸支付和交易信息,订单信息确认、选择刷脸支付时显示人脸框,帮助客户快速完成交易、交易状态反馈、广告投放。配置:Intel Core i3 3217U、4GB DDR3 SDRAM、64GB SSD、15 寸高分触摸屏主屏、15 寸高分副屏、内置活体相机(红外双目或者3D 结构光)。
红外双目模组内置安全芯片,支持多种加解密算法,同时支持签名和验签,提高了信息传输的安全等级。加密芯片可存储至少8 个通道的密码,同时可支持3 个安全证书,每个证书不大于5K 字节。参考银行业的密钥体系按用法进行划分,分为三级:第一级为本地主密钥(简写LMK);第二级为区域主密钥或终端主密钥(简写 ZMKTMK);第三级为数据密钥(包括PIKMAKDEKPVK等)。为了有效防止算法被破解,造成密钥泄漏,所有密钥都设置了生命周期,每一级密钥的生命周期都不一样,当然每个客户在国家政策下定义自己密钥的生命周期。三层密钥体系根据密钥的使用对象而形成,上层对下层提供保护和一定的维护功能,不同层的密钥不相同,且不能相互共享[5]。
模组集3D 结构光技术、人脸检测及活体检测算法、人工智能芯片、安全芯片于一体,算法与硬件高度融合。不仅性能指标优越、安全性高,且对终端无算力要求,体积小、功耗低、即插即用、通用性强。模组内置云从自主算法,安全可控。防活体攻击准确率达到99.9%,已达到金融支付场景的最高安全等级。模组内置安全芯片支持SM1/SM2/SM3/SM4/SSF33 算法、AES/TDES/RSA/SHA 算法和支持签名和验签,提高了信息传输的安全等级,同时,还支持多种安全证书,有效防止身份冒用[6]。
5.5.1 模组功能
(1)人脸检测:检测视频画面中的人脸;
(2)人脸跟踪:实时跟踪人脸在画面中的位置;
(3)活体检测:利用红外成像、可见光与红外成像匹配和深度图像等技术,使用户无需配合完成活体检测功能,算法内置直接返回检测结果;
(4)假体识别:可有效预防二维的黑白平面照片、黑白抠眼嘴照片、彩色平面照片、彩色抠眼嘴照片以及三维的硅胶乳胶类面具、抠眼嘴面具、电子照片(手机、电脑)、视频录像的攻击;
(5)最佳人脸抓拍:不仅支持自动抓拍可见光的最佳人脸照片,还支持加密后输出;
(6)换脸检测:基于初始进入画面中的人脸,支持实时判断是否有其他人脸进入视频画面,结构光活体技术原理是深度图重建原理:结构光摄像头包含结构光图案发射器,能够向场景投射出固定的结构光(一般是近红外光)图案,并通过一个或多个摄像头捕捉投射出来的图案,根据图案的形变以及双目测距的原理重建出每个位置的深度信息,生成场景的深度图像[7]。
5.5.2 检测方式
结构光活体的检测方式与红外双目活体类似,但相比于红外双目摄像头,结构光摄像头可以产生三通道的图像数据,包括:(1)可见光图像;(2)近红外图像;(3)深度图像。多出来的一维深度图像包含了人脸区域三维空间结构信息,可利用深度学习模型进行更加深入的防攻击分析。
5.5.3 技术前沿
(1)在尺寸小、功耗低的模组中内置结构光三维重建、人脸检测算法、活体检测算法、安全加密算法、神经网络计算,系统复杂性高;(2)实现训练模型与模型在芯片中部署后精度的一致性;(3)DSP(加速数字信号处理)加速运行算法与深度学习网络;(4)模组内部实现输出结果的加解密功能,支持多种算法;(5)实现模组的低功耗工作;(6)实现内置各类算法的稳定性运行,支持7×24h。因为结构光整体硬件成本较高,所以性价比较低。
深度图重建原理,通过测量光在空间中飞行的时间,换算成距离,以测得摄像头与物体的距离。ToF 模组包含发射模块、接收模块。发射模块向场景发射红外光,经过物体反射后,接收模块接收到反射的红外光计算深度信息。根据激光往返的时间长短和其固定的飞行速度,计算出物体表面上的点与ToF 相机之间的距离。
5.6.1 防攻击检测
ToF 活体检测算法综合可见光通道、近红外通道以及深度通道的多维信息,进行交叉验证比对和活体分析,通过深度学习构建分类模型,从而判断出画面中的人脸是否为真人。
5.6.2 模组功能
(1)人脸检测:检测视频画面中的人脸;(2)人脸跟踪:实时跟踪人脸在画面中的位置;(3)活体检测:利用红外成像、可见光与红外成像匹配、深度图像等技术,使用户无需配合完成活体检测功能;(4)假体识别:可有效预防二维的黑白平面照片、黑白抠眼嘴照片、彩色平面照片、彩色抠眼嘴照片以及三维的硅胶乳胶类面具、抠眼嘴面具、电子照片(手机、电脑)、视频录像的攻击;(5)最佳人脸抓拍:支持自动抓拍可见光的最佳人脸照片;(6)换脸检测:基于初始进入画面中的人脸,支持实时判断是否有其他人脸进入视频画面,成本性价比较低。
综上所述,技术上人脸识别支付技术逐步成熟,随着人脸识别标准的制定,将鼓励使用人脸识别应用,同时,随着政务人脸验证逐渐铺开、金融规划的提出,监管的跟进、政府的支持以及用户认知的提高,都使人脸识别支付逐渐普及广泛。以硬件为基础,人脸支付模式参与者众多,以微信、支付宝、银联三巨头为主要市场推动者,具有很大的市场占有率,使得产业链上下游形成较大合力。截至目前,人脸支付终端产品市场规模较为可观,但是三种识别模组比较下来,红外双目性价比最好,所以其是最优选择。