Which technique is the best for facial recognition?
Show older comments
I have to apply a facial recognition technique on my project. I have read many research papers but i couldn't finalize the best technique including Hidden Markov Model, Support Vector Machine and Neural Network for my scenario.
Can any body tell me which will be the best for my case?
and on what basis do we decide the suitable technique?
3 Comments
Mehrukh Kamal
on 30 Nov 2013
Walter Roberson
on 30 Nov 2013
We don't have time to read all the research papers and do a detailed theoretical analysis for you and report back to you so you can then implement the "best" technique.
Facial recognition in TV broadcast: so your program needs to be able to track individual soccer players as they run, by recognizing the faces? Or it needs to be able to tell which national politician is giving a particular press conference ?
Mehrukh Kamal
on 30 Nov 2013
Answers (3)
Walter Roberson
on 29 Nov 2013
0 votes
No, we cannot tell you which will be the best for your case, as you have not indicate what your case is. Are you trying to recognize individual shoppers as they go through a store? Are you trying to recognize known casino cheats? Are you trying to take automated class attendance? Are you trying to verify that an astronaut has not been infected with an alien parasite before allowing the astronaut access to the control room with the Illudium Q-36 Explosive Space Modulator?
Image Analyst
on 29 Nov 2013
0 votes
I bet each one of those papers says that their method is the best algorithm for their facial images, right? Those methods you mentioned don't sound like face detectors I have heard of but maybe they are used in some steps of the algorithms in the papers you read. The algorithm I hear of most often , and is used by MATLAB's Computer Vision System Toolbox, is the Viola-Jones method. It uses Haar wavelets. I'm sure there have been improvements upon it since it was introduced.
The basis upon which you decide if it is suitable is if it detects faces to the accuracy you require. If you have several algorithms to choose from, you should construct an ROC curve for each one to help you pick the best one. https://en.wikipedia.org/wiki/Roc_curve
8 Comments
Walter Roberson
on 29 Nov 2013
Not just "detects faces to the accuracy you require" but also "detects faces under the circumstances you require". Training on full-on passport pictures is not likely to have good results on pictures of people in parkas on perambulating parking patrols.
Greg Heath
on 29 Nov 2013
Confucious:
Try all; Choose best.
Mehrukh Kamal
on 30 Nov 2013
Image Analyst
on 30 Nov 2013
True. It will detect a face. To detect exactly what individual's face it is, you're going to have to measure a lot more features.
Mehrukh Kamal
on 30 Nov 2013
Image Analyst
on 30 Nov 2013
No. Everyone has eyes, nose, and a mouth. Like I said, to determine if it's my mouth or your mouth, you're going to need higher resolution than needed for detection and better descriptors regarding shapes of the features and relative spacings. Check out this page for algorithms: http://iris.usc.edu/Vision-Notes/bibliography/contentspeople.html#Face%20Recognition,%20Detection,%20Tracking,%20Gesture%20Recognition,%20Fingerprints,%20Biometrics
Mehrukh Kamal
on 1 Dec 2013
Image Analyst
on 1 Dec 2013
Mehrukh Kamal
on 30 Nov 2013
0 votes
3 Comments
Jeremy Wurbs
on 30 Nov 2013
Viola-Jones is a method for training a classifier to detect a certain object. The original paper trained a classifier to detect faces, and is one of the most common methods for training such a classifier today. That said, you could also train a classifier for particular user's faces and get a classifier for each of them.
The techniques you mentioned in your OP (SVM, NN, etc.) are general methods for taking labeled data, X, with labels, Y, and training a classifier, f(x), to predict the output class on new, unlabeled data. Such techniques fall into the realm of machine learning. In theory they will all work, but for vision applications the difficulty is almost always in finding meaningful features (X) and handling image pre-processing (centering the face, removing unwanted edges, etc.). These are, in general, very non-trivial tasks.
Mehrukh Kamal
on 30 Nov 2013
Walter Roberson
on 1 Dec 2013
The criteria for choosing a particular algorithm is that it works "better" than the others under conditions that are realistic for what you need. "better" might mean less false positives, fewer false negatives, time required, expense required, and so on.
There was a presentation on tracking names and voices in TV broadcasts in ISDL 1997 http://www.dl.slis.tsukuba.ac.jp/ISDL97/exhibition-en.html
Categories
Find more on Semantic Segmentation in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!