All Projects → timctho → Convolutional Pose Machines Tensorflow

timctho / Convolutional Pose Machines Tensorflow

Licence: apache-2.0

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Convolutional Pose Machines Tensorflow

posture recognition
Posture recognition based on common camera
Stars: ✭ 91 (-87.99%)
Mutual labels:  human-pose-estimation, pose-estimation
Openpifpaf
Official implementation of "OpenPifPaf: Composite Fields for Semantic Keypoint Detection and Spatio-Temporal Association" in PyTorch.
Stars: ✭ 662 (-12.66%)
Mutual labels:  pose-estimation, human-pose-estimation
FastPose
pytorch realtime multi person keypoint estimation
Stars: ✭ 36 (-95.25%)
Mutual labels:  human-pose-estimation, pose-estimation
Openpose
OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation
Stars: ✭ 22,892 (+2920.05%)
Mutual labels:  pose-estimation, human-pose-estimation
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 (-63.46%)
Mutual labels:  pose-estimation, human-pose-estimation
Multiposenet.pytorch
pytorch implementation of MultiPoseNet (ECCV 2018, Muhammed Kocabas et al.)
Stars: ✭ 191 (-74.8%)
Mutual labels:  pose-estimation, human-pose-estimation
Keypoint Communities
[ICCV '21] In this repository you find the code to our paper "Keypoint Communities".
Stars: ✭ 255 (-66.36%)
Mutual labels:  human-pose-estimation, 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 (-82.98%)
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 (-98.15%)
Mutual labels:  human-pose-estimation, pose-estimation
openpifpaf
Official implementation of "OpenPifPaf: Composite Fields for Semantic Keypoint Detection and Spatio-Temporal Association" in PyTorch.
Stars: ✭ 900 (+18.73%)
Mutual labels:  human-pose-estimation, pose-estimation
Alphapose
Real-Time and Accurate Full-Body Multi-Person Pose Estimation&Tracking System
Stars: ✭ 5,697 (+651.58%)
Mutual labels:  pose-estimation, human-pose-estimation
Tf Pose Estimation
Deep Pose Estimation implemented using Tensorflow with Custom Architectures for fast inference.
Stars: ✭ 3,856 (+408.71%)
Mutual labels:  pose-estimation, human-pose-estimation
Awesome Human Pose Estimation
A collection of awesome resources in Human Pose estimation.
Stars: ✭ 2,022 (+166.75%)
Mutual labels:  pose-estimation, human-pose-estimation
Monoloco
[ICCV 2019] Official implementation of "MonoLoco: Monocular 3D Pedestrian Localization and Uncertainty Estimation" in PyTorch + Social Distancing
Stars: ✭ 242 (-68.07%)
Mutual labels:  pose-estimation, human-pose-estimation
Gccpm Look Into Person Cvpr19.pytorch
Fast and accurate single-person pose estimation, ranked 10th at CVPR'19 LIP challenge. Contains implementation of "Global Context for Convolutional Pose Machines" paper.
Stars: ✭ 137 (-81.93%)
Mutual labels:  pose-estimation, human-pose-estimation
kapao
KAPAO is an efficient single-stage human pose estimation model that detects keypoints and poses as objects and fuses the detections to predict human poses.
Stars: ✭ 604 (-20.32%)
Mutual labels:  human-pose-estimation, pose-estimation
Poseestimationformobile
💃 Real-time single person pose estimation for Android and iOS.
Stars: ✭ 783 (+3.3%)
Mutual labels:  pose-estimation, human-pose-estimation
Pytorch Pose
A PyTorch toolkit for 2D Human Pose Estimation.
Stars: ✭ 932 (+22.96%)
Mutual labels:  pose-estimation, human-pose-estimation
ICON
ICON: Implicit Clothed humans Obtained from Normals (CVPR 2022)
Stars: ✭ 641 (-15.44%)
Mutual labels:  human-pose-estimation, 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 (-54.35%)
Mutual labels:  pose-estimation, human-pose-estimation

Convolutional Pose Machines - Tensorflow

This is the Tensorflow implementation of Convolutional Pose Machines, one of the state-of-the-art models for 2D body and hand pose estimation.

Tracking support for single hand.

With some additional features:

  • Easy multi-stage graph construction
  • Kalman filters for smooth pose estimation
  • Simple self-tracking module

Environments

  • Windows 10 / Ubuntu 16.04
  • Tensorflow 1.4.0
  • OpenCV 3.2

How to start

Download models

Put downloaded models in the models/weights folder.

Run demo scripts

demo_cpm_body.py for body pose estimation and demo_cpm_hand.py for hand pose estimation. I take demo_cpm_hand.py for example.

First set the DEMO_TYPE. If you want to pass an image, then put the path to image here. If you want a live demo through a webcam, there are few options.

  • MULTI will show multiple stages output heatmaps and the final pose estimation simultaneously.
  • SINGLE will only show the final pose estimation.
  • HM will show each joint heatmap of last stage separately.

You can also use video files like .avi, .mp4, .flv.

The CPM structure assumes the body or hand you want to estimate is located in the middle of the frame. If you want to avoid that, one way is to add a detector at the begining, and feed the detected bounding box image into this model.

Run hand demo with tracker

Download tf-version hand pose model and execute run_demo_hand_with_tracker.py

Build your own model

Create dataset

See utils/create_cpm_tfr_fulljoints.py for an example. If you want to follow the script, you need to prepare your data like

  • dataset/person_0/imgs/
  • dataset/person_0/labels.txt

And in labels.txt, the data format is imgs_0.jpg bbox_top_left_y bbox_top_left_x bbox_bot_right_y bbox_bot_right_x joint_0_y joint_0_x joint_1_y joint_1_x ....

Original Training

See models/nets for model definition, I take models/nets/cpm_hand.py for example.

  • Create a model instance
  • Set how many stages you want the model to have (at least 2)
  • Call build_loss if you want to do the training
  • Use self.train_op to optimize the model

Please see run_training.py for an example.

Distillation Training

I implement a distillation training scheme, which is a teacher-student learning process. It suppose you already have a strong teacher network, and want to train a smaller student network that can perform like its teacher. See run_training_distillation.py for more details.

License

This project is licensed under the Apache 2.0 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].