CSE 455 Computer Vision Project 4

CSE 455 Computer Vision
Project 4 Eigenfaces

by Sa Xiao


Testing recognition with cropped class images

Average Face & 10 Eigenfaces (from left to right, 25x25)
main --eigenfaces 10 25 25 faceImages\Neutral\list.txt eig10.face
The number of faces correctly recognized versus the number of eigenfaces used
As we can see from the trend diagram below, the accuracy responses dramatically as the number of eigenfaces used increases from 1 to 5. The result shows little improvement as the number of eigfaces is greater than 11. Hence, considering the computational efficiency, it is reasonable to choose 10 eigenfaces, which makes us achieve desirable outcomes with high performance.
Recognition erros (using 10 eigenfaces)
Some recognition errors are demonstrated below. Correct answer usually ranked high in the rsults. It is interesting to see that the program is less capable to identity two persons both wearing glasses.

Face 'faceImages\interesting\10.tga' recognized as being closest too:
0: faceImages\Neutral\11; MSE: 39757.1
1: faceImages\Neutral\10; MSE: 41298.5


Face 'faceImages\interesting\14.tga' recognized as being closest too:
0: faceImages\Neutral\21; MSE: 11818.4
1: faceImages\Neutral\14; MSE: 12470.1


Face 'faceImages\interesting\16.tga' recognized as being closest too:
0: faceImages\Neutral\20; MSE: 25789
1: faceImages\Neutral\13; MSE: 26468.5
2: faceImages\Neutral\27; MSE: 28239.2
3: faceImages\Neutral\18; MSE: 31818.1
4: faceImages\Neutral\25; MSE: 32706.6
5: faceImages\Neutral\14; MSE: 32776.4
6: faceImages\Neutral\28; MSE: 37024.6
7: faceImages\Neutral\16; MSE: 39955.2


Face 'faceImages\interesting\25.tga' recognized as being closest too:
0: faceImages\Neutral\20; MSE: 17867.4
1: faceImages\Neutral\26; MSE: 19062.6
2: faceImages\Neutral\25; MSE: 23075.5

Cropping and finding faces

Use program to crop the test.tga image
main --findface test.tga eig10.face .8 .86 .05 crop 1 test_output.tga
Use program to crop the photo of Chicharito. When min_scale = 0.45, ma_scale = 0.5, step pram = 0.01, the face is successfully detected.
main --findface Chicharito.tga eig10.face .45 .5 .01 mark 1 Chicharito_output.tga
Find three faces in the group7.tga image
main --findface group7.tga eig10.face .8 .86 .05 mark 4 group7_output.tga
main --findface oldclass_neutral.tga eig10.face .7 .0 .01 mark 32 oldclass_output.tga
Looking at picture below, we can find both false positives and false negatives exist. The false positives usually have a small top part darker than the remaining bottom part which are mistaken for a face.

Verify Face

Use the cropped neutral students to compute 6 eigenfaces
main --eigenfaces 6 25 25 faceImages\Neutral\list.txt eig6.face
I tried MSE thresholds from 10000 to 100000 and obtained the following plot. Each interesting face was verified againest his/her neutral face to obtain the false negatives. And each interesting face was verified againes others' neutral faces to obtain the false positives. From the plot, it is easy to see that threshold 40000 works best since false positives begins to increase dramatically from 40000 and false negatives ends the fast decrease. With the best threshold 40000, we have false positive rate 87/(28*27) = 11.5% and false negative rate 5/28 = 17.85%