面部识别科普(刷脸支付)

Posted 三金C_C

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面部识别科普(刷脸支付)相关的知识,希望对你有一定的参考价值。

又到了一周一次的科普时间了,关注生活的小细节,把握时代进步潮流。
最近支付宝刷脸支付(支付宝打钱!)优惠还是蛮多的,目前支付完一次将会收到1.88红包,也算是一种促进消费吧。
所以我想刷脸支付到底功能有多么强大呢?听说也是支付宝最强科技,毕竟微信还没开通。其实刷脸支付本质上就是面部识别的应用,这里简单科普一些关于它的知识(分属于计算机视觉体系)。

定义

人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。

相关计算机语言

这些语言对于图像处理都是非常强大。
Matlab:(数学建模经常用的工具,对于像素处理相当不错,我时常称它为代码类的PS,哈哈)尽管它适用于矩阵运算,但仍可以处理图像处理,例如裁剪、旋转、掩蔽等。
C/C++/C#:想不到这些最基本的也可以进行图像处理吧,写了那么的黑框框,没想到功能竟然这么强大。目前比较主流的库有:OpenGL、EmguCV、OpenCV,对处理也是比较好。(有时间出一些C++图像处理和文件操作啦)
Java:可用于创建图像处理和图像识别的应用程序。
Python:目前,Python被认为一种目前最流行的编程语言。其简单性和多功能性是许多程序员喜欢使用它的一些原因。尽管很简单,但Python是一种可以依赖于执行复杂任务的语言。它可用于创建图像处理和识别功能。
OpenCV:开源计算机视觉(OpenCV)[9]是一种用于实时处理的高级工具。它也是一种跨平台工具,因此可以集成到任何编程语言中,以执行图像处理和识别功能。它可以与C、C ++、Java、Python和android编程语言集成。主要接口是C++语言,但是依然保留了大量的C语言接口。
OpenCV应用也是相当广泛,例如:人脸识别、运动跟踪、人机交互、增强现实、手势识别等等。

相关算法

基于几何特征的算法

人脸由眼睛、鼻子、嘴巴、下巴等部件构成,正因为这些部件的形状、大小和结构上的各种差异才使得世界上每个人脸千差万别,因此对这些部件的形状和结构关系的几何描述,可以做为人脸识别的重要特征。几何特征最早是用于人脸侧面轮廓的描述与识别,首先根据侧面轮廓曲线确定若干显著点,并由这些显著点导出一组用于识别的特征度量如距离、角度等,这种也是最基本的方法,通过数学方法对脸部进行建模处理。但它需要大量的前处理和精细的参数选择。同时,采用一般几何特征只描述了部件的基本形状与结构关系,忽略了局部细微特征,造成部分信息的丢失,更适合于做粗分类。

基于主成分分析算法

目前最流行的算法之一,具有简单有效的特点, 也称为基于主成分分析(principal component analysis,简称PCA)的人脸识别方法。
特征子脸技术的基本思想是:从统计的观点,寻找人脸图像分布的基本元素,即人脸图像样本集协方差矩阵的特征向量,以此近似地表征人脸图像。这些特征向量称为特征脸(Eigenface)。
实际上,特征脸反映了隐含在人脸样本集合内部的信息和人脸的结构关系。将眼睛、面颊、下颌的样本集协方差矩阵的特征向量称为特征眼、特征颌和特征唇,统称特征子脸。特征子脸在相应的图像空间中生成子空间,称为子脸空间。计算出测试图像窗口在子脸空间的投影距离,若窗口图像满足阈值比较条件,则判断其为人脸。

利用神经网络进行识别的算法

Valentin提出一种方法,首先提取人脸的 50个主元,然后用自相关神经网络将它映射到 5维空间中,再用一个普通的多层感知器进行判别,对一些简单的测试图像效果较好;Intrator等提出了一种混合型神经网络来进行人脸识别,其中非监督神经网络用于特征提取,而监督神经网络用于分类。Lee等将人脸的特点用六条规则描述,然后根据这六条规则进行五官的定位,将五官之间的几何距离输入模糊神经网络进行识别,效果较一般的基于欧氏距离的方法有较大改善,Laurence等采用卷积神经网络方法进行人脸识别,由于卷积神经网络中集成了相邻像素之间的相关性知识,从而在一定程度上获得了对图像平移、旋转和局部变形的不变性,因此得到非常理想的识别结果,Lin等提出了基于概率决策的神经网络方法 (PDBNN),其主要思想是采用虚拟 (正反例 )样本进行强化和反强化学习,从而得到较为理想的概率估计结果,并采用模块化的网络结构 (OCON)加快网络的学习。

支付宝使用算法

这个大家就比较关心了,支付宝人脸识别还是相当不错的。支付宝会先通过活体检测算法进行检测(判断采集到的人脸是活体信息而不是照片伪造、视频伪造或者其他软件模拟生成的),再使用人脸识别算法将「活体人脸」与「官方身份证人脸数据库」或者之前比对成功的活体人脸信息进行比对,判断是否为同一人。

多说几句

尽管目前人工智能发展迅速,并且人脸识别算法、活体检测算法等等也已经发展不错,但技术总有会有漏洞的时候,所以我们也需要增加几道锁口,让自己金融更加安全。不过,我相信,随着时代的发展,算法会不断地优化,直至接近完美!

以上是关于面部识别科普(刷脸支付)的主要内容,如果未能解决你的问题,请参考以下文章

支付宝刷脸——我们进入了一个怎样的刷脸时代

刷脸支付的奥秘解析

扫码支付即将成为过去式?刷脸支付将带来更大风暴

动作活体检测能力,构建安全可靠的支付级“刷脸”体验

安卓“刘海屏”为何不能像iPhone X一样刷脸支付?

刷脸支付将全面接管扫码支付!