人脸识别在现在很多的项目中都有应用,最常见的就属此次315曝光的支付宝刷脸登录,当然支付宝也出来做了澄清,我们还是需要相信科技的.支付宝的刷脸可谓是相当成熟了.下面我们来简单的分析一下支付宝的刷脸登录流程.
* 1.前端采集人脸*
前端采集人脸的过程其实就是采集一张带有人脸的图像,然后我们对这个图像进行base64编码之后传给后台服务,后台服务去做人脸的识别,或者验证,如果这样的话,前端做起来其实是相对较复杂的,首先采集人脸的过程中,我们要做的是分析图片中有人脸然后将此图像保存,完成采集过程,当然这样是不安全的,因为我可以随便拿一个人的照片就可以骗过去前端采集的这一过程,所以如果仅仅如此做的话,还是比较简单的,在iOS中有苹果自带的识别人脸的API,当然现在用的最多的是opencv 但是这样做的话,那支付宝的产品和技术人员也就该卷铺盖回家了,所以我们需要在前端进行人脸采集的时候我们需要对识别到人脸进行活体检测,现在的活体检测技术有很多,有让摇头,有让张嘴,有人眨眼,当然也有让这些全部加起来的,(我的臆想..)就我自己的看法,出了眨眼都看起来有点奇怪,支付宝采用的就是眨眼来过滤掉静态图片的识别,但是我尝试过,如果把眨眼的视频拍下来来骗支付宝,是可以骗过去的哦,但是在后续的识别中却是通不过的,这点咱们在下个阶段再谈(你如果开通了支付宝的刷脸登录,可以录制一个自己的眨眼视频来骗下支付宝).支付宝的具体的采集人脸过程大概就是这样(个人理解,如果有人觉得不对的可以留言讨论哦)
* 2.后台服务验证识别*
其实后台的人脸识别验证不属于我们此篇文章要说的内容,在这儿我还是想大概的叙述一下,现在的后台人脸识别验证其实是有很好的第三方的,比较厉害的一个是”face++” 支付宝好像也有用face++ 的服务(face++ 的网站上有写),有兴趣的童鞋可以去网上搜一下,还有据我所知的讯飞,我有电联过讯飞的客服,他们有说他们的服务是基于face++的,识别率还是蛮高的,iOS,安卓都有封装好的对应的SDK,另外提一下face++人脸识别是基于接口的,当然如果自己公司想要开发自己的人脸识别服务也是可以的,但是就我知道的比较专业的好像就是opencv 了,不得不说opencv着实相当强大.
3.刷脸登录草图
我也大致写了下刷脸登录的流程草图,里面确实还有许多要优化的地方,也仅仅抛砖引玉了,希望可以帮助到需要的童鞋,(当初我做这块儿的时候,资料可谓少之又少,希望能够分享出来帮助一些正在迷茫的童鞋们)
4.划重点
重点是人脸识别中的活体检测
可以存在两种方式