APP下载

基于SVM的人脸识别系统设计与改进

2019-12-07欧利松

网络安全技术与应用 2019年12期
关键词:维数识别率人脸

◆欧利松

基于SVM的人脸识别系统设计与改进

◆欧利松

(桂林理工大学理学院 广西 541006)

为解决人脸识别中图像维数高、易受光照变化以及噪声影响等问题,本文提出PCA和SVM相结合的人脸识别算法并在图像预处理阶段加入滤波处理。首先对图像进行滤波预处理,PCA提取特征后降维处理,最后利用SVM多类分类器寻找人脸样本之间的最优分割超平面,对特征人脸进行训练和分类。通过在MATLAB平台搭建人脸识别系统,对本文算法、SVM核函数以及不同滤波处理的系统进行了比较分析。实验结果表明,PCA和SVM相结合的算法精度达到了95%,比其他算法提升了10%,有效解决了图像维数高、计算量大的问题,同时优化后的核函数加入维纳滤波的系统表现出较好的分类和去噪性能。

人脸识别;PCA;SVM;MATLAB平台;核函数;维纳滤波

随着计算机技术的不断发展,快速有效的识别技术在各领域有了更高的要求,因此稳定、安全的生物特征识别得到了广泛的关注[1]。国内外许多著名大学很早时期就对识别算法进行了研究,其中有从感知和心理学角度探索人类识别人脸机理的,如美国Texas at Dallas大学的Abdi和Tool小组[2],由Stirling大学的Bruce教授和Glasgow大学的Burton教授合作领导的小组等[3];也有从视觉机理角度进行研究的,如英国的Graw小组和荷兰Groningen大学的Petkov小组等[4]。虽然国内外研究已经取得一些成绩,但人脸识别过程中图像维数高、易受光照变化等问题一直是研究的难点。因此,本文提出了基于PCA和SVM算法,有效解决了图像维数高、计算量大的问题[5],同时加入了滤波处理的系统具有较好的性能,有效的提高了识别率。

1 滤波预处理

1.1 中值滤波

中值滤波是一种典型的非线性低通滤波技术[6],是指把以某点(,)为中心从小到大排列组合,根据奇偶性取平均值作为(,)处的灰度值[7]。中值滤波对去除椒盐噪声很有效果。用数学公式表示为:

对于二维序列进行中值滤波时,滤波窗口也是二维的,但这种二维窗口可以有各种不同的形状,如线状、方形、圆形、十字形、圆环形等。二维数据的中值滤波可以表示为:

与平均滤波器相比,中值滤波器从总体上来说,能够较好地保留原图像中的跃变部分[8],对椒盐噪声处理结果如下图1所示。

图1 中值滤波处理过程

1.2 均值滤波

均值滤波是典型的线性滤波算法,通过构造滤波模板进行局部空间域处理的算法[9]。设一幅图像(,)为×的阵列,处理后的图像为(,),每个像素的灰度级由包含(,)领域的几个像素的灰度级的平均值所决定,即用下式得到处理后的图像:

式中x,y=0,l,2,…,N-1;S是以(x,y)为中心的邻域的集合,M是S内坐标点的总数。图像邻域平均法的处理效果与所用的邻域半径有关。半径愈大,则图像的模糊程度也度大,主要缺点是在降低噪声的同时使图像产生模糊,特别在边沿和细节处,邻域越大,模糊越厉害,如图2所示。

2 主成分分析法

(6)进行-反变换有:

-变换使向量的数值改变,但向量的个数是没有改变,数值改变后会出现小数值,因此就可以既保留主要特性又降低向量的维数。为减少运算量,可以保留主要信息,去掉次要数据。

3 支持向量机

支持向量机(Support Vector Machine,SVM)在解决线性情况可以直接构造一个最优与最佳的分类面,而解决非线性情况时会选择合适的核函数通过非线性将低维空间样本映射到高维特征空间上,同时在高维空间求解得到最佳的分类超平面。

SVM核函数在实际开发应用很重要,其参数的选择与人脸识别率密切相关。常用的核函数有以下三种:

(1)多项式核函数:

(2)径向基核函数:

(3)Sigmoid核函数:

核函数具有低维度映射高纬度特征空间解决非线性问题的能力,常用核函数性能相似,本文选取Sigmoid核函数。目前参数如何设定与优化仍然是研究者探讨的热点,因此本文针对SVM核函数参数选择进行仿真实验。

4 实验仿真

实验基于PCA和SVM算法,在MATLAB平台设计并搭建了人脸识别系统,使用ORL人脸数据库,其中包括40个不同年龄、不同性别和不同种族的对象。每个人10幅图像共计400幅灰度图像组成,人脸部分表情和细节均有变化。

人脸识别系统界面如图3所示。

图3 人脸识别系统界面

4.1 不同算法比较分析

为了测试本文算法可行性,分别使用HOG、LBP、PCA与SVM相结合以及PCA与KNN、LDA结合进行比较,实验通过不同算法对训练时间、测试时间以及识别准确率进行测试,其中方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子;局部二值模式(Local Binary Pattern,LBP)是一种用来描述图像局部纹理特征的算子;线性判别式分析(Linear Discriminant Analysis,LDA 一种经典的线性学习方法;k近邻法(k-nearest neighbor,KNN)是一种基本分类与回归方法[18]。实验结果如表1所示。

表1 不同算法的实验结果比较

从表1可以看出,采用HOG、LBP的训练时间大于PCA的训练时间,由于PCA算法可以减少数据集的维度,同时保持数据集中使方差贡献最大的特征,故训练时间大大缩短,而HOG描述子生成过程冗长,导致速度慢以及实时性差,传统的LBP特征之间存在冗余导致训练时间慢。在测试时间方面,SVM比KNN、LDA表现出更好的计算效率。在精度上,PCA与SVM结合的算法也远优胜于其他算法。因此,综合各方面,基于PCA与SVM的相结合的算法能够有效降维,具有计算效率高、识别速度快以及准确率高的优点。

4.2 核函数参数实验

使用MATLAB以及LibSVM工具包选择SVM核函数参数对人脸识别率实验分析,首先使用LibSVM交叉验证法选取参数C与gamma(其中C是惩罚系数,gamma是核函数半径),然后根据模型参数对进行计算、判断其归类,最后得到识别率。结果如下表2所示。

表2 关于核函数参数选择的识别率

从表2可以看出:基于SVM的人脸识别系统的识别率很高,而且具有一定鲁棒性。其中SVM核函数模型中的参数惩罚系数C和核函数半径gamma选择直接影响着人脸识别率。其中C指误差的宽容度,惩罚系数越高越不能容忍出现误差,系数越小则容易欠拟合,而出现过大或过小情况,其泛化能力变差。核函数半径则决定了数据映射到新的特征空间后的分布,gamma值大小取决了支持向量多少。本节实验采用LibSVM工具包提供的交叉验证功能,得出参数C为128,gamma为0.007时识别率高达95%。

4.2 滤波预处理实验

将待识别100张不同的人脸图像分别加入中值滤波与均值滤波的人脸识别系统进行识别,同时运用本文算法,对比结果如下表3所列。

表3 不同滤波处理的效果比较

由表3可以看出:待识别100张不同的人脸图像输入中值滤波进行人脸识别,系统未出现识别错误,而输入均值滤波时出现了两次错误,且识别速度比中值滤波预慢了0.5秒。

5 结束语

本文提出一种中值滤波、PCA与SVM相结合的人脸识别算法,并在MATLAB平台设计并搭建了人脸识别系统,针对不同算法、SVM核函数以及两种滤波进行实验仿真。通过实验表明,本文算法有效解决了图像维数高、计算量大的问题,同时加入了中值滤波处理的系统对光照变化、噪声具有一定的鲁棒性,有效提高了识别率。但对于变形人脸、遮挡人脸和模糊人脸则存在适用性局限,有待于进一步研究。

[1]杨雨龙,丛英.错位指纹图像自动检测的深度学习方法[J].数学建模及其应用,2018,7(2):23-29.

[2]钟璇.翻译伦理视角下的灾难新闻编译研究[D],广东外语外贸大学,2016.

[3]王立逗.复杂光照变化下的人脸识别方法研究[D].重庆邮电大学,2015.

[4]付瑶.具有年龄鲁棒性的人脸识别算法研究[D].北京交通大学,2015.

[5]刘万军,李天慧,曲海成,等.基于DS聚类的高光谱图像集成分类算法[J].计算机应用研究,2018,35(10):3130-3133.

[6]彭安杰,康显桂.基于滤波残差多方向差分的中值滤波取证技术[J].计算机学报,2016,38(03):503-506.

[7]Fadhlan K Z,Amir A S,Yasir M M. Robust Face Recognition Against Expressions and Partial Occlusions[J]. International Journal of Automation and Computing.2016. 13(04):319-337.

[8]张海锋.压缩感知图像重构及去噪算法的研究[D].燕山大学,2016.

[9]方政,胡晓辉,陈永.二级推理在图像去噪中的应用[J]. 计算机应用与软件,2016,33(10):194-197.

[10]李春娜,陈伟杰,邵元海.鲁棒的稀疏Lp-模主成分分析[J].自动化学报,2017,55(01):142-151.

猜你喜欢

维数识别率人脸
修正的中间测度和维数
一类平面数字限制集的维数
有特点的人脸
一起学画人脸
含非线性阻尼的二维g-Navier-Stokes方程全局吸引子的维数估计
三国漫——人脸解锁
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展