Shih-En Wei, Varun Ramakrishna, Takeo Kanade, Yaser Sheikh, "Convolutional Pose Machines", CVPR 2016.
This project is licensed under the terms of the GPL v2 license. By using the software, you are agreeing to the terms of the license agreement.
Contact: shihenw@cmu.edu.
- Watch some videos.
- Install Caffe. If you are interested in training this model on your own machines, consider using our version with a data layer performing online augmentation. Make sure you have done
make matcaffe
andmake pycaffe
. - Copy
caffePath.cfg.example
tocaffePath.cfg
and set your own path in it.
This demo file shows how to detect multiple people's poses as we demonstrated in CVPR'16. For real-time performance, please read it for further explanation.
- Run
testing/get_model.sh
to retreive trained models from our web server. -
CPM_demo.m
: Put the testing image intosample_image
then run it! You can select models (we provided 4) or other parameters inconfig.m
. If you just want to try our best-scoring model, leave them default.
-
CPM_benchmark.m
: Run the model on test benchmark and see the scores. Prediction files will be saved intesting/predicts
.
- Run
get_data.sh
to get datasets including FLIC Dataset, LEEDS Sport Dataset and its extended training set, and MPII Dataset. - Run
genJSON(<dataset_name>)
to generate a json file intraining/json/
folder. Dataset name can beMPI
,LEEDS
, orFLIC
. The json files contain raw informations needed for training from each individual dataset. - Run
python genLMDB.py
to generate LMDBs for CPM data layer in our caffe. Change the main function to select dataset, and note that you can generate a LMDB with multiple datasets. - Run
python genProto.py
to get prototxt for caffe. Read further explanation for layer parameters. - Train with generated prototxts and collect caffemodels.
Please cite CPM in your publications if it helps your research:
@inproceedings{wei2016cpm,
author = {Shih-En Wei and Varun Ramakrishna and Takeo Kanade and Yaser Sheikh},
booktitle = {CVPR},
title = {Convolutional pose machines},
year = {2016}
}