{"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/total3dunderstanding-joint-layout-object-pose","title":"Total3DUnderstanding: Joint Layout, Object Pose and Mesh Reconstruction for Indoor Scenes from a Single Image","arxiv_id":"2002.12212","date":"2020-02-27","proceeding":"CVPR 2020 6","authors":["Yinyu Nie","Xiaoguang Han","Shihui Guo","Yujian Zheng","Jian Chang","Jian Jun Zhang"],"abstract":"Semantic reconstruction of indoor scenes refers to both scene understanding and object reconstruction. Existing works either address one part of this problem or focus on independent objects. In this paper, we bridge the gap between understanding and reconstruction, and propose an end-to-end solution to jointly reconstruct room layout, object bounding boxes and meshes from a single image. Instead of separately resolving scene understanding and object reconstruction, our method builds upon a holistic scene context and proposes a coarse-to-fine hierarchy with three components: 1. room layout with camera pose; 2. 3D object bounding boxes; 3. object meshes. We argue that understanding the context of each component can assist the task of parsing the others, which enables joint understanding and reconstruction. The experiments on the SUN RGB-D and Pix3D datasets demonstrate that our method consistently outperforms existing methods in indoor layout estimation, 3D object detection and mesh reconstruction.","url_abs":"https://arxiv.org/abs/2002.12212v1","url_pdf":"https://arxiv.org/pdf/2002.12212v1.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":"total3dunderstanding-joint-layout-object-pose","repo_url":"https://github.com/yinyunie/Total3DUnderstanding","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-object-detection","task_name":"3D Object Detection"},{"task_slug":"3d-shape-reconstruction","task_name":"3D Shape Reconstruction"},{"task_slug":"monocular-3d-object-detection","task_name":"Monocular 3D Object Detection"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"object-reconstruction","task_name":"Object Reconstruction"},{"task_slug":"room-layout-estimation","task_name":"Room Layout Estimation"},{"task_slug":"scene-understanding","task_name":"Scene Understanding"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-shape-reconstruction-on-pix3d","task":"3D Shape Reconstruction","dataset":"Pix3D","model":"MGN","rank_in_archive_order":2,"of":5,"metrics":{"CD":"0.0836","EMD":"N/A","IoU":"N/A"},"uses_additional_data":false},{"leaderboard":"/sota/monocular-3d-object-detection-on-sun-rgb-d","task":"Monocular 3D Object Detection","dataset":"SUN RGB-D","model":"Total3D  joint","rank_in_archive_order":3,"of":7,"metrics":{"AP@0.15 (10 / NYU-37)":"26.38","AP@0.15 (NYU-37)":"14.28"},"uses_additional_data":true},{"leaderboard":"/sota/monocular-3d-object-detection-on-sun-rgb-d","task":"Monocular 3D Object Detection","dataset":"SUN RGB-D","model":"Total3D w/o. joint","rank_in_archive_order":4,"of":7,"metrics":{"AP@0.15 (10 / NYU-37)":"23.32","AP@0.15 (NYU-37)":"13.25"},"uses_additional_data":false},{"leaderboard":"/sota/room-layout-estimation-on-sun-rgb-d","task":"Room Layout Estimation","dataset":"SUN RGB-D","model":"Total3D joint","rank_in_archive_order":3,"of":7,"metrics":{"Camera Pitch":"3.15","Camera Roll":"2.09","IoU":"59.2"},"uses_additional_data":true},{"leaderboard":"/sota/room-layout-estimation-on-sun-rgb-d","task":"Room Layout Estimation","dataset":"SUN RGB-D","model":"Total w/o. joint","rank_in_archive_order":4,"of":7,"metrics":{"Camera Pitch":"3.68","Camera Roll":"2.59","IoU":"57.6"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2002.12212","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2002.12212"}},"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/yinyunie/Total3DUnderstanding","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"unverified":7},"by_repo_kind":{"official":{"samples":9,"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":"7c5097f4707309ec","entry":"find_optim_module","repo":"yinyunie/Total3DUnderstanding","repo_kind":"official","path":"models/optimizers.py","file_url":"https://github.com/yinyunie/Total3DUnderstanding/blob/HEAD/models/optimizers.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":"7c5097f4707309ec"}},{"code_sha256_prefix":"6456fb43944fedf5","entry":"has_optim_in_children","repo":"yinyunie/Total3DUnderstanding","repo_kind":"official","path":"models/optimizers.py","file_url":"https://github.com/yinyunie/Total3DUnderstanding/blob/HEAD/models/optimizers.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":"6456fb43944fedf5"}},{"code_sha256_prefix":"584839f99e9b512b","entry":"R_from_yaw_pitch_roll","repo":"yinyunie/Total3DUnderstanding","repo_kind":"official","path":"net_utils/libs.py","file_url":"https://github.com/yinyunie/Total3DUnderstanding/blob/HEAD/net_utils/libs.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":"584839f99e9b512b"}},{"code_sha256_prefix":"b0cbe76658e8cbd9","entry":"load_device","repo":"yinyunie/Total3DUnderstanding","repo_kind":"official","path":"net_utils/utils.py","file_url":"https://github.com/yinyunie/Total3DUnderstanding/blob/HEAD/net_utils/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":"b0cbe76658e8cbd9"}},{"code_sha256_prefix":"6993951c91b8384b","entry":"load_scheduler","repo":"yinyunie/Total3DUnderstanding","repo_kind":"official","path":"models/optimizers.py","file_url":"https://github.com/yinyunie/Total3DUnderstanding/blob/HEAD/models/optimizers.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":"6993951c91b8384b"}},{"code_sha256_prefix":"23eae901d43d45b9","entry":"load_template","repo":"yinyunie/Total3DUnderstanding","repo_kind":"official","path":"net_utils/misc.py","file_url":"https://github.com/yinyunie/Total3DUnderstanding/blob/HEAD/net_utils/misc.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":"23eae901d43d45b9"}},{"code_sha256_prefix":"511b658275852213","entry":"num_from_bins","repo":"yinyunie/Total3DUnderstanding","repo_kind":"official","path":"net_utils/libs.py","file_url":"https://github.com/yinyunie/Total3DUnderstanding/blob/HEAD/net_utils/libs.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":"511b658275852213"}},{"code_sha256_prefix":"67a1fe9a74ab3c9e","entry":"sample_points_on_edges","repo":"yinyunie/Total3DUnderstanding","repo_kind":"official","path":"net_utils/misc.py","file_url":"https://github.com/yinyunie/Total3DUnderstanding/blob/HEAD/net_utils/misc.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":"67a1fe9a74ab3c9e"}},{"code_sha256_prefix":"ea8d8ed9d5ec6bb2","entry":"to_dict_tensor","repo":"yinyunie/Total3DUnderstanding","repo_kind":"official","path":"net_utils/libs.py","file_url":"https://github.com/yinyunie/Total3DUnderstanding/blob/HEAD/net_utils/libs.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":"ea8d8ed9d5ec6bb2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}