{"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/gfpose-learning-3d-human-pose-prior-with","title":"GFPose: Learning 3D Human Pose Prior with Gradient Fields","arxiv_id":"2212.08641","date":"2022-12-16","proceeding":"CVPR 2023 1","authors":["Hai Ci","Mingdong Wu","Wentao Zhu","Xiaoxuan Ma","Hao Dong","Fangwei Zhong","Yizhou Wang"],"abstract":"Learning 3D human pose prior is essential to human-centered AI. Here, we present GFPose, a versatile framework to model plausible 3D human poses for various applications. At the core of GFPose is a time-dependent score network, which estimates the gradient on each body joint and progressively denoises the perturbed 3D human pose to match a given task specification. During the denoising process, GFPose implicitly incorporates pose priors in gradients and unifies various discriminative and generative tasks in an elegant framework. Despite the simplicity, GFPose demonstrates great potential in several downstream tasks. Our experiments empirically show that 1) as a multi-hypothesis pose estimator, GFPose outperforms existing SOTAs by 20% on Human3.6M dataset. 2) as a single-hypothesis pose estimator, GFPose achieves comparable results to deterministic SOTAs, even with a vanilla backbone. 3) GFPose is able to produce diverse and realistic samples in pose denoising, completion and generation tasks. Project page https://sites.google.com/view/gfpose/","url_abs":"https://arxiv.org/abs/2212.08641v1","url_pdf":"https://arxiv.org/pdf/2212.08641v1.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":"gfpose-learning-3d-human-pose-prior-with","repo_url":"https://github.com/Embracing/GFPose","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-human-pose-estimation","task_name":"3D Human Pose Estimation"},{"task_slug":"denoising","task_name":"Denoising"},{"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"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/multi-hypotheses-3d-human-pose-estimation-on","task":"Multi-Hypotheses 3D Human Pose Estimation","dataset":"Human3.6M","model":"GFPose (HPJ2D-010, S=200)","rank_in_archive_order":2,"of":12,"metrics":{"Average MPJPE (mm)":"35.1"},"uses_additional_data":false},{"leaderboard":"/sota/multi-hypotheses-3d-human-pose-estimation-on","task":"Multi-Hypotheses 3D Human Pose Estimation","dataset":"Human3.6M","model":"GFPose (HPJ2D-000, S=200)","rank_in_archive_order":4,"of":12,"metrics":{"Average MPJPE (mm)":"35.6","Average PMPJPE (mm)":"30.5","Using 2D ground-truth joints":"16.9"},"uses_additional_data":false},{"leaderboard":"/sota/multi-hypotheses-3d-human-pose-estimation-on-1","task":"Multi-Hypotheses 3D Human Pose Estimation","dataset":"MPI-INF-3DHP","model":"GFPose (HPJ2D-000, S=200)","rank_in_archive_order":1,"of":1,"metrics":{"PCK":"86.9"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2212.08641","atlas_url":"https://app.syntology.ai/?focus=2212.08641","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2212.08641"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/Embracing/GFPose","reach":null}],"summary":{"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":2,"ran":1,"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":"7e702c7a9125647f","entry":"parse_args","repo":"Embracing/GFPose","repo_kind":"official","path":"run/train_fc_adv_3d.py","file_url":"https://github.com/Embracing/GFPose/blob/HEAD/run/train_fc_adv_3d.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7e702c7a9125647f"}},{"code_sha256_prefix":"2f4ab069f8c74953","entry":"preprocess_data","repo":"Embracing/GFPose","repo_kind":"official","path":"run/visualize.py","file_url":"https://github.com/Embracing/GFPose/blob/HEAD/run/visualize.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2f4ab069f8c74953"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}