{"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/estimating-egocentric-3d-human-pose-in-global","title":"Estimating Egocentric 3D Human Pose in Global Space","arxiv_id":"2104.13454","date":"2021-04-27","proceeding":"ICCV 2021 10","authors":["Jian Wang","Lingjie Liu","Weipeng Xu","Kripasindhu Sarkar","Christian Theobalt"],"abstract":"Egocentric 3D human pose estimation using a single fisheye camera has become popular recently as it allows capturing a wide range of daily activities in unconstrained environments, which is difficult for traditional outside-in motion capture with external cameras. However, existing methods have several limitations. A prominent problem is that the estimated poses lie in the local coordinate system of the fisheye camera, rather than in the world coordinate system, which is restrictive for many applications. Furthermore, these methods suffer from limited accuracy and temporal instability due to ambiguities caused by the monocular setup and the severe occlusion in a strongly distorted egocentric perspective. To tackle these limitations, we present a new method for egocentric global 3D body pose estimation using a single head-mounted fisheye camera. To achieve accurate and temporally stable global poses, a spatio-temporal optimization is performed over a sequence of frames by minimizing heatmap reprojection errors and enforcing local and global body motion priors learned from a mocap dataset. Experimental results show that our approach outperforms state-of-the-art methods both quantitatively and qualitatively.","url_abs":"https://arxiv.org/abs/2104.13454v3","url_pdf":"https://arxiv.org/pdf/2104.13454v3.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":"estimating-egocentric-3d-human-pose-in-global","repo_url":"https://github.com/jianwang-mpi/GlobalEgoMocap","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-human-pose-estimation","task_name":"3D Human Pose Estimation"},{"task_slug":"egocentric-pose-estimation","task_name":"Egocentric Pose Estimation"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"}],"methods":[{"method_slug":"heatmap","method_name":"Heatmap"}],"datasets_introduced":[{"slug":"globalegomocap-test-dataset","name":"GlobalEgoMocap Test Dataset","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/egocentric-pose-estimation-on-globalegomocap","task":"Egocentric Pose Estimation","dataset":"GlobalEgoMocap Test Dataset","model":"GlobalEgoMocap","rank_in_archive_order":5,"of":7,"metrics":{"Average MPJPE (mm)":"82.06","PA-MPJPE":"62.07"},"uses_additional_data":true},{"leaderboard":"/sota/egocentric-pose-estimation-on-sceneego","task":"Egocentric Pose Estimation","dataset":"SceneEgo","model":"GlobalEgoMocap","rank_in_archive_order":5,"of":8,"metrics":{"Average MPJPE (mm)":"183.0","PA-MPJPE":"106.2"},"uses_additional_data":true}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.13454","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.13454"}},"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/jianwang-mpi/GlobalEgoMocap","reach":null}],"summary":{"ran":3,"ran_draft_wrong":2,"unverified":1},"by_repo_kind":{"official":{"samples":6,"ran":5,"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":6,"samples":[{"code_sha256_prefix":"9e1db23c976663ec","entry":"BaseVAE","repo":"jianwang-mpi/GlobalEgoMocap","repo_kind":"official","path":"optimizer.py","file_url":"https://github.com/jianwang-mpi/GlobalEgoMocap/blob/HEAD/optimizer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9e1db23c976663ec"}},{"code_sha256_prefix":"98193a8e19eb81be","entry":"ConvVAE","repo":"jianwang-mpi/GlobalEgoMocap","repo_kind":"official","path":"optimizer.py","file_url":"https://github.com/jianwang-mpi/GlobalEgoMocap/blob/HEAD/optimizer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"98193a8e19eb81be"}},{"code_sha256_prefix":"826fbe8cb4a6acbe","entry":"FishEyeCameraCalibrated","repo":"jianwang-mpi/GlobalEgoMocap","repo_kind":"official","path":"optimizer.py","file_url":"https://github.com/jianwang-mpi/GlobalEgoMocap/blob/HEAD/optimizer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"826fbe8cb4a6acbe"}},{"code_sha256_prefix":"0d35362edec50e95","entry":"get_relative_global_pose_with_camera_matrix_torch","repo":"jianwang-mpi/GlobalEgoMocap","repo_kind":"official","path":"optimizer.py","file_url":"https://github.com/jianwang-mpi/GlobalEgoMocap/blob/HEAD/optimizer.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0d35362edec50e95"}},{"code_sha256_prefix":"5df0756fe53e2b64","entry":"transform_pose_torch","repo":"jianwang-mpi/GlobalEgoMocap","repo_kind":"official","path":"optimizer.py","file_url":"https://github.com/jianwang-mpi/GlobalEgoMocap/blob/HEAD/optimizer.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5df0756fe53e2b64"}},{"code_sha256_prefix":"bf44768ad15a1d51","entry":"BodyPoseOptimizer","repo":"jianwang-mpi/GlobalEgoMocap","repo_kind":"official","path":"optimizer.py","file_url":"https://github.com/jianwang-mpi/GlobalEgoMocap/blob/HEAD/optimizer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bf44768ad15a1d51"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}