# Human Mesh Recovery ## Data 1. Download the datasets [here](https://1drv.ms/f/s!AvAdh0LSjEOlfy-hqlHxdVMZxWM) 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](https://github.com/nkolot/SPIN/tree/master/data). 2. Download the SMPL model(`basicModel_neutral_lbs_10_207_0_v1.0.0.pkl`) from [SMPLify](https://smplify.is.tue.mpg.de/), put it to `data/mesh/`, and rename it as `SMPL_NEUTRAL.pkl` ## Running **Train from scratch:** ```bash # 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:** ```bash # 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:** ```bash # 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 ```