{"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/gsloc-efficient-camera-pose-refinement-via-3d","title":"GSLoc: Efficient Camera Pose Refinement via 3D Gaussian Splatting","arxiv_id":"2408.11085","date":"2024-08-20","proceeding":null,"authors":["Changkun Liu","Shuai Chen","Yash Bhalgat","Siyan Hu","Ming Cheng","ZiRui Wang","Victor Adrian Prisacariu","Tristan Braud"],"abstract":"We leverage 3D Gaussian Splatting (3DGS) as a scene representation and propose a novel test-time camera pose refinement framework, GSLoc. This framework enhances the localization accuracy of state-of-the-art absolute pose regression and scene coordinate regression methods. The 3DGS model renders high-quality synthetic images and depth maps to facilitate the establishment of 2D-3D correspondences. GSLoc obviates the need for training feature extractors or descriptors by operating directly on RGB images, utilizing the 3D foundation model, MASt3R, for precise 2D matching. To improve the robustness of our model in challenging outdoor environments, we incorporate an exposure-adaptive module within the 3DGS framework. Consequently, GSLoc enables efficient one-shot pose refinement given a single RGB query and a coarse initial pose estimation. Our proposed approach surpasses leading NeRF-based optimization methods in both accuracy and runtime across indoor and outdoor visual localization benchmarks, achieving new state-of-the-art accuracy on two indoor datasets.","url_abs":"https://arxiv.org/abs/2408.11085v2","url_pdf":"https://arxiv.org/pdf/2408.11085v2.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":"gsloc-efficient-camera-pose-refinement-via-3d","repo_url":"https://github.com/XRIM-Lab/GS-CPR","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"3dgs","task_name":"3DGS"},{"task_slug":"nerf","task_name":"NeRF"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"},{"task_slug":"visual-localization","task_name":"Visual Localization"},{"task_slug":"regression-1","task_name":"regression"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2408.11085","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2408.11085"}},"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/XRIM-Lab/GS-CPR","reach":{"status":"ok","spdx":"NOASSERTION"}}],"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":4,"samples":[{"code_sha256_prefix":"f3fd659d5f95c771","entry":"apply_log_to_norm","repo":"XRIM-Lab/GS-CPR","repo_kind":"official","path":"mast3r/losses.py","file_url":"https://github.com/XRIM-Lab/GS-CPR/blob/HEAD/mast3r/losses.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"f3fd659d5f95c771"}},{"code_sha256_prefix":"6e6b3f8c6d2c3d69","entry":"get_similarities","repo":"XRIM-Lab/GS-CPR","repo_kind":"official","path":"mast3r/losses.py","file_url":"https://github.com/XRIM-Lab/GS-CPR/blob/HEAD/mast3r/losses.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"6e6b3f8c6d2c3d69"}},{"code_sha256_prefix":"cdd00787894554b5","entry":"readImages","repo":"XRIM-Lab/GS-CPR","repo_kind":"official","path":"ACT_Scaffold_GS/metrics.py","file_url":"https://github.com/XRIM-Lab/GS-CPR/blob/HEAD/ACT_Scaffold_GS/metrics.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cdd00787894554b5"}},{"code_sha256_prefix":"1e3f140b86bb9a08","entry":"load_model","repo":"XRIM-Lab/GS-CPR","repo_kind":"official","path":"mast3r/model.py","file_url":"https://github.com/XRIM-Lab/GS-CPR/blob/HEAD/mast3r/model.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1e3f140b86bb9a08"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}