{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/diffusion-based-3d-human-pose-estimation-with","title":"Diffusion-Based 3D Human Pose Estimation with Multi-Hypothesis Aggregation","arxiv_id":"2303.11579","date":"2023-03-21","proceeding":"ICCV 2023 1","authors":["Wenkang Shan","Zhenhua Liu","Xinfeng Zhang","Zhao Wang","Kai Han","Shanshe Wang","Siwei Ma","Wen Gao"],"abstract":"In this paper, a novel Diffusion-based 3D Pose estimation (D3DP) method with Joint-wise reProjection-based Multi-hypothesis Aggregation (JPMA) is proposed for probabilistic 3D human pose estimation. On the one hand, D3DP generates multiple possible 3D pose hypotheses for a single 2D observation. It gradually diffuses the ground truth 3D poses to a random distribution, and learns a denoiser conditioned on 2D keypoints to recover the uncontaminated 3D poses. The proposed D3DP is compatible with existing 3D pose estimators and supports users to balance efficiency and accuracy during inference through two customizable parameters. On the other hand, JPMA is proposed to assemble multiple hypotheses generated by D3DP into a single 3D pose for practical use. It reprojects 3D pose hypotheses to the 2D camera plane, selects the best hypothesis joint-by-joint based on the reprojection errors, and combines the selected joints into the final pose. The proposed JPMA conducts aggregation at the joint level and makes use of the 2D prior information, both of which have been overlooked by previous approaches. Extensive experiments on Human3.6M and MPI-INF-3DHP datasets show that our method outperforms the state-of-the-art deterministic and probabilistic approaches by 1.5% and 8.9%, respectively. Code is available at https://github.com/paTRICK-swk/D3DP.","url_abs":"https://arxiv.org/abs/2303.11579v2","url_pdf":"https://arxiv.org/pdf/2303.11579v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"diffusion-based-3d-human-pose-estimation-with","repo_url":"https://github.com/patrick-swk/d3dp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-human-pose-estimation","task_name":"3D Human Pose Estimation"},{"task_slug":"3d-pose-estimation","task_name":"3D Pose Estimation"},{"task_slug":"monocular-3d-human-pose-estimation","task_name":"Monocular 3D Human Pose Estimation"},{"task_slug":"multi-hypotheses-3d-human-pose-estimation","task_name":"Multi-Hypotheses 3D Human Pose Estimation"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-human-pose-estimation-on-mpi-inf-3dhp","task":"3D Human Pose Estimation","dataset":"MPI-INF-3DHP","model":"D3DP (N=243, H=20, K=20, J-Agg)","rank_in_archive_order":14,"of":108,"metrics":{"AUC":"78.2","MPJPE":"29.7","PCK":"97.7"},"uses_additional_data":false},{"leaderboard":"/sota/monocular-3d-human-pose-estimation-on-human3","task":"Monocular 3D Human Pose Estimation","dataset":"Human3.6M","model":"D3DP","rank_in_archive_order":5,"of":52,"metrics":{"2D detector":"CPN","Average MPJPE (mm)":"39.5","Frames Needed":"243","Need Ground Truth 2D Pose":"No","Use Video Sequence":"Yes"},"uses_additional_data":false},{"leaderboard":"/sota/multi-hypotheses-3d-human-pose-estimation-on","task":"Multi-Hypotheses 3D Human Pose Estimation","dataset":"Human3.6M","model":"D3DP","rank_in_archive_order":3,"of":12,"metrics":{"Average MPJPE (mm)":"35.4","Using 2D ground-truth joints":"No"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.11579","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.11579"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/patrick-swk/d3dp","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/paTRICK-swk/D3DP","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":2},"by_repo_kind":{"official":{"samples":2,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"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"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"1b5971a2be67969d","entry":"D3DP","repo":"paTRICK-swk/D3DP","repo_kind":"official","path":"common/diffusionpose.py","file_url":"https://github.com/paTRICK-swk/D3DP/blob/HEAD/common/diffusionpose.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1b5971a2be67969d"}},{"code_sha256_prefix":"13c5bb713056a640","entry":"extract","repo":"paTRICK-swk/D3DP","repo_kind":"official","path":"common/diffusionpose.py","file_url":"https://github.com/paTRICK-swk/D3DP/blob/HEAD/common/diffusionpose.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"13c5bb713056a640"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}