一、人脸识别流程
图一、人脸识别流程图
二、优点特性
1、便捷性
采集设备简单,使用快捷。一般来说,常见的摄像头就可以用来进行人脸图像的采集, 不需特别复杂的专用设备。图像采集在数秒内即可完成。
2、友好性
通过人脸识别身份的方法与人类的习惯一致,人和机器都可以使用人脸图片进行识别。而指纹,虹膜等方法没有这个特点,一个没有经过特殊训练的人,无法利用指纹和虹膜图像对其他人进行身份识别。
3、非接触性
人脸图像信息的采集不同于指纹信息的采集,利用指纹采集信息需要用手指接触到采集设备,既不卫生,也容易引起使用者的反感,而人脸图像采集,用户不需要与设备直接接触。
4、可扩展性
在人脸识别后,下一步数据的处理和应用,决定着人脸识别设备的实际应用,如应用在出入门禁控制、人脸图片搜索、上下班刷卡、恐怖分子识别等各个领域,可扩展性强。
三、影响因素
1. 分辨率(大小):最佳分辨率到最小分辨率(临界分辨率)之间最稳定
2. 清晰度
3. 光照环境
4. 模糊程度
5. 遮挡程度
6. 采集角度
四、人脸识别技术流程
人脸识别技术原理简单来讲主要是三大步骤:
1、建立一个包含大批量人脸图像的数据库,来源:自传照片、身份证读卡器、公安人脸比对接(已关闭);
2、通过各种方式来获得当前要进行识别的目标人脸图像;
3、将目标人脸图像与数据库中既有的人脸图像进行比对和筛选。
根据人脸识别技术原理具体实施起来的技术流程则主要包含以下四个部分,即:人脸图像的采集与预处理、人脸检测、人脸特征提取、人脸识别和活体鉴别。
1、人脸图像的采集与预处理
(1)人脸图像的采集:
采集人脸图像通常情况下有两种途径,分别是既有人脸图像的批量导入和人脸图像的实时采集
(2)人脸图像的预处理:
人脸图像的预处理的目的是在系统对人脸图像的检测基础之上,对人脸图像做出进一步的处理,即灰度调整、图像滤波、图像尺寸归一化等,以利于人脸图像的特征提取。人脸图像的预处理具体而言是指对系统采集到的人脸图像进行光线、旋转、切割、过滤、降噪、放大缩小等一系列的复杂处理过程来使得该人脸图像无论是从光线、角度、距离、大小等任何方面来看均能够符合人脸图像的特征提取的标准要求。
基于人脸检测结果,对图像进行处理并最终服务于特征提取的过程。系统获取的原始图像由于受到各种条件的限制和随机干扰,往往不能直接使用,必须在图像处理的早期阶段对它进行灰度矫正、噪声过滤等图像预处理。
预处理过程:
1)人脸对准(得到人脸位置端正的图像);
2)人脸图像的光线补偿,灰度变换、直方图均衡化、归一 化(取得尺寸一致,灰度取值范围相同的标准化人脸图像);
3)几何校正、中值滤波(图片的平滑操作以消除噪声)以及锐化等。
2、人脸检测
在图像中准确标定出人脸的位置和大小,并把其中有用的信息挑出来(如直方图特征、颜色特征、模板特征、结构特征及Haar特征等),然后利用信息来达到人脸检测的目的。
人脸关键点检测(人脸对齐):自动估计人脸图片上脸部特征点的坐标。
一张包含人脸图像的图片通常情况下可能还会包含其他内容,这时候就需要进行必要的人脸检测。也就是在一张人脸图像之中,系统会精准的定位出人脸的位置和大小,在挑选出有用的图像信息的同时自动剔除掉其他多余的图像信息来进一步的保证人脸图像的精准采集。人脸检测是一个具有挑战性的目标检测问题,主要体现在两方面:
(1)人脸目标内在的变化引起:
1)人脸具有相当复杂的细节变化和不同的表情(眼、嘴的开与闭等);
2)不同的人脸具有不同的外貌,如脸形、肤色等;
3)人脸的遮挡,如眼镜、头发和头部饰物等。
(2)外在条件变化引起:
1)由于成像角度的不同造成人脸的多姿态,如平面内旋转、深度旋转以及上下旋转等,其中深度旋转影响较大;
2)光照的影响,如图像中的亮度、对比度的变化和阴影等;
3)图像的成像条件,如摄像设备的焦距、成像距离等。
人脸检测重点关注以下指标:
(1)检测率:识别正确的人脸/图中所有的人脸。检测率越高,检测模型效果越好;
(2)误检率:识别错误的人脸/识别出来的人脸。误检率越低,检测模型效果越好;
(3)漏检率:未识别出来的人脸/图中所有的人脸。漏检率越低,检测模型效果越好;
(4)速度:从采集图像完成到人脸检测完成的时间。时间越短,检测模型效果越好。
目前的人脸检测方法可分为三类,分别是基于肤色模型的检测、基于边缘特征的检测、基于统计理论方法,
(1)基于肤色模型的检测:
肤色用于人脸检测时,可采用不同的建模方法,主要有高斯模型、高斯混合模型,以及非参数估计等。利用高斯模型和高斯混合模型可以在不同颜色空间中建立肤色模型来进行人脸检测。通过提取彩色图像中的面部区域以实现人脸检测的方法能够处理多种光照的情况, 但该算法需要在固定摄像机参数的前提下才有效。Comaniciu 等学者利用非参数的核函数概率密度估计法来建立肤色模型,并使用 mean-shift 方法进行局部搜索实现了人脸的检测和跟踪。这一方法提高了人脸的检测速度,对于遮挡和光照也有一定的鲁棒性。该方法的不足是和其他方法的可结合性不是很高,同时,用于人脸检测时,处理复杂背景和多个人脸时存在困难。为了解决人脸检测中的光照问题,可以针对不同光照进行补偿,然后再检测图像中的肤色区域。这样可以解决彩色图像中偏光、背景复杂和多个人脸的检测问题,但对人脸色彩、位置、尺度、旋转、姿态和表情等具有不敏感性。
(2)基于边缘特征的检测:
利用图像的边缘特征检测人脸时,计算量相对较小,可以实现实时检测。大多数使用边缘特征的算法都是基于人脸的边缘轮廓特性,利用建立的模板(如椭圆模版)进行匹配。也有研究者采用椭圆环模型与边缘方向特征,实现简单背景的人脸检测。Fröba 等采用基于边缘方向匹配(Edge-Orientation Matching,EOM)的方法,在边缘方向图中进行人脸检测。该算法在复杂背景下误检率比较高,但是与其他的特征相融合后可以获得很好的效果。
(3)基于统计理论方法:
本文重点介绍基于统计理论方法中的Adaboost人脸检测算法。Adaboost算法是通过无数次循环迭代来寻求最优分类器的过程。基于检测出的特征采用Adaboost学习算法(一种用来分类的方法,它把一些比较弱的分类方法合在一起,组合出新的很强的分类方法)挑选出一些最能代表人脸的矩形特征(弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器,再将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,有效地提高分类器的检测速度。用弱分类器Haar特征中任一特征放在人脸样本上,求出人脸特征值,通过更多分类器的级联便得到人脸的量化特征,以此来区分人脸和非人脸。Haar功能由一些简单黑色白色水平垂直或旋转45°的矩形组成。目前的Haar特征总的来说广义地分为三类:边缘特征、线特征以及中心特征。
(4)其他框架:
viola-jones框架(性能一般速度尚可,适合移动端、嵌入式上使用)、dpm(速度较慢)、CNN(性能不错)
3、人脸特征提取
人脸识别系统可使用的特征通常分为视觉特征、像素统计特征、人脸图像变换系数特征、人脸图像代数特征等。人脸特征提取就是针对人脸的某些特征进行的,也称人脸表征,它是对人脸进行特征建模的过程。
方法:
(1)基于知识的表征方法(主要包括基于几何特征法和模板匹配法):
根据人脸器官的形状描述以及它们之间的距离特性来获得有助于人脸分类的特征数据,其特征分量通常包括特征点间的欧氏距离、曲率、和角度等。人脸由眼睛、鼻子、嘴、下巴等局部构成,对这些局部和他们之间结构关系的几何描述,可作为识别人脸的重要特征,这些特征被称为几何特征。
(2)基于代数特征或统计学习的表征方法:
基于代数特征方法的基本思想是将人脸在空域内的高维描述转化为频域或者其他空间内的低维描述,其表征方法为线性投影表征方法和非线性投影表征方法。基于线性投影的方法主要有主成分分析法或称K-L变化、独立成分分析法和Fisher线性判别分析法。非线性特征提取方法有两个重要的分支:基于核的特征提取技术和以流形学习为主导的特征提取技术。
4、匹配与识别:
提取的人脸特征值数据与数据库中存贮的特征模板进行搜索匹配,通过设定一个阈值,将相似度与这一阈值进行比较,来对人脸的身份信息进行判断。目前主要有几种研究的方向,如:
(1)基于人脸特征统计学的识别方法
特征脸的方法是一种比较经典而又应用比较广的人脸识别方法,其主要原理是把图像做降维算法,使得数据的处理更容易,同时,速度又比较快。特征脸的人脸识别方法,实际上是将图像做 Karhunen-Loeve 变换,把一个高维的向量转化为低维的向量,从而消除每个分量存在的关联性,使得变换得到的图像与之对应特征值递减。在图像经过 K-L 变换后,其具有很好的位移不变性和稳定性。所以,特征脸的人脸识别方法具有方便实现,并且可以做到速度更快,以及对正面人脸图像的识别率相当高等优点。但是,该方法也具有不足的地方, 就是比较容易受人脸表情、姿态和光照改变等因素的影响,从而导致识别率低的情况。其主要有特征脸的方法以及隐马尔科夫模型(HMM,Hidden Markov Model)方法等;
1)Eigen Face(特征脸)
MIT实验室的特克(Turk)和潘特(Pentland)提出的“特征脸”方法第一次将主成分分析和统计特征技术引入人脸识别,在实用效果上取得了长足的进步。征脸技术是近期发展起来的用于人脸或者一般性刚体识别以及其它涉及到人脸处理的一种方法。使用特征脸进行人脸识别的方法首先由 Sirovich 和 Kirby(1987)提出(《Low- dimensional procedure for the characterization of human faces》),并由 Matthew Turk 和 Alex Pentland 用于人脸分类(《Eigenfaces for recognition》)。首先把一批人脸图像转换成一个特征向量集,称为“Eigenfaces”,即“特征脸”,它们是最初训练图像集的基本组件。识别的过程是把一副新的图像投影到特征脸子空间,并通过它的投影点在子空间的位置以及投影线的长度来进行判定和识别。
将图像变换到另一个空间后,同一个类别的图像会聚到一起,不同类别的图像会聚力比较远,在原像素空间中不同类别的图像在分布上很难用简单的线或者面切分,变换到另一个空间,就可以很好的把他们分开了。Eigenfaces 选择的空间变换方法是 PCA(主成分分析), 利用 PCA 得到人脸分布的主要成分,具体实现是对训练集中所有人脸图像的协方差矩阵进行本征值分解,得到对应的本征向量,这些本征向量就是“特征脸”。每个特征向量或者特征脸相当于捕捉或者描述人脸之间的一种变化或者特性。这就意味着每个人脸都可以表示为这些特征脸的线性组合。其后的很多人脸识别技术都或多或少与特征脸有关系,现在特征脸已经与归一化的协相关量(Normalized Correlation)方法一道成为人脸识别的性能测试基准算法。
2)局部二值模式(Local Binary Patterns,LBP)
局部二值模式(Local Binary Patterns LBP)是计算机视觉领域里用于分类的视觉算子。LBP 一种用来描述图像纹理特征的算子,该算子由芬兰奥卢大学的 T.Ojala 等人在 1996 年提 出 ( 《 A comparative study of texture measures with classification based on featured distributions》)。2002 年, T.Ojala 等人在 PAMI 上又发表了一篇关于 LBP 的文章(《Multiresolution gray-scale and rotation invariant texture classification with local binary patterns》)。这一文章非常清楚的阐述了多分辨率、灰度尺度不变和旋转不变、等价模式的改进的 LBP 特征。LBP 的核心思想就是:以中心像素的灰度值作为阈值,与他的领域相比较得到相对应的二进制码来表示局部纹理特征。
LBP 是提取局部特征作为判别依据的。LBP 方法显著的优点是对光照不敏感,但是依然没有解决姿态和表情的问题。不过相比于特征脸方法,LBP 的识别率已经有了很大的提升。
3)Fisher Face(渔夫脸):
线性鉴别分析在降维的同时考虑类别信息,由统计学家 Sir R. A. Fisher1936 年发明(《The use of multiple measurements in taxonomic problems》)。为了找到一种特征组合方式,达到最大的类间离散度和最小的类内离散度。这个想法很简单:在低维表示下,相同的类应该紧紧的聚在一起,而不同的类别尽量距离越远。1997 年,Belhumer 成功将 Fisher 判别准则应用于人脸分类,提出了基于线性判别分析的 Fisherface 方法(《Eigenfaces vs. fisherfaces: Recognition using class specific linear projection》)。该方法首先采用主成分分析(PCA)对图像表观特征进行降维。在此基础上,采用线性判别分析(LDA)的方法变换降维后的主成分以期获得“尽量大的类间散度和尽量小的类内散度”。该方法目前仍然是主流的人脸识别方法之一,产生了很多不同的变种,比如零空间法、子空间判别模型、增强判别模型、直接的LDA 判别方法以及近期的一些基于核学习的改进策略。
(2)基于几何特征的方法
几何特征可以是眼、鼻、嘴等的形状和它们之间的几何关系(如相互之间的距离),利用了人脸的几何结构,通过分析人脸器官特征点及其之间的拓扑关系进行辨识。这些算法简单直观,识别速度快,需要的内存小,但一旦人脸姿态、表情发生变化,精度则严重下降,识别率较低。
基于几何特征识别的流程大体如下:
1)首先对人脸面部的各个特征点及其位置进行检测, 如鼻子、嘴巴和眼睛等位置;
2)然后计算这些特征之间的距离,得到可以表达每个特征脸的矢量特征信息,例如眼睛的位置,眉毛的长度等;
3)其次还计算每个特征与之相对应关系,与人脸数据库中已知人脸对应特征信息来做比较;
4)最后得出最佳的匹配人脸。
基于几何特征的方法符合人们对人脸特征的认识,另外,每幅人脸只存储一个特征,所以占用的空间比较小;同时,这种方法对光照引起的变化并不会降低其识别率,而且特征模板的匹配和识别率比较高。但是,基于几何特征的方法也存在着鲁棒性不好,一旦表情和姿态稍微变化,识别效果将大打折扣。
(3)基于线段Hausdorff 距离(LHD) 的方法
心理学的研究表明,人类在识别轮廓图(比如漫画)的速度和准确度上丝毫不比识别灰度图差。LHD是基于从人脸灰度图像中提取出来的线段图的,它定义的是两个线段集之间的距离,与众不同的是,LHD并不建立不同线段集之间线段的一一对应关系,因此它更能适应线段图之间的微小变化。实验结果表明,LHD在不同光照条件下和不同姿态情况下都有非常出色的表现,但是它在大表情的情况下识别效果不好。流程如下:
1)人脸图像预处理:对齐、尺寸、亮度和对比度归一化
2)Canny算子提取人脸边缘图
3)去除边缘线条中的裂缝
4)设置阈值去除噪音线
5)在LEM中结合ASM得到人脸对准结果,消除了头发和背景的影响
6)增加重要部分地权重
7)提出线段领域的概念,保持识别率并提升识别速度
(4)基于连接机制
主要有人工神经网络(ANN,Artificial Neural Network)方法和支持向量机(SVM,Support Vector Machine)方法等。
1)EGM(弹性图匹配):
其基本思想是用一个属性图来描述人脸:属性图的顶点代表面部关键特征点,其属性为相应特征点处的多分辨率、多方向局部特征——Gabor变换12特征,称为Jet;边的属性则为不同特征点之间的几何关系。对任意输入人脸图像,弹性图匹配通过一种优化搜索策略来定位预先定义的若干面部关键特征点,同时提取它们的Jet特征,得到输入图像的属性图。最后通过计算其与已知人脸属性图的相似度来完成识别过程。该方法的优点是既保留了面部的全局结构特征,也对人脸的关键局部特征进行了建模。
2)基于神经网络的方法
神经网络的输入可以是降低分辨率的人脸图像、局部区域的自相关函数、局部纹理的二阶矩等。这类方法同样需要较多的样本进行训练,而在许多应用中,样本数量是很有限的。
3)基于深度学习的方法
深度学习得到的人脸特征表达具有手工特征表达所不具备的重要特性,例如它是中度稀疏的、对人脸身份和人脸属性有很强的选择性、对局部遮挡具有良好的鲁棒性。这些特性是通过大数据训练自然得到的,并未对模型加入显式约束或后期处理,这也是深度学习能成功应用在人脸识别中的主要原因。
深度学习在人脸识别上有 7 个方面的典型应用:基于卷积神经网络(CNN)的人脸识别方法,深度非线性人脸形状提取方法,基于深度学习的人脸姿态鲁棒性建模,有约束环境中的全自动人脸识别,基于深度学习的视频监控下的人脸识别,基于深度学习的低分辨率人脸识别及其他基于深度学习的人脸相关信息的识别。
其中,卷积神经网络(Convolutional Neural Networks,CNN)是第一个真正成功训练多层网络结构的学习算法,基于卷积神经网络的人脸识别方法是一种深度的监督学习下的机器学习模型,能挖掘数据局部特征,提取全局训练特征和分类,其权值共享结构网络使之更类似于生物神经网络,在模式识别各个领域都得到成功应用。CNN 通过结合人脸图像空间的局部感知区域、共享权重、在空间或时间上的降采样来充分利用数据本身包含的局部性等特征,优化模型结构,保证一定的位移不变性。
4)基于支持向量机(SVM) 的方法
近年来,支持向量机是统计模式识别领域的一个新的热点,它试图使得学习机在经验风险和泛化能力上达到一种妥协,从而提高学习机的性能。支持向量机主要解决的是一个2分类问题,它的基本思想是试图把一个低维的线性不可分的问题转化成一个高维的线性可分的问题。通常的实验结果表明SVM有较好的识别率,但是它需要大量的训练样本(每类300个),这在实际应用中往往是不现实的。而且支持向量机训练时间长,方法实现复杂,该函数的取法没有统一的理论。
基于遗传算法、支持向量机(Support Vector Machine,SVM)、boosting、流形学习以及核方法等进行人脸识别。2009 年至 2012 年,稀疏表达(Sparse Representation)因为其优美的理论和对遮挡因素的鲁棒性成为当时的研究热点。与此同时,业界也基本达成共识:基于人工精心设计的局部描述子进行特征提取和子空间方法进行特征选择能够取得最好的识别效果。
5)综合多种识别方式的方法
以上几种比较常用的人脸识别方法,我们不难看出,每一种识别方法都不能做到完美的识别率与更快的识别速度,都有着各自的优点和缺点,因此,现在许多研究人员则更喜欢使用多种识别方法综合起来应用,取各种识别方法的优势,综合运用,以达到更高的识别率和识别效果。
5、活体鉴别
生物特征识别的共同问题之一就是要区别该信号是否来自于真正的生物体,比如,指纹识别系统需要区别带识别的指纹是来自于人的手指还是指纹手套,人脸识别系统所采集到的人脸图像,是来自于真实的人脸还是含有人脸的照片。因此,实际的人脸识别系统一般需要增加活体鉴别环节,例如,要求人左右转头,眨眼睛,开开口说句话等。
五、经典论文
1、Sirovich,L.,&Kirby,M.(1987).Low-dimensional procedure for the characterization of human faces.Josa a,4(3),519-524. 研究证明任何的特殊人脸都可以通过称为 Eigenpictures 的坐标系统来表示。Eigenpictures 是面部集合的平均协方差的本征函数。
2、Turk,M.,&Pentland,A.(1991).Eigenfaces for recognition.Journal of cognitive neuroscience, 3(1), 71-86. 研究开发了一种近实时的计算机系统,可以定位和追踪人的头部,然后通过比较面部特征和已知个体的特征来识别该人。该方法将面部识别问题视为二维识别问题。识别的过程是把一副新的图像投影到特征脸子空间,该特征空间捕捉到已知面部图像之间的显著变化。重要特征称为特征脸,因为它们是面集的特征向量。
3、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 算子。
4、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. 研究提出了一种理论上非常简单而有效的灰度和旋转不变纹理分类方法,该方法基于局部二值模式和样本和原型分布的非参数判别。该方法具有灰度变化稳健、计算简单的特点。
5、Fisher,R.A.(1936).The use of multiple measurements in taxonomic problems.Annals of eugenics,7(2),179-188. 研究找到一种特征组合方式,以达到最大的类间离散度和最小的类内离散度。解决方式为:在低维表示下,相同的类应该紧紧的聚在一起,而不同的类别尽量距离越远。
6、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”方法的误差率低于哈佛和耶鲁人脸数据库测试的特征脸技术。
六、人脸识别数据库
1、ERET人脸数据库
http://www.nist.gov/itl/iad/ig/colorferet.cfm
由 FERET 项目创建,此图像集包含大量的人脸图像,并且每幅图中均只有一个人脸。该集中,同一个人的照片有不同表情、光照、姿态和年龄的变化。包含 1 万多张多姿态和光照的人脸图像,是人脸识别领域应用最广泛的人脸数据库之一。其中的多数人是西方人,每个人所包含的人脸图像的变化比较单一。
2、Yale人脸数据库
3、ORL人脸数据库
4、CMU Multi- PIE人脸数据库
http://www.flintbox.com/public/project/4742/
由美国卡耐基梅隆大学建立。所谓“PIE”就是姿态(Pose),光照(Illumination)和表情(Expression)的缩写。CMU Multi-PIE 人脸数据库是在 CMU-PIE 人脸数据库的基础上发展起来的。包含 337 位志愿者的 75000 多张多姿态,光照和表情的面部图像。其中的姿态和光照变化图像也是在严格控制的条件下采集的,目前已经逐渐成为人脸识别领域的一个重要的测试集合。
5、YALE人脸数据库(美国,耶鲁大学)
http://cvc.cs.yale.edu/cvc/projects/yalefaces/yalefaces.html
由耶鲁大学计算视觉与控制中心创建,包含 15 位志愿者的 165 张图片,包含光照、表情和姿态的变化。
6、YALE人脸数据库 B
https://computervisiononline.com/dataset/1105138686
包含了 10 个人的 5850 幅在 9 种姿态,64 种光照条件下的图像。其中的姿态和光照变化的图像都是在严格控制的条件下采集的,主要用于光照和姿态问题的建模与分析。由于采集人数较少,该数据库的进一步应用受到了比较大的限制。
7、ORL人脸数据库
https://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html
由英国剑桥大学 AT&T 实验室创建,包含 40 人共 400 张面部图像,部分志愿者的图像包括了姿态,表情和面部饰物的变化。该人脸库在人脸识别研究的早期经常被人们采用,但由于变化模式较少,多数系统的识别率均可以达到 90%以上,因此进一步利用的价值已经不大。
ORL 人脸数据库中一个采集对象的全部样本库中每个采集对象包含10 幅经过归一化处理的灰度图像,图像尺寸均为 92×112 ,图像背景为黑色。其中采集对象的面部表情和细节均有变化,例如笑与不笑、眼睛睁着或闭着以及戴或不戴眼镜等,不同人脸样本的姿态也有变化,其深度旋转和平面旋转可达 20 度。
8、BioID人脸数据库
包含在各种光照和复杂背景下的 1521 张灰度面部图像,眼睛位置已经被手工标注。
9、UMIST图像集
由英国曼彻斯特大学建立。包括 20 个人共 564 幅图像,每个人具有不同角度、不同姿态的多幅图像。
10、Yale 人脸数据库中一个采集志愿者的 10 张样本,相比较 ORL 人脸数据库 Yale 库中每个对象采集的样本包含更明显的光照、表情和姿态以及遮挡变化。
11、FERET人脸数据库
12、年龄识别数据集IMDB-WIKI
https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/
包含 524230 张从 IMDB 和 Wikipedia 爬取的名人数据图片。应用了一个新颖的化回归为分类的年龄算法。本质就是在 0-100 之间的 101 类分类后,对于得到的分数和 0-100 相乘, 并将最终结果求和,得到最终识别的年龄。
13、MIT数据库
14、BANCA人脸数据库
15、CAS-PEAL人脸数据库
16、JAFE表情数据库
17、Cohn-Kanade表情数据库
18、MMI表情数据库
七、技术发展方向
人脸自动识别技术已取得了巨大的成就,随着科技的发展,在实际应用中仍然面临困难,不仅要达到准确、快速的检测并分割出人脸部分,而且要有效的变化补偿、特征描述、准确的分类的效果,还需要注重和提高以下几个方面:
1、结合三维信息:二维和三维信息融合使特征更加鲁棒
2、多特征融合:单一特征难以应对复杂的光照和姿态变化
3、大规模人脸比对:面向海量数据的人脸比对与搜索
4、深度学习:在大数据条件下充分发挥深度神经网络强大的学习能力
5、人脸的局部和整体信息的相互结合能有效地描述人脸的特征,基于混合模型的方法值得进一步深入研究,以便能准确描述复杂的人脸模式分布。
6、多特征融合和多分类器融合的方法也是改善识别性能的一个手段。
7、由于人脸为非刚体性,人脸之间的相似性以及各种变化因素的影响 ,准确的人脸识别仍较困难。为了满足自动人脸识别技术具有实时要求,在必要时需要研究人脸与指纹、虹膜、语音等识别技术的融合方法。
8、3D形变模型可以处理多种变化因素,具有很好的发展前景。已有研究也表明,对各种变化因素采用模拟或补偿的方法具有较好的效果。三维人脸识别算法的选取还处于探索阶段,需要在原有传统识别算法的基础上改进和创新。
9、表面纹理识别算法是一种最新的算法 [52],有待于我们继续学习和研究出更好的方法。
总之,人脸识别是极富挑战性的课题仅仅采用一种现有方法难以取得良好的识别效果,如何与其它技术相结合,如何提高识别率和识别速度、减少计算量、提高鲁棒性,如何采用嵌入式及硬件实现,如何实用化都是将来值得研究的。
八、技术指标
1、人脸检测中的关键指标:例子:在摄像头某张抓拍图像中,一共有100张人脸,算法检测出80张人脸,其中75张是真实人脸,5 张是把路标误识为人脸。
(1)检测率:识别正确的人脸/图中所有的人脸。检测率越高,代表检测模型效果越好。
(2)误检率:识别错误的人脸/识别出来的人脸。误检率越低,代表检测模型效果越好。
(3)漏检率:未识别出来的人脸/图中所有的人脸。漏检率越低,代表检测模型效果越好。
(4)速度:从采集图像完成到人脸检测完成的时间。时间越短,检测模型效果越好。
在这个实际案例中:检测率=75/100 误检率=5/80 漏检率=(100-75)/100
2、人脸识别中的关键指标:1000张样本图片里,共600张正样本。相似度为0.9的图片一共100张,其中正样本为99张。虽然0.9阈值的正确率很高,为99/100;但是0.9阈值正确输出的数量确很少,只有99/600。这样很容易发生漏识的情况。
(1)精确率(precision):识别为正确的样本数/识别出来的样本数=99/100
(2)召回率(recall):识别为正确的样本数/所有样本中正确的数=99/600
(3)错误接受率/认假率/误识率(FAR,False Accept Rate):
定义:指将身份不同的两张照片,判别为相同身份,越低越好
FAR = NFA / NIRA
式中 NIRA 代表的是类间测试次数,既不同类别间的测试次数,打比方如果有1000个识别 模型,有1000个人要识别,而且每人只提供一个待识别的素材,那 NIRA=1000*(1000-1) 。NFA是错误接受次数。
(4)错误拒绝率/拒真率/拒识率(FRR, False Reject Rate):
定义:指将身份相同的两张照片,判别为不同身份,越低越好
FRR = NFR / NGRA
上式中NFR是类内测试次数,既同类别内的测试次数,打比方如果有1000个识别模型, 有1000个人要识别, 而且每人只提供一个待识别的素 材,那 NIRA=1000,如果每个人提供N张图片,那么 NIRA=N*1000 。NFR是错误拒绝次数。
FAR决定了系统的安全性,FRR决定了系统的易用程度,在实际中,FAR对应的风险远远高于FRR,因此,生物识别系统中,会将FAR设置为一个非常低的范围,如万分之一甚至百万分之一,在FAR固定的条件下,FRR低于5%,这样的系统才有实用价值。
九、存在的问题:
1、信息泄露
2、1:N检索或同时作业N:N检索
3、动态抓取
4、性别模糊
5、年龄变化
6、信息孤岛
7、光照、姿态、遮挡
8、相似性
9、图片质量问题
十、训练测试相关问题
1、欠拟合
定义:模型没有很好地捕捉到数据特征,不能够很好地拟合数据
解决方法:
(1)添加其他特征项,有时候我们模型出现欠拟合的时候是因为特征项不够导致的,可以添加其他特征项来很好地解决。例如,“组合”、“泛化”、“相关性”三类特征是特征添加的重要手段,无论在什么场景,都可以照葫芦画瓢,总会得到意想不到的效果。
(2)添加多项式特征,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强。例如上面的图片的例子。
(3)减少正则化参数,正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。
(4)尝试非线性模型,比如核SVM 、决策树、DNN等模型。
2、过拟合
定义:模型把数据学习的太彻底,以至于把噪声数据的特征也学习到了,这样就会导致在后期测试的时候不能够很好地识别数据,即不能正确的分类,模型泛化能力太差。例如下面的例子。
解决方法:
(1)从产品角度
1)重新清洗数据,导致过拟合的一个原因也有可能是数据不纯导致的,噪音太多影响到模型效果,如果出现了过拟合就需要我们重新清洗数据。
2)增大数据的训练量,还有一个原因就是我们用于训练的数据量太小导致的,训练数据占总数据的比例过小。
(2)从算法角度
1)交叉检验,通过交叉检验得到较优的模型参数;
2)特征选择,减少特征数或使用较少的特征组合,对于按区间离散化的特征,增大划分的区间;
3)正则化,常用的有 L1、L2 正则。而且 L1正则还可以自动进行特征选择;
4)如果有正则项则可以考虑增大正则项参数 lambda;
5)增加训练数据可以有限的避免过拟合;
6)Bagging ,将多个弱学习器Bagging 一下效果会好很多,比如随机森林等.
7)标注流程中遇到的问题