BlazePose (MediaPipe pose landmarker) β Core ML
Google's MediaPipe Pose Landmarker models (BlazePose GHUM), converted to Core ML for the AML operator family for TouchDesigner. Three variants, same interface:
| Package | Source | Size | On an M-series Neural Engine |
|---|---|---|---|
PoseLandmarks_lite.mlpackage |
pose_landmarker_lite.task |
2.9 MB | ~4 ms |
PoseLandmarks_full.mlpackage |
pose_landmarker_full.task |
6.3 MB | ~3 ms |
PoseLandmarks_heavy.mlpackage |
pose_landmarker_heavy.task |
27 MB | ~4 ms (CPU + Neural Engine) |
Interface
- Input
image: 256Γ256 RGB, a square crop around one person (MediaPipe's ROI: centred on the hips, rotated so the body is upright, side 1.25Γ the body extent). The model does not find people; run a detector first, then track from the previous frame's auxiliary landmarks 33/34 as MediaPipe does. - Outputs (ML program, fp16; named
out0β¦out4by the converter β match them by element count):- 195 = 39 landmarks Γ (x, y, z, visibility logit, presence logit), in crop pixels (0..256); landmarks 0..32 are the body, 33..38 auxiliary (33 = ROI centre, 34 = ROI scale point)
- 1 = pose presence flag
- 256Γ256Γ1 = segmentation mask logits
- 64Γ64Γ39 = heatmaps
- 117 = 39 world landmarks Γ (x, y, z) in metres, hips at the origin, y down, z toward the camera
Conversion
pose_landmarker_*.task (float16, 2023-04) β pose_landmarks_detector.tflite
β tf2onnx 1.17 (--inputs-as-nchw) β onnx2torch β torch.jit.trace β
coremltools 9.0 (mlprogram, FLOAT16, image input scaled 1/255,
macOS 13+). Against the TFLite model on the same crop: world landmarks
within 0.003 m, 2D landmarks within 1.5 px, pose flag within 0.001.
The recipe and the measurements are in the AML repository under
labs/blazepose.
Licence
Apache License 2.0 β the same terms as the MediaPipe models these are
converted from. Copyright Google LLC (models); conversion by Mickey van
Olst, 2026. See LICENSE.
- Downloads last month
- -