{"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/interacting-hand-object-pose-estimation-via","title":"Interacting Hand-Object Pose Estimation via Dense Mutual Attention","arxiv_id":"2211.08805","date":"2022-11-16","proceeding":null,"authors":["Rong Wang","Wei Mao","Hongdong Li"],"abstract":"3D hand-object pose estimation is the key to the success of many computer vision applications. The main focus of this task is to effectively model the interaction between the hand and an object. To this end, existing works either rely on interaction constraints in a computationally-expensive iterative optimization, or consider only a sparse correlation between sampled hand and object keypoints. In contrast, we propose a novel dense mutual attention mechanism that is able to model fine-grained dependencies between the hand and the object. Specifically, we first construct the hand and object graphs according to their mesh structures. For each hand node, we aggregate features from every object node by the learned attention and vice versa for each object node. Thanks to such dense mutual attention, our method is able to produce physically plausible poses with high quality and real-time inference speed. Extensive quantitative and qualitative experiments on large benchmark datasets show that our method outperforms state-of-the-art methods. The code is available at https://github.com/rongakowang/DenseMutualAttention.git.","url_abs":"https://arxiv.org/abs/2211.08805v1","url_pdf":"https://arxiv.org/pdf/2211.08805v1.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":"interacting-hand-object-pose-estimation-via","repo_url":"https://github.com/rongakowang/densemutualattention","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-hand-pose-estimation","task_name":"3D Hand Pose Estimation"},{"task_slug":"object","task_name":"Object"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"},{"task_slug":"hand-object-pose","task_name":"hand-object pose"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-hand-pose-estimation-on-ho-3d","task":"3D Hand Pose Estimation","dataset":"HO-3D v2","model":"DMA","rank_in_archive_order":14,"of":24,"metrics":{"PA-MPJPE (mm)":"10.1"},"uses_additional_data":true},{"leaderboard":"/sota/hand-object-pose-on-dexycb","task":"hand-object pose","dataset":"DexYCB","model":"DMA","rank_in_archive_order":3,"of":9,"metrics":{"ADD-S":"15.9","Average MPJPE (mm)":"12.7","MCE":"32.6","OCE":"27.3","Procrustes-Aligned MPJPE":"6.86"},"uses_additional_data":false},{"leaderboard":"/sota/hand-object-pose-on-ho-3d","task":"hand-object pose","dataset":"HO-3D v2","model":"DMA","rank_in_archive_order":2,"of":9,"metrics":{"ADD-S":"20.8","Average MPJPE (mm)":"22.2","OME":"45.5","PA-MPJPE":"10.1","ST-MPJPE":"23.8"},"uses_additional_data":true}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2211.08805","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2211.08805"}},"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/rongakowang/densemutualattention","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"unverified":4},"by_repo_kind":{"official":{"samples":5,"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":"622140af456ff5d2","entry":"make_conv_layers","repo":"rongakowang/densemutualattention","repo_kind":"official","path":"common/nets/layer.py","file_url":"https://github.com/rongakowang/densemutualattention/blob/HEAD/common/nets/layer.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"622140af456ff5d2"}},{"code_sha256_prefix":"7028b78d1d3a2f93","entry":"make_conv1d_layers","repo":"rongakowang/densemutualattention","repo_kind":"official","path":"common/nets/layer.py","file_url":"https://github.com/rongakowang/densemutualattention/blob/HEAD/common/nets/layer.py","link_basis":"harvester_set","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":"7028b78d1d3a2f93"}},{"code_sha256_prefix":"7223f94782b5fb61","entry":"make_linear_layers","repo":"rongakowang/densemutualattention","repo_kind":"official","path":"common/nets/layer.py","file_url":"https://github.com/rongakowang/densemutualattention/blob/HEAD/common/nets/layer.py","link_basis":"harvester_set","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":"7223f94782b5fb61"}},{"code_sha256_prefix":"9b987af9445edb28","entry":"spmm","repo":"rongakowang/densemutualattention","repo_kind":"official","path":"common/nets/graph_layers.py","file_url":"https://github.com/rongakowang/densemutualattention/blob/HEAD/common/nets/graph_layers.py","link_basis":"harvester_set","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":"9b987af9445edb28"}},{"code_sha256_prefix":"37ba8c8c54663d90","entry":"tensorify","repo":"rongakowang/densemutualattention","repo_kind":"official","path":"common/utils/collision_loss.py","file_url":"https://github.com/rongakowang/densemutualattention/blob/HEAD/common/utils/collision_loss.py","link_basis":"harvester_set","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":"37ba8c8c54663d90"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}