CSE 455 Project 4 Artifact

Eigenfaces

Gabriel Maganis
CSE 455 Computer Vision Winter 2006
  • Testing recognition
  • Cropping and finding
  • Testing recognition with cropped class images

    10 eigenfaces of 25x25 pixels
    The Average Face: 
    The Eigenfaces: 

    Correct matches: 20/27 faces (74%)
    SmilingMatching Non-Smiling
    01
    22
    02
    02
    03
    03
    04
    04
    05
    05
    06
    06
    07
    07
    08
    08
    09
    20
    10
    10
    11
    06
    12
    12
    13
    04
    14
    14
    15
    03
    16
    16
    17
    17
    18
    18
    19
    19
    20
    14
    21
    08
    22
    22
    23
    23
    24
    24
    25
    25
    26
    26
    27
    27


    I ran the recognizer over the range 1-20 eigenfaces of 15x15 pixels each. I have the plot of the results below,

    QUESTIONS: Describe the trends you see in your plots. Discuss the tradeoffs; how many eigenfaces should one use? Is there a clear answer? You likely saw some recognition errors in step 3; show images of a couple. How reasonable were the mistakes? Did the correct answer at least appear highly in the sorted results?
    ANSWERS: Obviously, the more eigenvectors we keep, the better the results. However, a key observation is the flat parts of the graph which mean that the additional eigenvectors we add in that range are not giving us much information (features), specifically, the features that would identify the faces we were making mistakes on. How many eigenvectors? From the plot, I would say 14 to 16 is a reasonable range but I used 20 for detection anyway. There is no correct answer to how many eigenvectors to use because as the rank of the eigenvector goes down, the lesser the variance it has which can be observed in the leveling of the plot in the 9-15 eigenvectors range. The mistakes were generally reasonable like 01 and 22 who kind of look the same and 11 and 06 who kind of have the same face shape. A weird one is 15 and 03 which have nothing in come, as far as I can see, whatsoever. But then again, I'm only human.

    Cropping and finding face

    I was not able to finish implementing overlap handling on time but I did manage to finish it by the artifact due date. I ran the face finder with 20 eigenfaces of 15x15 pixels each.
    For group3.tga, the face finder keeps finding the middle guy's pants as the third best eigenvector and the guy on the right side's face is actually the fourth best eigenvector. I ran the search from scale 0.5 to 0.40 in steps of 0.05.
    I increased the max_scale which should be the case since the faces here are small compared to group3.tga.
    The searched from scale 0.2 to 0.35 in steps of 0.1 since I thought the baby's face was relatively big.

    The highly textured area, just like those pants above fooled the face finder. This is expected as the large amount of texture probably "satisfy" most of the eigenvectors which lessen the mean squared error.

    I have no idea what went wrong here. All these guys were matched correctly by the recognizing routine. I searched from 0.5 to 0.40 then 0.60 in steps of 0.5 then finally gave up on a search from 0.02 to 0.25 in steps of 0.1 with results below. It seems to like that purple shirt, which I have no explanation for since group3.tga had textured and dark colored clothing also.