资源简介
这是我写的人脸识别代码,识别率可达到100%。但是你要自己调调,可以写篇论文。
代码片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%BHLDA算法测试。
%样本为对半偶图像
%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
%tsc:test_sample_coefficient
%lsc:learn_sample_coefficient
lda_rate=[];
pca_rate=[];
time_learn=[];
time_test=[];
tic;
%for Yela
height=40;
width=20;
XClass=[];
classCount=40; %类数
learn_sample_per_class=3; %每类训练样本数
sample_count_per_class=10; %每类样本数
%for ORL
%height=37;
%width=15;
%XClass=[];
%classCount=40; %类数
%learn_sample_per_class=5; %每类训练样本数
%sample_count_per_class=10; %每类样本数
learn_sample_total=classCount*learn_sample_per_class; %学习样本总数
test_sample_total=classCount*(sample_count_per_class-learn_sample_per_class);%测试样本总数
for m=1:classCount
for n=1:learn_sample_per_class
XClass=[XClass m];
end
end
for dim=5:50
%PCA参数初始化
images_up=[]; %训练样本的上半部分
images_down=[]; %训练样本的下半部分
%读训练样本
height_upimg=ceil(0.6*height); %上部分人脸高度
height_downimg=height-height_upimg; %下部分人脸高度
for i=1:classCount %每类
for j=1:learn_sample_per_class %每类训练样本
%半对偶图像
%for Yela
%str1=strcat(‘E:\LDA_HLDA_BHLDA\face_database\Yale_block\s‘int2str(i)‘\‘int2str(2*j-1)‘.BMP‘);
%str2=strcat(‘E:\LDA_HLDA_BHLDA\face_database\Yale_block\s‘int2str(i)‘\‘int2str(2*j)‘.BMP‘);
%for ORL
str1=strcat(‘E:\LDA_HLDA_BHLDA\face_database\ORL_BLOCK\s‘int2str(i)‘\‘int2str(2*j-1)‘.BMP‘);
str2=strcat(‘E:\LDA_HLDA_BHLDA\face_database\ORL_BLOCK\s‘int2str(i)‘\‘int2str(2*j)‘.BMP‘);
img1=imread(str1);
img2=imread(str2);
img1=double(img1);
img2=double(img2);
img=(img1+img2)/2;
img_up=img(1:height_upimg:);
img_down=img(height_upimg+1:height:);
%上下半部分人脸
img_up=reshape(img_upheight_upimg*width1);
images_up=[images_up img_up];
img_down=reshape(img_downheight_downimg*width1);
images_down=[images_down img_down];
end
end
%计算投影矩阵
[eigvector_up eigvalue_up meandata_up diff_img_up]=PCA(images_updim);
[eigvector_down eigvalue_down meandata_down diff_img_down]=PCA(images_downdim);
lda_learn_project_up=[]; %PCA变换坐标,lda_learn_project为LDA算法入口参数
lda_learn_project_up =eigvector_up‘*diff_img_up;
lda_learn_project_down=[]; %PCA变换坐标,lda_learn_project为LDA算法入口参数
lda_learn_project_down =eigvector_down‘*diff_img_down;
t1=toc;
time_learn=[time_learn t1];
tic;
%读测试样本
images_up_test=[];
images_down_test=[];
for i=1:classCount
for j=1:(sample_count_per_class-learn_sample_per_class)
%for Yela
%str1=strcat(‘E:\LDA_HLDA_BHLDA\face_database\Yale_block\s‘int2str(i)‘\‘int2str(2*j-1+learn_sample_per_class*2)‘.BMP‘);
%str2=strcat(‘E:\LDA_HLDA_BHLDA\face_database\Yale_block\s‘int2str(i)‘\‘int2str(2*j+learn_sample_per_class*2)‘.BMP‘);
%for ORL
str1=strcat(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3274 2010-06-24 17:32 HPCA_test.m
文件 2782 2010-06-14 09:37 LDA.m
文件 3365 2010-07-16 09:00 LDA_test.m
文件 1588 2010-06-23 17:42 PCA.m
文件 2707 2010-06-24 14:37 SUBLDA.m
文件 6221 2010-06-24 22:20 BHLDA_test.m
----------- --------- ---------- ----- ----
19937 6
相关资源
- pcap4j 实现本地抓包以及解析DNS
- OpenLdap介绍及开发手册
- PCA 提取特征用于分类
- LDA+C+代码(Zhou Li)
- LDA模型里Gibbs sampling后验概率详细推导
- jpcap.dll 32位
- 基于winpcap的解析以太网帧头部和ip头
- winpcap SDK开发包头文件sdk(pcap.hPacke
- 基于winpcap综合网络数据包扫描程序源
- kpca lda mds降维 人脸数据
- 网络嗅探器,基于jpcap
- 基于LDAP的统一用户认证系统设计与实
- Gabor小波+PCA+LDA特征提取方法的人脸表
- R语言PCA图像压缩
- R语言jiebaR中文分词并做LDA主题建模
- delphi调用winpcap截取网卡数据
- tcp ipv6 pcap 数据包
- OAUTH2.0+OpenLDAP技术框架
- Linux环境下的网络抓包工具pcap,界面
- PCAUSA Test TCP (PCATTCP)
- pipelinepcap包
- ldap_Browser-2.8.2
- vlan 报文抓包.pcap
- ilasm2.0 用于将ildasm生成的il文件重新编
- WinPCap包Delphi代码
- c8051f系列单片机PCA实现PWM波输出
- 主成分分析PCA+测试数据
- zw_szjmlqb-6705187-PCA故障诊断步骤.zip
- attack.pcapng
- 基于PCA-BP的煤矿热电厂辅机故障组合
评论
共有 条评论