{"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-to-reconstruct-3d-non-cuboid-room","title":"Learning to Reconstruct 3D Non-Cuboid Room Layout from a Single RGB Image","arxiv_id":"2104.07986","date":"2021-04-16","proceeding":null,"authors":["Cheng Yang","Jia Zheng","Xili Dai","Rui Tang","Yi Ma","Xiaojun Yuan"],"abstract":"Single-image room layout reconstruction aims to reconstruct the enclosed 3D structure of a room from a single image. Most previous work relies on the cuboid-shape prior. This paper considers a more general indoor assumption, i.e., the room layout consists of a single ceiling, a single floor, and several vertical walls. To this end, we first employ Convolutional Neural Networks to detect planes and vertical lines between adjacent walls. Meanwhile, estimating the 3D parameters for each plane. Then, a simple yet effective geometric reasoning method is adopted to achieve room layout reconstruction. Furthermore, we optimize the 3D plane parameters to reconstruct a geometrically consistent room layout between planes and lines. The experimental results on public datasets validate the effectiveness and efficiency of our method.","url_abs":"https://arxiv.org/abs/2104.07986v2","url_pdf":"https://arxiv.org/pdf/2104.07986v2.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-to-reconstruct-3d-non-cuboid-room","repo_url":"https://github.com/CYang0515/NonCuboidRoom","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"room-layout-estimation","task_name":"Room Layout Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.07986","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.07986"}},"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/CYang0515/NonCuboidRoom","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"ran":1,"unverified":8},"by_repo_kind":{"official":{"samples":10,"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":"fac5364e2f53c6db","entry":"conv3x3","repo":"CYang0515/NonCuboidRoom","repo_kind":"official","path":"models/hrnet.py","file_url":"https://github.com/CYang0515/NonCuboidRoom/blob/HEAD/models/hrnet.py","link_basis":"harvester_set","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":"fac5364e2f53c6db"}},{"code_sha256_prefix":"f2a33236566ea043","entry":"gaussian_radius","repo":"CYang0515/NonCuboidRoom","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/CYang0515/NonCuboidRoom/blob/HEAD/models/utils.py","link_basis":"plan_row","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":"f2a33236566ea043"}},{"code_sha256_prefix":"5d8af9848f03842d","entry":"CommonRegion","repo":"CYang0515/NonCuboidRoom","repo_kind":"official","path":"models/reconstruction.py","file_url":"https://github.com/CYang0515/NonCuboidRoom/blob/HEAD/models/reconstruction.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":"5d8af9848f03842d"}},{"code_sha256_prefix":"39724bf3a56d1251","entry":"FilterLine","repo":"CYang0515/NonCuboidRoom","repo_kind":"official","path":"models/reconstruction.py","file_url":"https://github.com/CYang0515/NonCuboidRoom/blob/HEAD/models/reconstruction.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":"39724bf3a56d1251"}},{"code_sha256_prefix":"8bea904dd585860b","entry":"PreProcess","repo":"CYang0515/NonCuboidRoom","repo_kind":"official","path":"models/reconstruction.py","file_url":"https://github.com/CYang0515/NonCuboidRoom/blob/HEAD/models/reconstruction.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":"8bea904dd585860b"}},{"code_sha256_prefix":"212cea62cab3f299","entry":"draw_label","repo":"CYang0515/NonCuboidRoom","repo_kind":"official","path":"models/visualize.py","file_url":"https://github.com/CYang0515/NonCuboidRoom/blob/HEAD/models/visualize.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":"212cea62cab3f299"}},{"code_sha256_prefix":"86282b7f90be63f2","entry":"gaussian2D","repo":"CYang0515/NonCuboidRoom","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/CYang0515/NonCuboidRoom/blob/HEAD/models/utils.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":"86282b7f90be63f2"}},{"code_sha256_prefix":"94a25a34a2e041e3","entry":"get_optimizer","repo":"CYang0515/NonCuboidRoom","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/CYang0515/NonCuboidRoom/blob/HEAD/models/utils.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":"94a25a34a2e041e3"}},{"code_sha256_prefix":"13d17f150b39fc60","entry":"label2rgb","repo":"CYang0515/NonCuboidRoom","repo_kind":"official","path":"models/visualize.py","file_url":"https://github.com/CYang0515/NonCuboidRoom/blob/HEAD/models/visualize.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":"13d17f150b39fc60"}},{"code_sha256_prefix":"e4bff03f6d7ddfa6","entry":"label_colormap","repo":"CYang0515/NonCuboidRoom","repo_kind":"official","path":"models/visualize.py","file_url":"https://github.com/CYang0515/NonCuboidRoom/blob/HEAD/models/visualize.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":"e4bff03f6d7ddfa6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}