// the find
open-mmlab/mmpose
OpenMMLab Pose Estimation Toolbox and Benchmark.
MMPose is OpenMMLab's pose estimation toolbox, covering 2D/3D human body, hand, face, and whole-body keypoint detection plus animal pose estimation. It's aimed at CV researchers and engineers who need production-grade pose models rather than a weekend toy project — RTMPose in particular targets people who need real-time inference on actual hardware.
The RTMPose line is the real draw: sub-30ms inference on CPU with exportable ONNX/TensorRT/ncnn pipelines via MMDeploy, which is rare in academic pose repos that stop at a PyTorch checkpoint. The codebase decomposes cleanly into backbones, codecs, and heads, so swapping a backbone or loss function is a config change, not a rewrite. Dataset coverage is unusually wide out of the box — COCO, CrowdPose, AP-10K, animal and hand datasets are all wired up with converters already written. The `projects/` folder lowers the bar for contributing new methods without going through the full core review process, which is part of why this has stayed active (RTMO, RTMW, RTMPose3D all shipped through it).
It's hard-coupled to the rest of the OpenMMLab stack (mmcv, mmengine, sometimes mmdet for detection-based pipelines), and pinning compatible versions across those packages is a recurring source of install pain — check the issues tab before assuming `pip install` just works. The 0.x to 1.x migration is still incomplete; several algorithms in the model zoo checklist are unchecked (Associative Embedding, HigherHRNet, VoxelPose) and live only on the frozen 0.x branch, so the README overstates what's actually usable on main. The config-file-as-API pattern that OpenMMLab uses everywhere has a real learning curve if you haven't used mmdetection or mmsegmentation before — error messages from a bad config often point at mmengine internals, not your mistake. Documentation is split across readthedocs, per-config READMEs, and project-level docs, so finding the current recommended path for a given task takes longer than it should.