人脸识别算法
人脸识别主要算法原理
主流的人脸识别技术基本上可以归结为三类,即:基于几何特征的方法、基于模板的方法和基于模型的方法。
- 基于几何特征的方法是最早、最传统的方法,通常需要和其他算法结合才能有比较好的效果;
- 基于模板的方法可以分为基于相关匹配的方法、特征脸方法、线性判别分析方法、奇异值分解方法、神经网络方法、动态连接匹配方法等。
基于模型的方法则有基于隐马尔柯夫模型,主动形状模型和主动外观模型的方法等。
基于几何特征的方法
人脸由眼睛、鼻子、嘴巴、下巴等部件构成,正因为这些部件的形状、大小和结构上的各种差异才使得世界上每个人脸千差万别,因此对这些部件的形状和结构关系的几何描述,可以做为人脸识别的重要特征。几何特征最早是用于人脸侧面轮廓的描述与识别,首先根据侧面轮廓曲线确定若干显著点,并由这些显著点导出一组用于识别的特征度量如距离、角度等。Jia 等由正面灰度图中线附近的积分投影模拟侧面轮廓图是一种很有新意的方法。
采用几何特征进行正面人脸识别一般是通过提取人眼、口、鼻等重要特征点的位置和眼睛等重要器官的几何形状作为分类特征,但Roder对几何特征提取的精确性进行了实验性的研究,结果不容乐观。
可变形模板法可以视为几何特征方法的一种改进,其基本思想是 :设计一个参数可调的器官模型 (即可变形模板),定义一个能量函数,通过调整模型参数使能量函数最小化,此时的模型参数即做为该器官的几何特征。
这种方法思想很好,但是存在两个问题,一是能量函数中各种代价的加权系数只能由经验确定,难以推广,二是能量函数优化过程十分耗时,难以实际应用。 基于参数的人脸表示可以实现对人脸显著特征的一个高效描述,但它需要大量的前处理和精细的参数选择。同时,采用一般几何特征只描述了部件的基本形状与结构关系,忽略了局部细微特征,造成部分信息的丢失,更适合于做粗分类,而且目前已有的特征点检测技术在精确率上还远不能满足要求,计算量也较大。
局部特征分析方法(Local Face Analysis)
主元子空间的表示是紧凑的,特征维数大大降低,但它是非局部化的,其核函数的支集扩展在整个坐标空间中,同时它是非拓扑的,某个轴投影后临近的点与原图像空间中点的临近性没有任何关系,而局部性和拓扑性对模式分析和分割是理想的特性,似乎这更符合神经信息处理的机制,因此寻找具有这种特性的表达十分重要。基于这种考虑,Atick提出基于局部特征的人脸特征提取与识别方法。这种方法在实际应用取得了很好的效果,它构成了FaceIt人脸识别软件的基础。
特征脸方法(Eigenface或PCA)
特征脸方法是90年代初期由Turk和Pentland提出的目前最流行的算法之一,具有简单有效的特点, 也称为基于主成分分析(principal component analysis,简称PCA)的人脸识别方法。
特征子脸技术的基本思想是:从统计的观点,寻找人脸图像分布的基本元素,即人脸图像样本集协方差矩阵的特征向量,以此近似地表征人脸图像。这些特征向量称为特征脸(Eigenface)。
实际上,特征脸反映了隐含在人脸样本集合内部的信息和人脸的结构关系。将眼睛、面颊、下颌的样本集协方差矩阵的特征向量称为特征眼、特征颌和特征唇,统称特征子脸。特征子脸在相应的图像空间中生成子空间,称为子脸空间。计算出测试图像窗口在子脸空间的投影距离,若窗口图像满足阈值比较条件,则判断其为人脸。
基于特征分析的方法,也就是将人脸基准点的相对比率和其它描述人脸脸部特征的形状参数或类别参数等一起构成识别特征向量,这种基于整体脸的识别不仅保留了人脸部件之间的拓扑关系,而且也保留了各部件本身的信息,而基于部件的识别则是通过提取出局部轮廓信息及灰度信息来设计具体识别算法。现在Eigenface(PCA)算法已经与经典的模板匹配算法一起成为测试人脸识别系统性能的基准算法;而自1991年特征脸技术诞生以来,研究者对其进行了各种各样的实验和理论分析,FERET’96测试结果也表明,改进的特征脸算法是主流的人脸识别技术,也是具有最好性能的识别方法之一。
该方法是先确定眼虹膜、鼻翼、嘴角等面像五官轮廓的大小、位置、距离等属性,然后再计算出它们的几何特征量,而这些特征量形成一描述该面像的特征向量。其技术的核心实际为“局部人体特征分析”和“图形/神经识别算法。”这种算法是利用人体面部各器官及特征部位的方法。如对应几何关系多数据形成识别参数与数据库中所有的原始参数进行比较、判断与确认。Turk和Pentland提出特征脸的方法,它根据一组人脸训练图像构造主元子空间,由于主元具有脸的形状,也称为特征脸 ,识别时将测试 图像投影到主元子空间上,得到一组投影系数,和各个已知人的人脸图像比较进行识别。Pentland等报告了相当好的结果,在 200个人的 3000幅图像中得到 95%的正确识别率,在FERET数据库上对 150幅正面人脸象只有一个误识别。但系统在进行特征脸方法之前需要作大量预处理工作如归一化等。
在传统特征脸的基础上,研究者注意到特征值大的特征向量 (即特征脸 )并不一定是分类性能好的方向,据此发展了多种特征 (子空间 )选择方法,如Peng的双子空间方法、Weng的线性歧义分析方法、Belhumeur的FisherFace方法等。事实上,特征脸方法是一种显式主元分析人脸建模,一些线性自联想、线性压缩型BP网则为隐式的主元分析方法,它们都是把人脸表示为一些向量的加权和,这些向量是训练集叉积阵的主特征向量,Valentin对此作了详细讨论。总之,特征脸方法是一种简单、快速、实用的基于变换系数特征的算法,但由于它在本质上依赖于训练集和测试集图像的灰度相关性,而且要求测试图像与训练集比较像,所以它有着很大的局限性。
基于KL 变换的特征人脸识别方法
基本原理:
KL变换是图象压缩中的一种最优正交变换,人们将它用于统计特征提取,从而形成了子空间法模式识别的基础,若将KL变换用于人脸识别,则需假设人脸处于低维线性空间,且不同人脸具有可分性,由于高维图象空间KL变换后可得到一组新的正交基,因此可通过保留部分正交基,以生成低维人脸空间,而低维空间的基则是通过分析人脸训练样本集的统计特性来获得,KL变换的生成矩阵可以是训练样本集的总体散布矩阵,也可以是训练样本集的类间散布矩阵,即可采用同一人的数张图象的平均来进行训练,这样可在一定程度上消除光线等的干扰,且计算量也得到减少,而识别率不会下降。
基于弹性模型的方法
Lades等人针对畸变不变性的物体识别提出了动态链接模型 (DLA),将物体用稀疏图形来描述 (见下图),其顶点用局部能量谱的多尺度描述来标记,边则表示拓扑连接关系并用几何距离来标记,然后应用塑性图形匹配技术来寻找最近的已知图形。Wiscott等人在此基础上作了改进,用FERET图像库做实验,用 300幅人脸图像和另外 300幅图像作比较,准确率达到 97.3%。此方法的缺点是计算量非常巨大 。
Nastar将人脸图像 (Ⅰ ) (x,y)建模为可变形的 3D网格表面 (x,y,I(x,y) ) (如下图所示 ),从而将人脸匹配问题转化为可变形曲面的弹性匹配问题。利用有限元分析的方法进行曲面变形,并根据变形的情况判断两张图片是否为同一个人。这种方法的特点在于将空间 (x,y)和灰度I(x,y)放在了一个 3D空间中同时考虑,实验表明识别结果明显优于特征脸方法。
Lanitis等提出灵活表现模型方法,通过自动定位人脸的显著特征点将人脸编码为 83个模型参数,并利用辨别分析的方法进行基于形状信息的人脸识别。弹性图匹配技术是一种基于几何特征和对灰度分布信息进行小波纹理分析相结合的识别算法,由于该算法较好的利用了人脸的结构和灰度分布信息,而且还具有自动精确定位面部特征点的功能,因而具有良好的识别效果,适应性强识别率较高,该技术在FERET测试中若干指标名列前茅,其缺点是时间复杂度高,速度较慢,实现复杂。
神经网络方法(Neural Networks)
人工神经网络是一种非线性动力学系统,具有良好的自组织、自适应能力。目前神经网络方法在人脸识别中的研究方兴未艾。Valentin提出一种方法,首先提取人脸的 50个主元,然后用自相关神经网络将它映射到 5维空间中,再用一个普通的多层感知器进行判别,对一些简单的测试图像效果较好;Intrator等提出了一种混合型神经网络来进行人脸识别,其中非监督神经网络用于特征提取,而监督神经网络用于分类。Lee等将人脸的特点用六条规则描述,然后根据这六条规则进行五官的定位,将五官之间的几何距离输入模糊神经网络进行识别,效果较一般的基于欧氏距离的方法有较大改善,Laurence等采用卷积神经网络方法进行人脸识别,由于卷积神经网络中集成了相邻像素之间的相关性知识,从而在一定程度上获得了对图像平移、旋转和局部变形的不变性,因此得到非常理想的识别结果,Lin等提出了基于概率决策的神经网络方法 (PDBNN),其主要思想是采用虚拟 (正反例 )样本进行强化和反强化学习,从而得到较为理想的概率估计结果,并采用模块化的网络结构 (OCON)加快网络的学习。这种方法在人脸检测、人脸定位和人脸识别的各个步骤上都得到了较好的应用,其它研究还有 :Dai等提出用Hopfield网络进行低分辨率人脸联想与识别,Gutta等提出将RBF与树型分类器结合起来进行人脸识别的混合分类器模型,Phillips等人将MatchingPursuit滤波器用于人脸识别,国内则采用统计学习理论中的支撑向量机进行人脸分类。
神经网络方法在人脸识别上的应用比起前述几类方法来有一定的优势,因为对人脸识别的许多规律或规则进行显性的描述是相当困难的,而神经网络方法则可以通过学习的过程获得对这些规律和规则的隐性表达,它的适应性更强,一般也比较容易实现。因此人工神经网络识别速度快,但识别率低 。而神经网络方法通常需要将人脸作为一个一维向量输入,因此输入节点庞大,其识别重要的一个目标就是降维处理。
PCA的算法描述:利用主元分析法 (即 Principle Component Analysis,简称 PCA)进行识别是由 Anderson和 Kohonen提出的。由于 PCA在将高维向量向低维向量转化时,使低维向量各分量的方差最大,且各分量互不相关,因此可以达到最优的特征抽取。
其它方法:
除了以上几种方法,人脸识别还有其它若干思路和方法,包括一下一些:
1) 隐马尔可夫模型方法(Hidden Markov Model)
2) Gabor 小波变换+图形匹配
(1)精确抽取面部特征点以及基于Gabor引擎的匹配算法,具有较好的准确性,能够排除由于面部姿态、表情、发型、眼镜、照明环境等带来的变化。
(2)Gabor滤波器将Gaussian网络函数限制为一个平面波的形状,并且在滤波器设计中有优先方位和频率的选择,表现为对线条边缘反应敏感。
(3)但该算法的识别速度很慢,只适合于录象资料的回放识别,对于现场的适应性很差。
3) 人脸等密度线分析匹配方法
(1) 多重模板匹配方法
该方法是在库中存贮若干标准面像模板或面像器官模板,在进行比对时,将采样面像所有象素与库中所有模板采用归一化相关量度量进行匹配。
(2) 线性判别分析方法(Linear Discriminant Analysis,LDA)
(3)本征脸法
本征脸法将图像看做矩阵 ,计算本征值和对应的本征向量作为代数特征进行识别 ,具有无需提取眼嘴鼻等几何特征的优点 ,但在单样本时识别率不高 ,且在人脸模式数较大时计算量大
(4) 特定人脸子空间(FSS)算法
该技术来源于但在本质上区别于传统的”特征脸”人脸识别方法。”特征脸”方法中所有人共有一个人脸子空间,而该方法则为每一个体人脸建立一个该个体对象所私有的人脸子空间,从而不但能够更好的描述不同个体人脸之间的差异性,而且最大可能地摈弃了对识别不利的类内差异性和噪声,因而比传统的”特征脸算法”具有更好的判别能力。另外,针对每个待识别个体只有单一训练样本的人脸识别问题,提出了一种基于单一样本生成多个训练样本的技术,从而使得需要多个训练样本的个体人脸子空间方法可以适用于单训练样本人脸识别问题。
(5)奇异值分解(singular value decomposition,简称SVD)
是一种有效的代数特征提取方法.由于奇异值特征在描述图像时是稳定的,且具有转置不变性、旋转不变性、位移不变性、镜像变换不变性等重要性质,因此奇异值特征可以作为图像的一种有效的代数特征描述。奇异值分解技术已经在图像数据压缩、信号处理和模式分析中得到了广泛应用.
- 面像识别的主要商业系统
90年代中后期以来,一些商业性的面像识别系统开始进入市场。目前,主要商业系统包括:
● Visionics公司的FaceIt面像识别系统,该系统基于Rockefeller大学开发的局部特征分析(LFA)算法;
● Lau Tech.公司的面像识别/确认系统,采用MIT技术;
● Miros公司的Trueface及eTrue身份验证系统,其核心技术为神经网络;
● C-VIS公司的面像识别/确认系统;
● Banque-Tec.公司的身份验证系统;
● Visage Gallery’s 身份认证系统,基于MIT媒体实验室的Eigenface技术;
● Plettac Electronic’s FaceVACS出入控制系统;
● 台湾的BioID系统,它基于人脸、唇动和语音三者信息融合的Biometrics系统。
其中,FaceIt系统是最具有代表性的商业产品,目前已在很多地方得到了应用。去年,它在英国用于被称为“Mandrake”的反罪犯系统中,该系统在144个监控摄像机采集的视频序列中搜索已知的罪犯或者嫌疑犯,如发现可能的罪犯,系统将通知中心控制室的警员。
笔者曾使用过FaceIt系统,并对其进行了各项指标的评测。结果表明,该系统在控制光照、准正面(3坐标轴上的旋转不超过15度)、无饰物的情况下具有较好的识别性能。但在实用过程中也发现,只有训练集人脸图像的采集条件与测试集人脸图像的采集条件基本一致时才能具有良好的识别性能,否则,其性能将急剧下降,尤其光照变化、姿态变化、黑框眼镜、帽子、夸张的表情、胡须和长发等对其性能的影响更大。
面像识别系统的测试
基于对面像识别技术在军事安全等领域重要性的考虑,美国国防部的ARPA资助建立了一个对现有面像识别技术进行评测的程序,并分别于1994年8月、1995年3月和1996年9月(截至1997年3月)组织了三次面像识别和人脸确认的性能评测,其目的是要展示面像识别研究的最新进展和最高学术水平,同时发现现有面像识别技术所面临的主要问题,为以后的研究提供方向性指南。尽管该测试只对美国研究机构开放,但它在事实上成为了该领域的公认测试标准,其测试结果已被认为反映了面像识别研究的最高学术水平。
根据2000年公开发表的FERET’97测试报告,美国南加州大学(USC)、马里兰大学(UMD)、麻省理工学院(MIT)等研究机构的面像识别技术具有最好的识别性能。在训练集和测试集摄像条件相似的200人的识别测试中,几个系统都产生了接近100%的识别率。值得一提的是,即使是最简单的相关匹配算法也具有很高的识别性能。在更大对象集的FERET测试中(人数大于等于1166人),在同一摄像条件下采集的正面图像识别中,最高首选识别率为95%;而对用不同的摄像机和不同的光照条件采集的测试图像,最高首选识别率骤降为82%;对一年后采集的图像测试,最大的准确率仅仅接近51%。
该测试结果表明,目前的面像识别算法对于不同的摄像机、不同的光照条件和年龄变化的适应能力非常差,理应得到研究者的足够重视。而且值得注意的是,该测试中所用的人脸图像均为比较标准的正面人脸图像,姿态变化非常小,也没有夸张的表情和饰物,以及没有提及面部毛发改变的情况。所以,我们认为,除了FERET测试所揭示的上述面像识别研究需要面对的问题之外,还需要考虑诸如姿态、饰物(眼镜、帽子等)、面部表情、面部毛发等可变因素对面像识别性能的影响。这些因素也是开发实用的面像识别产品时必然会遇到的最关键的技术问题。
为进一步测试商业面像识别系统的性能,并揭示2000年前后面像识别技术的最新进展,美国国防部的反毒品技术开发计划办公室于去年5月和6月对美国的主要商业面像识别系统进行了评测,称为FRVT’2000(Face Recognition Vender Test)评测。该计划邀请了美国所有面像识别系统厂商参加,共24家,但只有8家响应,最终有5家公司参加了评测,而只有3家的系统在规定时间内完成了全部对比实验。可以认为,这3家公司的产品是目前最具竞争力的商业识别系统,它们分别是FaceIt系统、Lau Tech.公司的系统和C-VIS公司的系统。FRVT’2000评估了这些系统对图像压缩、用户-摄像机距离、表情、光照、录制设备、姿态、分辨率和时间间隔等影响因素的识别性能。结果表明,面像识别系统的性能与1997年的测试相比有了一定的进步,但其识别性能对各种条件,如光照、老化、距离、姿态等,仍然离人们的期望值较远。
国内:
中科院-上海银晨
近年来,国内学者在对特征脸技术进行认真研究的基础上,尝试了基于特征脸特征提取方法和各种后端分类器相结合的方法,并提出了各种各样的改进版本或扩展算法,主要的研究内容包括线性/非线性判别分析(LDA/KDA)、Bayesian概率模型、支持矢量机(SVM)、人工神经网络(NN)以及类内和类间双子空间(inter/intra-class dual subspace)分析方法等等。
近年来,中科院计算所在对特征脸技术进行认真研究的基础上,尝试了基于特征脸特征提取方法和各种后端分类器相结合的方法,并提出了各种各样的改进版本或扩展算法,主要的研究内容包括线性/非线性判别分析(LDA/KDA)、Bayesian概率模型、支持矢量机(SVM)、人工神经网络(NN)以及类内和类间双子空间(inter/intra-class dual subspace)分析方法等等。
针对Eigenface算法的缺点,中科院计算所提出了特定人脸子空间(FSS)算法。该技术来源于但在本质上区别于传统的”特征脸”人脸识别方法:”特征脸”方法中所有人共有一个人脸子空间,而中科院计算所的方法则为每一个体人脸建立一个该个体对象所私有的人脸子空间,从而不但能够更好的描述不同个体人脸之间的差异性,而且最大可能地摈弃了对识别不利的类内差异性和噪声,因而比传统的”特征脸算法”具有更好的判别能力。另外,针对每个待识别个体只有单一训练样本的人脸识别问题,中科院计算所提出了一种基于单一样本生成多个训练样本的技术,从而使得需要多个训练样本的个体人脸子空间方法可以适用于单训练样本人脸识别问题。在Yale人脸库、本实验室350人图像库上的对比实验也表明中科院计算所提出的方法比传统的特征脸方法、模板匹配方法对表情、光照、和一定范围内的姿态变化具有更好的鲁棒性,具有更优的识别性能。
弹性图匹配技术是一种基于几何特征和对灰度分布信息进行小波纹理分析相结合的识别算法,由于该算法较好的利用了人脸的结构和灰度分布信息,而且还具有自动精确定位面部特征点的功能,因而具有良好的识别效果,该技术在FERET测试中若干指标名列前茅,其缺点是时间复杂度高,实现复杂。中科院计算所对该算法进行了研究,并提出了一些启发策略。
4、 人脸识别关键问题研究
a) 人脸识别中的光照问题
光照变化是影响人脸识别性能的最关键因素,对该问题的解决程度关系着人脸识别实用化进程的成败。中科院计算所将在对其进行系统分析的基础上,考虑对其进行量化研究的可能性,其中包括对光照强度和方向的量化、对人脸反射属性的量化、面部阴影和照度分析等等。在此基础上,考虑建立描述这些因素的数学模型,以便利用这些光照模型,在人脸图像预处理或者归一化阶段尽可能的补偿乃至消除其对识别性能的影响。重点研究如何在从人脸图像中将固有的人脸属性(反射率属性、3D表面形状属性)和光源、遮挡及高光等非人脸固有属性分离开来。基于统计视觉模型的反射率属性估计、3D表面形状估计、光照模式估计,以及任意光照图像生成算法是中科院计算所的主要研究内容。具体考虑两种不同的解决思路:
1、 利用光照模式参数空间估计光照模式,然后进行针对性的光照补偿,以便消除非均匀正面光照造成的阴影、高光等影响;
2、 基于光照子空间模型的任意光照图像生成算法,用于生成多个不同光照条件的训练样本,然后利用具有良好的学习能力的人脸识别算法,如子空间法,SVM等方法进行识别,
b) 人脸识别中的姿态问题研究
姿态问题涉及头部在三维垂直坐标系中绕三个轴的旋转造成的面部变化,其中垂直于图像平面的两个方向的深度旋转会造成面部信息的部分缺失。使得姿态问题成为人脸识别的一个技术难题。解决姿态问题有三种思路:
第一种思路是学习并记忆多种姿态特征,这对于多姿态人脸数据可以容易获取的情况比较实用,其优点是算法与正面人脸识别统一,不需要额外的技术支持,其缺点是存储需求大,姿态泛化能力不能确定,不能用于基于单张照片的人脸识别算法中等。
第二种思路是基于单张视图生成多角度视图,可以在只能获取用户单张照片的情况下合成该用户的多个学习样本,可以解决训练样本较少的情况下的多姿态人脸识别问题,从而改善识别性能。
第三种思路是基于姿态不变特征的方法,即寻求那些不随姿态的变化而变化的特征。中科院计算所的思路是采用基于统计的视觉模型,将输入姿态图像校正为正面图像,从而可以在统一的姿态空间内作特征的提取和匹配。
因此,基于单姿态视图的多姿态视图生成算法将是中科院计算所要研究的核心算法,中科院计算所的基本思路是采用机器学习算法学习姿态的2D变化模式,并将一般人脸的3D模型作为先验知识,补偿2D姿态变换中不可见的部分,并将其应用到新的输入图像上去。
相关阅读
得益于移动设备和数码摄像的高速发展,人脸识别技术突飞猛进,已经成为多项产品的主要应用支撑或重要配置。本文对目前人脸识别的三种
最近在朋友圈微博里看到很多人都在哈哈哈吐槽一款年龄识别网站,这款名为HowOldRobot可以比较准确的识别出图中人物的年龄,HowOldRob