- Download the datasets here and put them to
data/mesh/
. We use Human3.6M, COCO, and PW3D for training and testing. Descriptions of the joint regressors could be found in SPIN. - Download the SMPL model(
basicModel_neutral_lbs_10_207_0_v1.0.0.pkl
) from SMPLify, put it todata/mesh/
, and rename it asSMPL_NEUTRAL.pkl
Train from scratch:
# with 3DPW
python train_mesh.py \
--config configs/mesh/MB_train_pw3d.yaml \
--checkpoint checkpoint/mesh/MB_train_pw3d
# H36M
python train_mesh.py \
--config configs/mesh/MB_train_h36m.yaml \
--checkpoint checkpoint/mesh/MB_train_h36m
Finetune from a pretrained model:
# with 3DPW
python train_mesh.py \
--config configs/mesh/MB_ft_pw3d.yaml \
--pretrained checkpoint/pretrain/MB_release \
--checkpoint checkpoint/mesh/FT_MB_release_MB_ft_pw3d
# H36M
python train_mesh.py \
--config configs/mesh/MB_ft_h36m.yaml \
--pretrained checkpoint/pretrain/MB_release \
--checkpoint checkpoint/mesh/FT_MB_release_MB_ft_h36m
Evaluate:
# with 3DPW
python train_mesh.py \
--config configs/mesh/MB_train_pw3d.yaml \
--evaluate checkpoint/mesh/MB_train_pw3d/best_epoch.bin
# H36M
python train_mesh.py \
--config configs/mesh/MB_train_h36m.yaml \
--evaluate checkpoint/mesh/MB_train_h36m/best_epoch.bin