{"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/msr-gcn-multi-scale-residual-graph","title":"MSR-GCN: Multi-Scale Residual Graph Convolution Networks for Human Motion Prediction","arxiv_id":"2108.07152","date":"2021-08-16","proceeding":"ICCV 2021 10","authors":["Lingwei Dang","Yongwei Nie","Chengjiang Long","Qing Zhang","Guiqing Li"],"abstract":"Human motion prediction is a challenging task due to the stochasticity and aperiodicity of future poses. Recently, graph convolutional network has been proven to be very effective to learn dynamic relations among pose joints, which is helpful for pose prediction. On the other hand, one can abstract a human pose recursively to obtain a set of poses at multiple scales. With the increase of the abstraction level, the motion of the pose becomes more stable, which benefits pose prediction too. In this paper, we propose a novel Multi-Scale Residual Graph Convolution Network (MSR-GCN) for human pose prediction task in the manner of end-to-end. The GCNs are used to extract features from fine to coarse scale and then from coarse to fine scale. The extracted features at each scale are then combined and decoded to obtain the residuals between the input and target poses. Intermediate supervisions are imposed on all the predicted poses, which enforces the network to learn more representative features. Our proposed approach is evaluated on two standard benchmark datasets, i.e., the Human3.6M dataset and the CMU Mocap dataset. Experimental results demonstrate that our method outperforms the state-of-the-art approaches. Code and pre-trained models are available at https://github.com/Droliven/MSRGCN.","url_abs":"https://arxiv.org/abs/2108.07152v2","url_pdf":"https://arxiv.org/pdf/2108.07152v2.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":"msr-gcn-multi-scale-residual-graph","repo_url":"https://github.com/Droliven/MSRGCN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"human-pose-forecasting","task_name":"Human Pose Forecasting"},{"task_slug":"human-motion-prediction","task_name":"Human motion prediction"},{"task_slug":"pose-prediction","task_name":"Pose Prediction"},{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"motion-prediction","task_name":"motion prediction"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/human-pose-forecasting-on-human36m","task":"Human Pose Forecasting","dataset":"Human3.6M","model":"MSR-GCN","rank_in_archive_order":13,"of":33,"metrics":{"Average MPJPE (mm) @ 1000 ms":"114.2","Average MPJPE (mm) @ 400ms":"62.9"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2108.07152","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.07152"}},"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/Droliven/MSRGCN","reach":null}],"summary":{"ran":6,"unverified":1},"by_repo_kind":{"official":{"samples":7,"ran":6,"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":7,"samples":[{"code_sha256_prefix":"3e0fd86335fe1526","entry":"GC_Block","repo":"Droliven/MSRGCN","repo_kind":"official","path":"nets/msrgcn.py","file_url":"https://github.com/Droliven/MSRGCN/blob/HEAD/nets/msrgcn.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":"3e0fd86335fe1526"}},{"code_sha256_prefix":"fa90576ed9f74efe","entry":"GraphConvolution","repo":"Droliven/MSRGCN","repo_kind":"official","path":"nets/msrgcn.py","file_url":"https://github.com/Droliven/MSRGCN/blob/HEAD/nets/msrgcn.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":"fa90576ed9f74efe"}},{"code_sha256_prefix":"be5c3388f6319a62","entry":"PostGCN","repo":"Droliven/MSRGCN","repo_kind":"official","path":"nets/msrgcn.py","file_url":"https://github.com/Droliven/MSRGCN/blob/HEAD/nets/msrgcn.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":"be5c3388f6319a62"}},{"code_sha256_prefix":"b50a9e5d45ff4849","entry":"PreGCN","repo":"Droliven/MSRGCN","repo_kind":"official","path":"nets/msrgcn.py","file_url":"https://github.com/Droliven/MSRGCN/blob/HEAD/nets/msrgcn.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":"b50a9e5d45ff4849"}},{"code_sha256_prefix":"120ebc787593351e","entry":"SingleLeftLinear","repo":"Droliven/MSRGCN","repo_kind":"official","path":"nets/msrgcn.py","file_url":"https://github.com/Droliven/MSRGCN/blob/HEAD/nets/msrgcn.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":"120ebc787593351e"}},{"code_sha256_prefix":"da2c0fa0259d8f7e","entry":"SingleRightLinear","repo":"Droliven/MSRGCN","repo_kind":"official","path":"nets/msrgcn.py","file_url":"https://github.com/Droliven/MSRGCN/blob/HEAD/nets/msrgcn.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":"da2c0fa0259d8f7e"}},{"code_sha256_prefix":"46fd0cafa109544e","entry":"MSRGCN","repo":"Droliven/MSRGCN","repo_kind":"official","path":"nets/msrgcn.py","file_url":"https://github.com/Droliven/MSRGCN/blob/HEAD/nets/msrgcn.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":"46fd0cafa109544e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}