人脸识别是一种依据人的面部特征,比如统计出来的结果,或者人脸具有的几何特征等等,自动进行身份识别的一种生物识别技术。视频采集设备通过摄像头将人脸所在画面截下,获取用户的面部图像,再利用核心的算法,即人脸识别算法,对其脸部的五官位置、脸型和角度进行计算分析,可是单有分析的结果并没有用,一般的人脸识别系统会与数据库进行连接,让识别出来的人脸模型与数据库中的模型,信息进行对比,判断出用户的真实身份。人脸识别的目标是确定一张人脸图像的身份,即这个人是谁,这是机器学习和模式识别中的分类问题。它主要应用在身份识别和身份验证中。其中身份识别包括警察局中利用身份数据库,对失踪人口和嫌疑人追踪,在智能交互场景中识别用户身份等场景;而身份验证包括身份证等证件查询、出入考勤查验、身份验证解锁、支付等场景,应用场景丰富,我们日常的手机面部解锁,支付解锁都是通过人脸识别算法来实现的。就在前不久,北京多家医院借助“黑科技”人脸识别技术阻击“熟脸”的号贩子,降低其挂号率;目前人脸识别还用到了治理闯红灯问题,改善中国式过马路现象。因此,人脸识别在我们市场生活中十分普遍。

人脸识别算法主要包含三个模块:人脸检测,人脸对齐,人脸特征表征。人脸检测就是从图像或视频中截取到人像存在的画面,然后将图片进行裁剪,找到人脸的具体位置和具体的细节。便于后续的人脸特征分析和识别。但是,不可能在所有的情况下,人脸都处于一种完全一致的状态,这无疑给人脸识别增加了难度,同一个人在不同的时刻会有不同的表情,神态,通过短暂的几帧图片可能很难截取到和信息库中完全一致的表情。因此,研究人员研究出了许多人脸对齐算法。这些算法旨在帮助图像中的人脸通过一定的变换,转换成统一或类似的角度,表情。通过人脸的几个关键部位,比如眼角,嘴角,鼻子等可以判定人脸信息的特征。将这些特征点进行变化,尽可能以标准的形态展示给后台的数据库进行对比。当人脸输入后,通过特征建模得到向量化的特征,最后通过分类器判别得到识别的结果。这里的关键是怎样得到对不同人脸有区分度的特征,通常我们在识别一个人时会看它的眉形、脸轮廓、鼻子形状、眼睛的类型等,人脸识别算法引擎要通过练习(训练)得到类似这样的有区分度的特征。

Eigenfaces(特征脸)算法是在人脸识别的计算机视觉问题中使用的一组特征向量的名称。Eigenface算法它的思想是图像识别首先要选择一个合适的子空间,将所有的图像集中到这个子空间中,然后在这个子空间中衡量相似性或者进行分类学习,再讲子空间变换到另一个空间中,这样的作用一是同一个类别的图像离得更近,二是不同的类别的图像会离得比较远;这样经过线性分类分开的图像在新空间就能容易分开。同时特征脸技术会寻找人脸图像分布的基本元素,即人脸图像样本集协方差矩阵的特征向量,以此来表征人脸图像。人脸图像的基本元素有很多,比如眼、面颊、唇等基本元素,这些特征向量在特征脸的图像空间中对应生成的子空间被称为子脸空间。首先要寻找人脸的共性,其次是要寻找个体与共性的差异,还有就是要明白共性其实是空间,个体就是向量。利用协方差矩阵把目标集中所有人脸图像的特征值进行分解,得到对应的特征向量,这些特征向量就是“特征脸”。寻找特征向量的特性,将其进行线性组合。在以每一个特征子脸为基的空间,每个人脸就是一个点,这个点的坐标就是每一个人脸在每个特征基下的投影坐标。获得人脸图像数据,将每一个人脸图像矩阵按行串成一维,每个人脸就是一个向量;将M个人脸在对应维度上加起来,然后求平均得到“平均脸”; 将每个图像都减去平均脸向量;计算协方差矩阵;运用Eigenfaces记性人脸识别;

FisherFace是Fisher线性判别在人脸识别的应用。将高维的模式样本投影到低维最佳矢量空间,以达到抽取重要分类信息和压缩特征空间维度的效果,投影后保证模式样本在新的子空间有最大的类间距离、最小的类内距离,即模式在该空间中有最佳的可分离性。理论和特征脸里用到的Eigenfaces有相似之处,都是对原有数据进行整体降维映射到低维空间的方法,fisherfaces和Eigenfaces都是从数据整体入手而不同于LBP提取局部纹理特征。对降维后的样本使用Fisher线性判别方法,确定一个最优的投影方向,将多维的人脸图像投影到 一个一维的fisherfaces特征空间,利用类内样本数据形成一组特征向量,这组特征向量就代表了人脸的特征。Fisherfaces算法和Eigenfaces算法相比:相同之处是两者均可以对数据进行降维;两者在降维时均使用了矩阵特征分解的思想。不同之处是Fisherfaces是有监督的降维方法,而是Eigenfaces无监督的降维方法;Fisherfaces除了可以用于降维,还可以用于分类。

基于LBPH基础上的人脸识别算法以每个像素为中心,判断与周围像素灰度值大小关系,对其进行二进制编码,从而获得整幅图像的LBP编码图像;再将LBP图像分为不同的区域,获取每个区域的LBP编码直方图,将所有区域的LBP编码直方图进行合并,得到整幅图像的LBP编码直方图,每个人脸图像的LBP编码就像是唯一标识,通过比较不同人脸图像LBP编码直方图达到人脸识别的目的。LBPH算法的好处是不会受到光照、缩放等外界因素的影响,通过灰度值编码可以减少外部干扰高效地进行识别。LBPH算法如其名,采用的识别方法是局部特征提取的方法,这是与前两种方法的最大区别。

DeepFace算法通过额外的3d模型改进了人脸对齐的方法。然后,通过基于4million人脸图像(4000个个体)训练的一个9层的人工神经网络来进行人脸特征表达。LFW数据集上取得了0.9735的准确率。1,通过6个特征点检测人脸;2,剪切;3,建立Delaunay triangulation;4,参考标准3d模型;5,将3d模型比对到图片上;6,进行仿射变形;7,最终生成正面图像。

CNN-3DMM estimation算法。当在真实场景中应用3d模拟来增加人脸识别精度,存在两类问题:要么3d模拟不稳定,导致同一个个体的3d模拟差异较大;要么过于泛化,导致大部分合成的图片都类似。因此,作者研究了一种鲁棒的三维可变人脸模型(3D morphable face models (3DMM))生成方法。采用了卷积神经网络(CNN)来根据输入照片来调节三维人脸模型的脸型和纹理参数。该方法可以用来生成大量的标记样本。该方法在MICC数据集上进行了测试,精确度为state of the art 。与3d-3d人脸比对流程相结合,作者在LFW,YTF和IJB-A数据集上与当前最好成绩持平。

目前典型的人脸识别应用场景主要有:人脸闸机、人脸考勤、人脸签到、人脸支付和安防人脸识别等等。以TrustFace人脸识别算法为例,适用场景比较广,目前已应用到社区、校园、银行、政府机关、营区等重点单位的门禁、通道、考勤场景。在国际权威人脸识别数据库LFW公测识别率99.85%,并且支持本地(万级)、网络(亿级)1:1及1:N比对,识别精准率相对较高。

在理想条件下的人脸识别精确度已经达到或者超越人类的表现。但是,人脸识别存在着诸多的不确定性与干扰,由于外界条件的改变很容易对于结果产生影响,比如光线过暗就无法辨别人脸,过曝也同样如此。同一个人在不同的年龄段,五官还是会发生一些变化,如何更好的判断一个人的身份信息也是一个挑战。未来研究中,也许当物理硬件条件更加好的时候,可以结合虹膜识别等技术,增加识别的正确率,提高识别的稳定性。

最后修改:2024 年 02 月 22 日
如果觉得我的文章对你有用,请随意赞赏