{"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/recursivedet-end-to-end-region-based","title":"RecursiveDet: End-to-End Region-based Recursive Object Detection","arxiv_id":"2307.13619","date":"2023-07-25","proceeding":"ICCV 2023 1","authors":["Jing Zhao","Li Sun","Qingli Li"],"abstract":"End-to-end region-based object detectors like Sparse R-CNN usually have multiple cascade bounding box decoding stages, which refine the current predictions according to their previous results. Model parameters within each stage are independent, evolving a huge cost. In this paper, we find the general setting of decoding stages is actually redundant. By simply sharing parameters and making a recursive decoder, the detector already obtains a significant improvement. The recursive decoder can be further enhanced by positional encoding (PE) of the proposal box, which makes it aware of the exact locations and sizes of input bounding boxes, thus becoming adaptive to proposals from different stages during the recursion. Moreover, we also design centerness-based PE to distinguish the RoI feature element and dynamic convolution kernels at different positions within the bounding box. To validate the effectiveness of the proposed method, we conduct intensive ablations and build the full model on three recent mainstream region-based detectors. The RecusiveDet is able to achieve obvious performance boosts with even fewer model parameters and slightly increased computation cost. Codes are available at https://github.com/bravezzzzzz/RecursiveDet.","url_abs":"https://arxiv.org/abs/2307.13619v1","url_pdf":"https://arxiv.org/pdf/2307.13619v1.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":"recursivedet-end-to-end-region-based","repo_url":"https://github.com/bravezzzzzz/recursivedet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"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":"aware","method_name":"AWARE"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"sparse-r-cnn","method_name":"Sparse R-CNN"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2307.13619","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.13619"}},"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/bravezzzzzz/RecursiveDet","reach":{"status":"ok","spdx":"MIT"}}],"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":0,"samples":[{"code_sha256_prefix":"5a3c7069b28e9ffb","entry":"batched_nms","repo":"bravezzzzzz/RecursiveDet","repo_kind":"official","path":"detectron2/layers/nms.py","file_url":"https://github.com/bravezzzzzz/RecursiveDet/blob/HEAD/detectron2/layers/nms.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":"5a3c7069b28e9ffb"}},{"code_sha256_prefix":"e8526a516b4f9206","entry":"convert_basic_c2_names","repo":"bravezzzzzz/RecursiveDet","repo_kind":"official","path":"detectron2/checkpoint/c2_model_loading.py","file_url":"https://github.com/bravezzzzzz/RecursiveDet/blob/HEAD/detectron2/checkpoint/c2_model_loading.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":"e8526a516b4f9206"}},{"code_sha256_prefix":"52810b504f0d1066","entry":"convert_c2_detectron_names","repo":"bravezzzzzz/RecursiveDet","repo_kind":"official","path":"detectron2/checkpoint/c2_model_loading.py","file_url":"https://github.com/bravezzzzzz/RecursiveDet/blob/HEAD/detectron2/checkpoint/c2_model_loading.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":"52810b504f0d1066"}},{"code_sha256_prefix":"406f84cf799ed34d","entry":"pad_masks","repo":"bravezzzzzz/RecursiveDet","repo_kind":"official","path":"detectron2/layers/mask_ops.py","file_url":"https://github.com/bravezzzzzz/RecursiveDet/blob/HEAD/detectron2/layers/mask_ops.py","link_basis":"harvester_set","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":"406f84cf799ed34d"}},{"code_sha256_prefix":"d03592674030077f","entry":"paste_mask_in_image_old","repo":"bravezzzzzz/RecursiveDet","repo_kind":"official","path":"detectron2/layers/mask_ops.py","file_url":"https://github.com/bravezzzzzz/RecursiveDet/blob/HEAD/detectron2/layers/mask_ops.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":"d03592674030077f"}},{"code_sha256_prefix":"af6fcdbdb551e018","entry":"batched_nms_rotated","repo":"bravezzzzzz/RecursiveDet","repo_kind":"official","path":"detectron2/layers/nms.py","file_url":"https://github.com/bravezzzzzz/RecursiveDet/blob/HEAD/detectron2/layers/nms.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":"af6fcdbdb551e018"}},{"code_sha256_prefix":"d3fa37a000ad294d","entry":"nms_rotated","repo":"bravezzzzzz/RecursiveDet","repo_kind":"official","path":"detectron2/layers/nms.py","file_url":"https://github.com/bravezzzzzz/RecursiveDet/blob/HEAD/detectron2/layers/nms.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":"d3fa37a000ad294d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}