基于pca和svm的人脸识别方法

基于pca和svm的人脸识别方法

ID:27107769

大小:199.50 KB

页数:9页

时间:2018-12-01

基于pca和svm的人脸识别方法_第1页
基于pca和svm的人脸识别方法_第2页
基于pca和svm的人脸识别方法_第3页
基于pca和svm的人脸识别方法_第4页
基于pca和svm的人脸识别方法_第5页
资源描述:

《基于pca和svm的人脸识别方法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于PCA和SVM的人脸识别方法一、PCA算法1计算特征脸设人脸图像f(x,y)为二维灰度图像,用维向量表示。人脸图像训练集为,其中为训练集中图像总数。这幅图像的平均向量为:对训练样本规范化,即每个人脸与平均人脸的差值向量:其中列向量表示一个训练样本。训练图像由协方差矩阵可表示为:其中训练样本维矩阵特征脸由协方差矩阵的正交特征向量组成。对于维人脸图像,协方差矩阵的大小为×,对它求解特征值和特征向量是很困难的,由此引入奇异值分解定理来解决维数过高的问题。2奇异值分解定理奇异值分解定理(SingularValueDe

2、composition简称SVD定理)原理表述如下:其中是一个秩为的维矩阵,则存在两个正交矩阵:以及对角矩阵且满足下试:其中:为矩阵和的非零特征值,与分别为和对应于的特征向量。上述分解称为矩阵的奇异值分解(简称SVD),为的奇异值。由上述定理可以得到一个推论:由于协方差矩阵,故构造矩阵:,容易求出其特征值及相应的正交归一特征向量。有上述推论可知,的正交归一特征向量为:这就是图像的特征向量,它是计算低维矩阵的特征值和特征向量而间接求出来的。实际上个特征值足够用于人脸识别。因此仅取的前个最大特征值的特征向量计算特征脸

3、。3特征向量的选取我们总共得到了(训练样本数目)个特征向量。虽然比小很多。但通常情况下,仍然会太大。根据应用的要求,并不是所有的都有很大的保留意义。考虑到使用变换做为对人脸图像的压缩手段,可以选取最大的前个特征向量,使得:在实际中,可以选择,或者自定义的其他值。这说明样本集在前个轴上的能量占到整个能量的90%以上。4基于特征脸的人脸识别基于特征脸的人脸识别过程由训练阶段和识别阶段两个阶段组成。在训练阶段,每个已知规范化后的人脸映射到由特征脸张成的子空间上,得到维向量:其中,,为人脸数目。在识别阶段,首先把待识别的

4、图像规范化后的人脸映射到特征脸空间,得到向量:其中为降维之后的向量二、支持向量机的算法(1)已知训练集,其中,,。(2)选择核函数和惩罚参数C,构造并求解最优化问题:得最优解。(3)计算,可通过满足的样本(支持向量)求得。(4)解决上述问题后可得最优分类面函数:一个修改后的PCA+SVM进行人脸识别的Matlab代码tic;allsamples=[];%所有训练图像tcoor=[];fori=1:40forj=1:5a=imread(strcat('D:MATLAB7workORLs',num2str(i

5、),'',num2str(j),'.pgm'));%imshow(a);b=a(1:112*92);%b是行矢量1×N,其中N=10304,提取顺序是先列后行,即从上到下,从左到右b=double(b);allsamples=[allsamples;b];%allsamples是一个M*N矩阵,allsamples中每一行数据代表一张图片,其中M=200endendsamplemean=mean(allsamples);%平均图片,1×Nfori=1:200xmean(i,:)=allsamples(i,:)-

6、samplemean;%xmean是一个M×N矩阵,xmean每一行保存的数据是“每个图片数据-平均图片”end;sigma=xmean*xmean';%M*M阶矩阵[vd]=eig(sigma);d1=diag(d);[d2index]=sort(d1);%以升序排序cols=size(v,2);%特征向量矩阵的列数fori=1:colsvsort(:,i)=v(:,index(cols-i+1));%vsort是一个M*col(注:col一般等于M)阶矩阵,保存的是按降序排列的特征向量,每一列构成一个特征向量

7、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));endi=1;%(训练阶段)计算特征脸形成的坐标系while(i<=p&&dsort(i)>0)base(:,i)=dsort(i)^(-1/2)*xmean'*vsor

8、t(:,i);%base是N×p阶矩阵,除以dsort(i)^(1/2)是对人脸图像的标准化,详见前文。i=i+1;end%将训练样本对坐标系上进行投影,得到一个M*p阶矩阵allcoorallcoor=allsamples*base;accu=0;%测试过程fori=1:40forj=6:10%读入40x5副测试图像a=imread(strcat('D:MATLAB7

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。