Project4  Eigenfaces                                                   Minhui Lin

Experiments and results:


 


 

 

Procedure 1 Testing recognition with cropped class images

Data

Elgenfaces created from class images (non_smiling)

7 eigenfaces

average face

 

There are total 22 faces in the folder class_smiling_croped (15 males, 9 females)

 

Questions

1. 19 recognized correctly, 3 incorrectly      see more detailed results

2. average position when the program fail to recognize = (1+6+3) / 3 = 3.3

3. 10 faces (7 males, 3 females) have the same gender as at least 2 of of 2nd, 3rd, 4th faces

    46% matching for male, 66% for female

 

4.It takes too long to compute the eigenfaces for large number of users. 

5. The eigenfaces computed from the different set of users gives more divers coefficients when projecting users.

    More variance in the coefficients helps identifying users better. 

 


 

Procedure 2 Recognizing the undergraduate faces

Data

Elgenfaces created from undergraduate images

20eigenfaces

average face

Total 18 students who are in the class undergraduate set

 

Results

    2 out of 18 students recognized (11%), 6 out of 18 are among top 5 of closest face (33%)

 

    3 out of 18 studetns recognized (17%), 7 out of 18 are among to 5 of closest matching faces (39%)

 

    4 out of 18 studetns recognized (22%), 7 out of 18 are among to 5 of closest matching faces (39%)

 

     4 out of 18 studetns recognized (22%), 7 out of 18 are among to 5 of closest matching faces (39%)

    The same recognition rate as using 15 eigenfaces.

Questions

1.see results

2. 15 eigenfaces

    You can see the "best" matching among the wrong recognitions ( with the lowest mse)

    

 

seitz

galen 

ranking 0: margaux 

  

ranking0: alissah

 

ranking 1: tshail

 

ranking 1:melissa

ranking 3: tanderl

ranking 3: tamoore

It's hard to tell from these images why they are ranked closed to the target users (seitz, and galen). 

But they have are close to the users in the face space.

3. The training photos and recognition photos were taken under pretty much the same condition (similar lighting, same camera, etc) .

    So program has higher recognition rate. In the second procedure, the training photo (ugrad_cropped) and the recognition photos (non_smaile) were taken at different date and

     possibly under very different lighting condition. Those factors results in the same user having large difference in  face projections. That's probably why the recognition rate turn out 

    pretty low.

 

4.Increasing the number of eigenfaces seem to help raising the recognition rate, but overall the performance is poor. 15 works best. Using more than 15 eigenfaces did not give me better results. 

 

 


Procedure 3 Cropping the undergraduate faces

Result

TOP ROW: cropped by this project

BOTTOM ROW: pre-cropped

 

Questions

1. min_scale = 0.20  max_scale = 0.35  step = 0.05

2. 9 out of 10 looks correct. One cropped to a student's shoulder rather than her face. 

3. The program was fooled into thinking a non-face region is a face in the third cropped image. 


Procedure 4 Finding faces in group photos

 

 

face detection

comparison:  results from using two different error function

error = mse *  distance(face, averageFace) / (face varience)    error = mse *  distance(face, averageFace) / sqrt(face varience)

2 out of 4 detected

Min_scale = 0.25  Max_scale= 0.3  step = 0.025

 

3 out of 4 detected

Min_scale = 0.25  Max_scale= 0.3  step = 0.025

 

3 out of 5 faces detected 

Min_scale = 0.9 Max_scale = 1.0  step =  0.05

 

2 out of 5 faces detected

Min_scale = 0.9 Max_scale = 1.0  step =  0.05

 

I tried several error functions, but how well each function works depends on what kind of photos is being processed. I wasn't able to find a function that work universally well.

error = mse *  distance(face, averageFace) / (face varience)   works best for photos with faces taken under similar situations as the training data. But it still gets fooled by

low texture areas. If the algorithm can do some color detection in addition to PCA, then the program can get rid of a lot of the low-texture area, such as the green wall and white curtian

in the second image.