{"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/exploring-classification-equilibrium-in-long","title":"Exploring Classification Equilibrium in Long-Tailed Object Detection","arxiv_id":"2108.07507","date":"2021-08-17","proceeding":"ICCV 2021 10","authors":["Chengjian Feng","Yujie Zhong","Weilin Huang"],"abstract":"The conventional detectors tend to make imbalanced classification and suffer performance drop, when the distribution of the training data is severely skewed. In this paper, we propose to use the mean classification score to indicate the classification accuracy for each category during training. Based on this indicator, we balance the classification via an Equilibrium Loss (EBL) and a Memory-augmented Feature Sampling (MFS) method. Specifically, EBL increases the intensity of the adjustment of the decision boundary for the weak classes by a designed score-guided loss margin between any two classes. On the other hand, MFS improves the frequency and accuracy of the adjustment of the decision boundary for the weak classes through over-sampling the instance features of those classes. Therefore, EBL and MFS work collaboratively for finding the classification equilibrium in long-tailed detection, and dramatically improve the performance of tail classes while maintaining or even improving the performance of head classes. We conduct experiments on LVIS using Mask R-CNN with various backbones including ResNet-50-FPN and ResNet-101-FPN to show the superiority of the proposed method. It improves the detection performance of tail classes by 15.6 AP, and outperforms the most recent long-tailed object detectors by more than 1 AP. Code is available at https://github.com/fcjian/LOCE.","url_abs":"https://arxiv.org/abs/2108.07507v2","url_pdf":"https://arxiv.org/pdf/2108.07507v2.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":"exploring-classification-equilibrium-in-long","repo_url":"https://github.com/fcjian/loce","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"task_slug":"long-tailed-object-detection","task_name":"Long-tailed Object Detection"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"imbalanced-classification","task_name":"imbalanced classification"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"mask-r-cnn","method_name":"Mask R-CNN"},{"method_slug":"rpn","method_name":"RPN"},{"method_slug":"roi-align","method_name":"RoIAlign"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/instance-segmentation-on-lvis-v1-0-val","task":"Instance Segmentation","dataset":"LVIS v1.0 val","model":"R101-MaskRCNN-LOCE","rank_in_archive_order":19,"of":25,"metrics":{"mask AP":"28"},"uses_additional_data":false},{"leaderboard":"/sota/instance-segmentation-on-lvis-v1-0-val","task":"Instance Segmentation","dataset":"LVIS v1.0 val","model":"R50-MaskRCNN-LOCE","rank_in_archive_order":23,"of":25,"metrics":{"mask AP":"26.6"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-lvis-v1-0-val","task":"Object Detection","dataset":"LVIS v1.0 val","model":"R101-MaskRCNN-LOCE","rank_in_archive_order":14,"of":15,"metrics":{"box AP":"29"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-lvis-v1-0-val","task":"Object Detection","dataset":"LVIS v1.0 val","model":"R50-MaskRCNN-LOCE","rank_in_archive_order":15,"of":15,"metrics":{"box AP":"27.4"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2108.07507","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.07507"}},"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/fcjian/loce","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/fcjian/LOCE","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":2},"by_repo_kind":{"official":{"samples":2,"ran":2,"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":"2268355e37eebb82","entry":"get_final_results","repo":"fcjian/LOCE","repo_kind":"official","path":".dev_scripts/gather_models.py","file_url":"https://github.com/fcjian/LOCE/blob/HEAD/.dev_scripts/gather_models.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":"2268355e37eebb82"}},{"code_sha256_prefix":"e76a491553cf9fcf","entry":"process_checkpoint","repo":"fcjian/LOCE","repo_kind":"official","path":".dev_scripts/gather_models.py","file_url":"https://github.com/fcjian/LOCE/blob/HEAD/.dev_scripts/gather_models.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":"e76a491553cf9fcf"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}