In this part, I selected my own photo and a photo of my favourate actress,
Liu Yifei.
For kaypoint labeling, I used the correspondence toll from last year.
To generate a smooth transition between two photos, I first compute the average of the
correspondence key points (points_A
and points_B
), resulting in
the intermidiate shape points_avg
.
Then, the triangulation to the average shape was done using Delaunay traiangulation via scipy.spatial
module.
Before computing the whole morph sequence, the goal is to compute the mid-way face of the images I chose in the previous part. This involves:
computeAffine
)A
that maps the source triangle points to the destination triangle points.
warp_triangle_function
)warp_image_function
)compute_mid_face
)
The morph sequence was created by generating 45 frames, adjusting both
warp_frac
and dissolve_frac
. The sequence was then saved as GIF (interval = 10ms)
to show the gradual transition from my face to another.
This part involves two actions:1. Compute the average face shape of the whole population (I used Danes dataset). 2. Morph each of the faces in the dataset into the average shape.
This part includes a caricature of my face by extrapolating from the Danes population average face.
Here, I found the average face of old(60-69 years old) chinese women from[1]. I picked some keypoints from both my photo and the average face, then morphed my face to the average face via only shape, only appearance and both. To be honest, I would be very glad if I could look like this when I turn 60!
[1] Porcheron, Aurélie, et al. "Facial contrast is a cross-cultural cue for perceiving age." Frontiers in Psychology 8 (2017): 1208.
Here, I selected my fluffy friends~ From begining to the end, we have Dabai, Maimai, Walnut and Taro~