which is the most effective(accurate) face detection method in python i try haar_cascade for face detection and LBPH for face recognition , but the result wasn't good enough, please suggest good ways to detect and recognize faces.

my aim is to create an app which take a photograph of students and by scanning this one photograph, it will predict which student is present and which is absent
You can use the Facial landmarks library, it's very easy to use 
you will get 68 point and compare them from your dataSet very dirty and easy way of doing things note that


The users must take the pictures at the same position to keep the same depth