{"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/codeslam-learning-a-compact-optimisable","title":"CodeSLAM - Learning a Compact, Optimisable Representation for Dense Visual SLAM","arxiv_id":"1804.00874","date":"2018-04-03","proceeding":null,"authors":["Michael Bloesch","Jan Czarnowski","Ronald Clark","Stefan Leutenegger","Andrew J. Davison"],"abstract":"The representation of geometry in real-time 3D perception systems continues\nto be a critical research issue. Dense maps capture complete surface shape and\ncan be augmented with semantic labels, but their high dimensionality makes them\ncomputationally costly to store and process, and unsuitable for rigorous\nprobabilistic inference. Sparse feature-based representations avoid these\nproblems, but capture only partial scene information and are mainly useful for\nlocalisation only.\n  We present a new compact but dense representation of scene geometry which is\nconditioned on the intensity data from a single image and generated from a code\nconsisting of a small number of parameters. We are inspired by work both on\nlearned depth from images, and auto-encoders. Our approach is suitable for use\nin a keyframe-based monocular dense SLAM system: While each keyframe with a\ncode can produce a depth map, the code can be optimised efficiently jointly\nwith pose variables and together with the codes of overlapping keyframes to\nattain global consistency. Conditioning the depth map on the image allows the\ncode to only represent aspects of the local geometry which cannot directly be\npredicted from the image. We explain how to learn our code representation, and\ndemonstrate its advantageous properties in monocular SLAM.","url_abs":"http://arxiv.org/abs/1804.00874v2","url_pdf":"http://arxiv.org/pdf/1804.00874v2.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":"codeslam-learning-a-compact-optimisable","repo_url":"https://github.com/andersfagerli/CodeSLAM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"codeslam-learning-a-compact-optimisable","repo_url":"https://github.com/silviutroscot/codeslam","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"codeslam-learning-a-compact-optimisable","repo_url":"https://github.com/hjx-hitzjuer/CodeSLAM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"gone","observed_at":"2026-09-18","how":"tree_404+repo_404"}}],"tasks":[],"methods":[{"method_slug":"codeslam","method_name":"CodeSLAM"}],"datasets_introduced":[],"methods_introduced":[{"slug":"codeslam","name":"CodeSLAM","full_name":"CodeSLAM"}],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1804.00874","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1804.00874"}},"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/andersfagerli/CodeSLAM","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hjx-hitzjuer/CodeSLAM","reach":{"status":"gone","observed_at":"2026-09-18","how":"tree_404+repo_404"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/silviutroscot/codeslam","reach":null}],"summary":{"ran_honours":1,"ran_draft_wrong":3},"by_repo_kind":{"listed":{"samples":4,"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":4,"samples":[{"code_sha256_prefix":"2c2e488d8c5438e8","entry":"load_intensity","repo":"silviutroscot/codeslam","repo_kind":"listed","path":"scripts/infer_depth.py","file_url":"https://github.com/silviutroscot/codeslam/blob/HEAD/scripts/infer_depth.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2c2e488d8c5438e8"}},{"code_sha256_prefix":"7dea1d2bbf501cdc","entry":"parse_args","repo":"silviutroscot/codeslam","repo_kind":"listed","path":"scripts/train_codeslam.py","file_url":"https://github.com/silviutroscot/codeslam/blob/HEAD/scripts/train_codeslam.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7dea1d2bbf501cdc"}},{"code_sha256_prefix":"2a5d651a182be27f","entry":"parse_args","repo":"silviutroscot/codeslam","repo_kind":"listed","path":"scripts/evaluate_depth.py","file_url":"https://github.com/silviutroscot/codeslam/blob/HEAD/scripts/evaluate_depth.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2a5d651a182be27f"}},{"code_sha256_prefix":"a7ce3e786492d768","entry":"parse_args","repo":"silviutroscot/codeslam","repo_kind":"listed","path":"scripts/infer_depth.py","file_url":"https://github.com/silviutroscot/codeslam/blob/HEAD/scripts/infer_depth.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a7ce3e786492d768"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}