---
title: "RTMPose (MMPose): Model Sizes, Keypoint Sets and Deployment"
canonical: "https://aifitnessapi.com/motion/rtmpose-models"
cluster: "AI Motion"
primary_query: "rtmpose"
last_reviewed: "2026-10-17"
description: "RTMPose from OpenMMLab's MMPose: t to x sizes and speeds as its README reports them, the 17, 26 and 133-keypoint sets, ONNX, TensorRT and ncnn, Apache-2.0."
publisher: "AIFitnessAPI — independent, not sponsored"
cite_as: "\"RTMPose (MMPose): Model Sizes, Keypoint Sets and Deployment\", AIFitnessAPI, https://aifitnessapi.com/motion/rtmpose-models"
---

# RTMPose (MMPose): Model Sizes, Keypoint Sets and Deployment

> RTMPose is the real-time pose estimation project in OpenMMLab's MMPose repository, released in March 2023, with body models in sizes from t to x. Its README reports RTMPose-m at 75.8% AP on COCO with 90+ FPS on an Intel i7-11700 CPU and 430+ FPS on a GTX 1660 Ti, and RTMPose-s at 72.2% AP with 70+ FPS on a Snapdragon 865, all its own measurements. Models come in 17-keypoint COCO, 26-keypoint Halpe26 and 133-keypoint COCO-WholeBody sets and deploy through ONNX, TensorRT, ncnn and OpenVINO; the MMPose code is Apache-2.0, and the files we read state no separate terms for the pretrained weights.

- Canonical: https://aifitnessapi.com/motion/rtmpose-models
- Last reviewed: 2026-10-17
- Publisher: AIFitnessAPI (https://aifitnessapi.com) — independent, not sponsored
- Cite as: "RTMPose (MMPose): Model Sizes, Keypoint Sets and Deployment", AIFitnessAPI, https://aifitnessapi.com/motion/rtmpose-models

---

RTMPose ships one model family in several keypoint sets, with its own deployment toolchain. Model choice in general is in [pose estimation models compared](/motion/pose-estimation-models-compared) and licences in [pose estimation model licenses](/motion/pose-estimation-model-licenses). Everything below is from the RTMPose README and MMPose's dataset files, read on October 17, 2026; the speed and accuracy figures are the README's own.

## Sizes and the README's figures

| Model | AP on COCO | CPU FPS | GPU FPS |
| --- | --- | --- | --- |
| RTMPose-t | 68.5 | 300+ | 940+ |
| RTMPose-s | 72.2 | 200+ | 710+ |
| RTMPose-m | 75.8 | 90+ | 430+ |
| RTMPose-l | 76.5 | 50+ | 280+ |
| RTMPose-l at 384 | 78.3 | Not given | 160+ |

The README's abstract names the hardware behind the RTMPose-m figures, an Intel i7-11700 CPU and an NVIDIA GTX 1660 Ti GPU, and reports RTMPose-s at 72.2% AP with 70+ FPS "on a Snapdragon 865 chip" after deploying to a mobile device. Its model zoo notes add a caution worth repeating: because the models are trained on multi-domain combined datasets, "results are not suitable for academic comparison". A larger RTMPose-x appears in the model zoo tables too.

## Keypoint sets

- **17 keypoints**, which the README says "are defined as COCO": the same order MoveNet and YOLO pose use. See [the COCO 17 keypoint map](/pose-keypoints/coco-17).
- **26 keypoints**, defined as Halpe26: COCO's 17 names plus head, neck, hip and six foot points. See [the Halpe26 keypoint map](/pose-keypoints/halpe-26).
- **133 keypoints**, defined as COCO-WholeBody: body, feet, 68 face points and both hands, the set behind the README's RTMPose, RTMW and DWPose-distilled wholebody models. See [the COCO-WholeBody keypoint map](/pose-keypoints/coco-wholebody-133).

The README also lists face (106 keypoints, LaPa), hand (21 keypoints) and animal (17 keypoints, AP-10K) models, outside this site's scope.

## How it runs

The README pairs each pose model with a person detector, RTMDet, in its pipeline table, and its PyTorch demo script is `topdown_demo_with_mmdet.py`, so a full pipeline is a detector plus a pose model. It lists several ways to run it:

- **rtmlib**, which supports OpenCV, ONNX Runtime and OpenVINO inference, "does not require Pytorch or MMCV", runs on CPU or GPU, downloads ONNX models from the OpenMMLab model zoo, and supports RTMPose, DWPose, RTMO and RTMW.
- **ONNX Runtime examples** in Python, without MMCV.
- **The pre-compiled MMDeploy SDK**, which the README recommends as "6-10 times faster", with exported ONNX, TensorRT and ncnn models, a pipeline API for Python, C++, C# and Java, and Android examples on the ncnn backend.

The README notes that PyTorch inference "can not reach the maximum speed of RTMPose, just for verification". Its abstract lists the platforms MMDeploy covers as CPU, GPU, NVIDIA Jetson and mobile devices.

## Licence

The open-mmlab/mmpose LICENSE opens "Copyright 2018-2020 Open-MMLab. All rights reserved." and continues with the Apache License, Version 2.0. The README links checkpoints on download.openmmlab.com, and we found no separate terms for those weights in the files we read, so check before shipping a checkpoint. What Apache-2.0 asks of you is in [pose estimation model licenses](/motion/pose-estimation-model-licenses).

## When it fits

Our reading: RTMPose suits a team that wants an Apache-2.0 codebase, needs foot or hand points beyond COCO's 17, or deploys to its own server or edge hardware through ONNX, TensorRT or ncnn, and is willing to run a person detector alongside the pose model. For teams leaving OpenPose, see [RTMPose as an OpenPose alternative](/alternatives/openpose-alternatives).

## Sources

- [github.com/open-mmlab/mmpose/blob/main/projects/rtmpose/README.md](https://github.com/open-mmlab/mmpose/blob/main/projects/rtmpose/README.md) — Release date, the abstract's speed and accuracy figures, model sizes, keypoint sets, the model zoo caveat, the RTMDet pipeline, rtmlib, the MMDeploy SDK, backends, platforms and SDK languages. (checked 2026-10-17)
- [github.com/open-mmlab/mmpose/blob/main/configs/_base_/datasets/halpe26.py](https://github.com/open-mmlab/mmpose/blob/main/configs/_base_/datasets/halpe26.py) — Halpe26's 26 keypoint names in order. (checked 2026-10-17)
- [github.com/open-mmlab/mmpose/blob/main/configs/_base_/datasets/coco_wholebody.py](https://github.com/open-mmlab/mmpose/blob/main/configs/_base_/datasets/coco_wholebody.py) — COCO-WholeBody's 133 keypoint names in order. (checked 2026-10-17)
- [github.com/open-mmlab/mmpose/blob/main/LICENSE](https://github.com/open-mmlab/mmpose/blob/main/LICENSE) — The Open-MMLab copyright line and the Apache License, Version 2.0. (checked 2026-10-17)

## FAQ

### Which keypoint sets do RTMPose models come in?

Three body sets, per the RTMPose README: 17 keypoints defined as COCO, 26 keypoints defined as Halpe26, and 133 keypoints defined as COCO-WholeBody, which covers the RTMPose, RTMW and DWPose-distilled wholebody models. Each section points to its MMPose meta info file: coco.py, halpe26.py and coco_wholebody.py. The README also lists face, hand and animal models with their own keypoint sets.

[Permalink](https://aifitnessapi.com/motion/rtmpose-models#faq-1)

### Does RTMPose need a separate person detector?

In the pipelines its README documents, yes. The pipeline performance table pairs each RTMPose model with an RTMDet person detector, and the PyTorch demo is topdown_demo_with_mmdet.py, which takes a detector config and a pose config. The README's notes say pipeline latency was tested with person detection run every 5 frames by default.

[Permalink](https://aifitnessapi.com/motion/rtmpose-models#faq-2)

### Can RTMPose run without PyTorch?

Yes. The RTMPose README lists rtmlib, which runs RTMPose, DWPose, RTMO and RTMW models with OpenCV, ONNX Runtime or OpenVINO and does not require PyTorch or MMCV, plus Python ONNX Runtime examples without MMCV and the pre-compiled MMDeploy SDK with exported ONNX, TensorRT and ncnn models. The README says PyTorch inference is for verification and cannot reach RTMPose's maximum speed.

[Permalink](https://aifitnessapi.com/motion/rtmpose-models#faq-3)

### How fast is RTMPose on a mobile chip?

The RTMPose README reports RTMPose-s at 72.2% AP on COCO with 70+ FPS on a Snapdragon 865 chip, measured by the project itself after deploying to a mobile device, and its body model tables list ncnn FP16 latency on the same chip. Treat these as the authors' figures and measure on your own target phones.

[Permalink](https://aifitnessapi.com/motion/rtmpose-models#faq-4)
