{"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/graphmlp-a-graph-mlp-like-architecture-for-3d","title":"GraphMLP: A Graph MLP-Like Architecture for 3D Human Pose Estimation","arxiv_id":"2206.06420","date":"2022-06-13","proceeding":null,"authors":["Wenhao Li","Mengyuan Liu","Hong Liu","Tianyu Guo","Ti Wang","Hao Tang","Nicu Sebe"],"abstract":"Modern multi-layer perceptron (MLP) models have shown competitive results in learning visual representations without self-attention. However, existing MLP models are not good at capturing local details and lack prior knowledge of human body configurations, which limits their modeling power for skeletal representation learning. To address these issues, we propose a simple yet effective graph-reinforced MLP-Like architecture, named GraphMLP, that combines MLPs and graph convolutional networks (GCNs) in a global-local-graphical unified architecture for 3D human pose estimation. GraphMLP incorporates the graph structure of human bodies into an MLP model to meet the domain-specific demand of the 3D human pose, while allowing for both local and global spatial interactions. Furthermore, we propose to flexibly and efficiently extend the GraphMLP to the video domain and show that complex temporal dynamics can be effectively modeled in a simple way with negligible computational cost gains in the sequence length. To the best of our knowledge, this is the first MLP-Like architecture for 3D human pose estimation in a single frame and a video sequence. Extensive experiments show that the proposed GraphMLP achieves state-of-the-art performance on two datasets, i.e., Human3.6M and MPI-INF-3DHP. Code and models are available at https://github.com/Vegetebird/GraphMLP.","url_abs":"https://arxiv.org/abs/2206.06420v5","url_pdf":"https://arxiv.org/pdf/2206.06420v5.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":"graphmlp-a-graph-mlp-like-architecture-for-3d","repo_url":"https://github.com/vegetebird/graphmlp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-human-pose-estimation","task_name":"3D Human Pose Estimation"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-human-pose-estimation-on-human36m","task":"3D Human Pose Estimation","dataset":"Human3.6M","model":"GraphMLP","rank_in_archive_order":53,"of":88,"metrics":{"Average MPJPE (mm)":"48","Multi-View or Monocular":"Monocular","Using 2D ground-truth joints":"No"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2206.06420","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2206.06420"}},"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/vegetebird/graphmlp","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":9},"by_repo_kind":{"official":{"samples":9,"ran":0,"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":"fdc879ae10929e49","entry":"auc","repo":"vegetebird/graphmlp","repo_kind":"official","path":"common/eval_cal.py","file_url":"https://github.com/vegetebird/graphmlp/blob/HEAD/common/eval_cal.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":"fdc879ae10929e49"}},{"code_sha256_prefix":"4f90e9c4236a4d56","entry":"camera_to_world","repo":"vegetebird/graphmlp","repo_kind":"official","path":"common/camera.py","file_url":"https://github.com/vegetebird/graphmlp/blob/HEAD/common/camera.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":"4f90e9c4236a4d56"}},{"code_sha256_prefix":"f340231a437b5d99","entry":"get_varialbe","repo":"vegetebird/graphmlp","repo_kind":"official","path":"common/utils.py","file_url":"https://github.com/vegetebird/graphmlp/blob/HEAD/common/utils.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":"f340231a437b5d99"}},{"code_sha256_prefix":"754f9dab8b2150e0","entry":"mpjpe","repo":"vegetebird/graphmlp","repo_kind":"official","path":"common/eval_cal.py","file_url":"https://github.com/vegetebird/graphmlp/blob/HEAD/common/eval_cal.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":"754f9dab8b2150e0"}},{"code_sha256_prefix":"82baf6aa4fb040a1","entry":"normalize_screen_coordinates","repo":"vegetebird/graphmlp","repo_kind":"official","path":"common/camera.py","file_url":"https://github.com/vegetebird/graphmlp/blob/HEAD/common/camera.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":"82baf6aa4fb040a1"}},{"code_sha256_prefix":"2fda76263a098254","entry":"pck","repo":"vegetebird/graphmlp","repo_kind":"official","path":"common/eval_cal.py","file_url":"https://github.com/vegetebird/graphmlp/blob/HEAD/common/eval_cal.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":"2fda76263a098254"}},{"code_sha256_prefix":"c4a4ece50ff5ab1f","entry":"print_error","repo":"vegetebird/graphmlp","repo_kind":"official","path":"common/utils.py","file_url":"https://github.com/vegetebird/graphmlp/blob/HEAD/common/utils.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":"c4a4ece50ff5ab1f"}},{"code_sha256_prefix":"f5c654d493359731","entry":"print_error_action","repo":"vegetebird/graphmlp","repo_kind":"official","path":"common/utils.py","file_url":"https://github.com/vegetebird/graphmlp/blob/HEAD/common/utils.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":"f5c654d493359731"}},{"code_sha256_prefix":"3ee3f1a035de51e6","entry":"world_to_camera","repo":"vegetebird/graphmlp","repo_kind":"official","path":"common/camera.py","file_url":"https://github.com/vegetebird/graphmlp/blob/HEAD/common/camera.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":"3ee3f1a035de51e6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}