All Projects → fenglinglwb → MSPN

fenglinglwb / MSPN

Licence: other
Multi-Stage Pose Network

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to MSPN

Openpose
OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation
Stars: ✭ 22,892 (+57130%)
Mutual labels:  pose-estimation, pose
MSPN
Multi-Stage Pose Network
Stars: ✭ 321 (+702.5%)
Mutual labels:  pose-estimation, pose
cvxpnpl
A Perspective-n-Points-and-Lines method.
Stars: ✭ 56 (+40%)
Mutual labels:  pose-estimation, pose
Res2Net-Pose-Estimation
Res2Net for Pose Estimation using Simple Baselines as the baseline
Stars: ✭ 35 (-12.5%)
Mutual labels:  pose-estimation, pose
Openpose-based-GUI-for-Realtime-Pose-Estimate-and-Action-Recognition
GUI based on the python api of openpose in windows using cuda10 and cudnn7. Support body , hand, face keypoints estimation and data saving. Realtime gesture recognition is realized through two-layer neural network based on the skeleton collected from the gui.
Stars: ✭ 69 (+72.5%)
Mutual labels:  pose-estimation
awesome-visual-localization-papers
The relocalization task aims to estimate the 6-DoF pose of a novel (unseen) frame in the coordinate system given by the prior model of the world.
Stars: ✭ 60 (+50%)
Mutual labels:  pose-estimation
UniFormer
[ICLR2022] official implementation of UniFormer
Stars: ✭ 574 (+1335%)
Mutual labels:  pose-estimation
3DObjectTracking
Official Code: A Sparse Gaussian Approach to Region-Based 6DoF Object Tracking
Stars: ✭ 375 (+837.5%)
Mutual labels:  pose-estimation
poseviz
3D Human Pose Visualizer for Python
Stars: ✭ 68 (+70%)
Mutual labels:  pose-estimation
latent-pose-reenactment
The authors' implementation of the "Neural Head Reenactment with Latent Pose Descriptors" (CVPR 2020) paper.
Stars: ✭ 132 (+230%)
Mutual labels:  pose-estimation
MobilePose
Light-weight Single Person Pose Estimator
Stars: ✭ 588 (+1370%)
Mutual labels:  pose-estimation
OffsetGuided
Code for "Greedy Offset-Guided Keypoint Grouping for Human Pose Estimation"
Stars: ✭ 31 (-22.5%)
Mutual labels:  pose-estimation
ailia-models
The collection of pre-trained, state-of-the-art AI models for ailia SDK
Stars: ✭ 1,102 (+2655%)
Mutual labels:  pose-estimation
realsense explorer bot
Autonomous ground exploration mobile robot which has 3-DOF manipulator with Intel Realsense D435i mounted on a Tracked skid-steer drive mobile robot. The robot is capable of mapping spaces, exploration through RRT, SLAM and 3D pose estimation of objects around it. This is an custom robot with self built URDF model.The Robot uses ROS's navigation…
Stars: ✭ 61 (+52.5%)
Mutual labels:  pose-estimation
DREAM
DREAM: Deep Robot-to-Camera Extrinsics for Articulated Manipulators (ICRA 2020)
Stars: ✭ 109 (+172.5%)
Mutual labels:  pose-estimation
flydra
live, low-latency markerless multi-camera 3D animal tracking system
Stars: ✭ 52 (+30%)
Mutual labels:  pose-estimation
All4Depth
Self-Supervised Depth Estimation on Monocular Sequences
Stars: ✭ 58 (+45%)
Mutual labels:  pose-estimation
pytorch-PyraNet
Pytorch version reinplement code of PyraNet , for paper : Learning Feature Pyramids for Human Pose Estimation
Stars: ✭ 32 (-20%)
Mutual labels:  pose-estimation
SRN
Code for "SRN: Stacked Regression Network for Real-time 3D Hand Pose Estimation" BMVC 2019
Stars: ✭ 27 (-32.5%)
Mutual labels:  pose-estimation
kPAM
kPAM: Generalizable Robotic Manipulation
Stars: ✭ 73 (+82.5%)
Mutual labels:  pose-estimation

Rethinking on Multi-Stage Networks for Human Pose Estimation

This repo is also linked to github.

Introduction

This is a pytorch realization of MSPN proposed in Rethinking on Multi-Stage Networks for Human Pose Estimation . In this work, we design an effective network MSPN to fulfill human pose estimation task.

Existing pose estimation approaches fall into two categories: single-stage and multi-stage methods. While multistage methods are seemingly more suited for the task, their performance in current practice is not as good as singlestage methods. This work studies this issue. We argue that the current multi-stage methods’ unsatisfactory performance comes from the insufficiency in various design choices. We propose several improvements, including the single-stage module design, cross stage feature aggregation, and coarse-tofine supervision.

Overview of MSPN.

The resulting method establishes the new state-of-the-art on both MS COCO and MPII Human Pose dataset, justifying the effectiveness of a multi-stage architecture.

Results

Results on COCO val dataset

Model Input Size AP AP50 AP75 APM APL AR AR50 AR75 ARM ARL
1-stg MSPN 256x192 71.5 90.1 78.4 67.4 77.5 77.0 93.2 83.1 72.6 83.1
2-stg MSPN 256x192 74.5 91.2 81.2 70.5 80.4 79.7 94.2 85.6 75.4 85.7
3-stg MSPN 256x192 75.2 91.5 82.2 71.1 81.1 80.3 94.3 86.4 76.0 86.4
4-stg MSPN 256x192 75.9 91.8 82.9 72.0 81.6 81.1 94.9 87.1 76.9 87.0
4-stg MSPN 384x288 76.9 91.8 83.2 72.7 83.1 81.8 94.8 87.3 77.4 87.8

Results on COCO test-dev dataset

Model Input Size AP AP50 AP75 APM APL AR AR50 AR75 ARM ARL
4-stg MSPN 384x288 76.1 93.4 83.8 72.3 81.5 81.6 96.3 88.1 77.5 87.1
4-stg MSPN* 384x288 77.1 93.8 84.6 73.4 82.3 82.3 96.5 88.9 78.4 87.7
4-stg MSPN+* 384x288 78.1 94.1 85.9 74.5 83.3 83.1 96.7 89.8 79.3 88.2

Results on MPII dataset

Model Split Input Size Head Shoulder Elbow Wrist Hip Knee Ankle Mean
4-stg MSPN val 256x256 96.8 96.5 92.0 87.0 89.9 88.0 84.0 91.1
4-stg MSPN# test 256x256 98.4 97.1 93.2 89.2 92.0 90.1 85.5 92.6

Note

  • * means using external data.
  • + means using model ensemble.
  • # means using multi-shift test.

Repo Structure

This repo is organized as following:

$MSPN_HOME
|-- cvpack
|
|-- dataset
|   |-- COCO
|   |   |-- det_json
|   |   |-- gt_json
|   |   |-- images
|   |       |-- train2014
|   |       |-- val2014
|   |
|   |-- MPII
|       |-- det_json
|       |-- gt_json
|       |-- images
|   
|-- lib
|   |-- models
|   |-- utils
|
|-- exps
|   |-- exp1
|   |-- exp2
|   |-- ...
|
|-- model_logs
|
|-- README.md
|-- requirements.txt

Quick Start

Installation

  1. Install Pytorch referring to Pytorch website.

  2. Clone this repo, and config MSPN_HOME in /etc/profile or ~/.bashrc, e.g.

export MSPN_HOME='/path/of/your/cloned/repo'
export PYTHONPATH=$PYTHONPATH:$MSPN_HOME
  1. Install requirements:
pip3 install -r requirements.txt
  1. Install COCOAPI referring to cocoapi website, or:
git clone https://github.com/cocodataset/cocoapi.git $MSPN_HOME/lib/COCOAPI
cd $MSPN_HOME/lib/COCOAPI/PythonAPI
make install

Dataset

COCO

  1. Download images from COCO website, and put train2014/val2014 splits into $MSPN_HOME/dataset/COCO/images/ respectively.

  2. Download ground truth from Google Drive, and put it into $MSPN_HOME/dataset/COCO/gt_json/.

  3. Download detection result from Google Drive, and put it into $MSPN_HOME/dataset/COCO/det_json/.

MPII

  1. Download images from MPII website, and put images into $MSPN_HOME/dataset/MPII/images/.

  2. Download ground truth from Google Drive, and put it into $MSPN_HOME/dataset/MPII/gt_json/.

  3. Download detection result from Google Drive, and put it into $MSPN_HOME/dataset/MPII/det_json/.

Model

Download ImageNet pretained ResNet-50 model from Google Drive, and put it into $MSPN_HOME/lib/models/. For your convenience, We also provide a well-trained 2-stage MSPN model for COCO.

Log

Create a directory to save logs and models:

mkdir $MSPN_HOME/model_logs

Train

Go to specified experiment repository, e.g.

cd $MSPN_HOME/exps/mspn.2xstg.coco

and run:

python config.py -log
python -m torch.distributed.launch --nproc_per_node=gpu_num train.py

the gpu_num is the number of gpus.

Test

python -m torch.distributed.launch --nproc_per_node=gpu_num test.py -i iter_num

the gpu_num is the number of gpus, and iter_num is the iteration number you want to test.

Citation

Please considering citing our projects in your publications if they help your research.

@article{li2019rethinking,
  title={Rethinking on Multi-Stage Networks for Human Pose Estimation},
  author={Li, Wenbo and Wang, Zhicheng and Yin, Binyi and Peng, Qixiang and Du, Yuming and Xiao, Tianzi and Yu, Gang and Lu, Hongtao and Wei, Yichen and Sun, Jian},
  journal={arXiv preprint arXiv:1901.00148},
  year={2019}
}

@inproceedings{chen2018cascaded,
  title={Cascaded pyramid network for multi-person pose estimation},
  author={Chen, Yilun and Wang, Zhicheng and Peng, Yuxiang and Zhang, Zhiqiang and Yu, Gang and Sun, Jian},
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  pages={7103--7112},
  year={2018}
}

And the code of Cascaded Pyramid Network is also available.

Contact

You can contact us by email published in our paper or [email protected].

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].