Jeff-sjtu / res-loglikelihood-regression

Code for "Human Pose Regression with Residual Log-likelihood Estimation", ICCV 2021 Oral
422 stars 43 forks source link
2d-human-pose 3d-human-pose human-pose-estimation iccv iccv2021 pytorch regression

Human Pose Regression with Residual Log-likelihood Estimation

[Paper] [arXiv] [Project Page]

Human Pose Regression with Residual Log-likelihood Estimation
Jiefeng Li, Siyuan Bian, Ailing Zeng, Can Wang, Bo Pang, Wentao Liu, Cewu Lu
ICCV 2021 Oral


Regression with Residual Log-likelihood Estimation

TODO

Installation

  1. Install pytorch >= 1.1.0 following official instruction.
  2. Install rlepose:
    pip install cython
    python setup.py develop
  3. Install COCOAPI.
    pip install -U 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
  4. Init data directory:
    mkdir data
  5. Download COCO data, MPII (annotations) and Human3.6M data (from PoseNet or ours):
    |-- data
    `-- |-- coco
    |   |-- annotations
    |   |   |-- person_keypoints_train2017.json
    |   |   `-- person_keypoints_val2017.json
    |   `-- images
    |       |-- train2017
    |       |   |-- 000000000009.jpg
    |       |   |-- 000000000025.jpg
    |       |   |-- 000000000030.jpg
    |       |   |-- ... 
    |       `-- val2017
    |           |-- 000000000139.jpg
    |           |-- 000000000285.jpg
    |           |-- 000000000632.jpg
    |           |-- ... 
    |-- mpii
    |   |-- annotations
    |   |   `-- annot_mpii.json
    |   `-- images
            |-- 000001163.jpg
            |-- 000003072.jpg
            |-- 000004812.jpg
            |--- ...
    |-- h36m
    `-- |-- annotations
        |   |-- Sample_trainmin_train_Human36M_protocol_2.json
        |   `-- Sample_64_test_Human36M_protocol_2.json
        `-- images
            |-- s_01_act_02_subact_01_ca_01
            |   |-- ...
            |-- s_01_act_02_subact_01_ca_02
            |   |-- ...
            `-- ... 

    Training

Train on MSCOCO

./scripts/train.sh ./configs/256x192_res50_regress-flow.yaml train_rle_coco

Train on Human3.6M

./scripts/train.sh ./configs/256x192_res50_3d_h36mmpii-flow.yaml train_rle_h36m

Evaluation

Validate on MSCOCO

Download the pretrained model from Google Drive.

./scripts/validate.sh ./configs/256x192_res50_regress-flow.yaml ./coco-laplace-rle.pth

Validate on Human3.6M

Download the pretrained model from Google Drive.

./scripts/validate.sh ./configs/256x192_res50_3d_h36mmpii-flow.yaml ./h36m-laplace-rle.pth

Citing

If our code helps your research, please consider citing the following paper:

@inproceedings{li2021human,
    title={Human Pose Regression with Residual Log-likelihood Estimation},
    author={Li, Jiefeng and Bian, Siyuan and Zeng, Ailing and Wang, Can and Pang, Bo and Liu, Wentao and Lu, Cewu},
    booktitle={ICCV},
    year={2021}
}