模式識(shí)別方法大作業(yè)實(shí)驗(yàn)報(bào)告_第1頁(yè)
模式識(shí)別方法大作業(yè)實(shí)驗(yàn)報(bào)告_第2頁(yè)
模式識(shí)別方法大作業(yè)實(shí)驗(yàn)報(bào)告_第3頁(yè)
模式識(shí)別方法大作業(yè)實(shí)驗(yàn)報(bào)告_第4頁(yè)
模式識(shí)別方法大作業(yè)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、模式識(shí)別導(dǎo)論期末大作業(yè)2010-2011-2學(xué)期 第 3 組學(xué)號(hào)姓名工作量(%)08007204李雙1008007205陳書(shū)瑜3508007218王健勇1008007236梁文卓3508007243仲紅月10模式識(shí)別大作業(yè)人臉識(shí)別方法一- 基于pca和歐幾里得距離判據(jù)的模板匹配分類(lèi)器一、 理論知識(shí)1、主成分分析主成分分析是把多個(gè)特征映射為少數(shù)幾個(gè)綜合特征的一種統(tǒng)計(jì)分析方法。在多特征的研究中,往往由于特征個(gè)數(shù)太多,且彼此之間存在著一定的相關(guān)性,因而使得所觀測(cè)的數(shù)據(jù)在一定程度上有信息的重疊。當(dāng)特征較多時(shí),在高維空間中研究樣本的分布規(guī)律就更麻煩。主成分分析采取一種降維的方法,找出幾個(gè)綜合因子來(lái)代表原

2、來(lái)眾多的特征,使這些綜合因子盡可能地反映原來(lái)變量的信息,而且彼此之間互不相關(guān),從而達(dá)到簡(jiǎn)化的目的。主成分的表示相當(dāng)于把原來(lái)的特征進(jìn)行坐標(biāo)變換(乘以一個(gè)變換矩陣),得到相關(guān)性較?。▏?yán)格來(lái)說(shuō)是零)的綜合因子。1.1 問(wèn)題的提出一般來(lái)說(shuō),如果n個(gè)樣品中的每個(gè)樣品有n個(gè)特征,經(jīng)過(guò)主成分分析,將它們綜合成n綜合變量,即由下列原則決定:1、和(,i,j = 1,2,.n)相互獨(dú)立;2、y的排序原則是方差從大到小。這樣的綜合指標(biāo)因子分別是原變量的第1、第2、第n個(gè)主分量,它們的方差依次遞減。1.2主成分的導(dǎo)出我們觀察上述方程組,用我們熟知的矩陣表示,設(shè)是一個(gè)n維隨機(jī)向量,是滿(mǎn)足上式的新變量所構(gòu)成的向量。于是

3、我們可以寫(xiě)成y=cx,c是一個(gè)正交矩陣,滿(mǎn)足cc=i。坐標(biāo)旋轉(zhuǎn)是指新坐標(biāo)軸相互正交,仍構(gòu)成一個(gè)直角坐標(biāo)系。變換后的n個(gè)點(diǎn)在軸上有最大方差,而在軸上有最小方差。同時(shí),注意上面第一條原則,由此我們要求軸和軸的協(xié)方差為零,那么要求令,則經(jīng)過(guò)上面式子的變換,我們得到以下n個(gè)方程1.3主成分分析的結(jié)果我們要求解出c,即解出上述齊次方程的非零解,要求的系數(shù)行列式為0。最后得出結(jié)論是的根,的方差為。然后選取前面p個(gè)貢獻(xiàn)率大的分量,這樣就實(shí)現(xiàn)了降維。也就是主成分分析的目標(biāo)。二、 實(shí)現(xiàn)方法1、 獲取數(shù)據(jù)。在編程時(shí)具體是把一幅二維的圖像轉(zhuǎn)換成一維的;2、 減去均值。要使pca正常工作,必須減去數(shù)據(jù)的均值。減去的均

4、值為每一維的平均,所有的x值都要減去,同樣所有的y值都要減去,這樣處理后的數(shù)據(jù)都具有0均值;3、 計(jì)算協(xié)方差矩陣;4、 計(jì)算協(xié)方差矩陣的特征矢量和特征值。因?yàn)閰f(xié)方差矩陣為方陣,我們可以計(jì)算它的特征矢量和特征值,它可以告訴我們數(shù)據(jù)的有用信息;5、選擇成分組成模式矢量現(xiàn)在可以進(jìn)行數(shù)據(jù)壓縮降低維數(shù)了。如果你觀察上一節(jié)中的特征矢量和特征值,會(huì)注意到那些特征值是十分不同的。事實(shí)上,可以證明對(duì)應(yīng)最大特征值的特征矢量就是數(shù)據(jù)的主成分。對(duì)應(yīng)大特征值的特征矢量就是那條穿過(guò)數(shù)據(jù)中間的矢量,它是數(shù)據(jù)維數(shù)之間最大的關(guān)聯(lián)。一般地,從協(xié)方差矩陣找到特征矢量以后,下一步就是按照特征值由大到小進(jìn)行排列,這將給出成分的重要性級(jí)

5、別?,F(xiàn)在,如果你喜歡,可以忽略那些重要性很小的成分,當(dāng)然這會(huì)丟失一些信息,但是如果對(duì)應(yīng)的特征值很小,你不會(huì)丟失很多信息。如果你已經(jīng)忽略了一些成分,那么最后的數(shù)據(jù)集將有更少的維數(shù),精確地說(shuō),如果你的原始數(shù)據(jù)是n維的,你選擇了前p個(gè)主要成分,那么你現(xiàn)在的數(shù)據(jù)將僅有p維?,F(xiàn)在要做的是你需要組成一個(gè)模式矢量,這只是幾個(gè)矢量組成的矩陣的一個(gè)有意思的名字而已,它由你保持的所有特征矢量構(gòu)成,每一個(gè)特征矢量是這個(gè)矩陣的一列。6、獲得新數(shù)據(jù)這是pca最后一步,也是最容易的一步。一旦你選擇了須要保留的成分(特征矢量)并組成了模式矢量,我們簡(jiǎn)單地對(duì)其進(jìn)行轉(zhuǎn)置,并將其左乘原始數(shù)據(jù)的轉(zhuǎn)置:其中rowfeaturevec

6、tor是由特征矢量作為列組成的矩陣的轉(zhuǎn)置,因此它的行就是原來(lái)的特征矢量,而且對(duì)應(yīng)最大特征值的特征矢量在該矩陣的最上一行。rowdataadjust是減去均值后的數(shù)據(jù),即數(shù)據(jù)項(xiàng)目在每一列中,每一行就是一維。finaldata是最后得到的數(shù)據(jù),數(shù)據(jù)項(xiàng)目在它的列中,維數(shù)沿著行。finaldata = rowfeaturevector * rowdataadjust這將僅僅給出我們選擇的數(shù)據(jù)。我們的原始數(shù)據(jù)有兩個(gè)軸(x和y),所以我們的原始數(shù)據(jù)按這兩個(gè)軸分布。我們可以按任何兩個(gè)我們喜歡的軸表示我們的數(shù)據(jù)。如果這些軸是正交的,這種表達(dá)將是最有效的,這就是特征矢量總是正交的重要性。我們已經(jīng)將我們的數(shù)據(jù)從原

7、來(lái)的xy軸表達(dá)變換為現(xiàn)在的單個(gè)特征矢量表達(dá)。如果我們已經(jīng)忽略了一些特征矢量,則新數(shù)據(jù)將會(huì)用我們保留的矢量表達(dá)。三、 matlab編程matlab程序分為三部分。程序框圖如下圖所示。這個(gè)函數(shù)將源圖像提取成特征臉,然后比較它們之間的歐幾里得距離這個(gè)函數(shù)首先得到二維數(shù)組,包括所有的訓(xùn)練樣本向量并且從訓(xùn)練樣本中返回3個(gè)輸出量這個(gè)函數(shù)將所有訓(xùn)練樣本的二維圖像轉(zhuǎn)換成一維列向量。接著,它把這些一維列向量組合到一行里面構(gòu)造出二維向量t,即每個(gè)單元的信息量是一幅圖片maineigenfacecorerecognitioncreatdatabase四、 總結(jié)從書(shū)里看我覺(jué)得最讓人明白模板匹配分類(lèi)器的一段話,就是“譬

8、如a類(lèi)有10個(gè)訓(xùn)練樣品,就有10個(gè)模板,b類(lèi)有8個(gè)訓(xùn)練樣品,就有8個(gè)模板。任何一個(gè)待測(cè)樣品在分類(lèi)時(shí)與這18個(gè)模板都算一算相似度,找出最相似的模板,如果該模板是b類(lèi)中的一個(gè),就確定待測(cè)樣品為b類(lèi),否則為a類(lèi)?!币馑己芎?jiǎn)單吧,算相似度就是算距離。就是說(shuō),模板匹配就要用你想識(shí)別的樣品與各類(lèi)中每個(gè)樣品的各個(gè)模板用距離公式計(jì)算距離,距離最短的那個(gè)就是最相似的。實(shí)驗(yàn)結(jié)果表明識(shí)別率達(dá)90%。這樣的匹配方法明顯的缺點(diǎn)就是在計(jì)算量大,存儲(chǔ)量大,每個(gè)測(cè)試樣品要對(duì)每個(gè)模板計(jì)算一次相似度,如果模板量大的時(shí)候,計(jì)算量就十分的大。五、 參考文獻(xiàn)【1】 邊肇其,張學(xué)工.模式識(shí)別【m】.第2版.北京.:清華大學(xué)出版社,200

9、0【2】 周杰,盧春雨,張長(zhǎng)水,李衍達(dá),人臉自動(dòng)識(shí)別方法綜述【j】.電子學(xué)報(bào),2000,5(4):102-106六、 附錄(matlab 程序代碼)第一部分:creatdatabase.mfunction t = creatdatabase(traindatabasepath)%一系列人臉(訓(xùn)練樣本t1,t2,,tm)%函數(shù)描述:這個(gè)函數(shù)將所有訓(xùn)練樣本的二維圖像轉(zhuǎn)換成一維列向量。接著,它把這些一維列向量組合到一行里面構(gòu)造出二維向量t,即每個(gè)單元的信息量是一幅圖片%參數(shù): traindatabasepath - 訓(xùn)練數(shù)據(jù)庫(kù)的路徑%返回值:t -%一個(gè)二維矩陣,包含了所有一維向量。假設(shè)所有在訓(xùn)練樣

10、本的p幅圖像擁有相同的大小(m*n)。因此,這些一維向量的長(zhǎng)度是m*n而且t將是一個(gè)mn*p的二維%矩陣%文件處理%trainfiles = dir(traindatabasepath);train_number = 0;for i = 1:size(trainfiles,1) t = size(trainfiles,1); if not(strcmp(trainfiles(i).name,.)|strcmp(trainfiles(i).name,.)|strcmp(trainfiles(i).name,thumbs.db) train_number = train_number + 1; e

11、ndend%從一維數(shù)組構(gòu)造成二維數(shù)組%t = ;for i = 1: train_number str = int2str(i); str = strcat(,str,.pgm); str = strcat(traindatabasepath,str); img = imread(str); irow icol = size(img); temp = reshape(img,irow*icol,1);%將二維數(shù)組變成一維數(shù)組 t = t temp;end第二部分:eigenfacecore.mfunction m,a,eigenfaces = eigenfacecore(t)%利用主成分分析(

12、pca)的方法在各張人臉中決定最明顯的特征%描述:這個(gè)方程首先得到二維數(shù)組,包括所有的訓(xùn)練樣本向量并且從訓(xùn)練樣本中返回3個(gè)輸出量%參數(shù):t - 一個(gè)二維矩陣,包含了所有一維向量。假設(shè)所有在訓(xùn)練樣本的p幅圖像擁有相同的大?。╩*n)。因此,這些一維向量的長(zhǎng)度是m*n而且t將是一個(gè)mn*p的二維%矩陣%返回值: m -(m*nx1)訓(xùn)練樣本的均值% eigenfaces - (m*nx(p-1)訓(xùn)練樣本協(xié)方差矩陣的特征向量% a - (m*nxp) 中心向量的矩陣%計(jì)算均值%m = mean(t,2); %計(jì)算樣本平均值 m = (1/p)*sum(tjs)train_number = size(

13、t,2);%計(jì)算每個(gè)圖像與均值的差%要使pca正常工作,必須減去數(shù)據(jù)的均值。減去的均值為每一維的平均,所有的x值都要減去,同樣所有的y值都要減去%這樣處理后的數(shù)據(jù)都具有0均值%a = ;for i = 1 : train_number temp = double(t(:,i) - m; a = a temp; %再次合并矩陣end%計(jì)算協(xié)方差矩陣%計(jì)算協(xié)方差矩陣的特征矢量和特征值%l = a*a; %l代表協(xié)方差矩陣 c = a*a.v d = eig(l);%計(jì)算矩陣a的特征值d(eigenvalues)和特征矩陣v(eigenvectors)%選擇成分組成模式矢量%l_eig_vec =

14、;for i = 1:size(v,2) if(d(i,i)1) l_eig_vec = l_eig_vec v(:,1); endend%計(jì)算協(xié)方差矩陣的特征向量%eigenfaces = a * l_eig_vec;第三部分:recognition.mfunction outputname = recognition(testimage, m, a, eigenfaces)%函數(shù)描述:這個(gè)函數(shù)將源圖像提取成特征臉,然后比較它們之間的歐幾里得距離%輸入量: testimage -測(cè)試樣本的路徑% m -(m*nx1)訓(xùn)練樣本的均值% eigenfaces - (m*nx(p-1)訓(xùn)練樣本協(xié)方

15、差矩陣的特征向量% a - (m*nxp) 中心向量的矩陣%返回值: outputname -在訓(xùn)練樣本中的被識(shí)別的圖像的名字%從中心向量中提取特征臉%projectedimages = ;train_number = size(eigenfaces,2);for i = 1:train_number temp = eigenfaces * a(:,i) projectedimages = projectedimages temp;end%從測(cè)試樣本中提取pca特征%inputimage = imread(testimage);temp = inputimage(:,:,1);irow ico

16、l = size(temp);inimage = reshape(temp,irow*icol,1);difference = double(inimage) - m;projectedtestimage = eigenfaces*difference;%計(jì)算歐幾里得幾何距離%euc_dist = ;for i = 1 : train_number, q = projectedimages(:,i); temp = (norm(projectedtestimage - q)2; euc_dist = euc_dist temp;end%找出a中最小元素及其索引,把最小值返回給c,最小值索引返回

17、給i。 %如果有幾個(gè)相同的最小值,那么返回第一個(gè)被發(fā)現(xiàn)的索引。euc_dist_min, recognized_index = min(euc_dist);outputname = strcat(int2str(recognized_index),.pgm);主程序clear allclcclose alltraindatabasepath = uigetdir(c:matlab7workpca, select training database path );testdatabasepath = uigetdir(c:matlab7workpca, select test database

18、path);prompt = enter test image name(a number between 1 to 10):;dlg_title = input of pca_based face recognition system;num_lines = 1;def = 1;testimage = inputdlg(prompt,dlg_title,num_lines,def);testimage = strcat(testdatabasepath,char(testimage),.pgm);im = imread(testimage);t = creatdatabase(trainda

19、tabasepath);m, a, eigenfaces = eigenfacecore(t);outputname = recognition(testimage, m, a, eigenfaces);selectedimage = strcat(traindatabasepath,outputname);selectedimage = imread(selectedimage);imshow(im)title(test image);figure, imshow(selectedimage);title(equivalent image);str = strcat(matched imag

20、e is : , outputname);disp(str)模式識(shí)別大作業(yè)人臉識(shí)別方法二- 基于pca和fld的人臉識(shí)別的線性分類(lèi)器一、理論知識(shí)1、 fisher概念引出在應(yīng)用統(tǒng)計(jì)方法解決模式識(shí)別問(wèn)題時(shí),為了解決“維數(shù)災(zāi)難”的問(wèn)題,壓縮特征空間的維數(shù)非常必要。fisher方法實(shí)際上涉及到維數(shù)壓縮的問(wèn)題。fisher分類(lèi)器是一種幾何分類(lèi)器, 包括線性分類(lèi)器和非線性分類(lèi)器。線性分類(lèi)器有:感知器算法、增量校正算法、lmse分類(lèi)算法、fisher分類(lèi)。若把多維特征空間的點(diǎn)投影到一條直線上,就能把特征空間壓縮成一維。那么關(guān)鍵就是找到這條直線的方向,找得好,分得好,找不好,就混在一起。因此fisher方法

21、目標(biāo)就是找到這個(gè)最好的直線方向以及如何實(shí)現(xiàn)向最好方向投影的變換。這個(gè)投影變換恰是我們所尋求的解向量,這是fisher算法的基本問(wèn)題。樣品訓(xùn)練集以及待測(cè)樣品的特征數(shù)目為n。為了找到最佳投影方向,需要計(jì)算出各類(lèi)均值、樣品類(lèi)內(nèi)離散度矩陣和總類(lèi)間離散度矩陣、樣品類(lèi)間離散度矩陣,根據(jù)fisher準(zhǔn)則,找到最佳投影準(zhǔn)則,將訓(xùn)練集內(nèi)所有樣品進(jìn)行投影,投影到一維y空間,由于y空間是一維的,則需要求出y空間的劃分邊界點(diǎn),找到邊界點(diǎn)后,就可以對(duì)待測(cè)樣品進(jìn)行進(jìn)行一維y空間的投影,判斷它的投影點(diǎn)與分界點(diǎn)的關(guān)系,將其歸類(lèi)。fisher法的核心為二字:投影。二、 實(shí)現(xiàn)方法(1) 計(jì)算給類(lèi)樣品均值向量,是各個(gè)類(lèi)的均值,是類(lèi)

22、的樣品個(gè)數(shù)。(2) 計(jì)算樣品類(lèi)內(nèi)離散度矩陣和總類(lèi)間離散度矩陣(3) 計(jì)算樣品類(lèi)間離散度矩陣(4) 求向量我們希望投影后,在一維y空間各類(lèi)樣品盡可能地分開(kāi),也就是說(shuō)我們希望兩類(lèi)樣品均值之差()越大越好,同時(shí)希望各類(lèi)樣品內(nèi)部盡量密集,即希望類(lèi)內(nèi)離散度越小越好,因此,我們可以定義fisher準(zhǔn)則函數(shù):使得取得最大值的為 (5) 將訓(xùn)練集內(nèi)所有樣品進(jìn)行投影如果是非奇異的,則要獲得類(lèi)間離散度與類(lèi)內(nèi)離散度的比值最大的投影方向的滿(mǎn)足下式:其中是滿(mǎn)足下式的和對(duì)應(yīng)的m個(gè)最大特征值所對(duì)應(yīng)的特征向量。注意到該矩陣最多只有c-1個(gè)非零特征值,c是類(lèi)別數(shù)。2、程序中算法的應(yīng)用fisher線性判別方法(fld)是在fis

23、her鑒別準(zhǔn)則函數(shù)取極值的情況下,求得一個(gè)最佳判別方向,然后從高位特征向量投影到該最佳鑒別方向,構(gòu)成一個(gè)一維的判別特征空間。將fisher線性判別推廣到c-1個(gè)判決函數(shù)下,即從n維空間向c-1維空間作相應(yīng)的投影。利用這個(gè)m維的投影矩陣m將訓(xùn)練樣本n維向量空間轉(zhuǎn)化為m維的mef空間并且獲得在mef空間上的最佳描述特征,即由這n個(gè)mef空間上的最佳描述特征可以求出的樣品類(lèi)內(nèi)離散度矩陣和總類(lèi)間離散度矩陣,取的k個(gè)最大的特征可以構(gòu)成fld投影矩陣w。將mef空間上的最佳描述特征在fld投影矩陣w上進(jìn)行投影,將mef空間降維到mdf空間,并獲得對(duì)應(yīng)的mdf空間上的最佳分類(lèi)特征,即通過(guò)計(jì)算的歐氏距離,可以

24、將訓(xùn)練樣本分為c(c等于的秩),完成對(duì)訓(xùn)練樣本集的分類(lèi)1、 matlab編程1、fisher判別法人臉檢測(cè)與識(shí)別流程圖2、matlab程序分為三部分。程序框圖如下圖所示。mainfisherfacecorerecognitioncreatdatabase這個(gè)函數(shù)將所有訓(xùn)練樣本的二維圖像轉(zhuǎn)換成一維列向量。接著,它把這些一維列向量組合到一行里面構(gòu)造出二維向量t,即每個(gè)單元的信息量是一幅圖片這個(gè)函數(shù)將源圖像提取成特征臉,然后比較它們之間的歐幾里得距離pca提取特征值fisher分類(lèi)器設(shè)計(jì)。從fisher線性空間中提取圖像2、 總結(jié)從計(jì)算成本來(lái)看,pca+lda方法的好處在于對(duì)高維空間的降維,避免了類(lèi)

25、內(nèi)離散度矩陣不可逆的情況。然而,從識(shí)別性能來(lái)看,由于主成分只是代表圖像的灰度特征,是從能量的角度衡量主成分大小的,應(yīng)用pca之后,舍棄的對(duì)應(yīng)較小特征值的次要成分有可能對(duì)lda來(lái)說(shuō)重要的分類(lèi)信息,有可能降低分類(lèi)識(shí)別性能。而且,在實(shí)際應(yīng)用中,特別是在人臉圖像識(shí)別中,由于“維數(shù)災(zāi)難”的存在,fld通常會(huì)遇到兩個(gè)方面的困難:(1) 類(lèi)內(nèi)離散度矩陣總是奇異的。這是由于的秩最多為n-c,(n是用于訓(xùn)練樣本的圖像數(shù)目,c是人臉的類(lèi)別數(shù))。而一般情況下,用于訓(xùn)練的圖像數(shù)目n是遠(yuǎn)小于每幅圖像的像素?cái)?shù)目,即“小樣本問(wèn)題“經(jīng)常出現(xiàn)。(2) 計(jì)算的復(fù)雜度。在高維空間中,要得出一個(gè)分類(lèi)向量的復(fù)雜度遠(yuǎn)遠(yuǎn)高于計(jì)算一個(gè)低維空

26、間中的分類(lèi)向量。3、 參考文獻(xiàn)【1】邊肇其,張學(xué)工.模式識(shí)別【m】.第2版.北京.:清華大學(xué)出版社,2000【2】周杰,盧春雨,張長(zhǎng)水,李衍達(dá),人臉自動(dòng)識(shí)別方法綜述【j】.電子學(xué)報(bào),2000,5(4):102-1064、 附錄(matlab 程序代碼)1、第一部分:creatdatabase.mfunction t = creatdatabase(traindatabasepath)trainfiles = dir(traindatabasepath);train_number = 0;%統(tǒng)計(jì)文件數(shù)%for i = 1:size(trainfiles,1) if not(strcmp(trai

27、nfiles(i).name,.)|strcmp(trainfiles(i).name,.)|strcmp(trainfiles(i).name,thumbs.db) train_number = train_number + 1; endend%二維轉(zhuǎn)一維%t = ;for i = 1 : train_number str = int2str(i);%把文件索引轉(zhuǎn)換為字符串格式 str = strcat(,str,.pgm); str = strcat(traindatabasepath,str); img = imread(str); irow icol = size(img); temp

28、 = reshape(img,irow*icol,1); t = t temp;endt = double(t);2、第二部分:fisherfacecorefunction m_database v_pca v_fisher projectedimages_fisher class_number class_population = fisherfacecore(t)%返回值注釋%m_database - (m*nx1)維的訓(xùn)練樣本均值%v_pca - (m*nx(p-c)訓(xùn)練樣本協(xié)方差的特征向量%v_fisher - (p-c)x(c-1) 最大的(c-1)維j = inv(sw) * sb

29、的特征矩陣%projectedimages_fisher - (c-1)xp)維訓(xùn)練樣本,這些樣本從fisher線性空間中提取%基本量賦值 %class_number=(size(t,2)/9; 類(lèi)的數(shù)目,除以8取決于樣本中有多少類(lèi)人class_population = 9;%每一類(lèi)的圖像數(shù)目p = class_population * class_number; %總訓(xùn)練樣本的數(shù)目%計(jì)算均值%m_database = mean(t,2);%包含t每一行均值的列向量%計(jì)算方差%a = t - repmat(m_database,1,p);%計(jì)算特征臉的算法%l = a * a;v d = ei

30、g(l);v = fliplr(v);%篩選小的特征值%l_eig_vec = ;dig = fliplr(max(d);for i = 1 : class_number l_eig_vec = l_eig_vec v(:,i)/sqrt(dig(i);end%計(jì)算特征矩陣的協(xié)方差矩陣c%v_pca = a * l_eig_vec;%v_pca就是降維后的協(xié)方差矩陣projectedimages_pca = ;for i = 1 : p temp = v_pca*a(:,i); projectedimages_pca = projectedimages_pca temp; end%fisher

31、分類(lèi)器的設(shè)計(jì)方法%計(jì)算在特征空間里面每一個(gè)類(lèi)的均值%m_pca = mean(projectedimages_pca,2) %特征空間總的均值m = zeros( class_number, class_number );sw = zeros( class_number, class_number);sb = zeros( class_number, class_number); for i = 1 : class_number m(:,i) = mean( ( projectedimages_pca(:,(i-1)*class_population+1):i*class_population

32、) ), 2 ); %每一類(lèi)的樣本分別求均值 s = zeros(class_number, class_number); for j = (i-1) * class_population + 1) : ( i*class_population ) s = s + ( projectedimages_pca(:,j) - m(:,i) * (projectedimages_pca(:,j) - m(:,i); end sw = sw + s;sb = sb + (m(:,i) - m_pca) * (m(:,i) - m_pca)end %計(jì)算fisher判別準(zhǔn)則,目標(biāo)是獲取最大類(lèi)間離散度和最

33、小類(lèi)內(nèi)離散度%j_eig_vec, j_eig_val = eig(sb,sw);j_eig_val = max(j_eig_val); j_eig_vec = fliplr(j_eig_vec); %去除0特征根和排序for i = 1 : class_number - 1 v_fisher(:,i) = j_eig_vec(:,i);%fisher判別法將n維映射到c-1維end %從fisher線性空間中提取圖像%yi = v_fisher * v_pca * (ti - m_database)for i = 1: class_number * class_population projectedimages_fisher(:,i) = v_fisher * projectedimages_pca(:,i); end%由pca過(guò)渡到fld%img_fisher = w_fisher * pca_img;%projectedimages_fisher = v_fisher * projectedimages_pca; 3、第三部分:recognition.mfunction ou

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論