I am developing a C++ application for face authentication. First, I have to detect the face and pre-process the image.
The state-of-the-art approach for face alignment must be this:
Supervised Descent Method and its Application to Face Alignment X. Xiong and F. De la Torre in CVPR 2013
It is extremely fast and effective. You can check their project website IntraFace.
They provide an easy-to-use software. However, the core part code, i.e supervised descent method (SDM) is not released, it is only simple linear regression which can be easily implemented.
A demo to show that it can handle tilted face is here (for privacy issue, add blur and pay attention to the axis in the top-left corner): https://drive.google.com/file/d/0BztytuqPViMoTG9QaEpZWi1NMGc/edit?usp=sharing