目录
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:
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
nvidia-docker run -it --name MotionCatch nvidia/cuda:11.0.3-base-ubuntu18.04 /bin/bash
下载版本为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
解决方法:这是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
conda create -n alphapose python=3.7 -y
conda activate alphapose
原因:shell未激活,执行conda init是没用的
解决办法: source activate
(Tips:执行conda update conda后若出现conda info -e出错的情况
An unexpected error has occurred.conda has prepared the above report)
解决办法:把anaconda里的lib文件夹 libffi.so.7文件进行软连接更改 ln -s libffi.so.6 libffi.so.7即可
conda install pytorch torchvision cudatoolkit=11.3 -c pytorch
git clone https://github.com/MVIG-SJTU/AlphaPose.git
cd AlphaPose
# 以下两条环境变量在宿主机和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
解决办法:apt-get install g++
解决办法:在docker安装CUDA后,并执行export CUDA_HOME=/usr/local/cuda。重新执行python setup.py build develop
解决办法:安装缺失的三个动态库 并设置为当前虚拟环境的软连接
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
解决办法:缺什么安装什么,其他错误也是一样(注意加上清华源)
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
解决办法:降级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
和 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
原始数据
(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 )
解决方法:
apt-get install libglib2.0-0
直接跑通
docker cp 24520982511f3b8d72adea23a0113817c49d8c991ade2edb3c6d6fa43305ca5e:/root/AlphaPose/examples/res/vis ./
查看结果:
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
查看结果
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
模型移动到/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
可能的原因:内存不够
因为在执行之前可以执行的图片样例 出现报错
此问题尚未解决 但是可以通过宿主机重启docker重新执行之前的图片样例
模型移动到/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
# 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