基于多核SVM的人脸识别

时间:2022-06-18 09:55:22

基于多核SVM的人脸识别

摘 要: 支持向量机(Support Vector Machine, SVM)是机器学习领域中非常重要的一种线性分类器,借助于核方法,SVM能够实现对非线性样本的有效分类。但是不同类别的核函数具有各自不同的特性,对于SVM分类的准确率也具有很大的影响。为了能够结合不同核函数的优势,本文采用了对不同核函数进行融合的方式来设计多核SVM分类器,并在ORL与AR人脸识别数据集上采用局部三值模式(Local Ternary Pattern, LTP)作为特征描述子进行了验证。实验结果表明,多核SVM比使用普通核函数的SVM具有更优的分类准确率。

关键词: 多核SVM; 核函数; 局部三值模式; 人脸识别

中图分类号:TP391.4 文献标志码:A 文章编号:1006-8228(2016)11-57-04

Face recognition with multi-kernel SVM

Lu Ping

(Suzhou Institute of Trade and Commerce, Suzhou, Jiangsu 215009, China)

Abstract: Support Vector Machine (SVM) is one of the most importance linear classifier in machine learning, which can classify the non-linear samples efficiently via the kernel method. However, the accuracy of SVM may be heavily affected due to the characteristics of different kernels. To make better use of different kernels, the different kernels are tried to fuse to design a multi-kernel SVM, and the resulting classifier is evaluated on the ORL and AR face recognition datasets. As for the feature, the Local Ternary Pattern (LTP) is employed. The experimental results show that the multi-kernel SVM can achieve higher classification accuracy than traditional SVM with single kernel.

Key words: multi-kernel SVM; kernel function; Local Triplet Pattern; face recognition

0 引言

SVM是机器学习与模式识别领域中非常重要的一种线性分类器,由于SVM方法基于最大间隔(maximum margin)思想,其模型为凸二次规划问题,使得SVM能够通过求解对偶问题从而获得原问题的最优解。通过引入松弛变量,SVM在对离群点的处理上也具有相当强的鲁棒性。但本质上SVM仍属于线性分类器。为了更好地处理非线性样本的分类问题,可以利用求解对偶问题时的内积表达式引入核函数。将样本由低维向高维空间映射,进而在高维空间中实现线性分类。由于SVM的优秀性能,其在人脸识别[7-8]、图像分类[1]、行人检测[2]等诸多研究中都具有非常广泛的应用。

尽管研究人员已经设计出许多核函数来提升SVM对于非线性样本的处理性能,但这些核函数具有各自不同的特性。在使用时,不同的核函数对于分类准确率具有很大的影响。因此如何选择核函数以提升分类准确率是使用SVM时一项比较困难的任务。为了解决核函数的选择问题,本文采用将不同核函数进行融合的方式来设计多核SVM,各核函数的权重通过学习自适应调整,从而充分发挥各种核函数的优势。

为了验证多核SVM算法的性能,本文在ORL与AR人脸识别数据集上使用局部三值模式[4]LTP描述子对其进行了测试,实验结果表明多核SVM能够获得比传统单核函数SVM更高的识别结果。

1 多核SVM

SVM分类器通过寻求一个超平面对空间中不同类别的样本进行分类。考虑二分类情况下,设训练样本为,其中,。分类超平面为:

为了获得最优超平面,(w,b)应使得不同类别间的间隔(margin)最大,同时考虑到离群点的影响,SVM引入松弛变量建立如下的目标函数:

由于式⑵为一个二次凸优化问题,满足强对偶条件,可采用Lagrange乘子法转化为求解对偶问题:

通过求解对偶变量α即Lagrange乘子的最优解,就可以获得原问题的解(w,b)为:,。

在原始样本线性不可分的情况下,考虑式⑶中存在内积的计算,可以引入核函数实现将样本从原始空间到高维空间的映射。则最终的SVM分类器为:

其中,sgn[・]为符号函数。由于不同核函数的形式与参数各不相同,它们把样本向高维空间映射的结果也存在很大的差异,特别是局部核函数与全局核函数对样本及其领域的影响更大。比如:径向基核函数(Radial Basis Function,RBF):;多项式核函数(Polynomial Function):;sigmoid核函数:。RBF核函数对样本的映射受到参数σ的强烈影响,对于距离较近的数据点影响大,而对于较远的样本点则基本没有影响。因此,RBF核函数是一种典型的局部核函数,适合于处理局部特征。多项式核函数与Sigmoid核函数则会对所有样本点都产生影响,因此它们适合于对全局特征的处理。为了充分地利用局部核函数与全局核函数各自的优势,可以采用对两者线性加权融合的方式,创建多核SVM分类器。

设现有M个核函数,其中包含了全局和局部核函数,最终的决策超平面可定义为:

由于式⑹为非凸优化问题,仅可保证获得局部最优解,这里可以采用交替求解策略进行求解。即首先固定η,求解{wm},b,ξ;然后再固定{wm},b,ξ,求解η。在求解{wm},b,ξ时,与传统SVM类似,对上式建立Lagrange函数将原问题转为对偶问题:

进一步求解可获得最终的分类超平面为:

由此可见所获得的结果与传统SVM非常类似,仅需对各个核函数进行线性加权组合。在对的求解中,本文采用Rakatomamonjy等[5]提出的具有较好收敛性能的最速下降算法。

2 多尺度局部三值模式LTP描述子

局部三值模式[4] LTP描述子是对局部二值模式[3] (Local Binary Pattern, LBP)描述子的改进。原始LBP描述子在将原图像转入灰度值图像后,在R×R窗口内以窗口中心像素为阈值,与其周围相邻的8个像素的灰度值进行比较。若周围像素大于中心像素值,则将该像素位置标记为1,否则标记为0。进而将该中心点的LBP值定义为以左上角元素为最高位的一个8位二进制值,从而获得1个0~255之间的十进制数。其获得过程如下:

LBP特征能够比较好的捕捉到图像的纹理信息,其在人脸识别与其他计算机视觉领域中获得了广泛的应用。但是尽管LBP描述子描述纹理的性能比较好,却也存在对噪声较为敏感的不足。为了进一步提升LBP的性能,LTP描述子把LBP的阈值修改为阈值范围[gc-t,gc+t],以获得一个三值的编码,计算过程如下:

由于LTP模式值有3P种,为了简化计算,常采用正负LBP编码方式来获得LTP值,其过程如图1所示。其中,正编码取不为1的值均为0;而负编码则取-1值为1,其余均置0,再进一步统计直方图分布。为了获得更好的性能,本文在提取LTP特征描述子时进一步对原始人脸图像在两个尺度上提取。在某一个尺度上提取时,再分别对半径为的范围内进行像素点进行比较。这样不仅可以获得多尺度的信息,还可以获得同一尺度不同范围内的纹理信息。

3 实验结果与分析

为了检测多核SVM的性能,实验选择了ORL与AR人脸识别数据集对其进行性能评估。实验基于SimpleMKL多核学习工具包进行,选取RBF核函数、多项核函数与Sigmoid核函数进行组合。对于RBF核函数的参数C、gamma以及多项核函数中的参数d均通过网格搜索来确定。对于LTP描述子,实验中选择了将像素值归一化后,再进行比较的方式。实验中在原始图像与缩放1/2两个尺度上划分5*5的密集网格提取。LTP的阈值范围设为[gc-0.3,gc+0.3],再在半径3和5两个半径范围内分别提取。由于最终提取的LTP描述子维度高达36369维,为了降低运算量并去除数据相关性,实验时采用了保留所有能量的PCA降维方法。

3.1 在ORL数据集上的实验

ORL人脸识别数据集由剑桥大学AT&T实验室所创建,其中包含有40个人,每人有10张图片,图片大小已统一为112*92大小。该数据集中的人脸图片包含了不同的表情、姿势与面部饰品等变化。本实验从每个人的10张图片中随机选择了5张图片作为训练样本,剩余5张图片作为测试样本,对使用线性核、RBF核、Sigmoid核、多项式核、RBF+Sigmoid+多项式核的SVM分别进行了测试。为了保证实验的鲁棒性,实验对20次随机数据集划分的结果进行平均,最终的识别率如表1所示。

表1的实验结果显示:在数据集较小的情况下,使用线性核也能够获得不错的识别效果。而对于多项式核函数,发现取d?3时识别率始终低于80%,因此表1中的多项式核函数取参数d=2。在采用网格搜索的方法获得最优参数后,RBF核的识别率表现良好。由于多核SVM具备多种核函数的优势,因此获得了比使用单一核函数更为优秀的识别率,在随机20次实验中仅有2次识别率未达到100%,平均识别率为99.96。

3.2 在AR数据集上的实验

AR人脸数据集中包含有126人,其中70名男性、56名女性。该数据集中的人脸图像具有不同的表情、光照与遮挡等。实验选择全部70名男性与50名女性,对每个人选择14张无遮挡的人脸图像。图2给出了该数据集中某一个人的14张图片。

对于每个人的14张图片,实验中进一步选择了k=5,7,10三个不同的图片数作为训练集,而剩余的图片则作为测试集,实验结果如表2所示。

由表2可以发现在k=5时,由于训练样本较少,使用线性核及其他单一核函数的SVM的识别率均比较差。随着训练样本数逐渐增加,各个分类器的识别准确率也明显上升。RBF核函数仍明显优于使用其他核函数的SVM,而Sigmoid核函数与多项式核函数的效果相对较差。多项式核函数在不同训练样本数情况下,识别率均最低。多核SVM由于融合了多个核函数,在不同的训练样本数下表现均十分出色,特别是在k值大于7后,尽管数据集中的人数已达到120,但仍能取得100%的识别率,这再次证明,将不同核函数融合所带来的性能提升。

4 结束语

核函数在SVM的使用中具有非常重要的地位,核函数的选择对于分类性能高低具有很大的影响。本文在分析局部核函数和全局核函数各自的特性后,尝试将多种核函数进行融合从而获得多核SVM分类器,并在ORL与AR人脸识别数据集上进行算法的性能验证。实验结果表明,多核SVM与使用单一核函数的传统SVM相比,在人脸识别的准确率上有明显提升。

参考文献(References):

[1] Lin Y, Lv F, Zhu S, Zhu S, et al. Large-scale image

classification: Fast feature extraction and SVM training[C]//IEEE Computer Society Conference on Computer Vision & Pattern Recognition IEEE Computer Society Conference on CVPR,2011:1689-1696

[2] Felzenszwalb, P. F., Girshick, R. B., McAllester, et al.

Object Detection with Discriminatively Trained Part-

Based Models[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2010.32(9):1627-45

[3] Ahonen T, Hadid A, Pietik?inen M. Face Description with

Local Binary Patterns: Application to Face Recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2006.28(12):2037-2041

[4] Liao S, Zhao G, Kellokumpu, V, et al. Modeling pixel

process with scale invariant local patterns for background subtraction in complex scenes[C]// IEEE Conference on Computer Vision & Pattern Recognition,2010:1301-1306

[5] Rakotomamonjy, A., Bach, F. R., Canu, S. et al.

SimpleMKL[J]. Journal of Machine Learning Research,2008.9(3):2491-2521

[6] Sonnenburg, S., R?tsch, G., Sch?fer, C. A General and

Efficient Multiple Kernel Learning Algorithm[C]// Advances in Neural Information Processing Systems[J],2006:1273-1280

[7] 薛涛,刘潇潇,张海兵.基于Gabor特征融合和LSSVM的人脸

识别算法[J].计算机应用与软件, 2014.31(7):191-194

[8] 谢赛琴,沈福明,邱雪娜.基于支持向量机的人脸识别方法[J].

计算机工程,2009.35(16):186-188

上一篇:智能科学技术导论教学目的及策略 下一篇:高职院校基于MVC模式的C语言课程教学实践研究