• Stars
    star
    634
  • Rank 70,925 (Top 2 %)
  • Language
    Jupyter Notebook
  • Created almost 7 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Light-weight Single Person Pose Estimator

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 networks and display are brought from:

  1. pytorch-mobilenet-v2
  2. Vanilla FCN, U-Net, SegNet, PSPNet, GCN, DUC
  3. Shufflenet-v2-Pytorch
  4. tf-pose-estimation
  5. dsntnn

NEWS!

  • Apr 2021: Siyuan Pan provides MNN version!
  • Mar 2019: Support running on MacBook with decent FPS!
  • Feb 2019: ALL the pretrained model files are avaliable!

Requirements

Evaluation Results

Model(+DUC+DSNTNN) Parmas(M) Flops(G) [email protected]:0.95 [email protected] [email protected]:0.95 [email protected] Link
ResNet18 12.26 1.64 68.2 93.9 79.7 96.7 51.5M
MobileNetV2 3.91 0.49 67.5 94.9 79.4 97.1 16.6M
ShuffleNetV2 2.92 0.31 61.5 91.6 74.8 95.5 12.4M
SqueezeNet1.1 2.22 0.63 58.4 92.1 72.3 95.8 9.3M

Features

  • multi-thread dataloader with augmentations (dataloader.py)
  • training and inference (training.py)
  • performance evaluation (eval.py)
  • multiple models support (network.py)
  • ipython notebook visualization (demo.ipynb)
  • Macbook camera realtime display script (run_webcam.py)

Usage

  1. Installation:
pip install -r requirements.txt
  1. Training:
python training.py --model shufflenetv2 --gpu 0 --inputsize 224 --lr 1e-3 --batchsize 128 --t7 ./models/shufflenetv2_224_adam_best.t7
  1. Evaluation
ln -s cocoapi/PythonAPI/pycocotools
cd cocoapi/PythonAPI && make

python eval.py --t7 ./models/resnet18_224_adam_best.t7 --model resnet18 --gpu 0
  1. Web Camera Demo (MacBook)
python run_webcam.py --model squeezenet --inp_dim 224 --camera 0

Contributors

MobilePose is developed and maintained by Yuliang Xiu, Zexin Chen and Yinghong Fang. Thanks for Siyuan Pan's implementation of mnn version.

License

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