PCA检测人脸的简单示例_matlab实现
来源:互联网 发布:三星移动数据开关 编辑:程序博客网 时间:2024/05/18 01:30
- %训练
- %Lx=X'*X
- clear;
- clc;
- train_path='..\Data\TrainingSet\';
- phi=zeros(64*64,20);
- for i=1:20
- path=strcat(train_path,num2str(i),'.bmp');
- Image=imread(path);
- Image=imresize(Image,[64,64]);
- phi(:,i)=double(reshape(Image,1,[])');
- end;
- %mean
- mean_phi=mean(phi,2);
- mean_face=reshape(mean_phi,64,64);
- Image_mean=mat2gray(mean_face);
- imwrite(Image_mean,'meanface.bmp','bmp');
- %demean
- for i=1:19
- X(:,i)=phi(:,i)-mean_phi;
- end
- Lx=X'*X;
- tic;
- [eigenvector,eigenvalue]=eigs(Lx,19);
- toc;
- %normalization
- for i=1:19
- %K-L变换
- UL(:,i)=X*eigenvector(:,i)/sqrt(eigenvalue(i,i));
- end
- %display Eigenface
- for i=1:19
- Eigenface=reshape(UL(:,i),[64,64]);
- figure(i);
- imshow(mat2gray(Eigenface));
- end
得到的均值图像mean_face:
前19个最大主元对应的“特征脸”:
测试:
测试用样本:
- %使用测试样本进行测试
- clc;
- test_path='..\Data\TestingSet\';
- error=zeros([1,4]);
- for i=1:4
- path=strcat(test_path,num2str(i),'.bmp');
- Image=imread(path);
- Image=double(imresize(Image,[64,64]));
- phi_test=zeros(64*64,1);
- phi_test(:,1)=double(reshape(Image,1,[])');
- X_test=phi_test-mean_phi;
- Y_test=UL'*X_test;
- X_test_re=UL*Y_test;
- Face_re=X_test_re+mean_phi;
- calculate error rate
- e=Face_re-phi_test;
- %%display figure
- Face_re_2=reshape(Face_re(:,1),[64,64]);
- figure(i);
- imshow(mat2gray(Image));
- title('Original');
- figure(10+i);
- imshow(mat2gray(Face_re_2));
- title('Reconstruct');
- error(1,i)=norm(e);
- %dispaly error rate
- error_rate=error(1,i);
- display(error_rate);
- end
四副测试样本的重建误差分别为:
1.4195e+003
1.9564e+003
4.7337e+003
7.0103e+003
可见测试样本为人脸的样本的重建误差显然小于非人脸的重建误差。
0 0
- PCA检测人脸的简单示例_matlab实现
- PCA检测人脸的简单示例_matlab实现
- PCA检测人脸的简单示例_matlab实现
- 【模式识别】PCA检测人脸的简单示例MATLAB实现
- 基于PCA的人脸识别_Matlab实现(个人研读之后的一些总结)
- PCA应用---检测人脸的简单示例 (MATLAB版)
- 边缘检测算子_Matlab
- 基于PCA的人脸检测(Matlab版代码)
- PCA人脸识别的python实现
- 基于PCA简单的人脸识别opencv实现-图像处理学习笔记
- PCA的应用示例
- 简单理解基于PCA的人脸识别
- 【OpenCV】简单的Python实现人脸检测
- 神经网络_Matlab中BP神经网络算法的实现
- Yale人脸数据库、PCA算法实现Matlab中特征脸生成和简单的人脸识别
- PCA的简单理解
- PCA的简单理解
- 基于PCA的人脸识别的Matlab实现代码
- 【转】snprintf函数用法
- 解决chromium对html5 标签的 mp3 等视频音频网页的兼容性问题
- Git和Repo管理使用简要介绍
- alter table *** add constraint *** 用法
- mac 终端指令集合(持续更新)
- PCA检测人脸的简单示例_matlab实现
- [NGUI插件] NGUI控件说明(中文) UICamera
- JAVA 及 js 浮点数精确计算
- Django模板系统——过滤器
- 内存优化文章
- Eclipse debug内存溢出问题解决
- 跨数据库、跨服务器查询
- iOS - UIKIt 中的UIView的UIViewGeometry
- 浮点型变量与零值比较