Ultralytics YOLO Pose Models: Sizes, Keypoint Output and Licence
Last verified October 17, 2026 · 3 min read
Sources checked (6) · October 17, 2026
- github.com/ultralytics/ultralytics/blob/main/docs/en/tasks/pose.md — YOLO26 pose models, the -pose suffix, COCO keypoints pretraining, benchmark conditions, automatic download, Results fields, the keypoint index map, training and COCO conversion.
- github.com/ultralytics/ultralytics/blob/main/docs/macros/yolo-pose-perf.md — The five-model table: input size, mAP, CPU ONNX and T4 TensorRT10 speed, parameters and FLOPs.
- github.com/ultralytics/ultralytics/blob/main/docs/macros/export-table.md — The 23 export formats and the IMX500 note.
- github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml — kpt_shape [17, 3] and its comment, flip_idx, the person class and kpt_names.
- github.com/ultralytics/ultralytics/blob/main/LICENSE — GNU Affero General Public License, version 3.
- github.com/ultralytics/ultralytics/blob/main/README.md — The AGPL-3.0 route and the Ultralytics Enterprise License.
Read pose estimation model licenses alongside this page: in our reading, the AGPL-3.0 question settles more YOLO pose decisions than accuracy does; the multi-person engineering is in multi-person pose tracking. What follows is what Ultralytics' repository says about its pose models, read on October 17, 2026. Every figure is Ultralytics' own.
The five sizes#
| Model | Input | mAP pose 50-95 (e2e) | mAP pose 50 (e2e) | CPU ONNX, ms | T4 TensorRT10, ms | Params, M | FLOPs, B |
|---|---|---|---|---|---|---|---|
| YOLO26n-pose | 640 | 57.2 | 83.3 | 40.3 ± 0.5 | 1.8 ± 0.0 | 2.9 | 7.6 |
| YOLO26s-pose | 640 | 63.0 | 86.6 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 24.1 |
| YOLO26m-pose | 640 | 68.8 | 89.6 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.3 |
| YOLO26l-pose | 640 | 70.4 | 90.5 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.7 |
| YOLO26x-pose | 640 | 71.6 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 202.3 |
Ultralytics says the mAP values are single-model, single-scale on COCO Keypoints val2017; that speed is averaged over COCO val images with ONNX on CPU and TensorRT10 on an NVIDIA T4 GPU; and that parameter and FLOP counts are for fused models with the unused detection branch removed, so pretrained checkpoints may show higher counts. None of these is a phone measurement. The pose models carry a -pose suffix, as in yolo26n-pose.pt, and the weights download automatically from Ultralytics' latest release on first use.
What a prediction returns#
Each image gives one Results object. Ultralytics' results table lists result.keypoints.xy as pixel keypoints and result.keypoints.xyn as normalized keypoints, both shaped (N, K, 2), and result.keypoints.data as "x,y plus optional visibility/confidence", shaped (N, K, 2 or 3). result.boxes holds the instance boxes those keypoints belong to. The training config coco-pose.yaml declares kpt_shape: [17, 3], which its comment explains as the number of keypoints and the number of dimensions, "2 for x,y or 3 for x,y,visible".
The default models predict the 17 COCO keypoints, so index k is the COCO point at k, from 0 nose to 16 right_ankle. Ultralytics' docs list the order in title case ("Left Eye") and coco-pose.yaml in snake case (left_eye). The full table, and the other models that share it, are in the COCO 17 keypoint map.
Export targets#
Ultralytics' export table lists 23 formats, PyTorch included. For mobile and edge apps the relevant ones include ONNX, Core ML (.mlpackage), LiteRT (.tflite), NCNN, ExecuTorch, OpenVINO and TensorRT. The table notes that IMX500 export "is currently only supported for YOLOv8n, YOLO11n models".
Training on your own keypoints#
The docs train YOLO26n-pose on the small COCO8-pose dataset as their example, convert existing COCO keypoint JSON with the convert_coco function and use_keypoints=True, and point to other keypoint datasets such as Tiger-Pose, Hand Keypoints and Dog-Pose. coco-pose.yaml shows what a dataset file declares: kpt_shape, a flip_idx list and kpt_names.
Licence#
The ultralytics/ultralytics LICENSE is the GNU Affero General Public License, version 3. The README describes the Ultralytics Enterprise License as "for development and production use", covering "business products and services, including internal tools, automated workflows, and production deployments, bypassing the open-source requirements of AGPL-3.0". Section 13 of the AGPL and what it means for server-side inference are read in pose estimation model licenses.
When it fits#
Our reading: YOLO pose returns keypoints for every person it detects, in five sizes that trade speed for accuracy, which suits gym floors and group classes. Settle the AGPL-3.0 question before writing code, not after. For a single user, see how YOLO pose compares with MediaPipe.
Frequently asked questions
- What do the n, s, m, l and x YOLO pose model sizes trade off?
- Accuracy against speed and size, on Ultralytics' own benchmark. Its table runs from YOLO26n-pose at 57.2 mAP pose 50-95, 40.3 ms on CPU with ONNX and 2.9 M parameters, to YOLO26x-pose at 71.6 mAP, 565.4 ms and 57.6 M parameters, all at 640 pixels on COCO Keypoints val2017. On an NVIDIA T4 with TensorRT10 the range is 1.8 to 12.2 ms. None of these figures was measured on a phone.
- Does Ultralytics YOLO pose return keypoints for every person in the image?
- Yes, one set per detected instance. Ultralytics documents result.keypoints with the shape (N, K, 2 or 3), N instances of K keypoints, alongside result.boxes, the instance boxes those keypoints belong to. The training config's only class is person, so each instance is a person with 17 COCO keypoints in the default models.
- What is the third value in a YOLO pose keypoint?
- Visibility or confidence, where the model provides it. coco-pose.yaml declares kpt_shape as 17 keypoints by 3 dimensions and explains the second number as 2 for x,y or 3 for x,y,visible, and Ultralytics' results table describes keypoints.data as x,y plus optional visibility/confidence. keypoints.xy and keypoints.xyn carry only the two coordinates, in pixels and normalized.
- Can a YOLO pose model be exported to Core ML or TensorFlow Lite?
- Yes, according to Ultralytics' export table: format coreml writes a .mlpackage and format litert writes a .tflite file, alongside ONNX, NCNN, ExecuTorch, OpenVINO, TensorRT and others, 23 formats counting PyTorch itself. Exporting does not change the licence; AGPL-3.0 or an Enterprise License still applies to what you ship.
Keep reading
Elsewhere on the site
Pages that share this one’s concepts and sources, from other sections.
Next steps
Was this page useful?
Independent comparison, last reviewed October 17, 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