基于PCA降维和FLD的人脸识别算法
2019-05-10吴晓天郑州地铁集团有限公司大连交通大学电气信息学院李林张丽艳大连交通大学电气信息学院
吴晓天 郑州地铁集团有限公司/大连交通大学 电气信息学院 李林 张丽艳 大连交通大学 电气信息学院
陈静梅 郑州地铁集团有限公司 杜雪婷 大连交通大学 电气信息学院
引言
近几年,人脸识别算法研究一直是计算机视觉、图像处理和模式识别等领域中的热点,在身份识别、公安刑侦、机器人和网络验证等方面得到实际应用,具有非常广阔的应用前景。人脸识别算法按处理的特征可分成两大类:基于几何特征和基于代数特征。目前人脸识别算法大多是基于代数特征的统计方法,如主成分分析法(PCA)、Fisher线形判别分析(FLD)、神经网络方法 和支持向量机。
1990年,Sirovich和Kirby提出利用Karhunen-Loeve变换来表征人脸信息。1991 年,Pentland和Turk 实现了PCA算法对正面人脸图像的识别。PCA算法在特征提取和降维方面表现较好,但识别率低,不能满足人们的需求。1936年,Fisher提出了线性判别法(LDA)方法即FLD算法,其数学思想是从高维数据空间中提取出有限的低维特征,并能用这些特征进行优质的判别。本文将两种方法结合,给出了一种PCA+FLD的人脸识别方法。
2 PCA+FLD人脸识别算法原理
PCA又称为主成分分析法,是在数据空间提取一组低维向量来表达该数据,通常包含两部分:训练和识别。训练是利用训练图像样本数据来构建特征脸;识别是将待识别图像样本数据投影到特征脸子空间上,并且与投影后的训练样本相比较,本文采用欧式距离得出识别结果。如果有N个训练样本,分了L类,其中每类K个样本,需要测试有M个样本,则训练样本x可用公式(1)表示。
本文PCA+FLD算法是在PCA的基础上采用低维特征区分开不同类别的样本,并且还要让相同类样本更好的聚集,即选择使类间离散度和类内的离散度比值最大的特征(Fisher准则)。类内离散度为SW,类间离散度为SB分别如公式(2)(3)所示。
Fisher准则是假设SW非奇异条件下,寻找使得最大的加权矩阵W。
其中SB的非零空间和SW的零空间的相交空间,该空间的辨识力最强。在降维过程中SW应是非奇异的,否则也会丢失最好的辨识能力。FLD算法在人脸识别中的应用并不顺利,当样本数小样本维数时,就会出现小样本问题,导致“PCA+FLD”方法主要分两部分,首先利用PCA降维,再在得到的低维空间上用FLD算法进行最佳分类。“PCA+LDA”人脸识别的过程主要分训练和识别两个阶段。算法实现步骤包括以下13步。
5)确定维数。本文根据信息量来计算,只选取前n个最大特征值及其对应的特征向量。本文先将特征值从大到小排列,若前n个值之和大于所有特征值之和的90%,则最小的n就是所确定的维数N。
7)降维:
8)按照公式(2)和(3)计算样本类内离散度矩阵SW和类间离散度矩阵。
10)利用公式(10),将所有训练样本投影到t维子空间,得到最佳分类特征如公式(11)所示。这就是含有L类特征的人脸识别数据库。
11)识别时用待识别的人脸图像,利用公式(3)得到差值矩阵。对做两次投影变换,得到最佳分类特征。
12) 用公式(12)计算最佳分类特征 与每类人脸的最小欧式距离。
3 本文算法仿真
本文采用样本图像源自ORL标准人脸库40人的样本人脸图像。首先通过算法将图像分辨率均归一为112x92。接着对图像灰度化处理,再采用直方图均衡化处理以扩大灰度范围。大多算法将每个人的部分图片作为训练样本,剩下的作为检测样本,有时会出现某幅图片误分类,导致识别率降低。本文采用将全部400幅图片都用来检测,增大检测样本基数,使算法检测结果更可信。改变训练和测试样本的构成,对样本进行多次检测,最后对检测结果求平均值得到表1。从表1可知,训练样本数大于3时,基于PCA+FLD算法要比PCA算法的识别正确率高。随训练样本数增加,可以看出全部样本因为检测样本基数大识别率单调递增,而部分样本检测结果有起伏波动。
表1 部分样本和全部样本使用PCA算法和PCA+FLD算法的检测结果
4 结论
本文实现了PCA降维与FLD结合的算法应用于人脸识别,仿真结果表明本文算法比PCA算法的识别率有明显的提高,代价是本文算法在训练样本少的时候识别效果较差。