SVM算法在人脸识别中的应用研究

2017-10-21 07:37刘艳丽王铁建
电脑知识与技术 2017年18期

刘艳丽 王铁建

摘要:人脸识别已经应用到生活中,识别精度显得至关重要,提高人脸识别率是研究的热点之一,在识别过程中容易收到光照、角度、表情变化等影响,该文使用LBP算法提取脸部的纹理特征,结合SVM算法,实验结果表明有效的减少了客观条件对识别结果的影响,达到了理想的效果。

关键词:LBP算法;SVM算法;网格搜索法;K-交叉验证法

中图分类号:TF311 文献标识码:A 文章编号:1009-3044(2017)18-0176-02

人脸识别是模式识别研究领域的热点课题之一,人脸识别系统已经广泛应用在生活中的多个领域,但是人脸的外形很不稳定,人可以通过脸部的变化产生很多表情,而在不同观察角度,人脸的视觉图像也相差很大,另外,人脸识别还受光照条件、遮盖物、年龄等多方面因素的影响,使得在人脸识别过程中容易受到特征提取不到位和图像维数过多的影响,导致人脸识别精度不高。本文使用LBP算法和SVM算法对人脸识别,实验结果表明本方法有效的提高了识别精度,也增加了鲁棒性。

1人脸纹理特征提取

在图像处理中纹理是图像很重要的一个特征,稳定的纹理特性反映了图像自身的属性。Tamura以人类的主观心理度量作为标准,提出了六个基本的纹理特征,其中纹理的粗糙度,对比度和方向度是最重要。这些纹理特征很好的对应了人类视觉感知,因此在许多图像检索系统中得到应用。

LBP算法是由T.Ojala等人于1996年提出,用来描述图像局部空间结构,分析图像纹理特征,具有灰度和旋转不变的特性。算法经过T.Ojala等人的不断完善,有效的减少了计算的复杂度和高频噪声的影响。因为LBP算法是一种局部二值模式,所以提取整幅图像的LBP纹理特征,清晰度不高,故先提取图像的局部颜色特征,并统计生成直方图,然后组合成图像整体的颜色特征。LBP的工作原理是通过以中心像素点灰度值作为阈值,按顺时针或逆时针找邻域像素点,和阈值进行比较,大于阈值记为1,否为0,从而求出中心点的LBP值,表示该点的纹理信息。如图1所示:

本文以ORL数据库为实验数据库,库中同一人的图像在表情和姿态上的变化控制在20%以内的尺度范围。本实验取20人的200幅图像作为训练样本,另外20人的200幅图像作为测试样本,ORL数据库中训练样本提取LBP的效果图下图2所示:

2 SVIM算法构建人脸识别器

支持向量机是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势。主要思想是寻找一个超平面对训练样本分类,使其分类正确率最大。在训练样本线性可分的情况下,SVM的目的是找到一个最优超平面,使得每一类数据与超平面距离最近的向量与超平面之间的距离最大;对于线性不可分的情况,利用核函数将训练样本从低维空间映射到高维特征空间使其线性可分,以训练误差作为优化问题的约束条件,以置信范围最小化为优化目标,最终SVM将问题化解为一个线性约束的凸二次规划求解问题。

核函数的选取直接决定分类器的效果,取10个人的图像使用三种核函数对人脸进行识别,识别结果如下表1:

从图中看出核函数Poly和RBF识别率相差不大,本实验最终选取RBF核函数,因为多项式核函数Poly的函数数目比RBF核函数多,使得该模型复杂度较高,而RBF是局部核函数,可以将非线性的样本映射到高维空间里,进而解决非线性的问题。在RBF核函数中需要选出最优惩罚参数C和核函数参数δ,才能达到较好的分类效果。本实验选用网格搜索法和K交叉验证法相结合来确定C和δ。网格搜索法是让C和δ在一定的范围内,划分网格并遍历网格内所有的区域,初步确定C和δ的范围。然后在该范围内适用K交叉驗证法,将训练样本均分成k份,选取一份作为测试数据,其余的K-1份为训练数据,经过K次迭代后求取MSE的均值对误差进行估计,最后选择出最优的参数,即为C和6的最优解。在ORL库中选取20幅图像作为训练样本,20幅图像作为测试样本,实验识别率如下表2:

3结论

本实验在ORL库中选取20个人的脸部图像作为训练样本,建立分类器,另外20个人的脸部图像作为测试样本,使用LBP算法提取图像的纹理特征,使得特征的提取不受光线,遮挡等因素的影响。在使用SVM算法建立分类器时,本文融合网格搜索和K交叉验证法,使得参数的确定更加精确。实验结果表明识别率达到97%。达到了理想的识别效果。endprint