Pattern recognition using neural networks.

blahblah99

Platinum Member
Oct 10, 2000
2,689
0
0
I have an engineering project that deals with a pattern recognition, mainly image recognition and classification. Given a bunch of grayscale images people's face (front) and a list of names, recognize and classify each image and match them to the name assuming that you (the programmer) knows the lineup. The images are m x n pixels...

Let's take a simple example - the English alphabet or the digits 0-9. Humans are "trained" to recognize the those characters and can tell instantly what each letter means. But how would a computer extrapolate "129" if given three images that were 128x128 pixels in size that had dark pixels to form the shape "1" "2" and "9"? That's just a simple example.. what'd I'd like some help on is how to figure out the first problem.

What would be the best way to do it?

I'm familar with neural network theory & the training algorithms, just wondering what the best method would be for facial recognition.
 

mattsaccount

Member
Nov 30, 2003
87
0
0
Just come up with some features. If the images were all a fixed size, you could treat every pixel in the image as a feature. That's pretty naive, though, and would likely be slow.

Are there any other assumptions you can make about the images you'll be classifying? Is the background of the image full of stuff or is it a bland/flat background?

Have you read any journal articles on the subject? Chances are other researchers have solved much of this problem for you.

Facial recognition is a tough problem, if you solved it with much success, the government might hire you to find terrorists
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
In theory, you can just treat the raw image data (whether faces or numbers or whatever) as a (potentially very large) input to a neural network classifier, and build it big enough to hold enough input->output pairs. However, with a nontrivial number of sizable images, this will require an ENORMOUS amount of storage space, and run painfully slowly unless you happen to have a supercomputer lying around to use. If you shrink the images too much to reduce the storage needs, your accuracy will drop. Also, with faces, it could easily be fooled by things like different lighting conditions, etc.

Just come up with some features. If the images were all a fixed size, you could treat every pixel in the image as a feature. That's pretty naive, though, and would likely be slow.

In practice, this is what is done -- the images are processed in some way, and reduced to a set of 'features' that can be encoded fairly compactly (and ideally in a completely automated fashion) but that still contain enough information to identify the person (or whatever it is you're trying to identify). For instance, ratios of things like the distance between your eyes and the top of your nose, the size of different facial features relative to the size of your face, the overall shape of the face, etc. can be used to distinguish people pretty reliably. Then what you do is just store the encoded features for each image. When you want to try to identify a new image, you encode it and then search for the closest match or matches stored in the network.
 

bobsmith1492

Diamond Member
Feb 21, 2004
3,875
3
81
Use "fuzzy logic?" I think the idea is to assign values to each possible represented figure, then decode your input and call it whichever figure the value was closest to. This sounds like a CS project to me though, by the way.
 

rummyPPG

Member
Dec 23, 2001
48
0
0
I did this about a year ago for a Computer Vision class. The way we did it was to analyze a set of faces (for us the 20+ people in the class) and generate what they called "eigenfaces", which are analagous to eigenvectors when solving Linear systems. These won't look like faces for the most part, but they represent the best way to seperate out the largest distances in the face space similar to how eigenvectors do the best job at being the farthest away and thus covering the linear space they're solving. Once you have your eigenfaces you can use them to do a best fit to a given picture to determine if its a face, and then do a lookup on your faces to determine which one is the best.

See this slide deck for the theory:
http://www.cs.washington.edu/education/courses/csep576/05wi/lectures/recog.htm

And see this project assignment for some hints about the programming steps to take and the way to code the functions:
http://www.cs.washington.edu/education/...5wi/projects/project4/web/project4.htm

If you're really stuck i still have my source code somewhere ...
 

blahblah99

Platinum Member
Oct 10, 2000
2,689
0
0
Originally posted by: rummyPPG
I did this about a year ago for a Computer Vision class. The way we did it was to analyze a set of faces (for us the 20+ people in the class) and generate what they called "eigenfaces", which are analagous to eigenvectors when solving Linear systems. These won't look like faces for the most part, but they represent the best way to seperate out the largest distances in the face space similar to how eigenvectors do the best job at being the farthest away and thus covering the linear space they're solving. Once you have your eigenfaces you can use them to do a best fit to a given picture to determine if its a face, and then do a lookup on your faces to determine which one is the best.

See this slide deck for the theory:
http://www.cs.washington.edu/education/courses/csep576/05wi/lectures/recog.htm

And see this project assignment for some hints about the programming steps to take and the way to code the functions:
http://www.cs.washington.edu/education/...5wi/projects/project4/web/project4.htm

If you're really stuck i still have my source code somewhere ...

Thanks, I read through it and was informative. This project isn't a class project, its more of a long long term project, as in several years and I won't be doing any coding anytime soon... I'm justing doing the research for it now.
 

homercles337

Diamond Member
Dec 29, 2004
6,345
3
71
I did some work on classifying different types of images using SVM (support vector machines). Its theoretically similar to the eigen approach, except its a little more complicated in terms of interpreting your support vectors.

[edit] Hey, that was my first HT post! [/edit]
 

harrkev

Senior member
May 10, 2004
659
0
71
Take a look at the "cascade correlation" neural network architecture. Simply amazing what this thing can do. This was the very first neural network architecture that could solve the spiral problem.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |