{"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/dynamic-r-cnn-towards-high-quality-object","title":"Dynamic R-CNN: Towards High Quality Object Detection via Dynamic Training","arxiv_id":"2004.06002","date":"2020-04-13","proceeding":"ECCV 2020 8","authors":["Hongkai Zhang","Hong Chang","Bingpeng Ma","Naiyan Wang","Xilin Chen"],"abstract":"Although two-stage object detectors have continuously advanced the state-of-the-art performance in recent years, the training process itself is far from crystal. In this work, we first point out the inconsistency problem between the fixed network settings and the dynamic training procedure, which greatly affects the performance. For example, the fixed label assignment strategy and regression loss function cannot fit the distribution change of proposals and thus are harmful to training high quality detectors. Consequently, we propose Dynamic R-CNN to adjust the label assignment criteria (IoU threshold) and the shape of regression loss function (parameters of SmoothL1 Loss) automatically based on the statistics of proposals during training. This dynamic design makes better use of the training samples and pushes the detector to fit more high quality samples. Specifically, our method improves upon ResNet-50-FPN baseline with 1.9% AP and 5.5% AP$_{90}$ on the MS COCO dataset with no extra overhead. Codes and models are available at https://github.com/hkzhang95/DynamicRCNN.","url_abs":"https://arxiv.org/abs/2004.06002v2","url_pdf":"https://arxiv.org/pdf/2004.06002v2.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":"dynamic-r-cnn-towards-high-quality-object","repo_url":"https://github.com/hkzhang95/DynamicRCNN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"dynamic-r-cnn-towards-high-quality-object","repo_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"dynamic-r-cnn-towards-high-quality-object","repo_url":"https://github.com/open-mmlab/mmdetection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"high","task_name":"Vocal Bursts Intensity Prediction"},{"task_slug":"object-detection-1","task_name":"object-detection"},{"task_slug":"regression-1","task_name":"regression"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"deformable-convolution","method_name":"Deformable Convolution"},{"method_slug":"dynamic-r-cnn","method_name":"Dynamic R-CNN"},{"method_slug":"dynamic-smoothl1-loss","method_name":"Dynamic SmoothL1 Loss"},{"method_slug":"fpn","method_name":"FPN"},{"method_slug":"faster-r-cnn","method_name":"Faster R-CNN"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"non-maximum-suppression","method_name":"Non Maximum Suppression"},{"method_slug":"rpn","method_name":"RPN"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"roipool","method_name":"RoIPool"},{"method_slug":"soft-nms","method_name":"Soft-NMS"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[{"slug":"dynamic-r-cnn","name":"Dynamic R-CNN","full_name":"Dynamic R-CNN"}],"results":[{"leaderboard":"/sota/object-detection-on-coco","task":"Object Detection","dataset":"COCO test-dev","model":"Dynamic R-CNN (ResNet-101-DCN, multi-scale)","rank_in_archive_order":93,"of":225,"metrics":{"AP50":"68.3","AP75":"55.6","APL":"61.2","APM":"53.0","APS":"32.8","box mAP":"50.1"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2004.06002","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2004.06002"}},"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/TangShengqin/DynamicRCNN-mmdet","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/open-mmlab/mmdetection","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hkzhang95/DynamicRCNN","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":1,"ran":1,"unverified":16},"by_repo_kind":{"official":{"samples":4,"ran":2,"repositories":1},"listed":{"samples":14,"ran":0,"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":"2531c930ac17dddf","entry":"has_valid_annotation","repo":"hkzhang95/DynamicRCNN","repo_kind":"official","path":"dynamic_rcnn/datasets/coco.py","file_url":"https://github.com/hkzhang95/DynamicRCNN/blob/HEAD/dynamic_rcnn/datasets/coco.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2531c930ac17dddf"}},{"code_sha256_prefix":"e261fa29066b37e5","entry":"smooth_l1_loss","repo":"hkzhang95/DynamicRCNN","repo_kind":"official","path":"dynamic_rcnn/det_opr/loss.py","file_url":"https://github.com/hkzhang95/DynamicRCNN/blob/HEAD/dynamic_rcnn/det_opr/loss.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":"e261fa29066b37e5"}},{"code_sha256_prefix":"6a7ed994a87db611","entry":"anchor_target","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/anchor/anchor_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/anchor/anchor_target.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":"6a7ed994a87db611"}},{"code_sha256_prefix":"1dd00ccb42e850dc","entry":"anchor_target_single","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/anchor/anchor_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/anchor/anchor_target.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":"1dd00ccb42e850dc"}},{"code_sha256_prefix":"34a7030ddea70bdd","entry":"bbox_target","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/bbox/bbox_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/bbox/bbox_target.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":"34a7030ddea70bdd"}},{"code_sha256_prefix":"a66c7009b985da0a","entry":"bbox_target_single","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/bbox/bbox_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/bbox/bbox_target.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":"a66c7009b985da0a"}},{"code_sha256_prefix":"736c7ce8a0faa02a","entry":"calc_region","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/anchor/guided_anchor_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/anchor/guided_anchor_target.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":"736c7ce8a0faa02a"}},{"code_sha256_prefix":"8f43d2c26227a141","entry":"ensure_rng","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/bbox/demodata.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/bbox/demodata.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":"8f43d2c26227a141"}},{"code_sha256_prefix":"a57ba57f6dde621b","entry":"expand_target","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/bbox/bbox_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/bbox/bbox_target.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":"a57ba57f6dde621b"}},{"code_sha256_prefix":"2440313353f0c835","entry":"ga_loc_target","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/anchor/guided_anchor_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/anchor/guided_anchor_target.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":"2440313353f0c835"}},{"code_sha256_prefix":"e3463fa8772a18a9","entry":"ga_shape_target","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/anchor/guided_anchor_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/anchor/guided_anchor_target.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":"e3463fa8772a18a9"}},{"code_sha256_prefix":"8fa249eba3a0ce57","entry":"images_to_levels","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/anchor/anchor_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/anchor/anchor_target.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":"8fa249eba3a0ce57"}},{"code_sha256_prefix":"99bbbfc95abdc86a","entry":"images_to_levels","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/anchor/point_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/anchor/point_target.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":"99bbbfc95abdc86a"}},{"code_sha256_prefix":"b99b85e38568b360","entry":"load_resnet_c2_format","repo":"hkzhang95/DynamicRCNN","repo_kind":"official","path":"dynamic_rcnn/basemodels/c2_model_loading.py","file_url":"https://github.com/hkzhang95/DynamicRCNN/blob/HEAD/dynamic_rcnn/basemodels/c2_model_loading.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":"b99b85e38568b360"}},{"code_sha256_prefix":"a08ee98e88ad24e7","entry":"point_target","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/anchor/point_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/anchor/point_target.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":"a08ee98e88ad24e7"}},{"code_sha256_prefix":"b660461f38b4382b","entry":"point_target_single","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/anchor/point_target.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/anchor/point_target.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":"b660461f38b4382b"}},{"code_sha256_prefix":"3dc30523833b925a","entry":"random_boxes","repo":"TangShengqin/DynamicRCNN-mmdet","repo_kind":"listed","path":"mmdet/core/bbox/demodata.py","file_url":"https://github.com/TangShengqin/DynamicRCNN-mmdet/blob/HEAD/mmdet/core/bbox/demodata.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":"3dc30523833b925a"}},{"code_sha256_prefix":"426fd02a2beaf826","entry":"sigmoid_focal_loss_cpu","repo":"hkzhang95/DynamicRCNN","repo_kind":"official","path":"dynamic_rcnn/det_opr/loss.py","file_url":"https://github.com/hkzhang95/DynamicRCNN/blob/HEAD/dynamic_rcnn/det_opr/loss.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":"426fd02a2beaf826"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}