{"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/imagining-the-road-ahead-multi-agent","title":"Imagining The Road Ahead: Multi-Agent Trajectory Prediction via Differentiable Simulation","arxiv_id":"2104.11212","date":"2021-04-22","proceeding":null,"authors":["Adam Scibior","Vasileios Lioutas","Daniele Reda","Peyman Bateni","Frank Wood"],"abstract":"We develop a deep generative model built on a fully differentiable simulator for multi-agent trajectory prediction. Agents are modeled with conditional recurrent variational neural networks (CVRNNs), which take as input an ego-centric birdview image representing the current state of the world and output an action, consisting of steering and acceleration, which is used to derive the subsequent agent state using a kinematic bicycle model. The full simulation state is then differentiably rendered for each agent, initiating the next time step. We achieve state-of-the-art results on the INTERACTION dataset, using standard neural architectures and a standard variational training objective, producing realistic multi-modal predictions without any ad-hoc diversity-inducing losses. We conduct ablation studies to examine individual components of the simulator, finding that both the kinematic bicycle model and the continuous feedback from the birdview image are crucial for achieving this level of performance. We name our model ITRA, for \"Imagining the Road Ahead\".","url_abs":"https://arxiv.org/abs/2104.11212v1","url_pdf":"https://arxiv.org/pdf/2104.11212v1.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":"imagining-the-road-ahead-multi-agent","repo_url":"https://github.com/inverted-ai/torchdrivesim","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"self-driving-cars","task_name":"Self-Driving Cars"},{"task_slug":"trajectory-prediction","task_name":"Trajectory Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/trajectory-prediction-on-interaction-dataset-2","task":"Trajectory Prediction","dataset":"INTERACTION Dataset - Validation","model":"ITRA","rank_in_archive_order":1,"of":4,"metrics":{"minADE6":"0.17","minFDE6":"0.49"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.11212","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.11212"}},"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/inverted-ai/torchdrivesim","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":9},"by_repo_kind":{"listed":{"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":"84c3abb207db1e13","entry":"box1_in_box2","repo":"inverted-ai/torchdrivesim","repo_kind":"listed","path":"torchdrivesim/_iou_utils.py","file_url":"https://github.com/inverted-ai/torchdrivesim/blob/HEAD/torchdrivesim/_iou_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"84c3abb207db1e13"}},{"code_sha256_prefix":"230c2bf2f8e8f1d3","entry":"box_intersection_th","repo":"inverted-ai/torchdrivesim","repo_kind":"listed","path":"torchdrivesim/_iou_utils.py","file_url":"https://github.com/inverted-ai/torchdrivesim/blob/HEAD/torchdrivesim/_iou_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"230c2bf2f8e8f1d3"}},{"code_sha256_prefix":"2ab500feac83cac8","entry":"find_direction","repo":"inverted-ai/torchdrivesim","repo_kind":"listed","path":"torchdrivesim/lanelet2.py","file_url":"https://github.com/inverted-ai/torchdrivesim/blob/HEAD/torchdrivesim/lanelet2.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2ab500feac83cac8"}},{"code_sha256_prefix":"e4b0b520246f1eb3","entry":"isin","repo":"inverted-ai/torchdrivesim","repo_kind":"listed","path":"torchdrivesim/utils.py","file_url":"https://github.com/inverted-ai/torchdrivesim/blob/HEAD/torchdrivesim/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e4b0b520246f1eb3"}},{"code_sha256_prefix":"18047d3a00cf3fae","entry":"normalize_angle","repo":"inverted-ai/torchdrivesim","repo_kind":"listed","path":"torchdrivesim/utils.py","file_url":"https://github.com/inverted-ai/torchdrivesim/blob/HEAD/torchdrivesim/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"18047d3a00cf3fae"}},{"code_sha256_prefix":"586498178ddbde64","entry":"point_to_mesh_distance_pt","repo":"inverted-ai/torchdrivesim","repo_kind":"listed","path":"torchdrivesim/infractions.py","file_url":"https://github.com/inverted-ai/torchdrivesim/blob/HEAD/torchdrivesim/infractions.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"586498178ddbde64"}},{"code_sha256_prefix":"fbd7f4fe219cea18","entry":"precision_rounding","repo":"inverted-ai/torchdrivesim","repo_kind":"listed","path":"torchdrivesim/_iou_utils.py","file_url":"https://github.com/inverted-ai/torchdrivesim/blob/HEAD/torchdrivesim/_iou_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fbd7f4fe219cea18"}},{"code_sha256_prefix":"1649c7681e8aac17","entry":"rotation_matrix","repo":"inverted-ai/torchdrivesim","repo_kind":"listed","path":"torchdrivesim/utils.py","file_url":"https://github.com/inverted-ai/torchdrivesim/blob/HEAD/torchdrivesim/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1649c7681e8aac17"}},{"code_sha256_prefix":"9e915a1c02235936","entry":"tensor_color","repo":"inverted-ai/torchdrivesim","repo_kind":"listed","path":"torchdrivesim/mesh.py","file_url":"https://github.com/inverted-ai/torchdrivesim/blob/HEAD/torchdrivesim/mesh.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9e915a1c02235936"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}