資源簡介
常見人臉識別數(shù)據(jù)庫(AR、ORL、Yale、YaleB、FERET、PIE)
代碼片段和文件信息
?function?DataLabel_random(databasegroup)
%?生成訓(xùn)練序列標(biāo)簽trainIdx測試序列標(biāo)簽testIdx冒充者訓(xùn)練集標(biāo)簽Imposter_train冒充者測試集標(biāo)簽Imposter_test.??
%?要求:訓(xùn)練集和測試集中人臉的個數(shù)相同。冒充者的訓(xùn)練集和測試集中的人臉個數(shù)也相同
%?????Input:
%??????????database?????-----選擇數(shù)據(jù)庫用于實驗,參數(shù)選擇為‘ORL‘‘Yale‘‘YaleB‘‘PIE‘?or?‘AR‘;
%??????????group????????-----生成的標(biāo)簽組數(shù),默認(rèn)為50組
%?????Example:
%??????????label(‘ORL‘5);?
%?2013/9/3?星期?2?ym
if?(~exist(‘group‘‘var‘))
????group?=?50;
end
switch?lower(database)
????case?‘orl‘
????????%?ORL?:隨機(jī)選擇20類隨機(jī)選擇選擇5個人臉訓(xùn)練,5個測試,庫中每類剩余0張人臉
????????%???????再剩余的類的人臉圖像中隨機(jī)選擇100個作為冒充者的訓(xùn)練集
????????%???????再從剩余的圖像中選擇100個作為冒充者的測試集
????????Nump?=?40;?Nots?=?10;?filename=‘ORL\‘;
????????Train_number?=?5;?%?ORL選擇5個訓(xùn)練
????????if?(Train_number?>=?Nots)
????????????error(‘訓(xùn)練樣本個數(shù)應(yīng)小于每類樣本總個數(shù)!‘);
????????end
????????
?????????%?什么意思???
????????a=‘mkdir?‘;
????????s=[a?database?‘\‘?num2str(Train_number)?‘Train‘];
????????system(s);
????????
????????%?隨機(jī)選擇ClassNo?=?20個類
????????ClassNo?=?16;?
????????Q?=?rand(1Nump);
????????[~?P]?=?sort(Q);
????????Gallery_Class??=?P(1:ClassNo);
????????Imposter_Class?=?P(ClassNo+1:end);
????????
????????%?隨機(jī)選擇人臉構(gòu)造訓(xùn)練集和測試集,冒充者的訓(xùn)練集和測試集
????????for?k=1:group?%?group個(.mat)文件
????????????%?Label1:庫中訓(xùn)練集臨時索引;?Label2:?庫中測試集臨時索引
????????????%?Label3:冒充者的訓(xùn)練集臨時索引;Label4:冒充者的測試集臨時索引
????????????Label1=[];Label2=[];Label3=[];Label4=[];
????????????%?庫中的訓(xùn)練和測試
????????????for?i=1:length(Gallery_Class)
????????????????r=rand(1Nots);
????????????????[~p]=sort(r);
????????????????%?Gallery_Class中隨機(jī)抽取
????????????????Label1?=?[Label1?p(1:Train_number)+(Gallery_Class(i)-1)?*?Nots];?%?對應(yīng)的每個元素都加
????????????????Label2?=?[Label2?p(Train_number+1:Nots)+(Gallery_Class(i)-1)?*?Nots];
????????????end?
????????????
????????????%?冒充的訓(xùn)練和測試在剩余的類中隨機(jī)的選擇100圖片作為冒充者的訓(xùn)練集100個作為冒充者的測試集
????????????Imposter_Data?=[];
????????????for?i=1:length(Imposter_Class)
????????????????Simple_class?=?(Imposter_Class(i)?-?1)*Nots+1?:?Imposter_Class(i)*Nots;?%?一類人臉的索引
????????????????Imposter_Data?=?[Imposter_Data?Simple_class];
????????????end
????????????Im_r=rand(1200);
????????????[~Im_p]=sort(Im_r);
????????????Label3?=?Imposter_Data(Im_p(1:100));
????????????Label4?=?Imposter_Data(Im_p(101:200));
????????????%?最終的標(biāo)簽
????????????trainIdx?=?Label1‘;
????????????testIdx?=?Label2‘;
????????????Imposter_train?=?Label3‘;
????????????Imposter_test?=?Label4‘;
????????????save(strcat(filenamenum2str(Train_number)‘Train\‘num2str(k)‘.mat‘)‘trainIdx‘‘testIdx‘‘Imposter_train‘‘Imposter_test‘);
????????????%?ORL\5Train\1.mat?里面包含trainIdxtestIdx
????????end????
????????
????case?‘yale‘
????????%?Yale:隨機(jī)選擇7類隨機(jī)選擇選擇5個人臉訓(xùn)練,5個測試庫中每類剩余一張人臉
????????%???????再剩余的類的人臉圖像中隨機(jī)選擇40個作為冒充者的訓(xùn)練集
????????%???????再從剩余的圖像中選擇40個作為冒充者的測試集
????????Nump=15;Nots=11;filename=‘Yale\‘;
????????Train_number?=?5;?%?Yale選擇5個訓(xùn)練
????????if?(Train_number?>=?Nots)
????????????error(‘訓(xùn)練樣本個數(shù)應(yīng)小于每類樣本總個數(shù)!‘);
????????end
????????
?????????%?什么意思???
????????a=‘mkdir?‘;
????????s
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1874??2016-07-12?21:00??Databa
?????文件???????1863??2016-07-12?21:00??Databa
?????文件???????1859??2016-07-12?21:00??Databa
?????文件???????1878??2016-07-12?21:00??Databa
?????文件???????1863??2016-07-12?21:00??Databa
?????文件???????1860??2016-07-12?21:00??Databa
?????文件???????1859??2016-07-12?21:00??Databa
?????文件???????1866??2016-07-12?21:00??Databa
?????文件???????1857??2016-07-12?21:00??Databa
?????文件???????1884??2016-07-12?21:00??Databa
?????文件???????1874??2016-07-12?21:00??Databa
?????文件???????1864??2016-07-12?21:00??Databa
?????文件???????1861??2016-07-12?21:00??Databa
?????文件???????1861??2016-07-12?21:00??Databa
?????文件???????1855??2016-07-12?21:00??Databa
?????文件???????1862??2016-07-12?21:00??Databa
?????文件???????1878??2016-07-12?21:00??Databa
?????文件???????1865??2016-07-12?21:00??Databa
?????文件???????1858??2016-07-12?21:00??Databa
?????文件???????1863??2016-07-12?21:00??Databa
?????文件???????1860??2016-07-12?21:00??Databa
?????文件???????1866??2016-07-12?21:00??Databa
?????文件???????1858??2016-07-12?21:00??Databa
?????文件???????1866??2016-07-12?21:00??Databa
?????文件???????1862??2016-07-12?21:00??Databa
?????文件???????1859??2016-07-12?21:00??Databa
?????文件???????1877??2016-07-12?21:00??Databa
?????文件???????1868??2016-07-12?21:00??Databa
?????文件???????1859??2016-07-12?21:00??Databa
?????文件???????1856??2016-07-12?21:00??Databa
............此處省略1272個文件信息
評論
共有 條評論