finds.dev← search

// the find

open-mmlab/mmpose

★ 7,950 · Python · Apache-2.0 · updated Aug 2025

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.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →