Pose Estimation Models Compared: MediaPipe, MoveNet, YOLO and More
Updated July 24, 2026
For a single-user, on-device fitness app, MediaPipe/BlazePose is the usual starting point: it predicts 33 body landmarks and offers monocular 3D "world" landmarks on a normal phone. For lightweight browser or mobile 2D tracking, MoveNet (17 keypoints) gives you a speed-vs-accuracy dial — Lightning for speed, Thunder for accuracy. For multi-person scenes (gyms, group classes), YOLO-pose or OpenPose handle many people at once. The one trade-off that decides most builds: single-person on-device (private, cheap, simpler) vs. multi-person (heavier, and with real licensing strings attached). If you only understand one thing before picking, understand the license — OpenPose is non-commercial and Ultralytics YOLO is AGPL-3.0.
New to the concept itself? Start with what pose estimation is; this page is about choosing among the actual models.
The models you actually choose among
Keypoint counts below are stable facts you can rely on. Everything about speed is described as positioning, not a number — fps and accuracy vary wildly by device, resolution, and delegate, so any benchmark must be verified on your own target hardware (as of 2026, verify).
MediaPipe/BlazePose(Google). Predicts 33 landmarks (a superset of the 17 COCO keypoints, adding face, hand, and foot points). It is designed for on-device, real-time use and outputs both 2D image-coordinate landmarks and 3D world landmarks in meters, plus per-landmark visibility. It is single-person focused. License: Apache-2.0 (verify current terms for bundled model assets).MoveNet—LightningvsThunder(TensorFlow / Google). Detects 17 keypoints. Shipped in two variants:Lightningis tuned for latency-critical/speed use,Thunderfor higher accuracy. Single-person oriented; commonly used for browser/web and lightweight mobile. License: Apache-2.0.YOLO-pose / Ultralytics (YOLO11-pose). Default model uses 17 keypoints stored as (x, y, visibility) triplets, COCO-Pose trained. It is multi-person capable, detecting people and their keypoints in one pass. Model sizes (n/s/m/l/x) trade speed for accuracy. License: AGPL-3.0 (strong copyleft) with a paid Enterprise License to bypass it — see the licensing note below.PoseNet(legacy, TensorFlow.js). 17 keypoints, now deprecated in favor of the newerpose-detectionpackage (which servesMoveNetandBlazePose). Older and lighter, generally lower accuracy. PreferMoveNetorBlazePosefor new projects. License: Apache-2.0.OpenPose(CMU, research). A bottom-up multi-person system using Part Affinity Fields to group keypoints into people. Configurable keypoint sets (COCO-18 / BODY_25 variants — verify current config). Heavy and GPU-oriented, strong for research and multi-person, less suited to lightweight on-device. License: non-commercial / academic research from CMU — commercial use needs a separate license.
Comparison table
Positioning, not fabricated benchmarks. Confirm licenses and any speed claim before you ship.
| Model | Keypoints | On-device? | Multi-person? | License | Best for |
|---|---|---|---|---|---|
MediaPipe / BlazePose | 33 (superset of COCO 17) | Yes (mobile CPU/GPU) | Single-person focus | Apache-2.0 (verify assets) | On-device single-user coaching; 2D + monocular 3D |
MoveNet Lightning | 17 | Yes | Single-person | Apache-2.0 | Speed-first web/mobile 2D |
MoveNet Thunder | 17 | Yes | Single-person | Apache-2.0 | Accuracy-leaning single-user 2D |
YOLO11-pose | 17 | Edge-GPU / server (sizes vary) | Yes | AGPL-3.0 / Enterprise | Multi-person gyms/classes |
PoseNet (legacy) | 17 | Yes | Limited | Apache-2.0 | Nothing new — deprecated |
OpenPose | Configurable (e.g. 18/25) | Heavy / GPU | Yes (bottom-up) | Non-commercial (verify) | Research, multi-person |
The licensing trap (read before you commit)
Two of these models carry license terms that can block a commercial product, and they are easy to miss because the code is free to download:
- Ultralytics
YOLOis AGPL-3.0. AGPL is a strong reciprocal (copyleft) license: if you distribute or even offer a network service built on AGPL code, its terms can require you to release your own source under the same license. Ultralytics sells a paid Enterprise License specifically to lift that obligation. Treat "which license" as a real legal decision, not a footnote — verify the current terms and talk to counsel before building a closed-source product on it. OpenPoseis non-commercial / academic. CMU's license permits research use; commercial use requires a separate agreement. Do not ship it in a paid or commercial app without clearing licensing first.
The Apache-2.0 options (MediaPipe/BlazePose, MoveNet, PoseNet) are the most permissive here, though you should still verify terms for any bundled model assets.
How to decide — by use case
There is no single winner; the right model follows your scene and constraints:
- Single user, on-device, needs joint angles (and optionally 3D):
MediaPipe/BlazePose. The 33 landmarks and monocular 3D world landmarks make it the default for a private, phone-based rep-counting or form-feedback app. - Single user, pure speed, browser or lightweight mobile, 2D only:
MoveNet—Lightningwhen responsiveness beats precision,Thunderwhen you can afford more compute for a cleaner pose. - Multiple people at once (group class, gym floor, sports scene):
YOLO-pose (mind AGPL-3.0) orOpenPose(mind the non-commercial license). Multi-person also needs a separate cross-frame tracking layer to keep identities stable. - New build: avoid
PoseNet— it is legacy; pickMoveNetorBlazePoseinstead.
If you would rather not choose and maintain a model at all, a managed motion SDK bundles pose plus rep/form logic — see AI workout tracking APIs for the buy option.
The honest limits
- A normal RGB phone camera is enough. No depth sensor or LiDAR is required for 2D or monocular 3D pose.
- Monocular 3D depth is estimated, not measured.
BlazePoseworld landmarks are hip-relative and inferred from a single camera; depth is unreliable for occluded or extremity joints and degrades on out-of-plane movement. It is not sensor-grade — treat the depth axis as lower-confidence than x/y, smooth it, and validate. More reliable 3D needs multi-camera rigs or depth sensors. - Benchmarks are condition-dependent. Leaderboard fps and accuracy assume specific hardware, lighting, and framing. Do not present a lab number as your app's real-world result; test on your own cameras, lighting, distances, and exercises.
- Form feedback is a coaching aid, not medical or physical-therapy advice. Monocular angle error, occlusion, and depth ambiguity mean it can be wrong; it cannot judge pain or injury. Recommend a professional for anything injury-related.
- Streaming raw video to a server is privacy-sensitive. Keeping inference on-device (video never leaves the phone) is the strongest privacy posture.
Before you ship
Pick by use case, then verify: confirm the current license (especially OpenPose non-commercial and YOLO AGPL-3.0), re-check any fps/accuracy claim on your own target hardware, and validate monocular 3D on real users rather than trusting a lab figure. When you are ready to wire it into a camera feed, see the camera pose tracking guide for implementation.
Frequently asked questions
- How many keypoints does each model detect?
- MediaPipe/BlazePose predicts 33 body landmarks, a superset of the 17 COCO keypoints that adds face, hand, and foot points. MoveNet, YOLO-pose, and PoseNet each use the 17 COCO keypoints. OpenPose uses configurable keypoint sets such as COCO-18 or BODY_25, so verify the current config for your build. Keypoint counts are stable, but any speed or accuracy number is device-dependent and should be verified on your own hardware.
- Which model should I use for a single-user fitness app?
- For a single user on-device, MediaPipe/BlazePose is the common default: its 33 landmarks and monocular 3D world landmarks suit joint-angle and form work on a normal phone. If you only need lightweight 2D and want a speed dial, MoveNet works well (Lightning for speed, Thunder for accuracy). Avoid PoseNet for new builds since it is deprecated in favor of MoveNet and BlazePose.
- Are these pose models free to use commercially?
- Not all of them. MediaPipe/BlazePose, MoveNet, and PoseNet are Apache-2.0, the most permissive here, though you should still verify terms for any bundled model assets. Ultralytics YOLO is AGPL-3.0, a strong copyleft license that can require you to release your own source unless you buy its Enterprise License. OpenPose is a non-commercial academic license and needs a separate agreement for commercial use. Confirm current terms and consult counsel before shipping.
- Which of these models output 3D landmarks?
- Among the common on-device options, only MediaPipe/BlazePose: alongside its 2D image-coordinate landmarks it returns 3D world landmarks in meters, hip-relative and inferred from a single camera. MoveNet and PoseNet return 2D keypoints only, and YOLO-pose stores an extra visibility value per point rather than depth. OpenPose has configurable keypoint sets but is a heavy, GPU-oriented multi-person system rather than an on-device 3D source. Treat monocular depth as a lower-confidence axis than x and y — it is estimated, not measured — and validate it on real users before building a feature on it.
- Which models handle multiple people at once?
- YOLO-pose detects multiple people and their keypoints in one pass, and OpenPose is a bottom-up multi-person system. MediaPipe/BlazePose and MoveNet are single-person oriented (MoveNet has a multipose variant to verify in your pipeline). Multi-person also needs a separate cross-frame tracking layer to keep identities stable, and remember YOLO is AGPL-3.0 and OpenPose is non-commercial.
Keep reading
Independent comparison, last reviewed July 24, 2026. Pricing, rate limits, and feature availability change often — confirm current details in each provider’s official documentation before you commit. Product and company names are trademarks of their respective owners; AIFitnessAPI is not affiliated with, endorsed by, or sponsored by any product listed here.
← All ai motion · by AIFitnessAPI