{"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/learning-unsupervised-multi-view-stereopsis","title":"Learning Unsupervised Multi-View Stereopsis via Robust Photometric Consistency","arxiv_id":"1905.02706","date":"2019-05-07","proceeding":null,"authors":["Tejas Khot","Shubham Agrawal","Shubham Tulsiani","Christoph Mertz","Simon Lucey","Martial Hebert"],"abstract":"We present a learning based approach for multi-view stereopsis (MVS). While current deep MVS methods achieve impressive results, they crucially rely on ground-truth 3D training data, and acquisition of such precise 3D geometry for supervision is a major hurdle. Our framework instead leverages photometric consistency between multiple views as supervisory signal for learning depth prediction in a wide baseline MVS setup. However, naively applying photo consistency constraints is undesirable due to occlusion and lighting changes across views. To overcome this, we propose a robust loss formulation that: a) enforces first order consistency and b) for each point, selectively enforces consistency with some views, thus implicitly handling occlusions. We demonstrate our ability to learn MVS without 3D supervision using a real dataset, and show that each component of our proposed robust loss results in a significant improvement. We qualitatively observe that our reconstructions are often more complete than the acquired ground truth, further showing the merits of this approach. Lastly, our learned model generalizes to novel settings, and our approach allows adaptation of existing CNNs to datasets without ground-truth 3D by unsupervised finetuning. Project webpage: https://tejaskhot.github.io/unsup_mvs","url_abs":"https://arxiv.org/abs/1905.02706v2","url_pdf":"https://arxiv.org/pdf/1905.02706v2.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":"learning-unsupervised-multi-view-stereopsis","repo_url":"https://github.com/tejaskhot/unsup_mvs","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null}],"tasks":[{"task_slug":"3d-geometry","task_name":"3D geometry"},{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"task_slug":"depth-prediction","task_name":"Depth Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1905.02706","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1905.02706"}},"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/tejaskhot/unsup_mvs","reach":null}],"summary":{"ran_draft_wrong":2,"unverified":1},"by_repo_kind":{"listed":{"samples":3,"ran":2,"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":"5d91217df384372c","entry":"get_file_list","repo":"tejaskhot/unsup_mvs","repo_kind":"listed","path":"code/unsup_mvsnet/depthfusion_dtu.py","file_url":"https://github.com/tejaskhot/unsup_mvs/blob/HEAD/code/unsup_mvsnet/depthfusion_dtu.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5d91217df384372c"}},{"code_sha256_prefix":"7a00aa1625e5fe14","entry":"get_subdirs","repo":"tejaskhot/unsup_mvs","repo_kind":"listed","path":"code/unsup_mvsnet/test_dtu.py","file_url":"https://github.com/tejaskhot/unsup_mvs/blob/HEAD/code/unsup_mvsnet/test_dtu.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7a00aa1625e5fe14"}},{"code_sha256_prefix":"f6147a9b9d73ca5e","entry":"read_gipuma_dmb","repo":"tejaskhot/unsup_mvs","repo_kind":"listed","path":"code/unsup_mvsnet/depthfusion_dtu.py","file_url":"https://github.com/tejaskhot/unsup_mvs/blob/HEAD/code/unsup_mvsnet/depthfusion_dtu.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":"f6147a9b9d73ca5e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}