Face Recognition is very hard problem to solve using traditional CV techniques considering hard real world scenarios lighting, camera angle etc
Far better accuracy can be achieved in Face Recognition using Deep Neural Networks called Openface an opensource free software from Carnegie Mellon university
I have been working on this for couple of months now and very impressed with the outcome
To Try it out -
Follow these steps
Introduction - https://cmusatyalab.github.io/openface/
Code - https://github.com/cmusatyalab/openface
Torch - Frameworks - http://torch.ch/docs/getting-started.html#_
Training and classification - https://cmusatyalab.github.io/openface/demo-3-classifier/
Python 2.7+ with additional dlib, sckit packages
CudNN drivers - If using nvidia GPU
Any questions with setup or how to ..
please leave a comment will help you.