{"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/v2xpnp-vehicle-to-everything-spatio-temporal","title":"V2XPnP: Vehicle-to-Everything Spatio-Temporal Fusion for Multi-Agent Perception and Prediction","arxiv_id":"2412.01812","date":"2024-12-02","proceeding":null,"authors":["Zewei Zhou","Hao Xiang","Zhaoliang Zheng","Seth Z. Zhao","Mingyue Lei","Yun Zhang","Tianhui Cai","Xinyi Liu","Johnson Liu","Maheswari Bajji","Jacob Pham","Xin Xia","Zhiyu Huang","Bolei Zhou","Jiaqi Ma"],"abstract":"Vehicle-to-everything (V2X) technologies offer a promising paradigm to mitigate the limitations of constrained observability in single-vehicle systems. Prior work primarily focuses on single-frame cooperative perception, which fuses agents' information across different spatial locations but ignores temporal cues and temporal tasks (e.g., temporal perception and prediction). In this paper, we focus on temporal perception and prediction tasks in V2X scenarios and design one-step and multi-step communication strategies (when to transmit) as well as examine their integration with three fusion strategies - early, late, and intermediate (what to transmit), providing comprehensive benchmarks with various fusion models (how to fuse). Furthermore, we propose V2XPnP, a novel intermediate fusion framework within one-step communication for end-to-end perception and prediction. Our framework employs a unified Transformer-based architecture to effectively model complex spatiotemporal relationships across temporal per-frame, spatial per-agent, and high-definition map. Moreover, we introduce the V2XPnP Sequential Dataset that supports all V2X cooperation modes and addresses the limitations of existing real-world datasets, which are restricted to single-frame or single-mode cooperation. Extensive experiments demonstrate our framework outperforms state-of-the-art methods in both perception and prediction tasks.","url_abs":"https://arxiv.org/abs/2412.01812v1","url_pdf":"https://arxiv.org/pdf/2412.01812v1.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":"v2xpnp-vehicle-to-everything-spatio-temporal","repo_url":"https://github.com/Zewei-Zhou/V2XPnP","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"prediction","task_name":"Prediction"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2412.01812","atlas_url":"https://app.syntology.ai/?focus=2412.01812","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.01812"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/Zewei-Zhou/V2XPnP","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":1,"unverified":19},"by_repo_kind":{"official":{"samples":20,"ran":1,"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":20,"samples":[{"code_sha256_prefix":"5c4bac81583c34e1","entry":"check_numpy_to_torch","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/common_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/common_utils.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5c4bac81583c34e1"}},{"code_sha256_prefix":"bb064854066d4e97","entry":"cal_avg_num_kpts","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/draco_compression.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/draco_compression.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":"bb064854066d4e97"}},{"code_sha256_prefix":"ef1996d97918f1f1","entry":"check_contain_nan","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/common_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/common_utils.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":"ef1996d97918f1f1"}},{"code_sha256_prefix":"17f6dd8d9b2fa082","entry":"corner_to_center","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/box_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/box_utils.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":"17f6dd8d9b2fa082"}},{"code_sha256_prefix":"1afc5a9fe126323b","entry":"decode_map_features_from_proto","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/data_utils/datasets/map/map_data_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/data_utils/datasets/map/map_data_utils.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":"1afc5a9fe126323b"}},{"code_sha256_prefix":"4727252ee41d9c9e","entry":"draco_compression","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/draco_compression.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/draco_compression.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":"4727252ee41d9c9e"}},{"code_sha256_prefix":"8006ff8fded18e86","entry":"draco_compression_one","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/draco_compression.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/draco_compression.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":"8006ff8fded18e86"}},{"code_sha256_prefix":"b8661bb4d011ffa0","entry":"draw_box_plt","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/visulizor.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/visulizor.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":"b8661bb4d011ffa0"}},{"code_sha256_prefix":"2308ea2b261534a2","entry":"draw_points_boxes_plt_2d","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/visulizor.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/visulizor.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":"2308ea2b261534a2"}},{"code_sha256_prefix":"68a66ac290e0ac56","entry":"get_polyline_heading","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/data_utils/datasets/map/map_data_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/data_utils/datasets/map/map_data_utils.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":"68a66ac290e0ac56"}},{"code_sha256_prefix":"405ba490c7790f82","entry":"load_lidar_bin","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/pcd_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/pcd_utils.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":"405ba490c7790f82"}},{"code_sha256_prefix":"96976f3c92750b04","entry":"mask_points_by_range","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/pcd_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/pcd_utils.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":"96976f3c92750b04"}},{"code_sha256_prefix":"c3963f628c05954f","entry":"max_consensus1","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/max_consensus.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/max_consensus.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":"c3963f628c05954f"}},{"code_sha256_prefix":"1e2e4182d530e224","entry":"max_consensus2","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/max_consensus.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/max_consensus.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":"1e2e4182d530e224"}},{"code_sha256_prefix":"beac0d7f0ca2518c","entry":"max_consunsus_hierarchical","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/max_consensus.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/max_consensus.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":"beac0d7f0ca2518c"}},{"code_sha256_prefix":"7b748d3524b4c3f4","entry":"normalize_angle","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/data_utils/datasets/map/map_data_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/data_utils/datasets/map/map_data_utils.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":"7b748d3524b4c3f4"}},{"code_sha256_prefix":"bc99268dda249805","entry":"rotate_points_along_z","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/common_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/common_utils.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":"bc99268dda249805"}},{"code_sha256_prefix":"cd6e2f202d8dd272","entry":"world_to_x","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/transformation_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/transformation_utils.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":"cd6e2f202d8dd272"}},{"code_sha256_prefix":"8a094784255aaf1e","entry":"x1_to_x2","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/transformation_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/transformation_utils.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":"8a094784255aaf1e"}},{"code_sha256_prefix":"ac1b997b30ad8515","entry":"x_to_world","repo":"Zewei-Zhou/V2XPnP","repo_kind":"official","path":"opencood/utils/transformation_utils.py","file_url":"https://github.com/Zewei-Zhou/V2XPnP/blob/HEAD/opencood/utils/transformation_utils.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":"ac1b997b30ad8515"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}