Home

Awesome

A simple yet effective baseline for 3D human pose estimation

My own Gluon reimplement of A simple yet effective baseline for 3D human pose estimation</br> Here is the original implementation</br>

Todo:

Enviroments

python 3.7</br> mxnet-cu90 1.4.0</br> CUDA 9.0

Dependency

pip install pyyaml
pip install scipy
pip install matplotlib
pip install easydict

Dataset

  1. Baidu Disk (code: kfsm) or Google Drive to download the HM3.6M annotation
  2. Unzip data under data folder, and organize like this
${PROJECT_ROOT}
    `--data
        `--annot
            `--s_01_act_02_subact_01_ca_01
            `--s_01_act_02_subact_01_ca_02
            `-- ......
            `-- ......
            `-- ......
            `--s_11_act_16_subact_02_ca_04            

How-to-use

You can download my trained model from Google Drive, which MPJPE is 44.9mm.

usage: train.py/test.py [-h] --gpu GPU --root ROOT --dataset DATASET [--model MODEL]
                        [--debug DEBUG]

optional arguments:
  -h, --help         show this help message and exit
  --gpu GPU          GPUs to use, e.g. 0,1,2,3
  --root ROOT        /path/to/project/root/
  --dataset DATASET  /path/to/your/dataset/root/
  --model MODEL      /path/to/your/model/, to specify only when test
  --debug DEBUG      debug mode

Train: python train.py --root /project-root --gpu /gpu-to-use </br>

Test: python test.py --root /project-root --gpu /gpu-to-use --model /model-path </br>

PS: You can modify default configurations in config.py. Because it's a quite simple system, not many hyperparameters need to be tuned.

Results

Since I don't have 2D pose estimate results on HM3.6M, I just experiment with 2D ground truth as input. My best result is 44.9mm(no augment is used), slightly better than 45.5mm reported by paper.</br>

MethodAvgDirectDiscussEatingGreetPhonePhotoPosePurchSittingSittingDSmokeWaitWaitDWalkWalkT
My Result44.936.843.540.543.046.254.740.043.652.959.744.244.545.034.637.3
Paper45.537.744.440.342.148.254.944.442.154.658.045.146.447.636.440.4

Figure1

Figure2

Figure3