MMPose配置及各模型的使用

环境配置

关于MMPose的教程其实也挺多的,但是在环境配置的时候,发现配置的过程中参照别的教程总会有一些bug出现,所以在配置了很多遍之后,强烈建议还是按照官方的教程进行配置。

官方github环境配置文件位置mmpose/install.md at master · open-mmlab/mmpose · GitHub

下面我们就来参照官方的步骤先配置我们的环境:

第一步: 希望你已经安装好conda环境

conda create --mymmpose python=3.8 -y
conda activate mymmpose

第二步: 进入pytorch官网,安转你电脑cudnn对应的torch, torchvision

 第三步: 安装mmcv-full, 这一步可能会出现一些问题,因为我在安装的时候发现

# 官方的方法:
pip install -U openmim
mim install mmcv-full

# 推荐方法:
pip install mmcv-full==1.4.5 -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.7/index.html

这里安装mmcv的库的时候,需要注意这是个大坑,直接install,可能会与torch与cuda的版本不匹配,因此这里推荐使用的方法是去官网:Installation — mmcv 1.7.1 documentation

 第四步: git clone mmpose 把mmpose的代码git下来,用pycharm打开,可以看到如下的文件列表:

模型运行

 对于如何使用里面的模型,一开始跟着教程走的时候,我发现我只会使用识别图片的那个,但是想运行视频或者换个模型就发现不知道该怎么入手了,好找慢慢研究算是知道了该怎么运行每一个模型了

1. 首先打开demo文件,里面是分别是3d模型运行文件,自上而下模型,自下而上模型的运行文件等。 

2. configs文件目录下,可以看到分别由animal, body,  face,  fashion, hand, wholebody等,分别是不同识别的模型的配置文件,可以看到下图给出的assoociative_embedding和topdown_heatmap两个文件夹,这两个文件夹下面的文件分别就是不同backbone对应的模型配置:

 3. 模型的运行,这里给出识别单个图片和视频的运行方首先打开mmpose的官方文档,找到modelzoo里面的Backbones, 这里有所有模型的预训练权重文件,下载对应的权重文件进行识别即可:

自上而下模型:这里以hrnet_w32模型为例,先下载模型权重 ,然后将模型权重文件放到项目中,最后是自己新建一个文件夹,专门用来放置各个模型的权重文件。

 下面就是导入一个视频或者一张图片,进行推理:

- 第一个参数:./demo/top_down_video_demo_full_frame_without_det.py 表示使用的是自上而下的模型,对视频进行识别,并且是不需要mmdection的;

- 第二个参数:./configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_384x288.py 这个文件就是刚才下载的权重文件对应的模型配置文件,位于configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco文件夹下,找到对应的模型配置文件;

- 第三个参数:./demo/weights_files/hrnet_w32_coco_384x288-d9f0d786_20200708.pth 刚才下载好的权重文件的位置;

- 第四个参数: --video-path ./demo/mytest/p3.mp4 需要识别的视频的位置

- 第五个参数: --out-video-root mytest/ 输出的识别结果的视频的位置

识别图片只需要将第一个参数改为: bottom_up_img_demo.py 以及后面的文件改为需要识别的图片的路径即可

python ./demo/top_down_video_demo_full_frame_without_det.py ./configs/body/2d_kpt_
sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_384x288.py ./demo/weights_files/hrnet_w32_coco_384x288-d9f0d786_20200708.pth --video-path ./demo/myt
est/p3.mp4 --out-video-root mytest/

 自下而上的模型:

方法跟上面是一模一样的,找一个bottom-up的权重文件,找到对应的模型配置文件,进行训练即可,不过多赘述了。

最后就是为什么只介绍top-down和bottom-up模型呢,因为我目前看的就是这两种模型,还没有去试过别的,我也尝试了不同的模型识别人的效果,个人测试的效果是,同样使用hrnet模型,top-down和bottom-up的推理速度相差很大,在70s共计1200帧左右的视频上进行识别,top-down的速度为80秒左右,而bottom-up的速度为1800秒左右,可以说相差是非常大的,目前还没有研究是什么原因,因为我目前只是吧项目跑通了,还没有研究到底是个什么构造,为什么会有这么大的差别也不是很明白..................

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值