超详细Ubuntu18.04虚拟机安装MMpose(踩坑已改正)

1.安装使用anaconda,版本无所谓

从官网下载压缩包,打开terminal,在压缩包所在的文件夹执行bash +安装包名称。如,我的文件全名Anaconda3-2024.02-1-Linux-x86_64.sh,使用命令行

bash Anaconda3-2024.02-Linux-x86_64.sh

2.创建一个独立的conda环境

假设名字取a_ws,使用命令行(全文中的mmpose_ws都是工作空间名字,可以替换成你自己的)

conda create --name mmpose_ws python=3.8 -y

进入该工作空间

conda activate mmpose_ws

【注意】 在下面的环境配置过程中,有任何问题,可以简单粗暴地,把mmpose_ws工作空间直接删除,再重新建立一个conda环境,从头配置。删除命令行(记得替换你自己的name)

conda remove -n mmpose_ws --all

3.安装pytorch

我选择的是2.1.1 cpu,命令行如下。 其他版本从官网复制:Previous PyTorch Versions | PyTorch

conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 cpuonly -c pytorch

【注意】这里需要pytorch ≤ 2.1.x ,≥ 1.8.x  因为更高版本的pytorch会导致mmcv只能安装2.2.0,而无法安装mmdet;太低的版本不适用 mmpose

所以,不要使用mmpose官网提供的命令行,该方式会导致安装最新的pytorch,会> 2.1.x

选择cpu还是gpu的pytorch,取决于你是否有改动源码的需求,如果电脑有gpu,建议使用gpu 

4.安装mim指令

pip install -U openmim

【注意】执行pip install -U openmin时,可能会出现下面的报错,是由于pip版本过高导致的

通过命令行查询自己的pip版本

pip --version

若版本大于22.0.2,则降低pip版本为20.0.2

python -m pip install pip==20.0.2

如下图所示

然后重新执行上面那个 pip install -U openmim

5.安装mmcv,安装mmEngine,安装mmdet

mim install mmengine
mim install "mmcv>=2.0.1"
mim install "mmdet>=3.1.0"

【注意】如果这里出现报错(我没留截图),就是wheels什么的,就是pytorch版本太高导致mmcv版本太高,导致mmdet用不了,回去看第3条

如果你的pytorch版本不是上文我使用的2.1.1,不要执行第二行的mim install "mmcv>=2.0.1",去mmcv的官网选择你的条件,执行那个命令行。

官网:Installation — mmcv 2.2.0 文档

如,你是cuda11.7   pytorch 1.13x   选择安装mmcv2.1.0(依然要满足>=2.0.1)

则执行上图的命令行

pip install mmcv==2.1.0 -f https://download.openmmlab.com/mmcv/dist/cu117/torch1.13/index.html

6.安装mmpose

6.1 下载编译好的包(用于没有gpu,只有cpu)

mim install "mmpose>=1.1.0"

如果只是想调用mmpose,这个足以;如果想对mmpose进行改动,以达到自己的需求,去下载源码,参考6.2

6.2 下载源码,本地编译(该方式要求必须有CUDA

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

【注意】github国内不稳定,要是failed了就多执行几遍,或者挂梯子,或者等一会再执行。多执行和等一会是最简单粗暴且有效的,等不起可以复制error去网上找一些高端方法(涉及网络通信等)

编译mmpose的源码(source)

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

安装完成。

7.官网数据集验证

7.1 python包安装方式(对应6.1)

建立一个文件夹mmpose,在该路径下重新打开terminal,并进入配置好的a_ws环境

conda activate a_ws

下载配置文件和模型权重文件

mim download mmpose --config td-hm_hrnet-w48_8xb32-210e_coco-256x192  --dest .

下载图片demo.jpg:000000000785.jpg (640×425) (raw.githubusercontent.com)

新建一个py脚本,比如叫test.py,保存脚本内容为:

from mmpose.apis import inference_topdown, init_model
from mmpose.utils import register_all_modules

register_all_modules()

config_file = 'td-hm_hrnet-w48_8xb32-210e_coco-256x192.py'
checkpoint_file = 'td-hm_hrnet-w48_8xb32-210e_coco-256x192-0e67c616_20220913.pth'
model = init_model(config_file, checkpoint_file, device='cpu')  # or device='cuda:0'

# 请准备好一张带有人体的图片
results = inference_topdown(model, 'demo.jpg')

 即(那个图片把名字改为demo.jpg,或者把脚本最后一行改为图片的名字):

在该路径下、ws环境中,运行py脚本,命令行为

python test.py

*也可以在pycharm(或其他编译器)中写一个python脚本,用配好的工作环境运行

运行之后你会发现长这样

一开始我以为有error。但是不要慌,这是成功了,只是我们还看不见结果。

打开test.py脚本,在最后一行添加一下代码并保存

print(result)

重新执行python test.py,这时有执行结果了

更多可视化代码需要编写脚本,详见mmpose官网的docs和demos

7.2 源码安装方式(对应6.2)

没有任何多余操作的话,我们的路径应该是在~/mmpose下,下载配置文件和模型权重文件

mim download mmpose --config td-hm_hrnet-w48_8xb32-210e_coco-256x192  --dest .

然后执行:

python demo/image_demo.py \
    tests/data/coco/000000000785.jpg \
    td-hm_hrnet-w48_8xb32-210e_coco-256x192.py \
    td-hm_hrnet-w48_8xb32-210e_coco-256x192-0e67c616_20220913.pth \
    --out-file vis_results.jpg \
    --draw-heatmap

执行结果会保存在当前路径的vis_results.jpg。

更多大型数据集和视频数据集等,详见官网:Demos — MMPose 1.3.1 文档

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值