fengshikun / MobilePose-pytorch-1

Single Person Pose Estimation for Mobile Device

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MobilePose

MobilePose is a Tiny PyTorch implementation of single person 2D pose estimation framework. The aim is to provide the interface of the training/inference/evaluation, and the dataloader with various data augmentation options. And final trained model can satisfy basic requirements(speed+size+accuracy) for mobile device.

Some codes for mobilenetV2 and display are brought from pytorch-mobilenet-v2 and tf-pose-estimation. Thanks to the original authors.

Functionality

  1. Tiny trained model (Resnet18[43MB], MobilenetV2[8.9MB])
  2. Fast inference speed (GPU>100FPS, CPU~30FPS)
  3. Accurate keypoint estimation (75-85mAP(0.5IoU), 33-40mAP(0.5~0.95IoU))

Requirements

  • Python 2.7.13
  • Pytorch 0.2.0_3
  • imgaug 0.2.5

Todo List

  • multi-thread dataloader
  • training and inference
  • performance evaluation
  • multi-scale training
  • support resnet18/mobilenetV2
  • data augmentation(rotate/shift/flip/multi-scale/noise)
  • Macbook camera realtime display script

Pretrained Model

Resnet18+MobilenetV2

Usage

  1. Training:
export CUDA_VISIBLE_DEVICES=0; python training.py --model=mobilenet/resnet --gpu=0 --retrain=True
  1. Evaluation
ln -s cocoapi/PythonAPI/pycocotools
cd cocoapi/PythonAPI && make
export CUDA_VISIBLE_DEVICES=0; python eval.py --model=mobilenet/resnet
  1. Realtime visualization:
python run_webcam.py --model=mobilenet/resnet

Contributors

MobilePose is developed and maintained by Yuliang Xiu, Zexin Chen and Yinghong Fang.

License

MobilePose is freely available for free non-commercial use. For commercial queries, please contact Cewu Lu.

About

Single Person Pose Estimation for Mobile Device


Languages

Language:Jupyter Notebook 84.9%Language:Python 9.1%Language:MATLAB 3.1%Language:Lua 1.1%Language:C++ 1.1%Language:C 0.8%Language:Makefile 0.0%