APP下载

PCA人脸识别算法的优化*

2016-12-13任安虎

计算机与数字工程 2016年11期
关键词:均衡化识别率直方图

任安虎 王 磊

(西安工业大学电子信息工程学院 西安 720021)



PCA人脸识别算法的优化*

任安虎 王 磊

(西安工业大学电子信息工程学院 西安 720021)

生物识别技术的快速发展,使得人脸识别技术成为研究热点。主成分分析算法是人脸识别技术中被使用最多的算法之一,它因识别速度快,识别率高被广泛认可。针对传统的PCA算法由于外界的干扰因素会影响它的识别率。基于提高PCA算法的识别率和抗干扰特性,通过对原始图片的去噪声,直方图均衡化,归一化三种预处理方法,同时结合Adaboost算法,能一定程度地提高识别的成功率和算法的抗干扰性。实验结果表明优化后的PCA算法的识别率相对提高了10%,识别速率比原始算法提高了30%。

生物识别技术; 人脸识别; 主成分分析算法; 识别率

Class Number TN91

1 引言

伴随着科技的发展,人们希望把科学技术应用于生活,通过这种方式来提高生活的舒适度和安全性,比如当下比较热门的研究课题生物识别技术在门禁系统上的应用,而人脸识别又是智能门禁系统上必不可少的重要环节。人脸识别是生物识别技术中的一种,人脸识别作为生物特征识别中的重要的手段,显示出重要的学术价值[1]。人脸识别的安全性高可靠性强,被广泛用于身份认证、企业考勤、安全部门等生活中的方方面面。

在图像处理领域中,人脸识别技术也是一个非常重要并且热门的研究课题[2],其主要目的就是从人脸图像中提取人的面部特征。国外对于人脸识别研究起步较早,从最初的机械识别阶段到人机交互阶段,直到Karhunen-Loeve变换的提出,为PCA算法在人脸识别上的应用奠定基础,PCA算法于1991年运用到人脸识别领域,这也使得人脸识别进入了一个全智能自动检测的阶段。国内相对于国外虽然起步晚,但是发展迅速,国家863计划、国家科技支撑计划和自然科学基金众多基金项目都对人脸识别的相关研究做出了重要支撑。国内的科研院校、机构及公司也在人脸识别技术上都取得了进展。目前人脸识别的算法有很多,主成分分析法[3]是在国内外被使用最多并且识别率相对较高的一种方法。文献[4]通过使用 PCA算法对图片进行降维,然后对降维后的特征采用LDA算法,训练出一个最具判别力的分类器,可以使PCA对光照的鲁棒性增强;文献[5]通过使用快速积分图提取人脸的Haar特征,然后把阈值设定和Adaboost方法结合,将每次检测的最优弱分类器级联成强分类器,强弱分类器对Harr特征进行判别,来实现人脸部分的检测;文献[6]采用直方图均衡化来有效地进行增强图像;文献[7]通过结合传统PCA算法,提出一种用类内平均脸对类内样本进行规范化的方法,该方法增加类样本的识别距离来提高人脸正确识别率。然而由于现实生活的外部环境是复杂多变的,人的面部表情和姿态、光照强弱、脸部的遮挡物等都可能影响到识别率。本文针对图像采集设备采集人脸图像时会出现的部分问题,在人脸的识别之前进行以下预处理: 1) 对采集到的图像去除随机噪声,有效避免图像一定程度上的失真。 2) 降低因光照不均衡对识别结果造成的影响,可对图像采取直方图均衡化处理。 3) 通过对图像进行归一化处理,可以为后续的人脸识别过程提供大小统一的图像。同时,通过PCA算法和Adaboost算法的相结合,提高人脸识别的速率和降低误识率。

2 人脸检测

Adaboost算法是一种迭代方法[8],算法的原理是根据一定的策略,调整各样本抽样权重,并按照给定的权重累加这些弱分类器,从而得到具有分类意义的弱分类器组成的强分类器,这样有利于对检测精确度的提高。图1为Adaboost算法的级联分类模型。

图1 级联分类模型

Adaboost方法训练人脸检测分类器使用的分类依据是图像的矩形特征[9]。让每级分类器对应一个矩形特征,逐级验证输入的等待检测的窗口,由于整个分类器是由许多子分类器级联组成的,这样可以有效地排除大量的反例样本,即非人脸样本。若经过其中的分类器验证后结果为分人脸,则予以排除,并且不再进入下一级分类器的验证。对于给定的一系列训练样本图像(x1,y1),(x2,y2),…,(xi,yi),…,(xn,yn),其中xi表示第i个样本,yi=0表示其为非人脸样本,yi=1表示其为人脸样本,算法的具体步骤为

2) 选取具有最小错误率ξt的弱分类器ht;

其中Dt(i)表示在第t次循环中第i个样本的权值,H(x)为最终的强分类器,通过使用OpenCV跨平台计算机视觉库和其中的人脸人类器,结合Haar级联脸部检测器可以检测到图像中的正面人脸。

3 基于优化PCA算法的人脸识别

设x为n维的随机输入向量,其相关矩阵为Q,则知Q=E[xxT]。λ1,λ2,…,λn为特征值,按降序排列,同时对应的特征向量分别是ω1,ω2,…,ωn。可以得出

Qωj=λjωj,j=1,2,…,n

(1)

(2)

但是由于现实的外部环境是复杂多变的,人的面部表情和姿态、光照强弱、脸部的遮挡物等都可能影响到识别率。因此PCA人脸算法识别率过低,需进行优化。

分别对图像中值滤波去除随机噪声,对图像进行直方图均衡化处理和使用双线性插值法对图像进行大小的归一化来对PCA算法进行优化,以降低PCA算法对光照的敏感性和提高PCA算法人脸识别的成功率。

3.1 随机噪声去除

根据噪声特点,对去除随机噪声有多种方法,但是大多数是基于中值滤波和均值滤波。其中均值滤波的核心思想即为邻域平均,通过求得某区域的平均值来去除某一像素的突出值。其基本原理使用均值代替原图像的各个像素值。均值滤波能较好地消除图像上的随机噪声,但是,均值滤波会导致图像中不同颜色的分界线上的像素点变模糊,这成为了均值滤波的一个局限。而中值滤波能相对较好地避免此类问题。中值滤波是一种非线性滤波,其主要思想是取像素周围点的像素值,将它们按照大小排列,取中间值,若像素个数为奇数个则取中间值,若像素个数为偶数个则取中间两个像素的平均值,同时由于原始图像是彩色,所以要分别对RGB三个色彩分量进行中值滤波。即

g(x,y)=Med{f(x-k,y-l)}k,l∈W

其中g(x,y),f(x,y)分别为原始图像和处理后的图像,k,l为二维模板W中的像素点。

3.2 直方图均衡化

空间域图像增强比较常用的方法即是直方图均衡化。它是一种常用并且相对容易的光照补偿方法,其作用是消除光照变化带来的影响。通过对图像的直方图均衡化,可增强图像的对比度,同时也使得亮度在直方图上更好地分布,在增强局部的对比度的同时,并不会对整体的对比度造成影响。

对于一副灰度图像,灰度级rk出现的概率pr(rk)为

式中,n是图像中的像素总和,L是图像中可能的灰度级总数,灰度级为rk的像素个数为nk。

3.3 图像归一化处理

图2 双线性插值法

对人脸定位后的图像区域进行放大或者缩小,使采集到的图像大小一致,需进行归一化处理。采用双线性插值法对图像进行归一化处理,如图2所示。将图像坐标缩放后可能面对图中P点坐标为P(x,y)的像素值问题,其中Q11、Q12、Q21、Q22为已知的四个像素点,Q11坐标为(x1,y1),Q12为(x1,y2),Q21为(x2,y1),Q22为(x2,y2)。其中Q22坐标是已经得到的值的像素,一般是原图像坐标正向变化所得。

在x方向进行线性插值,可得R1,R2的像素值为

在y方向进行线性插值,可得P点的像素值

4 实验结果及分析

为了测试改进后的PCA算法在识别率和识别速度上是否有所提高,采用ORL人脸数据库进行实验对比。ORL人脸库是英国剑桥大学的AT&T实验室制作的,共包含40个人的400幅人脸图像,其中每人的10幅照片的表情,拍摄照片的时间,光照,脸部的细节都是不相同的。每幅图像的分辨率为112×92,其灰度级为256个。图3为人脸库中一个人的10幅图像。

图3 ORL库中某一个人的10幅图像

第一组实验从每个人的10幅图像中任选3幅图像作为实验的训练样本,剩下的7幅图像作为实验的测试样本,记作T3。第二组每人任选4张图像进行训练,剩下用于识别,记作T4。以此类推,总共进行五组实验。每组测试20次,通过计算得出20次识别后的平均识别率,即为最终的识别率,分别测试传统的PCA算法和改进后的PCA算法。实验结果如表1和表2所示。

表1 两种方法识别率对比

表2 两种方法识别速率对比(单位:ms)

通过表1可以看出相对于传统型的PCA算法,改进后的算法的识别率得到了提升,说明同样的实验条件下,改进后的算法抗干扰性能更好;通过结合Adaboost算法,标记出人脸在图像中的位置,可以使得PCA算法的检测速度有所提升,通过表2可以得此结论。对原始图像进行预处理,并且与Adaboost算法相结合,可以明显提高人脸识别率,同时识别速度也得到了提升。

5 结语

1) 通过引入学习PCA算法并在人脸识别上的实现,提出对原始图像进行去噪声、直方图均衡化处理、大小归一化处理三种预处理方法,来增强PCA算法应用于人脸识别时的抗干扰性能,相对于原始的PCA算法,优化后的PCA算法识别率提高了10%。

2) 将Adaboost算法应用于人脸检测,提出把Adaboost算法和PCA算法相结合,提高了人脸识别的速度,同时降低了误识率,实验可以得到,两种算法结合后,识别速度提高了30%。

由实验结果可以看出,优化后的PCA算法的识别率提高,对光照的敏感性有所降低,识别速度有所提升,可以为用户提供更可靠的人脸识别服务。

[1] 梁路宏,艾海舟,徐光佑,等.人脸检测研究综述[J].计算机学报,2002,25(5):449-458. Liang Luhong, Ai Haizhou, Xu Guangyou et al. A Survey of Human Face Detection[J]. Chinese Journal of Computers,2002,25(5):449-458.

[2] 黄华盛,杨阿庆.基于PCA算法的人脸识别[J].电子科技,2015(8):98-101. HUANG Huasheng, YANG Aqing. Face Recognition Based on PCA Algorithm[J]. Department of Computer Science,Guangdong University of Science & Technology,2015(8):98-101.

[3] 张媛,张燕平.一种PCA算法及其应用[J].微机发展,2005(2):67-68,72. ZHANG Yuan, ZHANG Yanping. An Algorithm of PCA and Its Application[J]. Microcomputer Development.,2005(2):67-68,72.

[4] 伊力哈木·亚尔买买提.基于改进型PCA和LDA融合算法的人脸图像识别[J].计算机仿真,2013(1):415-418,426. YILihamu·YAErmaimaiti. Human Face Reconition Based on Improve PCA and LDA Fusion Algroithm[J].Computer Simulation.,2013(1):415-418,426.

[5] 李盛文,鲍苏苏.基于PCA+AdaBoost算法的人脸识别技术[J].计算机工程与应用,2010(4):170-173. LI Shengwen, BAO Susu. Recognition based on PCA+AdaBoost algorithm[J].Computer Engineering and Applications,2010(4):170-173.

[6] 赵勇文,修春波.AdaBoost人脸检测算法在人脸定位时的实现[J].科技致富向导,2010,21:47-48. ZHAO Yongwen, XIU Chunbo. Realization of AdaBoost Algorithmin the Drivers’ Fatigue Inspection System[J].Guide of Sci-tech Magazine,2010,21:47-48.

[7] Phimoltares S,Lursinsap C,Chamnongthai K. Face detection and facial feature localization without considering the appearanceof image context [J]. Image and Vision Computing(S0262-8856),2007,25(5):741-753.

[8] Paul Voila,Michael Jones. Robust real-time face detection [J]. International Journal of Computer Vision(S1573-1405),2004,57(2):137-154.

[9] Ma Yong, Ding Xiaoqing, Wang Zhenger, et al. Robust precise eye location under probabilistic framework[ C]//Seoul, Republic of Korea:[ s. n. ], 2004:339-344.

[10] 赵江,徐鲁安.基于AdaBoost算法的目标检测[J].计算机工程,2004,30(2):78-83. ZHAO Jiang, Xu Luan. Object Detection Based on AdaBoost Algorithm[J].Computer Engineering,2004,30(2):78-83.

Improvement of Human Face Recognition Algorithm Based on PCA

REN Anhu WANG Lei

(Institute of Electronic Information Engineering, Xi’an Technology University, Xi’an 720021)

With the rapid development of biometrics, human face recognition technology has become a research hotspot. PCA algorithm is one of the most adopted algorithms for human face recognition, and has gained wide recognition for its high identification speed and accuracy. Conversely, with external interference factors, traditional PCA algorithm is affected in its identification efficiency. The results of the present experiment indicate that identification accuracy and anti-jamming of algorithm are improved through combining with Adaboost algorithm and adopting three pretreatment methods in original image processing: de-noise processing, histogram equalization and histogram normalization.The experiment result shows that the identification of improved PCA has increased 10% than traditional PCA algorithm, and identification speed has increased 30%.

biometrics, face identification, PCA algorithm, identification efficiency

2016年5月10日,

2016年6月27日

陕西科学技术研究发展计划项目(编号:2014K05-19);西安工业大学校长基金(编号:XAGDXJJ1214)资助。作者简介:任安虎,男,硕士,副教授,研究方向:通信与信息处理。王磊,男,硕士,研究方向:嵌入式系统与图像处理。

TN91

10.3969/j.issn.1672-9722.2016.11.002

猜你喜欢

均衡化识别率直方图
符合差分隐私的流数据统计直方图发布
基于FPGA的直方图均衡图像增强算法设计及实现
用直方图控制画面影调
档案数字化过程中OCR技术的应用分析
中考频数分布直方图题型展示
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
基础教育均衡化的实施对于现阶段教育发展的重要性
人工智能现状和发展
EDIUS 5.1音量均衡化