GithubHelp home page GithubHelp logo

satyaborg / pose-estimation-detection Goto Github PK

View Code? Open in Web Editor NEW
53.0 3.0 17.0 21.49 MB

Implementation of openpose with tensorflow & openCV for estimation of human poses & classification.

CMake 0.01% Shell 0.83% PureBasic 54.02% Python 27.40% C 2.71% C++ 9.27% Jupyter Notebook 5.39% Dockerfile 0.02% SWIG 0.01% Starlark 0.34%
mobilenet openpose pose-estimation image-classification tensorflow

pose-estimation-detection's Introduction

pose-estimation-detection

Pose estimation & detection has been minimally implemented using the OpenPose implementation https://github.com/ildoonet/tf-pose-estimation with Tensorflow. For the binary classification of poses, namely the classes : sitting or standing, the model used, MobileNet (a CNN originally trained on the ImageNet Large Visual Recognition Challenge dataset), was retrained (final layer) on a dataset of ~1500 images of poses.

The model is able to estimate the human poses as well as classify the current pose to a fairly good degree of accuracy.

Demo

An alternative for improving the model along with deep learning is to include heuristics, in the form of calculation of the skeletal points’ relative distances from each other.

FPS & estimation/detection varies with the CPU/GPU power.

Training Examples

  • For sitting pose alt text

  • For standing pose alt text

Dependencies

The following are required :

Cloning & installing dependencies

$ git clone https://github.com/SyBorg91/pose-estimation-detection
$ cd pose-estimation-detection
$ pip3 install -r requirements.txt

Pose Estimation with realtime webcam feed

$ python run_webcam.py --model=mobilenet_thin --resize=432x368 --camera=0

Run the above command to start pose estimation with the onboard webcam.

References

OpenPose

[1] https://github.com/CMU-Perceptual-Computing-Lab/openpose

[2] Training Codes : https://github.com/ZheC/Realtime_Multi-Person_Pose_Estimation

[3] Custom Caffe by Openpose : https://github.com/CMU-Perceptual-Computing-Lab/caffe_train

[4] Keras Openpose : https://github.com/michalfaber/keras_Realtime_Multi-Person_Pose_Estimation

[5] Keras Openpose2 : https://github.com/kevinlin311tw/keras-openpose-reproduce

Lifting from the deep

[1] Arxiv Paper : https://arxiv.org/abs/1701.00295

[2] https://github.com/DenisTome/Lifting-from-the-Deep-release

Mobilenet

[1] Original Paper : https://arxiv.org/abs/1704.04861

[2] Pretrained model (Pose estimation) : https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.md

[3] Retrained model (Pose detection) : https://codelabs.developers.google.com/codelabs/tensorflow-for-poets/

Libraries

[1] Tensorpack : https://github.com/ppwwyyxx/tensorpack

Tensorflow Tips

[1] Freeze graph : https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/freeze_graph.py

[2] Optimize graph : https://codelabs.developers.google.com/codelabs/tensorflow-for-poets-2

pose-estimation-detection's People

Contributors

dependabot[bot] avatar lordtt13 avatar satyaborg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pose-estimation-detection's Issues

Are Pose keypoints independent of pose classification?

Hello,

While looking through your code I got to know that you have used keypoints only to detect the skeleton and custom images trained using pretrained model to detect the poses.

You are not using the poses keypoints from open pose to classify the pose. Am I thinking right?

Training Final layer

Hello @satyaborg , I am looking at a similar project and I want to retrain a mobilenet model. How exactly do you specify that you are training the only final layer when using the code from ildoonet tf-pose-estimation? I fear I am training model from scratch but would only like to retrain from past model performance. Thank you!

mobile net version and size of data used

Hi @syborg91 ,

Thanks for sharing your interesting work! I wanted to ask what mobile net version you have used and what was the size of each image you have used for training and also you have specified that you have used 1500 images so how many of these images are training and testing data and what how many images in each class

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.