https://github.com/satyaborg/pose-estimation-detection
Implementation of openpose with tensorflow & openCV for estimation of human poses & classification.
https://github.com/satyaborg/pose-estimation-detection
image-classification mobilenet openpose pose-estimation tensorflow
Last synced: 4 months ago
JSON representation
Implementation of openpose with tensorflow & openCV for estimation of human poses & classification.
- Host: GitHub
- URL: https://github.com/satyaborg/pose-estimation-detection
- Owner: satyaborg
- Created: 2018-07-19T08:05:42.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-27T15:36:54.000Z (over 3 years ago)
- Last Synced: 2023-03-08T23:01:47.227Z (over 3 years ago)
- Topics: image-classification, mobilenet, openpose, pose-estimation, tensorflow
- Language: PureBasic
- Homepage:
- Size: 21 MB
- Stars: 51
- Watchers: 3
- Forks: 17
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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

- For standing pose

### Dependencies
The following are required :
- python3
- tensorflow 1.9.0 (works well even with CPU version)
- opencv3
- slim
- slidingwindow
- https://github.com/adamrehn/slidingwindow
### Cloning & installing dependencies
```bash
$ 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