All Projects → octiapp → Keraspersonlab

octiapp / Keraspersonlab

Licence: mit
Keras-tensorflow implementation of PersonLab (https://arxiv.org/abs/1803.08225)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Keraspersonlab

Tfvos
Semi-Supervised Video Object Segmentation (VOS) with Tensorflow. Includes implementation of *MaskRNN: Instance Level Video Object Segmentation (NIPS 2017)* as part of the NIPS Paper Implementation Challenge.
Stars: ✭ 151 (-7.36%)
Mutual labels:  jupyter-notebook, segmentation, instance-segmentation
Tfwss
Weakly Supervised Segmentation with Tensorflow. Implements instance segmentation as described in Simple Does It: Weakly Supervised Instance and Semantic Segmentation, by Khoreva et al. (CVPR 2017).
Stars: ✭ 212 (+30.06%)
Mutual labels:  jupyter-notebook, segmentation, instance-segmentation
Fcn.tensorflow
Tensorflow implementation of Fully Convolutional Networks for Semantic Segmentation (http://fcn.berkeleyvision.org)
Stars: ✭ 1,230 (+654.6%)
Mutual labels:  jupyter-notebook, segmentation
3dunet abdomen cascade
Stars: ✭ 91 (-44.17%)
Mutual labels:  jupyter-notebook, segmentation
Metrabs
This is a computer vision algorithm that takes a single RGB image as the input and estimates 3D human poses as the output.
Stars: ✭ 123 (-24.54%)
Mutual labels:  jupyter-notebook, human-pose-estimation
Multiclass Semantic Segmentation Camvid
Tensorflow 2 implementation of complete pipeline for multiclass image semantic segmentation using UNet, SegNet and FCN32 architectures on Cambridge-driving Labeled Video Database (CamVid) dataset.
Stars: ✭ 67 (-58.9%)
Mutual labels:  jupyter-notebook, segmentation
Mit Deep Learning
Tutorials, assignments, and competitions for MIT Deep Learning related courses.
Stars: ✭ 8,912 (+5367.48%)
Mutual labels:  jupyter-notebook, segmentation
Dstl unet
Dstl Satellite Imagery Feature Detection
Stars: ✭ 117 (-28.22%)
Mutual labels:  jupyter-notebook, segmentation
Pytorch connectomics
PyTorch Connectomics: segmentation toolbox for EM connectomics
Stars: ✭ 46 (-71.78%)
Mutual labels:  jupyter-notebook, segmentation
Copy Paste Aug
Copy-paste augmentation for segmentation and detection tasks
Stars: ✭ 132 (-19.02%)
Mutual labels:  jupyter-notebook, instance-segmentation
Pytorch Pose Estimation
PyTorch Implementation of Realtime Multi-Person Pose Estimation project.
Stars: ✭ 152 (-6.75%)
Mutual labels:  jupyter-notebook, human-pose-estimation
Relaynet pytorch
Pytorch Implementation of retinal OCT Layer Segmentation (with trained models)
Stars: ✭ 63 (-61.35%)
Mutual labels:  jupyter-notebook, segmentation
Data Science Bowl 2018
End-to-end one-class instance segmentation based on U-Net architecture for Data Science Bowl 2018 in Kaggle
Stars: ✭ 56 (-65.64%)
Mutual labels:  segmentation, instance-segmentation
Seg By Interaction
Unsupervised instance segmentation via active robot interaction
Stars: ✭ 78 (-52.15%)
Mutual labels:  segmentation, instance-segmentation
Avgn
A generative network for animal vocalizations. For dimensionality reduction, sequencing, clustering, corpus-building, and generating novel 'stimulus spaces'. All with notebook examples using freely available datasets.
Stars: ✭ 50 (-69.33%)
Mutual labels:  jupyter-notebook, segmentation
Personlab Tf
implementation of PersonLab(https://arxiv.org/abs/1803.08225) using TF-slim
Stars: ✭ 103 (-36.81%)
Mutual labels:  jupyter-notebook, human-pose-estimation
Severstal Steel Defect Detection
Kaggle Segmentation Challenge
Stars: ✭ 160 (-1.84%)
Mutual labels:  jupyter-notebook, segmentation
Keras realtime multi Person pose estimation
Keras version of Realtime Multi-Person Pose Estimation project
Stars: ✭ 728 (+346.63%)
Mutual labels:  jupyter-notebook, human-pose-estimation
Deeplabv3 Plus
Tensorflow 2.3.0 implementation of DeepLabV3-Plus
Stars: ✭ 32 (-80.37%)
Mutual labels:  jupyter-notebook, segmentation
Tensorflow realtime multi Person pose estimation
Multi-Person Pose Estimation project for Tensorflow 2.0 with a small and fast model based on MobilenetV3
Stars: ✭ 129 (-20.86%)
Mutual labels:  jupyter-notebook, human-pose-estimation

PersonLab

This is a Keras implementation of PersonLab for Multi-Person Pose Estimation and Instance Segmentation. The model predicts heatmaps and various offsets which allow for computation of joint locations and connections as well as pixel instance ids. See the paper for more details.

Training a model

If you want to use Resnet101 as the base, first download the imagenet initialization weights from here and copy it to your ~/.keras/models/ directory. (Over 100MB files cannot be hosted on github.)

First, construct the dataset in the correct format by running the generate_hdf5.py script. Before running, just set the ANNO_FILE and IMG_DIR constants at the top of the script to the paths to the COCO person_keypoints annotation file and the image folder respectively.

Edit the config.py to set options for training, e.g. input resolution, number of GPUs, whether to freeze the batchnorm weights, etc. More advanced options require altering the train.py script. For example, changing the base network can be done by adding an argument to the get_personlab() function, see the documentation there.

After eveything is configured to your liking, go ahead and run the train.py script.

Testing a model

See the demo.ipynb for sample inference and visualizations.

Technical Debts

Several parts of this codebase are borrowed from others. These include:

  • The Resnet-101 in Keras

  • The augmentation code (which is different from the procedure in the PersonLab paper) and data iterator code is heavily borrowed from this fork of the Keras implementation of CMU's "Realtime Multi-Person Pose Estimation". (The pose plotting function is also influenced by the one in that repo.)

  • The Polyak Averaging callback is just a lightly modified version of the EMA callback from here

Environment

This code was tested in the following environment and with the following software versions:

  • Ubuntu 16.04
  • CUDA 8.0 with cudNN 6.0
  • Python 2.7
  • Tensorflow 1.7
  • Keras 2.1.3
  • OpenCV 2.4.9
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].