摘 要: 采用自适应遗传算法(AGA)优化筛选改进高斯核函数支持向量机(SVM)参数模型进行人脸特征分类。支持向量机的泛化性能主要取决于核函数类型和核函数参数及惩罚系数C,本文在传统高斯核函数基础上提出改进高斯核函数作为支持向量机的非线性映射函数,并使用自适应遗传算法优化筛选核函数参数和支持向量机惩罚系数,将优化后的SVM模型用于人脸库进行实验仿真。实验结果表明,本文方法比传统高斯核函数支持向量机分类器模型有更高识别率。
关键词: 支持向量机;核函数;遗传算法;人脸识别
0 引言
人脸识别是模式识别研究领域的一个重要研究方向,属于生物识别的研究领域,与其他人体生物特征识别方式相比,人脸识别具有方式友好、采样方便、无需接触等许多优点,此外,人脸特征具有很强的自身稳定性和个体差异性,是身份验证的理想依据,所以,对人脸识别研究具有重要的学术研究价值和广阔的应用前景。在实际运用过程中,由于受各种条件限制,通常无法针对每个人都采集大量的图像样本。所以,人脸识别相对于维数而言属于小样本模式识别问题,而支持向量机在解决小样本、非线性及高维模式识别问题中,相比较于其他传统分类器具有很多特有的优势,SVM能够在学习性能和泛化能力上找到一个最佳折中,在保证SVM分类性能的同时又具有较好的推广性。因此,本文选择SVM作为人脸特征分类器,考虑到支持向量机的泛化性能取决于其核函数类型、核函数参数以及惩罚系数,根据相关文献介绍,本文在性能较好的高斯径向基核函数(RBF)基础上提出改进高斯核函数作为SVM的非线性映射函数。为了得到性能较优的SVM分类器模型,采用自适应遗传算法优化筛选其参数,再将优化所得SVM分类器模型用于人脸库进行实验仿真。实验结果表明,本文方法比传统高斯核函数支持向量机模型有更高识别率。
1 支持向量机模型
1.1 支持向量机概述
如图1所示,SVM方法能够将一组非线性可分的高维向量(如图(a))经核函数映射到更高维特征空间使其线性可分(如图(b))。(b)图中H为映射后可正确分开两类样本的最大分类间隔超平面,H1和H2为平行于H且分别经过离H最近的两类样本的超平面,位于H1和H2上的样本叫做支持向量,超平面函数表达式如式(1):
式中,xi为输入样本,yi为样本xi的所属类标志,?鬃为核函数,SV为支持向量集,b*为分类阈值,?琢i为每个样本对应的Lagrange乘子,sgn(·)是符号函数。
1.2 核函数选取
目前常用的核函数有四种:线性核函数、多项式核函数、S形核函数和高斯径向基核函数(RBF),本文在性能较好的高斯核函数基础上提出改进高斯核函数作为支持向量机的非线性映射函数,改进高斯核函数能弥补高斯核函数在测试点附近衰减不够快及在远离测试点时核函数值趋近于零会产生核截断现象的两大不足。相关文献指出,高斯核函数的两大缺点在一定程度上会降低分类性能。本文将改进高斯核函数用于人脸识别问题中,以验证其有效性和较之传统高斯核函数的优越性。
高斯核函数表达式如下:
其中,xc为测试点,是核带宽变量。
高斯径向基核函数图像如图2所示。
改进高斯核函数表达式如下:
式中,xc是测试点,?滓是核带宽变量,p是位移参数。
本文将高斯核函数和改进高斯核函数的?滓均取为0.3,改进高斯核函数的p取为0.2,将两者做实验对比,图3为两种核函数在测试点附近衰减特性的比较,图4为两者在远离测试点时的衰减速度比较。
由图3和图4可见,本文提出的改进高斯核函数能较好地改善高斯核函数存在的两大缺陷,即在测试点附近的衰减速度更快,而在远离测试点时的衰减速度又比高斯核函数慢得多以不至于很快趋于零。故将本文改进高斯核函数用于非线性分类问题中,可发挥其错误率低的特点。
2 遗传算法优化SVM参数模型
2.1 遗传算法
本文采用能够对搜索过程中的某个解提供最佳交叉概率和变异概率的自适应遗传算法优化筛选SVM参数。该算法中交叉概率Pc和变异概率Pm由以下公式计算:
其中,favg是群体平均适应值,fmax是群体最大适应值,f是参与交叉的两个体中较大适应值,f ′是变异个体的适应值,k1、k2、k3、k4为常数。
自适应遗传算法中的选择策略采用轮盘赌方法,适应度函数设计如下:
2.2 遗传算法优化SVM参数模型
改进高斯核函数SVM模型包含3个参数,分别为核函数带宽变量、核函数位移参数p以及惩罚系数C。为了得到最优分类器模型,采用自适应遗传算法优化筛选其参数,优化步骤如下:
(1)随机产生个体数目一定的初始种群,确定每个变量的大致取值范围和编码长度,对每个个体进行二进制编码。
(2)根据式(6)计算个体的适应度值,并判断是否符合优化准则,若符合,输出最佳个体及其代表的最优解,并结束计算,否则转向第(3)步。
(3)依据适应度值选择再生个体,适应度高的个体被选中的概率高,适应度低的个体可能被淘汰。
(4)根据交叉概率执行交叉操作生成新个体。
(5)根据变异概率执行变异操作产生新个体。
(6)由交叉和变异产生新一代的种群,返回到第(2)步。
3 实验仿真
本文采用标准的人脸数据库ORL作为实验数据集来源,任意选取其中20个人的图像作为实验对象,将每人的前5张图像作为训练集,后5张作为测试集,以PCA特征为分类特征,分别采用改进高斯核函数SVM分类器模型和高斯核函数SVM分类器模型对其分类识别。实验中,取自适应遗传算法的系数为:初始种群大小30,迭代次数20(经实验验证自适应遗传算法收敛速度较快,故进化代数不需设置太大),k1=0.5,k2=0.9,k3= 0.02,k4=0.05,?滓的精度为0.000 1,C和p的精度均为0.01,C的搜索范围为(0,500),?滓的搜索范围为(0,1),p的搜索范围为(0,50)。实验数据如下:
(1)为了选择最佳维数PCA特征,经多次实验,选取改进高斯核函数SVM模型的参数分别为:?滓=0.730 82,p=30.264 9,C=364.416,在不同维数PCA特征下对20个人的后100张图像进行10次测试识别,取其平均值得到图5所示函数关系曲线。
根据实验结果可知,54维PCA特征为最佳特征,故本文选择54维PCA特征作为本文识别特征,接着做后续实验。
(2)同样取(1)中所设参数,以改进高斯核函数SVM模型进行人脸识别,得到正确识别和错误识别的截图,如图6和图7所示。
(3)基于自适应遗传算法优化改进高斯核函数SVM分类器模型进行人脸识别的结果如表1。
实验数据表明,基于自适应遗传算法优化支持向量机参数分类器模型拥有较理想识别率,且收敛速度也较理想。
(4)经多次实验知高斯核函数SVM模型中,惩罚系数C的取值对模型分类性能影响很小,而?滓在(0,12)范围内取值时,对分类器性能影响较大,且最高识别率也出现在该区间内,本文取C=95,绘制出?滓在(0,12)区间范围内取不同值时对应识别率的曲线图如图8所示。
由图8可知,当C值固定时,在(0,12)范围内,人脸识别率随σ的取值大体呈递增趋势。当σ大于7时,识别率收敛于95%。
(5)将高斯核函数SVM模型参数的取值范围限定为C∈(0,100),σ∈(0,10],用自适应遗传算法优化其参数,优化后的分类器模型用于人脸识别,所得结果与表1中识别率做对比,对比数据如表2。
实验结果表明改进高斯核函数SVM模型比高斯核函数SVM模型有更高识别率。
4 结束语
本文针对传统高斯核函数的两大不足,提出能克服其缺点的改进高斯核函数作为支持向量机的非线性映射函数,并使用自适应遗传算法优化筛选其参数及支持向量机的惩罚系数C,将优化的支持向量机模型用于ORL人脸库进行实验仿真,实验结果表明,其性能比高斯核函数支持向量机分类器模型的性能要好。本文方法的不足之处在于鲁棒性和通用性不强,只在ORL人脸库20个人共200张人脸图像的小样本情况下才取得较好识别率,对整个ORL人脸库的40人共400张图像仿真识别时,并未取得很理想的识别率,所以后续工作是在人脸图像特征提取上做深入研究,以及在SVM核函数及其参数选择上再做改进,以增强分类器的鲁棒性和通用性及进一步提高人脸识别率。
参考文献
[1] 张铮,王艳平,薛桂香.数字图像处理与机器视觉[M].北京:人民邮电出版社,2010.
[2] 阎晓娜.支持向量机的核方法在人脸识别中的应用研究[D].青岛:中国海洋大学,2012.
[3] 龚纯,王正林.精通MATLAB最优化计算[M].北京:电子工业出版社,2009.
[4] 赵书兰.数字图像处理与分析实例教程[M].北京:化学工业出版社,2009.
[5] 杨淑莹,张桦.群体智能与仿生计算——Matlab技术实现[M].北京:电子工业出版社,2012.