Face recognition using eigenface

9 views (last 30 days)
hello, i'm been working face regonition using eigenface, how do i know the input doesn't same with database, actually it will show others database image. Is there any others solution that it doesn't found your input in database..

Accepted Answer

Image Analyst
Image Analyst on 2 May 2012
I'm not sure that I understand what you're saying. So, you have a database and for every face in there, you have the weights of the eigenfaces that it is comprised of. Then you take a test face and get its weights. Then you do some sort of comparison between the test weights and the weights of all the faces in the database. One of those in the database will be the closest to your test face. If it's close enough (and you define how close that is) then you can say "the face is in the database" else you say "the face is not in the database." I think that's basically how it works, but I have no idea what you did and why you can't make a decision on whether or not your test face is in there.
  1 Comment
Halim
Halim on 2 May 2012
sorry...im new in matlab, im try to understand how eigenface work. thank for the answers...i want to know how to define that the input face is not in database

Sign in to comment.

More Answers (2)

Julie
Julie on 8 May 2012
Hello, I'm trying to get started on eigenfaces in Matlab.
I read in images 100 x 100 grey level with imread. Turned each one into single column of data 10,000 data points long. Created a matrix A with four columns (four images) of data 10,000 rows long. I then tried to use
[COEFF, SCORE, latent] = princomp(A);
but it gives me :
_Error using svd
Out of memory. Type HELP MEMORY for your
options.
Error in princomp (line 86)
[U,sigma,coeff] = svd(x0,econFlag); % put in
1/sqrt(n-1) later
Error in face1 (line 37)
[COEFF, SCORE, latent] = princomp(A);_
----------------
size(A) = 4 x 10000
I just wanted to try four pictures before moving on to get fussy about the face images but it's already telling me it's out of memory.
Please help. I know people use Matlab to do Eigenfaces. What am I doing wrong ?
Help please.
  3 Comments
Nattawat Siri
Nattawat Siri on 12 Jun 2012
I'm study in this methodology for Age prediction.I think I can help you with the problem
eigenvector can product covariance matrix follow expression,
[Eig D]=A*A'
so, A =covariance matrix from
A= all of Face images in a column vector minus by mean of class
if you are more detail ,I advise you see this page . http://www.mathworks.com/help/techdoc/ref/eig.html
michael scheinfeild
michael scheinfeild on 17 Mar 2014
IF YOU HAVE 50 IMAGES n*n SO each image you do operation img(:) you have matrix (n=100) 10000*50=A if you try C (A*A') IT IMPOSSIBLE 10000*10000 , INSTEAD do the transopse C=A'*A is size of 50*50 you have 50 eigen vectors and 50 eigen valuse to reach the hhigher diomension eigen lamda = smalleig*A (the eigen face !!!)

Sign in to comment.


michael scheinfeild
michael scheinfeild on 11 Mar 2014
you can transpose N*M*M*N = COV M*N*N*M

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!