InsightFace - is an open source library for 2D and 3D face analysis. It offers state-of-the-art face recognition, detection and alignment algorithms that are designed to optimize performance for both training and deployment purposes. It is free to use (for now), but only gives you 50 images to generate per day (also for now).
But the main thing is that the process itself is very easy, although it will take a little bit of figuring out at first.
But here is the result you can get: