{"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/stereo-anywhere-robust-zero-shot-deep-stereo","title":"Stereo Anywhere: Robust Zero-Shot Deep Stereo Matching Even Where Either Stereo or Mono Fail","arxiv_id":"2412.04472","date":"2024-12-05","proceeding":"CVPR 2025 1","authors":["Luca Bartolomei","Fabio Tosi","Matteo Poggi","Stefano Mattoccia"],"abstract":"We introduce Stereo Anywhere, a novel stereo-matching framework that combines geometric constraints with robust priors from monocular depth Vision Foundation Models (VFMs). By elegantly coupling these complementary worlds through a dual-branch architecture, we seamlessly integrate stereo matching with learned contextual cues. Following this design, our framework introduces novel cost volume fusion mechanisms that effectively handle critical challenges such as textureless regions, occlusions, and non-Lambertian surfaces. Through our novel optical illusion dataset, MonoTrap, and extensive evaluation across multiple benchmarks, we demonstrate that our synthetic-only trained model achieves state-of-the-art results in zero-shot generalization, significantly outperforming existing solutions while showing remarkable robustness to challenging cases such as mirrors and transparencies.","url_abs":"https://arxiv.org/abs/2412.04472v2","url_pdf":"https://arxiv.org/pdf/2412.04472v2.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":"stereo-anywhere-robust-zero-shot-deep-stereo","repo_url":"https://github.com/bartn8/stereoanywhere","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"stereo-matching-1","task_name":"Stereo Matching"},{"task_slug":"zero-shot-generalization","task_name":"Zero-shot Generalization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2412.04472","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.04472"}},"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/bartn8/stereoanywhere","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_fixture":2,"ran":1,"unverified":10},"by_repo_kind":{"official":{"samples":13,"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":13,"samples":[{"code_sha256_prefix":"08bedbc0c0447f5d","entry":"interp","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"models/stereoanywhere/update.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/models/stereoanywhere/update.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"08bedbc0c0447f5d"}},{"code_sha256_prefix":"80fbe78b6d72ce6b","entry":"norm_grid","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"losses.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/losses.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"80fbe78b6d72ce6b"}},{"code_sha256_prefix":"25894ad2a73a8142","entry":"pool2x","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"models/stereoanywhere/update.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/models/stereoanywhere/update.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"25894ad2a73a8142"}},{"code_sha256_prefix":"cd7fb207d623c0b5","entry":"CSIM","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"losses.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/losses.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"cd7fb207d623c0b5"}},{"code_sha256_prefix":"cceab5d7261d917d","entry":"SSIM","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"losses.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/losses.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"cceab5d7261d917d"}},{"code_sha256_prefix":"008b29d30d2ce191","entry":"bilinear_sampler","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"models/stereoanywhere/utils/utils.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/models/stereoanywhere/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"008b29d30d2ce191"}},{"code_sha256_prefix":"977a2d931a040e4f","entry":"colormap_image","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"models/stereoanywhere/utils/utils.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/models/stereoanywhere/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"977a2d931a040e4f"}},{"code_sha256_prefix":"54af37ced1bde4b0","entry":"coords_grid","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"models/stereoanywhere/utils/utils.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/models/stereoanywhere/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"54af37ced1bde4b0"}},{"code_sha256_prefix":"f9a34713bf611a30","entry":"correlation_score","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"utils.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"f9a34713bf611a30"}},{"code_sha256_prefix":"2d5dc6e323960b07","entry":"estimate_normals","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"utils.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2d5dc6e323960b07"}},{"code_sha256_prefix":"2e9eba11fb7f0dd6","entry":"normalize","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"mono_sceneflow.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/mono_sceneflow.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2e9eba11fb7f0dd6"}},{"code_sha256_prefix":"771e8ac695af28a9","entry":"pool4x","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"models/stereoanywhere/update.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/models/stereoanywhere/update.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"771e8ac695af28a9"}},{"code_sha256_prefix":"0e5e4504872ca951","entry":"ransac_depth_scale_shift","repo":"bartn8/stereoanywhere","repo_kind":"official","path":"utils.py","file_url":"https://github.com/bartn8/stereoanywhere/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0e5e4504872ca951"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}