Skip to content

NikAshanin/face-overlay

Repository files navigation

Face Overlay

The idea of the algorithm is to create an averaged face from the uploaded photos.

Algorithm's description

Step 1.

Read all the pictures that have the ".jpg" extension and are in specified folder.

Calculate the landmarks for each uploaded face in folder, then create a two-dimensional array. Use the library dlib and model shape_predictor_68_face_landmarks.dat to calculate landmarks.

Step 2.

Calculate the boundary points for the Delaunay triangulation for the averaged face image. Also, consider the points of the boundaries of the eyes.

Step 3.

Warp images and transform landmarks to output coordinate system, and find average of transformed landmarks.

Step 4.

Warp input images to average image landmarks via transform triangles one by one with Delaunay Triangulation.

Step 5.

Display the result with average face.

Results

Woman

Input images array

Can be overlayed to "average" face

Output result

Man

Input images array

Can be overlayed to "average" face

Output result