{"id":28136989,"url":"https://github.com/res2net/res2net-pose-estimation","last_synced_at":"2025-06-15T06:33:40.863Z","repository":{"id":182996379,"uuid":"201642428","full_name":"Res2Net/Res2Net-Pose-Estimation","owner":"Res2Net","description":"Res2Net for Pose Estimation using Simple Baselines as the baseline","archived":false,"fork":false,"pushed_at":"2021-10-12T23:00:10.000Z","size":112,"stargazers_count":36,"open_issues_count":5,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-14T16:21:53.956Z","etag":null,"topics":["mulit-scale","pose","pose-estimation","res2net","simple-baselines"],"latest_commit_sha":null,"homepage":"https://mmcheng.net/res2net/","language":"Cuda","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/Res2Net.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-08-10T14:40:32.000Z","updated_at":"2024-05-27T16:39:01.000Z","dependencies_parsed_at":"2023-07-22T10:49:01.793Z","dependency_job_id":null,"html_url":"https://github.com/Res2Net/Res2Net-Pose-Estimation","commit_stats":null,"previous_names":["res2net/res2net-pose-estimation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Res2Net/Res2Net-Pose-Estimation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Res2Net%2FRes2Net-Pose-Estimation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Res2Net%2FRes2Net-Pose-Estimation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Res2Net%2FRes2Net-Pose-Estimation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Res2Net%2FRes2Net-Pose-Estimation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Res2Net","download_url":"https://codeload.github.com/Res2Net/Res2Net-Pose-Estimation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Res2Net%2FRes2Net-Pose-Estimation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259934767,"owners_count":22934330,"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":["mulit-scale","pose","pose-estimation","res2net","simple-baselines"],"created_at":"2025-05-14T16:20:52.436Z","updated_at":"2025-06-15T06:33:40.837Z","avatar_url":"https://github.com/Res2Net.png","language":"Cuda","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Res2Net for Pose Estimation\n\n## Update\n- [2020.3.13] Res2Net_v1b based Pose Estimation results are released now.\n\n## Introduction\nThis repo uses [*Simple Baselines*](http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html) as the baseline method for Pose Estimation. \n\n[Res2Net](https://github.com/gasvn/Res2Net) is a powerful backbone architecture that can be easily implemented into state-of-the-art models by replacing the bottleneck with Res2Net module.\nMore detail can be found on [ \"Res2Net: A New Multi-scale Backbone Architecture\"](https://arxiv.org/pdf/1904.01169.pdf)\n\n## Performance\n\n### Results on COCO val2017\n| Arch                      |Person detector | Input size   |   AP  | Ap .5 | AP .75 | AP (M) | AP (L) |\n|---------------------------|----------------|--------------|-------|-------|--------|--------|--------|\n| pose_resnet_50            | prdbox         |    256x192   | 0.704 | 0.886 |  0.783 |  0.671 |  0.772 |\n| pose_res2net_50           | prdbox         |    256x192   | 0.715 | 0.890 |  0.793 |  0.682 |  0.784 |\n| pose_resnet_50            | GTbox          |    256x192   | 0.724 | 0.915 |  0.804 |  0.697 |  0.765 | \n| pose_res2net_50           | GTbox          |    256x192   | 0.737 | 0.925 |  0.814 |  0.708 |  0.782 |\n| pose_resnet_101           | prdbox         |    256x192   | 0.714 | 0.893 |  0.793 |  0.681 |  0.781 |\n| pose_res2net_101          | prdbox         |    256x192   | 0.722 | 0.894 |  0.798 |  0.689 |  0.792 |\n| pose_res2net_101          | GTbox          |    256x192   | 0.744 | 0.926 |  0.826 |  0.720 |  0.785 |\n| **pose_res2net_v1b_50**   | prdbox         |    256x192   | 0.722 | 0.895 |  0.797 |  0.685 |  0.794 |\n| **pose_res2net_v1b_50**   | GTbox          |    256x192   | 0.743 | 0.926 |  0.816 |  0.713 |  0.792 |\n| **pose_res2net_101**      | prdbox         |    256x192   | 0.730 | 0.895 |  0.803 |  0.695 |  0.800 |\n| **pose_res2net_101**      | GTbox          |    256x192   | 0.753 | 0.926 |  0.825 |  0.722 |  0.801 |\n\n\n### Note:\n- Flip test is used.\n- Person detector: prdbox refers to the Person detector that has person AP of 56.4 on COCO val2017 dataset; GTbox refers to the GT of person detection.\n\n## Quick start\n### Installation\n1. Install pytorch \u003e= v1.0.0 \n2. Clone this repo, and we'll call the directory that you cloned as ${POSE_ROOT}.\n3. Install dependencies:\n   ```\n   pip install -r requirements.txt\n   ```\n4. Make libs:\n   ```\n   cd ${POSE_ROOT}/lib\n   make\n   ```\n5. Install [COCOAPI](https://github.com/cocodataset/cocoapi):\n   ```\n   # COCOAPI=/path/to/clone/cocoapi\n   git clone https://github.com/cocodataset/cocoapi.git $COCOAPI\n   cd $COCOAPI/PythonAPI\n   # Install into global site-packages\n   make install\n   # Alternatively, if you do not have permissions or prefer\n   # not to install the COCO API into global site-packages\n   python3 setup.py install --user\n   ```\n   Note that instructions like # COCOAPI=/path/to/install/cocoapi indicate that you should pick a path where you'd like to have the software cloned and then set an environment variable (COCOAPI in this case) accordingly.\n6. Init output(training model output directory) and log(tensorboard log directory) directory:\n\n   ```\n   mkdir output \n   mkdir log\n   ```\n\n   Your directory tree should look like this:\n\n   ```\n   ${POSE_ROOT}\n   ├── data\n   ├── experiments\n   ├── lib\n   ├── log\n   ├── models\n   ├── output\n   ├── tools \n   ├── README.md\n   └── requirements.txt\n   ```\n\n7. Download pretrained models of Res2Net following the instruction from [Res2Net backbone pretrained models](https://github.com/gasvn/Res2Net). Please change the path to pretrained models **(PRETRAINED: )** in config files:  `experiments/coco/res2net/res2net50_4s_26w_256x192_d256x3_adam_lr1e-3.yaml`\n   ```\n   ${POSE_ROOT}\n    `-- models\n        `-- pytorch\n            |-- imagenet\n            |   |-- res2net50_26w_4s-06e79181.pth\n            |   |-- res2net101_26w_4s-02a759a1.pth\n            |   |-- resnet50-19c8e357.pth\n            |   |-- resnet101-5d3b4d8f.pth\n            |   `-- resnet152-b121ed2d.pth\n            |-- pose_coco\n            |   |-- (pretrained model for res2net_pose will be soon available)\n            |   |-- pose_resnet_101_256x192.pth\n            |   |-- pose_resnet_101_384x288.pth\n            |   |-- pose_resnet_152_256x192.pth\n            |   |-- pose_resnet_152_384x288.pth\n            |   |-- pose_resnet_50_256x192.pth\n            |   `-- pose_resnet_50_384x288.pth\n            `-- pose_mpii\n                |-- pose_resnet_101_256x256.pth\n                |-- pose_resnet_152_256x256.pth\n                `-- pose_resnet_50_256x256.pth\n\n   ```\n   \n### Data preparation\n**For MPII data**, please download from [MPII Human Pose Dataset](http://human-pose.mpi-inf.mpg.de/). The original annotation files are in matlab format. We have converted them into json format, you also need to download them from [OneDrive](https://1drv.ms/f/s!AhIXJn_J-blW00SqrairNetmeVu4) or [GoogleDrive](https://drive.google.com/drive/folders/1En_VqmStnsXMdldXA6qpqEyDQulnmS3a?usp=sharing).\nExtract them under {POSE_ROOT}/data, and make them look like this:\n```\n${POSE_ROOT}\n|-- data\n`-- |-- mpii\n    `-- |-- annot\n        |   |-- gt_valid.mat\n        |   |-- test.json\n        |   |-- train.json\n        |   |-- trainval.json\n        |   `-- valid.json\n        `-- images\n            |-- 000001163.jpg\n            |-- 000003072.jpg\n```\n\n**For COCO data**, please download from [COCO download](http://cocodataset.org/#download), 2017 Train/Val is needed for COCO keypoints training and validation. We also provide person detection result of COCO val2017 and test-dev2017 to reproduce our multi-person pose estimation results. Please download from [OneDrive](https://1drv.ms/f/s!AhIXJn_J-blWzzDXoz5BeFl8sWM-) or [GoogleDrive](https://drive.google.com/drive/folders/1fRUDNUDxe9fjqcRZ2bnF_TKMlO0nB_dk?usp=sharing).\nDownload and extract them under {POSE_ROOT}/data, and make them look like this:\n```\n${POSE_ROOT}\n|-- data\n`-- |-- coco\n    `-- |-- annotations\n        |   |-- person_keypoints_train2017.json\n        |   `-- person_keypoints_val2017.json\n        |-- person_detection_results\n        |   |-- COCO_val2017_detections_AP_H_56_person.json\n        |   |-- COCO_test-dev2017_detections_AP_H_609_person.json\n        `-- images\n            |-- train2017\n            |   |-- 000000000009.jpg\n            |   |-- 000000000025.jpg\n            |   |-- 000000000030.jpg\n            |   |-- ... \n            `-- val2017\n                |-- 000000000139.jpg\n                |-- 000000000285.jpg\n                |-- 000000000632.jpg\n                |-- ... \n```\n\n### Training and Testing\n\n#### Testing on COCO val2017 dataset (pretrained model for res2net_pose will be soon available)\n```\npython tools/test.py \\\n    --cfg experiments/coco/res2net/res2net50_4s_26w_256x192_d256x3_adam_lr1e-3.yaml \\\n    TEST.MODEL_FILE {path to pretrained model.pth} \\\n    TEST.USE_GT_BBOX False\n```\n\n#### Training on COCO train2017 dataset\n\n```\npython tools/train.py \\\n    --cfg experiments/coco/res2net/res2net50_4s_26w_256x192_d256x3_adam_lr1e-3.yaml\n```\n\n#### Testing on MPII dataset\n```\npython tools/test.py \\\n    --cfg experiments/mpii/res2net/res2net50_256x256_d256x3_adam_lr1e-3.yaml \\\n    TEST.MODEL_FILE {path to pretrained model.pth}\n```\n\n#### Training on MPII dataset\n\n```\npython tools/train.py \\\n    --cfg experiments/mpii/res2net/res2net50_256x256_d256x3_adam_lr1e-3.yaml\n```\n\n### Applications\nOther applications such as Classification, Instance segmentation, Object detection, Semantic segmentation, Salient object detection, Class activation map can be found on https://mmcheng.net/res2net/ and https://github.com/gasvn/Res2Net .\n\n### Citation\nIf you find this work or code is helpful in your research, please cite:\n```\n@article{gao2019res2net,\n  title={Res2Net: A New Multi-scale Backbone Architecture},\n  author={Gao, Shang-Hua and Cheng, Ming-Ming and Zhao, Kai and Zhang, Xin-Yu and Yang, Ming-Hsuan and Torr, Philip},\n  journal={IEEE TPAMI},\n  year={2020},\n  doi={10.1109/TPAMI.2019.2938758}, \n}\n```\n# Acknowledge\nThe code for pose estimation is partly borrowed from [Simple Baselines for Human Pose Estimation and Tracking](https://github.com/microsoft/human-pose-estimation.pytorch).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fres2net%2Fres2net-pose-estimation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fres2net%2Fres2net-pose-estimation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fres2net%2Fres2net-pose-estimation/lists"}