{"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/scrdet-detecting-small-cluttered-and-rotated","title":"SCRDet++: Detecting Small, Cluttered and Rotated Objects via Instance-Level Feature Denoising and Rotation Loss Smoothing","arxiv_id":"2004.13316","date":"2020-04-28","proceeding":null,"authors":["Xue Yang","Junchi Yan","Wenlong Liao","Xiaokang Yang","Jin Tang","Tao He"],"abstract":"Small and cluttered objects are common in real-world which are challenging for detection. The difficulty is further pronounced when the objects are rotated, as traditional detectors often routinely locate the objects in horizontal bounding box such that the region of interest is contaminated with background or nearby interleaved objects. In this paper, we first innovatively introduce the idea of denoising to object detection. Instance-level denoising on the feature map is performed to enhance the detection to small and cluttered objects. To handle the rotation variation, we also add a novel IoU constant factor to the smooth L1 loss to address the long standing boundary problem, which to our analysis, is mainly caused by the periodicity of angular (PoA) and exchangeability of edges (EoE). By combing these two features, our proposed detector is termed as SCRDet++. Extensive experiments are performed on large aerial images public datasets DOTA, DIOR, UCAS-AOD as well as natural image dataset COCO, scene text dataset ICDAR2015, small traffic light dataset BSTLD and our released S$^2$TLD by this paper. The results show the effectiveness of our approach. The released dataset S2TLD is made public available, which contains 5,786 images with 14,130 traffic light instances across five categories.","url_abs":"https://arxiv.org/abs/2004.13316v2","url_pdf":"https://arxiv.org/pdf/2004.13316v2.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":"scrdet-detecting-small-cluttered-and-rotated","repo_url":"https://github.com/SJTU-Thinklab-Det/DOTA-DOAI","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"scrdet-detecting-small-cluttered-and-rotated","repo_url":"https://github.com/Thinklab-SJTU/R3Det_Tensorflow","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"scrdet-detecting-small-cluttered-and-rotated","repo_url":"https://github.com/Thinklab-SJTU/S2TLD","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"scrdet-detecting-small-cluttered-and-rotated","repo_url":"https://github.com/SJTU-Det/R3Det_Tensorflow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"scrdet-detecting-small-cluttered-and-rotated","repo_url":"https://github.com/steven-lang/arxiv-downloader","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"object-detection-in-aerial-images","task_name":"Object Detection In Aerial Images"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[{"slug":"s2tld","name":"S2TLD","full_name":"SJTU Small Traffic Light Dataset"}],"methods_introduced":[],"results":[{"leaderboard":"/sota/object-detection-in-aerial-images-on-dota-1","task":"Object Detection In Aerial Images","dataset":"DOTA","model":"SCRDet++","rank_in_archive_order":39,"of":58,"metrics":{"mAP":"76.81%"},"uses_additional_data":true}],"syntology":{"syntology_url":"https://syntology.ai/paper/2004.13316","atlas_url":"https://app.syntology.ai/?focus=2004.13316","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2004.13316"}},"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/steven-lang/arxiv-downloader","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/SJTU-Thinklab-Det/DOTA-DOAI","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Thinklab-SJTU/S2TLD","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/SJTU-Det/R3Det_Tensorflow","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Thinklab-SJTU/R3Det_Tensorflow","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":1,"unverified":4},"by_repo_kind":{"official":{"samples":5,"ran":1,"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":"24e6cbbadba9515d","entry":"get_Data","repo":"SJTU-Thinklab-Det/DOTA-DOAI","repo_kind":"official","path":"FPN_Tensorflow/help_utils/box_cluster.py","file_url":"https://github.com/SJTU-Thinklab-Det/DOTA-DOAI/blob/HEAD/FPN_Tensorflow/help_utils/box_cluster.py","link_basis":"first_harvest_node","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":"24e6cbbadba9515d"}},{"code_sha256_prefix":"4fded64af9e1dc51","entry":"read_xml_gtbox_and_label","repo":"SJTU-Thinklab-Det/DOTA-DOAI","repo_kind":"official","path":"FPN_Tensorflow/help_utils/box_cluster.py","file_url":"https://github.com/SJTU-Thinklab-Det/DOTA-DOAI/blob/HEAD/FPN_Tensorflow/help_utils/box_cluster.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":"4fded64af9e1dc51"}},{"code_sha256_prefix":"3d022f5cf8c2caf2","entry":"smooth_l1_loss_rcnn","repo":"SJTU-Thinklab-Det/DOTA-DOAI","repo_kind":"official","path":"FPN_Tensorflow/libs/losses/losses.py","file_url":"https://github.com/SJTU-Thinklab-Det/DOTA-DOAI/blob/HEAD/FPN_Tensorflow/libs/losses/losses.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":"3d022f5cf8c2caf2"}},{"code_sha256_prefix":"ca0e5a26e6b42e13","entry":"smooth_l1_loss_rpn","repo":"SJTU-Thinklab-Det/DOTA-DOAI","repo_kind":"official","path":"FPN_Tensorflow/libs/losses/losses.py","file_url":"https://github.com/SJTU-Thinklab-Det/DOTA-DOAI/blob/HEAD/FPN_Tensorflow/libs/losses/losses.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":"ca0e5a26e6b42e13"}},{"code_sha256_prefix":"d52d596d44f6b1ab","entry":"sum_ohem_loss","repo":"SJTU-Thinklab-Det/DOTA-DOAI","repo_kind":"official","path":"FPN_Tensorflow/libs/losses/losses.py","file_url":"https://github.com/SJTU-Thinklab-Det/DOTA-DOAI/blob/HEAD/FPN_Tensorflow/libs/losses/losses.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":"d52d596d44f6b1ab"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}