{"id":13653484,"url":"https://github.com/openpifpaf/openpifpaf","last_synced_at":"2025-05-14T20:07:24.211Z","repository":{"id":37392063,"uuid":"171952729","full_name":"openpifpaf/openpifpaf","owner":"openpifpaf","description":"Official implementation of \"OpenPifPaf: Composite Fields for Semantic Keypoint Detection and Spatio-Temporal Association\" in PyTorch.","archived":false,"fork":false,"pushed_at":"2024-08-15T18:43:47.000Z","size":56143,"stargazers_count":1191,"open_issues_count":50,"forks_count":250,"subscribers_count":32,"default_branch":"main","last_synced_at":"2025-04-03T03:08:35.235Z","etag":null,"topics":["composite-fields","computer-vision","deep-learning","human-pose-estimation","keypoint-estimation","pose-estimation"],"latest_commit_sha":null,"homepage":"https://openpifpaf.github.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openpifpaf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"citation.bib","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-21T22:07:00.000Z","updated_at":"2025-03-25T15:11:56.000Z","dependencies_parsed_at":"2023-02-16T01:45:42.191Z","dependency_job_id":"e612b921-11f0-49d9-86f6-f5b45e0066e7","html_url":"https://github.com/openpifpaf/openpifpaf","commit_stats":{"total_commits":1669,"total_committers":15,"mean_commits":"111.26666666666667","dds":0.07729179149191134,"last_synced_commit":"dd49f459cb26ce1699fbb323f51cce51af69eb0f"},"previous_names":[],"tags_count":67,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpifpaf%2Fopenpifpaf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpifpaf%2Fopenpifpaf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpifpaf%2Fopenpifpaf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpifpaf%2Fopenpifpaf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openpifpaf","download_url":"https://codeload.github.com/openpifpaf/openpifpaf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248161254,"owners_count":21057553,"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":["composite-fields","computer-vision","deep-learning","human-pose-estimation","keypoint-estimation","pose-estimation"],"created_at":"2024-08-02T02:01:11.136Z","updated_at":"2025-04-10T04:54:42.822Z","avatar_url":"https://github.com/openpifpaf.png","language":"Python","funding_links":[],"categories":["Python","Multi-Person 2D Pose Estimation","🔍 Object detection"],"sub_categories":["2019","Pose estimation"],"readme":"# openpifpaf\n\nContinuously tested on Linux, MacOS and Windows:\n[![Tests](https://github.com/openpifpaf/openpifpaf/actions/workflows/tests.yml/badge.svg)](https://github.com/openpifpaf/openpifpaf/actions/workflows/tests.yml)\n[![deploy-guide-dev](https://github.com/openpifpaf/openpifpaf/actions/workflows/deploy-guide-dev.yml/badge.svg)](https://github.com/openpifpaf/openpifpaf/actions/workflows/deploy-guide-dev.yml)\n[![Downloads](https://pepy.tech/badge/openpifpaf)](https://pepy.tech/project/openpifpaf)\n\u003cbr /\u003e\n[__New__ 2021 paper](https://arxiv.org/abs/2103.02440):\n\n\u003e __OpenPifPaf: Composite Fields for Semantic Keypoint Detection and Spatio-Temporal Association__\u003cbr /\u003e\n\u003e _[Sven Kreiss](https://www.svenkreiss.com), [Lorenzo Bertoni](https://scholar.google.com/citations?user=f-4YHeMAAAAJ\u0026hl=en), [Alexandre Alahi](https://scholar.google.com/citations?user=UIhXQ64AAAAJ\u0026hl=en)_, 2021.\n\u003e\n\u003e Many image-based perception tasks can be formulated as detecting, associating\n\u003e and tracking semantic keypoints, e.g., human body pose estimation and tracking.\n\u003e In this work, we present a general framework that jointly detects and forms\n\u003e spatio-temporal keypoint associations in a single stage, making this the first\n\u003e real-time pose detection and tracking algorithm. We present a generic neural\n\u003e network architecture that uses Composite Fields to detect and construct a\n\u003e spatio-temporal pose which is a single, connected graph whose nodes are the\n\u003e semantic keypoints (e.g., a person's body joints) in multiple frames. For the\n\u003e temporal associations, we introduce the Temporal Composite Association Field\n\u003e (TCAF) which requires an extended network architecture and training method\n\u003e beyond previous Composite Fields. Our experiments show competitive accuracy\n\u003e while being an order of magnitude faster on multiple publicly available datasets\n\u003e such as COCO, CrowdPose and the PoseTrack 2017 and 2018 datasets. We also show\n\u003e that our method generalizes to any class of semantic keypoints such as car and\n\u003e animal parts to provide a holistic perception framework that is well suited for\n\u003e urban mobility such as self-driving cars and delivery robots.\n\nPrevious [CVPR 2019 paper](http://openaccess.thecvf.com/content_CVPR_2019/html/Kreiss_PifPaf_Composite_Fields_for_Human_Pose_Estimation_CVPR_2019_paper.html).\n\n\n# [Guide](https://openpifpaf.github.io/intro.html)\n\nDetailed documentation is in our __[OpenPifPaf Guide](https://openpifpaf.github.io/intro.html)__.\nFor developers, there is also the\n__[DEV Guide](https://openpifpaf.github.io/dev/intro.html)__\nwhich is the same guide but based on the latest code in the `main` branch.\n\n\n# Examples\n\n![example image with overlaid pose predictions](https://github.com/openpifpaf/openpifpaf/raw/main/docs/coco/000000081988.jpg.predictions.jpeg)\n\nImage credit: \"[Learning to surf](https://www.flickr.com/photos/fotologic/6038911779/in/photostream/)\" by fotologic which is licensed under [CC-BY-2.0].\u003cbr /\u003e\nCreated with:\n```sh\npip3 install matplotlib openpifpaf\npython3 -m openpifpaf.predict docs/coco/000000081988.jpg --image-output\n```\n\n---\n\nHere is the [tutorial for body, foot, face and hand keypoints](https://openpifpaf.github.io/plugins_wholebody.html). Example:\n![example image with overlaid wholebody pose predictions](https://raw.githubusercontent.com/openpifpaf/openpifpaf/main/docs/soccer.jpeg.predictions.jpeg)\n\nImage credit: [Photo](https://de.wikipedia.org/wiki/Kamil_Vacek#/media/Datei:Kamil_Vacek_20200627.jpg) by [Lokomotive74](https://commons.wikimedia.org/wiki/User:Lokomotive74) which is licensed under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/).\u003cbr /\u003e\nCreated with:\n```sh\npython -m openpifpaf.predict guide/wholebody/soccer.jpeg \\\n  --checkpoint=shufflenetv2k30-wholebody --line-width=2 --image-output\n```\n\n---\n\nHere is the [tutorial for car keypoints](https://openpifpaf.github.io/plugins_apollocar3d.html). Example:\n![example image cars](https://raw.githubusercontent.com/openpifpaf/openpifpaf/main/docs/peterbourg.jpg.predictions.jpeg)\n\nImage credit: [Photo](https://commons.wikimedia.org/wiki/File:Streets_of_Saint_Petersburg,_Russia.jpg) by [Ninaras](https://commons.wikimedia.org/wiki/User:Ninaras) which is licensed under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).\n\nCreated with:\n```sh\npython -m openpifpaf.predict guide/images/peterbourg.jpg \\\n  --checkpoint shufflenetv2k16-apollo-24 -o images \\\n  --instance-threshold 0.05 --seed-threshold 0.05 \\\n  --line-width 4 --font-size 0\n```\n\n---\n\nHere is the [tutorial for animal keypoints (dogs, cats, sheep, horses and cows)](https://openpifpaf.github.io/plugins_animalpose.html). Example:\n![example image cars](https://raw.githubusercontent.com/openpifpaf/openpifpaf/main/docs/tappo_loomo.jpg.predictions.jpeg)\n\n\n```sh\npython -m openpifpaf.predict guide/images tappo_loomo.jpg \\\n  --checkpoint=shufflenetv2k30-animalpose \\\n  --line-width=6 --font-size=6 --white-overlay=0.3 \\\n  --long-edge=500\n```\n\n\n# Commercial License\n\nThe open source license is in the [LICENSE](https://github.com/openpifpaf/openpifpaf/blob/main/LICENSE) file.\nThis software is also available for licensing via the EPFL Technology Transfer\nOffice (https://tto.epfl.ch/, info.tto@epfl.ch).\n\n\n[CC-BY-2.0]: https://creativecommons.org/licenses/by/2.0/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenpifpaf%2Fopenpifpaf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenpifpaf%2Fopenpifpaf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenpifpaf%2Fopenpifpaf/lists"}