{"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/space-time-separable-graph-convolutional-1","title":"Space-Time-Separable Graph Convolutional Network for Pose Forecasting","arxiv_id":"2110.04573","date":"2021-10-09","proceeding":"ICCV 2021 10","authors":["Theodoros Sofianos","Alessio Sampieri","Luca Franco","Fabio Galasso"],"abstract":"Human pose forecasting is a complex structured-data sequence-modelling task, which has received increasing attention, also due to numerous potential applications. Research has mainly addressed the temporal dimension as time series and the interaction of human body joints with a kinematic tree or by a graph. This has decoupled the two aspects and leveraged progress from the relevant fields, but it has also limited the understanding of the complex structural joint spatio-temporal dynamics of the human pose. Here we propose a novel Space-Time-Separable Graph Convolutional Network (STS-GCN) for pose forecasting. For the first time, STS-GCN models the human pose dynamics only with a graph convolutional network (GCN), including the temporal evolution and the spatial joint interaction within a single-graph framework, which allows the cross-talk of motion and spatial correlations. Concurrently, STS-GCN is the first space-time-separable GCN: the space-time graph connectivity is factored into space and time affinity matrices, which bottlenecks the space-time cross-talk, while enabling full joint-joint and time-time correlations. Both affinity matrices are learnt end-to-end, which results in connections substantially deviating from the standard kinematic tree and the linear-time time series. In experimental evaluation on three complex, recent and large-scale benchmarks, Human3.6M [Ionescu et al. TPAMI'14], AMASS [Mahmood et al. ICCV'19] and 3DPW [Von Marcard et al. ECCV'18], STS-GCN outperforms the state-of-the-art, surpassing the current best technique [Mao et al. ECCV'20] by over 32% in average at the most difficult long-term predictions, while only requiring 1.7% of its parameters. We explain the results qualitatively and illustrate the graph interactions by the factored joint-joint and time-time learnt graph connections. Our source code is available at: https://github.com/FraLuca/STSGCN","url_abs":"https://arxiv.org/abs/2110.04573v1","url_pdf":"https://arxiv.org/pdf/2110.04573v1.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":"space-time-separable-graph-convolutional-1","repo_url":"https://github.com/fraluca/stsgcn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"human-pose-forecasting","task_name":"Human Pose Forecasting"},{"task_slug":"sts","task_name":"STS"},{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series","task_name":"Time Series Analysis"}],"methods":[{"method_slug":"gcn","method_name":"GCN"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/human-pose-forecasting-on-3dpw","task":"Human Pose Forecasting","dataset":"3DPW","model":"STS-GCN","rank_in_archive_order":1,"of":7,"metrics":{"Average MPJPE (mm) 1000 msec":"42.3"},"uses_additional_data":false},{"leaderboard":"/sota/human-pose-forecasting-on-amass","task":"Human Pose Forecasting","dataset":"AMASS","model":"STS-GCN","rank_in_archive_order":1,"of":11,"metrics":{"Average MPJPE (mm) 1000 msec":"45.5"},"uses_additional_data":false},{"leaderboard":"/sota/human-pose-forecasting-on-harper","task":"Human Pose Forecasting","dataset":"HARPER","model":"STS-GCN","rank_in_archive_order":3,"of":3,"metrics":{"Average MPJPE (mm) @ 1000ms":"171","Average MPJPE (mm) @ 400ms":"120","Last Frame MPJPE (mm) @ 1000ms":"260","Last Frame MPJPE (mm) @ 400ms":"147"},"uses_additional_data":false},{"leaderboard":"/sota/human-pose-forecasting-on-human36m","task":"Human Pose Forecasting","dataset":"Human3.6M","model":"STS-GCN","rank_in_archive_order":15,"of":33,"metrics":{"Average MPJPE (mm) @ 1000 ms":"117.0","Average MPJPE (mm) @ 400ms":"65.8","MAR, walking, 1,000ms":"0.87","MAR, walking, 400ms":"0.55"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2110.04573","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.04573"}},"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/fraluca/stsgcn","reach":null}],"summary":{"ran":2,"unverified":1},"by_repo_kind":{"official":{"samples":3,"ran":2,"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":"5e1478060482511c","entry":"ConvTemporalGraphical","repo":"fraluca/stsgcn","repo_kind":"official","path":"model.py","file_url":"https://github.com/fraluca/stsgcn/blob/HEAD/model.py","link_basis":"first_harvest_node","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":"5e1478060482511c"}},{"code_sha256_prefix":"cfae10a6f0a4a056","entry":"ST_GCNN_layer","repo":"fraluca/stsgcn","repo_kind":"official","path":"model.py","file_url":"https://github.com/fraluca/stsgcn/blob/HEAD/model.py","link_basis":"first_harvest_node","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":"cfae10a6f0a4a056"}},{"code_sha256_prefix":"c88113ad3c3b9424","entry":"Model","repo":"fraluca/stsgcn","repo_kind":"official","path":"model.py","file_url":"https://github.com/fraluca/stsgcn/blob/HEAD/model.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":"c88113ad3c3b9424"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}