PifPaf: Composite Fields for Human Pose Estimation
Project description
openpifpaf
Continuously tested on Linux, MacOS and Windows:
New 2021 paper:
OpenPifPaf: Composite Fields for Semantic Keypoint Detection and Spatio-Temporal Association
Sven Kreiss, Lorenzo Bertoni, Alexandre Alahi, 2021.Many image-based perception tasks can be formulated as detecting, associating and tracking semantic keypoints, e.g., human body pose estimation and tracking. In this work, we present a general framework that jointly detects and forms spatio-temporal keypoint associations in a single stage, making this the first real-time pose detection and tracking algorithm. We present a generic neural network architecture that uses Composite Fields to detect and construct a spatio-temporal pose which is a single, connected graph whose nodes are the semantic keypoints (e.g., a person's body joints) in multiple frames. For the temporal associations, we introduce the Temporal Composite Association Field (TCAF) which requires an extended network architecture and training method beyond previous Composite Fields. Our experiments show competitive accuracy while being an order of magnitude faster on multiple publicly available datasets such as COCO, CrowdPose and the PoseTrack 2017 and 2018 datasets. We also show that our method generalizes to any class of semantic keypoints such as car and animal parts to provide a holistic perception framework that is well suited for urban mobility such as self-driving cars and delivery robots.
Previous CVPR 2019 paper.
Example
Image credit: "Learning to surf" by fotologic which is licensed under CC-BY-2.0.
Created with:
pip3 install openpifpaf matplotlib
python3 -m openpifpaf.predict docs/coco/000000081988.jpg --image-min-dpi=200 --show-file-extension=jpeg --image-output
Guide
Continue to our OpenPifPaf Guide.
For developers, there is also the
DEV Guide
which is the same guide but based on the latest code in the main
branch.
Commercial License
This software is available for licensing via the EPFL Technology Transfer Office (https://tto.epfl.ch/, info.tto@epfl.ch).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for openpifpaf-0.12.8-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffce9c372f68748678b08b648e44c36a52f04040ad7aa98ae0bfa7b10200b664 |
|
MD5 | 64532547d10df8d5e8d8bd79010b9c68 |
|
BLAKE2b-256 | c95cf9a6a8c9600d23aa6de0da6cee767ca456af88e3714be342473f77d9c8f6 |
Hashes for openpifpaf-0.12.8-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9f73e0266e0e492760c95f7e26a4b14cc64c16d633600da12ae840d1a0c94f6 |
|
MD5 | d39d5c446ecd9c92c21802c1a7b30782 |
|
BLAKE2b-256 | 223fe65d06a6552d50a79bdc784fbd2d9b0d2824a7df792d09e5a1fe9a93213f |
Hashes for openpifpaf-0.12.8-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6e98409b121edceb8ca450db5003a7891efc7f7f193de76ef871ed3741c2807 |
|
MD5 | af25d44beb207e668071a34f3e96e60a |
|
BLAKE2b-256 | e2e81a03fffb161db21b875b2190987b0a2deb9a0bcc0cd0dc13dc09569e55b2 |
Hashes for openpifpaf-0.12.8-cp39-cp39-manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f42f44779f7521abcb860c1107b2b36d9deecfc6436ff62440ed5753cab6aa83 |
|
MD5 | 0fa65c6311166be77e24676131ee895f |
|
BLAKE2b-256 | 75fa2bba0268e0acf636917cf7502ae6e9774e1aeda629371ad5b8bbb06e0015 |
Hashes for openpifpaf-0.12.8-cp39-cp39-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 680cad3ecd41854e03946d8833251c7ef0e3a57bbb2407a18876dc3c8ffabbf3 |
|
MD5 | 258383d3ad32fdfc98d661e114c6a159 |
|
BLAKE2b-256 | aa031de6e12db569847b993d39297b0d35307ff91ea2804574c81c567abfd8b8 |
Hashes for openpifpaf-0.12.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6209d1fb5f083c1a5adb458c6bfe3768359749432e25ab59b2527080b475dda6 |
|
MD5 | 3c9c969156e5b54dc7cc95a98bcae624 |
|
BLAKE2b-256 | 898ebdb1b8c55f9bd622ef31bed3d3390ccbef588fb85be3492151c14f1d3ba2 |
Hashes for openpifpaf-0.12.8-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86a9acd38cbae456f4285ecdb7b11ed7d39d656db37fec7719bdcb7512da58fe |
|
MD5 | 7e7e7905ea4d10c0d305c59f85ab5a4f |
|
BLAKE2b-256 | 965fcab38d45c80599c0ba1357847af0579afea9c1ff950d65c61a6a8e64818c |
Hashes for openpifpaf-0.12.8-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 724866a53d1990b1a5af2b778854c03322df0f1bef351f80fa70d9c787b6523e |
|
MD5 | f01ae1552ffa385157c219d618c0d1cf |
|
BLAKE2b-256 | 14b8fa9befb2239b5f054ba81722632f42b783793e5b737188160b41e6518ea5 |
Hashes for openpifpaf-0.12.8-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 692ec76d5603e99c190a3c29cca6d65dfd3fbf20822a56e00ac41524b3c46319 |
|
MD5 | 4d5eea001ad27739872761ebaa3bdcd2 |
|
BLAKE2b-256 | 01479e14fea97123348accf582ca13de612cff852b53dbfbf24cc6f18dd7f20d |
Hashes for openpifpaf-0.12.8-cp38-cp38-manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79e0981f10220a404bd39f34c1552d0887f1f12c5ad8f14550960f7379e7e24a |
|
MD5 | ab1c19aab4b14fe065cb07604e5366d1 |
|
BLAKE2b-256 | 68f3462ddc8e10dae46277bf661c944fc7aca5076a045ffcff52e1b8929576e3 |
Hashes for openpifpaf-0.12.8-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b664ce9e24e554f678e6e1fab669a72c189f5be5cb5b2bc43c1ee9b4ed021397 |
|
MD5 | 51936c2bec564a780fbb159704fce4be |
|
BLAKE2b-256 | 8d9c9ea7fbbc220948fd576808a54e91558cc99c9feec6df571a40decef167ae |
Hashes for openpifpaf-0.12.8-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5250df2a92bfa2656b2a49d93e7f3d386a2d8f121fba613ecad80678e1ae4f09 |
|
MD5 | 5a6ea0e754f2cd4f52d6ca5a83d32851 |
|
BLAKE2b-256 | d1eb2ded7eef11f442788116fd865eae07fc54948344ddcc9aa68c3054f12c09 |
Hashes for openpifpaf-0.12.8-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1017ad2e9e8980ec22ecd38ac4aba91c884cfdacff3ea50e6831c04da84dc083 |
|
MD5 | def917a29b98d4fc07429202cc19beb1 |
|
BLAKE2b-256 | 7566d15d1c091cdcf114dbaf8f417fddefcc50a889a68561850c99131989f70a |
Hashes for openpifpaf-0.12.8-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6146123863f823c4c5e70c360567df80a78810af212f161845eccb7e8b612bf5 |
|
MD5 | 6aa0983a263ddb491c5bb058f6422db3 |
|
BLAKE2b-256 | bbde7548619e638bf49a5cfaec8cd7bdcf0abf08b6e0f2f19f35e3f9009b27ff |
Hashes for openpifpaf-0.12.8-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4894ea3842cdd4fa6a8acd20fd408d351fa8f83fe84a2b645242252c3b35f4c3 |
|
MD5 | 5bb739130601b1edd284587416d802e7 |
|
BLAKE2b-256 | e09f9a3bba46420437eb7ff5fad6a6b719557b0e7a8cc7e8271c467a98f99872 |
Hashes for openpifpaf-0.12.8-cp37-cp37m-manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dc07026cd36a7bd1e45f8a00bcf674a2dd1dc401cc523b30b3daf86125d7ed9 |
|
MD5 | 80b576ee4c1fa03b782416834608c6af |
|
BLAKE2b-256 | 4676712819501461a9bd86b7842e8571f550f82e9165b503a1ded6b51f26710f |
Hashes for openpifpaf-0.12.8-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47a3fae34703faac6af99dcae3d6236b75a6355b06e5b09c2fb61691e2dc1a85 |
|
MD5 | 5ca755e3a79fa0ba537f53e3adb68589 |
|
BLAKE2b-256 | 162bd99b4cbdc3b7e4c9882539b8ac06dc8c30fea9f14f1016654b96356ef14a |
Hashes for openpifpaf-0.12.8-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7130e35249ac236a500b6f6079ef149ade5aa2e03db56ec363f3c3c5b67072b |
|
MD5 | bd4cad318778b3b9f8f3649b189eb3af |
|
BLAKE2b-256 | 913fde02590ccb4d97369046d7edf9db2a3671f699de8cd05bc9330ae2d19f09 |
Hashes for openpifpaf-0.12.8-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 486c7a363fd130b351974a00baa3b5b0864f9e583239111e99a5411c84817fe3 |
|
MD5 | 54c870e0c14c6aba2065311ebafbc86b |
|
BLAKE2b-256 | 0d77b3f353383c7cc3a6e59013b7e6b7afd1222b8eaff099bab0782430f1419a |
Hashes for openpifpaf-0.12.8-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fe48f9c61d9427779d79d4ad7205813b075b5bdf955cf6775c1c2b04799a812 |
|
MD5 | 4991786415187a8ecfde93fea75c61ac |
|
BLAKE2b-256 | 80bb24cce2053092ee7ef4e70d93bb229df4b8ab6302dedd9f7c0d98aab8babd |
Hashes for openpifpaf-0.12.8-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec7aacc088f088479a6958225f9704627d8d30fa4eea78cb05684eb5eae9c6d7 |
|
MD5 | 39ccf61023e6449fb8ff4b07636f821f |
|
BLAKE2b-256 | 04a5b7ca3198df9d36794d31f4afb5f97a558efaec13e77831969fad12a591d0 |
Hashes for openpifpaf-0.12.8-cp36-cp36m-manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edc4aec79366034b9f01d553d559d7e77c6d494499ea7c031fcb5b868f036d24 |
|
MD5 | 8d8f9969a47d224f403f9365216acf68 |
|
BLAKE2b-256 | a963b70ed87f30c4282b9cbb9e579617a9c6f2becf2f52c8fa57c37cc1e09169 |
Hashes for openpifpaf-0.12.8-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76df8ffd9f26ad9ca659b78a722716efe74f12c6f00f3b66bf5e74fb53673384 |
|
MD5 | 5aaea204e8cc32c6723c919df23f57d4 |
|
BLAKE2b-256 | d30b0b10eeadd7ac03bc2ef903ea2509d9be2c4075865f7603994e074b9393fc |
Hashes for openpifpaf-0.12.8-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebbe0b87c5ae7759aee21bac85b13a16e561b3c20eaa60ddd93785063d9ad8ee |
|
MD5 | 5d0b152b3d37f8ba6c906121fa0c956d |
|
BLAKE2b-256 | eb477649251997e80deea1b4751e2abcdebd48fdb0a160d14e651ddb1b0a28c5 |