{"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/topology-reasoning-for-driving-scenes","title":"Graph-based Topology Reasoning for Driving Scenes","arxiv_id":"2304.05277","date":"2023-04-11","proceeding":null,"authors":["Tianyu Li","Li Chen","Huijie Wang","Yang Li","Jiazhi Yang","Xiangwei Geng","Shengyin Jiang","Yuting Wang","Hang Xu","Chunjing Xu","Junchi Yan","Ping Luo","Hongyang Li"],"abstract":"Understanding the road genome is essential to realize autonomous driving. This highly intelligent problem contains two aspects - the connection relationship of lanes, and the assignment relationship between lanes and traffic elements, where a comprehensive topology reasoning method is vacant. On one hand, previous map learning techniques struggle in deriving lane connectivity with segmentation or laneline paradigms; or prior lane topology-oriented approaches focus on centerline detection and neglect the interaction modeling. On the other hand, the traffic element to lane assignment problem is limited in the image domain, leaving how to construct the correspondence from two views an unexplored challenge. To address these issues, we present TopoNet, the first end-to-end framework capable of abstracting traffic knowledge beyond conventional perception tasks. To capture the driving scene topology, we introduce three key designs: (1) an embedding module to incorporate semantic knowledge from 2D elements into a unified feature space; (2) a curated scene graph neural network to model relationships and enable feature interaction inside the network; (3) instead of transmitting messages arbitrarily, a scene knowledge graph is devised to differentiate prior knowledge from various types of the road genome. We evaluate TopoNet on the challenging scene understanding benchmark, OpenLane-V2, where our approach outperforms all previous works by a great margin on all perceptual and topological metrics. The code is released at https://github.com/OpenDriveLab/TopoNet","url_abs":"https://arxiv.org/abs/2304.05277v2","url_pdf":"https://arxiv.org/pdf/2304.05277v2.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":"topology-reasoning-for-driving-scenes","repo_url":"https://github.com/opendrivelab/toponet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"3d-lane-detection","task_name":"3D Lane Detection"},{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"},{"task_slug":"scene-understanding","task_name":"Scene Understanding"}],"methods":[{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-lane-detection-on-openlane-v2-2","task":"3D Lane Detection","dataset":"OpenLane-V2 val","model":"TopoNet","rank_in_archive_order":7,"of":9,"metrics":{"DET_l":"28.5","DET_t":"48.1","OLS":"35.6","TOP_ll":"4.1","TOP_lt":"20.8"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2304.05277","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2304.05277"}},"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/opendrivelab/toponet","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":4},"by_repo_kind":{"official":{"samples":4,"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":"12011d62cff184fa","entry":"denormalize_3dlane","repo":"opendrivelab/toponet","repo_kind":"official","path":"projects/toponet/core/lane/util.py","file_url":"https://github.com/opendrivelab/toponet/blob/HEAD/projects/toponet/core/lane/util.py","link_basis":"first_harvest_node","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":"12011d62cff184fa"}},{"code_sha256_prefix":"3ca2707d65a7dc11","entry":"draw_corner_rectangle","repo":"opendrivelab/toponet","repo_kind":"official","path":"projects/toponet/core/visualizer/lane.py","file_url":"https://github.com/opendrivelab/toponet/blob/HEAD/projects/toponet/core/visualizer/lane.py","link_basis":"first_harvest_node","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":"3ca2707d65a7dc11"}},{"code_sha256_prefix":"2d44c73be8e6fb9d","entry":"normalize_3dlane","repo":"opendrivelab/toponet","repo_kind":"official","path":"projects/toponet/core/lane/util.py","file_url":"https://github.com/opendrivelab/toponet/blob/HEAD/projects/toponet/core/lane/util.py","link_basis":"first_harvest_node","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":"2d44c73be8e6fb9d"}},{"code_sha256_prefix":"7fd467b52ada2cd2","entry":"show_bev_results","repo":"opendrivelab/toponet","repo_kind":"official","path":"projects/toponet/core/visualizer/lane.py","file_url":"https://github.com/opendrivelab/toponet/blob/HEAD/projects/toponet/core/visualizer/lane.py","link_basis":"first_harvest_node","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":"7fd467b52ada2cd2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}