{"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/neural-graph-mapping-for-dense-slam-with","title":"Neural Graph Map: Dense Mapping with Efficient Loop Closure Integration","arxiv_id":"2405.03633","date":"2024-05-06","proceeding":null,"authors":["Leonard Bruns","Jun Zhang","Patric Jensfelt"],"abstract":"Neural field-based SLAM methods typically employ a single, monolithic field as their scene representation. This prevents efficient incorporation of loop closure constraints and limits scalability. To address these shortcomings, we propose a novel RGB-D neural mapping framework in which the scene is represented by a collection of lightweight neural fields which are dynamically anchored to the pose graph of a sparse visual SLAM system. Our approach shows the ability to integrate large-scale loop closures, while requiring only minimal reintegration. Furthermore, we verify the scalability of our approach by demonstrating successful building-scale mapping taking multiple loop closures into account during the optimization, and show that our method outperforms existing state-of-the-art approaches on large scenes in terms of quality and runtime. Our code is available open-source at https://github.com/KTH-RPL/neural_graph_mapping.","url_abs":"https://arxiv.org/abs/2405.03633v2","url_pdf":"https://arxiv.org/pdf/2405.03633v2.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":"neural-graph-mapping-for-dense-slam-with","repo_url":"https://github.com/kth-rpl/neural_graph_mapping","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.03633","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.03633"}},"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/kth-rpl/neural_graph_mapping","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"unverified":3},"by_repo_kind":{"official":{"samples":11,"ran":8,"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":"bca12539c3228964","entry":"complex_apply","repo":"kth-rpl/neural_graph_mapping","repo_kind":"official","path":"src/neural_graph_mapping/models.py","file_url":"https://github.com/kth-rpl/neural_graph_mapping/blob/HEAD/src/neural_graph_mapping/models.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":"bca12539c3228964"}},{"code_sha256_prefix":"221500418b90d60a","entry":"complex_invert","repo":"kth-rpl/neural_graph_mapping","repo_kind":"official","path":"src/neural_graph_mapping/models.py","file_url":"https://github.com/kth-rpl/neural_graph_mapping/blob/HEAD/src/neural_graph_mapping/models.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":"221500418b90d60a"}},{"code_sha256_prefix":"53a86c9b7da3784e","entry":"complex_raw_multiply","repo":"kth-rpl/neural_graph_mapping","repo_kind":"official","path":"src/neural_graph_mapping/models.py","file_url":"https://github.com/kth-rpl/neural_graph_mapping/blob/HEAD/src/neural_graph_mapping/models.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":"53a86c9b7da3784e"}},{"code_sha256_prefix":"605e0c0d4ffa5eae","entry":"create_layer","repo":"kth-rpl/neural_graph_mapping","repo_kind":"official","path":"src/neural_graph_mapping/utils.py","file_url":"https://github.com/kth-rpl/neural_graph_mapping/blob/HEAD/src/neural_graph_mapping/utils.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":"605e0c0d4ffa5eae"}},{"code_sha256_prefix":"f514004255342669","entry":"get_neighbors","repo":"kth-rpl/neural_graph_mapping","repo_kind":"official","path":"src/neural_graph_mapping/graph.py","file_url":"https://github.com/kth-rpl/neural_graph_mapping/blob/HEAD/src/neural_graph_mapping/graph.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":"f514004255342669"}},{"code_sha256_prefix":"88e2ba8898cc53f4","entry":"photometric_loss","repo":"kth-rpl/neural_graph_mapping","repo_kind":"official","path":"src/neural_graph_mapping/losses.py","file_url":"https://github.com/kth-rpl/neural_graph_mapping/blob/HEAD/src/neural_graph_mapping/losses.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":"88e2ba8898cc53f4"}},{"code_sha256_prefix":"1f49114640bf9b77","entry":"psnr","repo":"kth-rpl/neural_graph_mapping","repo_kind":"official","path":"src/neural_graph_mapping/evaluation.py","file_url":"https://github.com/kth-rpl/neural_graph_mapping/blob/HEAD/src/neural_graph_mapping/evaluation.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":"1f49114640bf9b77"}},{"code_sha256_prefix":"612a1a28f85fb84b","entry":"remove_vertex","repo":"kth-rpl/neural_graph_mapping","repo_kind":"official","path":"src/neural_graph_mapping/graph.py","file_url":"https://github.com/kth-rpl/neural_graph_mapping/blob/HEAD/src/neural_graph_mapping/graph.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":"612a1a28f85fb84b"}},{"code_sha256_prefix":"2554d294968c8675","entry":"benchmark","repo":"kth-rpl/neural_graph_mapping","repo_kind":"official","path":"src/neural_graph_mapping/utils.py","file_url":"https://github.com/kth-rpl/neural_graph_mapping/blob/HEAD/src/neural_graph_mapping/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":"2554d294968c8675"}},{"code_sha256_prefix":"d7b6fb6bb5369cfc","entry":"eikonal_term","repo":"kth-rpl/neural_graph_mapping","repo_kind":"official","path":"src/neural_graph_mapping/losses.py","file_url":"https://github.com/kth-rpl/neural_graph_mapping/blob/HEAD/src/neural_graph_mapping/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":"d7b6fb6bb5369cfc"}},{"code_sha256_prefix":"995b83459084d517","entry":"ssim","repo":"kth-rpl/neural_graph_mapping","repo_kind":"official","path":"src/neural_graph_mapping/evaluation.py","file_url":"https://github.com/kth-rpl/neural_graph_mapping/blob/HEAD/src/neural_graph_mapping/evaluation.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":"995b83459084d517"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}