论文复现--RMPE: Regional Multi-person Pose Estimation

paper code home video

目录

paper code home video

Step1.创建新的nvidia-docker container名为MotionCatch

Step2.在此docker下安装anaconda3 

出现问题1:提示网络连接失败

Checking Internet connectivity,Please make sure you are connected to the internet

Step3.按照安装官方文档在MotionCatch进行配置

 1. 创建conda环境

出现问题2:

You may need to closed and restart your shell after running 'code init'

2. 安装PyTorch

3. 获取AlphaPose源码

4. 安装

出现问题3:Subprocess.CalledProcessedError:Command '[Which','g++']'returned non-zero exit status 1.

出现问题4:error No such file or directory :':usr/local/cuda:/usr/local/cuda/bin/nvcc'

出现问题5:

.../compiler_compat/id:cannot find -LOSMesa : No such  file or directory

.../compiler_compat/id:cannot find -LGL : No such  file or directory

.../compiler_compat/id:cannot find -LGLU : No such  file or directory

出现问题6:Setup script exited with 

Beginning with Matplotlib 3.6 ,Python 3.8 above is required

 出现问题7:Import error:cannot import name 'get_installed_dostribution' from 'pip_internal.utils.misc'(/home/anaconda3/envs/alphapose/lib/python3.7/site-packages/pip/_internal/utils/misc.py)

Step4.目标检测模型配置 

1.下载yolov3-spp.weights

2.下载这个模型halpe26_fast_res50_256x192.pth

出现问题8:

ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory

3.下载第二个模型halpe136_fast50_regression_256x192.pth

4.下载前两个multi_domain_fast50_dcn_combined_256x192.pt和 multi_domain_fast50_regression_256x192.pth

Step5.姿态追踪模型配置  

1首先尝试第一个模型 下载这个

 2 尝试第二个模型 下载第一个

Conda list

Step1.创建新的nvidia-docker container名为MotionCatch

nvidia-docker run -it --name MotionCatch nvidia/cuda:11.0.3-base-ubuntu18.04 /bin/bash

Step2.在此docker下安装anaconda3 

下载版本为Anaconda3-5.3.0-Linux-x86_64.sh 安装在MotionCatch内

docker inspect --format="{{.Id}}"  MotionCatch # 查询该容器的container_id
docker cp /home/sqy/Software_Anzhuang/Anaconda3-5.3.0-Linux-x86_64.sh 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/home# 移动到home下
bash Anaconda3-5.3.0-Linux-x86_64.sh

出现问题1:提示网络连接失败

Checking Internet connectivity,Please make sure you are connected to the internet

论文复现--RMPE: Regional Multi-person Pose Estimation_第1张图片

​解决方法:这是vscode相关的,不影响anaconda 直接输入no

安装结束,配置环境变量

apt-get update
apt-get upgrade
apt-get install vim
vi ~/.bashrc
export export PATH="/home/anaconda3/bin:$PATH"# conda init里有这条指令,复制下来添加到末尾,路径为安装路径
source ~/.bashrc

检查安装是否成功

conda -V #显示conda 4.5.11

注意,conda卸载只需要把anaconda3文件夹整个删除,再把bashrc里刚才添加的export语句删除即可

(Tips:中间我看了下磁盘空间,觉得snapd不爽 卸载了snapd,虽然这和论文没关系:)

sudo apt-get purge snapd
sudo apt autoremove --purge snapd

论文复现--RMPE: Regional Multi-person Pose Estimation_第2张图片

论文复现--RMPE: Regional Multi-person Pose Estimation_第3张图片

Step3.按照安装官方文档在MotionCatch进行配置

 1. 创建conda环境

conda create -n alphapose python=3.7 -y
conda activate alphapose

出现问题2:

You may need to closed and restart your shell after running 'code init'

论文复现--RMPE: Regional Multi-person Pose Estimation_第4张图片

原因:shell未激活,执行conda init是没用的

解决办法: source activate

(Tips:执行conda update conda后若出现conda info -e出错的情况

An unexpected error has occurred.conda has prepared the above report)

论文复现--RMPE: Regional Multi-person Pose Estimation_第5张图片

解决办法:把anaconda里的lib文件夹 libffi.so.7文件进行软连接更改 ln -s libffi.so.6 libffi.so.7即可

论文复现--RMPE: Regional Multi-person Pose Estimation_第6张图片

2. 安装PyTorch

conda install pytorch torchvision cudatoolkit=11.3 -c pytorch

3. 获取AlphaPose源码

git clone https://github.com/MVIG-SJTU/AlphaPose.git
cd AlphaPose

4. 安装

# 以下两条环境变量在宿主机和docker bashrc设置,添加完毕后生效
vi ~/.bashrc 
export PATH="/usr/local/cuda/bin/:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64/:$LD_LIBRARY_PATH"
source ~/.bashrc

# 以下两条在docker安装
python -m pip install cython -i  https://pypi.tuna.tsinghua.edu.cn/simple
sudo apt-get install libyaml-dev

# 仅在Ubuntu18.04进行此设置
locale-gen C.UTF-8
# 如果locale-gen指令未被查到
sudo apt-get install locales
export LANG=C.UTF-8

# 最后执行
python setup.py build develop


出现问题3:Subprocess.CalledProcessedError:Command '[Which','g++']'returned non-zero exit status 1.

论文复现--RMPE: Regional Multi-person Pose Estimation_第7张图片出错原因:未安装g++ 

解决办法:apt-get install g++ 

出现问题4:error No such file or directory :':usr/local/cuda:/usr/local/cuda/bin/nvcc'

解决办法:在docker安装CUDA后,并执行export CUDA_HOME=/usr/local/cuda。重新执行python setup.py build develop


出现问题5:

.../compiler_compat/id:cannot find -LOSMesa : No such  file or directory

.../compiler_compat/id:cannot find -LGL : No such  file or directory

.../compiler_compat/id:cannot find -LGLU : No such  file or directory

解决办法:安装缺失的三个动态库 并设置为当前虚拟环境的软连接

apt install libglu1-mesa
apt install -y libosmesa-dev
ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /home/anaconda3/envs/alphapose/lib/libGL.so
ln -s /usr/lib/x86_64-linux-gnu/libGLU.so.1 /home/anaconda3/envs/alphapose/lib/libGLU.so
ln -s /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0 /home/anaconda3/envs/alphapose/lib/libOSMesa.so

注意:rm -rf build后再执行 python setup.py build develop

出现问题6:Setup script exited with 

Beginning with Matplotlib 3.6 ,Python 3.8 above is required

论文复现--RMPE: Regional Multi-person Pose Estimation_第8张图片

解决办法:缺什么安装什么,其他错误也是一样(注意加上清华源)

pip install matplotlib -i  https://pypi.tuna.tsinghua.edu.cn/simple

 出现问题7:Import error:cannot import name 'get_installed_dostribution' from 'pip_internal.utils.misc'(/home/anaconda3/envs/alphapose/lib/python3.7/site-packages/pip/_internal/utils/misc.py)

 解决办法:降级pip

python -m pip install pip==21.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

好用的pip下载指令

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn numpy 

编译完成: 论文复现--RMPE: Regional Multi-person Pose Estimation_第9张图片

Step4.目标检测模型配置 

1.下载yolov3-spp.weights

和 yolox-l

分别拷贝到detector/yolo/data和detector/yolox/data(需要自己创建一个data文件夹)

docker cp yolov3-spp.weights 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/root/AlphaPose/detector/yolo/data

docker cp yolox_x.pth 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/root/AlphaPose/detector/yolox/data

 原始数据

论文复现--RMPE: Regional Multi-person Pose Estimation_第10张图片论文复现--RMPE: Regional Multi-person Pose Estimation_第11张图片论文复现--RMPE: Regional Multi-person Pose Estimation_第12张图片

2.下载这个模型halpe26_fast_res50_256x192.pth

论文复现--RMPE: Regional Multi-person Pose Estimation_第13张图片

(2 3 4的模型都放到/pretrained_models下)

docker cp halpe26_fast_res50_256x192.pth 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/root/AlphaPose/pretrained_models
python scripts/demo_inference.py --cfg configs/halpe_26/resnet/256x192_res50_lr1e-3_1x.yaml --checkpoint pretrained_models/halpe26_fast_res50_256x192.pth --indir examples/demo/ --save_img

(想用yolox-l做检测器,请在上述指令加上此参数:--detector yolox-x ) 

出现问题8:

ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory

解决方法:

apt-get install libglib2.0-0

直接跑通

论文复现--RMPE: Regional Multi-person Pose Estimation_第14张图片

docker cp 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/root/AlphaPose/examples/res/vis ./

查看结果:

 论文复现--RMPE: Regional Multi-person Pose Estimation_第15张图片论文复现--RMPE: Regional Multi-person Pose Estimation_第16张图片论文复现--RMPE: Regional Multi-person Pose Estimation_第17张图片

3.下载第二个模型halpe136_fast50_regression_256x192.pth

论文复现--RMPE: Regional Multi-person Pose Estimation_第18张图片

docker cp halpe136_fast50_regression_256x192.pth 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/root/AlphaPose/pretrained_models
python scripts/demo_inference.py --cfg configs/halpe_136/resnet/256x192_res50_lr1e-3_2x-regression.yaml --checkpoint pretrained_models/halpe136_fast50_regression_256x192.pth --indir examples/demo/ --save_img

查看结果

论文复现--RMPE: Regional Multi-person Pose Estimation_第19张图片论文复现--RMPE: Regional Multi-person Pose Estimation_第20张图片论文复现--RMPE: Regional Multi-person Pose Estimation_第21张图片

4.下载前两个multi_domain_fast50_dcn_combined_256x192.pt和 multi_domain_fast50_regression_256x192.pth

论文复现--RMPE: Regional Multi-person Pose Estimation_第22张图片

docker cp multi_domain_fast50_dcn_combined_256x192.pth 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/root/AlphaPose/pretrained_models

 docker cp multi_domain_fast50_regression_256x192.pth 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/root/AlphaPose/pretrained_models
python scripts/demo_inference.py --cfg configs/halpe_coco_wholebody_136/resnet/256x192_res50_lr1e-3_2x-regression.yaml --checkpoint pretrained_models/multi_domain_fast50_regression_256x192.pth --indir examples/demo/ --save_img

python scripts/demo_inference.py --cfg configs/halpe_coco_wholebody_136/resnet/256x192_res50_lr1e-3_2x-dcn-combined.yaml --checkpoint pretrained_models/multi_domain_fast50_dcn_combined_256x192.pth --indir examples/demo/ --save_img

论文复现--RMPE: Regional Multi-person Pose Estimation_第23张图片论文复现--RMPE: Regional Multi-person Pose Estimation_第24张图片论文复现--RMPE: Regional Multi-person Pose Estimation_第25张图片 

论文复现--RMPE: Regional Multi-person Pose Estimation_第26张图片论文复现--RMPE: Regional Multi-person Pose Estimation_第27张图片论文复现--RMPE: Regional Multi-person Pose Estimation_第28张图片

Step5.姿态追踪模型配置  

1首先尝试第一个模型 下载这个

论文复现--RMPE: Regional Multi-person Pose Estimation_第29张图片

模型移动到/root/AlphaPose/trackers/weights(自己创建weights目录)

docker cp osnet_ain_x1_0_msmt17_256x128_amsgrad_ep50_lr0.0015_coslr_b64_fb10_softmax_labsmth_flip_jitter.pth 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/root/AlphaPose/trackers/weights

视频移动到 /root/AlphaPose/examples/video_demo

docker cp 1.mp4 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/root/AlphaPose/examples/video_demo

(另外,可以更改/AlphaPose/trackers/tracker_cfg.py中的cfg.arch和cfg.loadmodel来更改模型)

跑模型 

python scripts/demo_inference.py --cfg configs/halpe_26/resnet/256x192_res50_lr1e-3_1x.yaml --checkpoint pretrained_models/halpe26_fast_res50_256x192.pth --video examples/video_demo/1.mp4 --outdir examples/res/vis_video --save_video --pose_track

出现问题9:执行卡住CUDA out of memory

论文复现--RMPE: Regional Multi-person Pose Estimation_第30张图片

可能的原因:内存不够 

因为在执行之前可以执行的图片样例 出现报错

论文复现--RMPE: Regional Multi-person Pose Estimation_第31张图片   

此问题尚未解决 但是可以通过宿主机重启docker重新执行之前的图片样例

 2 尝试第二个模型 下载第一个

论文复现--RMPE: Regional Multi-person Pose Estimation_第32张图片

 模型移动到/root/AlphaPose/detector/tracker/data(需要自己创建data)

 docker cp jde.1088x608.uncertainty.pt 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/root/AlphaPose/detector/tracker/data
python scripts/demo_inference.py --cfg configs/halpe_26/resnet/256x192_res50_lr1e-3_1x.yaml --checkpoint pretrained_models/halpe26_fast_res50_256x192.pth --video examples/video_demo/1.mp4 --outdir examples/res/vis_video --save_video --detector tracker

Conda list

# packages in environment at /home/anaconda3/envs/alphapose:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
_openmp_mutex             5.1                       1_gnu  
alphapose                 0.5.0+a94dae6             dev_0    
blas                      1.0                         mkl  
brotlipy                  0.7.0           py37h27cfd23_1003  
bzip2                     1.0.8                h7b6447c_0  
ca-certificates           2022.07.19           h06a4308_0  
certifi                   2022.9.14        py37h06a4308_0  
cffi                      1.15.1           py37h74dc2b5_0  
charset-normalizer        2.0.4              pyhd3eb1b0_0  
chumpy                    0.70                     pypi_0    pypi
cryptography              37.0.1           py37h9ce1e76_0  
cudatoolkit               11.3.1               h2bc3f7f_2  
cycler                    0.11.0                   pypi_0    pypi
cython                    0.29.32                  pypi_0    pypi
cython-bbox               0.1.3                    pypi_0    pypi
easydict                  1.10                     pypi_0    pypi
ffmpeg                    4.3                  hf484d3e_0    pytorch
fonttools                 4.37.3                   pypi_0    pypi
freetype                  2.11.0               h70c0345_0  
giflib                    5.2.1                h7b6447c_0  
gmp                       6.2.1                h295c915_3  
gnutls                    3.6.15               he1e5248_0  
halpecocotools            0.0.0                    pypi_0    pypi
idna                      3.3                pyhd3eb1b0_0  
intel-openmp              2021.4.0          h06a4308_3561  
jpeg                      9e                   h7f8727e_0  
jsonpatch                 1.32                     pypi_0    pypi
jsonpointer               2.3                      pypi_0    pypi
kiwisolver                1.4.4                    pypi_0    pypi
lame                      3.100                h7b6447c_0  
lcms2                     2.12                 h3be6417_0  
ld_impl_linux-64          2.38                 h1181459_1  
lerc                      3.0                  h295c915_0  
libdeflate                1.8                  h7f8727e_5  
libffi                    3.3                  he6710b0_2  
libgcc-ng                 11.2.0               h1234567_1  
libgomp                   11.2.0               h1234567_1  
libiconv                  1.16                 h7f8727e_2  
libidn2                   2.3.2                h7f8727e_0  
libpng                    1.6.37               hbc83047_0  
libstdcxx-ng              11.2.0               h1234567_1  
libtasn1                  4.16.0               h27cfd23_0  
libtiff                   4.4.0                hecacb30_0  
libunistring              0.9.10               h27cfd23_0  
libwebp                   1.2.2                h55f646e_0  
libwebp-base              1.2.2                h7f8727e_0  
lz4-c                     1.9.3                h295c915_1  
matplotlib                3.5.3                    pypi_0    pypi
mkl                       2021.4.0           h06a4308_640  
mkl-service               2.4.0            py37h7f8727e_0  
mkl_fft                   1.3.1            py37hd3c417c_0  
mkl_random                1.2.2            py37h51133e4_0  
munkres                   1.1.4                    pypi_0    pypi
natsort                   8.2.0                    pypi_0    pypi
ncurses                   6.3                  h5eee18b_3  
nettle                    3.7.3                hbbd107a_1  
numpy                     1.21.5           py37h6c91a56_3  
numpy-base                1.21.5           py37ha15fc14_3  
opencv-python             4.6.0.66                 pypi_0    pypi
opendr                    0.78                     pypi_0    pypi
openh264                  2.1.1                h4ff587b_0  
openssl                   1.1.1q               h7f8727e_0  
packaging                 21.3                     pypi_0    pypi
pillow                    9.2.0            py37hace64e9_1  
pip                       21.2                     pypi_0    pypi
protobuf                  3.20.1                   pypi_0    pypi
pycocotools               2.0.5                    pypi_0    pypi
pycparser                 2.21               pyhd3eb1b0_0  
pyopenssl                 22.0.0             pyhd3eb1b0_0  
pyparsing                 3.0.9                    pypi_0    pypi
pysocks                   1.7.1                    py37_1  
python                    3.7.13               h12debd9_0  
python-dateutil           2.8.2                    pypi_0    pypi
pytorch                   1.12.1          py3.7_cuda11.3_cudnn8.3.2_0    pytorch
pytorch-mutex             1.0                        cuda    pytorch
pyyaml                    6.0                      pypi_0    pypi
pyzmq                     24.0.1                   pypi_0    pypi
readline                  8.1.2                h7f8727e_1  
requests                  2.28.1           py37h06a4308_0  
scipy                     1.7.3                    pypi_0    pypi
setuptools                63.4.1           py37h06a4308_0  
six                       1.16.0             pyhd3eb1b0_1  
sqlite                    3.39.3               h5082296_0  
tensorboardx              2.5.1                    pypi_0    pypi
terminaltables            3.1.10                   pypi_0    pypi
timm                      0.1.20                   pypi_0    pypi
tk                        8.6.12               h1ccaba5_0  
torchvision               0.13.1               py37_cu113    pytorch
tornado                   6.2                      pypi_0    pypi
tqdm                      4.64.1                   pypi_0    pypi
typing_extensions         4.3.0            py37h06a4308_0  
urllib3                   1.26.11          py37h06a4308_0  
visdom                    0.1.8.9                  pypi_0    pypi
websocket-client          1.4.1                    pypi_0    pypi
wheel                     0.37.1             pyhd3eb1b0_0  
xz                        5.2.6                h5eee18b_0  
zlib                      1.2.12               h5eee18b_3  
zstd                      1.5.2                ha4553b6_0  

你可能感兴趣的:(论文复现,计算机视觉,人工智能)