{"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/enhancing-3d-object-detection-with-2d","title":"Enhancing 3D Object Detection with 2D Detection-Guided Query Anchors","arxiv_id":"2403.06093","date":"2024-03-10","proceeding":"CVPR 2024 1","authors":["Haoxuanye Ji","Pengpeng Liang","Erkang Cheng"],"abstract":"Multi-camera-based 3D object detection has made notable progress in the past several years. However, we observe that there are cases (e.g. faraway regions) in which popular 2D object detectors are more reliable than state-of-the-art 3D detectors. In this paper, to improve the performance of query-based 3D object detectors, we present a novel query generating approach termed QAF2D, which infers 3D query anchors from 2D detection results. A 2D bounding box of an object in an image is lifted to a set of 3D anchors by associating each sampled point within the box with depth, yaw angle, and size candidates. Then, the validity of each 3D anchor is verified by comparing its projection in the image with its corresponding 2D box, and only valid anchors are kept and used to construct queries. The class information of the 2D bounding box associated with each query is also utilized to match the predicted boxes with ground truth for the set-based loss. The image feature extraction backbone is shared between the 3D detector and 2D detector by adding a small number of prompt parameters. We integrate QAF2D into three popular query-based 3D object detectors and carry out comprehensive evaluations on the nuScenes dataset. The largest improvement that QAF2D can bring about on the nuScenes validation subset is $2.3\\%$ NDS and $2.7\\%$ mAP. Code is available at https://github.com/nullmax-vision/QAF2D.","url_abs":"https://arxiv.org/abs/2403.06093v1","url_pdf":"https://arxiv.org/pdf/2403.06093v1.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":"enhancing-3d-object-detection-with-2d","repo_url":"https://github.com/nullmax-vision/qaf2d","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"3d-object-detection","task_name":"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":[{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.06093","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.06093"}},"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":"deterministic:regex_extraction","url":"https://github.com/nullmax-vision/QAF2D","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":6,"unverified":1},"by_repo_kind":{"official":{"samples":7,"ran":6,"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":"c637c42a302bb63c","entry":"conv1x1","repo":"nullmax-vision/QAF2D","repo_kind":"official","path":"projects/mmdet3d_plugin/models/backbones/vovnet.py","file_url":"https://github.com/nullmax-vision/QAF2D/blob/HEAD/projects/mmdet3d_plugin/models/backbones/vovnet.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c637c42a302bb63c"}},{"code_sha256_prefix":"303f4d3695ad18f1","entry":"conv3x3","repo":"nullmax-vision/QAF2D","repo_kind":"official","path":"projects/mmdet3d_plugin/models/backbones/vovnet.py","file_url":"https://github.com/nullmax-vision/QAF2D/blob/HEAD/projects/mmdet3d_plugin/models/backbones/vovnet.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"303f4d3695ad18f1"}},{"code_sha256_prefix":"8f56a924d9b7a236","entry":"convert_egopose_to_matrix_numpy","repo":"nullmax-vision/QAF2D","repo_kind":"official","path":"projects/mmdet3d_plugin/datasets/nuscenes_dataset.py","file_url":"https://github.com/nullmax-vision/QAF2D/blob/HEAD/projects/mmdet3d_plugin/datasets/nuscenes_dataset.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8f56a924d9b7a236"}},{"code_sha256_prefix":"4a1654634c1825a8","entry":"denormalize_bbox","repo":"nullmax-vision/QAF2D","repo_kind":"official","path":"projects/mmdet3d_plugin/core/bbox/util.py","file_url":"https://github.com/nullmax-vision/QAF2D/blob/HEAD/projects/mmdet3d_plugin/core/bbox/util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4a1654634c1825a8"}},{"code_sha256_prefix":"35ab6b84b360dfb4","entry":"invert_matrix_egopose_numpy","repo":"nullmax-vision/QAF2D","repo_kind":"official","path":"projects/mmdet3d_plugin/datasets/nuscenes_dataset.py","file_url":"https://github.com/nullmax-vision/QAF2D/blob/HEAD/projects/mmdet3d_plugin/datasets/nuscenes_dataset.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"35ab6b84b360dfb4"}},{"code_sha256_prefix":"a18ca9ff1a1b82c8","entry":"normalize_bbox","repo":"nullmax-vision/QAF2D","repo_kind":"official","path":"projects/mmdet3d_plugin/core/bbox/util.py","file_url":"https://github.com/nullmax-vision/QAF2D/blob/HEAD/projects/mmdet3d_plugin/core/bbox/util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a18ca9ff1a1b82c8"}},{"code_sha256_prefix":"5ebf15e6940f6710","entry":"dw_conv3x3","repo":"nullmax-vision/QAF2D","repo_kind":"official","path":"projects/mmdet3d_plugin/models/backbones/vovnet.py","file_url":"https://github.com/nullmax-vision/QAF2D/blob/HEAD/projects/mmdet3d_plugin/models/backbones/vovnet.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5ebf15e6940f6710"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}