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
- cudnn
- PyTorch
- Python with h5py, opencv and progress
- Optional: tensorboard
- 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.
-
Prepare the training data:
- Download our pre-processed Human3.6M dataset here.
- Run
python GetH36M.py
insrc/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 -regWeight 0.1 -loadModel ../exp/Stage1/model_60.pth -nEpochs 30 -dropLR 25
- Stage3: Train with Geometry loss
python main.py -expID Stage3 -ratio3D 1 -regWeight 0.1 -varWeight 0.01 -loadModel ../exp/Stage2/model_30.pth -LR 2.5e-5 -nEpochs 10
@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}
}