{"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/kitro-refining-human-mesh-by-2d-clues-and","title":"KITRO: Refining Human Mesh by 2D Clues and Kinematic-tree Rotation","arxiv_id":"2405.19833","date":"2024-05-30","proceeding":"CVPR 2024 1","authors":["Fengyuan Yang","Kerui Gu","Angela Yao"],"abstract":"2D keypoints are commonly used as an additional cue to refine estimated 3D human meshes. Current methods optimize the pose and shape parameters with a reprojection loss on the provided 2D keypoints. Such an approach, while simple and intuitive, has limited effectiveness because the optimal solution is hard to find in ambiguous parameter space and may sacrifice depth. Additionally, divergent gradients from distal joints complicate and deviate the refinement of proximal joints in the kinematic chain. To address these, we introduce Kinematic-Tree Rotation (KITRO), a novel mesh refinement strategy that explicitly models depth and human kinematic-tree structure. KITRO treats refinement from a bone-wise perspective. Unlike previous methods which perform gradient-based optimizations, our method calculates bone directions in closed form. By accounting for the 2D pose, bone length, and parent joint's depth, the calculation results in two possible directions for each child joint. We then use a decision tree to trace binary choices for all bones along the human skeleton's kinematic-tree to select the most probable hypothesis. Our experiments across various datasets and baseline models demonstrate that KITRO significantly improves 3D joint estimation accuracy and achieves an ideal 2D fit simultaneously. Our code available at: https://github.com/MartaYang/KITRO.","url_abs":"https://arxiv.org/abs/2405.19833v1","url_pdf":"https://arxiv.org/pdf/2405.19833v1.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":"kitro-refining-human-mesh-by-2d-clues-and","repo_url":"https://github.com/martayang/kitro","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-human-pose-estimation","task_name":"3D Human Pose Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.19833","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.19833"}},"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":"deterministic:regex_extraction","url":"https://github.com/MartaYang/KITRO","reach":null}],"summary":{"ran_draft_wrong":8,"ran_fixture":1,"unverified":4},"by_repo_kind":{"official":{"samples":13,"ran":9,"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":"001a15cc769ae520","entry":"batch_cal_2solutions","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"001a15cc769ae520"}},{"code_sha256_prefix":"b22044a3c4c10fd2","entry":"batch_cal_swing","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b22044a3c4c10fd2"}},{"code_sha256_prefix":"419ab23ea851f3c6","entry":"batch_get_pelvis_orient_svd","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"419ab23ea851f3c6"}},{"code_sha256_prefix":"bd51d15bd37d3d61","entry":"estimate_cam_location","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bd51d15bd37d3d61"}},{"code_sha256_prefix":"333ec17cdb64a6b2","entry":"gram_schmidt_batch","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"333ec17cdb64a6b2"}},{"code_sha256_prefix":"be4744f043426134","entry":"perspective_projection","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be4744f043426134"}},{"code_sha256_prefix":"4ba0339ae1d0cacb","entry":"solution_calculation_chain","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4ba0339ae1d0cacb"}},{"code_sha256_prefix":"8cce0c24b8642592","entry":"solution_selection","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8cce0c24b8642592"}},{"code_sha256_prefix":"06c24ffd2a5c3892","entry":"solution_selection_chain","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"06c24ffd2a5c3892"}},{"code_sha256_prefix":"7f09cf3796f60666","entry":"KITRO_refine","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.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":"7f09cf3796f60666"}},{"code_sha256_prefix":"1c241d396654a781","entry":"batch_cal_2d_error_after_align","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.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":"1c241d396654a781"}},{"code_sha256_prefix":"5bc6dbb03a2ef402","entry":"optimize_shape","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.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":"5bc6dbb03a2ef402"}},{"code_sha256_prefix":"8bcd97dc1361310f","entry":"refine_alignKT","repo":"MartaYang/KITRO","repo_kind":"official","path":"lib/models/kitro.py","file_url":"https://github.com/MartaYang/KITRO/blob/HEAD/lib/models/kitro.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":"8bcd97dc1361310f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}