{"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/group-pose-a-simple-baseline-for-end-to-end","title":"Group Pose: A Simple Baseline for End-to-End Multi-person Pose Estimation","arxiv_id":"2308.07313","date":"2023-08-14","proceeding":"ICCV 2023 1","authors":["Huan Liu","Qiang Chen","Zichang Tan","Jiang-Jiang Liu","Jian Wang","Xiangbo Su","Xiaolong Li","Kun Yao","Junyu Han","Errui Ding","Yao Zhao","Jingdong Wang"],"abstract":"In this paper, we study the problem of end-to-end multi-person pose estimation. State-of-the-art solutions adopt the DETR-like framework, and mainly develop the complex decoder, e.g., regarding pose estimation as keypoint box detection and combining with human detection in ED-Pose, hierarchically predicting with pose decoder and joint (keypoint) decoder in PETR. We present a simple yet effective transformer approach, named Group Pose. We simply regard $K$-keypoint pose estimation as predicting a set of $N\\times K$ keypoint positions, each from a keypoint query, as well as representing each pose with an instance query for scoring $N$ pose predictions. Motivated by the intuition that the interaction, among across-instance queries of different types, is not directly helpful, we make a simple modification to decoder self-attention. We replace single self-attention over all the $N\\times(K+1)$ queries with two subsequent group self-attentions: (i) $N$ within-instance self-attention, with each over $K$ keypoint queries and one instance query, and (ii) $(K+1)$ same-type across-instance self-attention, each over $N$ queries of the same type. The resulting decoder removes the interaction among across-instance type-different queries, easing the optimization and thus improving the performance. Experimental results on MS COCO and CrowdPose show that our approach without human box supervision is superior to previous methods with complex decoders, and even is slightly better than ED-Pose that uses human box supervision. $\\href{https://github.com/Michel-liu/GroupPose-Paddle}{\\rm Paddle}$ and $\\href{https://github.com/Michel-liu/GroupPose}{\\rm PyTorch}$ code are available.","url_abs":"https://arxiv.org/abs/2308.07313v1","url_pdf":"https://arxiv.org/pdf/2308.07313v1.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":"group-pose-a-simple-baseline-for-end-to-end","repo_url":"https://github.com/michel-liu/grouppose","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"group-pose-a-simple-baseline-for-end-to-end","repo_url":"https://github.com/michel-liu/grouppose-paddle","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"paddle","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"human-detection","task_name":"Human Detection"},{"task_slug":"multi-person-pose-estimation","task_name":"Multi-Person Pose Estimation"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.07313","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.07313"}},"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/michel-liu/grouppose-paddle","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/michel-liu/grouppose","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/Michel-liu/GroupPose-Paddle","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/Michel-liu/GroupPose","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":16,"ran_fixture":2,"ran_honours":1,"ran_draft_wrong":2,"unverified":1},"by_repo_kind":{"official":{"samples":22,"ran":21,"repositories":2}},"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":"b470cc20ddf04258","entry":"build_matcher","repo":"Michel-liu/GroupPose","repo_kind":"official","path":"models/grouppose/matcher.py","file_url":"https://github.com/Michel-liu/GroupPose/blob/HEAD/models/grouppose/matcher.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b470cc20ddf04258"}},{"code_sha256_prefix":"891281774f8942bd","entry":"dump_value","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/core/workspace.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/core/workspace.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"891281774f8942bd"}},{"code_sha256_prefix":"e3b2768e6a9c1cb5","entry":"gen_encoder_output_proposals","repo":"Michel-liu/GroupPose","repo_kind":"official","path":"models/grouppose/utils.py","file_url":"https://github.com/Michel-liu/GroupPose/blob/HEAD/models/grouppose/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e3b2768e6a9c1cb5"}},{"code_sha256_prefix":"4c82654ae6131ecc","entry":"gen_sineembed_for_position","repo":"Michel-liu/GroupPose","repo_kind":"official","path":"models/grouppose/utils.py","file_url":"https://github.com/Michel-liu/GroupPose/blob/HEAD/models/grouppose/utils.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4c82654ae6131ecc"}},{"code_sha256_prefix":"c115c6190dd6b6d3","entry":"generate_scale","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"deploy/auto_compression/paddle_inference_eval.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/deploy/auto_compression/paddle_inference_eval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c115c6190dd6b6d3"}},{"code_sha256_prefix":"e9ea8d6169dd3c5a","entry":"get_affine_mat_kernel","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/modeling/keypoint_utils.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/modeling/keypoint_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e9ea8d6169dd3c5a"}},{"code_sha256_prefix":"2fc1e1b3d4511e08","entry":"get_affine_transform","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/modeling/keypoint_utils.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/modeling/keypoint_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2fc1e1b3d4511e08"}},{"code_sha256_prefix":"6a8c58548a03d3a2","entry":"get_color_map_list","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"deploy/auto_compression/paddle_inference_eval.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/deploy/auto_compression/paddle_inference_eval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6a8c58548a03d3a2"}},{"code_sha256_prefix":"75f2a6d60178f80d","entry":"get_warp_matrix","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/modeling/keypoint_utils.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/modeling/keypoint_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"75f2a6d60178f80d"}},{"code_sha256_prefix":"e241ea7c12e86306","entry":"get_weights_url","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/model_zoo/model_zoo.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/model_zoo/model_zoo.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e241ea7c12e86306"}},{"code_sha256_prefix":"9910e2fc297f8665","entry":"identity","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/modeling/ops.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/modeling/ops.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9910e2fc297f8665"}},{"code_sha256_prefix":"145a8b9a0a3f9d79","entry":"image_preprocess","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"deploy/auto_compression/paddle_inference_eval.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/deploy/auto_compression/paddle_inference_eval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"145a8b9a0a3f9d79"}},{"code_sha256_prefix":"7b71ca54a440c129","entry":"load_config","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/core/workspace.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/core/workspace.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7b71ca54a440c129"}},{"code_sha256_prefix":"0cf81b30bc14579c","entry":"multiclass_nms","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/modeling/post_process.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/modeling/post_process.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0cf81b30bc14579c"}},{"code_sha256_prefix":"c54757be76d21549","entry":"nms","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/modeling/post_process.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/modeling/post_process.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c54757be76d21549"}},{"code_sha256_prefix":"6c7db6948ecffd97","entry":"norm_angle","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/modeling/rbox_utils.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/modeling/rbox_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6c7db6948ecffd97"}},{"code_sha256_prefix":"5b37cc101c76cbd0","entry":"poly2rbox_le135_np","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/modeling/rbox_utils.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/modeling/rbox_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5b37cc101c76cbd0"}},{"code_sha256_prefix":"155145950e1115ca","entry":"poly2rbox_oc_np","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/modeling/rbox_utils.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/modeling/rbox_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"155145950e1115ca"}},{"code_sha256_prefix":"5c0711aada67957e","entry":"sigmoid_focal_loss","repo":"Michel-liu/GroupPose","repo_kind":"official","path":"models/grouppose/utils.py","file_url":"https://github.com/Michel-liu/GroupPose/blob/HEAD/models/grouppose/utils.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5c0711aada67957e"}},{"code_sha256_prefix":"f9fd6241d935f07b","entry":"window_partition","repo":"Michel-liu/GroupPose","repo_kind":"official","path":"models/grouppose/backbones/swin_transformer.py","file_url":"https://github.com/Michel-liu/GroupPose/blob/HEAD/models/grouppose/backbones/swin_transformer.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f9fd6241d935f07b"}},{"code_sha256_prefix":"fb32094c6dbece71","entry":"window_reverse","repo":"Michel-liu/GroupPose","repo_kind":"official","path":"models/grouppose/backbones/swin_transformer.py","file_url":"https://github.com/Michel-liu/GroupPose/blob/HEAD/models/grouppose/backbones/swin_transformer.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fb32094c6dbece71"}},{"code_sha256_prefix":"553169f24c2e1789","entry":"dict_merge","repo":"Michel-liu/GroupPose-Paddle","repo_kind":"official","path":"ppdet/core/workspace.py","file_url":"https://github.com/Michel-liu/GroupPose-Paddle/blob/HEAD/ppdet/core/workspace.py","link_basis":"harvester_set","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":"553169f24c2e1789"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}