【MMPose】1.x版本安装与体验(测试YOLOX-Pose和RTMPose)

5 篇文章 2 订阅
2 篇文章 0 订阅

就在四月初,mmpose迎来了1.x正式版,OpenMMLab给出的具体亮点如下:

  1. 基于模型训练引擎 MMEngine 的架构设计,使模型训练流程更直观,代码更简化,接口更统一;
  2. 新增姿态编解码器模块,统合姿态前后处理过程;
  3. 统一 top-down 和 bottom-up 方法的数据接口;
  4. 新增 SimCC,Debias IPR 等多个轻量化姿态估计算法;
  5. 全流程可视化工具,关键点、骨骼、热力图尽收眼底;
  6. 更友好的用户文档,帮助新老用户顺利开启 MMPose 1.0 之旅。

除此之外,mmpose更新了yolox-pose和一个对于topdown方法来说过于超前的RTMPose(为什么说它超前,因为官方说它不仅有很高的精度,并且在1660ti上的推理速度能达到400+FPS,cpu上能达到100+FPS!详情见RTMPose论文

 废话不多说,下面就进行一下MMPose1.x版本的安装体验。

1.配置安装MMPose

pytorch在年初更新了2.0版本,要求python 3.8和cuda11.7以上,正好手里有一台旧电脑需要重新配置一下。

本文安装环境:VS2022、python3.10、cuda11.8、pytorch2.0、win10

MMPose1.x版本的安装与之前大同小异,首先在GitHub上下载源码

git clone https://github.com/open-mmlab/mmpose.git

参考官方文档,依次执行以下命令:

pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0"
mim install "mmdet>=3.0.0"

也可以使用pip+清华源的安装方法,只是使用pip会在本地编译后安装,会比使用mim的方法慢不少。特别注意,mmdet在官方文档虽然是可选安装项,但是如果不装的话运行RTMPose时会报错找不到backbone,所以这里mmdet是必须安装的。

切换到mmpose代码路径,执行以下命令:

pip install -r requirements.txt
pip install -v -e .

这样mmpose 1.x版本就安装完成了。

2.测试YOLOX-Pose

给出YOLOX-Pose的表格

ModelInput SizeAPAP50AP75ARAR50Download
YOLOX-tiny-Pose6400.5180.7990.5450.5660.841model | log
YOLOX-s-Pose6400.6320.8750.6920.6760.907model | log
YOLOX-m-Pose6400.6850.8970.7530.7270.925model | log
YOLOX-l-Pose6400.7060.9070.7750.7470.934model | log

这里选择tiny-pose测试,点击右侧model下载。在运行之前要下载mmyolo:

mim install mmyolo

因为我是win10,所以需要在demo/inferencer_demo.py中写入环境变量:

import sys
sys.path.append('projects/yolox-pose')

如果是Linux系统,不需要更改py文件,在命令行中添加临时变量即可:

export PYTHONPATH=`pwd`:$PYTHONPATH

注意,pwd是填入当前路径,需要先将命令行切换路径到‘projects/yolox-pose’才能起作用。

要手动填写的话请填入yolox-pose的绝对路径。

然后就可以运行yolox-pose了,命令行输入:

python demo/inferencer_demo.py tests/data/coco/000000197388.jpg --pose2d projects/yolox-pose/configs/yolox-pose_tiny_4xb64-300e_coco.py --pose2d-weights pretrain/yolox-pose_tiny_4xb64-300e_coco-c47dd83b_20230321.pth --scope mmyolo --vis-out-dir vis_results

得到的检测结果如下:

3.测试RTMPose

Detection ConfigPose ConfigInput Size
(Det/Pose)
Model AP
(COCO)
Pipeline AP
(COCO)
Params (M)
(Det/Pose)
Flops (G)
(Det/Pose)
ORT-Latency(ms)
(i7-11700)
TRT-FP16-Latency(ms)
(GTX 1660Ti)
Download
RTMDet-nanoRTMPose-t320x320
256x192
40.3
67.1
64.40.99
3.34
0.31
0.36
12.4032.467det
pose
RTMDet-nanoRTMPose-s320x320
256x192
40.3
71.1
68.50.99
5.47
0.31
0.68
16.6582.730det
pose
RTMDet-nanoRTMPose-m320x320
256x192
40.3
75.3
73.20.99
13.59
0.31
1.93
26.6134.312det
pose
RTMDet-nanoRTMPose-l320x320
256x192
40.3
76.3
74.20.99
27.66
0.31
4.16
36.3114.644det
pose
RTMDet-mRTMPose-m640x640
256x192
62.5
75.3
75.724.66
13.59
38.95
1.93
-6.923det
pose
RTMDet-mRTMPose-l640x640
256x192
62.5
76.3
76.624.66
27.66
38.95
4.16
-7.204det
pose

同样,输入命令:

python demo/topdown_demo_with_mmdet.py projects\rtmpose\rtmdet\person\rtmdet_nano_320-8xb32_coco-person.py pretrain\rtmdet_nano_8xb32-100e_coco-obj365-person-05d8511e.pth configs\body_2d_keypoint\rtmpose\mpii\rtmpose-m_8xb64-210e_mpii-256x256.py pretrain\rtmpose-m_simcc-mpii_pt-aic-coco_210e-256x256-ec4dbec8_20230206.pth --input tests\data\mpii\005808361.jpg --output-root vis_results

这里我使用的是mpii训练好的模型文件,想要使用coco的话在上面表格右边点击下载即可。

得到的检测结果如下:

4.RTMPose推理及部署测试

由于时间原因,关于RTMPose的推理速度的测试和在mmdeploy上的部署留到下次有空再做。

觉得文章对你有帮助的话请点赞收藏,谢谢鼓励。

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值