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是用於統計人臉識別演算法好壞的一門語言