{"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/idisc-internal-discretization-for-monocular","title":"iDisc: Internal Discretization for Monocular Depth Estimation","arxiv_id":"2304.06334","date":"2023-04-13","proceeding":"CVPR 2023 1","authors":["Luigi Piccinelli","Christos Sakaridis","Fisher Yu"],"abstract":"Monocular depth estimation is fundamental for 3D scene understanding and downstream applications. However, even under the supervised setup, it is still challenging and ill-posed due to the lack of full geometric constraints. Although a scene can consist of millions of pixels, there are fewer high-level patterns. We propose iDisc to learn those patterns with internal discretized representations. The method implicitly partitions the scene into a set of high-level patterns. In particular, our new module, Internal Discretization (ID), implements a continuous-discrete-continuous bottleneck to learn those concepts without supervision. In contrast to state-of-the-art methods, the proposed model does not enforce any explicit constraints or priors on the depth output. The whole network with the ID module can be trained end-to-end, thanks to the bottleneck module based on attention. Our method sets the new state of the art with significant improvements on NYU-Depth v2 and KITTI, outperforming all published methods on the official KITTI benchmark. iDisc can also achieve state-of-the-art results on surface normal estimation. Further, we explore the model generalization capability via zero-shot testing. We observe the compelling need to promote diversification in the outdoor scenario. Hence, we introduce splits of two autonomous driving datasets, DDAD and Argoverse. Code is available at http://vis.xyz/pub/idisc .","url_abs":"https://arxiv.org/abs/2304.06334v1","url_pdf":"https://arxiv.org/pdf/2304.06334v1.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":"idisc-internal-discretization-for-monocular","repo_url":"https://github.com/SysCV/idisc","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"idisc-internal-discretization-for-monocular","repo_url":"https://github.com/lpiccinelli-eth/unidepth","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"task_slug":"monocular-depth-estimation","task_name":"Monocular Depth Estimation"},{"task_slug":"scene-understanding","task_name":"Scene Understanding"},{"task_slug":"surface-normal-estimation","task_name":"Surface Normal Estimation"},{"task_slug":"surface-normals-estimation","task_name":"Surface Normals Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/monocular-depth-estimation-on-kitti-eigen","task":"Monocular Depth Estimation","dataset":"KITTI Eigen split","model":"iDisc","rank_in_archive_order":21,"of":79,"metrics":{"Delta < 1.25":"0.977","Delta < 1.25^2":"0.997","Delta < 1.25^3":"0.999","RMSE":"2.067","RMSE log":"0.077","Sq Rel":"0.145","absolute relative error":"0.050"},"uses_additional_data":false},{"leaderboard":"/sota/monocular-depth-estimation-on-nyu-depth-v2","task":"Monocular Depth Estimation","dataset":"NYU-Depth V2","model":"iDisc","rank_in_archive_order":32,"of":85,"metrics":{"Delta < 1.25^2":"0.993","Delta < 1.25^3":"0.999","absolute relative error":"0.086"},"uses_additional_data":false},{"leaderboard":"/sota/surface-normals-estimation-on-nyu-depth-v2-1","task":"Surface Normals Estimation","dataset":"NYU Depth v2","model":"iDisc","rank_in_archive_order":3,"of":6,"metrics":{"% < 11.25":"63.8","% < 22.5":"79.8","% < 30":"85.6","Mean Angle Error":"14.6","RMSE":"22.8"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2304.06334","atlas_url":"https://app.syntology.ai/?focus=2304.06334","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2304.06334"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/SysCV/idisc","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lpiccinelli-eth/unidepth","reach":null}],"summary":{"ran":3,"ran_draft_wrong":2,"unverified":1},"by_repo_kind":{"official":{"samples":6,"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":6,"samples":[{"code_sha256_prefix":"c2e0047d60b9f291","entry":"AttentionLayer","repo":"SysCV/idisc","repo_kind":"official","path":"idisc/models/id_module.py","file_url":"https://github.com/SysCV/idisc/blob/HEAD/idisc/models/id_module.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"c2e0047d60b9f291"}},{"code_sha256_prefix":"9fd176b1d81fef0d","entry":"LayerNorm","repo":"SysCV/idisc","repo_kind":"official","path":"idisc/models/id_module.py","file_url":"https://github.com/SysCV/idisc/blob/HEAD/idisc/models/id_module.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"9fd176b1d81fef0d"}},{"code_sha256_prefix":"31f137df1d61458e","entry":"PositionEmbeddingSine","repo":"SysCV/idisc","repo_kind":"official","path":"idisc/models/id_module.py","file_url":"https://github.com/SysCV/idisc/blob/HEAD/idisc/models/id_module.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"31f137df1d61458e"}},{"code_sha256_prefix":"e220cdd4017ddf4d","entry":"_get_activation_cls","repo":"SysCV/idisc","repo_kind":"official","path":"idisc/models/id_module.py","file_url":"https://github.com/SysCV/idisc/blob/HEAD/idisc/models/id_module.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e220cdd4017ddf4d"}},{"code_sha256_prefix":"ab2364408642790f","entry":"get_norm","repo":"SysCV/idisc","repo_kind":"official","path":"idisc/models/id_module.py","file_url":"https://github.com/SysCV/idisc/blob/HEAD/idisc/models/id_module.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ab2364408642790f"}},{"code_sha256_prefix":"6aba889a320ff6eb","entry":"ISDHead","repo":"SysCV/idisc","repo_kind":"official","path":"idisc/models/id_module.py","file_url":"https://github.com/SysCV/idisc/blob/HEAD/idisc/models/id_module.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"6aba889a320ff6eb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}