由于毕业设计中将会用到smpl模型,而smplify方法的各环境依赖版本比较老,复现不太容易,因此便进行了smplifyx方法使用smplx的方法。由于在过程中遇到较多坑,因此进行记录和分享。
环境:ubuntu20.0
a、首先根据requirements进行安装,对于其中安装失败的库,可先注释掉,后面再单独进行安装,如下:
numpy>=1.16.2 #1.21.0
#torch>=1.0.1.post2 #1.11.0
torchgeometry>=0.1.2
PyYAML==5.1.1
configargparse
smplx
pillow
opencv-python
tqdm
-e git+https://github.com/nghorbani/human_body_prior#egg=human_body_prior
注:笔者所使用的版本均在后面标注,其中human_body_prior建议注释掉,因为该网址下的版本已经进行了更新,不适用本代码。故不要使用这个方法安装。
b、人体先验模块:human_body_prior的安装
下载地址:【nghorbani/human_body_prior at cvpr19 (github.com)】
解压后放于smplifyx文件夹下,如图:
*****************
c、[smpl-x]denpendency的安装
下载地址:https://github.com/vchoutas/smplx
解压后得到smplx-master和smplifyx放在平行目录中,如图:
***************************
之后根据其中的readme一直到步骤downloading the model
d、smplx模型和Vposer的下载
下载地址:https://smpl-x.is.tue.mpg.de/download.php
vposer下载后,将其解压至smplifyx同级目录下,如图:
********************************
a、四个模型的下载地址在smplx-master的readme中均有对应地址,需要注意的是均须register后才可下载;
b、新建models文件夹用于放置模型,如图:
*********************************
a、下载EHF数据集,地址和Vposer一个
b、在data文件夹中新建文件夹images和keypoints,并从EHF文件放进去,如图:
(记得该名字,不然出现报错:FileNotFoundError: [Errno 2] No such file or directory: 'data/keypoints/08_img_keypoints.json'
)
a、python smplifyx/main.py --config cfg_files/fit_smplx.yaml
运行过程:
输出结果存储在smplx_debug中,如图:(.obj文件即为模型文件)
b、输出可视化:python smplifyx/render_results.py --mesh_fns OUTPUT_MESH_FOLDER
(ps.在此可能出现由于一些版本的问题导致报错,在参考博客中有解释)
如图:
可以看到输出略为瘦高,可能和预设参数有一定关系,将在后面继续学习……
参考博客:(12条消息) smplify-x 复现记录_xxw23的博客-CSDN博客