/pytorch-pose-hg-3d

PyTorch implementation for 3D human pose estimation

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Towards 3D Human Pose Estimation in the Wild: a Weakly-supervised Approach

This repository is the PyTorch implementation for the network presented in:

Xingyi Zhou, Qixing Huang, Xiao Sun, Xiangyang Xue, Yichen Wei, Towards 3D Human Pose Estimation in the Wild: a Weakly-supervised Approach ICCV 2017 (arXiv:1704.02447)

Checkout the original torch implementation.

Checkout the clean 2D hourglass network branch.

Contact: zhouxy2017@gmail.com

Requirements

Testing

  • Download our pre-trained model and move it to models.
  • Run python demo.py -demo /path/to/image [-loadModel /path/to/image].

We provide example images in images/. For testing your own image, it is important that the person should be at the center of the image and most of the body parts should be within the image.

Training

  • Prepare the training data:

    • Download our pre-processed Human3.6M dataset here.
    • Run python GetH36M.py in src/tools/ to convert H36M annotations to hdf5 format.
    • Modify src/ref.py to setup the dataset path.
  • Stage1: Train the 2D hourglass component for 60 epochs

python main.py -expID Stage1

Our results of this stage is provided here.

  • Stage2: Train without Geometry loss (drop LR at 25 epochs)
python main.py -expID Stage2 -ratio3D 1 -regWeigh 0.1 -loadModel ../exp/Stage1/model_60.pth -nEpochs 30 -dropLR 25
  • Stage3: Train with Geometry loss
python main.py -expID Stage3 -ratio3D 1 -regWeigh 0.1 -varWeight 0.01 -loadModel ../exp/Stage2/model_30.pth -LR 2.5e-5 -nEpochs 10

Citation

@InProceedings{Zhou_2017_ICCV,
author = {Zhou, Xingyi and Huang, Qixing and Sun, Xiao and Xue, Xiangyang and Wei, Yichen},
title = {Towards 3D Human Pose Estimation in the Wild: A Weakly-Supervised Approach},
booktitle = {The IEEE International Conference on Computer Vision (ICCV)},
month = {Oct},
year = {2017}
}