{"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/did-m3d-decoupling-instance-depth-for","title":"DID-M3D: Decoupling Instance Depth for Monocular 3D Object Detection","arxiv_id":"2207.08531","date":"2022-07-18","proceeding":null,"authors":["Liang Peng","Xiaopei Wu","Zheng Yang","Haifeng Liu","Deng Cai"],"abstract":"Monocular 3D detection has drawn much attention from the community due to its low cost and setup simplicity. It takes an RGB image as input and predicts 3D boxes in the 3D space. The most challenging sub-task lies in the instance depth estimation. Previous works usually use a direct estimation method. However, in this paper we point out that the instance depth on the RGB image is non-intuitive. It is coupled by visual depth clues and instance attribute clues, making it hard to be directly learned in the network. Therefore, we propose to reformulate the instance depth to the combination of the instance visual surface depth (visual depth) and the instance attribute depth (attribute depth). The visual depth is related to objects' appearances and positions on the image. By contrast, the attribute depth relies on objects' inherent attributes, which are invariant to the object affine transformation on the image. Correspondingly, we decouple the 3D location uncertainty into visual depth uncertainty and attribute depth uncertainty. By combining different types of depths and associated uncertainties, we can obtain the final instance depth. Furthermore, data augmentation in monocular 3D detection is usually limited due to the physical nature, hindering the boost of performance. Based on the proposed instance depth disentanglement strategy, we can alleviate this problem. Evaluated on KITTI, our method achieves new state-of-the-art results, and extensive ablation studies validate the effectiveness of each component in our method. The codes are released at https://github.com/SPengLiang/DID-M3D.","url_abs":"https://arxiv.org/abs/2207.08531v2","url_pdf":"https://arxiv.org/pdf/2207.08531v2.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":"did-m3d-decoupling-instance-depth-for","repo_url":"https://github.com/spengliang/did-m3d","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-object-detection","task_name":"3D Object Detection"},{"task_slug":"attribute","task_name":"Attribute"},{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"task_slug":"disentanglement","task_name":"Disentanglement"},{"task_slug":"monocular-3d-object-detection","task_name":"Monocular 3D Object Detection"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2207.08531","atlas_url":"https://app.syntology.ai/?focus=2207.08531","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.08531"}},"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/spengliang/did-m3d","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"ran_draft_wrong":3,"ran_violates":1,"unverified":9},"by_repo_kind":{"official":{"samples":14,"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":1,"samples":[{"code_sha256_prefix":"39dc7b17b3bf3218","entry":"angle2class","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/datasets/utils.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/datasets/utils.py","link_basis":"harvester_set","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":"39dc7b17b3bf3218"}},{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/backbones/dla.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/backbones/dla.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":"c349bc6f8ed16220","entry":"create_logger","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"c349bc6f8ed16220"}},{"code_sha256_prefix":"c4c2ffc684f3f733","entry":"extract_dets_from_outputs","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/helpers/decode_helper.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/helpers/decode_helper.py","link_basis":"harvester_set","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":"c4c2ffc684f3f733"}},{"code_sha256_prefix":"5d546e1ecbee1866","entry":"get_dir","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/datasets/kitti_utils.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/datasets/kitti_utils.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5d546e1ecbee1866"}},{"code_sha256_prefix":"3c9867a84d7c18d9","entry":"get_model_url","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/backbones/dla.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/backbones/dla.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3c9867a84d7c18d9"}},{"code_sha256_prefix":"d7531c865af9dac9","entry":"build_optimizer","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/helpers/optimizer_helper.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/helpers/optimizer_helper.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":"d7531c865af9dac9"}},{"code_sha256_prefix":"e2619cecce6ca5d5","entry":"check_range","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/datasets/utils.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/datasets/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":"e2619cecce6ca5d5"}},{"code_sha256_prefix":"c875390a9fab8007","entry":"conv3x3","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/backbones/resnet.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/backbones/resnet.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":"c875390a9fab8007"}},{"code_sha256_prefix":"c93080ecdfde79c8","entry":"dla34","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/backbones/dla.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/backbones/dla.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":"c93080ecdfde79c8"}},{"code_sha256_prefix":"ea47cdbdb36b7bc7","entry":"get_angle_from_box3d","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/datasets/utils.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/datasets/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":"ea47cdbdb36b7bc7"}},{"code_sha256_prefix":"ebd8a3fc2a270133","entry":"get_calib_from_file","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/datasets/kitti_utils.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/datasets/kitti_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":"ebd8a3fc2a270133"}},{"code_sha256_prefix":"8274533a00c7a30a","entry":"get_objects_from_label","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/datasets/kitti_utils.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/datasets/kitti_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":"8274533a00c7a30a"}},{"code_sha256_prefix":"a2df86776904df7a","entry":"resnet18","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/backbones/resnet.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/backbones/resnet.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":"a2df86776904df7a"}},{"code_sha256_prefix":"03238865f53f8f40","entry":"resnet34","repo":"spengliang/did-m3d","repo_kind":"official","path":"lib/backbones/resnet.py","file_url":"https://github.com/spengliang/did-m3d/blob/HEAD/lib/backbones/resnet.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":"03238865f53f8f40"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}