Face Morphing with Delaunay Triangulation
Smooth warping between two faces via point correspondences, Delaunay triangulation, and affine warps per triangle. Plus: population mean faces and caricature generation by extrapolation.

Delaunay triangulation meshes on two faces — ~50 manually-annotated landmarks each, triangulated to maximize minimum angles. Every pixel in the morph is warped by its containing triangle via affine transform. The mesh is what makes smooth identity transitions possible.
The Triangulation
~50 manually-annotated landmarks per face. Delaunay triangulation builds a mesh that maximizes the smallest angle, avoiding sliver triangles that would warp poorly. Every pixel gets warped by whichever triangle contains it.
Morph Sequence

Five frames from a 46-frame morph. α controls both the shape blend and the cross-dissolve weight — landmarks march across, pixels fade across, and the identity slowly shifts.
Mean Face & Caricature
Left: the population mean of 40+ Danish faces — landmark-averaged, then appearance-averaged. Center: my face warped to the mean’s shape (still my texture, average proportions). Right: a caricature at α=1.5 — instead of interpolating toward the mean, extrapolate away from it. Whatever made my face distinctive gets exaggerated.
Related projects
Colorizing 1907 Russian Empire Photographs
Reconstructing color from Sergei Prokudin-Gorskii's glass plate negatives (captured 1907–1915) using image pyramids and normalized cross-correlation alignment.
Auto-Stitching Photo Mosaics
Building a panorama pipeline from scratch — Harris corner detection, Adaptive Non-Maximal Suppression, feature matching, RANSAC for homography estimation, and Laplacian-pyramid blending.
Filters & Frequencies — Edges, Hybrid Images, and Blending
Working in the frequency domain to extract edges, create hybrid images that change meaning with viewing distance, and blend images seamlessly via Laplacian pyramids. Ends with the famous 'oraple.'