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.