{"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/geometry-uncertainty-projection-network-for","title":"Geometry Uncertainty Projection Network for Monocular 3D Object Detection","arxiv_id":"2107.13774","date":"2021-07-29","proceeding":"ICCV 2021 10","authors":["Yan Lu","Xinzhu Ma","Lei Yang","Tianzhu Zhang","Yating Liu","Qi Chu","Junjie Yan","Wanli Ouyang"],"abstract":"Geometry Projection is a powerful depth estimation method in monocular 3D object detection. It estimates depth dependent on heights, which introduces mathematical priors into the deep model. But projection process also introduces the error amplification problem, in which the error of the estimated height will be amplified and reflected greatly at the output depth. This property leads to uncontrollable depth inferences and also damages the training efficiency. In this paper, we propose a Geometry Uncertainty Projection Network (GUP Net) to tackle the error amplification problem at both inference and training stages. Specifically, a GUP module is proposed to obtains the geometry-guided uncertainty of the inferred depth, which not only provides high reliable confidence for each depth but also benefits depth learning. Furthermore, at the training stage, we propose a Hierarchical Task Learning strategy to reduce the instability caused by error amplification. This learning algorithm monitors the learning situation of each task by a proposed indicator and adaptively assigns the proper loss weights for different tasks according to their pre-tasks situation. Based on that, each task starts learning only when its pre-tasks are learned well, which can significantly improve the stability and efficiency of the training process. Extensive experiments demonstrate the effectiveness of the proposed method. The overall model can infer more reliable object depth than existing methods and outperforms the state-of-the-art image-based monocular 3D detectors by 3.74% and 4.7% AP40 of the car and pedestrian categories on the KITTI benchmark.","url_abs":"https://arxiv.org/abs/2107.13774v2","url_pdf":"https://arxiv.org/pdf/2107.13774v2.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":"geometry-uncertainty-projection-network-for","repo_url":"https://github.com/supermhp/gupnet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-object-detection","task_name":"3D Object Detection"},{"task_slug":"3d-object-detection-from-monocular-images","task_name":"3D Object Detection From Monocular Images"},{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"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-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-object-detection-from-monocular-images-on-7","task":"3D Object Detection From Monocular Images","dataset":"KITTI-360","model":"GUPNet","rank_in_archive_order":7,"of":11,"metrics":{"AP25":"27.25","AP50":"0.87"},"uses_additional_data":false},{"leaderboard":"/sota/3d-object-detection-from-monocular-images-on-6","task":"3D Object Detection From Monocular Images","dataset":"Waymo Open Dataset","model":"GUP Net","rank_in_archive_order":2,"of":3,"metrics":{"3D mAPH Vehicle (Front Camera Only)":"2.14"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2107.13774","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2107.13774"}},"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/supermhp/gupnet","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/SuperMHP/GUPNet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":3,"ran_draft_wrong":2,"ran":2,"ran_violates":1,"unverified":13},"by_repo_kind":{"official":{"samples":21,"ran":8,"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":"96f6547d6d3a3fce","entry":"_gather_feat","repo":"SuperMHP/GUPNet","repo_kind":"official","path":"code/lib/models/gupnet.py","file_url":"https://github.com/SuperMHP/GUPNet/blob/HEAD/code/lib/models/gupnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"96f6547d6d3a3fce"}},{"code_sha256_prefix":"9cc3c87feb179eff","entry":"_nms","repo":"SuperMHP/GUPNet","repo_kind":"official","path":"code/lib/models/gupnet.py","file_url":"https://github.com/SuperMHP/GUPNet/blob/HEAD/code/lib/models/gupnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9cc3c87feb179eff"}},{"code_sha256_prefix":"062a3f34484aa5ae","entry":"_transpose_and_gather_feat","repo":"SuperMHP/GUPNet","repo_kind":"official","path":"code/lib/models/gupnet.py","file_url":"https://github.com/SuperMHP/GUPNet/blob/HEAD/code/lib/models/gupnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"062a3f34484aa5ae"}},{"code_sha256_prefix":"39dc7b17b3bf3218","entry":"angle2class","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/datasets/utils.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/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":"supermhp/gupnet","repo_kind":"official","path":"code/lib/backbones/dla.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/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":"f6907c844231eed4","entry":"extract_input_from_tensor","repo":"SuperMHP/GUPNet","repo_kind":"official","path":"code/lib/models/gupnet.py","file_url":"https://github.com/SuperMHP/GUPNet/blob/HEAD/code/lib/models/gupnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f6907c844231eed4"}},{"code_sha256_prefix":"5d546e1ecbee1866","entry":"get_dir","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/datasets/kitti_utils.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/datasets/kitti_utils.py","link_basis":"plan_row","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":"supermhp/gupnet","repo_kind":"official","path":"code/lib/backbones/dla.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/backbones/dla.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3c9867a84d7c18d9"}},{"code_sha256_prefix":"0e9f041e43897d96","entry":"GUPNet","repo":"SuperMHP/GUPNet","repo_kind":"official","path":"code/lib/models/gupnet.py","file_url":"https://github.com/SuperMHP/GUPNet/blob/HEAD/code/lib/models/gupnet.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":"0e9f041e43897d96"}},{"code_sha256_prefix":"026b32da103167e6","entry":"_topk","repo":"SuperMHP/GUPNet","repo_kind":"official","path":"code/lib/models/gupnet.py","file_url":"https://github.com/SuperMHP/GUPNet/blob/HEAD/code/lib/models/gupnet.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":"026b32da103167e6"}},{"code_sha256_prefix":"d7531c865af9dac9","entry":"build_optimizer","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/helpers/optimizer_helper.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/helpers/optimizer_helper.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":"d7531c865af9dac9"}},{"code_sha256_prefix":"e2619cecce6ca5d5","entry":"check_range","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/datasets/utils.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/datasets/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":"e2619cecce6ca5d5"}},{"code_sha256_prefix":"c875390a9fab8007","entry":"conv3x3","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/backbones/resnet.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/backbones/resnet.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":"c875390a9fab8007"}},{"code_sha256_prefix":"1e380a5690a619ef","entry":"dla34","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/backbones/dla.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/backbones/dla.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":"1e380a5690a619ef"}},{"code_sha256_prefix":"615edfe53f0e9355","entry":"extract_dets_from_outputs","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/helpers/decode_helper.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/helpers/decode_helper.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":"615edfe53f0e9355"}},{"code_sha256_prefix":"ea47cdbdb36b7bc7","entry":"get_angle_from_box3d","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/datasets/utils.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/datasets/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":"ea47cdbdb36b7bc7"}},{"code_sha256_prefix":"ebd8a3fc2a270133","entry":"get_calib_from_file","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/datasets/kitti_utils.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/datasets/kitti_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":"ebd8a3fc2a270133"}},{"code_sha256_prefix":"8274533a00c7a30a","entry":"get_objects_from_label","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/datasets/kitti_utils.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/datasets/kitti_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":"8274533a00c7a30a"}},{"code_sha256_prefix":"a2df86776904df7a","entry":"resnet18","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/backbones/resnet.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/backbones/resnet.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":"a2df86776904df7a"}},{"code_sha256_prefix":"03238865f53f8f40","entry":"resnet34","repo":"supermhp/gupnet","repo_kind":"official","path":"code/lib/backbones/resnet.py","file_url":"https://github.com/supermhp/gupnet/blob/HEAD/code/lib/backbones/resnet.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":"03238865f53f8f40"}},{"code_sha256_prefix":"cb4724b9596507d8","entry":"weights_init_xavier","repo":"SuperMHP/GUPNet","repo_kind":"official","path":"code/lib/models/gupnet.py","file_url":"https://github.com/SuperMHP/GUPNet/blob/HEAD/code/lib/models/gupnet.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":"cb4724b9596507d8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}