工具之家 > 软件导刊 > 基于改进PCA算法的人脸识别

张杨+张仁杰

摘要:由于经典的PCA算法要求样本满足高斯分布,然而现实中的样本往往因为表情、角度、光照等原因不满足高斯分布,导致算法识别率不高。因此,提出一种基于改进PCA算法的人脸识别方法。首先,将具有相似特征(表情、角度、亮度)的不同样本通过分块方式划分在一个矩阵中,使样本趋于高斯分布;其次,通过直方图均衡化样本的方法,加强样本对比度,以突出样本的人脸器官特征;最后采用经典PCA算法进行辨识。通过在ORL人脸库上的实验得出,该方法不但耗费总时间少于经典的PCA算法,而且识别率也得到提升,具有一定可行性。

关键词:人脸识别;分块;直方图均衡化;改进的PCA算法

DOIDOI:10.11907/rjdk.172191

中图分类号:TP301

文献标识码:A文章编号文章编号:16727800(2018)001003203

Abstract:The classical PCA algorithm requires the sample to satisfy the Gaussian distribution, but the real samples often do not satisfy the Gaussian distribution because of the expression, the angle and the light. So the recognition rate of this algorithm is not high. For this reason, this paper presents a face recognition method based on improved PCA algorithm. Firstly, different samples with similar characteristics (expression, angle, brightness) are divided into a matrix by way of block in order to make samples tend to Gaussian distribution. Secondly, through the method of histogram to equalize the sample, the contrast of the sample is enhanced to highlight the facial features. Finally, the classical PCA algorithm is used to identify the samples. And through the experiment on the ORL face database, this method not only cost less total time than the classic PCA algorithm and recognition rate has also been improved. In a general, this way is feasible.

Key Words:face recognition; block; histogram equalization; improved PCA algorithm

0引言

随着现代信息化技术的迅速发展,人脸识别技术也进入快速发展期。人脸识别技术目前已被应用于各个行业,包括公安的刑侦破案、网络信息安全、机器人智能化等领域。不仅如此,人脸识别技术具有其它方法所不具备的优势,如非接触式、自然性。因此,用户的可接受度高,具有广阔的发展前景[13]。

经典PCA(Principle Component Analysis)算法是人脸识别中的常用算法,此方法通过KL变换提取人脸特征构成特征脸空间,在识别时将待识别的样本投影到此特征脸空间,可得到一组投影向量,再通过与数据库中的每个样本比较进行识别。经典的PCA算法受人脸表情、角度、光照等因素影响较大[4],为了减少影响,本文改进了经典的PCA算法。本文算法基于被广泛使用的线性鉴别方法——PCA算法[5],一方面,通过分块方式将具有相似特征的样本划分在同一矩陣,再直方图均衡化样本,找到总体最小区域后,采用经典PCA算法对预处理过的样本进行特征提取及识别。通过在ORL人脸数据库上的实验表明,本文方法的识别效率和准确率都高于经典的PCA算法,具有一定可行性。

2改进的PCA算法

本文提出的改进算法采取分块的方式,将具有相似特征(表情、角度、光照)的样本划分到一个矩阵,再直方图均衡化样本。最后,找出能够代表大多数人脸特征的总体最小区域,通过经典的PCA算法对预处理过的训练样本集进行特征提取及后续识别。具体包括以下几个步骤:

2.1分块处理

经典PCA算法要求样本满足高斯分布,但现实中的样本往往不满足高斯分布,则噪声和冗余不能用方差和协方差恰当地表示,因而无法得到充分反映训练空间的特征子空间,从而降低PCA算法的识别率[6]。因此,针对这一缺陷,本文提出的改进方法采取分块的方式,将具有相似特征(表情、角度、光照)的样本划分到一个矩阵。由于分块后的样本具有相似特征(表情、角度、光照),所以样本趋于高斯分布,有助于提高算法识别率[7]。

分块处理的具体流程为:将原来的标准训练矩阵A=[d11,d12,…,dij]T分成多个子块A1,A2,…,Am。其中,A1,A2,…,Am表示训练样本中具有相同表情、角度、光照的样本合集。由于这些子块具有相同属性,保证了样本接近高斯分布,可以一定程度上提高识别率。

2.2样本直方图均衡化

直方图均衡化的基本思想是将原始图的直方图变换为较原直方图更加均匀的形式,扩展了像素灰度值的动态范围,提高了对比度,突出了样本特征。endprint

设原始图像在(x,y)处的灰度为f,转换后的图像在(x,y)处灰度为g,则变换过程可以表示为在(x,y)处的灰度由f映射为g,该过程可以定义为:g=EQ(f)。

直方图均衡化任意子块中的一个样本,变化前和变化后的图像如图1、图2所示。

由图可知,该样本经过直方图均衡化变换后,样本对比度得到加强,突出了人脸器官特征,有助于后续得到充分反映样本空间特征的特征脸,提高算法识别率。

2.3找出总体最小区域

设Bi(j)表示图像样本xij中明亮部分与灰色部分的边界线,设集合{Li(j)}表示图像样本xij每行从左往右第一个边缘点坐标的集合,设集合{Ri(j)}表示图像样本xij每行从右往左第一个边缘点坐标的集合。其中,设集合{Li(j)}中有H(xij)个元素,即该样本图像的高度为H(xij),集合{Li(j)}中的第k个元素是图像样本xij第k行的第一个边缘点;设集合{Ri(j)}中有N(xij)个元素,即该样本图像高度为N(xij),集合{Ri(j)}中的第k个元素是图像样本xij第k行的最后一个边缘点坐标[8]。

3实验结果及分析

本次实验采用ORL人脸数据库,该数据库由40人的样本图像组成,每人10个样本图像,每个样本图像存在角度、表情、光照的差异,一共400幅图像数据。而且,所有样本背景均是单一颜色,样本像素大小均为128×128。其中,部分人脸样本图像如图3所示。

实验使用Matlab R2014a软件,计算机配置为:Intel Core i53210M,2.50GHz,4GB内存。本文涉及的实验数据均在此配置下计算得出。

本文实验对比所用的经典PCA算法,是将每个人的前5幅样本图像作为训练样本,后5幅样本图像作为测试样本,共有200张训练样本和200张测试样本,计算此条件下的识别率、构造特征脸时间以及识别时间。分块方式分为两种,第一种方式是按照正脸和侧脸方式分为2块;第二种方式是按照微笑、正常以及其它表情(包括惊讶、沮丧等) 分为3块。

在不同的训练样本数条件下,计算不同分块方式下的本文方法和经典PCA算法的识别率、构造特征脸时间以及识别时间。其中,识别率数据比较的结果显示如图4所示,构造特征脸时间、识别时间结果记录如表1所示。

由图4与表1可以看出,本文提出的改进方法在识别率和构造特征脸时间两方面都比经典PCA算法好。从识别率方面看,随着样本数增加,本文方法的识别率逐步提升,而且整体识别率高于经典的PCA算法。原因是通过直方图均衡化子块训练样本集,增强了图像对比度,突出了人脸器官特征,使后续得到的特征脸更能体现样本空间特征,有助于实现人脸识别,一定程度上提高了识别准确率;从构造特征脸时间方面看,本文方法的构造特征脸时间少于经典PCA算法,原因是本文方法提取的是预处理后的样本特征,其样本空间维数远小于经典PCA算法,可以减少计算量,有效提高识别效率。由于本文方法在识别部分的算法利用的是经典PCA算法,所以在识别部分花费的时间和经典PCA算法时间近似,但是本文方法降低了人脸识别耗费的总时间。

4结语

本文提出了一种基于改进PCA算法的人脸识别方法,其最大的优点在于通过分块方式,大大降低了样本维数及算法计算量,从而减少了构成特征脸时间,降低了耗费总时间。而且通过直方图均衡化过程,加强了样本图像的对比度以突出人脸器官特征,相比于经典PCA算法,一定程度上提升了识别率。通过在ORL人脸数据库的实验可以看出,本文提出的改进算法在构造特征脸速度及识别率方面优于经典PCA算法,具有可行性。另外,在实验中发现,分块方式的不同将影响识别率和耗费总时间。因此,如何选择更优的分块方式是下一步需要研究的问题。

参考文献:

[1]赵鑫,汪维家,曾雅云,等.改进的模块PCA人脸识别新算法[J].计算机工程与应用,2015(2):161164,176.

[2]高晓兴,李仁睦,王文佳,等.基于人脸分类和KL变换的人脸识别新方法[J].微计算机信息,2010(7):810.

[3]李荣健,韩其龙,杨鑫华.改进的PCA人脸识别新算法[J].大连交通大学学报,2008(4):4851.

[4]PAUL VIOLA,MICHAEL J ROBUST. Realtime face detection[J]. International Journal of Computer Vision,2004,57(2):137154.

[5]TURK M, PENTLAND A.Face recognition using eigenfaces[C]. IEEE Conference on Computer Vision and Pattern Recognition,Huwaii,1991:586590.

[6]王曉强,刘勇奎.参数曲线的分段步长生成算法[J].计算机应用研究,2006(1):227229,232.

[7]刘勇奎,周晓敏.逐点生成参数曲线的双步算法[J].计算机辅助设计与图形学学报,2002(7):619623.

[8]周亦敏,袁毅.改进的PCA算法在人脸识别中的应用研究[J].微计算机信息,2012(8):150151.

(责任编辑:黄健)endprint

软件导刊 2018年1期

软件导刊的其它文章 移动机器人目标物体识别研究 触发词扩展、神经网络及依存分析相结合的事件研究 传统情感分类方法与基于深度学习的情感分类方法对比分析 基于卷积神经网络的人脸识别研究 基于卷积神经网络的人脸表情识别研究 交通一卡通清分管理中的全数据查重方法研究
转载请注明来源。原文地址:https://www.5420.com.cn/view/2019/0117/10219/
 与本篇相关的热门内容: