A. matlab人脸识别简单程序解读
wogeunijiang.2327469433
B. matlab人脸检测步骤
灰度化处理后,剪切出脸部部分,就是额头到下巴,左耳到右耳的部分,然后选择合适的算法进行检测,用模板匹配或者神经网络等,结论是算法在小范围内得到识别结果和识别率。
C. 怎样在matlab 7.0下做基于支持向量机的人脸识别实验
人脸识别技术包含三个部分:
(1)人脸检测
面貌检测是指在动态的场景与复杂的背景中判断是否存在面像,并分离出这种面像。一般有下列几种方法:
①参考模板法
首先设计一个或数个标准人脸的模板,然后计算测试采集的样品与标准模板之间的匹配程度,并通过阈值来判断是否存在人脸;
②人脸规则法
由于人脸具有一定的结构分布特征,所谓人脸规则的方法即提取这些特征生成相应的规则以判断测试样品是否包含人脸;
D. 1.如何用MATLAB神经网络工具箱创建BP神经网络模型具体有哪些步骤请高手举实例详细解释下 2.如何把输
%人脸识别模型,脸部模型自己找吧。
function mytest()
clc;
images=[ ];
M_train=3;%表示人脸
N_train=5;%表示方向
sample=[];
pixel_value=[];
sample_number=0;
for j=1:N_train
for i=1:M_train
str=strcat('Images\',num2str(i),'_',num2str(j),'.bmp'); %读取图像,连接字符串形成图像的文件名。
img= imread(str);
[rows cols]= size(img);%获得图像的行和列值。
img_edge=edge(img,'Sobel');
%由于在分割图片中我们可以看到这个人脸的眼睛部分也就是位于分割后的第二行中,位置变化比较大,而且眼睛边缘检测效果很好
sub_rows=floor(rows/6);%最接近的最小整数,分成6行
sub_cols=floor(cols/8);%最接近的最小整数,分成8列
sample_num=M_train*N_train;%前5个是第一幅人脸的5个角度
sample_number=sample_number+1;
for subblock_i=1:8 %因为这还在i,j的循环中,所以不可以用i
block_num=subblock_i;
pixel_value(sample_number,block_num)=0;
for ii=sub_rows:(2*sub_rows)
for jj=(subblock_i-1)*sub_cols+1:subblock_i*sub_cols
pixel_value(sample_number,block_num)=pixel_value(sample_number,block_num)+img_edge(ii,jj);
end
end
end
end
end
%将特征值转换为小于1的值
max_pixel_value=max(pixel_value);
max_pixel_value_1=max(max_pixel_value);
for i=1:3
mid_value=10^i;
if(((max_pixel_value_1/mid_value)>1)&&((max_pixel_value_1/mid_value)<10))
multiple_num=1/mid_value;
pixel_value=pixel_value*multiple_num;
break;
end
end
% T 为目标矢量
t=zeros(3,sample_number);
%因为有五类,所以至少用3个数表示,5介于2的2次方和2的3次方之间
for i=1:sample_number
% if((mod(i,5)==1)||(mod(i,5)==4)||(mod(i,5)==0))
if(i<=3)||((i>9)&&(i<=12))||((i>12)&&(i<=15))
t(1,i)=1;
end
%if((mod(i,5)==2)||(mod(i,5)==4))
if((i>3)&&(i<=6))||((i>9)&&(i<=12))
t(2,i)=1;
end
%if((mod(i,5)==3)||(mod(i,5)==0))
if((i>6)&&(i<=9))||((i>12)&&(i<=15))
t(3,i)=1;
end
end
% NEWFF——生成一个新的前向神经网络
% TRAIN——对 BP 神经网络进行训练
% SIM——对 BP 神经网络进行仿真
% 定义训练样本
% P 为输入矢量
P=pixel_value'
% T 为目标矢量
T=t
size(P)
size(T)
% size(P)
% size(T)
% 创建一个新的前向神经网络
net_1=newff(minmax(P),[10,3],{'tansig','purelin'},'traingdm')
% 当前输入层权值和阈值
inputWeights=net_1.IW{1,1}
inputbias=net_1.b{1}
% 当前网络层权值和阈值
layerWeights=net_1.LW{2,1}
layerbias=net_1.b{2}
% 设置训练参数
net_1.trainParam.show = 50;
net_1.trainParam.lr = 0.05;
net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 1e-3;
% 调用 TRAINGDM 算法训练 BP 网络
[net_1,tr]=train(net_1,P,T);
% 对 BP 网络进行仿真
A = sim(net_1,P);
% 计算仿真误差
E = T - A;
MSE=mse(E)
x=[0.14 0 1 1 0 1 1 1.2]';
sim(net_1,x)
E. matlab人脸识别是什么
人脸识别特指利用分析比较人脸视觉特征信息进行身份鉴别的计算机技术。
matlab是用于统计人脸识别算法好坏的一门语言