Realtime_Multi-Person_Pose_Estimation

by ZheC

Code repo for realtime multi-person pose estimation in CVPR'17 (Oral)

4.5K Stars 1.3K Forks Last release: Not found Other 162 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Realtime Multi-Person Pose Estimation

By Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh.

Introduction

Code repo for winning 2016 MSCOCO Keypoints Challenge, 2016 ECCV Best Demo Award, and 2017 CVPR Oral paper.

Watch our video result in YouTube or our website.

We present a bottom-up approach for realtime multi-person pose estimation, without using any person detector. For more details, refer to our CVPR'17 paper, our oral presentation video recording at CVPR 2017 or our presentation slides at ILSVRC and COCO workshop 2016.

This project is licensed under the terms of the license.

Other Implementations

Thank you all for the efforts for the reimplementation! If you have new implementation and want to share with others, feel free to make a pull request or email me! - Our new C++ library OpenPose (testing only) - Tensorflow [version 1] | [version 2] | [version 3] | [version 4] | [version 5] | [version 6] | [version 7 - TF2.1] - Pytorch [version 1] | [version 2] | [version 3] - Caffe2 [version 1] - Chainer [version 1] - MXnet [version 1] - MatConvnet [version 1] - CNTK [version 1]

Contents

  1. Testing
  2. Training
  3. Citation

Testing

C++ (realtime version, for demo purpose)

  • Please use OpenPose, now it can run in CPU/ GPU and windows /Ubuntu.
  • Three input options: images, video, webcam

Matlab (slower, for COCO evaluation)

  • Compatible with general Caffe. Compile matcaffe.
  • Run
    cd testing; get_model.sh
    to retrieve our latest MSCOCO model from our web server.
  • Change the caffepath in the
    config.m
    and run
    demo.m
    for an example usage.

Python

  • cd testing/python
  • ipython notebook
  • Open
    demo.ipynb
    and execute the code

Training

Network Architecture

Teaser?

Training Steps

  • Run
    cd training; bash getData.sh
    to obtain the COCO images in
    dataset/COCO/images/
    , keypoints annotations in
    dataset/COCO/annotations/
    and COCO official toolbox in
    dataset/COCO/coco/
    .
  • Run
    getANNO.m
    in matlab to convert the annotation format from json to mat in
    dataset/COCO/mat/
    .
  • Run
    genCOCOMask.m
    in matlab to obatin the mask images for unlabeled person. You can use 'parfor' in matlab to speed up the code.
  • Run
    genJSON('COCO')
    to generate a json file in
    dataset/COCO/json/
    folder. The json files contain raw informations needed for training.
  • Run
    python genLMDB.py
    to generate your LMDB. (You can also download our LMDB for the COCO dataset (189GB file) by:
    bash get_lmdb.sh
    )
  • Download our modified caffe: caffe_train. Compile pycaffe. It will be merged with caffe_rtpose (for testing) soon.
  • Run
    python setLayers.py --exp 1
    to generate the prototxt and shell file for training.
  • Download VGG-19 model, we use it to initialize the first 10 layers for training.
  • Run
    bash train_pose.sh 0,1
    (generated by setLayers.py) to start the training with two gpus.

Citation

Please cite the paper in your publications if it helps your research:

@inproceedings{cao2017realtime,
  author = {Zhe Cao and Tomas Simon and Shih-En Wei and Yaser Sheikh},
  booktitle = {CVPR},
  title = {Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields},
  year = {2017}
  }

@inproceedings{wei2016cpm, author = {Shih-En Wei and Varun Ramakrishna and Takeo Kanade and Yaser Sheikh}, booktitle = {CVPR}, title = {Convolutional pose machines}, year = {2016} }

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.