PCA特征脸的识别率是多少?

时间:2014-05-11 10:09:56

标签: eigen face-recognition pca eigenvector

我使用了剑桥AT& T Laboratories的数据库面孔(正式为ORL数据库)。该数据库由400个图像组成,每人10张图像,即每40个人有10张图像。

我将每个人的5张图像分开进行训练,并将每个人剩下的5张图像分开进行测试。

所以我有2个文件夹:
1)训练(5张图像/人= 200张图像)
2)测试(5张图像/人= 200张图像)
培训文件夹中的照片与测试文件夹中的照片不同。

我获得的百分比识别率仅为80%。 但如果我在识别之前预处理图像,我得到:
与imajust预处理:82%
锐化预处理:83%
锐化和成像的预处理:84%
(如果预处理完成,它将应用于机器人训练和测试图像)

对于所使用的特征脸的数量,矩阵L的所有特征值都被排序,而那些小于指定阈值的特征值被消除。

L_eig_vec = [];
for i = 1 : size(V,2) 
    if( D(i,i)>1 )
        L_eig_vec = [L_eig_vec V(:,i)];
    end
end

我使用matlab实现人脸识别系统。识别率低是否正常?

1 个答案:

答案 0 :(得分:1)

准确度取决于您在PCA投影空间中获得数据后使用的分类器。在最初的Turk / Pentland特征面纸

http://www.face-rec.org/algorithms/PCA/jcn.pdf

他们只使用kNN / Euclidean距离,但现代实现可能使用SVM,例如使用rbf内核作为“面部空间”中的分类器,使用网格搜索优化C和gamma参数。 LibSVM会为你做这件事,并且有一个Matlab包装器。

此外,您应首先注册面部,即扭曲图像,使其具有面部标志,例如所有数据集中的眼睛,鼻子,mouyth在一个统一的位置?如果图像未预先注册,则会导致性能下降。我期望在90年代使用具有SVM和预注册的Eigenfaces的5人数据集。这个数字是基于过去学生项目的先前实施/表现的直觉。但有一点需要注意的是,你的训练样本数量非常少 - 高维空间中的5个点并不足以训练分类器。