SVM分类方法在人脸图像分类中的应用摘要:本文首先简要综述了人脸识别技术中不同的特征提取方法和分类方法;然后介绍了支持向量机(SVM)的原理、核函数类型选择以及核参数选择原则以及其在人脸分类识别中了应用,最后通过在构建的人脸库上的仿真实验观测观测不同的特征提取方法对人脸识别率的影响、不同的学习样本数对人脸识别率的影响、支持向量机选用不同的核函数后对人脸识别率的影响、支持向量机选用不同的核参数后对人脸识别率的影响。
一、人脸识别简介人脸识别也就是利用计算机分析人脸图象,进而从中提取出有效的识别信息,用来“辨认”身份的一门技术。
人脸识别技术应用背景广泛,可用于公安系统的罪犯身份识别、驾驶执照及护照等与实际持证人的核对、银行及海关的监控系统及自动门卫系统等。
常见的人脸识别方法包括基于KL变换的特征脸识别、基于形状和灰度分离的可变形模型识别、基于小波特征的弹性匹配、基于传统的部件建模识别、基于神经网络的识别、基于支持向量机的识别等。
其中特征脸方法、神经网络方法、基于支持向量机的方法等是基于整体人脸的识别,而基于提取眼睛等部件特征而形成特征向量的方法就是基于人脸特征的识别。
虽然人类的人脸识别能力很强,能够记住并辨别上千个不同人脸,可是计算机则困难多了。
其表现在:人脸表情丰富;人脸随年龄增长而变化;人脸所成图象受光照、成象角度及成象距离等影响;而且从二维图象重建三维人脸是病态过程,目前尚没有很好的描述人脸的三维模型。
另外,人脸识别还涉及到图象处理、计算机视觉、模式识别以及神经网络等学科,也和人脑的认识程度紧密相关。
这诸多因素使得人脸识别成为一项极富挑战性的课题。
通常人类进行人脸识别依靠的感觉器官包括视觉、听觉、嗅觉与触觉等。
一般人脸的识别可以用单个感官完成,也可以是多感官相配合来存储和检索人脸。
而计算机的人脸识别所利用的则主要是视觉数据。
另外计算机人脸识别的进展还受限于对人类本身识别系统的认识程度。
研究表明,人类视觉数据的处理是一个分等级的过程,其中最底层的视觉过程(视网膜功能)起信息转储的作用,即将人眼接收的大量图象数据变换为一个比较规则的紧凑表达形式。
生理学的研究表明,人眼视网膜上存在着低层次和高层次的细胞。
其中,低层次的细胞对空间的响应和小波变换的结果相似;而高层次的细胞则依据一群低层次细胞的响应,而作出具体的线、面乃至物体模式的响应。
以此为依据,在计算机人脸识别中,可以将那些通过大量图象数据简单处理后获得的特征定义为低层次特征,而将线、面、模式等描述特征定义为高层次特征。
由此图象变换后的系数特征、小波变换特征及一些统计特征均属低层次特征的范畴,而人脸部件形状分析的结果则为高层次特征。
由于视觉数据经传输后的重建,需依赖于人脑中早期形成的先验知识,因此在人的识别系统中,人脸的检测是一个整体识别和特征识别共同作用的结果。
具体说来,远处辨认人,主要是整体识别,而在近距离的人脸识别中,特征部件的识别则更重要。
另外,人脸的各部件对识别的贡献也不相同,如眼睛和嘴巴的重要程度大于人的鼻子,人脸上半部分重要性大于人脸下半部分,其中特别的人脸更容易被识别记住,比如说歪嘴,或是独眼龙等人脸就更容易为人记起,没有个性的人脸相对就需要更长的时间来辨认。
根据对人脑的研究表明,人脸的表情识别和人脸识别虽然存在联系,但总体说是分开的、并行的处理过程。
这些结论对于设计有效的识别方法起到了一定启发作用。
人脸识别是一个跨学科富挑战性的前沿课题,但目前人脸识别还只是研究课题,尚不是实用化领域的活跃课题。
人脸识别难度较大,主要难在人脸都是有各种变化的相似刚体,由于人脸部件不仅存在各种变形,而且和皮肤之间是平缓过渡,因此人脸是不能用经典的几何模型来进行识别分类的典型例子。
如今人脸识别研究人员已经慢慢地将研究重点从传统的点和曲线的分析方法,过渡到用新的人脸模型来表达和识别人脸,其中弹性图匹配就是较成功的尝试。
二、支持向量机SVM近年来成为模式识别领域发展最快的研究方向之一,并且在各个领域得到了广泛应用。
SVM通过一个非线性映射将输入空间中的学习样本映射到高维特征空间F中,然后利用结构风险最小化原则在F中求取线性分类超平面,巧妙地引入核函数实现特征空间中的内积运算。
SVM的基本原理可用图1-1来说明。
如图1-1(a )所示,如果N 个独立样本()11,t x ,()22,t x ,…,(),N N t x R T ∈⨯不是线性可分的,这时可以通过一个未知的映射函数:R F ϕ→将样本映射到某特征空间F中,得到()()11,t ϕx ,()()22,t ϕx ,…,()(),N N t ϕx F T ∈⨯,然后在F 中构造线性最优分类面(图(b )),从输入空间R 的角度看,所得最优分类面是非线性的(图(c ))。
可记12,,N x x x 的集合为χ,()()()12,,N ϕϕϕx x x 的集合为()ϕχ。
()a ()b ()c图1-1 SVM 基本原理示意图 (a )输入空间R 中的N 个待分类样本 (b )样本被映射到特征空间F 中,并构建最优分类面 (c )从输入空间R 的角度看,分类面是非线性的在F 中构造线性最优分类面的方式与上节在输入空间R 中构造最优分类面的方式是一样的。
设与2H 对应的线性判别函数表达式为()()b f +⋅=x w x ϕ(1.1)上式中求取w 与b 可归结为求解下面的约束优化问题min 2212w(1.2)..t s ()[]1≥+⋅b t i i x w ϕN i 2,1=上式的解由下面的拉格朗日函数的鞍点给出()()()[]{}∑=-+⋅-=Ni i i b t b G 12121,,x w w αw ϕα(1.3)上式中0≥i α,N i ,2,1=为拉格朗日乘子。
为得到鞍点令0=∂∂w G⇒()∑==Ni i i i t 1x w ϕα (1.4)0=∂∂b G⇒∑==N i i i t 10α (1.5)将(1.4)和(1.5)一起代入到(1.3)中可得(1.2)的对偶规划m ax ()()()11112NN Ni i j i j i j i i j G t t αααϕϕ===-=-⋅∑∑∑αx x(1.6)..t s ∑==Ni i i t 10α0≥i α上式含有映射函数ϕ。
若在F 中定义内积()()(),i j i j K ϕϕ=⋅x x x x (1.7)将之代入到(1.6)后有m ax ()()1111,2NN Ni i j i j i j i i j G t t K ααα===-=-∑∑∑αx x (1.8)..t s ∑==Ni i i t 10α0≥i α又设()T N i αααα,,,,,21 =α,()T 1,,1,1 =d ,()T N N t t t ,,,21 =t ,矩阵Q 的第i 行第j 列为()j i j i ij t t Q x x ,=,则(1.8)可写成矩阵形式。
解(3.8)可得i α的最优值,并将(1.4)代入到(3.1)中可得F 中的线性判别函数表达式()()b K t f Ni i i i +=∑=1,x x x α(1.9)式(1.7)中的()j i K x x ,被称为核函数,它欲成为F 中的内积必须满足Mercer 条件:使得积分算子()()()(),k i i j j j T f K f d =⎰x x x x x 为正。
如果F 的维数很高,(1.7)等号右边的计算量会很大,甚至会陷入“维数灾难”而使得计算不可行;但通过上述代换,F 中的内积可基于R 中的变量通过给定的核函数直接计算得到,即使F 的维数非常高,SVM 本身也并没有增加多少计算复杂度。
特别是对某些映射函数而言,F 的维数是无限的,此时内积必须用积分来计算,这种代换的作用就更为明显。
另外从以上推导过程可看出,在特征空间中构造最优分类面,并不需要以显式形式来考虑特征空间,也没有必要知道映射函数的形式,只需通过(1.7)计算内积即可。
值得指出的是,以上推导的假设前提是N 个样本被映射到F 中以后能够线性可分,如果该前提不满足,则必须在F 中构造广义最优分类面。
相应地(1.2)要改成min ∑=+Ni iC 1221ξw(1.10)..t s ()[]i i i b t ξϕ-≥+⋅1x w在(1.9)中,假设输入空间R 内的向量为()()()()T d x x x ,,21=x ,另有s 个向量1x ,2x ,…s x 对应的i α不为零,它们被称为支持向量,则SVC 的拓扑结构如图1-2所示,从图中看出SVM 的计算复杂度取决于支持向量的数目。
()1x (2x(d x图1-2 SVC 拓扑结构图三、实验步骤1.将CBCL 人脸样本库放在硬盘上的指定位置;构建非人脸学习样本库并将之放在硬盘上的指定位置;2.观测不同的特征提取方法对人脸识别率的影响。
在MATLAB 命令行状态下,首先键入faceclassify1(1)并按回车键,记录不采用任何特征提取时,程序的执行结果;Execution time of optimization: 42.8 seconds The number of support vectors : 56 (14.0%) Lagrange coefficient ALF: Detection rate:95.500000然后键入faceclassify1(2) 并按回车键,记录采用主成分方法进行特征提取时程序的执行结果;Execution time of optimization: 35.9 seconds The number of support vectors : 58 (14.5%) Lagrange coefficient ALF: Detection rate:94.500000最后键入faceclassify1(3) 并按回车键,记录采用核主成分方法进行特征提取时程序的执行结果;Execution time of optimization: 41.6 seconds The number of support vectors : 53 (13.3%)Lagrange coefficient ALF:Detection rate:94.5000003.观测不同的学习样本数对人脸识别率的影响。
将源代码中的一个语句“face_lean=20”Execution time of optimization: 46.6 secondsThe number of support vectors : 54 (13.5%)Lagrange coefficient ALF:Detection rate:95.500000“face_lean=50”Execution time of optimization: 56.2 secondsThe number of support vectors : 54 (13.5%)Lagrange coefficient ALF:Detection rate:95.500000“face_lean=100”Execution time of optimization: 52.2 secondsThe number of support vectors : 54 (13.5%)Lagrange coefficient ALF:Detection rate:95.500000“face_lean=300”Execution time of optimization: 40.3 secondsThe number of support vectors : 54 (13.5%)Lagrange coefficient ALF:Detection rate:95.5000004.观测支持向量机选用不同的核函数(线性核或径向基核)后对人脸识别率的影响。