{"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/utilizing-uncertainty-in-2d-pose-detectors","title":"Utilizing Uncertainty in 2D Pose Detectors for Probabilistic 3D Human Mesh Recovery","arxiv_id":"2411.16289","date":"2024-11-25","proceeding":null,"authors":["Tom Wehrbein","Marco Rudolph","Bodo Rosenhahn","Bastian Wandt"],"abstract":"Monocular 3D human pose and shape estimation is an inherently ill-posed problem due to depth ambiguities, occlusions, and truncations. Recent probabilistic approaches learn a distribution over plausible 3D human meshes by maximizing the likelihood of the ground-truth pose given an image. We show that this objective function alone is not sufficient to best capture the full distributions. Instead, we propose to additionally supervise the learned distributions by minimizing the distance to distributions encoded in heatmaps of a 2D pose detector. Moreover, we reveal that current methods often generate incorrect hypotheses for invisible joints which is not detected by the evaluation protocols. We demonstrate that person segmentation masks can be utilized during training to significantly decrease the number of invalid samples and introduce two metrics to evaluate it. Our normalizing flow-based approach predicts plausible 3D human mesh hypotheses that are consistent with the image evidence while maintaining high diversity for ambiguous body parts. Experiments on 3DPW and EMDB show that we outperform other state-of-the-art probabilistic methods. Code is available for research purposes at https://github.com/twehrbein/humr.","url_abs":"https://arxiv.org/abs/2411.16289v1","url_pdf":"https://arxiv.org/pdf/2411.16289v1.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":"utilizing-uncertainty-in-2d-pose-detectors","repo_url":"https://github.com/twehrbein/humr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-human-pose-and-shape-estimation","task_name":"3D human pose and shape estimation"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"human-mesh-recovery","task_name":"Human Mesh Recovery"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2411.16289","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.16289"}},"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/twehrbein/humr","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":3,"unverified":8},"by_repo_kind":{"official":{"samples":11,"ran":3,"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":"87577b3ff9d32712","entry":"drop_path","repo":"twehrbein/humr","repo_kind":"official","path":"easy_vitpose/vit.py","file_url":"https://github.com/twehrbein/humr/blob/HEAD/easy_vitpose/vit.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"87577b3ff9d32712"}},{"code_sha256_prefix":"8d099da3b789e317","entry":"keypoint_pck_accuracy","repo":"twehrbein/humr","repo_kind":"official","path":"easy_vitpose/top_down_eval.py","file_url":"https://github.com/twehrbein/humr/blob/HEAD/easy_vitpose/top_down_eval.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8d099da3b789e317"}},{"code_sha256_prefix":"c3487124f762d881","entry":"trunc_normal_","repo":"twehrbein/humr","repo_kind":"official","path":"easy_vitpose/vit.py","file_url":"https://github.com/twehrbein/humr/blob/HEAD/easy_vitpose/vit.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c3487124f762d881"}},{"code_sha256_prefix":"6fc5559161e01fe3","entry":"dyn_model_import","repo":"twehrbein/humr","repo_kind":"official","path":"easy_vitpose/util.py","file_url":"https://github.com/twehrbein/humr/blob/HEAD/easy_vitpose/util.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":"6fc5559161e01fe3"}},{"code_sha256_prefix":"aefe0d94e5a0ed94","entry":"flip_back","repo":"twehrbein/humr","repo_kind":"official","path":"easy_vitpose/post_transforms.py","file_url":"https://github.com/twehrbein/humr/blob/HEAD/easy_vitpose/post_transforms.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":"aefe0d94e5a0ed94"}},{"code_sha256_prefix":"72ea34cd25c47f9e","entry":"fliplr_joints","repo":"twehrbein/humr","repo_kind":"official","path":"easy_vitpose/post_transforms.py","file_url":"https://github.com/twehrbein/humr/blob/HEAD/easy_vitpose/post_transforms.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":"72ea34cd25c47f9e"}},{"code_sha256_prefix":"89a0b0a407328fc3","entry":"fliplr_regression","repo":"twehrbein/humr","repo_kind":"official","path":"easy_vitpose/post_transforms.py","file_url":"https://github.com/twehrbein/humr/blob/HEAD/easy_vitpose/post_transforms.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":"89a0b0a407328fc3"}},{"code_sha256_prefix":"a8ef447fad93468f","entry":"infer_dataset_by_path","repo":"twehrbein/humr","repo_kind":"official","path":"easy_vitpose/util.py","file_url":"https://github.com/twehrbein/humr/blob/HEAD/easy_vitpose/util.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":"a8ef447fad93468f"}},{"code_sha256_prefix":"09f631ca5b58bd79","entry":"init_random_seed","repo":"twehrbein/humr","repo_kind":"official","path":"easy_vitpose/util.py","file_url":"https://github.com/twehrbein/humr/blob/HEAD/easy_vitpose/util.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":"09f631ca5b58bd79"}},{"code_sha256_prefix":"117462de1e66d200","entry":"keypoint_auc","repo":"twehrbein/humr","repo_kind":"official","path":"easy_vitpose/top_down_eval.py","file_url":"https://github.com/twehrbein/humr/blob/HEAD/easy_vitpose/top_down_eval.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":"117462de1e66d200"}},{"code_sha256_prefix":"6d08729cda37113c","entry":"pose_pck_accuracy","repo":"twehrbein/humr","repo_kind":"official","path":"easy_vitpose/top_down_eval.py","file_url":"https://github.com/twehrbein/humr/blob/HEAD/easy_vitpose/top_down_eval.py","link_basis":"plan_row","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":"6d08729cda37113c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}