Testing recognition with cropped class images
1. The Average Face and Eigenfaces
Building eigenfaces by using the following command:
C:>main --eigenfaces <p> <width> <height> <textfile image list> <outfile for eigenfaces>
ex. main --eigenfaces 10 25 25 nonsmiling_cropped/list.txt eigenfaces
The resulting eigenfaces are as follows:
Average Face:
Eigenfaces 0-9:
2. Building a userbase
C:>main --constructuserbase <eigenfaces filename> <textfile image list> <database output filename>
ex. main --constuctuserbase eigenfaces nonsmiling_cropped/list.txt userbase
3. Recognizing faces
# of eigenfaces | # of faces recognized |
1 | 3 |
3 | 14 |
5 | 13 |
7 | 16 |
9 | 16 |
11 | 21 |
13 | 21 |
15 | 21 |
17 | 21 |
19 | 25 |
21 | 23 |
23 | 24 |
25 | 24 |
27 | 24 |
29 | 24 |
31 | 24 |
33 | 23 |
Discussions
From the above, we found that the recognizing power seems to reach saturation after you use enough eigenfaces.
If you use more eigenfaces, not only the recognition process would take longer, the space for storing eigenfaces
also increases. In the above case, I would choose a user database with 19 eigenfaces.
In the recognizing face part, I checked hahn.tga. Here are some of the results:
Loaded faces from 'eig21.face'
Loaded users from 'base21.user'
Face 'hahn.tga' recognized as being closest too:
0: nonsmiling_cropped/eckart; MSE: 14258.3
1: nonsmiling_cropped/richardson; MSE: 15639.8
2: nonsmiling_cropped/gauthier; MSE: 16676
3: nonsmiling_cropped/moe; MSE: 17719.4
4: nonsmiling_cropped/hazen; MSE: 21318
5: nonsmiling_cropped/li; MSE: 23292.9
6: nonsmiling_cropped/simon; MSE: 24399.3
7: nonsmiling_cropped/lester; MSE: 27390.5
8: nonsmiling_cropped/hoyt; MSE: 27562.5
9: nonsmiling_cropped/treuille; MSE: 27755.5
10: nonsmiling_cropped/zhou; MSE: 28317.2
11: nonsmiling_cropped/mcnew; MSE: 29653.2
12: nonsmiling_cropped/mullen; MSE: 29841.6
13: nonsmiling_cropped/shon; MSE: 29851.4
14: nonsmiling_cropped/zhang; MSE: 29873.9
15: nonsmiling_cropped/lane; MSE: 30833.5
16: nonsmiling_cropped/hasselrot; MSE: 33357.7
17: nonsmiling_cropped/stewart; MSE: 43484.7
18: nonsmiling_cropped/nowak; MSE: 46913.3
19: nonsmiling_cropped/ko; MSE: 52211.7
20: nonsmiling_cropped/hahn; MSE: 61184.1
Loaded faces from 'eig25.face'
Loaded users from 'base25.user'
Face 'hahn.tga' recognized as being closest too:
0: nonsmiling_cropped/eckart; MSE: 20067.1
1: nonsmiling_cropped/gauthier; MSE: 22337.7
2: nonsmiling_cropped/richardson; MSE: 22746.4
3: nonsmiling_cropped/moe; MSE: 24387.8
4: nonsmiling_cropped/li; MSE: 27895.8
5: nonsmiling_cropped/simon; MSE: 28825.2
6: nonsmiling_cropped/mcnew; MSE: 30589.5
7: nonsmiling_cropped/lester; MSE: 31337.8
8: nonsmiling_cropped/hoyt; MSE: 31482.3
9: nonsmiling_cropped/treuille; MSE: 31496.1
10: nonsmiling_cropped/zhou; MSE: 32116.2
11: nonsmiling_cropped/mullen; MSE: 33396.7
12: nonsmiling_cropped/zhang; MSE: 33423.8
13: nonsmiling_cropped/hazen; MSE: 34109.5
14: nonsmiling_cropped/lane; MSE: 34229.9
15: nonsmiling_cropped/shon; MSE: 44057.4
16: nonsmiling_cropped/stewart; MSE: 44856.9
17: nonsmiling_cropped/nowak; MSE: 47737
18: nonsmiling_cropped/hahn; MSE: 52144
19: nonsmiling_cropped/ko; MSE: 52187.6
20: nonsmiling_cropped/huang2; MSE: 59774.9
21: nonsmiling_cropped/hasselrot; MSE: 60503.2
22: nonsmiling_cropped/downey; MSE: 60944.9
23: nonsmiling_cropped/su; MSE: 62364.5
24: nonsmiling_cropped/mcnamara; MSE: 66183.3
From the result, you can easily tell. It does not appear highly in the sorted results. It is hardly recognized
by the system.
Cropping and finding faces
Aseem's Face
c:>main --findface aseem.tga test 0.3 0.7 0.05 mark 1 victor_mark.tga
c:>main --findface aseem.tga test 0.45 0.55 0.01 crop 1 aseem_crop.tga
My Face
c:>main --findface victor.tga test 0.3 0.7 0.05 mark 1 victor_mark.tga
c:>main --findface victor.tga test 0.3 0.7 0.05 crop 1 victor_mark.tga
Faces in group pictures
c:>main --findface group1.tga test 0.9 0.9 0.1 mark 1 group1_mark.tga
c:>main --findface group2.tga test 1 1.3 0.05 mark 6 group2_mark.tga