Head pose
Rotation (pitch / yaw / roll) and translation, combined into one 4×4 matrix.
Blendshapes
Each slider is a weight on a preset facial deformation, blended on top of the neutral mesh.
Three live computer-vision demos, built from scratch with plain matrix and pixel math: a face with a rotation/translation matrix and blendshapes, a full 33-point body skeleton you can pose and rotate, and a synthetic camera feed showing how a segmentation model separates a person from the background.
Rotation (pitch / yaw / roll) and translation, combined into one 4×4 matrix.
Each slider is a weight on a preset facial deformation, blended on top of the neutral mesh.
Pitch, yaw and roll each rotate around one axis of the head — X, Y and Z. A rotation matrix R is what you get when you multiply those three simple rotations together in a chosen order. R never changes the size or shape of the face, only its orientation: its rows are perpendicular unit vectors, so Rᵗ = R⁻¹.
Order matters. Rotating yaw-then-roll lands you somewhere different than roll-then-yaw, because each rotation happens in the frame left behind by the one before it.
Translation just adds an offset vector T to every point: p' = R·p + T. To do rotation and translation in a single matrix multiply, computer vision pads everything into homogeneous coordinates — a 4th "1" appended to every point — so R and T live together in one 4×4 matrix, shown live in the panel on the left.
This is exactly the shape of matrix a head-pose or camera-pose model hands back: the top-left 3×3 block is orientation, the last column is position.
A blendshape is a fixed deformation — "jaw open," "smile," "left eye closed" — stored as an offset from a neutral mesh. A live expression is just the neutral face plus each active blendshape scaled by a weight, usually 0 to 1.
This is additive and independent of head pose: the same blendshape weights produce a smile whether the head is facing forward or turned 40° away, because rotation acts on the whole mesh afterward.
The same rotation + translation matrix as the head, applied to the whole skeleton at the hip.
Each limb is a small kinematic chain — every joint's rotation multiplies onto the one above it.
MediaPipe's Pose Landmarker numbers its 33 points by region: 0–10 trace the face (nose, eyes, ears, mouth corners), 11–22 cover shoulders, elbows, wrists and fingers, and 23–32 cover hips, knees, ankles and feet. Each point ships with x, y, z and a visibility score.
The skeleton here follows that same numbering — the amber dots are literally indexed 0 through 32, and the cyan lines are the standard bone connections between them.
A wrist doesn't get its own independent rotation — it inherits the shoulder's rotation, then adds the elbow's on top: Rwrist = Rshoulder · Relbow. This is the same matrix composition from the rotation tab, just repeated joint after joint down a limb.
That's why a small change near the shoulder moves the whole arm, while a change at the elbow only moves the forearm and hand — each joint only affects what's downstream of it in the chain.
Pose Landmarker tracks the body's large-scale structure — where the joints are in space. Face Landmarker's blendshapes track something finer — how the surface of the face deforms on top of wherever the head happens to be.
A full avatar or motion-capture pipeline typically runs both together: pose for the skeleton's position, blendshapes for the face riding on top of it, each solved independently and then combined.
A synthetic person walking through frame, and the per-pixel mask a model would predict for it.
The mask only decides which pixels are "person." Everything else is free to replace.
Selfie Segmentation doesn't return points at all — it returns one number per pixel, between 0 and 1, estimating how likely that pixel belongs to a person. The middle panel shows this directly: white means confident "person," black means confident "background," and the soft gray fringe in between is genuine uncertainty near the edges — hair, motion blur, semi-transparent clothing.
A probability map isn't directly usable for cutting someone out of a frame — something has to decide which pixels count. That's what the threshold slider does: any pixel at or above it becomes foreground, anything below becomes background. Low thresholds let uncertain edge pixels through, so the cutout grows a soft halo; high thresholds keep only the most confident pixels, which can bite into thin details like hair or fingers.
Face and Pose Landmarker both answer "where is this specific, named part" with a sparse set of structured points that carry meaning — point 15 is always the left wrist. Selfie Segmentation answers a different question, "which pixels are a person at all," with a dense, unstructured mask that has no concept of joints, expressions, or identity.
A real product often layers these: segmentation to isolate the person, pose or face landmarks on top to understand what that person is doing.