最近在研究如何快速实现图像中人体姿态的估计,也就是常见的pose estimation任务。花了些时间,实际对比了AlphaPose、BlazePose和MMPose。BlazePose主要为移动端设计,AlphaPose安装配置比较麻烦,MMPose用起来更为方便,而且支持的模型数量也很多。因此,最终选定MMPose作为人体姿态估计的算法库。以下实测环境为Ubuntu20.04系统。
MMPose源码:
https://github.com/open-mmlab/mmpose
MMPose官方文档:
https://mmpose.readthedocs.io/en/latest
1. 安装MMPose
(1) 准备基础的环境:
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
conda install pytorch torchvision -c pytorch
(2) 安装mmcv,需要选择对应的cuda和torch版本,我这里是cu103和torch1.10.0:
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html
(3) 安装MMPose:
git clone git@github.com:open-mmlab/mmpose.git #git报错的话加sudo
cd mmpose
pip install -r requirements.txt
pip install -v -e .
2. 安装MMDetection
由于MMPose需要依赖给定的检测框,因此可以通过MMDetection先检测出图像中的人体框,再通过MMPose来输出姿态估计结果。直接采用pip安装,非常方便。
pip install mmdet
3. 测试
以上安装完成之后,就可以在准备好的图像上测试姿态估计的效果了。这里对官方文档稍作修改,直接处理给定文件夹下的所有图像,并将结果存在另一个文件夹中。
修改之后的demo/pose_demo_mmdet.py代码如下:
# Copyright (c) OpenMMLab. All rights