Papers › Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

24 Nov 2016CVPR 2017 7arXiv:1611.08050archive 2025-07-28

Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh

We present an approach to efficiently detect the 2D pose of multiple people in an image. The approach uses a nonparametric representation, which we refer to as Part Affinity Fields (PAFs), to learn to associate body parts with individuals in the image. The architecture encodes global context, allowing a greedy bottom-up parsing step that maintains high accuracy while achieving realtime performance, irrespective of the number of people in the image. The architecture is designed to jointly learn part locations and their association via two branches of the same sequential prediction process. Our method placed first in the inaugural COCO 2016 keypoints challenge, and significantly exceeds the previous state-of-the-art result on the MPII Multi-Person benchmark, both in performance and efficiency.

PaperPDFConference PDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1611.08050")

Code

Syntology Ran 4 of 23 code samples harvested from 4 repositories linked to this paper; 19 have no recorded run. Of those that ran: 1 ran · honoured contract; 1 ran · violated contract; 2 ran · fixture could not drive it.

By repository: community (archive-listed): 23 samples from 4 repositories, 4 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

61 repositories listed; official and paper-mentioned ones first.

ZheC/Realtime_Multi-Person_Pose_Estimation officialmentioned in papermentioned on GitHubtfNOASSERTION report
CMU-Perceptual-Computing-Lab/openpose mentioned on GitHubpytorchNOASSERTION report
ChetanTayal138/HAR-Web mentioned on GitHubtf report
D1vyansh/BodyJointDetection mentioned on GitHubpytorch report
Kaif10/Pose-Detection mentioned on GitHub report
KarinaKorsgaard/Bartender-AI-OpenPose-Osc-Sender mentioned on GitHubpytorchNOASSERTION report
MSeeker1340/Vision2018-Pose mentioned on GitHubtfMIT report
Sobeit-Tim/NuguEyeTest mentioned on GitHub report
blake58/openpose mentioned on GitHubpytorchNOASSERTION report
chengguixiong1010/rnn_STAF_2dpose mentioned on GitHubpytorchNOASSERTION report
fcr3/OpenVINO_Tutorials mentioned on GitHubtf report
fcr3/wine_detector mentioned on GitHubtf report
fengyidong123/openpose-master mentioned on GitHubpytorch report
goutern/PoseEstimation mentioned on GitHubpytorch report
harshalsonioo1/hpe mentioned on GitHubpytorchNOASSERTION report
ibm/max-human-pose-estimator mentioned on GitHubtfApache-2.0 report
jarrodanderson/openpose-demo mentioned on GitHubpytorch report
jreisam/Unity-OpenPose-Edutable mentioned on GitHubNOASSERTION report
ken724049/action-recognition mentioned on GitHub report
krishnac7/OpenPose mentioned on GitHub report
laobaiswag/openpose1 mentioned on GitHubpytorch report
liang-faan/openpose mentioned on GitHubpytorchNOASSERTION report
lncarter/Openpose mentioned on GitHubpytorch report
lwxGitHub123/openpose mentioned on GitHubpytorchNOASSERTION report
lwxGitHub123/openpose20200610 mentioned on GitHubpytorchNOASSERTION report
mgolnezhad/openpose mentioned on GitHubpytorchNOASSERTION report
mohammadreyaz/openposered mentioned on GitHubpytorchNOASSERTION report
mohammadreyaz/pose mentioned on GitHubpytorchNOASSERTION report
oublalkhalid/AI-OpenPose mentioned on GitHubpytorchApache-2.0 report
qdhill/openpose mentioned on GitHubpytorchNOASSERTION report
quic/aimet-model-zoo mentioned on GitHubpytorch report
radioactiverockets/OpenPoseBreackoutGame mentioned on GitHubNOASSERTION report
sananand007/Xrelab mentioned on GitHubtf report
shihenw/convolutional-pose-machines-release mentioned on GitHubtfNOASSERTION report
soulslicer/staf mentioned on GitHubpytorchNOASSERTION report
starman360/openpose_xavier mentioned on GitHubpytorchNOASSERTION report
techforgood-kiran/ai mentioned on GitHubpytorchNOASSERTION report
theyellowdiary/openpose mentioned on GitHubpytorchNOASSERTION report
xaoch/rapJetson2 mentioned on GitHubpytorch report
xar47x/pose mentioned on GitHubpytorchNOASSERTION report
xiaozeguo123/-Quick-Capture-system-HSR mentioned on GitHubpytorchNOASSERTION report
yikegami/openpose mentioned on GitHubpytorch report
yinzhiyan43/openpose-dev mentioned on GitHubpytorch report
yongsheng268/OpenPose mentioned on GitHubpytorchNOASSERTION report
zhaoqyu/openpose-mge-pt mentioned on GitHubpytorch report
zyxcambridge/openpose_all mentioned on GitHubpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

23 samples harvested; 4 ran; 1 honoured the contract we drafted; 19 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · honoured contract
1ran · violated contract
2ran · fixture could not drive it
19unverified

Licence: 4 of the 23 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 4 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

compute_gt_teacher DavHoffmann/LearningToTrainWithSyntheticHumans/tf_pose/train_with_adversarial_teacher.py community (archive-listed) ran · fixture could not drive it licence not identified · pointer only · f4d54c84f9d6d11f · report
normalize Xingyu-Romantic/RMPose_PAF/testing/test_pose.py community (archive-listed) ran · violated contract fingerprinted no licence file found · pointer only · 9d8d1b763badb5e7 · report
padRightDownCorner Xingyu-Romantic/RMPose_PAF/testing/test_pose.py community (archive-listed) ran · fixture could not drive it fingerprinted no licence file found · pointer only · 1273c2cd8619f6cb · report
round_int DavHoffmann/LearningToTrainWithSyntheticHumans/tf_pose/eval_MPI.py community (archive-listed) ran · honoured contract fingerprinted licence not identified · pointer only · 244255938544c7a6 · report
arrayCast ibm/max-human-pose-estimator/core/tf_pose/slidingwindow/ArrayUtils.py community (archive-listed) unverified Apache-2.0 (permissive) · 20375b6e697cb883 · report
arrayFactory ibm/max-human-pose-estimator/core/tf_pose/slidingwindow/ArrayUtils.py community (archive-listed) unverified Apache-2.0 (permissive) · 967290f028bec7f8 · report
batchWindows ibm/max-human-pose-estimator/core/tf_pose/slidingwindow/Batching.py community (archive-listed) unverified Apache-2.0 (permissive) · 92fd1e2b70b24c05 · report
cropRect ibm/max-human-pose-estimator/core/tf_pose/slidingwindow/RectangleUtils.py community (archive-listed) unverified Apache-2.0 (permissive) · eb150ddc7184f446 · report
cropRectEqually ibm/max-human-pose-estimator/core/tf_pose/slidingwindow/RectangleUtils.py community (archive-listed) unverified Apache-2.0 (permissive) · 630ac0a9f50488c4 · report
generate ibm/max-human-pose-estimator/core/tf_pose/slidingwindow/SlidingWindow.py community (archive-listed) unverified Apache-2.0 (permissive) · cdb1c9715688f9a1 · report
generateDistanceMatrix ibm/max-human-pose-estimator/core/tf_pose/slidingwindow/WindowDistance.py community (archive-listed) unverified Apache-2.0 (permissive) · 1fc7d25ab7ceeb40 · report
generateForSize ibm/max-human-pose-estimator/core/tf_pose/slidingwindow/SlidingWindow.py community (archive-listed) unverified Apache-2.0 (permissive) · 93c5229a4050e760 · report
get_part_cid ibm/max-human-pose-estimator/core/tf_pose/pafprocess/pafprocess.py community (archive-listed) unverified Apache-2.0 (permissive) · 0ad190b8ea7cf881 · report
get_sample_images ibm/max-human-pose-estimator/core/tf_pose/common.py community (archive-listed) unverified Apache-2.0 (permissive) · 1cb22812d63a8d83 · report
get_score ibm/max-human-pose-estimator/core/tf_pose/pafprocess/pafprocess.py community (archive-listed) unverified Apache-2.0 (permissive) · 418d24f644276625 · report
layer ibm/max-human-pose-estimator/core/tf_pose/tensblur/smoother.py community (archive-listed) unverified Apache-2.0 (permissive) · 1fb38eb9d6522fb0 · report
mergeWindows ibm/max-human-pose-estimator/core/tf_pose/slidingwindow/Merging.py community (archive-listed) unverified Apache-2.0 (permissive) · 33f87ef10f320887 · report
model_wh ibm/max-human-pose-estimator/core/tf_pose/networks.py community (archive-listed) unverified Apache-2.0 (permissive) · f8b79dbb86b46205 · report
padRect ibm/max-human-pose-estimator/core/tf_pose/slidingwindow/RectangleUtils.py community (archive-listed) unverified Apache-2.0 (permissive) · d8dbe9ff57d30fbc · report
plot_result MSeeker1340/Vision2018-Pose/src/plot.py community (archive-listed) unverified MIT (permissive) · 822b0c684ba9eba6 · report
process_paf ibm/max-human-pose-estimator/core/tf_pose/pafprocess/pafprocess.py community (archive-listed) unverified Apache-2.0 (permissive) · dd2c2980939419d2 · report
read_imgfile ibm/max-human-pose-estimator/core/tf_pose/common.py community (archive-listed) unverified Apache-2.0 (permissive) · 1440a7103327c0de · report
zerosFactory ibm/max-human-pose-estimator/core/tf_pose/slidingwindow/ArrayUtils.py community (archive-listed) unverified Apache-2.0 (permissive) · e25580edeb9875ea · report

Tasks

2D Human Pose Estimation2D Pose EstimationKeypoint DetectionMulti-Person Pose EstimationObject DetectionPose Estimation

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
2D Human Pose Estimation COCO-WholeBody OpenPose WB 33.8 #14 of 15 Archive leaderboard report
2D Human Pose Estimation COCO-WholeBody OpenPose body 56.3 #14 of 15 Archive leaderboard report
2D Human Pose Estimation COCO-WholeBody OpenPose face 48.2 #14 of 15 Archive leaderboard report
2D Human Pose Estimation COCO-WholeBody OpenPose foot 53.2 #14 of 15 Archive leaderboard report
2D Human Pose Estimation COCO-WholeBody OpenPose hand 19.8 #14 of 15 Archive leaderboard report
Keypoint Detection COCO Part Affinity Fields Validation AP 60.5 #2 of 2 Archive leaderboard report
Keypoint Detection COCO test-dev CMU Pose AP50 84.9 #15 of 16 Archive leaderboard report
Keypoint Detection COCO test-dev CMU Pose AP75 67.5 #15 of 16 Archive leaderboard report
Keypoint Detection COCO test-dev CMU Pose APL 68.2 #15 of 16 Archive leaderboard report
Keypoint Detection COCO test-dev CMU Pose APM 57.1 #15 of 16 Archive leaderboard report
Keypoint Detection COCO test-dev CMU Pose AR 66.5 #15 of 16 Archive leaderboard report
Keypoint Detection COCO test-dev CMU Pose AR50 87.2 #15 of 16 Archive leaderboard report
Keypoint Detection COCO test-dev CMU Pose ARL 74.6 #15 of 16 Archive leaderboard report
Keypoint Detection COCO test-dev CMU Pose ARM 60.6 #15 of 16 Archive leaderboard report
Keypoint Detection MPII Multi-Person Part Affinity Fields mAP@0.5 75.6% #6 of 9 Archive leaderboard report
Multi-Person Pose Estimation COCO CMU-Pose AP 0.618 #1 of 1 Archive leaderboard report
Multi-Person Pose Estimation COCO test-dev CMU-Pose AP 61.8 #14 of 15 Archive leaderboard report
Multi-Person Pose Estimation COCO test-dev CMU-Pose AP50 84.9 #14 of 15 Archive leaderboard report
Multi-Person Pose Estimation COCO test-dev CMU-Pose AP75 67.5 #14 of 15 Archive leaderboard report
Multi-Person Pose Estimation COCO test-dev CMU-Pose APL 68.2 #14 of 15 Archive leaderboard report
Multi-Person Pose Estimation COCO test-dev CMU-Pose APM 57.1 #14 of 15 Archive leaderboard report
Multi-Person Pose Estimation MPII Multi-Person Part Affinity Fields AP 75.6% #6 of 9 Archive leaderboard report
Pose Estimation COCO test-dev CMU-Pose AP 61.8 #44 of 47 Archive leaderboard report
Pose Estimation COCO test-dev CMU-Pose AP50 84.9 #44 of 47 Archive leaderboard report
Pose Estimation COCO test-dev CMU-Pose AP75 67.5 #44 of 47 Archive leaderboard report
Pose Estimation COCO test-dev CMU-Pose APL 68.2 #44 of 47 Archive leaderboard report
Pose Estimation COCO test-dev CMU-Pose APM 57.1 #44 of 47 Archive leaderboard report
Pose Estimation COCO test-dev CMU-Pose AR 66.5 #44 of 47 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Introduced by this paper: PAFs

PAFs

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections