{"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/goalflow-goal-driven-flow-matching-for","title":"GoalFlow: Goal-Driven Flow Matching for Multimodal Trajectories Generation in End-to-End Autonomous Driving","arxiv_id":"2503.05689","date":"2025-03-07","proceeding":"CVPR 2025 1","authors":["Zebin Xing","Xingyu Zhang","Yang Hu","Bo Jiang","Tong He","Qian Zhang","Xiaoxiao Long","Wei Yin"],"abstract":"We propose GoalFlow, an end-to-end autonomous driving method for generating high-quality multimodal trajectories. In autonomous driving scenarios, there is rarely a single suitable trajectory. Recent methods have increasingly focused on modeling multimodal trajectory distributions. However, they suffer from trajectory selection complexity and reduced trajectory quality due to high trajectory divergence and inconsistencies between guidance and scene information. To address these issues, we introduce GoalFlow, a novel method that effectively constrains the generative process to produce high-quality, multimodal trajectories. To resolve the trajectory divergence problem inherent in diffusion-based methods, GoalFlow constrains the generated trajectories by introducing a goal point. GoalFlow establishes a novel scoring mechanism that selects the most appropriate goal point from the candidate points based on scene information. Furthermore, GoalFlow employs an efficient generative method, Flow Matching, to generate multimodal trajectories, and incorporates a refined scoring mechanism to select the optimal trajectory from the candidates. Our experimental results, validated on the Navsim\\cite{Dauner2024_navsim}, demonstrate that GoalFlow achieves state-of-the-art performance, delivering robust multimodal trajectories for autonomous driving. GoalFlow achieved PDMS of 90.3, significantly surpassing other methods. Compared with other diffusion-policy-based methods, our approach requires only a single denoising step to obtain excellent performance. The code is available at https://github.com/YvanYin/GoalFlow.","url_abs":"https://arxiv.org/abs/2503.05689v2","url_pdf":"https://arxiv.org/pdf/2503.05689v2.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":"goalflow-goal-driven-flow-matching-for","repo_url":"https://github.com/yvanyin/goalflow","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"navsim","task_name":"NavSim"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/navsim-on-openscene","task":"NavSim","dataset":"OpenScene","model":"GoalFlow","rank_in_archive_order":8,"of":29,"metrics":{"PDMS":"90.3"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2503.05689","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2503.05689"}},"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/yvanyin/goalflow","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/YvanYin/GoalFlow","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"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":"669fbd4d5bd2b38a","entry":"apply_rotation","repo":"YvanYin/GoalFlow","repo_kind":"official","path":"navsim/agents/goalflow/goalflow_model_traj.py","file_url":"https://github.com/YvanYin/GoalFlow/blob/HEAD/navsim/agents/goalflow/goalflow_model_traj.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":"669fbd4d5bd2b38a"}},{"code_sha256_prefix":"b12e8061742245cb","entry":"dac_loss","repo":"YvanYin/GoalFlow","repo_kind":"official","path":"navsim/agents/goalflow/goalflow_model_navi.py","file_url":"https://github.com/YvanYin/GoalFlow/blob/HEAD/navsim/agents/goalflow/goalflow_model_navi.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":"b12e8061742245cb"}},{"code_sha256_prefix":"7c4c354976edc4e6","entry":"dict_to_device","repo":"YvanYin/GoalFlow","repo_kind":"official","path":"navsim/agents/goalflow/goalflow_callback.py","file_url":"https://github.com/YvanYin/GoalFlow/blob/HEAD/navsim/agents/goalflow/goalflow_callback.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":"7c4c354976edc4e6"}},{"code_sha256_prefix":"b273ed99c65a0163","entry":"get_rotation_matrices","repo":"YvanYin/GoalFlow","repo_kind":"official","path":"navsim/agents/goalflow/goalflow_model_traj.py","file_url":"https://github.com/YvanYin/GoalFlow/blob/HEAD/navsim/agents/goalflow/goalflow_model_traj.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":"b273ed99c65a0163"}},{"code_sha256_prefix":"9f8e1938b57c9b5c","entry":"get_train_tuple","repo":"YvanYin/GoalFlow","repo_kind":"official","path":"navsim/agents/goalflow/goalflow_model_traj.py","file_url":"https://github.com/YvanYin/GoalFlow/blob/HEAD/navsim/agents/goalflow/goalflow_model_traj.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":"9f8e1938b57c9b5c"}},{"code_sha256_prefix":"462b49b5e29c7b73","entry":"imitation_loss","repo":"YvanYin/GoalFlow","repo_kind":"official","path":"navsim/agents/goalflow/goalflow_model_navi.py","file_url":"https://github.com/YvanYin/GoalFlow/blob/HEAD/navsim/agents/goalflow/goalflow_model_navi.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":"462b49b5e29c7b73"}},{"code_sha256_prefix":"338888e697b59d4c","entry":"shift_scale_points","repo":"YvanYin/GoalFlow","repo_kind":"official","path":"navsim/agents/goalflow/positional_embeddings.py","file_url":"https://github.com/YvanYin/GoalFlow/blob/HEAD/navsim/agents/goalflow/positional_embeddings.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":"338888e697b59d4c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}