{"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/hybriddepth-robust-depth-fusion-for-mobile-ar","title":"HybridDepth: Robust Metric Depth Fusion by Leveraging Depth from Focus and Single-Image Priors","arxiv_id":"2407.18443","date":"2024-07-26","proceeding":null,"authors":["Ashkan Ganj","Hang Su","Tian Guo"],"abstract":"We propose HYBRIDDEPTH, a robust depth estimation pipeline that addresses key challenges in depth estimation,including scale ambiguity, hardware heterogeneity, and generalizability. HYBRIDDEPTH leverages focal stack, data conveniently accessible in common mobile devices, to produce accurate metric depth maps. By incorporating depth priors afforded by recent advances in singleimage depth estimation, our model achieves a higher level of structural detail compared to existing methods. We test our pipeline as an end-to-end system, with a newly developed mobile client to capture focal stacks, which are then sent to a GPU-powered server for depth estimation. Comprehensive quantitative and qualitative analyses demonstrate that HYBRIDDEPTH outperforms state-of-the-art(SOTA) models on common datasets such as DDFF12 and NYU Depth V2. HYBRIDDEPTH also shows strong zero-shot generalization. When trained on NYU Depth V2, HYBRIDDEPTH surpasses SOTA models in zero-shot performance on ARKitScenes and delivers more structurally accurate depth maps on Mobile Depth. The code is available at https://github.com/cake-lab/HybridDepth/.","url_abs":"https://arxiv.org/abs/2407.18443v3","url_pdf":"https://arxiv.org/pdf/2407.18443v3.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":"hybriddepth-robust-depth-fusion-for-mobile-ar","repo_url":"https://github.com/cake-lab/hybriddepth","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}}],"tasks":[{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"task_slug":null,"task_name":"GPU"},{"task_slug":"monocular-depth-estimation","task_name":"Monocular Depth Estimation"},{"task_slug":"zero-shot-generalization","task_name":"Zero-shot Generalization"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/monocular-depth-estimation-on-nyu-depth-v2","task":"Monocular Depth Estimation","dataset":"NYU-Depth V2","model":"HybridDepth","rank_in_archive_order":1,"of":85,"metrics":{"Delta < 1.25":"0.988","Delta < 1.25^2":"1.000","Delta < 1.25^3":"1.000","RMSE":"0.128","absolute relative error":"0.026"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.18443","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.18443"}},"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/cake-lab/hybriddepth","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran":6,"unverified":1},"by_repo_kind":{"official":{"samples":7,"ran":6,"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":7,"samples":[{"code_sha256_prefix":"e5ba87b5131b7eeb","entry":"align_images","repo":"cake-lab/hybriddepth","repo_kind":"official","path":"utils/io.py","file_url":"https://github.com/cake-lab/hybriddepth/blob/HEAD/utils/io.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"e5ba87b5131b7eeb"}},{"code_sha256_prefix":"4c529ee24f5b1609","entry":"calmetrics","repo":"cake-lab/hybriddepth","repo_kind":"official","path":"utils/metric_cal.py","file_url":"https://github.com/cake-lab/hybriddepth/blob/HEAD/utils/metric_cal.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"4c529ee24f5b1609"}},{"code_sha256_prefix":"e3b31131d42d8c15","entry":"compute_scale_and_shift_ls","repo":"cake-lab/hybriddepth","repo_kind":"official","path":"model/modules/GlobalScaleEstimator.py","file_url":"https://github.com/cake-lab/hybriddepth/blob/HEAD/model/modules/GlobalScaleEstimator.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"e3b31131d42d8c15"}},{"code_sha256_prefix":"be00940d3079728a","entry":"inv_mae","repo":"cake-lab/hybriddepth","repo_kind":"official","path":"utils/metric_cal.py","file_url":"https://github.com/cake-lab/hybriddepth/blob/HEAD/utils/metric_cal.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"be00940d3079728a"}},{"code_sha256_prefix":"3089264cd0803b3e","entry":"inv_rmse","repo":"cake-lab/hybriddepth","repo_kind":"official","path":"utils/metric_cal.py","file_url":"https://github.com/cake-lab/hybriddepth/blob/HEAD/utils/metric_cal.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"3089264cd0803b3e"}},{"code_sha256_prefix":"bff650552deb03b4","entry":"prepare_input_image","repo":"cake-lab/hybriddepth","repo_kind":"official","path":"utils/io.py","file_url":"https://github.com/cake-lab/hybriddepth/blob/HEAD/utils/io.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"bff650552deb03b4"}},{"code_sha256_prefix":"649e68cad70ab857","entry":"create_focal_stack_dir","repo":"cake-lab/hybriddepth","repo_kind":"official","path":"dataloader/ARKitScenes/gen_focalStack.py","file_url":"https://github.com/cake-lab/hybriddepth/blob/HEAD/dataloader/ARKitScenes/gen_focalStack.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"649e68cad70ab857"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}