Win a copy of Escape Velocity: Better Metrics for Agile Teams this week in the Agile and Other Processes forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Tim Cooke
  • Paul Clapham
  • Jeanne Boyarsky
Sheriffs:
  • Ron McLeod
  • Frank Carver
  • Junilu Lacar
Saloon Keepers:
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Al Hobbs
  • Carey Brown
Bartenders:
  • Piet Souris
  • Frits Walraven
  • fred rosenberger

Facial recognition and artificial neural networks learning resources

 
Ranch Hand
Posts: 310
18
MS IE Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am not sure if it is the proper place for this question, but I think it fits the best here.

I would want to create an application for facial recognition that would utilize artificial neural network to learn faces from pictures to create a database of faces. I had a lick in both of the topics years ago but I forgot most of the stuff.

I bet there are people who are interested in this topic and could share information about good books or online places that could help me in my mission.

I would utilize Java to create the application, so any books related to the topic that cover code in Java are very welcome.

Thanks for your time.
 
Bartender
Posts: 1210
25
Android Python PHP C++ Java Linux
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I've been dabbling in computer vision and machine learning experiments the last 2 years. Here's the learning route I took for face detection and recognition:

1. Andrew Ng's ML course on Coursera
Fantastic course and exercises!
I picked up basics of linear/logistic regression, ANNs, backpropagation, and PCA here. These are required topics for going further.
Environment is Octave, but that's a good thing because it let me concentrate on the concepts rather than software environment complexities.

2. Face detection and face recognition
- The book "Vision based user interface programming in Java" has chapters on face detection and recognition using javacv. It's mostly a cookbook,
not much theory.
Environment is java and javacv.

- The book "Mastering OpenCV with Practical Computer Vision Projects" has an entire chapter on face detection & recognition using OpenCV.
It's largely recipe style, but has a few theoretical explanations too.
However, the approach it uses is Haar cascades, PCA, Eigenfaces and Fisherfaces, not ANNs.

Still, the steps on preprocessing and preparation of images is most important here too just as in other ML applications ("cleaning up the data")
so I think it'll still be useful even if you don't use these ML algorithms.

Environment and sample code is C++, but the code is quite directly translatable to Java using JavaCV.

- Szeliski's "Computer Vision - Algorithms and Applications" has a couple of good chapters on ML techniques for face detection and recognition, but it's all theory and math, no recipes.

- OpenCV tutorials (http://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.html)
Good practical cookbook style information and instructions.
Environment and sample code is C++, but the code is quite directly translatable to Java using JavaCV.

3. More advanced ML theory
- The free book "Introduction to Statistical Learning" has extremely good and approachable (ie, not too mathematical) information on
PCA, linear/logistic regression, boosting, adaboost,etc all of which are useful for CV and ANNs, but nothing on ANNs themselves.
Environment for sample code is R.

- Their video courses are very good too, if you're more comfortable learning from videos.
http://www.r-bloggers.com/in-depth-introduction-to-machine-learning-in-15-hours-of-expert-videos/
Environment for sample code is R.

- Their other free book "Elements of Statistical Learning" is much more mathematical, but has good coverage on ANNs.
Environment for sample code is R.

4. Current state of the art in this area is Convolutional Neural Networks, used by biggies like facebook.
I've not gone that far, and don't have personal experience or resources to recommend.
 
Andrew Polansky
Ranch Hand
Posts: 310
18
MS IE Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello Karthik,

Your list is great and will be definitely a huge help. It's much more than I expected! Thank you for taking your time to assemble it.
 
Bartender
Posts: 1810
28
jQuery Netbeans IDE Eclipse IDE Firefox Browser MySQL Database Chrome Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Great information Karthik. That deserves a cow.
 
Karthik Shiraly
Bartender
Posts: 1210
25
Android Python PHP C++ Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Adam, you're welcome!

Kevin, thank you for that cow!
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic