In this project I implemented the following tasks:
For achieve a good result for face morphing, we need to segment our faces into pieces of triangular. This is so that we can compute the transformation of our faces to some other space piece by piece. That is, for all triangular meshes, we compute how each mesh transforms into the corresponding mash of another face, and then we piece the transformations together.
We start of by labeling the points on our face, capturing areas with important face features.
|
|
Then we sperate the images into smaller meshes by performing Delaunay triangulation:
|
|
Now we can perform face morphing between my face and George's face:
|
|
As we can see, the midway face is a product of both my face and George's face warping into an average face shape, with pixel values combined. It looks quite effective.
Here is another example of my face morphing into Lionel Messi's face:
|
|
|
|
For this morphing I tried a picture of mine with a white background. Notice how similar background color tends to produce better results.
We are also interested in what the "Midway" face will look like for multiple people, say a population. Here I computed the mean face of two population from two data set:
Photos of the Starting XI of FC(Football Club) Barcelona
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I played around somemore with face morphing here.
|
|
|
|
|
|
I used (1.4 my_face + 0.6 barcelona_mean_face) for this extrapolation