K-L变换实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

K-L变换实验一、实验目的(1)加深对K-L变换的基本思想的认识和理解;(2)编写实现基于K-L变换的人脸识别的程序。二、实验原理K-L变换的基本原理特征脸方法是基于K-L变换的人脸识别方法,K-L变换是图像压缩的一种最优正交变换。高维的图像空间经过K-L变换后得到一组新的正交基,保留其中重要的正交基,由这些基可以张成低维线性空间。如果假设人脸在这些低维线性空间的投影具有可分性,就可以将这些投影用作识别的特征矢量,这就是特征脸方法用于人脸识别的基本思想。在人脸识别中,可以用离散K-L变换对人脸图像的原始空间进行转换,即构造人脸图像数据集的协方差矩阵,对之进行正交变换,求出协方差矩阵的特征向量,再依据特征值的大小对这些特征向量进行排序,每一个向量表示人脸图像中一个不同数量的变量,这些特征向量表示特征的一个集合,它们共同表示一个人脸图像。在人脸识别领域,人们常称这些特征向量为特征脸。每一个体人脸图像都可以确切地表示为一组特征脸的线性组合。这样我们首先通过有指导的训练(给定训练样本集已知分类)得到样本集在特征脸空间中的坐标。训练完成后,输入待辨识图像,求得在特征脸空间的坐标,采用最近邻法,就可以实现人脸识别。三、实验内容从ORL人脸数据库中选出3个人,每个人选3张,共九张。根据K-L变换求出九张特征脸,然后再从这三个人的其他照片中选几张照片,降维后求出与本征脸的距离,最小距离对应的就是判断出来的人脸。四、实验程序clc;clearall;A1=imread('C:\Users\Administrator\Desktop\模式识别用图\s8_1.bmp')A2=imread('C:\Users\Administrator\Desktop\模式识别用图\s8_2.bmp')A3=imread('C:\Users\Administrator\Desktop\模式识别用图\s8_3.bmp')B1=imread('C:\Users\Administrator\Desktop\模式识别用图\s10_1.bmp')B2=imread('C:\Users\Administrator\Desktop\模式识别用图\s10_2.bmp')B3=imread('C:\Users\Administrator\Desktop\模式识别用图\s10_3.bmp')C1=imread('C:\Users\Administrator\Desktop\模式识别用图\s30_1.bmp')C2=imread('C:\Users\Administrator\Desktop\模式识别用图\s30_2.bmp')C3=imread('C:\Users\Administrator\Desktop\模式识别用图\s30_3.bmp')S1=reshape(A1,112*92,1);S2=reshape(A2,112*92,1);S3=reshape(A3,112*92,1);S4=reshape(B1,112*92,1);S5=reshape(B2,112*92,1);S6=reshape(B3,112*92,1);S7=reshape(C1,112*92,1);S8=reshape(C2,112*92,1);S9=reshape(C3,112*92,1);S=[S1,S2,S3,S4,S5,S6,S7,S8,S9];S=double(S);R=S'*S;[V,d]=eig(R)u=S*V/sqrt(D);V=fliplr(V);D=fliplr(D);U=S*V;U=orth(U);E=sum(D);G=sum(E,2);N=3fori=1:NE=sum(E(1:i),2);ratio=E/G;ifratio0.99break;endendA=U(:,1:i)';y=A*S;B=zeros(6,N);fori=1:Nforj=4:9Test=S(:,(i-1)*9+j)-J;H=A*Test;%求得其在特征脸空间的坐标fork=1:NC=H-y(:,k);K(:,k)=C'*C;end[h,I]=min(K);%最近邻法ifI==iB(j-3,i)=1;elseB(j-3,i)=0;end%图像是否识别,识别出来为1,未识别出来为0endendD=sum(B);D=sum(D,2);Rate=D/(6*N)%识别正确率五、实验结果及结论:1、d=1.0e+09*0.00160000000000.00220000000000.00310000000000.00390000000000.00650000000000.01090000000000.02890000000000.03160000000001.2112K-L变换进行人脸识别正确率训练集中每个人图片数123456789识别正确率0.830.820.810.830.840.880.910.950.932、K-L变换进行人脸识别,只需要很少几个本征脸就能够比较好地表示和分类,大大压缩了特征维数;3、从实验结果可以看出,根据K-L变换的性质,这种降维的方法,误差较小;4、实验难度不是很大,只是对MATLAB不够熟悉,造成耗费时间较多,进度较慢,然而每编一次都收获许多,在与其他人交流中进步较快;5、K-L变换进行人脸识别正确率不是很高,只是相对不错,在实际运用中仍然可能会出现虚警现象。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功