初识人脸识别---人脸识别研究报告(技术篇)
1.人脸识别流程:
三大步骤: 一是建立 一个包含大批量人脸图像的数据库 ,二是通过各种方式来获得当前要进行识别的目标人脸图像 ,三是将目标人脸图像与数据库中既有的人脸图像进行比对和筛选 。
技术流程则:人脸图像的采集与预处理 、人脸检测 、人脸特征提取 、人脸识别和活体鉴别 。

人脸识别技术流程
1.1人脸图像的采集与预处理
1.1.1人脸图像的采集
主要有两种途径:既有人脸图像的批量导入和人脸图像的实时采集。既有人脸图像的批量导入 :即将通过各种方式将采集好的人脸图像批量导入至人脸识别系统,系统会自动完成逐个人脸图像的采集工作;人脸图像的实时采集 :即调用摄像机或摄像头在设备的可拍摄范围内自动实时抓取人脸图像并完成采集工作。
1.1.2人脸图像的预处理
对人脸图像做出进一步的处理以利于人脸图像的特征提取。具体而言是指对系统采集到的人脸图像进行光线、旋转、切割、过滤、降噪、放大缩小等一系列的复杂处理过程 来使得该人脸图像无论是从光线、角度、距离、大小等任何方面来看均能够符合人脸图像的特征提取的标准要求 。
三种图像预处理手段,即灰度调整、图像滤波、图像尺寸归一化等。
- 灰度调整
对图像进行统一的灰度处理,来平滑处理由于地点、设备、光照等方面的差异,造成采集到彩色图像质量造成的差异。灰度调整的常用方法有平均值法 、直方图变换法 、幂次变换法 、对数变换法 等。
- 图像滤波
为保证图像的质量,减小周围环境中充斥大量的电磁信号、数字图像传输受到电磁信号的干扰等噪声影响人脸图像的质量,进而对影响后续处理过程,必须对图像进行降噪处理。去除噪声处理的原理和方法很多,常见的有均值滤波 ,中值滤波(常用) 等。
- 图像尺寸归一化
在进行简单的人脸训练时候,遇到人脸库的图像像素大小不一样时,我们需要在上位机人脸比对识别之前对图像做尺寸归一化处理。需要比较常见的尺寸归一化算法有双线性插值算法 、最近邻插值算法 和立方卷积算法 等。
1.2 人脸检测
在一张人脸图像之中,精准的定位出人脸的位置和大小,挑选出有用的图像信息的同时自动剔除掉其他多余的图像信息。
难点:人脸目标内在的变化引起 :(1)人脸具有相当复杂的细节变化和不同的表情(眼、嘴的开与闭等),不同的人脸具有不同的外貌,如脸形、肤色等;(2)人脸的遮挡,如眼镜、头发和头部饰物等。外在条件变化引起 :(1)由于成像角度的不同造成人脸的多姿态,如平面内旋转、深度旋转以及上下旋转等,其中深度旋转影响较大;(2)光照的影响,如图像中的亮度、对比度的变化和阴影等;(3)图像的成像条件,如摄像设备的焦距、成像距离等。
评价指标:
检测率 :识别正确的人脸/图中所有的人脸。检测率越高,检测模型效果越好;
误检率 :识别错误的人脸/识别出来的人脸。误检率越低,检测模型效果越好;
漏检率 :未识别出来的人脸/图中所有的人脸。漏检率越低,检测模型效果越好;
速度 :从采集图像完成到人脸检测完成的时间。时间越短,检测模型效果越好。
三类人脸检测方法:基于肤色模型的检测、基于边缘特征的检测、基于统计理论方法。
| 检测方法 | 具体建模方法 | 方法特点 | 优点 | 缺点 |
|---|---|---|---|---|
| 基于肤色模型的检测 | 高斯模型和高斯混合模型 | 提取彩色图像中的面部区域以实现人脸检测的方法能够处理多种光照 | 需要在固定摄像机参数的前提下才有效 | |
| 核函数概率密度估计法 | 使用 mean-shift 方法进行局部搜索实现了人脸的检测和跟踪 | 提高了人脸的检测速度,对于遮挡和光照也有一定的鲁棒性 | 和其他方法的可结合性不是很高 处理复杂背景和多个人脸时存在困难 | |
| 基于边缘特征的检测 | 基于人脸的边缘轮廓特性 | 利用建立的模板(如椭圆模版)进行匹配 | 计算量相对较小,可以实现实时检测 | |
| 采用椭圆环模型与边缘方向特征 | 实现简单背景的人脸检测 | |||
| 基于边缘方向匹配(Edge-Orientation Matching,EOM)的方法 | 在边缘方向图中进行人脸检测 | 与其他的特征相融合后可以获得很好的效果 | 在复杂背景下误检率比较高 | |
| 基于统计理论方法 | Adaboost 人脸检测算法 | 通过无数次循环迭代来寻求最优分类器 用弱分类器 Haar 特征中任一特征放在人脸样本上, 求出人脸特征值, 通过更多分类器的级联便得到人脸的量化特征, 以此来区分人脸和非人脸 | 不仅计算速度快,还可以达到和其他算法相当的性能 | 也存在着较高的误检率 最后总有一些人脸和非人脸模式难以区分,而且其检测的结果中存在一些与人脸模式并不相像的窗口 |
1.3 人脸特征提取
针对人脸上的一些具体特征来提取的,通常可分为人脸视觉特征、人脸图像像素统计特征等。特征提取的方法一般包括基于知识的提取方法或者基于代数特征的提取方法。
1.4 人脸识别
将对应的人脸图像与系统数据库中的所有人脸图像进行比对,系统将会把超过超过了预设数值的人脸图像逐个输出,根据人脸图像的相似程度高低和人脸本身的身份信息来进行精确筛选,这一精确筛选的过程又可以分为两类:其一是一对一的筛选,即对人脸身份进行确认过程;其二是一对多的筛选,即根据人脸相似程度进行匹配比对的过程。
1.5 活体鉴别
生物特征识别的共同问题之一就是要区别该信号是否来自于真正的生物体。
2. 人脸识别主要方法
几种研究的方向,如:一种是根据人脸特征统计学的识别方法,其主要有特征脸的方法以及隐马尔科夫模型(HMM,Hidden Markov Model)方法等;另一种人脸识别方法是关于连接机制的,主要有人工神经网络(ANN,Artificial Neural Network)方法和支持向量机(SVM,Support Vector Machine)方法等;还有一个就是综合多种识别方式的方法。
2.1 基于特征脸的方法
特征脸的人脸识别方法,实际上是将图像做 Karhunen-Loeve 变换,把一个高维的向量转化为低维的向量,从而消除每个分量存在的关联性,使得变换得到的图像与之对应特征值递减。在图像经过 K-L 变换后,其具有很好的位移不变性和稳定性。
2.2 基于几何特征的方法
基于几何特征的识别方法是根据人脸面部器官的特征及其几何形状进行的一种人脸识别方法。
流程大体如下:首先对人脸面部的各个特征点及其位置进行检测,如鼻子、嘴巴和眼睛等位置,然后计算这些特征之间的距离,得到可以表达每个特征脸的矢量特征信息,例如眼睛的位置,眉毛的长度等,其次还计算每个特征与之相对应关系,与人脸数据库中已知人脸对应特征信息来做比较,最后得出最佳的匹配人脸。
2.3 基于深度学习的方法
深度学习得到的人脸特征表达具有手工特征表达所不具备的重要特性,例如它是中度稀疏的 、对人脸身份和人脸属性有很强的选择性 、对局部遮挡具有良好的鲁棒性 。这些特性是通过大数据训练自然得到 的**,并未对模型加入显式约束或后期处理** ,这也是深度学习能成功应用在人脸识别中的主要原因。
深度学习在人脸识别上有7个方面的典型应用:基于卷积神经网络(CNN)的人脸识别方法 ,深度非线性人脸形状提取方法 ,基于深度学习的人脸姿态鲁棒性建模 ,有约束环境中的全自动人脸识别 ,基于深度学习的视频监控下的人脸识别 ,基于深度学习的低分辨率人脸识别 及其他基于深度学习的人脸相关信息的识别 。
卷积神经网络(Convolutional Neural Networks,CNN)
第一个真正成功训练多层网络结构的学习算法,基于卷积神经网络的人脸识别方法是一种深度的监督学习下的机器学习模型,能挖掘数据局部特征,提取全局训练特征和分类,其权值共享结构网络使之更类似于生物神经网络,在模式识别各个领域都得到成功应用。CNN 通过结合人脸图像空间的局部感知区域、共享权重、在空间或时间上的降采样来充分利用数据本身包含的局部性等特征,优化模型结构,保证一定的位移不变性。
2.4 基于支持向量机的方法
将支持向量机(SVM)的方法应用到人脸识别中起源于统计学理论,它研究的方向是如何构造有效的学习机器,并用来解决模式的分类问题 。其特点是将图像变换空间,在其他空间做分类 。
支持向量机结构相对简单 ,而且可以达到全局最优 等特点,所以,支持向量机在目前人脸识别领域取得了广泛的应用。但是,该方法也和神经网络的方法具有一样的不足,就是需要很大的存储空间 ,并且训练速度还比较慢 。
2.5 其他综合方法
使用多种识别方法综合起来应用,取各种识别方法的优势,综合运用,以达到更高的识别率和识别效果。
3 人脸识别三大经典算法
3.1 特征脸法(Eigenface)
特征脸技术是近期发展起来的用于人脸或者一般性刚体识别以及其它涉及到人脸处理的一种方法。
把一批人脸图像转换成一个特征向量集,称为“Eigenfaces”,即“特征脸”,它们是最初训练图像集的基本组件。识别的过程是把一副新的图像投影到特征脸子空间,并通过它的投影点在子空间的位置以及投影线的长度来进行判定和识别。
将图像变换到另一个空间后,同一个类别的图像会聚到一起,不同类别的图像会聚力比较远,在原像素空间中不同类别的图像在分布上很难用简单的线或者面切分,变换到另一个空间,就可以很好的把他们分开了。Eigenfaces 选择的空间变换方法是 PCA(主成分分析),利用 PCA 得到人脸分布的主要成分,具体实现是对训练集中所有人脸图像的协方差矩阵进行本征值分解,得到对应的本征向量,这些本征向量就是“特征脸”。每个特征向量或者特征脸相当于捕捉或者描述人脸之间的一种变化或者特性。这就意味着每个人脸都可以表示为这些特征脸的线性组合 。(这个当做线性代数理解)
3.2 局部二值模式(Local Binary Patterns,LBP)
局部二值模式(Local Binary Patterns LBP)是计算机视觉领域里用于分类的视觉算子。
LBP 的核心思想就是:以中心像素的灰度值作为阈值,与他的领域相比较得到相对应的二进制码来表示局部纹理特征。
LBP 是提取局部特征作为判别依据的。LBP 方法显著的优点是对光照不敏感,但是依然没有解决姿态和表情的问题。不过相比于特征脸方法,LBP 的识别率已经有了很大的提升。
3.3 Fisherface
在低维表示下,相同的类应该紧紧的聚在一起,而不同的类别尽量距离越远。
-------------------有时间必看论文(FLAG)-----------------------
3.4 经典论文
- Sirovich,L.,&Kirby,M.(1987).Low-dimensional procedure for the characterization of human faces.Josa a,4(3),519-524.
研究证明任何的特殊人脸都可以通过称为 Eigenpictures 的坐标系统来表示。Eigenpictures 是面部集合的平均协方差的本征函数
- Turk,M.,&Pentland,A.(1991).Eigenfaces for recognition.Journal of cognitive neuroscience, 3(1), 71-86.
摘研究开发了一种近实时的计算机系统,可以定位和追踪人的头部,然后通过比较面部特征和已知个体的特征来识别该人。该方法将面部识别问题视为二维识别问题。识别的过程是把一副新的图像投影到特征脸子空间,该特征空间捕捉到已知面部图像之间的显著变化。重要特征称为特征脸,因为它们是面集的特征向量。
- Ojala,T.,Pietikäinen,M.,&Harwood,D.(1996).A comparative study of texture measures with classification based on featured distributions.Pattern recognition,29(1),51-59.
研究对不同的图形纹理进行比较,并提出了用来描述图像纹理特征的 LBP 算子。
- Ojala,T.,Pietikainen,M.,&Maenpaa,T.(2002).Multiresolution gray-scale and rotation invariant texture classification with local binary patterns.IEEE Transactions on pattern analysis and machine intelligence,24(7),971-987.
研究提出了一种理论上非常简单而有效的灰度和旋转不变纹理分类方法,该方法基于局部二值模式和样本和原型分布的非参数判别。该方法具有灰度变化稳健、计算简单的特点。
- Fisher,R.A.(1936).The use of multiple measurements in taxonomic problems.Annals of eugenics,7(2),179-188.
研究找到一种特征组合方式,以达到最大的类间离散度和最小的类内离散度。解决方式为:在低维表示下,相同的类应该紧紧的聚在一起,而不同的类别尽量距离越远。
- Belhumeur,P.N.,Hespanha,J.P.,&Kriegman,D.J.(1997).Eigenfaces vs.fisherfaces:Recognition using class specific linear projection. Yale University New Haven United States.
研究基于 Fisher 的线性判别进行面部投影,能够在低维子空间中产生良好分离的类,即使在光照和面部表情的变化较大情况下也是如此。广泛的实验结果表明,所提出的“Fisherface”方法的误差率低于哈佛和耶鲁人脸数据库测试的特征脸技术。
4 常用的人脸数据库
本文主要介绍以下几种常用的人脸数据库:
(1)FERET 人脸数据库
http://www.nist.gov/itl/iad/ig/colorferet.cfm
由 FERET 项目创建,此图像集包含大量的人脸图像,并且每幅图中均只有一个人脸。该集中,同一个人的照片有不同表情、光照、姿态和年龄的变化。包含1万多张多姿态和光照的人脸图像,是人脸识别领域应用最广泛的人脸数据库之一。其中的多数人是西方人,每个人所包含的人脸图像的变化比较单一。
(2)CMU Multi-PIE 人脸数据库
http://www.flintbox.com/public/project/4742/
由美国卡耐基梅隆大学建立。所谓“PIE”就是姿态(Pose),光照(Illumination)和表情(Expression)的缩写。CMU Multi-PIE 人脸数据库是在 CMU-PIE 人脸数据库的基础上发展起来的。包含337位志愿者的75000多张多姿态,光照和表情的面部图像。其中的姿态和光照变化图像也是在严格控制的条件下采集的,目前已经逐渐成为人脸识别领域的一个重要的测试集合。
(3)YALE 人脸数据库(美国,耶鲁大学)
http://cvc.cs.yale.edu/cvc/projects/yalefaces/yalefaces.html
由耶鲁大学计算视觉与控制中心创建,包含15位志愿者的165张图片,包含光照、表情和姿态的变化。
Yale 人脸数据库中一个采集志愿者的10张样本,相比较 ORL 人脸数据库 Yale 库中每个对象采集的样本包含更明显的光照、表情和姿态以及遮挡变化。
(4)YALE 人脸数据库 B
https://computervisiononline.com/dataset/1105138686
包含了10个人的5850幅在9种姿态,64种光照条件下的图像。其中的姿态和光照变化的图像都是在严格控制的条件下采集的,主要用于光照和姿态问题的建模与分析。由于采集人数较少,该数据库的进一步应用受到了比较大的限制。
(5)MIT 人脸数据库
由麻省理工大学媒体实验室创建,包含16位志愿者的2592张不同姿态(每人27张照片),光照和大小的面部图像。
(6)ORL 人脸数据库
https://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html
由英国剑桥大学 AT&T 实验室创建,包含40人共400张面部图像,部分志愿者的图像包括了姿态,表情和面部饰物的变化。该人脸库在人脸识别研究的早期经常被人们采用,但由于变化模式较少,多数系统的识别率均可以达到90%以上,因此进一步利用的价值已经不大。
ORL 人脸数据库中一个采集对象的全部样本库中每个采集对象包含10幅经过归一化处理的灰度图像,图像尺寸均为92×112,图像背景为黑色。其中采集对象的面部表情和细节均有变化,例如笑与不笑、眼睛睁着或闭着以及戴或不戴眼镜等,不同人脸样本的姿态也有变化,其深度旋转和平面旋转可达20度。
(7)BioID 人脸数据库
包含在各种光照和复杂背景下的1521张灰度面部图像,眼睛位置已经被手工标注。
(8)UMIST 图像集
由英国曼彻斯特大学建立。包括20个人共564幅图像,每个人具有不同角度、不同姿态的多幅图像。
(9)年龄识别数据集 IMDB-WIKI
https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/
包含524230张从 IMDB 和 Wikipedia 爬取的名人数据图片。应用了一个新颖的化回归为分类的年龄算法。本质就是在0-100之间的101类分类后,对于得到的分数和0-100相乘,并将最终结果求和,得到最终识别的年龄。
