日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab做pca人脸识别,[转载]一个修改后的PCA进行人脸识别的Matlab代码,识

發(fā)布時(shí)間:2025/3/13 循环神经网络 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab做pca人脸识别,[转载]一个修改后的PCA进行人脸识别的Matlab代码,识 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一個(gè)修改后的PCA進(jìn)行人臉識(shí)別的Matlab代碼,識(shí)別率達(dá)到88%

% calc xmean,sigma and its eigen

decomposition

allsamples=[];%所有訓(xùn)練圖像

for i=1:40

for

j=1:5

a=imread(strcat('D:rawdataORLs',num2str(i),'',num2str(j),'.pgm'));

% imshow(a);

b=a(1:112*92);?% b是行矢量

1×N,其中N=10304,提取順序是先列后行,即從上到下,從左到右

b=double(b);

allsamples=[allsamples; b];?% allsamples 是一個(gè)M * N

矩陣,allsamples 中每一行數(shù)據(jù)代表一張圖片,其中M=200

end

end

samplemean=mean(allsamples);?% 平均圖片,1 × N

for i=1:200

xmean(i,:)=allsamples(i,:)-samplemean;?% xmean是一個(gè)M

× N矩陣,xmean每一行保存的數(shù)據(jù)是“每個(gè)圖片數(shù)據(jù)-平均圖片”

end;

sigma=xmean*xmean';?% M * M

階矩陣

[v d]=eig(sigma);

d1=diag(d);

[d2 index]=sort(d1); %以升序排序

cols=size(v,2);% 特征向量矩陣的列數(shù)

for i=1:cols

vsort(:,i) =

v(:, index(cols-i+1) ); % vsort

是一個(gè)M*col(注:col一般等于M)階矩陣,保存的是按降序排列的特征向量,每一列構(gòu)成一個(gè)特征向量

dsort(i)?= d1( index(cols-i+1)

);?% dsort 保存的是按降序排列的特征值,是一維行向量

end?%完成降序排列

%以下選擇90%的能量

dsum = sum(dsort);

dsum_extract

= 0;

p = 0;

while(

dsum_extract/dsum < 0.9)

p = p + 1;

dsum_extract = sum(dsort(1:p));

end

i=1;

% (訓(xùn)練階段)計(jì)算特征臉形成的坐標(biāo)系

while (i<=p

&& dsort(i)>0)

base(:,i) =

dsort(i)^(-1/2) * xmean' *

vsort(:,i);?%

base是N×p階矩陣,除以dsort(i)^(1/2)是對(duì)人臉圖像的標(biāo)準(zhǔn)化,詳見《基于PCA的人臉識(shí)別算法研究》p31

i = i +

1;

end

% add by?wolfsky

就是下面兩行代碼,將訓(xùn)練樣本對(duì)坐標(biāo)系上進(jìn)行投影,得到一個(gè) M*p 階矩陣allcoor

allcoor = allsamples * base;

accu = 0;

% 測(cè)試過(guò)程

for i=1:40

for j=6:10 %讀入40 x 5 副測(cè)試圖像

a=imread(strcat('e:ORLs',num2str(i),'',num2str(j),'.jpg'));

b=a(1:10304);

b=double(b) - samplemean;

tcoor= b * base;

%計(jì)算坐標(biāo),是1×p階矩陣

for

k=1:200

mdist(k)=norm(tcoor-allcoor(k,:));

end;

%三階近鄰

[dist,index2]=sort(mdist);

class1=floor( (index2(1)-1)/5

)+1;

class2=floor((index2(2)-1)/5)+1;

class3=floor((index2(3)-1)/5)+1;

if

class1~=class2 &&

class2~=class3?ID

=

class1;

elseif

(class1==class2)?ID =

class2;

elseif

(class2==class3)?ID

= class3;

end;

if?ID==i

accu=accu+1;

end;

end;

end;

accuracy=accu/200 %輸出識(shí)別率

總結(jié)

以上是生活随笔為你收集整理的matlab做pca人脸识别,[转载]一个修改后的PCA进行人脸识别的Matlab代码,识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。