{"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/neural-markov-random-field-for-stereo","title":"Neural Markov Random Field for Stereo Matching","arxiv_id":"2403.11193","date":"2024-03-17","proceeding":"CVPR 2024 1","authors":["Tongfan Guan","Chen Wang","Yun-hui Liu"],"abstract":"Stereo matching is a core task for many computer vision and robotics applications. Despite their dominance in traditional stereo methods, the hand-crafted Markov Random Field (MRF) models lack sufficient modeling accuracy compared to end-to-end deep models. While deep learning representations have greatly improved the unary terms of the MRF models, the overall accuracy is still severely limited by the hand-crafted pairwise terms and message passing. To address these issues, we propose a neural MRF model, where both potential functions and message passing are designed using data-driven neural networks. Our fully data-driven model is built on the foundation of variational inference theory, to prevent convergence issues and retain stereo MRF's graph inductive bias. To make the inference tractable and scale well to high-resolution images, we also propose a Disparity Proposal Network (DPN) to adaptively prune the search space of disparity. The proposed approach ranks $1^{st}$ on both KITTI 2012 and 2015 leaderboards among all published methods while running faster than 100 ms. This approach significantly outperforms prior global methods, e.g., lowering D1 metric by more than 50% on KITTI 2015. In addition, our method exhibits strong cross-domain generalization and can recover sharp edges. The codes at https://github.com/aeolusguan/NMRF","url_abs":"https://arxiv.org/abs/2403.11193v2","url_pdf":"https://arxiv.org/pdf/2403.11193v2.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":"neural-markov-random-field-for-stereo","repo_url":"https://github.com/aeolusguan/NMRF","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"domain-generalization","task_name":"Domain Generalization"},{"task_slug":"inductive-bias","task_name":"Inductive Bias"},{"task_slug":"stereo-disparity-estimation","task_name":"Stereo Disparity Estimation"},{"task_slug":"stereo-matching-1","task_name":"Stereo Matching"},{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[{"method_slug":"variational-inference","method_name":"Variational Inference"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.11193","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.11193"}},"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/aeolusguan/NMRF","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":9,"ran_fixture":2,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":13,"ran":12,"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":"a29583ee331c3c8f","entry":"build_correlation_volume","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/models/submodule.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/models/submodule.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":"a29583ee331c3c8f"}},{"code_sha256_prefix":"0cd7e6af2fb6aac5","entry":"checkpoint_filter_fn","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/models/backbone.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/models/backbone.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":"0cd7e6af2fb6aac5"}},{"code_sha256_prefix":"ab6f27224a5ec3af","entry":"create_backbone","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/models/backbone.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/models/backbone.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":"ab6f27224a5ec3af"}},{"code_sha256_prefix":"eb21e258888f2695","entry":"deform_inputs_dn","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/models/adaptor_modules.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/models/adaptor_modules.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"eb21e258888f2695"}},{"code_sha256_prefix":"2721b1ad15d4ab2a","entry":"drop_path","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/models/NMP.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/models/NMP.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":"2721b1ad15d4ab2a"}},{"code_sha256_prefix":"1460480e875a9469","entry":"fourier_coord_embed","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/models/NMP.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/models/NMP.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":"1460480e875a9469"}},{"code_sha256_prefix":"4164fde725f42a75","entry":"fourier_grid_embed","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/models/NMP.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/models/NMP.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4164fde725f42a75"}},{"code_sha256_prefix":"7780de4d44f9b787","entry":"gather","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/utils/dist_utils.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/utils/dist_utils.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":"7780de4d44f9b787"}},{"code_sha256_prefix":"8073d48cbfc0f7ad","entry":"get_reference_points","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/models/adaptor_modules.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/models/adaptor_modules.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":"8073d48cbfc0f7ad"}},{"code_sha256_prefix":"2e5c0e4dfa009847","entry":"groupwise_correlation","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/models/submodule.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/models/submodule.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2e5c0e4dfa009847"}},{"code_sha256_prefix":"f9fd6241d935f07b","entry":"window_partition","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/models/swin.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/models/swin.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f9fd6241d935f07b"}},{"code_sha256_prefix":"fb32094c6dbece71","entry":"window_reverse","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/models/swin.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/models/swin.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fb32094c6dbece71"}},{"code_sha256_prefix":"e2498bf585aeddb8","entry":"configurable","repo":"aeolusguan/NMRF","repo_kind":"official","path":"nmrf/config/config.py","file_url":"https://github.com/aeolusguan/NMRF/blob/HEAD/nmrf/config/config.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":"e2498bf585aeddb8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}