I use plt.ginput to select some key points of correspondences. The points is shown below.
Then I use Delaunay to get a triangulation for these points. The results are shown below.
George's tri | My tri |
First we use the following formula to compute the affine matrix
then we get the affine matrix
We compute its inverse transform matrix and warp the two original images into mid shape. Below are the two original images and the mid-way face.
George | My face | Mid-way face |
In order to get a sequence with 46 frames, I equally divide [0,1] into 46 parts and get 46 weights. For shape interpolation, New_img = img1*weight+img2*(1-weight). And cross dissolve shares the same weights as the shape interpolation. We get two example sequences below.
me_george | su_wu |
We use the Danes dataset to compute the mean face. Below we give three example individual mean faces we computed.
This is the Danes mean face
And I also warp my face into Dances' and Dances' into mine
My face to Danes | Danes' face to me |
In this part, we select t as -1,0,1, and get the three images which are really interesting.
t=-1 | t=0 | t=1 |
Also , we make a caricature gif to show something more funny.
We use a female average face below
Then we try to apply only the shape into my face, only the color into my face and both into my face.
Original face | Only shape changed | Only color changed | Both changed |
We find a spoof version of Harry Potter movie poster and an original poster. Then we try to do some local change of the poster.
I make a gif of the transition between me and the next student.
My face | The next student | The transition between us |
The full music video is shown below:
We make a music video on a pianist theme. We select 7 great pianists to make the video.