The picture I used was not as clean as it could have been - my face is tilted at a different angle, making it harder for the morphing algorithm to cleanly do its job.
Different selection points / correspondences seemed to make it better/worse, but still it could have been much improved with a better picture of myself.
Also, the fact that I'm smiling with teeth and Federer isn't also disrupts the transition. If my mouth were closed, this would look a lot better.
Here I used more similar looking images of Novak Djokovic and Roger Federer from the ATP website.
Because the faces are in similar positions, this turned out infinitely better - almost perfect.
By creating the triangles of our average of all the points in the images, finding the corresponding triangles and enclosing points in all the images (through affine transformation, like before), and averaging all those values together, I obtained the average faces for males and females:
Since the dataset only contained points around their face, I included dummy points on all the corners of the image so those triangles could be included in the average. This led to some stretching and wonky transformations in areas outside of the face, but this is expected.
Average of males:
These are all the males in the dataset morphed (only shape) to the average image above.
Average of females:
These are all the females in the dataset morphed (only shape) to the average image above.
Morphing my face to the average face:
Horrifying, yes. It seemed to morph correctly around the selected points, but obviously since the rest of the image outside of just the face isn't mapped, it's widely stretched and disfigured. Also my head position is not in the same position as the average position, which is causing most of the issues. Also, due to the lips being shut vs smiling, a weird shape is formed.
Morphing the average face to my face:
In a similar fashion, I morphed the average male face to the position and shape of my face. The positioning, obviously is not near the average image, causing distortion around, but the positioning seems to match the points I mapped on my face.
My attempt at morphing to the average female face:
Despite the error in positioning, obviously, this does look more feminine than my face morphed to the average male face. I'd consider it a success! Unfortunately I don't have a better picture to even things out.
I used the same method as before, morphing my face into the average face, but changing the coordinates of the pixels in my face that I was accessing to fill out the morphed image. I modified it by increasing each coordinate by 10 before the access. This leads to some wonky angles and what looks like the image expanding from the center. Truly grotesque.