Ask Your Question

gender detection -fisher faces.

asked 2014-01-10 02:10:16 -0600

vivek0402 gravatar image

For gender detection, I took 20 faces of men and 20 faces of women and then trained fisherface algorithm with these faces by using id 1 for all male faces and 2 for all female faces. now when I am predicting with any male or female image, it gives correct answer. but here I want to know that Is this approach is right or not. Is there any better way to this?

edit retag flag offensive close merge delete


if you want my 2 cents, i'd say this is the correct way.

what are you unsure about ?

berak gravatar imageberak ( 2014-01-10 05:18:20 -0600 )edit

@berak I think it is returning the most matching face. so the result can not be believed. assume I have male face which is matching with any of the female face of training faces up to some extent but not any of the male faces. so it will return female.(This problem is arising for me cz it has recognized many of the male images to female.) I am just asking what modifications should I apply to get better results.

vivek0402 gravatar imagevivek0402 ( 2014-01-13 02:34:55 -0600 )edit

oh, you said before : "it gives correct answer.". what now ? does it predict correctly or not ?

berak gravatar imageberak ( 2014-01-13 05:40:18 -0600 )edit

initially i tested with few images and it gave correct answer for many of them but when it was tested with large amount of test images, it gave many wrong results. I am just asking the correct way to detect gender. please suggest the better ways or improvements.

vivek0402 gravatar imagevivek0402 ( 2014-01-14 02:48:09 -0600 )edit

2 answers

Sort by ยป oldest newest most voted

answered 2014-01-20 20:17:52 -0600

Jyo gravatar image

I'm not well-versed in OpenCV, but I have a working gender classification program, and I am using exactly the same method as you. I still have it at around 75% accuracy, but it can all be improved afterthat. Like what you said, I believe it is returning the most matching face too, but that doesn't mean it can't be believed.

The thing about it is to have a more diverse set of face database, it'll be good to increase the number of faces you have for both genders, with different races, different emotions (or void of any). It'll be good to include a few faces that is unique, for example, faces of male that look feminine, or faces of female that looks boyish. The larger your database, the more diverse it is, I believe it'll return better results.

20 faces for each class is pretty small, many others recommend to have a few hundreds.

There are definitely many other ways to do it, or even better ways, but what you're doing is not wrong either, and there are people who reached up to over 95% of accuracy, so if you don't have a lot of time to learn about a total new algorithm or method, I think it'll be good to stick with Fisherfaces and just add on to your face database. It'll take a lot of time too, but a more diverse and large set of training data would help in any approach you're taking in gender classification I believe.

edit flag offensive delete link more


Like answered in this post, increasing your training data should be the first step. The performance of this kind of algorithms depends on the quality and variance in the actual training set. Give it a try!

StevenPuttemans gravatar imageStevenPuttemans ( 2014-01-21 02:23:27 -0600 )edit

Is there a way other than using FisherFace Algorithm to achieve it ? Can SVM be trained to achieve appropriate result ?

amit shah gravatar imageamit shah ( 2015-05-14 06:03:02 -0600 )edit

answered 2014-01-15 09:49:41 -0600

SpiderGears gravatar image

Though I haven't worked with opencv very extensively.. but i think increasing the size of your test data set should help you improve the results.

edit flag offensive delete link more

Question Tools



Asked: 2014-01-10 02:10:16 -0600

Seen: 1,105 times

Last updated: Jan 20 '14