如何使用mmpose进行姿态估计研究?

517 阅读4分钟

序言

在做计算机视觉相关研究的时候,往往需要复现大量的代码,涉及各种包的兼容及多个数据集和模型的构建(包依赖性超级强),这个过程比较繁琐且困难。为了推进计算机视觉领域的研究,OpenMMlab提供了一系列针对计算机视觉任务(姿态估计,图像分割等)的开源框架(类似于前端框架Vue,React)。利用这些框架,避免了从头构建项目(处理各种环境,数据集,模型等等让人分分钟爆炸的问题,这些问题对于深度学习研究的贡献来说繁琐且不必要)。开箱即用的SOTA模型和数据集,可以让研究人员更专注于模型和数据本身。这篇博客主要针对姿态估计领域的研究人员。按照本文的操作,你将会了解如何在windows上安装并使用mmpose进行姿态估计研究。

安装步骤

依赖环境

GPU

在进行任何深度学习研究之前,你都应该拥有英伟达显卡。 我使用的是3060ti。

Python环境

使用anaconda创建python环境并激活。

conda create --name openmmlab python=3.8 -y
conda activate openmmlab

PyTorch

安装深度学习框架,torch版本的选择会影响到后边其他包的安装(mmcv),如果你是3060ti,直接使用下面的安装命令即可。其他版本的GPU则需要根据包版本的依赖关系进行选择尝试。

pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html

CUDA和CUDNN

  • cuda版本必须和torchcuda版本对应。由于我之后安装的torchcuda版本是11.1,所以我下载的是cuda11.1版本。cuda下载地址

    打开下载的.exe文件,选择默认的提取路径(安装完成之后会自动删除),点击OK。

    image.png

    点击同意并继续。

    image.png

    选择自定义,点击下一步。

    image.png

    取消第二个和第三个勾选,取消CUDA中的Visual Studio integration,点击下一步。

    image.png

    image.png

    选择默认安装位置,点击一下步,开始安装。

    image.png

    运行以下命令查看是否安装成功。

    nvcc --version
    

    输出如下,则代表安装成功。

    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2020 NVIDIA Corporation
    Built on Mon_Oct_12_20:54:10_Pacific_Daylight_Time_2020
    Cuda compilation tools, release 11.1, V11.1.105
    Build cuda_11.1.relgpu_drvr455TC455_06.29190527_0
    
  • 下载cuda11.1版本对应的cudnncudnn下载地址

    解压下载的压缩包,复制lib include bin三个文件夹到cuda的安装文件夹(默认为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1),替换cuda安装文件夹下的lib include bin

    image.png

    粘贴到这里。

    image.png

    然后配置 cudnn 相关环境变量,路径需要和 cuda 安装路径一致。

    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\libnvvp
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib
    

    image.png

    image.png

    打开cuda的安装文件夹(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\extras\demo_suite),在文件夹下打开终端,执行以下命令,检验cudnn是否安装成功。

    ./deviceQuery.exe
    

    输出如下:

    image.png

    ./bandwidthTest.exe
    

    输出如下:

    image.png

    两条命令都出现 PASS 说明 cudnn 环境配置成功。

cudacudnn安装成功后,可以检验一下torch是否可用。执行下面的命令:

python -c "import torch; print('Torch version:', torch.__version__); print('CUDA available:', torch.cuda.is_available()); print('CUDA version:', torch.version.cuda)"

输出如下,则代表torch安装成功。

Torch version: 1.9.1+cu111
CUDA available: True
CUDA version: 11.1

使用MIN安装MMEngine和MMCV

安装openmim

pip install -U openmim

安装mmengine

mim install mmengine==0.10.4

安装mmcv,这里安装的mmcv版本需要和torch版本,cuda版本一一对应,参考官方文档进行选择。

image.png

pip install mmcv==2.0.0rc4 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9/index.html

安装mmdet

mim install mmdet==3.1.0

安装MMPose

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

验证安装

为了验证mmpose是否安装正确,您可以通过以下步骤运行模型推理。

  1. 下载配置文件和模型权重文件
    mim download mmpose --config td-hm_hrnet-w32_8xb64-210e_ap10k-256x256  --dest .
    
    下载过程往往需要几秒或更多的时间,这取决于您的网络环境。完成之后,您会在当前目录下找到这两个文件:td-hm_hrnet-w32_8xb64-210e_ap10k-256x256.py 和 hrnet_w32_ap10k_256x256-18aac840_20211029.pth, 分别是配置文件和对应的模型权重文件。
  2. 验证推理
    python demo/image_demo.py  tests/data/ap10k/000000000004.jpg  td-hm_hrnet-w32_8xb64-210e_ap10k-256x256.py hrnet_w32_ap10k_256x256-18aac840_20211029.pth  --out-file vis_results1.jpg     --draw-heatmap
    

如果一切顺利,您将会得到这样的可视化结果:

image.png

结语

至此,我们的mmpose安装之旅就结束了,接下来可以参考mmpose官方文档,开始建立自己的姿态估计项目。(注:如果在安装过程中遇到任何问题,欢迎私信我讨论,看到后我会抽空恢复您。)Keep learning!guys!

参考资料

mmpose官方文档
mmcv官方文档
pytorch官网文档
cangmang.xyz/articles/16…