I have been using the dlib library to detect faces and its working really well. I delved a bit deeper into it and found its based on the concept of active appearance model(AAM) and active shape model(ASM). I found no explanations to the algorithm. All that internet resources seems to have is a series of steps to be followed without any understanding. I would be grateful if some one could explain how does it work? A simple intuition, some links to necessary resources would really make it simple for people like me to understand it.