← Back to project

🎯 Head Tracking — Live Demo

This runs the same face landmark + Euler-decomposition pipeline as the desktop tracker, but in your browser via MediaPipe's WebAssembly build.

🔒 Your video never leaves your device. Everything runs locally in this tab.

Yaw
+0.0°
Pitch
+0.0°
Roll
+0.0°
FPS
0.0

How it works

MediaPipe's FaceLandmarker task (WebAssembly + WebGL) returns a 4×4 facial transformation matrix per frame. We extract its rotation submatrix and decompose it into Y-X-Z intrinsic Euler angles — the same convention as the Python desktop version in core/pose.py.

Smoothing is an exponential moving average (α = 0.4). Calibration averages 30 frames of your "center" pose and subtracts that as an offset.