{"id":15026123,"url":"https://github.com/hzzone/pytorch-openpose","last_synced_at":"2025-05-15T07:03:47.691Z","repository":{"id":37706381,"uuid":"157178182","full_name":"Hzzone/pytorch-openpose","owner":"Hzzone","description":"pytorch implementation of openpose including Hand and Body Pose Estimation.","archived":false,"fork":false,"pushed_at":"2024-07-09T15:49:57.000Z","size":20666,"stargazers_count":2223,"open_issues_count":73,"forks_count":410,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-05-15T07:02:30.469Z","etag":null,"topics":["openpose","pose-estimation","pytorch"],"latest_commit_sha":null,"homepage":"","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/Hzzone.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-12T08:11:22.000Z","updated_at":"2025-05-15T05:34:27.000Z","dependencies_parsed_at":"2024-09-30T11:40:35.583Z","dependency_job_id":"af04ccb1-dbe0-4b4d-8f99-a0154a53888e","html_url":"https://github.com/Hzzone/pytorch-openpose","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/Hzzone%2Fpytorch-openpose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hzzone%2Fpytorch-openpose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hzzone%2Fpytorch-openpose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hzzone%2Fpytorch-openpose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hzzone","download_url":"https://codeload.github.com/Hzzone/pytorch-openpose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254291961,"owners_count":22046424,"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":["openpose","pose-estimation","pytorch"],"created_at":"2024-09-24T20:03:50.592Z","updated_at":"2025-05-15T07:03:42.681Z","avatar_url":"https://github.com/Hzzone.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"## pytorch-openpose\n\npytorch implementation of [openpose](https://github.com/CMU-Perceptual-Computing-Lab/openpose) including **Body and Hand Pose Estimation**, and the pytorch model is directly converted from [openpose](https://github.com/CMU-Perceptual-Computing-Lab/openpose) caffemodel by [caffemodel2pytorch](https://github.com/vadimkantorov/caffemodel2pytorch). You could implement face keypoint detection in the same way if you are interested in. Pay attention to that the face keypoint detector was trained using the procedure described in [Simon et al. 2017] for hands.\n\nopenpose detects hand by the result of body pose estimation, please refer to the code of [handDetector.cpp](https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/src/openpose/hand/handDetector.cpp).\nIn the paper, it states as:\n```\nThis is an important detail: to use the keypoint detector in any practical situation, \nwe need a way to generate this bounding box. \nWe directly use the body pose estimation models from [29] and [4], \nand use the wrist and elbow position to approximate the hand location, \nassuming the hand extends 0.15 times the length of the forearm in the same direction.\n```\n\nIf anybody wants a pure python wrapper, please refer to my [pytorch implementation](https://github.com/Hzzone/pytorch-openpose) of openpose, maybe it helps you to implement a standalone hand keypoint detector.\n\nDon't be mean to star this repo if it helps your research.\n\n### Getting Started\n\n#### Install Requriements\n\nCreate a python 3.7 environement, eg:\n\n    conda create -n pytorch-openpose python=3.7\n    conda activate pytorch-openpose\n\nInstall pytorch by following the quick start guide here (use pip) https://download.pytorch.org/whl/torch_stable.html\n\nInstall other requirements with pip\n\n    pip install -r requirements.txt\n\n#### Download the Models\n\n* [dropbox](https://www.dropbox.com/sh/7xbup2qsn7vvjxo/AABWFksdlgOMXR_r5v3RwKRYa?dl=0)\n* [baiduyun](https://pan.baidu.com/s/1IlkvuSi0ocNckwbnUe7j-g)\n* [google drive](https://drive.google.com/drive/folders/1JsvI4M4ZTg98fmnCZLFM-3TeovnCRElG?usp=sharing)\n\n`*.pth` files are pytorch model, you could also download caffemodel file if you want to use caffe as backend.\n\nDownload the pytorch models and put them in a directory named `model` in the project root directory\n\n#### Run the Demo\n\nRun:\n\n    python demo_camera.py\n\nto run a demo with a feed from your webcam or run\n\n    python demo.py\n\nto use a image from the images folder or run \n\n    python demo_video.py \u003cvideo-file\u003e\n\nto process a video file (requires [ffmpeg-python][ffmpeg]).\n\n[ffmpeg]: https://pypi.org/project/ffmpeg-python/\n\n### Todo list\n- [x] convert caffemodel to pytorch.\n- [x] Body Pose Estimation.\n- [x] Hand Pose Estimation.\n- [ ] Performance test.\n- [ ] Speed up.\n\n### Demo\n#### Skeleton\n\n![](images/skeleton.jpg)\n#### Body Pose Estimation\n\n![](images/body_preview.jpg)\n\n#### Hand Pose Estimation\n![](images/hand_preview.png)\n\n#### Body + Hand\n![](images/demo_preview.png)\n\n#### Video Body\n\n![](images/kc-e129SBb4-sample.processed.gif)\n\nAttribution: [this video](https://www.youtube.com/watch?v=kc-e129SBb4).\n\n#### Video Hand\n\n![](images/yOAmYSW3WyU-sample.small.processed.gif)\n\nAttribution: [this video](https://www.youtube.com/watch?v=yOAmYSW3WyU).\n\n### Citation\nPlease cite these papers in your publications if it helps your research (the face keypoint detector was trained using the procedure described in [Simon et al. 2017] for hands):\n\n```\n@inproceedings{cao2017realtime,\n  author = {Zhe Cao and Tomas Simon and Shih-En Wei and Yaser Sheikh},\n  booktitle = {CVPR},\n  title = {Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields},\n  year = {2017}\n}\n\n@inproceedings{simon2017hand,\n  author = {Tomas Simon and Hanbyul Joo and Iain Matthews and Yaser Sheikh},\n  booktitle = {CVPR},\n  title = {Hand Keypoint Detection in Single Images using Multiview Bootstrapping},\n  year = {2017}\n}\n\n@inproceedings{wei2016cpm,\n  author = {Shih-En Wei and Varun Ramakrishna and Takeo Kanade and Yaser Sheikh},\n  booktitle = {CVPR},\n  title = {Convolutional pose machines},\n  year = {2016}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhzzone%2Fpytorch-openpose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhzzone%2Fpytorch-openpose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhzzone%2Fpytorch-openpose/lists"}