{"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/rethinking-depth-estimation-for-multi-view","title":"Rethinking Depth Estimation for Multi-View Stereo: A Unified Representation","arxiv_id":"2201.01501","date":"2022-01-05","proceeding":"CVPR 2022 1","authors":["Rui Peng","Rongjie Wang","Zhenyu Wang","Yawen Lai","Ronggang Wang"],"abstract":"Depth estimation is solved as a regression or classification problem in existing learning-based multi-view stereo methods. Although these two representations have recently demonstrated their excellent performance, they still have apparent shortcomings, e.g., regression methods tend to overfit due to the indirect learning cost volume, and classification methods cannot directly infer the exact depth due to its discrete prediction. In this paper, we propose a novel representation, termed Unification, to unify the advantages of regression and classification. It can directly constrain the cost volume like classification methods, but also realize the sub-pixel depth prediction like regression methods. To excavate the potential of unification, we design a new loss function named Unified Focal Loss, which is more uniform and reasonable to combat the challenge of sample imbalance. Combining these two unburdened modules, we present a coarse-to-fine framework, that we call UniMVSNet. The results of ranking first on both DTU and Tanks and Temples benchmarks verify that our model not only performs the best but also has the best generalization ability.","url_abs":"https://arxiv.org/abs/2201.01501v3","url_pdf":"https://arxiv.org/pdf/2201.01501v3.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":"rethinking-depth-estimation-for-multi-view","repo_url":"https://github.com/prstrive/unimvsnet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-reconstruction","task_name":"3D Reconstruction"},{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"task_slug":"depth-prediction","task_name":"Depth Prediction"},{"task_slug":"regression-1","task_name":"regression"}],"methods":[{"method_slug":"focal-loss","method_name":"Focal Loss"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-reconstruction-on-dtu","task":"3D Reconstruction","dataset":"DTU","model":"UniMVSNet","rank_in_archive_order":11,"of":24,"metrics":{"Acc":"0.352","Comp":"0.278","Overall":"0.315"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2201.01501","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2201.01501"}},"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/prstrive/unimvsnet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":1,"ran":2,"unverified":12},"by_repo_kind":{"official":{"samples":15,"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":0,"samples":[{"code_sha256_prefix":"16a0f9b77eb60de7","entry":"depth_regression","repo":"prstrive/unimvsnet","repo_kind":"official","path":"networks/module.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/networks/module.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"16a0f9b77eb60de7"}},{"code_sha256_prefix":"b62bec09ceeaca79","entry":"make_recursive_func","repo":"prstrive/unimvsnet","repo_kind":"official","path":"tools.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/tools.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":"b62bec09ceeaca79"}},{"code_sha256_prefix":"a1db096963f65ed2","entry":"read_img","repo":"prstrive/unimvsnet","repo_kind":"official","path":"filter/dypcd.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/filter/dypcd.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":"a1db096963f65ed2"}},{"code_sha256_prefix":"d2cef21715760206","entry":"classification_loss","repo":"prstrive/unimvsnet","repo_kind":"official","path":"loss.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/loss.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":"d2cef21715760206"}},{"code_sha256_prefix":"d44ae99590b8f9bc","entry":"homo_warping","repo":"prstrive/unimvsnet","repo_kind":"official","path":"networks/module.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/networks/module.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":"d44ae99590b8f9bc"}},{"code_sha256_prefix":"4e30ac617a07841b","entry":"motion_blur","repo":"prstrive/unimvsnet","repo_kind":"official","path":"datasets/blendedmvs.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/datasets/blendedmvs.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":"4e30ac617a07841b"}},{"code_sha256_prefix":"ba0d276529d1705e","entry":"mvs_loss","repo":"prstrive/unimvsnet","repo_kind":"official","path":"loss.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/loss.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":"ba0d276529d1705e"}},{"code_sha256_prefix":"0c21ad29e1868b8e","entry":"read_camera_parameters","repo":"prstrive/unimvsnet","repo_kind":"official","path":"filter/dypcd.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/filter/dypcd.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":"0c21ad29e1868b8e"}},{"code_sha256_prefix":"f6147a9b9d73ca5e","entry":"read_gipuma_dmb","repo":"prstrive/unimvsnet","repo_kind":"official","path":"filter/gipuma.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/filter/gipuma.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":"f6147a9b9d73ca5e"}},{"code_sha256_prefix":"54c203150cdc9211","entry":"read_pair_file","repo":"prstrive/unimvsnet","repo_kind":"official","path":"filter/dypcd.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/filter/dypcd.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":"54c203150cdc9211"}},{"code_sha256_prefix":"6b687b02c05fe850","entry":"read_pfm","repo":"prstrive/unimvsnet","repo_kind":"official","path":"datasets/data_io.py","file_url":"https://github.com/prstrive/unimvsnet/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":"6b687b02c05fe850"}},{"code_sha256_prefix":"af922d39413f6095","entry":"regression_loss","repo":"prstrive/unimvsnet","repo_kind":"official","path":"loss.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/loss.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":"af922d39413f6095"}},{"code_sha256_prefix":"5c7bd35439896682","entry":"save_images","repo":"prstrive/unimvsnet","repo_kind":"official","path":"tools.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/tools.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":"5c7bd35439896682"}},{"code_sha256_prefix":"e96100b6e68bc179","entry":"tensor2numpy","repo":"prstrive/unimvsnet","repo_kind":"official","path":"tools.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/tools.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":"e96100b6e68bc179"}},{"code_sha256_prefix":"9fccefc4e39f9a9a","entry":"winner_take_all","repo":"prstrive/unimvsnet","repo_kind":"official","path":"networks/module.py","file_url":"https://github.com/prstrive/unimvsnet/blob/HEAD/networks/module.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":"9fccefc4e39f9a9a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}