In this assignment, we explored face morphing via triangluation and affine transformations. In addition, we experimented with the mean face of a population.
First, I manually defined correspondences between two images (defining features such as eyes, ears, chin, etc.). Then, I found the mid-way points between each pair of correspondences and computed the Delaunay triangulation of these "mid-way points". This triangulation of points is used for both images' respective points.
Me
Brother
My Points
Bro Points
Now, using the mid-way points and their triangluation, we find the affine transformation from the original images to the mid-way triangles. Afterward, instead of using this transformation, we find the inverse transformation to perform inverse-warping to avoid holes in our images. Inverse-warping involves going across each pixel in the mid-way image and finding the best pixel intensity from the original images using bilinear interpolation. The results of our the original images transformed to the mid-way shape and the mid-way image are shown below.
Me
Brother
Mid-way Points
Mid-way Image
In addition to the midway face, we can create a morph sequence by doing the same as the above, but instead of computing the midway points and performing the warp, we can perform the transformation for varying proportions of the two sets of correspondences, i.e. t
and (1 -t)
for t
in [0, 1]
. Doing this sequentially, with increasing values of t
creates a smooth morph sequence from one image to the other.
Delaunay
Brothers
Family
The mean face of a population can be produced simply by aligning images of a population and then averaging. Shown below is the mean face of a dataset acquired from the FEI Face Database and two of the faces morphed to the average shape.
Mean Face
Man Face
Man to Mean
Women Face
Women to Mean
Below is the mean and my face again, me morphed to the average shape, and the mean face morphed to my geometry.
Me
Mean Face
Me to Mean
Mean to Me
In addition to morphing towards the mean, we can see what happens when we deviate further from the mean. Instead of moving towards the mean, we move away from the mean by some factor of the distance from the mean.
d = 1
d = 1.5
d = 2.0
d = 2.3
For bells and whistles, I used the image of the average Chinese woman (source) and morphed my geometry and appearance to the average.
Me
Average
Morphed Geometry
Morphed