{"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/event-based-mosaicing-bundle-adjustment","title":"Event-based Mosaicing Bundle Adjustment","arxiv_id":"2409.07365","date":"2024-09-11","proceeding":null,"authors":["Shuang Guo","Guillermo Gallego"],"abstract":"We tackle the problem of mosaicing bundle adjustment (i.e., simultaneous refinement of camera orientations and scene map) for a purely rotating event camera. We formulate the problem as a regularized non-linear least squares optimization. The objective function is defined using the linearized event generation model in the camera orientations and the panoramic gradient map of the scene. We show that this BA optimization has an exploitable block-diagonal sparsity structure, so that the problem can be solved efficiently. To the best of our knowledge, this is the first work to leverage such sparsity to speed up the optimization in the context of event-based cameras, without the need to convert events into image-like representations. We evaluate our method, called EMBA, on both synthetic and real-world datasets to show its effectiveness (50% photometric error decrease), yielding results of unprecedented quality. In addition, we demonstrate EMBA using high spatial resolution event cameras, yielding delicate panoramas in the wild, even without an initial map. Project page: https://github.com/tub-rip/emba","url_abs":"https://arxiv.org/abs/2409.07365v1","url_pdf":"https://arxiv.org/pdf/2409.07365v1.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":"event-based-mosaicing-bundle-adjustment","repo_url":"https://github.com/tub-rip/emba","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2409.07365","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2409.07365"}},"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":"deterministic:regex_extraction","url":"https://github.com/tub-rip/emba","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":3,"unverified":1},"by_repo_kind":{"official":{"samples":4,"ran":3,"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":"3fb6584cf4dc0220","entry":"Vector2","repo":"tub-rip/emba","repo_kind":"official","path":"thirdparty/basalt-headers/thirdparty/Sophus/py/sophus/matrix.py","file_url":"https://github.com/tub-rip/emba/blob/HEAD/thirdparty/basalt-headers/thirdparty/Sophus/py/sophus/matrix.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":"3fb6584cf4dc0220"}},{"code_sha256_prefix":"27d2ed826241f29f","entry":"dot","repo":"tub-rip/emba","repo_kind":"official","path":"thirdparty/basalt-headers/thirdparty/Sophus/py/sophus/matrix.py","file_url":"https://github.com/tub-rip/emba/blob/HEAD/thirdparty/basalt-headers/thirdparty/Sophus/py/sophus/matrix.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":"27d2ed826241f29f"}},{"code_sha256_prefix":"8e30df616b00e951","entry":"squared_norm","repo":"tub-rip/emba","repo_kind":"official","path":"thirdparty/basalt-headers/thirdparty/Sophus/py/sophus/matrix.py","file_url":"https://github.com/tub-rip/emba/blob/HEAD/thirdparty/basalt-headers/thirdparty/Sophus/py/sophus/matrix.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":"8e30df616b00e951"}},{"code_sha256_prefix":"bcddb9f81acc6e7a","entry":"cse_codegen","repo":"tub-rip/emba","repo_kind":"official","path":"thirdparty/basalt-headers/thirdparty/Sophus/py/sophus/cse_codegen.py","file_url":"https://github.com/tub-rip/emba/blob/HEAD/thirdparty/basalt-headers/thirdparty/Sophus/py/sophus/cse_codegen.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":"bcddb9f81acc6e7a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}