收藏 分享(赏)

基于二维pca和svm算法的人脸识别系统.doc

上传人:无敌 文档编号:154423 上传时间:2018-03-22 格式:DOC 页数:9 大小:146.50KB
下载 相关 举报
基于二维pca和svm算法的人脸识别系统.doc_第1页
第1页 / 共9页
基于二维pca和svm算法的人脸识别系统.doc_第2页
第2页 / 共9页
基于二维pca和svm算法的人脸识别系统.doc_第3页
第3页 / 共9页
基于二维pca和svm算法的人脸识别系统.doc_第4页
第4页 / 共9页
基于二维pca和svm算法的人脸识别系统.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、基于二维 PCA 和 SVM 算法的人脸识别系统 李德福 黄新 桂林电子科技大学电子工程与自动化学院 摘 要: 为了使人脸识别算法能快速准确地识别人脸身份, 提出了基于二维 PCA 与 SVM算法相结合的人脸识别算法。在 PCA 算法提取特征的基础上, 运用二维 PCA 算法对人脸进行特征提取。利用 SVM 多类分类器寻找人脸样本之间的最优分割超平面, 对特征人脸进行训练和分类。对未训练的人脸进行二维 PCA 特征提取, 再用 SVM 多类分类器进行识别, 与训练的人脸库中的人脸进行匹配, 确定人脸身份。实验结果表明, 基于二维 PCA 和 SVM 算法的人脸识别系统具有更快的识别速度和更高的

2、准确度。关键词: 人脸识别; 二维 PCA; 特征提取; SVM; 作者简介:黄新 (1978-) , 男, 湖北黄冈人, 副教授, 研究方向为可测性设计、图像处理。E-mail:收稿日期:2017-02-27基金:广西自动检测技术与仪器重点实验室主任基金 (YQ14105) Face recognition system based on two-dimensional PCA and SVM algorithmLI Defu HUANG Xin School of Electronic Engineering and Automation, Guilin University of Ele

3、ctronic Technology; Abstract: In order to identify the face quickly and accurately, face recognition algorithm based on two dimensional PCA and SVM is proposed.Based on the characteristics of PCA algorithm, two-dimensional PCA algorithm is used to extract the feature of human face.SVM multiclass cla

4、ssifier is used to find the optimal split hyperplane between face samples, and training and classification of characteristic faces are carried out with SVM.The two-dimensional PCA feature extraction is carried out on the untrained face, then SVM multiclass classifier is used to identify and match th

5、e face in the trained face database to determine the face identity.The experimental results show that the face recognition system based on 2 DPCA and SVM has faster recognition speed and higher accuracy.Keyword: face recognition; two-dimensional PCA; feature extraction; SVM; Received: 2017-02-27人脸识别

6、技术已经成为模式识别和人工智能领域的一个研究热点, 被广泛应用于公安部门、安全认证系统、信用卡验证、档案管理和人机交互系统等领域1-3。因此, 人脸识别技术在学术界和商业界都受到广泛的青睐。人脸识别技术是对人脸图像进行分析与理解, 对人脸图像提取特征, 进行分类和识别的过程。在一些公共场合的视频监控领域, 人脸识别技术能快速确定视频中的人脸身份。在安全支付中, 可以使用人脸识别系统进行身份认定并安全支付。在档案管理和密码管理中都可以使用人脸识别技术, 减少过去的繁琐步骤。总之, 一个稳定、高效的人脸识别系统不仅是科技上的突破, 而且改变了人们的生活方式。人脸识别系统主要由人脸图像输入、人脸特征

7、提取、人脸特征分类、识别匹配人脸模块组成, 而特征提取和分类识别是人脸识别系统的核心部分3。早期的人脸识别是基于图像的灰度值、直方图特征进行分类的, 因此识别的性能不理想。20 世纪 90 年代后, 麻省理工提出了经典的特征人脸算法, Belhumeur 等提出了 PCA 算法结合 LDA 的人脸识别算法, 而 AdaBoost 算法在人脸检测方面取得突破性进展3。20 世纪后, 3D 人脸识别算法、2D 人脸识别算法、支持向量机 (SVM) 的分类算法和基于深度学习的识别算法在人脸识别上取得非凡的效果3。人脸识别算法在广大研发人员的努力下不断优化, 当前有比较经典的 PCA 算法提取特征,

8、SVM 以统计分析知识分类人脸, 卷积神经网络算法直接对大量的人脸图进行训练, 还有更多的改进 2D 人脸识别算法。鉴于此, 在分析 PCA 算法的基础上, 用二维 PCA (2DPCA) 算法对人脸图进行特征提取, 再经过 SVM 分类器对人脸分类识别。1 2DPCA 和 SVM 算法的人脸识别人脸识别算法主要分为特征提取和特征分类识别两大核心部分。采用 2DPCA 算法对人脸进行特征提取, 用 SVM 算法对提取特征后的人脸进行分类识别。1.1 PCA 算法原理将人脸图像看作一个矩阵, 图像的像素则是矩阵的元素, 而人脸图像则是一个维数巨大的矩阵。若直接使用原人脸图像进行分类识别, 则会给

9、后期的计算和分类带来维数灾难。因此, 需要采用降维的方法对人脸图像进行特征提取。PCA算法是一种把高维的空间向量提取主要特征变换到低维的向量空间中的线性主成份分析法。使用 PCA 算法将人脸从高维的空间转换到低维的空间, 提取主要的人脸特征, 并在低维空间中描述出来, 这个描述即是特征脸。使用 PCA 算法可以将人脸提取特征转换为特征脸的步骤如下4-6。假设总数为 M 张的样本人脸图片, 每张图片大小为 mn 个像素, 用 mn 阶矩阵 Ai (i=1, 2, , M) 表示, 1) 将矩阵 Ai的按每行首尾相接转换成一个列向量 xi, 则 M 个样本人脸图可以得到 M 个列向量 xi, i=

10、0, 1, , M。2) 求平均人脸图的列向量:3) 求样本差值脸及协方差矩阵。差值脸 , 并且构造样本的协方差矩阵 C:其中 Z= (z1, z2, , zM) 。4) 求最优的投影特征子空间。求协方差矩阵 C 的特征值和其对应的特征向量, 并且取一定数目 d 的相关性最大的特征值及其特征向量, 以 d 个特征向量构成最优投影的人脸特征子空间 U:5) 求投影到特征子空间的特征脸。将每个样本差值脸 zi投影到人脸特征子空间, 即降维后的特征脸为具有 d 维的列向量:由于在步骤 (4) 中计算矩阵 Z Z 的维数较大, 直接求其特征值及其特征向量较复杂。所以实验中根据矩阵 A 与其转置的乘积的

11、特征值等于矩阵 A 的转置与矩阵 A 的乘积的特征值原理, 求出 ZZ 的前 d 个非零特征值 i及其特征向量 vi, 然后再由奇异值分解定理得到 Z Z 的正交归一化特征向量从而得到特征脸子空间:通过以上的 PCA 优化方法计算特征子空间相对简单些, 但当其样本数 M 较大的情况下, 其运算量和降维后的矩阵依然较大。1.2 2DPCA 算法特征提取通过对 PCA 算法的分析, 对于 PCA 的改进, Yang 等6提出了基于 2DPCA 的人脸识别算法。鉴于此, 对 2DPCA 算法进行研究和优化, 将其与 SVM 算法结合对人脸进行识别。2DPCA 算法直接对人脸图像矩阵进行相关运算6,

12、避免了 PCA算法的行列向量转换而生成一个巨大维数的矩阵给后面带来复杂的运算。2DPCA算法提取特征的原理和 PCA 算法类似, 都是为了寻找最优的投影特征子空间。2DPCA 算法步骤5-7如下。同样, 假设训练样本图像总数为 M, 每一幅人脸图为矩阵 Ai。1) 求出总训练样本的平均人脸:2) 求样本的差异脸和协方差矩阵。差值脸为:Z i=Ai-E (A) ;协方差矩阵:3) 构建最优投影矩阵。利用协方差矩阵的前 d 个特征值 1 2 d及其对应的单位正交特征向量 1, 2, , d, 构建最优的投影特征子空间矩阵:4) 将差值脸映射到投影特征子空间的特征人脸 Ti:比较 2DPCA 算法与

13、 PCA 算法提取特征后得到的特征脸, 2DPCA 算法无需将每张人脸矩阵转换为行向量, 而直接对每张人脸矩阵进行计算。因此, 2DPCA 算法提取特征具有如下优点:1) 协方差矩阵变小了, 适合训练大的样本集;2) 简化计算复杂度, 减少运算时间;3) 通过取相同维数的特征向量, 2DPCA 算法能更好地保留样本的特征, 保存更多的人脸能量。分别用 2DPCA 算法和 PCA 算法对 ORL 人脸库中的同一人脸图进行相同维数的特征提取, 转换成子空间中的特征脸。ORL 人脸库中包含 40 个人的人脸, 每个人的人脸有 10 张不同姿态的人脸图, 并且每张人脸图的尺寸为 11292 像素。而实

14、验采用每个人的前 5 张人脸构成训练人脸集, 因此训练人脸集共有 405 张人脸图, 并以此训练样本集, 分别求出 PCA 和 2DPCA 的具有 d 维主成分的特征子空间;然后用 ORL 库中的未训练过的人脸图作为测试样本, 对其进行特征提取, 求出测试脸在特征子空间中的特征脸。2DPCA 提取的主成分特征脸如图 1 所示。PCA 提取的主成分特征脸如图 2 所示。图 1 2DPCA 提取的主成分特征脸 Fig.1 Principal component eigenface with 2DPCA 下载原图图 2 PCA 提取的主成分特征脸 Fig.2 Principal component

15、eigenface with PCA 下载原图从图 1、2 可看出, 当提取的主成分维数相同时, 2DPCA 算法提取出的特征脸与原始人脸更相近, 并且当 2DPCA 提取的主成分维数为 30 时, 其与原人脸的相似度已经很高且趋于稳定。将图 1 与图 2 对比可知, 2DPCA 对人脸提取的主要特征更具代表性。1.3 SVM 分类器的设计SVM 分类器是一种基于统计学习理论和结构风险最小原理的分类算法, 用来提高学习机的泛化能力, 实现经验风险和期望风险最小化8。SVM 的学习策略是间隔最大化, 寻找能够分开两类样本并具有最大分类间隔的最优分类超平面9。SVM 分类器的原理是通过非线性变换将

16、低维空间中的非线性分类的样本映射成高维空间中的线性可分样本, 然后在映射后的高维空间线性样本中构建最优的分类超平面9。其非线性变换是由选择适当的内积函数得到的, 内积函数称为SVM 核函数, 即其中 :RR, 即低维空间到高维空间的非线性变换, 这样将低维空间中非线性的样本变换到高维空间中的线性样本, 并且把高维空间中的内积运算简化为通过核函数 K (xi, xj) 来计算2,9。工程应用和实验中常用到的核函数有以下几种:1) 多项式核函数:2) RBF 核函数:3) S 型核函数:将 PCA 和 2DPCA 算法的特征脸进行数据归一化处理, 再通过 SVM 分类。采用最大最小规格化的方法进行

17、数据归一化处理, 找到数据的最大值和最小值, 通过将数据 v 映射到-1, 1范围。通过式 (15) 可以确定数据经归一化处理后的新值。这样消除了由于分类的数据大小范围不一而造成的距离分类错误, 保证了使用 SVM 分类的公正、合理性, 使其识别具有更好的稳定性。SVM 的核函数是一种 RBF 核函数。RBF 核函数参数的确定是一个优化问题, 关系着 SVM 的测试机的识别率。实验使用的是 LIBSVM 中林智仁提供的一个非常实用的基于交叉验证和网格搜索的参数选择方法2。错误代价系数 C=128, =0.007 812 5。对于多类别样本的分类, 采用的分类策略是一对一的投票方式, 构建 SV

18、M 多类分类器。在 SVM 多类分类器训练阶段, 训练的样本类别 n=40, 构建了 n (n-1) /2 个二分器。这样把每个类别与其他的类别进行对比, 求取最优分类平面8-9,然后把每个 SVM 二分器的训练结果都保存到一个结构体的成员数组中。2 人脸识别系统组建与测试2.1 人脸识别系统组建设计的人脸识别系统主要包括人脸输入、人脸特征提取、特征脸分类与识别和识别结果输出四部分。其系统软件结构如图 3 所示。图 3 系统软件结构 Fig.3 System software structure 下载原图在人脸识别系统进行训练和测试时, 需要设置训练和测试的人脸存放目录, 系统自动遍历该目录下

19、的人脸;然后通过 2DPCA 算法求出人脸集的特征脸;再用SVM 多类分类器进行分类训练;测试时, 加载训练得到的 SVM 多分类器的描述文件进行识别分类;最后系统输出识别的时间、识别的错误个数。当进行单张人脸识别时, 系统输出识别的人脸身份, 并显示识别的人脸图。2.2 人脸识别系统测试人脸识别系统的界面设计包括待识别人脸、识别匹配的人脸显示、参数的选择。先用 ORL 的人脸库中 40 个人中每人的前 5 张人脸分别进行 PCA 和 2DPCA 特征提取, 得到 405 张特征脸, 再用 SVM 分类器训练和分类特征脸, 把分类的类别描述文件保存下来。测试过程中, 使用 ORL 库中的任一张

20、未训练的人脸进行测试。首先, 打开一张未训练的人脸图, 用 2DPCA、PCA 分别进行特征提取, 然后再加载保存的类别描述文件, 用 SVM 分类器识别测试脸, 并将匹配到的人脸显示到界面, 其识别结果如图 4、5 所示。从图 4、5 可看出, 2DPCA+SVM 算法对人脸识别的准确率更高。图 4 2DPCA+SVM 的单样本人脸识别结果 Fig.4 Single sample face recognition with 2DPCA+SVM 下载原图图 5 PCA+SVM 的单样本人脸识别结果 Fig.5 Single sample face recognition with PCA+SV

21、M 下载原图对 ORL 库中的 40 个人中每人的未训练的后 5 张人脸图像进行测试。因此, 测试的总人脸数为 405 张, 将测试的错误人脸数进行统计分析, 并计算其正确的识别率。由于在实验中测试的总人脸数为 200 张, 每次测试结果输出识别错误的人脸个数, 统计其识别率为:其中 e 为识别的错误个数。分别使用 2DPCA+SVM 相结合的算法和 PCA+SVM 相结合的算法对 ORL 未训练的全部人脸进行测试, 统计的测试数据如表 1 所示。表 1 人脸识别性能比较 Tab.1 Comparison of face recognition performance 下载原表 3 结束语对

22、PCA 算法的人脸特征提取进行了改进, 用 2DPCA 算法对人脸进行特征提取, 并将提取主成分后的特征脸使用 SVM 分类器进行分类识别。基于此, 设计了基于 2DPCA 和 SVM 算法的人脸识别系统, 并对其进行测试, 统计其识别率。实验结果表明, 2DPCA 与 SVM 结合的算法识别性能比 PCA 与 SVM 结合的算法识别性能好, 为下一步实现嵌入式平台的人脸识别系统做了算法研究准备。参考文献1林宇生, 王建国, 杨静宇.一种对角 LDA 算法及其在人脸识别上的应用J.中国图象图形学报, 2008, 13 (4) :686-690. 2张铮, 王艳平, 薛桂.数字图像处理与机器视觉

23、:Visual C+Matlab 实现M.北京:人民邮电出版社, 2010:379-404. 3曹林.人脸识别与人体动作识别技术及应用M.北京:电子工业出版社, 2015:2-4. 4全海燕, 黄海波.基于 2DPCA 和 PCA 的特征提取的人脸识别算法研究D.昆明市:昆明理工大学, 2013:12-20. 5VYTAUTAS P.Distance measures for PCA-based face recognitionJ.Pattern Recognition Letters, 2004, 25 (6) :711-724. 6罗婵娟, 朱嘉钢.快速二维 PCA 方法在人脸识别中的应用研究D.无锡:江南大学, 2013:23-24. 7万鸣华, 刘中华, 金忠.一种基于 2DPCA 和 SVM 的人脸识别方J.通信技术, 2009, 42 (5) :100-102. 8孙明, 孙红.数字图像理解与智能技术:基于 Matlab 和 VC+实现M.北京:电子工业出版社, 2015:97-105. 9王国胜, 钟义信.支持向量机的理论与算法研究D.北京:北京邮电大学, 2007:40-42.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报