工程实践课程设计报告_第1页
工程实践课程设计报告_第2页
工程实践课程设计报告_第3页
工程实践课程设计报告_第4页
工程实践课程设计报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

人脸识别的具体实现一个完整的人脸识别系统由以下几个环节组成,人脸检测,特征提取,和分类识别。人脸检测即为从输入的静止图像或序列图像中检测图像是否包含人脸。因为本次实验主要是验证PCA和KNN算法的精度,所以选择的图像都是包含人脸的图像。实验中采用PCA算法对特征进行提取,用KNN算法对实验结果进行检测,测定测试图像属于哪个分类。在计算机中,一幅数字图像可以看成是一个矩阵或者是一个数组,用,0力表示。其行列下标对应了图像上的一个点,而在矩阵中对应相应元素,则标出了该点的灰度值。一幅nxm大小的图像按行列相连构成一个n*m维向量x=(bb…bbb…b…bb…b)「1112 1m2122 2mn1n2 nm,匕被视为空间中的一|点。人脸图像样本集可用矩阵X表示,其中,X=[X1X2…Xp],P为样本集中人脸图像的数量。交叉验证当数据源不充足时,为了保证所建分类器的性能和错误率估计的准确性,交叉验证技术常常被采用.在交叉验证中,先要决定一个固定的重数,或者说折数.一般地,将重数定为k,这就是k重交叉验证,记为k-CV.由于本次试验中采集了40组图像,每组10帧,数据源相对不充足,为了充分验证算法的性能,分别采用了3-CV,4-CV,5-CV交叉验证法,随机选择训练样例。实验结果分析为了保证分类的健壮性,在试验中在训练集上采取交叉验证的方法,分别从每组样本中国随机选取3,4,5张图像作为训练样本,其余的样本作为测试样本。计算训练样本的特征向量。实验中使用的图像为1024*92大小的图片,通过resize()函数的处理,把图像变为32*32

大小的图像,把此图像重置为1*1023的向量。当每组选择3张训练样本时,训练样本矩阵大小为120*1024.,训练样本的大小为:280*1024。使用PCA方法得到了训练样本矩阵的特征值和特征向量,特征值按从大到小排序。较大特征值对应的一些正交基(也称主分量)能够表达人脸的大体形状。贡献率表示所定义的主成分在整个数据分析中承担的主要意义占多大的比重,当取前r个主成分来代替原来全部变量时,累计贡献率的大小反应了这种取代的可靠性,累计贡献率越大,可靠性越大;反之,则可靠性越小。一般要求累计贡献率达到70%以上。实验中的贡献率是通过选择的特征值之和与总的特征值之和的比值来计算的,要求贡献率达到98%21.bmp(1)KNN算法中近邻个数的选择5个, 分别为1,2,3时的情况表21.bmp(1)KNN算法中近邻个数的选择5个, 分别为1,2,3时的情况表5-1KNN算法中近邻个维度-____--邻近-0775七- -- 23维度” Z3.,岂口、•二邻乂5.bmp n2^mp0/74528.bmp1n.nq0.775nqnrmo1 150.909050.9 0905\ 0.8350851«j20. 0935. 0935. 08725. 0945. 0945. 09130. 095. 095. 090535. \ 0955. \ 0955. 09240. 094. 0.94.j乙 0.91545. 0945 0945 091.nqr.nqr.ngo50550.95 \ 095| 0.95 \ 095| 0.9乙 09260. 095. 0.95.j乙 0.90565. 095 0.95 09170. 094 094. 090575. 094. 094. 090580. 0945. 0945. 0.905..0QI851 900.95 \095| 0.95 \ 0950.91091595. 095. 095. 0915JU100. 0955. 0955. 0.9151M.nQRR.nQRRngo110. 0955. 0955.7jLj 1 092115. 0955. 0955.j乙 0915117. 0955. 0955. 0.915AVERAGEC平均值). 0.9375. 0.9375 0.898125虽然很多文献中提到,当近邻数位1时,并不足以确定测试样本的类别,因为数据中有噪声和异常值。但在本次实验中,通过结果我们可以看到实验进度不受近邻个数的影响。(2)交叉验证次数的影响本次实验中进行了5次交叉验证,为论文测试交叉验证的次数是否对实验进行影响,我们采集了K=5,每组的训练样本为5时,CV变换的进度结果。表5-2交叉次数对进度的影响统计维度……一1234 550.820.7950.810.7650.775100.910.9050.8750.890.9150.9250.90.90.920.905200.9450.910.9050.90.935250.950.910.920.920.945300.9550.920.9150.9350.95350.9550.920.920.930.955400.9650.9250.920.930.94450.9650.9250.920.9350.945500.9650.9250.920.9350.95 550.970.930.9150.9350.95600.970.9250.930.9350.95650.970.9250.9250.9350.95700.970.9350.920.9350.94750.970.9350.920.9350.94800.970.940.9250.9450.945850.970.9350.920.9450.95900.970.9350.9250.9450.95950.9750.9350.9250.9450.951000.9750.9350.9250.9450.9551050.9750.9350.9250.950.9551100.9750.9350.9250.950.9551150.9750.9350.9250.950.9551170.975(118)0.935(116)0.9250.950.955STDEV(标准差:0.0339440.0294620.024890.0377060.037388通过上述实验结果分析可知,在本次实验中(1) 交叉验证中CV的选择和KNN中K的选择对精度的影响不大;(2) 训练样本的数量和特征向量的数量与识别精度成正相关;(3) 但为了保证对全局的识别更加稳定,我们需要选择尽量高的CV次数;(4) 为了识别精度和系统的运行速度,我们选择的特征向量的数目为15到50个比较合理,训练数目选择3-5个比较合理。4.展望从压缩能量的角度来看,K-L变换是最优的,变换后的低维空间对于人脸有很好的表达能力,然而这并不等同于对不同人脸具有较好的判别能力。选择训练样本的散布矩阵作为K.L变换的生成矩阵,其最大特征向量反映了该样本集合的最大分布的方向,但这是图像统计方法,而不是人脸统计方法。它查找的是图像之间所有的差异,并根据这些差异来确定不同人脸间的距离,而不管这些差异是由于光线、发型或背景的改变引起的,还是属于人脸本身的内在差异,因此特征脸的方法用于人脸识别存在理论的缺陷。研究表明,特征连的方法随着光线、角度以及人脸的尺寸的引入而识别率急剧下降。主分量的方法使得变换后的表达能力最佳,次分量的方法考虑了高频的人脸区分能力,但是由于外在因素带来图像差异和人脸本身带来的差异对K-L变换而言是不加任何区分的,因此,如何选择正交基并不根本解决问题。改进的一个思路是针对干扰所在,对输入图像作规范化处理,包括输入图像的均值方差归一化,人脸尺寸归一化。另一种改进是考虑到局部人脸图像受到外在干扰相对较小的情况,除了计算特征脸之外,还利用K-L变换计算出特征眼、特征嘴等。将局部特征向量加权进行匹配得到一些好的效果。5.代码(1)%用pca方法进行降维矩阵,得到特征脸functiony=pca(mixedsig)ifnargin==0error('Youmustsupplythemixeddataasinputargument.');endiflength(size(mixedsig))>2error('Inputdatacannothavemorethantwodimensions.');endifany(any(isnan(mixedsig)))error('InputdatacontainsNaN''s.');endmeanValue=mean(mixedsig')';[m,n]=size(mixedsig);fors=1:mfort=1:nmixedsig(s,t)=mixedsig(s,t)-meanValue(s);endend[Dim,NumofSampl]=size(mixedsig);oldDimension=Dim;fprintf('Numberofsignals:%d\n',Dim);fprintf('Numberofsamples:%d\n',NumofSampl);fprintf('CalculatePCA...');firstEig=1;lastEig=Dim;covarianceMatrix=cov(mixedsig',1);[E,D]=eig(covarianceMatrix);rankTolerance=1e-5;maxLastEig=sum(diag(D))>=rankTolerance;lastEig=maxLastEig;lastEig=10;eigenvalues=flipud(sort(diag(D)));iflastEig<oldDimensionlowerLimitValue=(eigenvalues(lastEig)+eigenvalues(lastEig+1))/2;elselowerLimitValue=eigenvalues(oldDimension)-1;endlowerColumns=diag(D)>lowerLimitValue;iffirstEig>1higherLimitValue=(eigenvalues(firstEig-1)+eigenvalues(firstEig))/2;elsehigherLimitValue=eigenvalues(1)+1;endhigherColumns=diag(D)<higherLimitValue;selectedColumns=lowerColumns&higherColumns;fprintf('Selected[%d]dimensions.\n',sum(selectedColumns));fprintf('Smallestremaining(non-zero)eigenvalue[%g]\n',eigenvalues(lastEig));fprintf('Largestremaining(non-zero)eigenvalue[%g]\n',eigenvalues(firstEig));fprintf('Sumofremovedeigenvalue[%g]\n',sum(diag(D).大(〜selectedColumns)));E=selcol(E,selectedColumns);D=selcol(selcol(D,selectedColumns)',selectedColumns);whiteningMatrix=inv(sqrt(D))*E';dewhiteningMatrix=E*sqrt(D);y=whiteningMatrix*mixedsig;functionnewMatrix=selcol(oldMatrix,maskVector)ifsize(maskVector,1)〜=size(oldMatrix,2)error('Themaskvectorandmatrixareofuncompatiblesize.');endnumTaken=0;fori=1:size(maskVector,1)ifmaskVector(i,1)==1takingMask(1,numTaken+1)==i;numTaken=numTaken+1;endendnewMatrix=oldMatrix(:,takingMask);(2)%KNN方法计算准确率functioninfo=KNN(targetimage)temp=0;kind=[000];i=0;j=0;temp1=0;i1=0;s(1)=ComputSimilarity(HandGeoExtraction(targetimage),HandGeoExtraction('al.jpg'));s(2)=ComputSimilarity(HandGeoExtraction(targetimage),HandGeoExtraction('a2.jpg'));s(3)=ComputSimilarity(HandGeoExtraction(targetimage),HandGeoExtraction('a3.jpg'));s(4)=ComputSimilarity(HandGeoExtraction(targetimage),HandGeoExtraction('a4.jpg'));s(5)=ComputSimilarity(HandGeoExtraction(targetimage),HandGeoExtraction('a5.jpg'));s(6)=ComputSimilarity(HandGeoExtraction(targetimage),HandGeoExtraction('b1.jpg'));s(7)=ComputSimilarity(HandGeoExtraction(targetimage),HandGeoExtraction('b2.jpg'));s(8)=ComputSimilarity(HandGeoExtraction(targetimage),HandGeoExtraction('b3.jpg'));s(9)=ComputSimilarity(HandGeoExtraction(targetimage),HandGeoExtraction('b4.jpg'));s(10)=ComputSimilarity(HandGeoExtraction(targetimage),HandGeoExtraction('b5.jpg'));s(11)=ComputSimilarity(HandGeoExtraction(targetimage),HandGeoExtraction('c1.jpg'));s(12)=Co

温馨提示

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

评论

0/150

提交评论