{"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/ndc-scene-boost-monocular-3d-semantic-scene","title":"NDC-Scene: Boost Monocular 3D Semantic Scene Completion in Normalized Device Coordinates Space","arxiv_id":"2309.14616","date":"2023-09-26","proceeding":"ICCV 2023 1","authors":["Jiawei Yao","Chuming Li","Keqiang Sun","Yingjie Cai","Hao Li","Wanli Ouyang","Hongsheng Li"],"abstract":"Monocular 3D Semantic Scene Completion (SSC) has garnered significant attention in recent years due to its potential to predict complex semantics and geometry shapes from a single image, requiring no 3D inputs. In this paper, we identify several critical issues in current state-of-the-art methods, including the Feature Ambiguity of projected 2D features in the ray to the 3D space, the Pose Ambiguity of the 3D convolution, and the Computation Imbalance in the 3D convolution across different depth levels. To address these problems, we devise a novel Normalized Device Coordinates scene completion network (NDC-Scene) that directly extends the 2D feature map to a Normalized Device Coordinates (NDC) space, rather than to the world space directly, through progressive restoration of the dimension of depth with deconvolution operations. Experiment results demonstrate that transferring the majority of computation from the target 3D space to the proposed normalized device coordinates space benefits monocular SSC tasks. Additionally, we design a Depth-Adaptive Dual Decoder to simultaneously upsample and fuse the 2D and 3D feature maps, further improving overall performance. Our extensive experiments confirm that the proposed method consistently outperforms state-of-the-art methods on both outdoor SemanticKITTI and indoor NYUv2 datasets. Our code are available at https://github.com/Jiawei-Yao0812/NDCScene.","url_abs":"https://arxiv.org/abs/2309.14616v3","url_pdf":"https://arxiv.org/pdf/2309.14616v3.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":"ndc-scene-boost-monocular-3d-semantic-scene","repo_url":"https://github.com/Jiawei-Yao0812/NDCScene","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"3d-semantic-scene-completion","task_name":"3D Semantic Scene Completion"},{"task_slug":null,"task_name":"3D Semantic Scene Completion from a single 2D image"},{"task_slug":"3d-semantic-scene-completion-from-a-single","task_name":"3D Semantic Scene Completion from a single RGB image"},{"task_slug":"decoder","task_name":"Decoder"}],"methods":[{"method_slug":"3d-convolution","method_name":"3D Convolution"},{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-semantic-scene-completion-from-a-single","task":"3D Semantic Scene Completion from a single RGB image","dataset":"NYUv2","model":"NDC-Scene","rank_in_archive_order":2,"of":6,"metrics":{"mIoU":"29.03"},"uses_additional_data":false},{"leaderboard":"/sota/3d-semantic-scene-completion-from-a-single-1","task":"3D Semantic Scene Completion from a single RGB image","dataset":"SemanticKITTI","model":"NDC-Scene","rank_in_archive_order":3,"of":9,"metrics":{"mIoU":"12.58"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2309.14616","atlas_url":"https://app.syntology.ai/?focus=2309.14616","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.14616"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"deterministic:regex_extraction","url":"https://github.com/Jiawei-Yao0812/NDCScene","reach":{"status":"ok"}}],"summary":{"ran":5,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"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":7,"samples":[{"code_sha256_prefix":"4aacd1874626b3a6","entry":"KL_sep","repo":"Jiawei-Yao0812/NDCScene","repo_kind":"official","path":"ndcscene/loss/ssc_loss.py","file_url":"https://github.com/Jiawei-Yao0812/NDCScene/blob/HEAD/ndcscene/loss/ssc_loss.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4aacd1874626b3a6"}},{"code_sha256_prefix":"7cf3c9283d0779fd","entry":"compute_super_CP_multilabel_loss","repo":"Jiawei-Yao0812/NDCScene","repo_kind":"official","path":"ndcscene/loss/CRP_loss.py","file_url":"https://github.com/Jiawei-Yao0812/NDCScene/blob/HEAD/ndcscene/loss/CRP_loss.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7cf3c9283d0779fd"}},{"code_sha256_prefix":"2aee8bf9a23174a7","entry":"frustum_loss","repo":"Jiawei-Yao0812/NDCScene","repo_kind":"official","path":"ndcscene/loss/ssc_loss.py","file_url":"https://github.com/Jiawei-Yao0812/NDCScene/blob/HEAD/ndcscene/loss/ssc_loss.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2aee8bf9a23174a7"}},{"code_sha256_prefix":"ddebe4df0440dd07","entry":"geo_scal_loss","repo":"Jiawei-Yao0812/NDCScene","repo_kind":"official","path":"ndcscene/loss/ssc_loss.py","file_url":"https://github.com/Jiawei-Yao0812/NDCScene/blob/HEAD/ndcscene/loss/ssc_loss.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ddebe4df0440dd07"}},{"code_sha256_prefix":"251f4945130ffbc3","entry":"get_iou","repo":"Jiawei-Yao0812/NDCScene","repo_kind":"official","path":"ndcscene/loss/sscMetrics.py","file_url":"https://github.com/Jiawei-Yao0812/NDCScene/blob/HEAD/ndcscene/loss/sscMetrics.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"251f4945130ffbc3"}},{"code_sha256_prefix":"7624d5cc244cbd71","entry":"build_model","repo":"Jiawei-Yao0812/NDCScene","repo_kind":"official","path":"ndcscene/models/resnet.py","file_url":"https://github.com/Jiawei-Yao0812/NDCScene/blob/HEAD/ndcscene/models/resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7624d5cc244cbd71"}},{"code_sha256_prefix":"40d8d0dfd5686afe","entry":"get_accuracy","repo":"Jiawei-Yao0812/NDCScene","repo_kind":"official","path":"ndcscene/loss/sscMetrics.py","file_url":"https://github.com/Jiawei-Yao0812/NDCScene/blob/HEAD/ndcscene/loss/sscMetrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"40d8d0dfd5686afe"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}