{"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/planemvs-3d-plane-reconstruction-from-multi","title":"PlaneMVS: 3D Plane Reconstruction from Multi-View Stereo","arxiv_id":"2203.12082","date":"2022-03-22","proceeding":"CVPR 2022 1","authors":["Jiachen Liu","Pan Ji","Nitin Bansal","Changjiang Cai","Qingan Yan","Xiaolei Huang","Yi Xu"],"abstract":"We present a novel framework named PlaneMVS for 3D plane reconstruction from multiple input views with known camera poses. Most previous learning-based plane reconstruction methods reconstruct 3D planes from single images, which highly rely on single-view regression and suffer from depth scale ambiguity. In contrast, we reconstruct 3D planes with a multi-view-stereo (MVS) pipeline that takes advantage of multi-view geometry. We decouple plane reconstruction into a semantic plane detection branch and a plane MVS branch. The semantic plane detection branch is based on a single-view plane detection framework but with differences. The plane MVS branch adopts a set of slanted plane hypotheses to replace conventional depth hypotheses to perform plane sweeping strategy and finally learns pixel-level plane parameters and its planar depth map. We present how the two branches are learned in a balanced way, and propose a soft-pooling loss to associate the outputs of the two branches and make them benefit from each other. Extensive experiments on various indoor datasets show that PlaneMVS significantly outperforms state-of-the-art (SOTA) single-view plane reconstruction methods on both plane detection and 3D geometry metrics. Our method even outperforms a set of SOTA learning-based MVS methods thanks to the learned plane priors. To the best of our knowledge, this is the first work on 3D plane reconstruction within an end-to-end MVS framework. Source code: https://github.com/oppo-us-research/PlaneMVS.","url_abs":"https://arxiv.org/abs/2203.12082v3","url_pdf":"https://arxiv.org/pdf/2203.12082v3.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":"planemvs-3d-plane-reconstruction-from-multi","repo_url":"https://github.com/oppo-us-research/planemvs","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":"3d-geometry","task_name":"3D geometry"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.12082","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.12082"}},"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/oppo-us-research/planemvs","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":19},"by_repo_kind":{"official":{"samples":19,"ran":0,"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":"c511045350c22381","entry":"clean_segmentation","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/clean_seg.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/clean_seg.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":"c511045350c22381"}},{"code_sha256_prefix":"e69c3883b85c1033","entry":"cluster","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/cluster.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/cluster.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":"e69c3883b85c1033"}},{"code_sha256_prefix":"4f1c557276c4cff2","entry":"cluster_vis_3d_scatters","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/stereo_cluters.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/stereo_cluters.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":"4f1c557276c4cff2"}},{"code_sha256_prefix":"e389daf1368730ee","entry":"get_all_7scenes_path","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/generate_7scenes_data.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/generate_7scenes_data.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":"e389daf1368730ee"}},{"code_sha256_prefix":"9729d599ce2b3570","entry":"get_all_tum_path","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/generate_tum_data.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/generate_tum_data.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":"9729d599ce2b3570"}},{"code_sha256_prefix":"a81a95d6d05862d4","entry":"get_grid","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/clean_seg.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/clean_seg.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":"a81a95d6d05862d4"}},{"code_sha256_prefix":"458c1ecc42ef30e6","entry":"get_rel_trans","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/generate_7scenes_data.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/generate_7scenes_data.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":"458c1ecc42ef30e6"}},{"code_sha256_prefix":"0704f949c1a27579","entry":"kmeans_cluster","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/stereo_cluters.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/stereo_cluters.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":"0704f949c1a27579"}},{"code_sha256_prefix":"2015b55a787e9714","entry":"load_color","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/generate_pixel_planar.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/generate_pixel_planar.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":"2015b55a787e9714"}},{"code_sha256_prefix":"5a25f72413bb176b","entry":"load_depth","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/generate_pixel_planar.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/generate_pixel_planar.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":"5a25f72413bb176b"}},{"code_sha256_prefix":"fafa963ecd5d41cf","entry":"load_image","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/pre_process.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/pre_process.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":"fafa963ecd5d41cf"}},{"code_sha256_prefix":"b2225dd1ab5fd8a7","entry":"load_intrinsic","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/generate_pixel_planar.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/generate_pixel_planar.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":"b2225dd1ab5fd8a7"}},{"code_sha256_prefix":"85fd58a1c4771f86","entry":"load_pose","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/pre_process.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/pre_process.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":"85fd58a1c4771f86"}},{"code_sha256_prefix":"95474bdf353f674f","entry":"load_raw_seg","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/pre_process.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/pre_process.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":"95474bdf353f674f"}},{"code_sha256_prefix":"21c717dcb6058d30","entry":"load_valid_ids","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/stereo_cluters.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/stereo_cluters.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":"21c717dcb6058d30"}},{"code_sha256_prefix":"5ecc4b1ee40f1b3c","entry":"plane_to_depth","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/clean_seg.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/clean_seg.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":"5ecc4b1ee40f1b3c"}},{"code_sha256_prefix":"0ec4eab464808505","entry":"read_files","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/split_tumrgbd.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/split_tumrgbd.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":"0ec4eab464808505"}},{"code_sha256_prefix":"58c3e75c2c18326e","entry":"read_pose","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/generate_7scenes_data.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/generate_7scenes_data.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":"58c3e75c2c18326e"}},{"code_sha256_prefix":"f6157f7dfc05252f","entry":"read_rgb_mapping","repo":"oppo-us-research/planemvs","repo_kind":"official","path":"data_preparation/generate_tum_data.py","file_url":"https://github.com/oppo-us-research/planemvs/blob/HEAD/data_preparation/generate_tum_data.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":"f6157f7dfc05252f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}