MATLAB-PCA人脸识别算法.pdf_第1页
MATLAB-PCA人脸识别算法.pdf_第2页
MATLAB-PCA人脸识别算法.pdf_第3页
MATLAB-PCA人脸识别算法.pdf_第4页
MATLAB-PCA人脸识别算法.pdf_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 基于基于 PCAPCA 的人脸识别算法的人脸识别算法 Alen Fielding 摘摘要要:文章具体讨论了主成分分析( PCA)人脸识别算法的原理及实现。它具有简单、快速和易行 等特点,能从整体上反映人脸图像的灰度相关性具有一定的实用价值。 关键词关键词:人脸识别;PCA;生物特征;识别技术 中图分类号中图分类号: TP302文献标识码文献标识码: A Face recognition method based on PCA Zhangjinhua (Information engineering college,Southwest university of science and technology,Sichuan,621010, China) Abstract : The paper discussed the principal component analysis (PCA) face recognition algorithm of principle and realization. It is simple, rapid and easy wait for a characteristic, can reflect from whole face image gray correlation has certain practical value. Key words : Face recognition; PCA; Biological characteristics; Recognition technology 1 1 引言引言 PCA,即 Principal Component Analysis,主成分分析方法,是一种得到广泛应用 的事实上的标准人脸识别方法。传统主成分分析方法的基本原理是:利用 K-L 变换抽 取人脸的主要成分,构成特征脸空间,识别时将测试图像投影到此空间,得到一组投 影系数,通过与各个人脸图像比较进行识别。这种方法使得压缩前后的均方误差最小, 且变换后的低维空间有很好的分辨能力。 2 2 K-LK-L 变换变换 PCA 方法是由 Turk 和 Pentlad 提出来的, 它的基础就是 Karhunen-Loeve 变换 (简 称 K-L 变换) ,是一种常用的正交变换。首先对 K-L 变换作一个简单介绍: 假设 X 为 n 维的随机变量,X 可以用 n 个基向量的加权和来表示: X= n i a 1 ii 式中:i是加权系数,i是基向量,此式可以用矩阵的形式表示: X =(1,2,3,n)( 1, 2, n)= 2 系数向量为: = TX 综上所述,K-L 展开式的系数可用下列步骤求出: 步骤一求随机向量 X 的自相关矩阵 R=EX TX,由于没有类别信息的样本集的均值向 量,常常没有意义,所以也可以把数据的协方差矩阵=E(x-)(x-) T作 为 K-L 坐标系的产生矩阵,这里是总体均值向量。 步骤二求出自相关矩阵或者协方差矩阵R的本征值i和本征向量i,=(1,2, 3,n) 步骤三展开式系数即为= TX K-L 变换的实质是建立一个新的坐标系, 将一个物体主轴沿特征矢量对齐的转变换, 这个变换解除了原有数据向量的各个分量之间相关性,从而有可能去掉那些带有较少 信息的坐标系以达到降低特征空间维数的目的。 3 3 PCAPCA 方法方法 PCA 方法, 也被叫做特征脸方法(eigenfaces), 是一种基于整幅人脸图像的识别算法, 被广泛用于降维, 在人脸识别领域也表现突出。 一个 NN 的二维脸部图片可以看成是 N 的一个一维向量,一张 11292 的图片可以看成是一个 10,304 维的向量,同时也可以 看成是一个 10,304 维空间中一点。图片映射到这个巨大的空间后,由于人脸的构造相 对来说比较接近,因此,可以用一个相应的低维子空间来表示。我们把这个子空间叫做 “脸空间” 。 PCA 的主要思想就是找到能够最好地说明图片在图片空间中的分布情况的那 些向量。这些向量能够定义“脸空间” ,每个向量的长度为 N,描述一张 NN 的图片, 并且是原始脸部图片的一个线性组合。对于一副 M*N 的人脸图像,将其每列相连构成一 个大小为 D=M*N 维的列向量。D 就是人脸图像的维数,也即是图像空间的维数。设 n 是 训练样本的数目; Xj表示第 j 幅人脸图像形成的人脸向量, 则所需样本的协方差矩阵为: Sr= 1 ()() N T ji j xu xu (1) 其中 u 为训练样本的平均图像向量: u = 1 1 n j j x n (2) 令 A=x1-u x2-uxn-u,则有 Sr=AA T,其维数为 D*D。 3 根据 K-L 变换原理,需要求得的新坐标系由矩阵 AA T的非零特征值所对应得特征向 量组成。直接计算的计算量比较大,所以采用奇异值分解(SVD)定理,通过求解 A TA 的特征值和特征向量来获得 AA T的特征值和特征向量。 依据 SVD 定理,令 li(i=1,2,r)为矩阵 A TA 的 r 个非零特征值,v i为 A TA 对应 于 li的特征向量,则 AA T的正交归一特征向量 u i为: 1 ii i uAv l (i=1,2,r)(3) 则特征脸空间为:w=(u1,u2 ur,)。 将训练样本投影到“特征脸”空间,得到一组投影向量=w Tu,构成人脸识别的数 据库。在识别时,先将每一幅待是识别的人脸图像投影到“特征脸”空间,再利用最近 邻分类器的比较其与库中人脸的位置,从而识别出该图像是否是库中的人脸,如果是, 是哪一个人脸。 4 4 利用利用 PCAPCA 进行人脸识别进行人脸识别 完整的 PCA 人脸识别的应用包括几个步骤:人脸图像预处理;读入人脸库,训练形 成特征子空间;把训练图像和测试图像投影到上一步骤中得到的子空间上;选择一定的 距离函数进行识别。 本文采用 matlab7.5 作为工具平台, 实现了一个人脸自动识别的系统原型。实验在 样本图库英国剑桥大学的 ORL( Olivetti Research Laboratory) 人脸库上进行,它为网 上下载的国外标准人脸数据库。ORL 库包含 40 个人,每个人 10 副图像,共计 400 幅人 脸正面图像,每幅图像大小为 92112,图像是在不同时间,光线轻微变化的条件下摄制 的,其中包括姿态、光照和表情的差别。其中部分如图 1 所示: 图 1ORL 人脸数据库中的 5 幅图像 该数据库提供了经过预处理的人脸训练集和测试集。 选取前 5 张人脸图像作为训练 样本,后 5 张人脸图像作为测试样本。本实验运行的环境是 IntelCelero n CPU 2.00GHz 处 理器、512MB 内 存,Window s XP 操作系统,对 ORL 人脸库样本训练时间为 70. 91s, 4 识别率为 90% ,训练样本数目多增加人脸特征库的容量,会几何级增加人脸识别核心算 法的时间和空间复杂度。 在识别结果的显示窗口中, 一共显示了在整个人脸图像库中最 小的10 个欧氏距离,它们的排列也是从小到大进行排列的,同时, 换句话说,这10 个欧 氏距离,也就分别代表了与实验中选取的待识别的人脸图像最相近的 10 幅人脸图像。 距 离最近, 当然也就是我们实验所需识别的人脸图像。 下面详细描述整个过程: 4.1读入人脸库 归一化人脸库后,将库中的没人选择一定数量的图像构成训练集,其余的构成测 试集。设归一化后的图像时 n*m 维,按列相连就构成 N=n*m 维矢量,可视为 N 维空间中 的一个点,可以空过 K-L 变换用一个低维子空间描述这个图像。 4.2计算通过 K-L 变换的生成矩阵 所有训练样本的协方差矩阵为(以下三个等价) ; a. C1=( 1 . M kk k x x T)/M-m x.mx T b. C1=(A.A T)/M (1) c. C1= 1 ()() M T ixix i xmxm /M A=(12,m), i=xi-mx,其中 mx是平均人脸,M 是训练人脸数,协方差矩 阵 C1是一个 N*N 的矩阵,N 是 xi的维数。 为了方便计算特征值和特征向量,一般选用第二个公式。根据 K-L 变换原理,我 们所求的新坐标即由矩阵 A.A T的非零特征值所对应的特征向量组成。直接求 N*N 大小 矩阵的 C1的特征值和正交归一特征向量是很困难的,根据奇异值分解原理,可以通过 求解 A TA 的特征值和特征向量来获得 AAT的特征值和特征向量。 4.3识别 利用公式 Y=U T*X,首先把所有图片进行投影,然后对于测试图片也进行同样的投 影,采用判别函数对投影系数进行识别。 5 5 结论与展望结论与展望 5 人脸识别是目前较活跃的研究领域, 本文详细给出了基于主成分分析 的人脸特征提取的原理与方法。 并使用 matlab 作为工具平台, 实现了一个 人脸自动识别的系统原型。 实验结果表明, 该系统识别率为 85%, 达到预期 的效果。如果想进一步提高人脸识别率, 可以考虑与其他方法结合。仅单 独使用任何一种现有的方法一般都不会取得很好的识别效果, 将其他人脸 识别方法组合是今后研究的一种趋势。也可以考虑改进分类决策的方法。 本系统采用的最小距离分类法属于线性的分类器, 而利用神经网络这类学 习能力更强的非线性分类器对高维人脸识别问题可能会有更好的解决。 参考文献参考文献: 1邓楠, 基于主成份分析的人脸识别. 2006.06. 2龚勋, PCA 与人脸识别及其理论基础. 2007.04. 3田印中, 董志学, 黄建伟,基于 PCA 的人脸识别算法研究及实现. 2010.03. 4李华胜, 杨桦,袁保宗. 人脸识别系统中的特征提取. 2001,06. 5温福喜, 刘宏伟.基于 2D PCA 和 2D LDA 的人脸识别方法. 2007.08. 6李刚, 高政.人脸识别理论研究进展. 2003, 01. 7张翠平, 苏光大.人脸识别技术综述. 2000, 05. 8罗昊, 孟传良.基于特征脸和 LDA 的人脸识别.2005,12 附录附录-Matlab源代码源代码: function FaceRecognition 6 clear % calc xmean,sigma and its eigen decomposition allsamples=;%所有训练图像 for i=1:40 for j=1:5 a=imread(strcat(D:rawdataORLs,num2str(i),num2str(j),.pgm); % imshow(a); b=a(1:112*92); % b是行矢量 1N,其中N10304,提取顺序是先列后行,即从上 到下,从左到右 b=double(b); allsamples=allsamples; b;% allsamples 是一个M * N 矩阵,allsamples 中每一行数据代表一张图片,其中M200 end end samplemean=mean(allsamples); % 平均图片,1 N for i=1:200 xmean(i,:)=allsamples(i,:)-samplemean; % xmean是一个M N矩 阵,xmean每一行保存的数据是“每个图片数据-平均图片” end; sigma=xmean*xmean;% M * M 阶矩阵 v d=eig(sigma); d1=diag(d); d2 index=sort(d1); %以升序排序 cols=size(v,2);% 特征向量矩阵的列数 for i=1:cols vsort(:,i) = v(:, index(cols-i+1) ); % vsort 是一个M*col(注:col一般等于 M)阶矩阵,保存的是按降序排列的特征向量,每一列构成一个特征向量 dsort(i)= d1( index(cols-i+1) );% dsort 保存的是按降序排列的特征值, 是一维行向量 end%完成降序排列 %以下选择90%的能量 dsum = sum(dsort); dsum_extract = 0; p = 0; while( dsum_extract/dsum 0.9) p = p + 1; dsum_extract = sum(dsort(1:p); end i=1; % (训练阶段)计算特征脸形成的坐标系 while (i0) base(:,i) = dsort(i)(-1/2) * xmean * vsort(:,i);% base是Np阶矩 阵,除以dsort(i)(1/2)是对人脸图像的标准化,详见基于PCA的人脸识别算法研究p31 7 i = i + 1; end % add by wolfsky 就是下面两行代码,将训练样本对坐标系上进行投影,得到一个 M*p 阶矩 阵allcoor allcoor = allsamples * base; accu = 0; % 测试过程 for i=1:40 for j=6:10 %读入40 x 5 副测试图像 a=imread(strcat(D:rawdataORLs,num2str(i),num2str(j),.pgm); b=a(1:10304); b=double(b); tcoor= b * base; %计算坐标,是1p阶矩阵 for k=1:200 mdist(k)=norm(tcoor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论