All Projects → asanakoy → Deeppose_tf

asanakoy / Deeppose_tf

Licence: other
DeepPose implementation on TensorFlow. Original Paper http://arxiv.org/abs/1312.4659

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deeppose tf

Monet
MONeT framework for reducing memory consumption of DNN training
Stars: ✭ 126 (-6.67%)
Mutual labels:  deep-neural-networks
Condensa
Programmable Neural Network Compression
Stars: ✭ 129 (-4.44%)
Mutual labels:  deep-neural-networks
Aognet
Code for CVPR 2019 paper: " Learning Deep Compositional Grammatical Architectures for Visual Recognition"
Stars: ✭ 132 (-2.22%)
Mutual labels:  deep-neural-networks
Perceptualimageerror
A metric for Perceptual Image-Error Assessment through Pairwise Preference (PieAPP at CVPR 2018).
Stars: ✭ 126 (-6.67%)
Mutual labels:  deep-neural-networks
Aboleth
A bare-bones TensorFlow framework for Bayesian deep learning and Gaussian process approximation
Stars: ✭ 127 (-5.93%)
Mutual labels:  deep-neural-networks
Hdr Expandnet
Training and inference code for ExpandNet
Stars: ✭ 128 (-5.19%)
Mutual labels:  deep-neural-networks
Echo
Python package containing all custom layers used in Neural Networks (Compatible with PyTorch, TensorFlow and MegEngine)
Stars: ✭ 126 (-6.67%)
Mutual labels:  deep-neural-networks
Graffitist
Graph Transforms to Quantize and Retrain Deep Neural Nets in TensorFlow
Stars: ✭ 135 (+0%)
Mutual labels:  deep-neural-networks
Swa object detection
SWA Object Detection
Stars: ✭ 128 (-5.19%)
Mutual labels:  deep-neural-networks
Top 10 Computer Vision Papers 2020
A list of the top 10 computer vision papers in 2020 with video demos, articles, code and paper reference.
Stars: ✭ 132 (-2.22%)
Mutual labels:  deep-neural-networks
Simple Neural Network
Creating a simple neural network in Python with one input layer (3 inputs) and one output neuron.
Stars: ✭ 126 (-6.67%)
Mutual labels:  deep-neural-networks
Phantoscope
Open Source, Cloud Native, RESTful Search Engine Powered by Neural Networks
Stars: ✭ 127 (-5.93%)
Mutual labels:  deep-neural-networks
Labeld
LabelD is a quick and easy-to-use image annotation tool, built for academics, data scientists, and software engineers to enable single track or distributed image tagging. LabelD supports both localized, in-image (multi-)tagging, as well as image categorization.
Stars: ✭ 129 (-4.44%)
Mutual labels:  deep-neural-networks
Deep Learning For Time Series Forecasting
This repository is designed to teach you, step-by-step, how to develop deep learning methods for time series forecasting with concrete and executable examples in Python.
Stars: ✭ 125 (-7.41%)
Mutual labels:  deep-neural-networks
Algobook
A beginner-friendly project to help you in open-source contributions. Data Structures & Algorithms in various programming languages Please leave a star ⭐ to support this project! ✨
Stars: ✭ 132 (-2.22%)
Mutual labels:  deep-neural-networks
Dnnweaver2
Open Source Specialized Computing Stack for Accelerating Deep Neural Networks.
Stars: ✭ 125 (-7.41%)
Mutual labels:  deep-neural-networks
Reptile Pytorch
A PyTorch implementation of OpenAI's REPTILE algorithm
Stars: ✭ 129 (-4.44%)
Mutual labels:  deep-neural-networks
Robot Grasp Detection
Detecting robot grasping positions with deep neural networks. The model is trained on Cornell Grasping Dataset. This is an implementation mainly based on the paper 'Real-Time Grasp Detection Using Convolutional Neural Networks' from Redmon and Angelova.
Stars: ✭ 134 (-0.74%)
Mutual labels:  deep-neural-networks
Voice activity detection
Voice Activity Detection based on Deep Learning & TensorFlow
Stars: ✭ 132 (-2.22%)
Mutual labels:  deep-neural-networks
Netdef models
Repository for different network models related to flow/disparity (ECCV 18)
Stars: ✭ 130 (-3.7%)
Mutual labels:  deep-neural-networks

DeepPose (stg-1) on TensorFlow

NOTE: This is not an official implementation. Original paper is DeepPose: Human Pose Estimation via Deep Neural Networks.

This is implementation of DeepPose (stg-1).
Code includes training and testing on 2 popular Pose Benchmarks: LSP Extended Dataset and MPII Human Pose Dataset.

Performance of Alexnet pretrained on Imagenet and finetuned on LSP is close to the performance reported in the original paper.

Requirements

  • Python 2.7
    • TensorFlow r1.0
    • Chainer 1.17.0+ (for background data processing only)
    • numpy 1.12+
    • OpenCV 2.4.8+
    • tqdm 4.8.4+

For tensorflow version 0.11.0rc0 and 0.12.0rc0 checkout branch r0.12

RAM requirements

Requires around 10 Gb of free RAM.

Installation of dependencies

  1. Install TensorFlow
  2. Install other dependencies via pip.
    pip install chainer numpy opencv tqdm
  3. In scripts/config.py set ROOT_DIR to point to the root dir of the project.
  4. Download weights of alexnet pretrained on Imagenet bvlc_alexnet.tf and put them into weights/ dir.

Dataset preparation

cd datasets
bash download.sh
cd ..
python datasets/lsp_dataset.py
python datasets/mpii_dataset.py

Training

examples/ provide several scripts for training on LSP + LSP_EXT and MPII:

Example: bash examples/train_lsp_alexnet_scratch.sh

All these scripts call train.py.
To check which options it accepts and which default values are set, please look into cmd_options.py.

  • The network is trained with Adagrad optimizer and learning rate 0.0005 as specified in the paper.
  • For training we use cropped pearsons (not the full image).
  • To use your own network architecure set it accordingly in scripts/regressionnet.py in create_regression_net method.

The network wiil be tested during training and you will see the following output every T iterations:

8it [00:06,  1.31it/s]                                                                         
Step 0 test/pose_loss = 0.116
Step	 0	 test/mPCP	 0.005
Step 0 test/parts_PCP:
Head	Torso	U Arm	L Arm	U Leg	L Leg	mean
0.000	0.015	0.001	0.003	0.013	0.001	0.006
Step	 0	 test/mPCKh	 0.029
Step	 0	 test/mSymmetricPCKh	 0.026
Step 0 test/parts_mSymmetricPCKh:
Head	Neck	Shoulder	Elbow	Wrist	Hip	  Knee	Ankle
0.003	0.016	0.019	    0.043	0.044	0.028	0.053	0.003

Here you can see that PCP and PCKh scores at step (iteration) 0.
test/METRIC_NAME means that the metric was calculated on test set.
val/METRIC_NAME means that the metric was calculated on validation set. Just for sanity check on LSP I took the first 1000 images from train as validation.

pose_loss is the regression loss of the joint prediction,
mPCP is mean [email protected] score over all sticks,
parts_PCP is [email protected] score for every stick.
mRelaxedPCP is a relaxed [email protected] score, where the stick has a correct position when the average error for both joints is less than the threshold (0.5).
mPCKh is mean PCKh score for all joints,
mSymmetricPCKh is mean PCKh score for all joints, where the score for symmetric left/right joints was averaged,

Testing

To test the model use tests/test_snapshot.py.

  • The script will produce [email protected] and [email protected] scores applied on cropped pearsons.
  • Scores wiil be computed for different crops.
  • BBOX EXTENSION=1 means that the pearson was tightly cropped,
    BBOX EXTENSION=1.5 means that the bounding box of the person was enlarged in 1.5 times and then image was cropped.

Usage: python tests/test_snapshot.py DATASET_NAME SNAPSHOT_PATH,

  • where DATASET_NAME is 'lsp' or 'mpii',
  • SNAPSHOT_PATH is the path to the snapshot.

Example: python tests/test_snapshot.py lsp out/lsp_alexnet_scratch/checkpoint-10000

Results

Results for Random initialization and Alexnet initialization from our CVPR 2017 paper Deep Unsupervised Similarity Learning using Partially Ordered Sets. Check the paper for more results using our initialization and Shuffle&Learn initialization.

LSP [email protected]

Random Init. Alexnet
Torso 87.3 92.8
Upper legs 52.3 68.1
Lower legs 35.4 53.0
Upper arms 25.4 39.8
Lower arms 7.6 17.5
Head 44.0 62.8
Total 42.0 55.7

MPII [email protected]

Random Init. Alexnet
Head 79.5 87.2
Neck 87.1 93.2
LR Shoulder 71.6 85.2
LR Elbow 52.1 69.6
LR Wrist 34.6 52.0
LR Hip 64.1 81.3
LR Knee 58.3 69.7
LR Ankle 51.2 62.0
Thorax 85.5 93.4
Pelvis 70.1 86.6
Total 65.4 78.0

Notes

If you use this code please cite the repo.

License

GNU General Public License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].