{"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/scene-aware-human-motion-forecasting-via","title":"Scene-aware Human Motion Forecasting via Mutual Distance Prediction","arxiv_id":"2310.00615","date":"2023-10-01","proceeding":null,"authors":["Chaoyue Xing","Wei Mao","Miaomiao Liu"],"abstract":"In this paper, we tackle the problem of scene-aware 3D human motion forecasting. A key challenge of this task is to predict future human motions that are consistent with the scene by modeling the human-scene interactions. While recent works have demonstrated that explicit constraints on human-scene interactions can prevent the occurrence of ghost motion, they only provide constraints on partial human motion e.g., the global motion of the human or a few joints contacting the scene, leaving the rest of the motion unconstrained. To address this limitation, we propose to model the human-scene interaction with the mutual distance between the human body and the scene. Such mutual distances constrain both the local and global human motion, resulting in a whole-body motion constrained prediction. In particular, mutual distance constraints consist of two components, the signed distance of each vertex on the human mesh to the scene surface and the distance of basis scene points to the human mesh. We further introduce a global scene representation learned from a signed distance function (SDF) volume to ensure coherence between the global scene representation and the explicit constraint from the mutual distance. We develop a pipeline with two sequential steps: predicting the future mutual distances first, followed by forecasting future human motion. During training, we explicitly encourage consistency between predicted poses and mutual distances. Extensive evaluations on the existing synthetic and real datasets demonstrate that our approach consistently outperforms the state-of-the-art methods.","url_abs":"https://arxiv.org/abs/2310.00615v4","url_pdf":"https://arxiv.org/pdf/2310.00615v4.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":"scene-aware-human-motion-forecasting-via","repo_url":"https://github.com/xccyue/MutualDistance","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"human-pose-forecasting","task_name":"Human Pose Forecasting"},{"task_slug":"motion-forecasting","task_name":"Motion Forecasting"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/human-pose-forecasting-on-gta-im-dataset","task":"Human Pose Forecasting","dataset":"GTA-IM Dataset","model":"Xing et al.","rank_in_archive_order":1,"of":3,"metrics":{"Path Error":"72.0","Pose Error":"44.6"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.00615","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.00615"}},"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/xccyue/MutualDistance","reach":{"status":"ok"}}],"summary":{"ran_honours":1,"ran":5,"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":"4d38e5eb0de5cfb6","entry":"get_dct_matrix","repo":"xccyue/MutualDistance","repo_kind":"official","path":"GTAIM/finalmodel/model/dataloader.py","file_url":"https://github.com/xccyue/MutualDistance/blob/HEAD/GTAIM/finalmodel/model/dataloader.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4d38e5eb0de5cfb6"}},{"code_sha256_prefix":"6870f18a9ca74b62","entry":"get_scheduler","repo":"xccyue/MutualDistance","repo_kind":"official","path":"GTAIM/finalmodel/model/solver.py","file_url":"https://github.com/xccyue/MutualDistance/blob/HEAD/GTAIM/finalmodel/model/solver.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":"6870f18a9ca74b62"}},{"code_sha256_prefix":"66ba9a826df66328","entry":"get_sdf_grid_batch","repo":"xccyue/MutualDistance","repo_kind":"official","path":"GTAIM/finalmodel/model/dataloader.py","file_url":"https://github.com/xccyue/MutualDistance/blob/HEAD/GTAIM/finalmodel/model/dataloader.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":"66ba9a826df66328"}},{"code_sha256_prefix":"d39f8d1ac210062d","entry":"is_point_in_cuboid","repo":"xccyue/MutualDistance","repo_kind":"official","path":"GTAIM/finalmodel/utils/geo_utils.py","file_url":"https://github.com/xccyue/MutualDistance/blob/HEAD/GTAIM/finalmodel/utils/geo_utils.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":"d39f8d1ac210062d"}},{"code_sha256_prefix":"34993200383d2f69","entry":"normal","repo":"xccyue/MutualDistance","repo_kind":"official","path":"GTAIM/finalmodel/utils/geo_utils.py","file_url":"https://github.com/xccyue/MutualDistance/blob/HEAD/GTAIM/finalmodel/utils/geo_utils.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":"34993200383d2f69"}},{"code_sha256_prefix":"8e2e46ed402dd921","entry":"singleton","repo":"xccyue/MutualDistance","repo_kind":"official","path":"GTAIM/finalmodel/utils/utilities.py","file_url":"https://github.com/xccyue/MutualDistance/blob/HEAD/GTAIM/finalmodel/utils/utilities.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":"8e2e46ed402dd921"}},{"code_sha256_prefix":"f6e42d1a52522ffb","entry":"batch_to","repo":"xccyue/MutualDistance","repo_kind":"official","path":"GTAIM/finalmodel/model/basemodel.py","file_url":"https://github.com/xccyue/MutualDistance/blob/HEAD/GTAIM/finalmodel/model/basemodel.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":"f6e42d1a52522ffb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}