official doc of smplifyx & smplx
Environment:ubuntu1804 anaconda python3.7 CUDA11.1
conda create -n simplx python==3.7
conda activate smplx
pip install smplx[all]
git clone https://github.com/vchoutas/smplx
python setup.py install
Have to install for source code:
human-body-prior 2.1.2.0 (just download the default[master] branch)
pip instal -r requirements.txt
python setup.py develop
git不下可以切代理,然后再注释git源码,再来安装包
按照smplx要求下载相应模型,
models
├── smpl
│ ├── SMPL_FEMALE.pkl
│ └── SMPL_MALE.pkl
│ └── SMPL_NEUTRAL.pkl
├── smplh
│ ├── SMPLH_FEMALE.pkl
│ └── SMPLH_MALE.pkl
├── mano
| ├── MANO_RIGHT.pkl
| └── MANO_LEFT.pkl
└── **smplx**
├── SMPLX_FEMALE.npz
├── SMPLX_FEMALE.pkl
├── SMPLX_MALE.npz
├── SMPLX_MALE.pkl
├── SMPLX_NEUTRAL.npz
└── SMPLX_NEUTRAL.pkl
smplx地址(需要注册后下载,下载速度很慢。。)
VPoser: Variational Human Pose Prior
下载v2.0
将VPoser解压到工程目录
mesh_intersection (fail but optional, that’s ok)
基于你的文件目录修改cfg或者将文件目录改为与cfg一致
参考cfg
#fit_smplx.yaml
dataset: 'openpose'
joints_to_ign:
- 1
- 9
- 12
data_folder: "data"
output_folder: 'smplx_debug'
prior_folder: 'priors'
model_folder: 'models'
result_folder: 'results'
gender: "neutral"
model_type: 'smplx'
# Flag for using the GPU
use_cuda: True
float_dtype: "float32"
use_joints_conf: True
use_pca: True
use_hands: True
use_face: True
flat_hand_mean: False
# The number of mixture components for the pose prior
num_gaussians: 8
body_prior_type: 'l2'
left_hand_prior_type: l2
right_hand_prior_type: l2
jaw_prior_type: 'l2'
focal_length: 5000
num_pca_comps: 12
# The constant for the robust loss function
rho: 100
interpenetration: False
df_cone_height: 0.0001
# Upper arms and Spine 2
# Neck and jaw
ign_part_pairs: ["9,16", "9,17", "6,16", "6,17", "1,2", "12,22"]
penalize_outside: True
max_collisions: 128
# LBFGS with line search
optim_type: 'lbfgsls'
ftol: 1e-9
gtol: 1e-9
lr: 1.0
# Max number of optimization iterations
maxiters: 30
interactive: True
visualize: False
# Relative change in loss value
body_pose_prior_weights:
- 4.04e2
- 4.04e2
- 57.4e0
- 4.78e0
- 4.78e0
coll_loss_weights:
- 0.0
- 0.0
- 0.0
- 0.01
- 1.0
shape_weights:
- 1.0e2
- 5.0e1
- 1.0e1
- 0.5e1
- 0.5e1
expr_weights:
- 1.0e2
- 5.0e1
- 1.0e1
- 0.5e1
- 0.5e1
hand_pose_prior_weights:
- 4.04e2
- 4.04e2
- 57.4
- 4.78
- 4.78
jaw_pose_prior_weights:
# First phase
- 4.04e03,4.04e04,4.04e04
# Second phase
- 4.04e03,4.04e04,4.04e04
# Third phase
- 574,5740,5740
# Fourth phase
- 47.8,478,478
# Fifth phase
- 47.8,478,478
hand_joints_weights:
- 0.0
- 0.0
- 0.0
- 0.1
- 2.0
face_joints_weights:
- 0.0
- 0.0
- 0.0
- 0.0
- 2.0
use_vposer: True
vposer_ckpt: "V02_05"
# step 1 - change
# old version
# body_pose = vposer.decode(pose_embedding, output_type='aa').view(1, -1) if use_vposer else None
# new version
body_pose = (vposer.decode(pose_embedding).get( 'pose_body')).reshape(1, -1) if use_vposer else None
# step 2 - add
from human_body_prior.tools.model_loader import load_model
from human_body_prior.models.vposer_model import VPoser
# step 3 - change
# old version
# vposer, _ = load_vposer(vposer_ckpt, vp_model='snapshot')
# new version
vposer, _ = load_model(vposer_ckpt, model_code=VPoser, remove_words_in_model_weights='vp_model.', disable_grad=True)
pip3 install torch==1.10.2+cu113 torchvision==0.11.3+cu113 torchaudio==0.10.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
pip3 install torch==1.10.2+cu113 torchvision==0.11.3+cu113 torchaudio==0.10.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
将TR00_E096.pt后缀改为.ckpt
cp TR00_E096.pt ./TR00_E096.ckpt
Solution:
# for linux version
model_ps_fname = glob.glob(osp.join('/'.join(trained_weigths_fname.split('/')[:-2]), '*.yaml'))
# for windows version
# model_ps_fname = glob.glob(osp.join('/'.join(trained_weigths_fname.split('\\')[:-2]), '*.yaml'))
ModuleNotFoundError: No module named 'mesh_intersection'
Solution:
Set interpenetration: False in fix_smplx.yaml. I have searched the Internet for some time, however, currently I don’t find a suitable way to install mesh_intersection in ubuntu1804 & CUDA11.1.
默认配置文件改为fit_smplx.yaml
#cmd_parser.py line:42
parser.add_argument(‘-c’, ‘–config’,default=‘cfg_files/fit_smplx.yaml’,
required=False, is_config_file=True,
help=‘config file path’)
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' |
‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" |
“Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash |
– is en-dash, — is em-dash |
一个具有注脚的文本。1
Markdown将文本转换为 HTML。
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
我们依旧会支持flowchart的流程图:
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ↩︎