论文地址:RMPE: Regional Multi-person Pose Estimation
代码新版地址:代码地址
环境
由于本机是在Windows10+CUDA10.0版本下,以及希望在python=3.5的情况下进行,而新版alphapose有个别包不支持,因此配置旧版,详细如下:
Windows10
CUDA10.0
python=3.5
pytorch=1.2.0
torchvision=0.4.0
安装
1、创建虚拟环境
conda create -n alphapose python=3.5
conda activate alphapose
2、下载旧版安装代码
(在安装的AlphaPose文件夹内有一个README.md文件,解决了大部分接下来可能会在的问题)
git clone -b pytorch https://github.com/MVIG-SJTU/AlphaPose.git
cd AlphaPose
3、安装pytorch以及torchvision
已经提前下载好对应版本的离线包,直接安装即可。
pip install torch-1.2.0-cp35-cp35m-win_amd64.whl
pip install torchvision-0.4.0-cp35-cp35m-win_amd64.whl
下载完成后,验证是否成功
python
import torch
import torchvision
4、安装依赖环境
已经安装好torch以及torchvision,因此删掉文件requirements.txt中的torch和torchvision。
我在安装中,下载ntpath出现问题,网上查到这个并没有什么作用,因此在requirements.txt中也直接删掉。
pip install -r requirements.txt
或者可以依次pip install
下载.txt内的其他包。
5、下载模型
从Baidu云下载duc_se.pth和yolov3-spp.weights,分别放入…/models/sppe文件夹下和…/models/yolo文件夹下。
测试
1、对图片测试
我的电脑只能行进单进程,因此加入–sp
python demo.py --indir examples/demo --outdir examples/res --sp
出现上图则说明安装测试成功。测出的骨骼数据保存在…/examples/res中。
但即使在其后加入–save_img,也未得到保存的图片,在官网找到:
将dataloader.py第680行cv2.imwrite(os.path.join(opt.outputpath, ‘vis’, im_name), img)
改为这个:
cv2.imwrite(os.path.join(opt.outputpath, ‘vis’, os.path.basename(im_name)), img)
然后再次输入,即可在…/xamples/res/vis得到带有骨骼点的结果图。
python demo.py --indir examples/demo --outdir examples/res --save_img --sp
2、对视频测试(放入自己测试的视频test.mp4)
python video_demo.py --video examples/demo/test.mp4 --outdir examples/res --save_video --sp
但我的gup内存太小,出现如下内存超出的错误:
RuntimeError: CUDA out of memory. Tried to allocate 160.00 MiB (GPU 0; 2.00 GiB total capacity; 909.94 MiB already allocated; 139.44 MiB free; 222.06 MiB cached)
找到一种方法,将alphapose\yolo\cfg中的tiny-yolo-voc.cfg和yolo-voc.cfg两个文件内的subdivisions=8改成subdivisions=64,但可能是我的内存实在太小,依旧没有成功。结果在README.md中找到方法
Note: If you meet OOM(out of memory) problem, decreasing the pose estimation batch until the program can run on your computer:
python3 demo.py --indir ${img_directory} --outdir examples/res --posebatch 30
我一直降到5才可以
python video_demo.py --video examples/demo/test.mp4 --outdir examples/res --save_video --posebatch 5 --sp
3、对Webcam进行测试
python webcam_demo.py --webcam 0 --outdir examples/res --vis