All Projects → Daniil-Osokin → Gccpm Look Into Person Cvpr19.pytorch

Daniil-Osokin / Gccpm Look Into Person Cvpr19.pytorch

Licence: apache-2.0
Fast and accurate single-person pose estimation, ranked 10th at CVPR'19 LIP challenge. Contains implementation of "Global Context for Convolutional Pose Machines" paper.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Gccpm Look Into Person Cvpr19.pytorch

FastPose
pytorch realtime multi person keypoint estimation
Stars: ✭ 36 (-73.72%)
Mutual labels:  real-time, human-pose-estimation, pose-estimation
Openpose
OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation
Stars: ✭ 22,892 (+16609.49%)
Mutual labels:  pose-estimation, human-pose-estimation, real-time
Lightweight Human Pose Estimation 3d Demo.pytorch
Real-time 3D multi-person pose estimation demo in PyTorch. OpenVINO backend can be used for fast inference on CPU.
Stars: ✭ 331 (+141.61%)
Mutual labels:  lightweight, human-pose-estimation, real-time
Lightweight Human Pose Estimation.pytorch
Fast and accurate human pose estimation in PyTorch. Contains implementation of "Real-time 2D Multi-Person Pose Estimation on CPU: Lightweight OpenPose" paper.
Stars: ✭ 958 (+599.27%)
Mutual labels:  lightweight, human-pose-estimation, real-time
Mobilepose Pytorch
Light-weight Single Person Pose Estimator
Stars: ✭ 427 (+211.68%)
Mutual labels:  lightweight, pose-estimation, real-time
Keras realtime multi Person pose estimation
Keras version of Realtime Multi-Person Pose Estimation project
Stars: ✭ 728 (+431.39%)
Mutual labels:  pose-estimation, human-pose-estimation, real-time
Openpose train
Training repository for OpenPose
Stars: ✭ 381 (+178.1%)
Mutual labels:  human-pose-estimation, real-time
Tf Pose Estimation
Deep Pose Estimation implemented using Tensorflow with Custom Architectures for fast inference.
Stars: ✭ 3,856 (+2714.6%)
Mutual labels:  pose-estimation, human-pose-estimation
Openpose unity plugin
OpenPose's Unity Plugin for Unity users
Stars: ✭ 446 (+225.55%)
Mutual labels:  human-pose-estimation, real-time
Trt pose
Real-time pose estimation accelerated with NVIDIA TensorRT
Stars: ✭ 525 (+283.21%)
Mutual labels:  human-pose-estimation, real-time
Alphapose
Real-Time and Accurate Full-Body Multi-Person Pose Estimation&Tracking System
Stars: ✭ 5,697 (+4058.39%)
Mutual labels:  pose-estimation, human-pose-estimation
Openpifpaf
Official implementation of "OpenPifPaf: Composite Fields for Semantic Keypoint Detection and Spatio-Temporal Association" in PyTorch.
Stars: ✭ 662 (+383.21%)
Mutual labels:  pose-estimation, human-pose-estimation
Pytorch Human Pose Estimation
Implementation of various human pose estimation models in pytorch on multiple datasets (MPII & COCO) along with pretrained models
Stars: ✭ 346 (+152.55%)
Mutual labels:  pose-estimation, human-pose-estimation
Poseestimationformobile
💃 Real-time single person pose estimation for Android and iOS.
Stars: ✭ 783 (+471.53%)
Mutual labels:  pose-estimation, human-pose-estimation
Poseflow
PoseFlow: Efficient Online Pose Tracking (BMVC'18)
Stars: ✭ 330 (+140.88%)
Mutual labels:  pose-estimation, real-time
Pose Residual Network Pytorch
Code for the Pose Residual Network introduced in 'MultiPoseNet: Fast Multi-Person Pose Estimation using Pose Residual Network' paper https://arxiv.org/abs/1807.04067
Stars: ✭ 277 (+102.19%)
Mutual labels:  pose-estimation, human-pose-estimation
Convolutional Pose Machines Tensorflow
Stars: ✭ 758 (+453.28%)
Mutual labels:  pose-estimation, human-pose-estimation
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 (-5.84%)
Mutual labels:  pose-estimation, human-pose-estimation
rmpe dataset server
Realtime Multi-Person Pose Estimation data server. Used as a training and validation data provider in training process.
Stars: ✭ 14 (-89.78%)
Mutual labels:  human-pose-estimation, pose-estimation
Lightweight Segmentation
Lightweight models for real-time semantic segmentation(include mobilenetv1-v3, shufflenetv1-v2, igcv3, efficientnet).
Stars: ✭ 261 (+90.51%)
Mutual labels:  lightweight, real-time

Global Context for Convolutional Pose Machines

This repository contains training code for the paper Global Context for Convolutional Pose Machines. This work improves original convolutional pose machine architecture for artculated human pose estimation in both accuracy and inference speed. On the Look Into Person (LIP) test set this code achives 87.9% PCKh for a single model, the 2-stage version of this network runs with more than 160 frames per second on a GPU and ~20 frames per second on a CPU. The result can be reproduced using this repository.

Requirements

  • Ubuntu 16.04
  • Python 3.6
  • PyTorch 0.4.1 (should also work with 1.+, but not tested)

Prerequisites

  1. Download the Look Into Person dataset and unpack it to <LIP_HOME> folder.
  2. Install requirements pip install -r requirements.txt

Training

  1. Download pre-trained MobileNet v1 weights mobilenet_sgd_68.848.pth.tar from: https://github.com/marvis/pytorch-mobilenet (sgd option). If this doesn't work, download from Google Drive.
  2. Run in terminal:
python train.py --dataset-folder <LIP_HOME> --checkpoint-path mobilenet_sgd_68.848.pth.tar --from-mobilenet

Validation

  1. Run in terminal:
python val.py --dataset-folder <LIP_HOME> --checkpoint-path <CHECKPOINT>

[OPTIONAL] Pass --visualize key to see predicted keypoints results.

[OPTIONAL] Use --multiscale and set flip to True for better results.

The final number on the test set was obtained with addition of validation data into training.

Pre-trained model

Conversion to OpenVINO format:

  1. Convert PyTorch model to ONNX format, run script in terminal:
python scripts/convert_to_onnx.py --checkpoint-path <CHECKPOINT> --single-person`

It produces human-pose-estimation.onnx.

  1. Convert ONNX model to OpenVINO format with Model Optimizer, run in terminal:
python <OpenVINO_INSTALL_DIR>/deployment_tools/model_optimizer/mo.py --input_model human-pose-estimation.onnx --input data --mean_values data[128.0,128.0,128.0] --scale_values data[256] --output stage_1_output_1_heatmaps

This produces model human-pose-estimation.xml and weights human-pose-estimation.bin in single-precision floating-point format (FP32).

Citation:

If this helps your research, please cite the papers:

@inproceedings{osokin2019global_context_cpm,
    author={Osokin, Daniil},
    title={Global Context for Convolutional Pose Machines},
    booktitle = {arXiv preprint arXiv:1906.04104},
    year = {2019}
}

@inproceedings{osokin2018lightweight_openpose,
    author={Osokin, Daniil},
    title={Real-time 2D Multi-Person Pose Estimation on CPU: Lightweight OpenPose},
    booktitle = {arXiv preprint arXiv:1811.12004},
    year = {2018}
}
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].