BlazePose 3D
Real-Time 3D Body Pose Estimation (Single Person)
RUN
BlazePose 3D estimates 33 body keypoints in real time from your webcam or an uploaded video, and renders a live interactive 3D skeleton alongside the 2D video overlay. All inference runs entirely in the browser using MediaPipe Pose (BlazePose) (WASM) — no data leaves your device.
⚠ Single-person only. BlazePose detects exactly one person per frame — the most prominent subject in the scene. If multiple people are present, only one will be tracked.
The tool produces two complementary outputs per frame:
- 2D overlay — colour-coded joints and bones drawn directly on the video canvas.
- 3D skeleton — a Three.js view of hip-centred world coordinates (in metres). Drag to orbit, scroll to zoom.
The following 33 BlazePose keypoints are detected:
- Nose
- Left Eye (inner)
- Left Eye
- Left Eye (outer)
- Right Eye (inner)
- Right Eye
- Right Eye (outer)
- Left Ear
- Right Ear
- Mouth (left)
- Mouth (right)
- Left Shoulder
- Right Shoulder
- Left Elbow
- Right Elbow
- Left Wrist
- Right Wrist
- Left Pinky
- Right Pinky
- Left Index
- Right Index
- Left Thumb
- Right Thumb
- Left Hip
- Right Hip
- Left Knee
- Right Knee
- Left Ankle
- Right Ankle
- Left Heel
- Right Heel
- Left Foot Index
- Right Foot Index
The data is exported as a CSV file structured as follows:
| frame | timestamp | tag | nose_x | nose_y | nose_wx | nose_wy | nose_wz | nose_vis | … |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 1700000000000 | 0 | 312.4 | 118.7 | 0.021 | -0.453 | -0.812 | 0.998 | … |
Each row represents one detected frame. For each of the 33 keypoints:
_x / _y are pixel coordinates in the video frame;
_wx / _wy / _wz are hip-centred world coordinates (metres);
_vis is the visibility score (0–1). Keypoints below the threshold are exported as empty cells.
Features
- Real-time webcam pose estimation with side-by-side 3D view
- Upload any video file for analysis
- Scrub through the uploaded video frame-by-frame
- Download all predictions as a CSV file (2D + 3D + visibility per keypoint)
- Adjustable visibility threshold and display options
- FPS counter and inference-latency display
- Runs entirely in the browser — no server needed
Model info
- Model: BlazePose 3D (MediaPipe Pose, complexity 1 — full)
- Keypoints: 33 body, hand, and face landmarks
- People: Single person only
- Runtime: MediaPipe WASM (no TensorFlow.js dependency)
- 3D renderer: Three.js r155
- Models are downloaded once and cached by the browser (~17 MB).