{"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/goal-gan-multimodal-trajectory-prediction","title":"Goal-GAN: Multimodal Trajectory Prediction Based on Goal Position Estimation","arxiv_id":"2010.01114","date":"2020-10-02","proceeding":null,"authors":["Patrick Dendorfer","Aljoša Ošep","Laura Leal-Taixé"],"abstract":"In this paper, we present Goal-GAN, an interpretable and end-to-end trainable model for human trajectory prediction. Inspired by human navigation, we model the task of trajectory prediction as an intuitive two-stage process: (i) goal estimation, which predicts the most likely target positions of the agent, followed by a (ii) routing module which estimates a set of plausible trajectories that route towards the estimated goal. We leverage information about the past trajectory and visual context of the scene to estimate a multi-modal probability distribution over the possible goal positions, which is used to sample a potential goal during the inference. The routing is governed by a recurrent neural network that reacts to physical constraints in the nearby surroundings and generates feasible paths that route towards the sampled goal. Our extensive experimental evaluation shows that our method establishes a new state-of-the-art on several benchmarks while being able to generate a realistic and diverse set of trajectories that conform to physical constraints.","url_abs":"https://arxiv.org/abs/2010.01114v1","url_pdf":"https://arxiv.org/pdf/2010.01114v1.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":"goal-gan-multimodal-trajectory-prediction","repo_url":"https://github.com/dendorferpatrick/GoalGAN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"goal-gan-multimodal-trajectory-prediction","repo_url":"https://github.com/dendorferpatrick/quovadis","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":null,"task_name":"Position"},{"task_slug":"trajectory-prediction","task_name":"Trajectory Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2010.01114","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.01114"}},"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/dendorferpatrick/GoalGAN","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dendorferpatrick/quovadis","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":10,"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":"d21951a6cc194b88","entry":"cal_gradient_penalty","repo":"dendorferpatrick/GoalGAN","repo_kind":"official","path":"utils/losses.py","file_url":"https://github.com/dendorferpatrick/GoalGAN/blob/HEAD/utils/losses.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":"d21951a6cc194b88"}},{"code_sha256_prefix":"e1bab2ad07465b6c","entry":"displacement_error","repo":"dendorferpatrick/GoalGAN","repo_kind":"official","path":"utils/losses.py","file_url":"https://github.com/dendorferpatrick/GoalGAN/blob/HEAD/utils/losses.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":"e1bab2ad07465b6c"}},{"code_sha256_prefix":"a6bb83126e6aee96","entry":"distanceP2W","repo":"dendorferpatrick/GoalGAN","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/dendorferpatrick/GoalGAN/blob/HEAD/utils/utils.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":"a6bb83126e6aee96"}},{"code_sha256_prefix":"cc2155bcfd8775c0","entry":"image_json","repo":"dendorferpatrick/GoalGAN","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/dendorferpatrick/GoalGAN/blob/HEAD/utils/utils.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":"cc2155bcfd8775c0"}},{"code_sha256_prefix":"458e5f112f23403e","entry":"l2_loss","repo":"dendorferpatrick/GoalGAN","repo_kind":"official","path":"utils/losses.py","file_url":"https://github.com/dendorferpatrick/GoalGAN/blob/HEAD/utils/losses.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":"458e5f112f23403e"}},{"code_sha256_prefix":"7e57eb6dbbfdabdd","entry":"make_gif","repo":"dendorferpatrick/GoalGAN","repo_kind":"official","path":"utils/visualize.py","file_url":"https://github.com/dendorferpatrick/GoalGAN/blob/HEAD/utils/visualize.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":"7e57eb6dbbfdabdd"}},{"code_sha256_prefix":"1513e0801041daa3","entry":"make_mlp","repo":"dendorferpatrick/GoalGAN","repo_kind":"official","path":"model/model_modules.py","file_url":"https://github.com/dendorferpatrick/GoalGAN/blob/HEAD/model/model_modules.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":"1513e0801041daa3"}},{"code_sha256_prefix":"6ad793102945c496","entry":"normalize","repo":"dendorferpatrick/GoalGAN","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/dendorferpatrick/GoalGAN/blob/HEAD/utils/utils.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":"6ad793102945c496"}},{"code_sha256_prefix":"bc3c9054a328e38a","entry":"visualize_probabilities","repo":"dendorferpatrick/GoalGAN","repo_kind":"official","path":"utils/visualize.py","file_url":"https://github.com/dendorferpatrick/GoalGAN/blob/HEAD/utils/visualize.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":"bc3c9054a328e38a"}},{"code_sha256_prefix":"16d9629c2aceb447","entry":"visualize_trajectories","repo":"dendorferpatrick/GoalGAN","repo_kind":"official","path":"utils/visualize.py","file_url":"https://github.com/dendorferpatrick/GoalGAN/blob/HEAD/utils/visualize.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":"16d9629c2aceb447"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}