{"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/unidrive-towards-universal-driving-perception","title":"UniDrive: Towards Universal Driving Perception Across Camera Configurations","arxiv_id":"2410.13864","date":"2024-10-17","proceeding":null,"authors":["Ye Li","Wenzhao Zheng","Xiaonan Huang","Kurt Keutzer"],"abstract":"Vision-centric autonomous driving has demonstrated excellent performance with economical sensors. As the fundamental step, 3D perception aims to infer 3D information from 2D images based on 3D-2D projection. This makes driving perception models susceptible to sensor configuration (e.g., camera intrinsics and extrinsics) variations. However, generalizing across camera configurations is important for deploying autonomous driving models on different car models. In this paper, we present UniDrive, a novel framework for vision-centric autonomous driving to achieve universal perception across camera configurations. We deploy a set of unified virtual cameras and propose a ground-aware projection method to effectively transform the original images into these unified virtual views. We further propose a virtual configuration optimization method by minimizing the expected projection error between original cameras and virtual cameras. The proposed virtual camera projection can be applied to existing 3D perception methods as a plug-and-play module to mitigate the challenges posed by camera parameter variability, resulting in more adaptable and reliable driving perception models. To evaluate the effectiveness of our framework, we collect a dataset on Carla by driving the same routes while only modifying the camera configurations. Experimental results demonstrate that our method trained on one specific camera configuration can generalize to varying configurations with minor performance degradation.","url_abs":"https://arxiv.org/abs/2410.13864v1","url_pdf":"https://arxiv.org/pdf/2410.13864v1.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":"unidrive-towards-universal-driving-perception","repo_url":"https://github.com/ywyeli/unidrive","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"}],"methods":[{"method_slug":"carla","method_name":"CARLA"},{"method_slug":"entropy-regularization","method_name":"Entropy Regularization"},{"method_slug":"ppo","method_name":"PPO"},{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.13864","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.13864"}},"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/ywyeli/unidrive","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":8,"ran":6,"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":"3158ba95434ec463","entry":"get_q","repo":"ywyeli/unidrive","repo_kind":"official","path":"create/nus_tool/quaternion_rotate.py","file_url":"https://github.com/ywyeli/unidrive/blob/HEAD/create/nus_tool/quaternion_rotate.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":"3158ba95434ec463"}},{"code_sha256_prefix":"2aba2fe86bf0b30c","entry":"open_read_txt","repo":"ywyeli/unidrive","repo_kind":"official","path":"create/nus_tool/draw_label.py","file_url":"https://github.com/ywyeli/unidrive/blob/HEAD/create/nus_tool/draw_label.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":"2aba2fe86bf0b30c"}},{"code_sha256_prefix":"1253da08424d657a","entry":"openreadtxt","repo":"ywyeli/unidrive","repo_kind":"official","path":"create/nus_tool/position_3d_sweeps.py","file_url":"https://github.com/ywyeli/unidrive/blob/HEAD/create/nus_tool/position_3d_sweeps.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1253da08424d657a"}},{"code_sha256_prefix":"e2413a47a9133772","entry":"parse_line","repo":"ywyeli/unidrive","repo_kind":"official","path":"create/nus_tool/draw_label.py","file_url":"https://github.com/ywyeli/unidrive/blob/HEAD/create/nus_tool/draw_label.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":"e2413a47a9133772"}},{"code_sha256_prefix":"cf1011814ab4b0ec","entry":"quaternion_multiply","repo":"ywyeli/unidrive","repo_kind":"official","path":"create/nus_tool/quaternion_rotate.py","file_url":"https://github.com/ywyeli/unidrive/blob/HEAD/create/nus_tool/quaternion_rotate.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cf1011814ab4b0ec"}},{"code_sha256_prefix":"c2a11dade0cf3b22","entry":"read_point_cloud_bin","repo":"ywyeli/unidrive","repo_kind":"official","path":"create/nus_tool/draw_label.py","file_url":"https://github.com/ywyeli/unidrive/blob/HEAD/create/nus_tool/draw_label.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":"c2a11dade0cf3b22"}},{"code_sha256_prefix":"f372d2d1ee840c97","entry":"create_splits_logs","repo":"ywyeli/unidrive","repo_kind":"official","path":"project/configs/splits.py","file_url":"https://github.com/ywyeli/unidrive/blob/HEAD/project/configs/splits.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":"f372d2d1ee840c97"}},{"code_sha256_prefix":"ee8b5ead7588c0f0","entry":"create_splits_scenes","repo":"ywyeli/unidrive","repo_kind":"official","path":"project/configs/splits.py","file_url":"https://github.com/ywyeli/unidrive/blob/HEAD/project/configs/splits.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":"ee8b5ead7588c0f0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}