MCPcopy
hub / github.com/open-mmlab/mmpose

github.com/open-mmlab/mmpose @v1.3.2 sqlite

repository ↗ · DeepWiki ↗ · release v1.3.2 ↗
3,417 symbols 13,295 edges 1,122 files 1,566 documented · 46%
README

 

<b>OpenMMLab website</b>
<sup>
  <a href="https://openmmlab.com">
    <i>HOT</i>
  </a>
</sup>
&nbsp;&nbsp;&nbsp;&nbsp;
<b>OpenMMLab platform</b>
<sup>
  <a href="https://platform.openmmlab.com">
    <i>TRY IT OUT</i>
  </a>
</sup>

 

Documentation actions codecov PyPI LICENSE Average time to resolve an issue Percentage of issues still open Open in OpenXLab

📘Documentation | 🛠️Installation | 👀Model Zoo | 📜Papers | 🆕Update News | 🤔Reporting Issues | 🔥RTMPose

Introduction

English | 简体中文

MMPose is an open-source toolbox for pose estimation based on PyTorch. It is a part of the OpenMMLab project.

The main branch works with PyTorch 1.8+.

https://user-images.githubusercontent.com/15977946/124654387-0fd3c500-ded1-11eb-84f6-24eeddbf4d91.mp4

Major Features

  • Support diverse tasks

We support a wide spectrum of mainstream pose analysis tasks in current research community, including 2d multi-person human pose estimation, 2d hand pose estimation, 2d face landmark detection, 133 keypoint whole-body human pose estimation, 3d human mesh recovery, fashion landmark detection and animal pose estimation. See Demo for more information.

  • Higher efficiency and higher accuracy

MMPose implements multiple state-of-the-art (SOTA) deep learning models, including both top-down & bottom-up approaches. We achieve faster training speed and higher accuracy than other popular codebases, such as HRNet. See benchmark.md for more information.

  • Support for various datasets

The toolbox directly supports multiple popular and representative datasets, COCO, AIC, MPII, MPII-TRB, OCHuman etc. See dataset_zoo for more information.

  • Well designed, tested and documented

We decompose MMPose into different components and one can easily construct a customized pose estimation framework by combining different modules. We provide detailed documentation and API reference, as well as unittests.

What's New

  • Release RTMW3D, a real-time model for 3D wholebody pose estimation.

  • Release RTMO, a state-of-the-art real-time method for multi-person pose estimation.

rtmo

  • Release RTMW models in various sizes ranging from RTMW-m to RTMW-x. The input sizes include 256x192 and 384x288. This provides flexibility to select the right model for different speed and accuracy requirements.

  • Support inference of PoseAnything. Web demo is available here.

  • Support for new datasets:

  • (ICCV 2015) 300VW

  • Welcome to use the MMPose project. Here, you can discover the latest features and algorithms in MMPose and quickly share your ideas and code implementations with the community. Adding new features to MMPose has become smoother:

  • Provides a simple and fast way to add new algorithms, features, and applications to MMPose.

  • More flexible code structure and style, fewer restrictions, and a shorter code review process.
  • Utilize the powerful capabilities of MMPose in the form of independent projects without being constrained by the code framework.
  • Newly added projects include:
  • Start your journey as an MMPose contributor with a simple example project, and let's build a better MMPose together!

  • January 4, 2024: MMPose v1.3.0 has been officially released, with major updates including:

  • Support for new datasets: ExLPose, H3WB

  • Release of new RTMPose series models: RTMO, RTMW
  • Support for new algorithm PoseAnything
  • Enhanced Inferencer with optional progress bar and improved affinity for one-stage methods

Please check the complete release notes for more details on the updates brought by MMPose v1.3.0!

0.x / 1.x Migration

MMPose v1.0.0 is a major update, including many API and config file changes. Currently, a part of the algorithms have been migrated to v1.0.0, and the remaining algorithms will be completed in subsequent versions. We will show the migration progress in this Roadmap.

If your algorithm has not been migrated, you can continue to use the 0.x branch and old documentation.

Installation

Please refer to installation.md for more detailed installation and dataset preparation.

Getting Started

We provided a series of tutorials about the basic usage of MMPose for new users:

  1. For the basic usage of MMPose:

  2. A 20-minute Tour to MMPose

  3. Demos
  4. Inference
  5. Configs
  6. Prepare Datasets
  7. Train and Test
  8. Deployment
  9. Model Analysis
  10. Dataset Annotation and Preprocessing

  11. For developers who wish to develop based on MMPose:

  12. Learn about Codecs

  13. Dataflow in MMPose
  14. Implement New Models
  15. Customize Datasets
  16. Customize Data Transforms
  17. Customize Evaluation
  18. Customize Optimizer
  19. Customize Logging
  20. How to Deploy
  21. Model Analysis
  22. Migration Guide

  23. For researchers and developers who are willing to contribute to MMPose:

  24. Contribution Guide

  25. For some common issues, we provide a FAQ list:

  26. FAQ

Model Zoo

Results and models are available in the README.md of each method's config directory. A summary can be found in the Model Zoo page.

Supported algorithms:

Core symbols most depended-on inside this repo

cat
called by 177
projects/yolox_pose/datasets/bbox_keypoint_structure.py
update
called by 151
mmpose/utils/timer.py
init_weights
called by 81
mmpose/models/necks/fpn.py
to_numpy
called by 77
mmpose/utils/tensor_utils.py
evaluate
called by 66
mmpose/evaluation/metrics/keypoint_partition_metric.py
detach
called by 62
mmpose/structures/multilevel_pixel_data.py
get_packed_inputs
called by 59
mmpose/testing/_utils.py
pop
called by 50
mmpose/structures/multilevel_pixel_data.py

Shape

Method 2,408
Class 639
Function 362
Route 8

Languages

Python100%

Modules by API surface

mmpose/datasets/transforms/common_transforms.py45 symbols
projects/pose_anything/models/backbones/swin_transformer_moe.py43 symbols
mmpose/models/losses/regression_loss.py41 symbols
tests/test_datasets/test_transforms/test_common_transforms.py39 symbols
projects/pose_anything/models/backbones/swin_transformer_v2.py38 symbols
projects/pose_anything/models/backbones/swin_transformer.py37 symbols
mmpose/models/utils/transformer.py37 symbols
mmpose/models/backbones/litehrnet.py35 symbols
projects/pose_anything/models/utils/encoder_decoder.py33 symbols
projects/pose_anything/models/backbones/swin_mlp.py32 symbols
projects/uniformer/models/uniformer.py31 symbols
mmpose/models/heads/hybrid_heads/rtmo_head.py29 symbols

Dependencies from manifests, versioned

loguru0.6.0 · 1×
numpy1.21.6 · 1×
onnxruntime1.14.1 · 1×
onnxruntime-gpu1.8.1 · 1×

For agents

$ claude mcp add mmpose \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact