{"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/cfnet-cascade-and-fused-cost-volume-for","title":"CFNet: Cascade and Fused Cost Volume for Robust Stereo Matching","arxiv_id":"2104.04314","date":"2021-04-09","proceeding":"CVPR 2021 1","authors":["Zhelun Shen","Yuchao Dai","Zhibo Rao"],"abstract":"Recently, the ever-increasing capacity of large-scale annotated datasets has led to profound progress in stereo matching. However, most of these successes are limited to a specific dataset and cannot generalize well to other datasets. The main difficulties lie in the large domain differences and unbalanced disparity distribution across a variety of datasets, which greatly limit the real-world applicability of current deep stereo matching models. In this paper, we propose CFNet, a Cascade and Fused cost volume based network to improve the robustness of the stereo matching network. First, we propose a fused cost volume representation to deal with the large domain difference. By fusing multiple low-resolution dense cost volumes to enlarge the receptive field, we can extract robust structural representations for initial disparity estimation. Second, we propose a cascade cost volume representation to alleviate the unbalanced disparity distribution. Specifically, we employ a variance-based uncertainty estimation to adaptively adjust the next stage disparity search space, in this way driving the network progressively prune out the space of unlikely correspondences. By iteratively narrowing down the disparity search space and improving the cost volume resolution, the disparity estimation is gradually refined in a coarse-to-fine manner. When trained on the same training images and evaluated on KITTI, ETH3D, and Middlebury datasets with the fixed model parameters and hyperparameters, our proposed method achieves the state-of-the-art overall performance and obtains the 1st place on the stereo task of Robust Vision Challenge 2020. The code will be available at https://github.com/gallenszl/CFNet.","url_abs":"https://arxiv.org/abs/2104.04314v1","url_pdf":"https://arxiv.org/pdf/2104.04314v1.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":"cfnet-cascade-and-fused-cost-volume-for","repo_url":"https://github.com/gallenszl/CFNet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"cfnet-cascade-and-fused-cost-volume-for","repo_url":"https://github.com/gallenszl/MSMD-Net","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"cfnet-cascade-and-fused-cost-volume-for","repo_url":"https://github.com/gallenszl/pcwnet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"disparity-estimation","task_name":"Disparity Estimation"},{"task_slug":"stereo-matching-1","task_name":"Stereo Matching"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2104.04314","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.04314"}},"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/gallenszl/CFNet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/gallenszl/MSMD-Net","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/gallenszl/pcwnet","reach":null}],"summary":{"ran":3,"ran_violates":1,"unverified":17},"by_repo_kind":{"official":{"samples":4,"ran":0,"repositories":1},"listed":{"samples":17,"ran":4,"repositories":2}},"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":"4589ab426bdcfbb8","entry":"convbn","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"models/submodule.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/models/submodule.py","link_basis":"harvester_set","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":"4589ab426bdcfbb8"}},{"code_sha256_prefix":"252c55c642e6a443","entry":"convbn_3d","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"models/submodule.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/models/submodule.py","link_basis":"harvester_set","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":"252c55c642e6a443"}},{"code_sha256_prefix":"ac269a0e4b8d946e","entry":"default_loader","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"datasets/MiddleburyLoader.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/datasets/MiddleburyLoader.py","link_basis":"harvester_set","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":"ac269a0e4b8d946e"}},{"code_sha256_prefix":"ab4109634b75ef8b","entry":"is_image_file","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"datasets/MiddleburyLoader.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/datasets/MiddleburyLoader.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ab4109634b75ef8b"}},{"code_sha256_prefix":"02fe2a4c8495bd97","entry":"PWCNet","repo":"gallenszl/pcwnet","repo_kind":"listed","path":"models/pwcnet.py","file_url":"https://github.com/gallenszl/pcwnet/blob/HEAD/models/pwcnet.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":"02fe2a4c8495bd97"}},{"code_sha256_prefix":"228040fffd916ded","entry":"PWCNet_G","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"models/pwcnet.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/models/pwcnet.py","link_basis":"plan_row","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":"228040fffd916ded"}},{"code_sha256_prefix":"9cffe943e8f11cb4","entry":"PWCNet_GC","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"models/pwcnet.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/models/pwcnet.py","link_basis":"plan_row","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":"9cffe943e8f11cb4"}},{"code_sha256_prefix":"62b8c9c0e874f080","entry":"cfnet","repo":"gallenszl/CFNet","repo_kind":"official","path":"models/cfnet.py","file_url":"https://github.com/gallenszl/CFNet/blob/HEAD/models/cfnet.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":"62b8c9c0e874f080"}},{"code_sha256_prefix":"b0a995994e4e38c4","entry":"dataloader","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"datasets/listfiles.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/datasets/listfiles.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":"b0a995994e4e38c4"}},{"code_sha256_prefix":"6f290af6f9436c6b","entry":"disparity_loader","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"datasets/MiddleburyLoader.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/datasets/MiddleburyLoader.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":"6f290af6f9436c6b"}},{"code_sha256_prefix":"b667855f4bbc313f","entry":"disparity_regression","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"models/submodule.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/models/submodule.py","link_basis":"harvester_set","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":"b667855f4bbc313f"}},{"code_sha256_prefix":"a491de58629728ba","entry":"feature_extraction","repo":"gallenszl/CFNet","repo_kind":"official","path":"models/cfnet.py","file_url":"https://github.com/gallenszl/CFNet/blob/HEAD/models/cfnet.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":"a491de58629728ba"}},{"code_sha256_prefix":"51f513f2170035a0","entry":"feature_extraction","repo":"gallenszl/pcwnet","repo_kind":"listed","path":"models/pwcnet.py","file_url":"https://github.com/gallenszl/pcwnet/blob/HEAD/models/pwcnet.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":"51f513f2170035a0"}},{"code_sha256_prefix":"8d7de0be86b5a6fe","entry":"hourglass","repo":"gallenszl/CFNet","repo_kind":"official","path":"models/cfnet.py","file_url":"https://github.com/gallenszl/CFNet/blob/HEAD/models/cfnet.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":"8d7de0be86b5a6fe"}},{"code_sha256_prefix":"ee1891dd3bc104aa","entry":"hourglassup","repo":"gallenszl/CFNet","repo_kind":"official","path":"models/cfnet.py","file_url":"https://github.com/gallenszl/CFNet/blob/HEAD/models/cfnet.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":"ee1891dd3bc104aa"}},{"code_sha256_prefix":"0fb7e137c632d36a","entry":"hourglassup","repo":"gallenszl/pcwnet","repo_kind":"listed","path":"models/pwcnet.py","file_url":"https://github.com/gallenszl/pcwnet/blob/HEAD/models/pwcnet.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":"0fb7e137c632d36a"}},{"code_sha256_prefix":"ef110dda447f94a6","entry":"model_loss","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"models/loss.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/models/loss.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":"ef110dda447f94a6"}},{"code_sha256_prefix":"c35f13ea74c6be42","entry":"pfm_imread","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"datasets/data_io.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/datasets/data_io.py","link_basis":"harvester_set","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":"c35f13ea74c6be42"}},{"code_sha256_prefix":"d8dba6f53d86a041","entry":"readPFM","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"datasets/readpfm.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/datasets/readpfm.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":"d8dba6f53d86a041"}},{"code_sha256_prefix":"e711a03e74028ed6","entry":"read_all_lines","repo":"gallenszl/MSMD-Net","repo_kind":"listed","path":"datasets/data_io.py","file_url":"https://github.com/gallenszl/MSMD-Net/blob/HEAD/datasets/data_io.py","link_basis":"harvester_set","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":"e711a03e74028ed6"}},{"code_sha256_prefix":"568992afe2a876a6","entry":"refinenet_version3","repo":"gallenszl/pcwnet","repo_kind":"listed","path":"models/pwcnet.py","file_url":"https://github.com/gallenszl/pcwnet/blob/HEAD/models/pwcnet.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":"568992afe2a876a6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}