{"id":20012724,"url":"https://github.com/yuliangxiu/mobilepose","last_synced_at":"2025-04-12T22:35:54.074Z","repository":{"id":37756871,"uuid":"117107624","full_name":"YuliangXiu/MobilePose","owner":"YuliangXiu","description":"Light-weight Single Person Pose Estimator","archived":false,"fork":false,"pushed_at":"2024-05-03T19:39:25.000Z","size":38842,"stargazers_count":640,"open_issues_count":13,"forks_count":149,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-04T01:41:17.589Z","etag":null,"topics":["data-augmentation","dataloader","deep-learning","deeppose","dsntnn","heatmap","lightweight","machine-learning","mobile-device","mobilenetv2","pose-estimation","pytorch","real-time","realtime","resnet-18","shufflenet","shufflenet-v2","shufflenetv2","squeezenet"],"latest_commit_sha":null,"homepage":"http://xiuyuliang.cn","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YuliangXiu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["yuliangxiu"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://paypal.me/yuliangxiu1993","https://xiuyuliang.cn/about/wepay.jpeg"]}},"created_at":"2018-01-11T13:59:23.000Z","updated_at":"2025-02-23T06:37:30.000Z","dependencies_parsed_at":"2024-01-23T00:25:44.730Z","dependency_job_id":"79bbc5e0-70ef-437e-82f6-5a867c10ce79","html_url":"https://github.com/YuliangXiu/MobilePose","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuliangXiu%2FMobilePose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuliangXiu%2FMobilePose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuliangXiu%2FMobilePose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuliangXiu%2FMobilePose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YuliangXiu","download_url":"https://codeload.github.com/YuliangXiu/MobilePose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248642579,"owners_count":21138351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-augmentation","dataloader","deep-learning","deeppose","dsntnn","heatmap","lightweight","machine-learning","mobile-device","mobilenetv2","pose-estimation","pytorch","real-time","realtime","resnet-18","shufflenet","shufflenet-v2","shufflenetv2","squeezenet"],"created_at":"2024-11-13T07:32:38.526Z","updated_at":"2025-04-12T22:35:54.055Z","avatar_url":"https://github.com/YuliangXiu.png","language":"Jupyter Notebook","funding_links":["https://github.com/sponsors/yuliangxiu","https://paypal.me/yuliangxiu1993","https://xiuyuliang.cn/about/wepay.jpeg"],"categories":[],"sub_categories":[],"readme":"# MobilePose\n\nMobilePose 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.\n\nSome codes for networks and display are brought from:\n1. [pytorch-mobilenet-v2](https://github.com/tonylins/pytorch-mobilenet-v2)\n2. [Vanilla FCN, U-Net, SegNet, PSPNet, GCN, DUC](https://github.com/zijundeng/pytorch-semantic-segmentation)\n3. [Shufflenet-v2-Pytorch](https://github.com/ericsun99/Shufflenet-v2-Pytorch)\n4. [tf-pose-estimation](https://github.com/ildoonet/tf-pose-estimation) \n5. [dsntnn](https://github.com/anibali/dsntnn)\n\n## NEWS!\n\n- Apr 2021: [Siyuan Pan](https://github.com/pansiyuan123) provides [MNN version](https://market.mnn.zone/s/#/modelmarket/detail/107)!\n- Mar 2019: Support running on MacBook with decent FPS!  \n- Feb 2019: **ALL** the pretrained model files are avaliable!\n\n## Requirements\n\n- Python 3.7\n- PyTorch 1.0\n- [dsntnn 1.0](https://github.com/anibali/dsntnn)\n\n## Evaluation Results\n\n|Model(+DUC+DSNTNN)|Parmas(M)|Flops(G)|AP@0.5:0.95|AP@0.5|AR@0.5:0.95|AR@0.5|Link|\n|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|\n|ResNet18|12.26|1.64|**68.2**|93.9|**79.7**|96.7|[51.5M](https://drive.google.com/open?id=17Z1zetIVDI4_8-ZoFgTRsjHtDpwGtjRT)|\n|MobileNetV2|3.91|0.49|67.5|**94.9**|79.4|**97.1**|[16.6M](https://drive.google.com/open?id=15Ihv1bVQv6_tYTFlECJMNrXEmrrka5g4)|\n|ShuffleNetV2|2.92|**0.31**|61.5|91.6|74.8|95.5|[12.4M](https://drive.google.com/open?id=184Zg4E6HbbizPFYcELMXCd7mwWXdUd3U)|\n|SqueezeNet1.1|**2.22**|0.63|58.4|92.1|72.3|95.8|[9.3M](https://drive.google.com/open?id=1RePeiBJHeHvmYTQ5vAUJHC5CstHIBcP0)|\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./demo.png\"\u003e\n\u003c/div\u003e\n\n## Features\n\n- [x] multi-thread dataloader with augmentations (dataloader.py)\n- [x] training and inference (training.py)\n- [x] performance evaluation (eval.py)\n- [x] multiple models support (network.py)\n- [x] ipython notebook visualization (demo.ipynb)\n- [x] Macbook camera realtime display script (run_webcam.py)\n\n## Usage\n\n1. Installation:\n\n```shell\npip install -r requirements.txt\n```\n2. Training:\n```shell\npython training.py --model shufflenetv2 --gpu 0 --inputsize 224 --lr 1e-3 --batchsize 128 --t7 ./models/shufflenetv2_224_adam_best.t7\n```\n3. Evaluation\n```shell\nln -s cocoapi/PythonAPI/pycocotools\ncd cocoapi/PythonAPI \u0026\u0026 make\n\npython eval.py --t7 ./models/resnet18_224_adam_best.t7 --model resnet18 --gpu 0\n```\n4. Web Camera Demo (MacBook)\n\n```shell\npython run_webcam.py --model squeezenet --inp_dim 224 --camera 0\n```\n\n## Contributors\n\nMobilePose is developed and maintained by [Yuliang Xiu](http://xiuyuliang.cn/about/), [Zexin Chen](https://github.com/ZexinChen) and [Yinghong Fang](https://github.com/Fangyh09). Thanks for [Siyuan Pan](https://github.com/pansiyuan123)'s implementation of [mnn version](https://market.mnn.zone/s/#/modelmarket/detail/107).\n\n## License\n\nMobilePose is freely available for free non-commercial use. For commercial queries, please contact [Cewu Lu](http://www.mvig.org/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuliangxiu%2Fmobilepose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyuliangxiu%2Fmobilepose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuliangxiu%2Fmobilepose/lists"}