【安装教程】MMPose安装与使用(测试HRNet与Lite-HRNet)

MMPose的官方文档对于怎么安装其实写得非常清楚,所以本篇文章其实相当于一个过程记录。

1.安装环境

python 3.7.6

pytorch 1.13

cuda 11.6

windows 11

2.安装mmcv

首先安装openmim

pip install -U openmim

安装完成后再使用openmim安装mmcv

mim install mmcv-full

3.安装mmpose

官方给出了两种安装模式:

  • 从源码安装(推荐):如果基于 MMPose 框架开发自己的任务,需要添加新的功能,比如新的模型或是数据集,或者使用我们提供的各种工具。

  • 作为 Python 包安装:只是希望调用 MMPose 的接口,或者在自己的项目中导入 MMPose 中的模块。

1)从源码安装需要我们从github上下载源代码:

git clone https://github.com/open-mmlab/mmpose.git
cd mmpose
pip install -r requirements.txt
pip install -v -e .
# "-v" 表示输出更多安装相关的信息
# "-e" 表示以可编辑形式安装,这样可以在不重新安装的情况下,让本地修改直接生效

2)作为 Python 包安装

直接使用pip指令即可

pip install mmpose

4.使用HRNet和Lite-HRNet验证安装

因为听说Lite-HRNet虽然浮点运算很低,但是实际运行起来并没有比HRNet快多少,所以这里运行了一下两个网络,并比较了一下推理时间。

首先需要下载两个模型的权重,下面给出两个网络的信息,这里分别下载HRNetW32_256x192(108M)的权重和LiteHRNet-18_256x192(4.82M)的权重

Arch Input Size AP AP50 AP75 AR AR50 ckpt log
pose_hrnet_w32 256x192 0.746 0.904 0.819 0.799 0.942 ckpt log
pose_hrnet_w32 384x288 0.760 0.906 0.829 0.810 0.943 ckpt log
pose_hrnet_w48 256x192 0.756 0.907 0.825 0.806 0.942 ckpt log
pose_hrnet_w48 384x288 0.767 0.910 0.831 0.816 0.946 ckpt log
Arch Input Size AP AP50 AP75 AR AR50 ckpt log
LiteHRNet-18 256x192 0.643 0.868 0.720 0.706 0.912 ckpt log
LiteHRNet-18 384x288 0.677 0.878 0.746 0.735 0.920 ckpt log
LiteHRNet-30 256x192 0.675 0.881 0.754 0.736 0.924 ckpt log
LiteHRNet-30 384x288 0.700 0.884 0.776 0.758 0.928 ckpt log

这里选择了一个42秒共1266帧的视频做测试,在RTX 2080S上,两个模型的表现如下(上为lite-hrnet):

【安装教程】MMPose安装与使用(测试HRNet与Lite-HRNet)_第1张图片

 【安装教程】MMPose安装与使用(测试HRNet与Lite-HRNet)_第2张图片

 

load checkpoint from local path: hrnet_w32_coco_256x192-c78dce93_20200708.pth
Running inference...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ] 1265/1266, 5.7 task/s, elapsed: 221s, ETA:     0s
load checkpoint from local path: litehrnet18_coco_256x192-6bace359_20211230.pth
Running inference...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ] 1265/1266, 5.2 task/s, elapsed: 242s, ETA:     0s

可以发现lite-hrnet的推理速度(242s)确实不如hrnet(221s),考虑到lite-hrnet可能在cpu上表现会更好,下面在cpu上进行了测试(i5-12400)。为了节约时间,这里将上一个视频剪短到了3s,共89帧。模型表现如下:

load checkpoint from local path: hrnet_w32_coco_256x192-c78dce93_20200708.pth
Running inference...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 89/89, 0.3 task/s, elapsed: 330s, ETA:     0s
load checkpoint from local path: litehrnet18_coco_256x192-6bace359_20211230.pth
Running inference...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 89/89, 0.3 task/s, elapsed: 259s, ETA:     0s

可以看到lite-hrnets)确实要比hrnets)推理速度要快。但是也并没有像论文里浮点运算的差距,这很难不让人对论文的产生怀疑。

你可能感兴趣的:(人工智能,python,python,开发语言)