This notebook is largely based on the model implementation of OpenPose(C) by Kunal Bhashkar (bhashkar.brand@gmail.com) available at: https://github.com/kunalBhashkar/OpenPose-Pose-Estimation. OpenPose is the first open-source realtime system for multi-person 2D pose detection, including body, foot, hand, and facial keypoints, by Cao et al. (2018). The multi-stage CNN neural network architecture first encodes human body part-to-part association, then compute confidence maps. Its input are the feature maps of images obtained from the first 10 layers of VGG-19 fine-tuned.
See: Zhe Cao, Gines Hidalgo, Tomas Simon, Shih-En Wei, Yaser Sheikh, "Computer Vision and Pattern Recognition," arXiv:1812.08008 [cs.CV] (Dec. 2018).
Software requirements: Beside the Openpose model, this notebook was successfully built in a Python 3.7.0 virtual environment based on custon iPython kernel, and on the following packages:
- Tensorflow
- Pytorch
- OpenCV
- CUDA (Nvidia GPU)
- OpenCL (AMD GPU)
- non-GPU (CPU-only)
- Command-line demo for built-in functionality.
- C++ API and Python API for custom functionality. E.g., adding your custom inputs, pre-processing, post-posprocessing, and output steps.
To run the notebook code, first consolidate the 5 Models/Coco/*.caffemodel_split0{0,1,2,3,4} files and 2 Models/yoga-asana-classifier.ckpt_split0{0,1} files, issuing the following cmd in terminal from the same directory level where the split file chunks are located:
$ cat *.caffemodel_split0{0,1,2,3,4} >| pose_iter_440000.caffemodel
$ cat yoga-asana-classifier.ckpt_split0[0,1] >| yoga-asana-classifier.ckpt
For further details, check the major released features and release notes docs.
OpenPose is freely available for free non-commercial use, and may be redistributed under the conditions described in the licensing terms as represented in the accompanyig file License.md in this repo.