基于轻量级人脸识别的智慧地铁云支付系统搭建
2021-07-12王戈钟如意黄浩胡永明
王戈,钟如意,黄浩,胡永明
(湖北大学物理与电子科学学院, 铁电压电材料与器件湖北省重点实验室, 湖北 武汉 430062)
0 引言
目前人工智能已辐射到各行各业,就整体框架而言,人工智能包括两大模块:一是机器学习,另一个是大数据.人工智能领域的快速发展,驱使像人脸、虹膜以及静脉识别等一批生物特征识别的技术悄然进入生活圈,而这些技术中人脸识别的应用拓展最为广阔,其逐渐应用于诸如零售、餐饮、医疗等大型消费环境试点,遗憾的是,当前我国在地铁领域刷脸支付商用化的城市只有郑州,这对于大力发展地铁的中国,显然存在技术加持跟不上的现象.在“互联网+”模式的背景下,针对“互联网”+“公共交通”[1]刷脸支付模式应用的研究是十分必要且实用的,这也是人工智能在机器学习与图像识别方向结合公共交通领域的最佳实践之一.
以武汉市的地铁为例,传统的支付方式存在许多痛点.一是在各站台虽然有摆放购买次票的窗口机,但存在机位少且购票效率不高等问题,尤其是在人流众多地方,造成外地乘客来汉乘车有极其不友好的体验.二是对于倡导低碳生活,无纸无卡化大背景下,传统的武汉通显得过于大,容易造成卡片丢失,且暂不支持挂失服务.三是在2020年新冠肺炎大背景下,如何减少钞票的使用和人员的积聚是武汉需要解决的难点问题.
通过开发一套基于轻量级人脸识别的智慧地铁云支付系统[2],不仅能够解决因机位不足而造成的效率不高、分散人流、提升外地人来汉的乘车体验满意度外,还能减少卡片及塑料币的使用,更为重要的是能够展现城市现代化水平,对刚获批建设国家新一代人工智能创新发展试验区的武汉,智慧城市的建设显然与本系统的搭建不谋而合.
1 人脸识别方法
在人脸识别过程中,需要对数据库进行图像预处理,包括图像裁剪,光归一化和变灰,MTCNN算法进行人脸检测,SVM分类器对处理后的人脸图像进行分类,比对系统由经过训练和优化后的分类器对在地铁人脸识别设备前端捕获的上传图像进行分类,分出的结果就是脸部姿势评估结果[3-4].轻量级人脸识别运行流程图如图1所示.
图1 轻量级人脸识别运行流程图
1.1 人脸识别数据现有的人脸识别大多忽略了人脸的姿态特征,数据库仅有正脸照,导致识别精度不够高,对于地铁系统来说无疑是不达标的,为了提高精度,本研究提出搭建一个包括正脸、左侧脸、右侧脸、抬头、低头5个角度的多姿态人脸库[5-7].此外,为了保证系统数据集的泛性,本数据集样本涵盖:男、女、戴眼镜、不戴眼镜以及胖瘦各类脸型.人脸库如图2所示.
(a)正脸,(b)左侧脸,(c)右侧脸,(d)抬头,(e)低头图2 多姿态人脸数据集
1.2 人脸检测常见的人脸检测算法[7]基本是由“浏览”和“判断”两部分组成,即算法将图像中的信息进行浏览,筛选出候选框后判断框内是否有人脸.本研究采用MTCNN算法用于人脸检测任务,其包含3个级联的网络,分别是Proposal Network (P-Net)、Refine Network (R-Net)和Output Network (O-Net),如图3所示.P-Net:主要获取人脸区域的候选窗口和边界框的回归向量.并用该边界框做回归,对候选窗口进行校准,然后通过非极大值抑制(NMS)来合并高度重叠的候选框.R-Net:通过边框回归和NMS来去掉那些false-positive区域O-Net:同R-Net层作用一样,但是该层对人脸区域进行了更多的监督,同时还会输出5个地标(landmark)[8-9].
图3 MTCNN级联网络分层示意图(由上至下分别为P-Net、R-Net、O-Net)
1.3 人脸姿态识别MTCNN算法检测原图和原理展示图如图4所示.本研究使用人脸的5个关键点来判断人脸姿态方向.
图4 人脸姿态关键(左右眼、鼻子和左右嘴角)
通过上述人脸检测、人脸识别算法,对采集的样本进行了大量实验分析.表1给出了精准率和召回率评判的4个参数:TP(True Positive)代表正确人脸,FP(False Positive)代表错误人脸,FN(False Negative)代表识别出人脸和TN(True Negative)代表为识别出人脸.精准率P(Precision)和召回率R(Recall)的计算公式如式(1)和式(2)所示[10-11].
表1 评判参数
(1)
(2)
为了验证MTCNN的优越性,实验同时记录了相同条件下(本实验使用服务器配有64位的CentOS系统,配备了Inter Xeon E5 2620 v4处理器,64 GB内存,8张32 GB的Tesla V100显卡),使用MTCNN网络以及其他主流的轻量级网络(ResNet、Fishercaces、LBP、Eigenfaces)得到的结果,实验结果如表2所.在2 000个样本中,通过实验测试以及数据结合公式(1)、(2)计算后,采用MTCNN算法识别正确数为1 975个,识别精准率为 99.74%, 召回率达 98.75%,该结果说明了本研究的人脸识别算法具有较高的识别精度.由于存在部分人脸严重遮挡,及人脸库录入光照因素,造成某些未能正确识别的现象,而单帧图像识别平均耗时达0.081 s,检测识别的速度较快.相较于其他算法网络,MTCNN算法无论是在识别正确数和精准率,还是在保证识别正确数和精准率下的速度上都优于其他网络.
表2 人脸识别算法评判结果
2 基于Hadoop的轻量化分布式人脸识别
Hadoop[12]拥有扩容能力强、效率高、可靠性高、成本低等优点,考虑到随着交通流量的日益增加,将当前大数据技术中主流框架Hadoop与MTCNN算法相结合[13],从而提出一种轻量化分布式人脸识别.图5所示为Hadoop架构图.
图5 Hadoop架构图
具体的系统设计思想如下:①用户按要求上传人脸照片后,经过处理将人脸数据存储到 HDFS 中;②对Hadoop 框架的人脸数据类型接口和输入/输出格式接口进行扩展实现数据高效传输、处理;③将MTCNN算法融入Hadoop,对人脸数据进行分布式计算处理,将辨认出的人脸和环境信息保存于数据库,实现系统的人脸识别功能.结合Hadoop的轻量化分布式人脸识别在性能上可通过4个方向进行优化:首先,通过将人脸的数据划分到集群里的各个节点中,并存储于HDFS内,这样可以实现高并发来提高效率从而提升人脸识别的速度.同时,为了提高人脸库的检索效率,还可以采取将人脸库缩小的办法.其次,扩展Hadoop框架内人脸数据类型接口以及输入/输出格式接口,将数据信息串转变成二进制来进行节点之间的传输,使得Map和Reduce阶段的数据可以高效传输及处理.此外,将MTCNN算法和Hadoop框架结合,对通过人脸识别评估的结果进行分布式计算处理,从而比对到对应的人脸和环境信息.最后运用缓存技术将辨认出的人脸和环境信息进行缓存,并根据乘客乘坐地铁出行的次数,将该乘客标记为常客.使用缓存技术后,极大地减轻了服务器的工作量,在缓存中处理和检索的效率会更快.
3 武汉智慧地铁云支付实施方案
武汉智慧地铁云支付实施方案系统总架构图如图6所示.系统总共分为人脸支付功能、人脸抓拍、人脸比对以及支付扣款等4大模块.本系统搭建的关键点为人脸比对,因此本研究主要介绍人脸比对模块.
图6 系统总架构图
3.1 开通人脸支付功能乘客首先通过移动端开通人脸识别功能,移动端APP会要求乘客按要求拍摄人脸照片,并进行实名认证,并在移动端APP支付界面中的人脸识别支付模块显示为:已开通状态.
3.2 人脸抓拍前端抓拍的好坏关系到整个人脸的检测与识别,为了保证人脸识别的准确性和可靠性,需要对一些硬件的必要环境进行规定匹配,如红外补光、同画面多人像连续抓取、80 cm 有效识别距离等,这样才能在乘客顺畅乘车的同时,前端能抓拍到高质量的人脸图像,并传送到前端系统.
3.3 人脸比对在开通人脸支付功能时,移动端APP会要求乘客拍摄5张照片,分别是上文提到的正脸、左侧脸、右侧脸、抬头、低5五个角度的照片,并将其存入到人脸库中,乘车进闸前,前端连续抓拍到人脸图像,经过算法筛选后,将质量最优图像与比对系统进行对比.人脸识别比对系统采用一种基于MTCNN算法进行多姿态人脸检测与识别,同时结合Hadoop框架进行大数据下的分布式人脸识别和数据存储.MTCNN算法将人脸5个关键点的信息捕捉精准,而比对部分,常见的方法有两种,分别是欧氏距离和余弦距离.欧氏距离衡量的是多维空间中各个点之间的绝对距离,而余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个体间差异的大小,余弦相似度更加注重两个向量在方向上的差异,而非距离或长度.两种方法的数学公式分别如式(3)和式(4)所示.
(3)
(4)
根据公式(3)可知欧式距离的取值范围为[0,+∞),公式(4)可知余弦距离的取值范围为[0,2].相较于欧氏距离,余弦距离使用两个向量夹角的余弦值衡量两个个体间差异的大小,后者更加注重两个向量在方向上的差异,余弦距离能让人脸特征区分度更高,因此,人脸特征比对采用的度量方法是计算余弦距离远近,距离越近(相似度越大)表示两张人脸越相似(本次实验设置阈值设为 0.6).比对过程依次是,首先通过MTCNN获取要检测的实时图片中的每一张人脸特征后,将每一张人脸特征和人脸库中所有的人脸特征进行比较,计算距离,然后通过比对距离与阈值的大小,若得出的距离大于所设定的阈值,则表示这张图像匹配到了人脸库中对应的人,如果存在多张人脸与当前人脸的余弦相似度大于阈值的情况,取相似度最高的为匹配结果.
3.4 支付扣款前端系统收到人脸识别系统反馈信息后将乘客的ID告知支付系统进行相应的扣款操作,然后支付系统再将扣款必要信息告知前端系统,前端系统通知闸机开闸.此时自助售卖票窗口原先的工作人员可安排在闸机口,避免逃票现象的发生,有效提升了乘车的秩序和管理水平.相反,假设支付失败,则返回错误信息代码及错误原因给到前端系统.此时人工窗口可根据乘客入站站点查询来判断乘车区间进行补票.
4 结束语
经实验结果反馈,在2 000分样本测试中,人脸识别精准率为99.74%、召回率为98.75%,单帧平均耗时为0.081 s,有效保证识别效率和准确性.为人脸识别地铁商用化提供一套解决思路.对于“刷脸支付”模式,我们暂且不能指望它能替代其他的支付方式,理由有两点:第一,“刷脸支付”的成功率是必须考量的一点,若在地铁早晚高峰期少数人长时间的刷脸支付失败,会造成通道堵塞,人员拥挤,产生安全隐患;其二,对于有关人民财产安全的问题,必须慎之又慎,如何避免漏刷、误刷,是系统必须也一定要解决的硬任务[14].但无论如何,“刷脸支付”在公共交通领域的应用可能是未来的趋势,这也是人工智能技术在公共交通领域的最佳实践之一.智慧交通的发展必然会推动智慧城市的建设而后又反哺智慧于交通.