{"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/streaming-motion-forecasting-for-autonomous","title":"Streaming Motion Forecasting for Autonomous Driving","arxiv_id":"2310.01351","date":"2023-10-02","proceeding":null,"authors":["Ziqi Pang","Deva Ramanan","Mengtian Li","Yu-Xiong Wang"],"abstract":"Trajectory forecasting is a widely-studied problem for autonomous navigation. However, existing benchmarks evaluate forecasting based on independent snapshots of trajectories, which are not representative of real-world applications that operate on a continuous stream of data. To bridge this gap, we introduce a benchmark that continuously queries future trajectories on streaming data and we refer to it as \"streaming forecasting.\" Our benchmark inherently captures the disappearance and re-appearance of agents, presenting the emergent challenge of forecasting for occluded agents, which is a safety-critical problem yet overlooked by snapshot-based benchmarks. Moreover, forecasting in the context of continuous timestamps naturally asks for temporal coherence between predictions from adjacent timestamps. Based on this benchmark, we further provide solutions and analysis for streaming forecasting. We propose a plug-and-play meta-algorithm called \"Predictive Streamer\" that can adapt any snapshot-based forecaster into a streaming forecaster. Our algorithm estimates the states of occluded agents by propagating their positions with multi-modal trajectories, and leverages differentiable filters to ensure temporal consistency. Both occlusion reasoning and temporal coherence strategies significantly improve forecasting quality, resulting in 25% smaller endpoint errors for occluded agents and 10-20% smaller fluctuations of trajectories. Our work is intended to generate interest within the community by highlighting the importance of addressing motion forecasting in its intrinsic streaming setting. Code is available at https://github.com/ziqipang/StreamingForecasting.","url_abs":"https://arxiv.org/abs/2310.01351v1","url_pdf":"https://arxiv.org/pdf/2310.01351v1.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":"streaming-motion-forecasting-for-autonomous","repo_url":"https://github.com/ziqipang/streamingforecasting","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"autonomous-navigation","task_name":"Autonomous Navigation"},{"task_slug":"motion-forecasting","task_name":"Motion Forecasting"},{"task_slug":"trajectory-forecasting","task_name":"Trajectory Forecasting"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.01351","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.01351"}},"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/ziqipang/streamingforecasting","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4,"unverified":4},"by_repo_kind":{"official":{"samples":8,"ran":4,"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":"427aa52acd7fe518","entry":"batch_actors","repo":"ziqipang/streamingforecasting","repo_kind":"official","path":"streaming_forecasting/forecaster/models/batching.py","file_url":"https://github.com/ziqipang/streamingforecasting/blob/HEAD/streaming_forecasting/forecaster/models/batching.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"427aa52acd7fe518"}},{"code_sha256_prefix":"c279a1970cadbc4f","entry":"batch_lanes","repo":"ziqipang/streamingforecasting","repo_kind":"official","path":"streaming_forecasting/forecaster/models/batching.py","file_url":"https://github.com/ziqipang/streamingforecasting/blob/HEAD/streaming_forecasting/forecaster/models/batching.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c279a1970cadbc4f"}},{"code_sha256_prefix":"8509923d09d0ceb9","entry":"gather_actors","repo":"ziqipang/streamingforecasting","repo_kind":"official","path":"streaming_forecasting/forecaster/models/gather.py","file_url":"https://github.com/ziqipang/streamingforecasting/blob/HEAD/streaming_forecasting/forecaster/models/gather.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8509923d09d0ceb9"}},{"code_sha256_prefix":"9156cc9266b78145","entry":"gather_lanes","repo":"ziqipang/streamingforecasting","repo_kind":"official","path":"streaming_forecasting/forecaster/models/gather.py","file_url":"https://github.com/ziqipang/streamingforecasting/blob/HEAD/streaming_forecasting/forecaster/models/gather.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9156cc9266b78145"}},{"code_sha256_prefix":"27c2f377bfb3bcee","entry":"api_builder","repo":"ziqipang/streamingforecasting","repo_kind":"official","path":"streaming_forecasting/forecaster/api.py","file_url":"https://github.com/ziqipang/streamingforecasting/blob/HEAD/streaming_forecasting/forecaster/api.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":"27c2f377bfb3bcee"}},{"code_sha256_prefix":"ff108e9c703a507f","entry":"build_dataset","repo":"ziqipang/streamingforecasting","repo_kind":"official","path":"streaming_forecasting/forecaster/builder.py","file_url":"https://github.com/ziqipang/streamingforecasting/blob/HEAD/streaming_forecasting/forecaster/builder.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":"ff108e9c703a507f"}},{"code_sha256_prefix":"38755f0f9a52f9f2","entry":"build_model","repo":"ziqipang/streamingforecasting","repo_kind":"official","path":"streaming_forecasting/forecaster/builder.py","file_url":"https://github.com/ziqipang/streamingforecasting/blob/HEAD/streaming_forecasting/forecaster/builder.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":"38755f0f9a52f9f2"}},{"code_sha256_prefix":"0e6b38005f5c6023","entry":"builder","repo":"ziqipang/streamingforecasting","repo_kind":"official","path":"streaming_forecasting/forecaster/builder.py","file_url":"https://github.com/ziqipang/streamingforecasting/blob/HEAD/streaming_forecasting/forecaster/builder.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":"0e6b38005f5c6023"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}