Ask Your Question
1

C++ Face Recognition

asked 2013-10-14 19:23:38 -0600

Chochstr gravatar image

updated 2013-10-15 05:13:55 -0600

berak gravatar image

I'm using Fisher-faces and I would like to combined with Eigenvalues face recognition to have a more accurate prediction how would i do this? I keep getting false predictions. When I train my face recognition what is best in pictures sizes of images and file types? I would to be able to recognize my class mates when they walk into a room so the computer greets them as they walk in.

thanks

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2013-10-15 05:29:58 -0600

berak gravatar image

updated 2013-10-15 05:33:49 -0600

  • "I would like to combined with Eigenvalues face recognition"

    that's already the case. fisherfaces are an extension of eigenfaces ( additional LDA )

  • "what is best in pictures sizes of images and file types ?"

    stick with .png or .pgm, avoid jpg. resize to like 100x100.

  • "I keep getting false predictions"

    make sure, that you're using exactly the same preprocessing for your train and test images. if your test-images are cropped from a cascade face detection, your train images should be, too. applying equalizeHist() should give some gain, too.

    you'll need like 10-30 images per person. allow some variation in pose / lighting

    try the LBPH face recognizer, too.

    try to control the lighting in the room. if there's a lamp, that ppl can switch on or off; - one half of the pics will be with lamp, and the other without, - remove it ;)

edit flag offensive delete link more

Comments

I guess i don't know how to fix my code according to what you said because its not working can you take a look at my code on github at this url

https://github.com/Chochstr/OpenCV_FaceDetection.git

Chochstr gravatar imageChochstr ( 2013-10-16 10:20:20 -0600 )edit

not before you can come up with a more detailed explanation of the problem ;)

again, what's not working ?

berak gravatar imageberak ( 2013-10-16 10:23:14 -0600 )edit

i'm detecting faces with detectmultiscale with lbpcascade_frontalface.xml and lbp_cascade.detectMultiScale(gray, faces2, 3, 1, 0|CASCADE_DO_CANNY_PRUNING,Size(30,30)); then looping and making the prediction but i get the wrong prediction. i have applied the equalizeHist as mentioned above. my images are 112 x 92 same as the at&t database but using png as you mentioned above.

Chochstr gravatar imageChochstr ( 2013-10-16 10:46:07 -0600 )edit

could you update the github repo ?

berak gravatar imageberak ( 2013-10-16 10:58:51 -0600 )edit

i sent my update not much changes, also please look in another location in my github files OpenCV_Image and toward the bottom.

Chochstr gravatar imageChochstr ( 2013-10-16 11:16:23 -0600 )edit
  • you don't need any negative samples here. remove all original att faces
  • i only looked at 'zach', but that does not look like the outcome of a cascade classifier. run all those images through the face detection, and crop them, there's far too much "border" in there, again you want exactly the same pipeline for train & test images (that applies to equalizeHist, too)
berak gravatar imageberak ( 2013-10-16 11:39:01 -0600 )edit

I have updated my code a little can you assist me in improving my face recognizer I seem to be getting bad predictions still maybe we can chat through google or or something else?

Chochstr gravatar imageChochstr ( 2013-10-23 10:38:48 -0600 )edit

Question Tools

Stats

Asked: 2013-10-14 19:23:38 -0600

Seen: 996 times

Last updated: Oct 15 '13