當前位置:首頁 » 操作系統 » 人臉識別pca演算法

人臉識別pca演算法

發布時間: 2022-07-08 13:19:32

① 人臉識別演算法的分類

人臉識別法主要集中在二維圖像方面,二維人臉識別主要利用分布在人臉上從低到高80個節點或標點,通過測量眼睛、顴骨、下巴等之間的間距來進行身份認證。人臉識別演算法主要有:
1.基於模板匹配的方法:模板分為二維模板和三維模板,核心思想:利用人的臉部特徵規律建立一個立體可調的模型框架,在定位出人的臉部位置後用模型框架定位和調整人的臉部特徵部位,解決人臉識別過程中的觀察角度、遮擋和表情變化等因素影響。
2.基於奇異值特徵方法:人臉圖像矩陣的奇異值特徵反映了圖像的本質屬性,可以利用它來進行分類識別。
3.子空間分析法:因其具有描述性強、計算代價小、易實現及可分性好等特點,被廣泛地應用於人臉特徵提取,成為了當前人臉識別的主流方法之一。
4.局部保持投影(Locality Preserving Projections,LPP)是一種新的子空間分析方法,它是非線性方法Laplacian Eigen map的線性近似,既解決了PCA等傳統線性方法難以保持原始數據非線性流形的缺點,又解決了非線性方法難以獲得新樣本點低維投影的缺點。
5.主成分分析(PCA)
PCA模式識別領域一種重要的方法,已被廣泛地應用於人臉識別演算法中,基於PCA人臉識別系統在應用中面臨著一個重要障礙:增量學習問題。增量PCA演算法由新增樣本重構最為重要 PCS,但該方法隨著樣本的增加, 需要不斷舍棄一些不重要PC,以維持子空間維數不變, 因而該方法精度稍差。
6.其他方法:彈性匹配方法、特徵臉法(基於KL變換)、人工神經網路法、支持向量機法、基於積分圖像特徵法(adaboost學習)、基於概率模型法。 二維人臉識別方法的最大不足是在面臨姿態、光照條件不同、表情變化以及臉部化妝等方面較為脆弱,識別的准確度受到很大限制,而這些都是人臉在自然狀態下會隨時表現出來的。三維人臉識別可以極大的提高識別精度,真正的三維人臉識別是利用深度圖像進行研究,自90年代初期開始,已經有了一定的進展。三維人臉識別方法有:
1.基於圖像特徵的方法:採取了從3D結構中分離出姿態的演算法。首先匹配人臉整體的尺寸輪廓和三維空間方向;然後,在保持姿態固定的情況下,去作臉部不同特徵點(這些特徵點是人工的鑒別出來)的局部匹配。
2.基於模型可變參數的方法:使用將通用人臉模型的3D變形和基於距離映射的矩陣迭代最小相結合,去恢復頭部姿態和3D人臉。隨著模型形變的關聯關系的改變不斷更新姿態參數,重復此過程直到最小化尺度達到要求。基於模型可變參數的方法與基於圖像特徵的方法的最大區別在於:後者在人臉姿態每變化一次後,需要重新搜索特徵點的坐標,而前者只需調整3D變形模型的參數。

② 人臉識別演算法的種類

二維人臉識別演算法
三維人臉識別演算法

③ 基於pca和svm的人臉識別用了什麼演算法

分塊處理,對每一分塊圖像進行局部二值模式統計,選取其中出現頻率較高的模式,將所有圖像分塊的LBP直方圖銜接起來作為圖像最終的紋理特徵,然後應用主成分分析法(PCA)對所提取的紋理特徵進行降維處理,最後使用支持向量機分類器來對圖像進

④ 求PCA人臉識別演算法

a1=imread('a1.jpg');
a2=imread('a2.jpg');
b1=imread('b1.jpg');
b2=imread('b2.jpg');

a1=rgb2gray(a1);
a2=rgb2gray(a2);
b1=rgb2gray(b1);
b2=rgb2gray(b2);

figure,imshow(a1)
figure,imshow(a2)
figure,imshow(b1)
figure,imshow(b2)

a1=double(a1);
a2=double(a2);
b1=double(b1);
b2=double(b2);

a1_lie=a1(:);
a2_lie=a2(:);
b1_lie=b1(:);
b2_lie=b2(:);

c=cat(1,a1_lie',a2_lie',b1_lie',b2_lie');
c_mean=mean(c);

X=[a1_lie-c_mean',a2_lie-c_mean',b1_lie-c_mean',b2_lie-c_mean'];
R=X'*X; % R是4×4的矩陣

[p,q]=eig(R);
u=diag(q); % u是4×1的列向量
u=flipud(u); % flipud(u)實現矩陣的上下翻轉, u是4×1的列向量
v=fliplr(p); % fliplr(p)實現矩陣的左右翻轉,v是4×4的矩陣

e=zeros(36000,4);
for m=1:3
e(:,m)=X*v(:,m)./(u(m)^(-0.5)); % 參見《模式識別》P226公式9-18
end

p1=zeros(200,180);
p2=zeros(200,180);
p3=zeros(200,180);
for m=1:36000

p1(m)=e(m);
p2(m)=e(m+36000);
p3(m)=e(m+72000);
end

p1=mat2gray(p1);
p2=mat2gray(p2);
p3=mat2gray(p3);
figure,imshow(p1) % 顯示第1特徵臉
figure,imshow(p2) % 顯示第2特徵臉
figure,imshow(p3) % 顯示第3特徵臉

new=c*e(:,1:3); %分別計算4個訓練樣本分別在第1、第2、第3、特徵臉上的投影

p1=imread('p_test1.jpg'); %讀入一個測試樣本
p1=rgb2gray(p1);
figure,imshow(p1);
p2=double(p1(:));

test=p2'*e(:,1:3);%計算測試樣本在3個特徵臉上的投影
error=zeros(4,1);
for m=1:4
error(m)=norm((new(m,:)-test));
end
[distence,index]=sort(error); %將列向量error中的數據按從小到大排列
if index(1)==1
result=1;
elseif index(1)==2
result=1;
elseif index(1)==3
result=2;
elseif index(1)==4
result=2;
end

result %result為1時表示測試樣本屬於第1個人,為2時表示測試樣本屬於第2個人

⑤ matlab中PCA的人臉識別,最後得出的識別率是什麼意思啊!

  1. 識別率指的是通過人臉識別技術識別正確數占識別總數的百分比。

  2. 人臉識別演算法分類

    基於人臉特徵點的識別演算法(Feature-based recognition algorithms)。

    基於整幅人臉圖像的識別演算法(Appearance-based recognition algorithms)。

    基於模板的識別演算法(Template-based recognition algorithms)。

    利用神經網路進行識別的演算法(Recognition algorithms using neural network)。

    神經網路識別

    基於光照估計模型理論

    提出了基於Gamma灰度矯正的光照預處理方法,並且在光照估計模型的基礎上,進行相應的光照補償和光照平衡策略。

    優化的形變統計校正理論

    基於統計形變的校正理論,優化人臉姿態;

    強化迭代理論

    強化迭代理論是對DLFA人臉檢測演算法的有效擴展;

    獨創的實時特徵識別理論

    該理論側重於人臉實時數據的中間值處理,從而可以在識別速率和識別效能之間,達到最佳的匹配效果

⑥ 想問一下有沒有比較方便的人臉識別演算法,求推薦

主流的人臉識別技術基本上可以歸結為三類,即:基於幾何特徵的方法、基於模板的方法和基於模型的方法。
1. 基於幾何特徵的方法是最早、最傳統的方法,通常需要和其他演算法結合才能有比較好的效果;
2. 基於模板的方法可以分為基於相關匹配的方法、特徵臉方法、線性判別分析方法、奇異值分解方法、神經網路方法、動態連接匹配方法等。
3. 基於模型的方法則有基於隱馬爾柯夫模型,主動形狀模型和主動外觀模型的方法等。
1. 基於幾何特徵的方法
人臉由眼睛、鼻子、嘴巴、下巴等部件構成,正因為這些部件的形狀、大小和結構上的各種差異才使得世界上每個人臉千差萬別,因此對這些部件的形狀和結構關系的幾何描述,可以做為人臉識別的重要特徵。幾何特徵最早是用於人臉側面輪廓的描述與識別,首先根據側面輪廓曲線確定若干顯著點,並由這些顯著點導出一組用於識別的特徵度量如距離、角度等。Jia 等由正麵灰度圖中線附近的積分投影模擬側面輪廓圖是一種很有新意的方法。
採用幾何特徵進行正面人臉識別一般是通過提取人眼、口、鼻等重要特徵點的位置和眼睛等重要器官的幾何形狀作為分類特徵,但Roder對幾何特徵提取的精確性進行了實驗性的研究,結果不容樂觀。
可變形模板法可以視為幾何特徵方法的一種改進,其基本思想是 :設計一個參數可調的器官模型 (即可變形模板),定義一個能量函數,通過調整模型參數使能量函數最小化,此時的模型參數即做為該器官的幾何特徵。
這種方法思想很好,但是存在兩個問題,一是能量函數中各種代價的加權系數只能由經驗確定,難以推廣,二是能量函數優化過程十分耗時,難以實際應用。 基於參數的人臉表示可以實現對人臉顯著特徵的一個高效描述,但它需要大量的前處理和精細的參數選擇。同時,採用一般幾何特徵只描述了部件的基本形狀與結構關系,忽略了局部細微特徵,造成部分信息的丟失,更適合於做粗分類,而且目前已有的特徵點檢測技術在精確率上還遠不能滿足要求,計算量也較大。
2. 局部特徵分析方法(Local Face Analysis)
主元子空間的表示是緊湊的,特徵維數大大降低,但它是非局部化的,其核函數的支集擴展在整個坐標空間中,同時它是非拓撲的,某個軸投影後臨近的點與原圖像空間中點的臨近性沒有任何關系,而局部性和拓撲性對模式分析和分割是理想的特性,似乎這更符合神經信息處理的機制,因此尋找具有這種特性的表達十分重要。基於這種考慮,Atick提出基於局部特徵的人臉特徵提取與識別方法。這種方法在實際應用取得了很好的效果,它構成了FaceIt人臉識別軟體的基礎。
3. 特徵臉方法(Eigenface或PCA)
特徵臉方法是90年代初期由Turk和Pentland提出的目前最流行的演算法之一,具有簡單有效的特點, 也稱為基於主成分分析(principal component analysis,簡稱PCA)的人臉識別方法。
特徵子臉技術的基本思想是:從統計的觀點,尋找人臉圖像分布的基本元素,即人臉圖像樣本集協方差矩陣的特徵向量,以此近似地表徵人臉圖像。這些特徵向量稱為特徵臉(Eigenface)。
實際上,特徵臉反映了隱含在人臉樣本集合內部的信息和人臉的結構關系。將眼睛、面頰、下頜的樣本集協方差矩陣的特徵向量稱為特徵眼、特徵頜和特徵唇,統稱特徵子臉。特徵子臉在相應的圖像空間中生成子空間,稱為子臉空間。計算出測試圖像窗口在子臉空間的投影距離,若窗口圖像滿足閾值比較條件,則判斷其為人臉。
基於特徵分析的方法,也就是將人臉基準點的相對比率和其它描述人臉臉部特徵的形狀參數或類別參數等一起構成識別特徵向量,這種基於整體臉的識別不僅保留了人臉部件之間的拓撲關系,而且也保留了各部件本身的信息,而基於部件的識別則是通過提取出局部輪廓信息及灰度信息來設計具體識別演算法。現在Eigenface(PCA)演算法已經與經典的模板匹配演算法一起成為測試人臉識別系統性能的基準演算法;而自1991年特徵臉技術誕生以來,研究者對其進行了各種各樣的實驗和理論分析,FERET'96測試結果也表明,改進的特徵臉演算法是主流的人臉識別技術,也是具有最好性能的識別方法之一。
該方法是先確定眼虹膜、鼻翼、嘴角等面像五官輪廓的大小、位置、距離等屬性,然後再計算出它們的幾何特徵量,而這些特徵量形成一描述該面像的特徵向量。其技術的核心實際為「局部人體特徵分析」和「圖形/神經識別演算法。」這種演算法是利用人體面部各器官及特徵部位的方法。如對應幾何關系多數據形成識別參數與資料庫中所有的原始參數進行比較、判斷與確認。Turk和Pentland提出特徵臉的方法,它根據一組人臉訓練圖像構造主元子空間,由於主元具有臉的形狀,也稱為特徵臉 ,識別時將測試 圖像投影到主元子空間上,得到一組投影系數,和各個已知人的人臉圖像比較進行識別。Pentland等報告了相當好的結果,在 200個人的 3000幅圖像中得到 95%的正確識別率,在FERET資料庫上對 150幅正面人臉象只有一個誤識別。但系統在進行特徵臉方法之前需要作大量預處理工作如歸一化等。
在傳統特徵臉的基礎上,研究者注意到特徵值大的特徵向量 (即特徵臉 )並不一定是分類性能好的方向,據此發展了多種特徵 (子空間 )選擇方法,如Peng的雙子空間方法、Weng的線性歧義分析方法、Belhumeur的FisherFace方法等。事實上,特徵臉方法是一種顯式主元分析人臉建模,一些線性自聯想、線性壓縮型BP網則為隱式的主元分析方法,它們都是把人臉表示為一些向量的加權和,這些向量是訓練集叉積陣的主特徵向量,Valentin對此作了詳細討論。總之,特徵臉方法是一種簡單、快速、實用的基於變換系數特徵的演算法,但由於它在本質上依賴於訓練集和測試集圖像的灰度相關性,而且要求測試圖像與訓練集比較像,所以它有著很大的局限性。
基於KL 變換的特徵人臉識別方法
基本原理:
KL變換是圖象壓縮中的一種最優正交變換,人們將它用於統計特徵提取,從而形成了子空間法模式識別的基礎,若將KL變換用於人臉識別,則需假設人臉處於低維線性空間,且不同人臉具有可分性,由於高維圖象空間KL變換後可得到一組新的正交基,因此可通過保留部分正交基,以生成低維人臉空間,而低維空間的基則是通過分析人臉訓練樣本集的統計特性來獲得,KL變換的生成矩陣可以是訓練樣本集的總體散布矩陣,也可以是訓練樣本集的類間散布矩陣,即可採用同一人的數張圖象的平均來進行訓練,這樣可在一定程度上消除光線等的干擾,且計算量也得到減少,而識別率不會下降。
4. 基於彈性模型的方法
Lades等人針對畸變不變性的物體識別提出了動態鏈接模型 (DLA),將物體用稀疏圖形來描述 (見下圖),其頂點用局部能量譜的多尺度描述來標記,邊則表示拓撲連接關系並用幾何距離來標記,然後應用塑性圖形匹配技術來尋找最近的已知圖形。Wiscott等人在此基礎上作了改進,用FERET圖像庫做實驗,用 300幅人臉圖像和另外 300幅圖像作比較,准確率達到 97.3%。此方法的缺點是計算量非常巨大 。
Nastar將人臉圖像 (Ⅰ ) (x,y)建模為可變形的 3D網格表面 (x,y,I(x,y) ) (如下圖所示 ),從而將人臉匹配問題轉化為可變形曲面的彈性匹配問題。利用有限元分析的方法進行曲面變形,並根據變形的情況判斷兩張圖片是否為同一個人。這種方法的特點在於將空間 (x,y)和灰度I(x,y)放在了一個 3D空間中同時考慮,實驗表明識別結果明顯優於特徵臉方法。
Lanitis等提出靈活表現模型方法,通過自動定位人臉的顯著特徵點將人臉編碼為 83個模型參數,並利用辨別分析的方法進行基於形狀信息的人臉識別。彈性圖匹配技術是一種基於幾何特徵和對灰度分布信息進行小波紋理分析相結合的識別演算法,由於該演算法較好的利用了人臉的結構和灰度分布信息,而且還具有自動精確定位面部特徵點的功能,因而具有良好的識別效果,適應性強識別率較高,該技術在FERET測試中若干指標名列前茅,其缺點是時間復雜度高,速度較慢,實現復雜。
5. 神經網路方法(Neural Networks)
人工神經網路是一種非線性動力學系統,具有良好的自組織、自適應能力。目前神經網路方法在人臉識別中的研究方興未艾。Valentin提出一種方法,首先提取人臉的 50個主元,然後用自相關神經網路將它映射到 5維空間中,再用一個普通的多層感知器進行判別,對一些簡單的測試圖像效果較好;Intrator等提出了一種混合型神經網路來進行人臉識別,其中非監督神經網路用於特徵提取,而監督神經網路用於分類。Lee等將人臉的特點用六條規則描述,然後根據這六條規則進行五官的定位,將五官之間的幾何距離輸入模糊神經網路進行識別,效果較一般的基於歐氏距離的方法有較大改善,Laurence等採用卷積神經網路方法進行人臉識別,由於卷積神經網路中集成了相鄰像素之間的相關性知識,從而在一定程度上獲得了對圖像平移、旋轉和局部變形的不變性,因此得到非常理想的識別結果,Lin等提出了基於概率決策的神經網路方法 (PDBNN),其主要思想是採用虛擬 (正反例 )樣本進行強化和反強化學習,從而得到較為理想的概率估計結果,並採用模塊化的網路結構 (OCON)加快網路的學習。這種方法在人臉檢測、人臉定位和人臉識別的各個步驟上都得到了較好的應用,其它研究還有 :Dai等提出用Hopfield網路進行低解析度人臉聯想與識別,Gutta等提出將RBF與樹型分類器結合起來進行人臉識別的混合分類器模型,Phillips等人將MatchingPursuit濾波器用於人臉識別,國內則採用統計學習理論中的支撐向量機進行人臉分類。
神經網路方法在人臉識別上的應用比起前述幾類方法來有一定的優勢,因為對人臉識別的許多規律或規則進行顯性的描述是相當困難的,而神經網路方法則可以通過學習的過程獲得對這些規律和規則的隱性表達,它的適應性更強,一般也比較容易實現。因此人工神經網路識別速度快,但識別率低 。而神經網路方法通常需要將人臉作為一個一維向量輸入,因此輸入節點龐大,其識別重要的一個目標就是降維處理。
PCA的演算法描述:利用主元分析法 (即 Principle Component Analysis,簡稱 PCA)進行識別是由 Anderson和 Kohonen提出的。由於 PCA在將高維向量向低維向量轉化時,使低維向量各分量的方差最大,且各分量互不相關,因此可以達到最優的特徵抽取。

⑦ 如何結合pca演算法和最近鄰法進行人臉識別

%一個修改後的PCA進行人臉識別的Matlab代碼
% calc xmean,sigma and its eigen decomposition
allsamples=[];%所有訓練圖像
for i=1:40
for j=1:5
a=imread(strcat('D:\rawdata\ORL\s',num2str(i),'\',num2str(j),'.pgm'));
% imshow(a);
b=a(1:112*92); % b是行矢量 1×N,其中N=10304,提取順序是先列後行,即從上到下,從左到右
b=double(b);
allsamples=[allsamples; b]; % allsamples 是一個M * N 矩陣,allsamples 中每一行數據代表一張圖片,其中M=200
end
end
samplemean=mean(allsamples); % 平均圖片,1 × N
for i=1:200 xmean(i,:)=allsamples(i,:)-samplemean; % xmean是一個M × N矩陣,xmean每一行保存的數據是「每個圖片數據-平均圖片」
end;
sigma=xmean*xmean'; % M * M 階矩陣
[v d]=eig(sigma);
d1=diag(d);
[d2 index]=sort(d1); %以升序排序
cols=size(v,2);% 特徵向量矩陣的列數
for i=1:cols
vsort(:,i) = v(:,index(cols-i+1) ); % vsort 是一個M*col(注:col一般等於M)階矩陣,保存的是按降序排列的特徵向量,每一列構成一個特徵向量
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;
% (訓練階段)計算特徵臉形成的坐標系
while (i0)
base(:,i) = dsort(i)^(-1/2) * xmean' * vsort(:,i); % base是N×p階矩陣,除以dsort(i)^(1/2)是對人臉圖像的標准化,詳見《基於PCA的人臉識別演算法研究》p31
i = i + 1;
end
% add by wolfsky 就是下面兩行代碼,將訓練樣本對坐標繫上進行投影,得到一個 M*p 階矩陣allcoor
allcoor = allsamples * base;
accu = 0;
%
for i=1:40
for j=6:10 %讀入40 x 5 副測試圖像
a=imread(strcat('D:\rawdata\ORL\s',num2str(i),'\',num2str(j),'.pgm'));
b=a(1:10304);
b=double(b);
tcoor= b * base; %計算坐標,是1×p階矩陣
for k=1:200
mdist(k)=norm(tcoor-allcoor(k,:));
end;
%三階近鄰
[dist,index2]=sort(mdist);
class1=floor( index2(1)/5 )+1;
class2=floor(index2(2)/5)+1;
class3=floor(index2(3)/5)+1;
if class1~=class2 && class2~=class3
class=class1;
elseif class1==class2
class=class1;
elseif class2==class3
class=class2;
end;
if class==i
accu=accu+1;
end;
end;
end;
accuracy=accu/200 %輸出識別率
函數調用是定義函數,然後用函數名進行調用就可以了

⑧ 剛剛接觸用PCA方法進行人臉識別,請教PCA提取的是人臉的什麼特徵

基於特徵臉(PCA)的人臉識別方法

特徵臉方法是基於KL變換的人臉識別方法,KL變換是圖像壓縮的一種最優正交變換。高維的圖像空間經過KL變換後得到一組新的正交基,保留其中重要的正交基,由這些基可以張成低維線性空間。如果假設人臉在這些低維線性空間的投影具有可分性,就可以將這些投影用作識別的特徵矢量,這就是特徵臉方法的基本思想。這些方法需要較多的訓練樣本,而且完全是基於圖像灰度的統計特性的。目前有一些改進型的特徵臉方法。


比如人臉灰度照片40x40=1600個像素點,用每個像素的灰度值組成的矩陣代表這個人的人臉。那麼這個人人臉就要1600 個特徵。拿一堆這樣的樣本過來做pca,抽取得到的只是在統計意義下能代表某個樣本的幾個特徵。


人臉識別可以採用神經網 絡深度學習的思路,國內的ColorReco在這邊有比較多的案例。

⑨ 用PCA演算法進行人臉識別識別率相對較低的原因

我不是大神,但是可能猜測是使用演算法的圖片庫是不同的。10%的差距還是可以接受的。

⑩ sklearn里的PCA+SVM人臉識別演算法,到底是PCA什麼


  1. 識別率指的是通過人臉識別技術識別正確數占識別總數的百分比。

  2. 人臉識別演算法分類基於人臉特徵點的識別演算法(Feature-based recognition algorithms)。基於整幅人臉圖像的識別演算法(Appearance-based recognition algorithms)。基於模板的識別演算法(Template-based recognition algorithms)。利用神經網路進行識別的演算法(Recognition algorithms using neural network)。神經網路識別基於光照估計模型理論提出了基於Gamma灰度矯正的光照預處理方法,並且在光照估計模型的基礎上,進行相應的光照補償和光照平衡策略。優化的形變統計校正理論基於統計形變的校正理論,優化人臉姿態;強化迭代理論強化迭代理論是對DLFA人臉檢測演算法的有效擴展;獨創的實時特徵識別理論該理論側重於人臉實時數據的中間值處理,從而可以在識別速率和識別效能之間,達到最佳的匹配效果

熱點內容
筆記本x17配置怎麼選 發布:2025-01-24 05:05:53 瀏覽:7
python如何封裝 發布:2025-01-24 05:05:46 瀏覽:843
csgo怎麼連接伺服器 發布:2025-01-24 05:05:45 瀏覽:322
408哪個配置合適 發布:2025-01-24 05:01:54 瀏覽:882
oraclesql刪除重復 發布:2025-01-24 05:01:12 瀏覽:408
少兒編程排行 發布:2025-01-24 04:40:46 瀏覽:698
搭建伺服器怎麼使用 發布:2025-01-24 04:19:34 瀏覽:444
平行進口霸道哪些配置有用 發布:2025-01-24 04:19:32 瀏覽:874
ngram演算法 發布:2025-01-24 04:03:16 瀏覽:659
迷宮游戲c語言 發布:2025-01-24 03:59:09 瀏覽:358