{"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/smile-leveraging-submodular-mutual","title":"SMILe: Leveraging Submodular Mutual Information For Robust Few-Shot Object Detection","arxiv_id":"2407.02665","date":"2024-07-02","proceeding":null,"authors":["Anay Majee","Ryan Sharp","Rishabh Iyer"],"abstract":"Confusion and forgetting of object classes have been challenges of prime interest in Few-Shot Object Detection (FSOD). To overcome these pitfalls in metric learning based FSOD techniques, we introduce a novel Submodular Mutual Information Learning (SMILe) framework which adopts combinatorial mutual information functions to enforce the creation of tighter and discriminative feature clusters in FSOD. Our proposed approach generalizes to several existing approaches in FSOD, agnostic of the backbone architecture demonstrating elevated performance gains. A paradigm shift from instance based objective functions to combinatorial objectives in SMILe naturally preserves the diversity within an object class resulting in reduced forgetting when subjected to few training examples. Furthermore, the application of mutual information between the already learnt (base) and newly added (novel) objects ensures sufficient separation between base and novel classes, minimizing the effect of class confusion. Experiments on popular FSOD benchmarks, PASCAL-VOC and MS-COCO show that our approach generalizes to State-of-the-Art (SoTA) approaches improving their novel class performance by up to 5.7% (3.3 mAP points) and 5.4% (2.6 mAP points) on the 10-shot setting of VOC (split 3) and 30-shot setting of COCO datasets respectively. Our experiments also demonstrate better retention of base class performance and up to 2x faster convergence over existing approaches agnostic of the underlying architecture.","url_abs":"https://arxiv.org/abs/2407.02665v2","url_pdf":"https://arxiv.org/pdf/2407.02665v2.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":"smile-leveraging-submodular-mutual","repo_url":"https://github.com/amajee11us/smile-fsod","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"few-shot-object-detection","task_name":"Few-Shot Object Detection"},{"task_slug":"metric-learning","task_name":"Metric Learning"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"base","method_name":"BASE"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.02665","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.02665"}},"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/amajee11us/smile-fsod","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/amajee11us/SMILe-FSOD","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":4,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"official":{"samples":8,"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":"13c31e3b2a95933d","entry":"FLMI","repo":"amajee11us/SMILe-FSOD","repo_kind":"official","path":"fsdet/modeling/contrastive_loss.py","file_url":"https://github.com/amajee11us/SMILe-FSOD/blob/HEAD/fsdet/modeling/contrastive_loss.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"13c31e3b2a95933d"}},{"code_sha256_prefix":"0df9d3b583fbc6cb","entry":"batched_nms","repo":"amajee11us/smile-fsod","repo_kind":"official","path":"fsdet/layers/nms.py","file_url":"https://github.com/amajee11us/smile-fsod/blob/HEAD/fsdet/layers/nms.py","link_basis":"first_harvest_node","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":"0df9d3b583fbc6cb"}},{"code_sha256_prefix":"e8526a516b4f9206","entry":"convert_basic_c2_names","repo":"amajee11us/smile-fsod","repo_kind":"official","path":"fsdet/checkpoint/c2_model_loading.py","file_url":"https://github.com/amajee11us/smile-fsod/blob/HEAD/fsdet/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e8526a516b4f9206"}},{"code_sha256_prefix":"52810b504f0d1066","entry":"convert_c2_detectron_names","repo":"amajee11us/smile-fsod","repo_kind":"official","path":"fsdet/checkpoint/c2_model_loading.py","file_url":"https://github.com/amajee11us/smile-fsod/blob/HEAD/fsdet/checkpoint/c2_model_loading.py","link_basis":"first_harvest_node","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":"52810b504f0d1066"}},{"code_sha256_prefix":"98281814c679548a","entry":"soft_max","repo":"amajee11us/SMILe-FSOD","repo_kind":"official","path":"fsdet/modeling/contrastive_loss.py","file_url":"https://github.com/amajee11us/SMILe-FSOD/blob/HEAD/fsdet/modeling/contrastive_loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"98281814c679548a"}},{"code_sha256_prefix":"4f2e083714266b7f","entry":"batched_nms_rotated","repo":"amajee11us/smile-fsod","repo_kind":"official","path":"fsdet/layers/nms.py","file_url":"https://github.com/amajee11us/smile-fsod/blob/HEAD/fsdet/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4f2e083714266b7f"}},{"code_sha256_prefix":"55cc9fdee3a4cd0a","entry":"get_save_path_seeds","repo":"amajee11us/smile-fsod","repo_kind":"official","path":"datasets/prepare_coco_few_shot.py","file_url":"https://github.com/amajee11us/smile-fsod/blob/HEAD/datasets/prepare_coco_few_shot.py","link_basis":"first_harvest_node","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":"55cc9fdee3a4cd0a"}},{"code_sha256_prefix":"1c319eab8e23735d","entry":"nms_rotated","repo":"amajee11us/smile-fsod","repo_kind":"official","path":"fsdet/layers/nms.py","file_url":"https://github.com/amajee11us/smile-fsod/blob/HEAD/fsdet/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1c319eab8e23735d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}