Papers › Best Practices for 2-Body Pose Forecasting

Best Practices for 2-Body Pose Forecasting

12 Apr 2023arXiv:2304.05758archive 2025-07-28

Muhammad Rameez Ur Rahman, Luca Scofano, Edoardo De Matteis, Alessandro Flaborea, Alessio Sampieri, Fabio Galasso

The task of collaborative human pose forecasting stands for predicting the future poses of multiple interacting people, given those in previous frames. Predicting two people in interaction, instead of each separately, promises better performance, due to their body-body motion correlations. But the task has remained so far primarily unexplored. In this paper, we review the progress in human pose forecasting and provide an in-depth assessment of the single-person practices that perform best for 2-body collaborative motion forecasting. Our study confirms the positive impact of frequency input representations, space-time separable and fully-learnable interaction adjacencies for the encoding GCN and FC decoding. Other single-person practices do not transfer to 2-body, so the proposed best ones do not include hierarchical body modeling or attention-based interaction encoding. We further contribute a novel initialization procedure for the 2-body spatial interaction parameters of the encoder, which benefits performance and stability. Altogether, our proposed 2-body pose forecasting best practices yield a performance improvement of 21.9% over the state-of-the-art on the most recent ExPI dataset, whereby the novel initialization accounts for 3.5%. See our project page at https://www.pinlab.org/bestpractices2body

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2304.05758")

Code

Syntology Ran 3 of 17 code samples harvested from 1 repository linked to this paper; 14 have no recorded run. Of those that ran: 3 ran with no contract checked.

By repository: official repository: 17 samples from 1 repository, 3 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

edodema/BestPractices2Body officialmentioned on GitHubpytorchMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

17 samples harvested; 3 ran; 0 honoured the contract we drafted; 14 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

3ran
14unverified

Licence: 0 of the 17 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from edodema/BestPractices2Body. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: 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. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

ang2joint edodema/BestPractices2Body/src/utils/angle_to_joint.py official repository ran MIT (permissive) · c0984e125450806e · report
rodrigues edodema/BestPractices2Body/src/utils/angle_to_joint.py official repository ran fingerprinted MIT (permissive) · d7032acefdc1b55a · report
with_zeros edodema/BestPractices2Body/src/utils/angle_to_joint.py official repository ran fingerprinted MIT (permissive) · 6588622485d7bdc2 · report
extant_file edodema/BestPractices2Body/src/utils/pyt_utils.py official repository unverified MIT (permissive) · 81e27319d084659d · report
fkl_torch edodema/BestPractices2Body/src/utils/misc.py official repository unverified MIT (permissive) · 1edbc792f56ab438 · report
gen_velocity edodema/BestPractices2Body/src/utils/util.py official repository unverified MIT (permissive) · 044ab013d7abd46a · report
get_dct_matrix edodema/BestPractices2Body/src/utils/util.py official repository unverified MIT (permissive) · 68de7a44b4f27b2d · report
get_logger edodema/BestPractices2Body/src/utils/logger.py official repository unverified MIT (permissive) · 7660a1c90472fa55 · report
normExPI_2p_by_frame edodema/BestPractices2Body/src/datasets/data_utils_pi3d.py official repository unverified MIT (permissive) · ba3289fec7009fc0 · report
normExPI_xoz edodema/BestPractices2Body/src/datasets/data_utils_pi3d.py official repository unverified MIT (permissive) · d349fb0b9c8391b7 · report
readCSVasFloat edodema/BestPractices2Body/src/datasets/data_utils_pi3d.py official repository unverified MIT (permissive) · 2382970d969a42d1 · report
rigid_align edodema/BestPractices2Body/src/utils/rigid_align.py official repository unverified MIT (permissive) · 6f649cf48e2412ce · report
rigid_align_torch edodema/BestPractices2Body/src/utils/rigid_align.py official repository unverified MIT (permissive) · 718c13d3298cc856 · report
rigid_transform_3D edodema/BestPractices2Body/src/utils/rigid_align.py official repository unverified MIT (permissive) · 010398fec721a847 · report
rotmat2euler_torch edodema/BestPractices2Body/src/utils/misc.py official repository unverified MIT (permissive) · 13250dfe061caa67 · report
rotmat2quat_torch edodema/BestPractices2Body/src/utils/misc.py official repository unverified MIT (permissive) · 963cf42da1883209 · report
update_lr_multistep edodema/BestPractices2Body/src/utils/util.py official repository unverified MIT (permissive) · ebbcbb831700b43b · report

Tasks

Human Pose ForecastingMotion ForecastingMulti-Person Pose forecastingmotion prediction

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Multi-Person Pose forecasting Expi - common actions split Best Practices for 2-Body Pose Forecasting Average MPJPE (mm) @ 1000 ms 202 #1 of 6 Archive leaderboard report
Multi-Person Pose forecasting Expi - common actions split Best Practices for 2-Body Pose Forecasting Average MPJPE (mm) @ 200 ms 39 #1 of 6 Archive leaderboard report
Multi-Person Pose forecasting Expi - common actions split Best Practices for 2-Body Pose Forecasting Average MPJPE (mm) @ 400 ms 86 #1 of 6 Archive leaderboard report
Multi-Person Pose forecasting Expi - common actions split Best Practices for 2-Body Pose Forecasting Average MPJPE (mm) @ 600 ms 129 #1 of 6 Archive leaderboard report
Multi-Person Pose forecasting Expi - unseen actions split Best Practices for 2-Body Pose Forecasting Average MPJPE (mm) @ 400 ms 100 #1 of 5 Archive leaderboard report
Multi-Person Pose forecasting Expi - unseen actions split Best Practices for 2-Body Pose Forecasting Average MPJPE (mm) @ 600 ms 149 #1 of 5 Archive leaderboard report
Multi-Person Pose forecasting Expi - unseen actions split Best Practices for 2-Body Pose Forecasting Average MPJPE (mm) @ 800 ms 191 #1 of 5 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

GCN

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections