English | 简体中文
简介
MMPose 是一款基于 PyTorch 的姿态分析的开源工具箱,是 OpenMMLab 项目的成员之一。
主分支代码目前支持 PyTorch 1.5 以上的版本。
主要特性
支持多种人体姿态分析相关任务
MMPose 支持当前学界广泛关注的主流姿态分析任务:主要包括 2D多人姿态估计、2D手部姿态估计、2D人脸关键点检测、133关键点的全身人体姿态估计、3D人体形状恢复、服饰关键点检测、动物关键点检测等。 具体请参考 功能演示。
更高的精度和更快的速度
MMPose 复现了多种学界最先进的人体姿态分析模型,包括“自顶向下”和“自底向上”两大类算法。MMPose 相比于其他主流的代码库,具有更高的模型精度和训练速度。 具体请参考 基准测试(英文)。
支持多样的数据集
MMPose 支持了很多主流数据集的准备和构建,如 COCO、AIC、MPII、MPII-TRB、OCHuman 等。 具体请参考 数据集准备。
模块化设计
MMPose 将统一的人体姿态分析框架解耦成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的人体姿态分析模型。
详尽的单元测试和文档
MMPose 提供了详尽的说明文档,API 接口说明,全面的单元测试,以供社区参考。
最新进展
- 2022-10-14: MMPose v0.29.0 已经发布,主要更新包括:
- 2022-09-01: MMPose v1.0.0 公测版本已经发布 [ Code | Docs ],欢迎尝试并提出宝贵意见
- 2022-02-28: MMDeploy v0.3.0 支持 MMPose 模型部署
- 2021-12-29: OpenMMLab 开放平台已经正式上线! 欢迎试用基于 MMPose 的姿态估计 Demo
安装
MMPose 依赖 PyTorch 和 MMCV,以下是安装的简要步骤。 更详细的安装指南请参考 install.md。
conda create -n openmmlab python=3.8 pytorch=1.10 cudatoolkit=11.3 torchvision -c pytorch -y
conda activate openmmlab
pip3 install openmim
mim install mmcv-full
git clone https://github.com/open-mmlab/mmpose.git
cd mmpose
pip3 install -e .
教程
请参考 get_started.md 了解 MMPose 的基本使用。 MMPose 也提供了其他更详细的教程:
模型库
各个模型的结果和设置都可以在对应的 config(配置)目录下的 README.md 中查看。 整体的概况也可也在 模型库 页面中查看。
支持的算法
- DeepPose (CVPR'2014)
- CPM (CVPR'2016)
- Hourglass (ECCV'2016)
- SimpleBaseline3D (ICCV'2017)
- Associative Embedding (NeurIPS'2017)
- HMR (CVPR'2018)
- SimpleBaseline2D (ECCV'2018)
- HRNet (CVPR'2019)
- VideoPose3D (CVPR'2019)
- HRNetv2 (TPAMI'2019)
- MSPN (ArXiv'2019)
- SCNet (CVPR'2020)
- HigherHRNet (CVPR'2020)
- RSN (ECCV'2020)
- InterNet (ECCV'2020)
- VoxelPose (ECCV'2020)
- LiteHRNet (CVPR'2021)
- ViPNAS (CVPR'2021)
- DEKR (CVPR'2021)
- CID (CVPR'2022)
支持的技术
- FPN (CVPR'2017)
- FP16 (ArXiv'2017)
- Wingloss (CVPR'2018)
- AdaptiveWingloss (ICCV'2019)
- DarkPose (CVPR'2020)
- UDP (CVPR'2020)
- Albumentations (Information'2020)
- SoftWingloss (TIP'2021)
- SmoothNet (arXiv'2021)
- RLE (ICCV'2021)
支持的数据集
- AFLW [homepage] (ICCVW'2011)
- sub-JHMDB [homepage] (ICCV'2013)
- COFW [homepage] (ICCV'2013)
- MPII [homepage] (CVPR'2014)
- Human3.6M [homepage] (TPAMI'2014)
- COCO [homepage] (ECCV'2014)
- CMU Panoptic (ICCV'2015)
- DeepFashion [homepage] (CVPR'2016)
- 300W [homepage] (IMAVIS'2016)
- RHD [homepage] (ICCV'2017)
- CMU Panoptic [homepage] (ICCV'2015)
- AI Challenger [homepage] (ArXiv'2017)
- MHP [homepage] (ACM MM'2018)
- WFLW [homepage] (CVPR'2018)
- PoseTrack18 [homepage] (CVPR'2018)
- OCHuman [homepage] (CVPR'2019)
- CrowdPose [homepage] (CVPR'2019)
- MPII-TRB [homepage] (ICCV'2019)
- FreiHand [homepage] (ICCV'2019)
- Animal-Pose [homepage] (ICCV'2019)
- OneHand10K [homepage] (TCSVT'2019)
- Vinegar Fly [homepage] (Nature Methods'2019)
- Desert Locust [homepage] (Elife'2019)
- Grévy’s Zebra [homepage] (Elife'2019)
- ATRW [homepage] (ACM MM'2020)
- Halpe [homepage] (CVPR'2020)
- COCO-WholeBody [homepage] (ECCV'2020)
- MacaquePose [homepage] (bioRxiv'2020)
- InterHand2.6M [homepage] (ECCV'2020)
- AP-10K [homepage] (NeurIPS'2021)
- Horse-10 [homepage] (WACV'2021)
支持的骨干网络
- AlexNet (NeurIPS'2012)
- VGG (ICLR'2015)
- ResNet (CVPR'2016)
- ResNext (CVPR'2017)
- SEResNet (CVPR'2018)
- ShufflenetV1 (CVPR'2018)
- ShufflenetV2 (ECCV'2018)
- MobilenetV2 (CVPR'2018)
- ResNetV1D (CVPR'2019)
- ResNeSt (ArXiv'2020)
- Swin (CVPR'2021)
- HRFormer (NIPS'2021)
- PVT (ICCV'2021)
- PVTV2 (CVMJ'2022)
模型需求
我们将跟进学界的最新进展,并支持更多算法和框架。如果您对 MMPose 有任何功能需求,请随时在 MMPose Roadmap 中留言。
基准测试
训练精度和速度
MMPose 在主流关键点检测基准 COCO 上达到了优越的模型精度和训练速度。
详细信息可见 基准测试(英文)。
推理速度
我们总结了 MMPose 中主要模型的复杂度信息和推理速度,包括模型的计算复杂度、参数数量,以及以不同的批处理大小在 CPU 和 GPU 上的推理速度。
详细信息可见 模型推理速度。
数据准备
请参考 data_preparation.md(英文) 进行数据集准备。
常见问题
请参考 FAQ 了解其他用户的常见问题。
参与贡献
我们非常欢迎用户对于 MMPose 做出的任何贡献,可以参考 CONTRIBUTION.md 文件了解更多细节。
致谢
MMPose 是一款由不同学校和公司共同贡献的开源项目。我们感谢所有为项目提供算法复现和新功能支持的贡献者,以及提供宝贵反馈的用户。 我们希望该工具箱和基准测试可以为社区提供灵活的代码工具,供用户复现现有算法并开发自己的新模型,从而不断为开源社区提供贡献。
引用
如果您觉得 MMPose 对您的研究有所帮助,请考虑引用它:
@misc{mmpose2020,
title={OpenMMLab Pose Estimation Toolbox and Benchmark},
author={MMPose Contributors},
howpublished = {\url{https://github.com/open-mmlab/mmpose}},
year={2020}
}
许可证
该项目采用 Apache 2.0 license 开源协议。
OpenMMLab的其他项目
- MMCV: OpenMMLab 计算机视觉基础库
- MIM: MIM 是 OpenMMlab 项目、算法、模型的统一入口
- MMClassification: OpenMMLab 图像分类工具箱
- MMDetection: OpenMMLab 目标检测工具箱
- MMDetection3D: OpenMMLab 新一代通用 3D 目标检测平台
- MMRotate: OpenMMLab 旋转框检测工具箱与测试基准
- MMSegmentation: OpenMMLab 语义分割工具箱
- MMOCR: OpenMMLab 全流程文字检测识别理解工具包
- MMPose: OpenMMLab 姿态估计工具箱
- MMHuman3D: OpenMMLab 人体参数化模型工具箱与测试基准
- MMSelfSup: OpenMMLab 自监督学习工具箱与测试基准
- MMRazor: OpenMMLab 模型压缩工具箱与测试基准
- MMFewShot: OpenMMLab 少样本学习工具箱与测试基准
- MMAction2: OpenMMLab 新一代视频理解工具箱
- MMTracking: OpenMMLab 一体化视频目标感知平台
- MMFlow: OpenMMLab 光流估计工具箱与测试基准
- MMEditing: OpenMMLab 图像视频编辑工具箱
- MMGeneration: OpenMMLab 图片视频生成模型工具箱
- MMDeploy: OpenMMLab 模型部署框架
欢迎加入 OpenMMLab 社区
扫描下方的二维码可关注 OpenMMLab 团队的 知乎官方账号,联络 OpenMMLab 官方微信小助手或加入 OpenMMLab 团队的 官方交流 QQ 群
我们会在 OpenMMLab 社区为大家
- 📢 分享 AI 框架的前沿核心技术
- 💻 解读 PyTorch 常用模块源码
- 📰 发布 OpenMMLab 的相关新闻
- 🚀 介绍 OpenMMLab 开发的前沿算法
- 🏃 获取更高效的问题答疑和意见反馈
- 🔥 提供与各行各业开发者充分交流的平台
干货满满 📘,等你来撩 💗,OpenMMLab 社区期待您的加入 👬