论文复现--关于单视角动作捕捉工具箱--MMHuman3d的研究(基于Windows10和Linux18.04中配置)

分类:动作捕捉
github地址:https://github.com/open-mmlab/mmhuman3d
所需环境:
Windows10,CUDA11.6,conda 4.13.0,Visual Studio 2017;
Ubuntu18.04,conda22.9.0,CUDA11.4

注意:
“Linux中的OpenMMlab全家桶的安装”是可以运行的 全家桶版本可以参考这部分 不是版本越新越好 ;
“Windows10配置”仅讲述配置方法 无法运行 想要运行请把版本和“Linux中的OpenMMlab全家桶的安装”中的版本保持一致

Windows10配置

一.新建Pytorch基本环境

1.创建并激活环境

conda create -n open-mmlab python=3.8 -y
conda activate open-mmlab

2.安装ffmpeg

conda install ffmpeg

3.安装 PyTorch 全家桶

(CUDA与cudnn没安装的话可以采用之前的1安装方式。Pytorch选择以下指令在线安装,这会自动适配CUDA11.6,下载最新的Pytorch版本。新版本会改正很多bug,很好地兼容mmlab全家桶。在下面的安装过程中mmlab全家桶也全下载最新版的,以免出现问题后各种查issue,其实大部分issue都是版本问题引起的。)
安装适配CUDA11.6最新版本的Pytorch全家桶(注意:windows上只能下载cpu版本的,gpu版本的pytorch会存在CUDA依赖问题导致无法编译mmhuman3d和mmtrack)

#如果在Windows上安装GPU版本Pytorch在编译mmhuman3d和mmtrack时会报错如下:
d:\anaconda3\envs\test\lib\site-packages\torch\include\pybind11\cast.h(624): error: too few arguments for template template parameter “Tuple”
d:\anaconda3\envs\test\lib\site-packages\torch\include\pybind11\cast.h(717): error: too few arguments for template template parameter “Tuple”

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu116 -i https://pypi.tuna.tsinghua.edu.cn/simple

4.从源码安装 PyTorch3D

请参考这个2。其实直接使用pip安装会更方便,源码构建比较麻烦。只是官网这么写的所以我就源码构建了。直接用pip安装的PyTorch3D理论上应该不会影响后续安装,读者可以一试。

4.1使用git下载PyTorch3D源码包
conda install git
git config --global http.proxy http://127.0.0.1:7890# 简单粗暴直接给git命令开代理,避免下载超时。端口号是clash的默认端口
cd D:\WLm_Project\MotionCatch\Openmmlab\Pytorch3D
git clone https://github.com/facebookresearch/pytorch3d.git # 运行此句前需要开启clash,运行完毕后记得退出clash
4.2手动下载CUB库并解压至本地

下载CUB1.10.0

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

设置环境变量-系统变量CUB_HOME,确定三连
在这里插入图片描述

4.3修改PyTorch3D的setup.py

修改Pytorch3D的setup.py 52行:extra_compile_args = {"cxx": ["-std=c++14"]}extra_compile_args = {"cxx": []}
在这里插入图片描述
删除Pytorch3D的setup.py.78行:-std=c++14
在这里插入图片描述

4.4安装Pytorch3D
cd D:\WLm_Project\MotionCatch\Openmmlab\Pytorch3D\pytorch3d
python setup.py install

需要编译好一阵子!
在这里插入图片描述
说明已经安装完毕了
在这里插入图片描述

4.5检验是否安装成功

注意:以下python代码不要本地Pytorch3D路径(Openmmlab\Pytorch3D\pytorch3d)中运行3.以免发生ImportError: cannot import name '_C' from 'pytorch3d'错误。

import pytorch3d
print(pytorch3d.__version__)
from pytorch3d.renderer import MeshRenderer
print(MeshRenderer)
from pytorch3d.structures import Meshes
print(Meshes)
from pytorch3d.renderer import cameras
print(cameras)
from pytorch3d.transforms import Transform3d
print(Transform3d)

在这里插入图片描述

import torch
device=torch.device('cuda')
from pytorch3d.utils import torus
Torus = torus(r=10, R=20, sides=100, rings=100, device=device)
print(Torus.verts_padded())

注意:gpu版本才会出现下图,cpu版本因为无法使用CUDA会报错。
在这里插入图片描述

二.安装mmlab全家桶

2.1-2.4都可以直接安装,读者可以尝试官网教程。但是我是直接从源码构建的。

https://github.com/open-mmlab/mmhuman3d/blob/main/docs/install.md

2.1 mmcv

打开Anaconda的Powershell Prompt4,配置open-mmlab环境的环境变量,输入以下指令:
在这里插入图片描述

conda activate open-mmlab
$env:TORCH_CUDA_ARCH_LIST="7.5" # 显卡算力 2080是7.5
$env:MMCV_WITH_OPS = 1 # mmcv默认没有cuda选项,手动改成使用CUDA
$env:MAX_JOBS = 8  # 基于电脑内核,我是12核,给定最大8线程

在这里插入图片描述

回到Anaconda的Powershell Prompt,安装mmcv5

cd D:\WLm_Project\MotionCatch\Openmmlab\mmcv
# git clone https://github.com/open-mmlab/mmcv.git -b v1.5.3
git clone https://github.com/open-mmlab/mmcv.git # 获取当前版本2.0.1
cd mmcv
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

2.2 mmdetection

cd D:\WLm_Project\MotionCatch\Openmmlab\mmdetection
# git clone https://github.com/open-mmlab/mmdetection.git -b v2.25.1
git clone https://github.com/open-mmlab/mmdetection.git# 安装最新版本mmdet3.1.0
cd mmdetection
pip install -r requirements/build.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

2.3 mmpose

cd D:\WLm_Project\MotionCatch\Openmmlab\mmpose
# git clone https://github.com/open-mmlab/mmpose.git -b v0.28.1
git clone https://github.com/open-mmlab/mmpose.git# 安装最新版本mmpose1.1.0
cd mmpose
git config --global --unset http.proxy # 取消之前的git代理设置,不然requirements下载不完全
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

2.4 mmtrack

cd D:\WLm_Project\MotionCatch\Openmmlab\mmtracking
# git clone https://github.com/open-mmlab/mmtracking.git -b v0.13.0
git clone https://github.com/open-mmlab/mmtracking.git# 安装最新版本0.14.0
cd mmtracking
pip install -r requirements/build.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e .  -i https://pypi.tuna.tsinghua.edu.cn/simple # or "python setup.py develop"

在这里插入图片描述
提示scipy版本冲突,但是mmtrack0.14.0安装上了。冲突问题可暂时不考虑,以后跑代码时出现问题再说。

2.5安装mmhuman3d

# !!!!!!!!!!!!!!此部分指令不要输入进conda 这是错的
cd D:\WLm_Project\MotionCatch\Openmmlab\mmhuman3d
git clone https://github.com/open-mmlab/mmhuman3d.git
cd mmhuman3d
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple  # or "python setup.py develop"

这会出现错误:picklebufobject.obj : error LNK2005: PyPickleBuffer_GetBuffer 已经在 python38.lib(python38.dll) 中定义 build\lib.win-amd64-cpython-38\pickle5\_pickle.cp38-win_amd64.pyd : fatal error LNK1169: 找到一个或多个多重定义的符号 error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\link.exe' failed with exit code 1169

在这里插入图片描述
在这里插入图片描述

这个是没法解决的,我在这里找到了这个issue6。意思是pickle5三年前就没人维护了,建议删除pickle5,因为会阻止mmhuman3d在windows上的安装(pickle5没法编译所以mmhuman3d安装就会中断)。

显然作者团队也已经注意到这个问题7,并且画饼会给出解决方案,然而过去了一年没消息。

这个是找到的修改策略8,是别人的改进方式,但是官方还没有拉到自己仓库中。我直接克隆了这个仓库,尝试后发现可以正常在windows中安装mmhuman3d。相对于官方仓库而言,他改了以下四个文件(直接取消了对pickle5的调用)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装指令如下:

cd D:\WLm_Project\MotionCatch\Openmmlab\mmhuman3d
git clone https://github.com/Wei-Chen-hub/mmhuman3d.git# 安装Wei-Chen-hub给出的mmhuman3d-0.11.0修改版本
cd mmhuman3d
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple  # or "python setup.py develop"

成功安装mmhuman3d0.11.0
在这里插入图片描述

升级某个库时,首先pip uninstall将其卸载。然后删掉源码文件夹从新git。重新执行安装requirments的依赖和setup的安装指令。

三.Windows10 Conda list

# packages in environment at D:\Anaconda3\envs\open-mmlab:
#
# Name                    Version                   Build  Channel
addict                    2.4.0                    pypi_0    pypi
albumentations            1.3.1                    pypi_0    pypi
astropy                   5.2.2                    pypi_0    pypi
attributee                0.1.8                    pypi_0    pypi
attrs                     23.1.0                   pypi_0    pypi
ca-certificates           2023.05.30           haa95532_0
cdflib                    0.3.20                   pypi_0    pypi
certifi                   2023.7.22                pypi_0    pypi
charset-normalizer        3.2.0                    pypi_0    pypi
chumpy                    0.70                     pypi_0    pypi
click                     8.1.6                    pypi_0    pypi
codecov                   2.1.13                   pypi_0    pypi
colorama                  0.4.6                    pypi_0    pypi
coloredlogs               15.0.1                   pypi_0    pypi
colorlog                  6.7.0                    pypi_0    pypi
colormap                  1.0.4                    pypi_0    pypi
contourpy                 1.1.0                    pypi_0    pypi
coverage                  7.2.7                    pypi_0    pypi
cycler                    0.11.0                   pypi_0    pypi
cython                    3.0.0                    pypi_0    pypi
deprecated                1.2.14                   pypi_0    pypi
dotty-dict                1.3.1                    pypi_0    pypi
easydev                   0.12.1                   pypi_0    pypi
einops                    0.6.1                    pypi_0    pypi
exceptiongroup            1.1.2                    pypi_0    pypi
ffmpeg                    4.2.2                he774522_0
filelock                  3.12.2                   pypi_0    pypi
flake8                    6.1.0                    pypi_0    pypi
flatbuffers               23.5.26                  pypi_0    pypi
fonttools                 4.42.0                   pypi_0    pypi
freetype-py               2.4.0                    pypi_0    pypi
git                       2.40.1               haa95532_1
h5py                      3.9.0                    pypi_0    pypi
humanfriendly             10.0                     pypi_0    pypi
idna                      3.4                      pypi_0    pypi
imageio                   2.31.1                   pypi_0    pypi
importlib-metadata        6.8.0                    pypi_0    pypi
importlib-resources       6.0.1                    pypi_0    pypi
iniconfig                 2.0.0                    pypi_0    pypi
interrogate               1.5.0                    pypi_0    pypi
isort                     4.3.21                   pypi_0    pypi
jinja2                    3.1.2                    pypi_0    pypi
joblib                    1.3.1                    pypi_0    pypi
json-tricks               3.17.2                   pypi_0    pypi
kiwisolver                1.4.4                    pypi_0    pypi
lap                       0.4.0                    pypi_0    pypi
lazy-loader               0.3                      pypi_0    pypi
libffi                    3.4.4                hd77b12b_0
llvmlite                  0.36.0                   pypi_0    pypi
lmdb                      1.4.1                    pypi_0    pypi
markdown-it-py            3.0.0                    pypi_0    pypi
markupsafe                2.1.3                    pypi_0    pypi
matplotlib                3.7.2                    pypi_0    pypi
mccabe                    0.7.0                    pypi_0    pypi
mdurl                     0.1.2                    pypi_0    pypi
mmcls                     0.25.0                   pypi_0    pypi
mmcv                      2.0.1                     dev_0    <develop>
mmdet                     3.1.0                     dev_0    <develop>
mmengine                  0.8.4                    pypi_0    pypi
mmhuman3d                 0.11.0                    dev_0    <develop>
mmpose                    1.1.0                     dev_0    <develop>
mmtrack                   0.14.0                    dev_0    <develop>
motmetrics                1.4.0                    pypi_0    pypi
mpmath                    1.3.0                    pypi_0    pypi
networkx                  3.1                      pypi_0    pypi
ninja                     1.11.1                   pypi_0    pypi
numba                     0.53.0                   pypi_0    pypi
numpy                     1.22.4                   pypi_0    pypi
onnx                      1.7.0                    pypi_0    pypi
onnxoptimizer             0.3.13                   pypi_0    pypi
onnxruntime               1.15.1                   pypi_0    pypi
opencv-python             4.8.0.74                 pypi_0    pypi
openssl                   3.0.10               h2bbff1b_0
packaging                 23.1                     pypi_0    pypi
pandas                    1.3.5                    pypi_0    pypi
parameterized             0.9.0                    pypi_0    pypi
pexpect                   4.8.0                    pypi_0    pypi
pillow                    10.0.0                   pypi_0    pypi
pip                       23.2.1           py38haa95532_0
platformdirs              3.10.0                   pypi_0    pypi
pluggy                    1.2.0                    pypi_0    pypi
plyfile                   1.0.1                    pypi_0    pypi
portalocker               2.7.0                    pypi_0    pypi
poseval                   0.1.0                    pypi_0    pypi
protobuf                  3.19.6                   pypi_0    pypi
psutil                    5.9.5                    pypi_0    pypi
ptyprocess                0.7.0                    pypi_0    pypi
py                        1.11.0                   pypi_0    pypi
pycocotools               2.0.6                    pypi_0    pypi
pycodestyle               2.11.0                   pypi_0    pypi
pyerfa                    2.0.0.3                  pypi_0    pypi
pyflakes                  3.1.0                    pypi_0    pypi
pyglet                    2.0.9                    pypi_0    pypi
pygments                  2.16.1                   pypi_0    pypi
pyopengl                  3.1.0                    pypi_0    pypi
pyparsing                 3.0.9                    pypi_0    pypi
pyreadline3               3.4.1                    pypi_0    pypi
pyrender                  0.1.45                   pypi_0    pypi
pytest                    7.4.0                    pypi_0    pypi
pytest-runner             6.0.0                    pypi_0    pypi
python                    3.8.17               h1aa4202_0
python-dateutil           2.8.2                    pypi_0    pypi
pytorch3d                 0.7.4                    pypi_0    pypi
pyturbojpeg               1.7.2                    pypi_0    pypi
pytz                      2023.3                   pypi_0    pypi
pywavelets                1.4.1                    pypi_0    pypi
pywin32                   306                      pypi_0    pypi
pyyaml                    6.0.1                    pypi_0    pypi
qudida                    0.0.4                    pypi_0    pypi
regex                     2023.6.3                 pypi_0    pypi
requests                  2.31.0                   pypi_0    pypi
rich                      13.5.2                   pypi_0    pypi
rtree                     1.0.1                    pypi_0    pypi
scikit-image              0.21.0                   pypi_0    pypi
scikit-learn              1.3.0                    pypi_0    pypi
scipy                     1.10.1                   pypi_0    pypi
seaborn                   0.12.2                   pypi_0    pypi
setuptools                68.0.0           py38haa95532_0
shapely                   2.0.1                    pypi_0    pypi
six                       1.16.0                   pypi_0    pypi
smplx                     0.1.28                   pypi_0    pypi
sqlite                    3.41.2               h2bbff1b_0
surrogate                 0.1                      pypi_0    pypi
sympy                     1.12                     pypi_0    pypi
tabulate                  0.9.0                    pypi_0    pypi
termcolor                 2.3.0                    pypi_0    pypi
terminaltables            3.1.10                   pypi_0    pypi
threadpoolctl             3.2.0                    pypi_0    pypi
tifffile                  2023.7.10                pypi_0    pypi
toml                      0.10.2                   pypi_0    pypi
tomli                     2.0.1                    pypi_0    pypi
torch                     2.0.1                    pypi_0    pypi
torchaudio                2.0.2                    pypi_0    pypi
torchvision               0.15.2                   pypi_0    pypi
tqdm                      4.65.2                   pypi_0    pypi
trimesh                   3.23.1                   pypi_0    pypi
typing-extensions         4.7.1                    pypi_0    pypi
tzdata                    2023.3                   pypi_0    pypi
urllib3                   2.0.4                    pypi_0    pypi
vc                        14.2                 h21ff451_1
vedo                      2023.4.6                 pypi_0    pypi
vs2015_runtime            14.27.29016          h5e58377_2
vtk                       9.2.6                    pypi_0    pypi
wheel                     0.38.4           py38haa95532_0
wrapt                     1.15.0                   pypi_0    pypi
xdoctest                  1.1.1                    pypi_0    pypi
xmltodict                 0.13.0                   pypi_0    pypi
xtcocotools               1.13                     pypi_0    pypi
yacs                      0.1.8                    pypi_0    pypi
yapf                      0.40.1                   pypi_0    pypi
zipp                      3.16.2                   pypi_0    pypi
# git config --global http.proxy http://127.0.0.1:7890
# git config --global --unset http.proxy 
# 试图在windows gpu pytorch上安装MMhuman3d所做的一些尝试:
# 卸载
 pip uninstall torch torchvision torchaudio  -y
 
 # windows cpu pytorch(2.0.1) 无cudatoolkit:完美安装
 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu116 -i https://pypi.tuna.tsinghua.edu.cn/simple

 # windows gpu pytorch(1.13.1) 无cudatoolkit:不可安装
 pip install torch-1.13.1+cu116-cp38-cp38-win_amd64.whl
 pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
 
 # windows gpu pytorch(2.0.0) cudatoolkit(11.8):不可安装
 conda install cudatoolkit=11.8
 cd D:\WLm_Project\MotionCatch\Openmmlab
 pip install torch-2.0.0+cu117-cp38-cp38-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
 pip install torch==2.0.0+cu117 torchvision==0.15.1+cu117 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu117 
 
 # windows gpu pytorch(1.10.1) cudatoolkit(11.3):不可安装
 conda install cudatoolkit=11.3
 pip install torch-1.10.1+cu111-cp38-cp38-win_amd64.whl
 pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html

 # mmhuman3d安装指令
 cd D:\WLm_Project\MotionCatch\Openmmlab\mmhuman3d\mmhuman3d
 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
 pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

Linux中的OpenMMlab全家桶的安装

在linux下安装OpenMMlab全家桶非常简单,也不会遇到什么大问题。windows10中最令人头疼的pickle5和编译器问题在Ubuntu18.04中并不是问题。因为OpenMMlab就是针对linux开发的。

同样,从源码构建的方式,升级需要先pip uninstall卸载相应的包,再删除源码文件夹重新后git并编译。

# 创建环境
conda create -n OpenMMlab python=3.7 -y
conda activate OpenMMlab

#ffmpeg
conda install ffmpeg -y

#pytorch全家桶
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch -y

# pytorch3D
conda install -c fvcore -c iopath -c conda-forge fvcore iopath -y
conda install -c bottler nvidiacub -y
conda install pytorch3d -c pytorch3d

# mmcv
cd
mkdir OpenMMlab/mmcv
cd  OpenMMlab/mmcv
git clone https://github.com/open-mmlab/mmcv.git -b v1.5.3
cd mmcv
pip install -r requirements.txt 
MMCV_WITH_OPS=1 pip install -e . 

# mmdetection
cd
mkdir OpenMMlab/mmdetection
cd OpenMMlab/mmdetection
git clone https://github.com/open-mmlab/mmdetection.git -b v2.25.1
cd mmdetection
pip install -r requirements/build.txt 
pip install -v -e . 

# mmpose
cd
mkdir OpenMMlab/mmpose
cd OpenMMlab/mmpose
git clone https://github.com/open-mmlab/mmpose.git -b v1.1.0
cd mmpose
pip install -r requirements.txt 
pip install -v -e . 

#mmtrack
cd
mkdir OpenMMlab/mmtrack
cd OpenMMlab/mmtrack
git clone https://github.com/open-mmlab/mmtracking.git  -b v0.14.0
cd mmtracking
pip install -r requirements/build.txt 
pip install -v -e .  

# mmhuman3D
cd
mkdir OpenMMlab/mmhuman3D
cd OpenMMlab/mmhuman3D
git clone https://github.com/open-mmlab/mmhuman3d.git# 安装最新版0.11.0
cd mmhuman3d
pip install -r requirements.txt 
pip install -v -e . 

以下是安装完成后的截图:

mmcv-full-1.5.3
在这里插入图片描述

mmdet-2.25.1
在这里插入图片描述

mmpose-1.1.0
在这里插入图片描述
mmtrack-0.14.0

在这里插入图片描述

mmhuman3D-0.11.0
在这里插入图片描述

一.Ubuntu18.04 Conda list

# packages in environment at /home/sqy/anaconda3/envs/OpenMMlab:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
_openmp_mutex             5.1                       1_gnu  
addict                    2.4.0                    pypi_0    pypi
astropy                   4.3.1                    pypi_0    pypi
attributee                0.1.5                    pypi_0    pypi
attrs                     23.1.0                   pypi_0    pypi
blas                      1.0                         mkl  
brotlipy                  0.7.0           py37h27cfd23_1003  
bzip2                     1.0.8                h7b6447c_0  
ca-certificates           2023.7.22            hbcca054_0    conda-forge
cdflib                    0.3.20                   pypi_0    pypi
certifi                   2023.7.22          pyhd8ed1ab_0    conda-forge
cffi                      1.15.1           py37h5eee18b_3  
charset-normalizer        2.0.4              pyhd3eb1b0_0  
chumpy                    0.70                     pypi_0    pypi
click                     8.1.6                    pypi_0    pypi
codecov                   2.1.13                   pypi_0    pypi
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
coloredlogs               15.0.1                   pypi_0    pypi
colorlog                  6.7.0                    pypi_0    pypi
colormap                  1.0.4                    pypi_0    pypi
coverage                  7.2.7                    pypi_0    pypi
cryptography              39.0.1           py37h9ce1e76_0  
cudatoolkit               11.3.1               h2bc3f7f_2  
cycler                    0.11.0                   pypi_0    pypi
cython                    3.0.0                    pypi_0    pypi
deprecated                1.2.14                   pypi_0    pypi
dotty-dict                1.3.1                    pypi_0    pypi
easydev                   0.12.1                   pypi_0    pypi
einops                    0.6.1                    pypi_0    pypi
exceptiongroup            1.1.2                    pypi_0    pypi
ffmpeg                    4.2.2                h20bf706_0  
flake8                    5.0.4                    pypi_0    pypi
flatbuffers               23.5.26                  pypi_0    pypi
fonttools                 4.38.0                   pypi_0    pypi
freetype                  2.12.1               h4a9f257_0  
fvcore                    0.1.5.post20210915            py37    fvcore
giflib                    5.2.1                h5eee18b_3  
gmp                       6.2.1                h295c915_3  
gnutls                    3.6.15               he1e5248_0  
h5py                      3.8.0                    pypi_0    pypi
humanfriendly             10.0                     pypi_0    pypi
idna                      3.4              py37h06a4308_0  
imageio                   2.31.1                   pypi_0    pypi
importlib-metadata        4.2.0                    pypi_0    pypi
iniconfig                 2.0.0                    pypi_0    pypi
intel-openmp              2021.4.0          h06a4308_3561  
interrogate               1.5.0                    pypi_0    pypi
iopath                    0.1.9                      py37    iopath
isort                     4.3.21                   pypi_0    pypi
jpeg                      9e                   h5eee18b_1  
json-tricks               3.17.2                   pypi_0    pypi
kiwisolver                1.4.4                    pypi_0    pypi
lame                      3.100                h7b6447c_0  
lap                       0.4.0                    pypi_0    pypi
lcms2                     2.12                 h3be6417_0  
ld_impl_linux-64          2.38                 h1181459_1  
lerc                      3.0                  h295c915_0  
libdeflate                1.17                 h5eee18b_0  
libffi                    3.4.4                h6a678d5_0  
libgcc-ng                 11.2.0               h1234567_1  
libgomp                   11.2.0               h1234567_1  
libidn2                   2.3.4                h5eee18b_0  
libopus                   1.3.1                h7b6447c_0  
libpng                    1.6.39               h5eee18b_0  
libstdcxx-ng              11.2.0               h1234567_1  
libtasn1                  4.19.0               h5eee18b_0  
libtiff                   4.5.0                h6a678d5_2  
libunistring              0.9.10               h27cfd23_0  
libvpx                    1.7.0                h439df22_0  
libwebp                   1.2.4                h11a3e52_1  
libwebp-base              1.2.4                h5eee18b_1  
lmdb                      1.4.1                    pypi_0    pypi
lz4-c                     1.9.4                h6a678d5_0  
markdown-it-py            2.2.0                    pypi_0    pypi
matplotlib                3.5.3                    pypi_0    pypi
mccabe                    0.7.0                    pypi_0    pypi
mdurl                     0.1.2                    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  
mmcls                     0.25.0                   pypi_0    pypi
mmcv-full                 1.5.3                     dev_0    <develop>
mmdet                     2.25.1                    dev_0    <develop>
mmengine                  0.8.4                    pypi_0    pypi
mmhuman3d                 0.11.0                    dev_0    <develop>
mmpose                    1.1.0                     dev_0    <develop>
mmtrack                   0.14.0                   pypi_0    pypi
motmetrics                1.4.0                    pypi_0    pypi
mpmath                    1.3.0                    pypi_0    pypi
munkres                   1.1.4                    pypi_0    pypi
ncurses                   6.4                  h6a678d5_0  
nettle                    3.7.3                hbbd107a_1  
networkx                  2.6.3                    pypi_0    pypi
ninja                     1.11.1                   pypi_0    pypi
numpy                     1.21.6                   pypi_0    pypi
nvidiacub                 1.10.0                        0    bottler
onnx                      1.7.0                    pypi_0    pypi
onnxoptimizer             0.3.13                   pypi_0    pypi
onnxruntime               1.14.1                   pypi_0    pypi
opencv-python             4.8.0.76                 pypi_0    pypi
openh264                  2.1.1                h4ff587b_0  
openssl                   1.1.1v               h7f8727e_0  
packaging                 23.1                     pypi_0    pypi
pandas                    1.3.5                    pypi_0    pypi
parameterized             0.9.0                    pypi_0    pypi
pexpect                   4.8.0                    pypi_0    pypi
pickle5                   0.0.12                   pypi_0    pypi
pillow                    9.4.0            py37h6a678d5_0  
pip                       22.3.1           py37h06a4308_0  
platformdirs              3.10.0                   pypi_0    pypi
pluggy                    1.2.0                    pypi_0    pypi
plyfile                   0.9                      pypi_0    pypi
portalocker               1.4.0                      py_0    conda-forge
protobuf                  3.19.6                   pypi_0    pypi
psutil                    5.9.5                    pypi_0    pypi
ptyprocess                0.7.0                    pypi_0    pypi
py                        1.11.0                   pypi_0    pypi
pycocotools               2.0.6                    pypi_0    pypi
pycodestyle               2.9.1                    pypi_0    pypi
pycparser                 2.21               pyhd3eb1b0_0  
pyerfa                    2.0.0.3                  pypi_0    pypi
pyflakes                  2.5.0                    pypi_0    pypi
pygments                  2.16.1                   pypi_0    pypi
pyopenssl                 23.0.0           py37h06a4308_0  
pyparsing                 3.1.1                    pypi_0    pypi
pysocks                   1.7.1                    py37_1  
pytest                    7.4.0                    pypi_0    pypi
pytest-runner             6.0.0                    pypi_0    pypi
python                    3.7.16               h7a1cb2a_0  
python-dateutil           2.8.2                    pypi_0    pypi
python_abi                3.7                     2_cp37m    conda-forge
pytorch                   1.12.1          py3.7_cuda11.3_cudnn8.3.2_0    pytorch
pytorch-mutex             1.0                        cuda    pytorch
pytorch3d                 0.7.1           py37_cu113_pyt1121    pytorch3d
pyturbojpeg               1.7.2                    pypi_0    pypi
pytz                      2023.3                   pypi_0    pypi
pywavelets                1.3.0                    pypi_0    pypi
pyyaml                    6.0              py37h540881e_4    conda-forge
readline                  8.2                  h5eee18b_0  
requests                  2.28.1           py37h06a4308_0  
rich                      13.5.2                   pypi_0    pypi
rtree                     1.0.1                    pypi_0    pypi
scikit-image              0.19.3                   pypi_0    pypi
scipy                     1.7.3                    pypi_0    pypi
seaborn                   0.12.2                   pypi_0    pypi
setuptools                65.6.3           py37h06a4308_0  
shapely                   2.0.1                    pypi_0    pypi
six                       1.16.0             pyhd3eb1b0_1  
smplx                     0.1.28                   pypi_0    pypi
sqlite                    3.41.2               h5eee18b_0  
surrogate                 0.1                      pypi_0    pypi
sympy                     1.10.1                   pypi_0    pypi
tabulate                  0.9.0              pyhd8ed1ab_1    conda-forge
termcolor                 2.3.0              pyhd8ed1ab_0    conda-forge
terminaltables            3.1.10                   pypi_0    pypi
tifffile                  2021.11.2                pypi_0    pypi
tk                        8.6.12               h1ccaba5_0  
toml                      0.10.2                   pypi_0    pypi
tomli                     2.0.1                    pypi_0    pypi
torchaudio                0.12.1               py37_cu113    pytorch
torchvision               0.13.1               py37_cu113    pytorch
tqdm                      4.66.1             pyhd8ed1ab_0    conda-forge
trimesh                   3.23.1                   pypi_0    pypi
typing-extensions         4.7.1                    pypi_0    pypi
urllib3                   1.26.14          py37h06a4308_0  
vedo                      2023.4.6                 pypi_0    pypi
vtk                       9.2.6                    pypi_0    pypi
wheel                     0.38.4           py37h06a4308_0  
wrapt                     1.15.0                   pypi_0    pypi
x264                      1!157.20191217       h7b6447c_0  
xdoctest                  1.1.1                    pypi_0    pypi
xmltodict                 0.13.0                   pypi_0    pypi
xtcocotools               1.13                     pypi_0    pypi
xz                        5.4.2                h5eee18b_0  
yacs                      0.1.8              pyhd8ed1ab_0    conda-forge
yaml                      0.2.5                h7f98852_2    conda-forge
yapf                      0.33.0                   pypi_0    pypi
zipp                      3.15.0                   pypi_0    pypi
zlib                      1.2.13               h5eee18b_0  
zstd                      1.5.5                hc292b87_0  

mmhuman3d如何使用(以linux环境为例)

嫌麻烦可以直接下载我打包好的data文件夹,直接解压放到mmhuman3d下即可:Google盘

一.下载smpl相关文件

在mmhuman3D/mmhuman3d下创建data文件夹
下载以下文件

J_regressor_extra.npy
J_regressor_h36m.npy
smpl_mean_params.npz
SMPL_MALE.pkl9
SMPL_FEMALE.pkl9
SMPL_NEUTRAL.pkl10

下载完成后,需要构造目录格式如下:
在这里插入图片描述

二.下载预训练模型

官方模型库下载地址

下载每个算法介绍最下方的模型即可(以HMR算法的resnet50_hmr_pw3d.pth为例),所有模型都放到data/checkpoints目录下:

在这里插入图片描述
在这里插入图片描述

三.推理

因为在pc上部署的环境,导致没有足够大的硬盘空间存储数据集。所以只包括推理过程的使用方法,没有涉及训练及验证过程。训练需要下载npz文件作为数据集,可以参考这个:数据预处理

# 单人离线 : 可执行
python demo/estimate_smpl.py \
    configs/hmr/resnet50_hmr_pw3d.py \
    data/checkpoints/resnet50_hmr_pw3d-04f40f58_20211201.pth \
    --single_person_demo \
    --det_config demo/mmdetection_cfg/faster_rcnn_r50_fpn_coco.py \
    --det_checkpoint https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth \
    --input_path  demo/resources/single_person_demo.mp4 \
    --show_path vis_results/single_person_demo.mp4 \
    --output demo_result \
    --smooth_type savgol \
    --speed_up_type deciwatch \
    --draw_bbox

在这里插入图片描述

# 多人离线:可执行
python demo/estimate_smpl.py \
    configs/hmr/resnet50_hmr_pw3d.py \
    data/checkpoints/resnet50_hmr_pw3d-04f40f58_20211201.pth  \
    --multi_person_demo \
    --tracking_config demo/mmtracking_cfg/deepsort_faster-rcnn_fpn_4e_mot17-private-half.py \
    --input_path  demo/resources/multi_person_demo.mp4 \
    --show_path vis_results/multi_person_demo.mp4 \
    --smooth_type savgol \
    --speed_up_type deciwatch \
    --draw_bbox

在这里插入图片描述

# 在线:可执行
python demo/webcam_demo.py

在这里插入图片描述

参考链接

1.win10中CUDA cundnn pytorch环境搭建记录
2.在windows中安装Pytorch3D
3.ImportError: cannot import name ‘_C’ from ‘pytorch3d’
4.Windows10下面安装MMCV全过程图文详解
5.【OpenMMLab全家桶】Win10编译配置教程
6.呼吁移除pickle5
7.pickle5有何作用
8.其他作者fork的代码,但是mmhuman3d团队暂时没有归并到自己repo中
9.SMPL_FEMALE.pkl 和SMPL_MALE.pkl下载(需改名)
10.SMPL_NEUTRAL.pkl下载(直接下载)

猜你喜欢

转载自blog.csdn.net/weixin_44848751/article/details/132187243
今日推荐