Travis
McCoy: EigenFaces
Testing
recognition with cropped class images
Procedures:
1. Cropped, non-smiling eigenfaces:
Average: ![]()
Eigenface0:![]()
Eigenface1:![]()
Eigenface2:![]()
Eigenface3:![]()
Eigenface4:![]()
Eigenface5:![]()
Eigenface6:![]()
Eigenface7:![]()
Eigenface8:![]()
Eigenface9:![]()
3. The number of faces recognized based on # of
faces considered: (x axis = #used y-axis = #recognized)

Question 1: Based on the data, one could argue that
two ranges of values for number of faces to be considered would be valid,
depending on one’s preference for performance over accuracy. 9 faces appears to
have the best trade-off between speed and accuracy, offering good accuracy for
a minimal number of faces. At the same time, 18 faces gives the same accuracy
as 25 faces, but uses 7 fewer faces. Consequently, there is no clear answer,
and thus depending on the needs of the user, 9 or 18 would both be good
choices.
Question 2: image 2 has a hard time recognizing the
smiling version of the picture. The two are shown below:


While the correct result is listed as the 8th
strongest match, the pictures aren’t dramatically different in angle or
lighting, so we should reasonably expect the accuracy to be better.
In contrast, image 11 doesn’t match as the first
result, but is recognized as the second. The images are shown below:
![]()
![]()
The two images are very close to each other, and as
we would expect, they are ranked closely, though not as each other’s top match.
Due
to time constraints, I was unable to successfully complete this feature by the
deadline. Please note that all other 6 TODO methods in the project are present
and working properly.
Procedure:
For the first six smiling and non-smiling images,
they had the following MSE’s
|
1 |
2 |
3 |
4 |
5 |
6 |
|
|
1 |
9395 |
205716 |
66967 |
13144 |
73356 |
282957 |
|
2 |
35541 |
193812 |
70681 |
35228 |
43806 |
204327 |
|
3 |
153856 |
64697 |
20657 |
163729 |
265130 |
135602 |
|
4 |
46887 |
143308 |
36932 |
35599 |
127625 |
182140 |
|
5 |
86473 |
333305 |
153801 |
74181 |
40944 |
327688 |
|
6 |
564335 |
263465 |
269796 |
517585 |
597838 |
76881 |
Rather than search for the best threshold, we can
plot out the MSE for each image pair and compute the best threshold. From the
data, we see that that a mean squared error threshold of approximately 41000
generates the best results, balancing between finding all matches and limiting
false positives. With such a threshold, we have a false negative rate of 33%,
and a false positive rate of 13%. It’s worth noting that to get a better false
negative rate, we would have to increase the threshold to 77000, dramatically
increasing the false positive.